@charset "UTF-8"; /*! normalize.scss v0.1.0 | MIT License | based on 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 &lt; 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 {
    -moz-box-sizing: content-box;
    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 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; /* 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;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

@font-face {
    font-family: 'Circe';
    src: url("../fonts/Circe-Thin.eot");
    src: url("../fonts/Circe-Thin.eot?#iefix") format("embedded-opentype"), url("../fonts/Circe-Thin.woff") format("woff"), url("../fonts/Circe-Thin.woff2") format("woff2"), url("../fonts/Circe-Thin.ttf") format("truetype");
    font-style: normal;
    font-weight: 100;
}

@font-face {
    font-family: 'Circe';
    src: url("../fonts/Circe-ExtraLight.eot");
    src: url("../fonts/Circe-ExtraLight.eot?#iefix") format("embedded-opentype"), url("../fonts/Circe-ExtraLight.woff") format("woff"), url("../fonts/Circe-ExtraLight.woff2") format("woff2"), url("../fonts/Circe-ExtraLight.ttf") format("truetype");
    font-style: normal;
    font-weight: 200;
}

@font-face {
    font-family: 'Circe';
    src: url("../fonts/Circe-Light.eot");
    src: url("../fonts/Circe-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Circe-Light.woff") format("woff"), url("../fonts/Circe-Light.woff2") format("woff2"), url("../fonts/Circe-Light.ttf") format("truetype");
    font-style: normal;
    font-weight: 300;
}

@font-face {
    font-family: 'Circe';
    src: url("../fonts/Circe-Regular.eot");
    src: url("../fonts/Circe-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/Circe-Regular.woff") format("woff"), url("../fonts/Circe-Regular.woff2") format("woff2"), url("../fonts/Circe-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
}

@font-face {
    font-family: 'Circe';
    src: url("../fonts/Circe-Bold.eot");
    src: url("../fonts/Circe-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Circe-Bold.woff") format("woff"), url("../fonts/Circe-Bold.woff2") format("woff2"), url("../fonts/Circe-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
}

@font-face {
    font-family: 'Circe';
    src: url("../fonts/Circe-ExtraBold.eot");
    src: url("../fonts/Circe-ExtraBold.eot?#iefix") format("embedded-opentype"), url("../fonts/Circe-ExtraBold.woff") format("woff"), url("../fonts/Circe-ExtraBold.woff2") format("woff2"), url("../fonts/Circe-ExtraBold.ttf") format("truetype");
    font-style: normal;
    font-weight: 800;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before, .slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

.header {
    position: relative;
    z-index: 5;
}

@media (max-width: 767px) {
    .header .container {
        padding-left: 0;
        padding-right: 0;
    }
}

.header__top {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    background: rgba(80, 77, 93, 0.03);
    font-size: 1.4rem;
}

.header__top .container {
    display: flex;
    position: relative;
}

@media (max-width: 767px) {
    .header__top {
        display: none;
    }
}

.header__city {
    display: flex;
    align-items: center;
    margin-right: 3.5rem;
    color: #ff6420;
    opacity: 0.8;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    transition: opacity 0.25s ease;
    will-change: opacity;
    position: relative;
}

.header__city i {
    display: inline-block;
    margin: -0.2rem 1rem 0 0;
    width: 1.2rem;
    height: 1.6rem;
    background: url(../img/icon-map-marker-orange.svg) center/contain no-repeat;
}

.header__city span {
    display: inline-block;
    line-height: 1.2;
    border-bottom: 1px dashed #ff6420;
    transition: all 0.25s ease;
}

.header__city:hover {
    opacity: 1;
}

.header__city:hover span {
    border-bottom-color: transparent;
}

.header__addresses {
    margin-right: 3.5rem;
    color: #504d5d;
    opacity: 0.8;
}

.header__addresses span {
    margin-right: 3rem;
}

.header__addresses span:last-child {
    margin-right: 0;
}

.header__work-hours {
    color: #504d5d;
    opacity: 0.4;
}

.header__work-hours strong {
    font-weight: 700;
}

.header__profile-link {
    display: flex;
    align-items: center;
    margin-left: auto;
    color: #504d5d;
    text-decoration: none;
    cursor: pointer;
}

.header__profile-link i {
    display: inline-block;
    margin: -0.3rem 0.7rem 0 0;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/icon-key.svg) center/contain no-repeat;
    transition: all 0.3s ease;
    will-change: transform;
}

.header__profile-link:hover i {
    transform: rotate(45deg);
}

.header__main {
    padding-top: 3.5rem;
    padding-bottom: 0.8rem;
}

.header__main .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 767px) {
    .header__main {
        padding-top: 0;
        background-color: #fff;
        padding-bottom: 0;
    }
}

.header__logo {
    display: inline-block;
    width: 25.5rem;
    height: 3.8rem;
    background: url(../img/logo-full.svg) center/contain no-repeat;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 767px) {
    .header__logo {
        width: 19.2rem;
        margin-left: 2.7rem;
    }
}

@media (max-width: 360px) {
    .header__logo {
        width: 17rem;
    }
}

.header__btn i {
    display: inline-block;
    vertical-align: top;
    width: 2.2rem;
    height: 1.6rem;
    background: url(../img/icon-car.svg) center/contain no-repeat;
    margin: 0.1rem 1rem 0 0;
}

.header__phone {
    font-size: 1.6rem;
    text-align: right;
}

.header__phone span {
    display: block;
}

.header__phone a {
    display: inline-block;
    margin: 0.4rem 0 0;
    font-size: 1.8rem;
    font-weight: 700;
    text-decoration: none;
    color: #ff6420;
}

.header .btn-header-categories {
    display: none;
}

.header .btn-header-categories.mobile-menu-control {
    display: none !important;
}

@media (max-width: 900px) {
    .header .btn-header-categories {
        display: flex;
    }
}

@media (max-width: 767px) {
    .header .btn-header-categories.mobile-menu-control {
        display: block !important;
    }

    .header .btn-header-categories.categories_control {
        display: none !important;
    }
}

@media (max-width: 1200px) {
    .header .header__btn {
        display: none;
    }
}

.selector-city {
    border-bottom-left-radius: 0.4rem;
    border-bottom-right-radius: 0.4rem;
    background-color: #ffffff;
    padding: 2.2rem 3.2rem;
    position: absolute;
    top: -1.4rem;
    left: 0;
    z-index: -1;
    opacity: 0; /*transition: opacity 1s;*/
}

.selector-city.opened {
    z-index: 9;
    opacity: 1;
}

.selector-city .hidden {
    display: none;
}

.selector-city .selected-city {
    color: #ff6420;
}

.selector-city .variants {
    margin: 1.3rem 0 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
}

.selector-city .variants li:not(:last-child) {
    margin-right: 2.4rem;
}

.selector-city .variants a {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: normal;
    border-bottom: 1px dashed rgba(80, 77, 93, 0.4);
    color: rgba(80, 77, 93, 0.8);
    transition: 0.3s;
    text-decoration: none;
    line-height: 1.2;
}

.selector-city .variants a.active, .selector-city .variants a:hover {
    border-color: rgba(255, 100, 32, 0.4);
    color: rgba(255, 100, 32, 0.8);
}

@media (max-width: 900px) {
    .main-nav {
        position: relative;
        margin-left: auto;
    }
}

.main-nav ul {
    margin: 0;
    padding: 0;
    display: flex;
}

@media (max-width: 900px) {
    .main-nav ul {
        position: absolute;
        right: 0;
        display: none;
    }

    .main-nav ul.opened-mobile {
        display: flex;
    }
}

.main-nav ul li {
    list-style: none;
    margin-right: 4rem;
}

.main-nav ul li:last-child {
    margin-right: 0;
}

@media (max-width: 900px) {
    .main-nav ul li {
        white-space: nowrap;
    }
}

.main-nav ul li a {
    text-decoration: none;
    color: #504d5d;
    font-size: 1.6rem;
    font-weight: 700;
    transition: all 0.25s ease;
}

.main-nav ul li a:hover {
    color: #ff6420;
}

.main-nav ul li a:hover .chevron {
    will-change: transform;
}

.main-nav ul li a:hover .chevron svg path {
    fill: #ff6420;
}

.main-nav ul li a.promo-label {
    position: relative;
}

.main-nav ul li a.promo-label:before {
    content: '';
    position: absolute;
    top: -0.7rem;
    right: -2rem;
    display: inline-block;
    width: 2.2rem;
    height: 1.5rem;
    background: url(../img/icon-sales-label.svg) center/contain no-repeat;
}

.main-nav ul li.with-submenu a.active {
    color: #ff6420;
}

.main-nav ul li.with-submenu a.active .chevron {
    transform: rotate(180deg);
}

.main-nav ul li.with-submenu a.active .chevron svg path {
    fill: #ff6420;
}

.main-nav .chevron {
    display: inline-block;
    margin: 0 0 0 0.3rem;
    width: 1rem;
    height: 1rem;
    transition: all 0.3s ease;
}

.main-nav .chevron svg {
    display: block;
    width: 100%;
    height: 100%;
}

.main-nav .chevron svg path {
    fill: #504d5d;
    transition: all 0.25s ease;
}

@media (max-width: 767px) {
    .header__phone {
        display: none;
    }
}

.submenu {
    position: absolute;
    left: 0;
    width: 100%;
    top: 100%;
    background: #f9f9f9;
    padding-top: 4.5rem;
    padding-bottom: 7rem;
    display: none;
    transform: translate(0, -2rem);
    transition: transform 0.3s ease;
    will-change: transform, opacity;
}

@media (max-width: 900px) {
    .submenu {
        margin-top: 2rem;
    }
}

.submenu .container {
    display: flex;
}

.submenu.visible {
    transform: translate(0, 0);
}

.submenu-primary {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 0.82;
    color: #504d5d;
    width: 44%;
}

.submenu-primary ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.submenu-primary ul li {
    display: inline-block;
    list-style: none;
    width: 47%;
    padding: 0.8rem 0;
}

.submenu-primary ul li a {
    color: #504d5d;
    text-decoration: none;
    transition: all 0.25s ease;
}

.submenu-primary ul li a:hover {
    color: #ff6420;
}

.submenu-secondary {
    font-size: 1.4rem;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #504d5d;
    width: 40%;
    margin-left: 2.5%;
}

.submenu-secondary__title {
    margin: 0.1rem 0 1rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: #ff6420;
}

.submenu-secondary ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.submenu-secondary ul li {
    display: inline-block;
    width: 48%;
    list-style: none;
    padding: 0.3rem 0;
}

.submenu-secondary ul li a {
    opacity: 0.8;
    text-decoration: none;
    color: #504d5d;
    transition: all 0.25s ease;
}

.submenu-secondary ul li a:hover {
    opacity: 1;
    color: #ff6420;
}

.mobile-call {
    display: none;
}

@media (max-width: 767px) {
    .mobile-call {
        display: flex;
    }
}

.mobile-header_menu {
    z-index: -10;
    opacity: 0;
    transition: 0.3s;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #f9f9f9;
    overflow-y: auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.mobile-header_menu.opened {
    z-index: 13;
    opacity: 10;
}

.mobile-header_menu.opened

&
gt

;
div {
    overflow: auto;
}

.mobile-header_menu .mobile-header_top {
    font-size: 1.6rem;
    height: 7.4rem;
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    padding-left: 2.4rem;
    padding-right: 2.4rem;
}

.mobile-header_menu .addresses_container {
    display: none;
    background-color: #fff;
    padding: 0 2.4rem 2.4rem;
}

.mobile-header_menu .header-addresses_list {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding: 0;
    margin-bottom: 2.5rem;
}

.mobile-header_menu .header-addresses_list li {
    width: 100%;
    text-decoration: underline;
    color: #504d5d;
}

.mobile-header_menu .header-addresses_list li:not(:last-child) {
    margin-bottom: 1.65rem;
}

.mobile-header_menu .schedule {
    color: #b7b5c1;
}

.mobile-header_menu .header-main_info {
    position: relative;
    background-color: #f9f9f9;
    padding: 2.6rem 2.5rem 4.9rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mobile-header_menu .header-main_info .header__logo {
    align-self: flex-start;
    margin-left: 0;
}

.mobile-header_menu .header-main_info .close-menu {
    position: absolute;
    right: 2.4rem;
    top: 1.6rem;
    width: 4.9rem;
    height: 4.9rem;
}

.mobile-header_menu .header-main_info .close-menu img {
    width: 100%;
    height: 100%;
}

.mobile-header_menu .header-main_info .header__phone {
    display: block;
    text-align: center;
    font-size: 2rem;
    margin-bottom: 4rem;
    margin-top: 4rem;
}

.mobile-header_menu .header-main_info .header__phone a {
    font-size: 2.8rem;
    margin-top: 0;
}

.mobile-header_menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.mobile-header_menu ul li {
    display: block;
    width: 100%;
}

.mobile-header_menu ul li a {
    text-decoration: none;
}

.mobile-header_menu .submenus {
    display: none;
}

.mobile-header_menu .navigation_item {
    font-size: 2.8rem;
    font-weight: bold;
    padding: 2.3rem 0;
}

.mobile-header_menu .navigation_item.opened {
    background-color: #fff;
}

.mobile-header_menu .navigation_item.opened .chevron {
    transform: rotate(-180deg);
}

.mobile-header_menu .navigation_item .chevron {
    display: inline-block;
    margin: 0 0 0 0.3rem;
    width: 1rem;
    height: 1rem;
    transition: all 0.3s ease;
}

.mobile-header_menu .navigation_item .chevron svg {
    display: block;
    width: 100%;
    height: 100%;
}

.mobile-header_menu .navigation_item .chevron svg path {
    fill: #504d5d;
    transition: all 0.25s ease;
}

.mobile-header_menu .navigation_item a {
    color: #504d5d;
}

.mobile-header_menu .navigation_item h4 {
    font-size: 1.8rem;
    font-weight: bold;
    color: #ff6420;
}

.mobile-header_menu .submenu-services {
    font-size: 2.4rem;
    font-weight: bold;
    padding: 3.2rem 0;
}

.mobile-header_menu .submenu-services li:not(:last-child) {
    margin-bottom: 2.5rem;
}

.mobile-header_menu .submenu-services a {
    color: #d2d1d9;
}

.mobile-header_menu .submenu-popular {
    font-size: 2rem;
    font-weight: normal;
}

.mobile-header_menu .submenu-popular li:not(:last-child) {
    margin-bottom: 1.6rem;
}

.mobile-header_menu .submenu-popular a {
    color: #817d93;
    letter-spacing: normal;
}

.mobile-header_menu .promo-label {
    position: relative;
}

.mobile-header_menu .promo-label:before {
    content: '';
    position: absolute;
    top: -0.7rem;
    right: -2rem;
    display: inline-block;
    width: 2.2rem;
    height: 1.5rem;
    background: url(../img/icon-sales-label.svg) center/contain no-repeat;
}

.footer {
    padding: 8.8rem 0;
}

@media (max-width: 960px) {
    .footer {
        padding: 7rem 0 7rem;
    }
}

.footer .container {
    display: flex;
}

@media (max-width: 960px) {
    .footer .container {
        justify-content: center;
        text-align: center;
    }
}

.footer__info {
    width: 20%;
}

@media (max-width: 960px) {
    .footer__info {
        width: 100%;
    }
}

.footer__logo {
    display: inline-block;
    width: 7.7rem;
    height: 3.7rem;
    background: url(../img/logo-gray.svg) center/contain no-repeat;
    text-decoration: none;
}

.footer__nav {
    width: 50%;
    display: flex;
    align-items: flex-start;
}

@media (max-width: 960px) {
    .footer__nav {
        display: none;
    }
}

.footer__menu-primary {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0;
    padding: 0; /*width: 40%; */
}

.footer__menu-primary li {
    list-style: none;
    width: 42%;
    margin-bottom: 1.3rem;
}

.footer__menu-primary li a {
    font-size: 1.4rem;
    font-weight: 700;
    opacity: 0.8;
    line-height: 1.3;
    color: #504d5d;
    text-decoration: none;
    transition: all 0.25s ease;
}

.footer__menu-primary li a:hover {
    color: #ff6420;
}

.footer__menu-secondary {
    width: 60%;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.footer__menu-secondary li {
    list-style: none;
    width: 50%;
    margin-bottom: 1.3rem;
}

.footer__menu-secondary li a {
    opacity: 0.8;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.3;
    color: #504d5d;
    text-decoration: none;
    transition: all 0.25s ease;
}

.footer__menu-secondary li a:hover {
    color: #ff6420;
}

.footer__contacts {
    width: 30%;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 960px) {
    .footer__contacts {
        display: none;
    }
}

.footer__phone span {
    display: block;
    font-size: 1.4rem;
    color: #504d5d;
    opacity: 0.4;
}

.footer__phone a {
    margin: 1rem 0 0;
    display: inline-block;
    font-size: 1.6rem;
    font-weight: 700;
    color: #504d5d;
    text-decoration: none;
}

.footer__phone + .footer__phone {
    margin: 2.4rem 0 0;
}

.footer__social {
    display: flex;
}

.footer__social a {
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.25s ease;
}

.footer__social a:hover {
    opacity: 0.7;
}

.footer__social a + a {
    margin-left: 1rem;
}

.footer__social a.inst {
    background-image: url(../img/icon-social-instagram.svg);
}

.footer.dark {
    background: #504d5d;
}

.footer.dark .footer__menu-primary li a {
    color: rgba(255, 255, 255, 0.8);
}

.footer.dark .footer__menu-primary li a:hover {
    color: #ff6420;
}

.footer.dark .footer__menu-secondary li a {
    color: rgba(255, 255, 255, 0.8);
}

.footer.dark .footer__menu-secondary li a:hover {
    color: #ff6420;
}

.footer.dark .footer__logo {
    background: url(../img/footer-logo-light.svg) center/contain no-repeat;
}

.footer.dark .copyright {
    opacity: 1;
    color: rgba(255, 255, 255, 0.2);
}

.footer.dark .made-by {
    color: rgba(255, 255, 255, 0.2);
}

.footer.dark .made-by i {
    background: url(../img/etika-logo-light.svg) center/contain no-repeat;
}

.footer.dark .footer__phone span {
    color: rgba(255, 255, 255, 0.4);
}

.footer.dark .footer__phone a {
    color: #fff;
}

.footer.dark .footer__social a.inst {
    background-image: url(../img/icon-social-instagram-white.svg);
}

.copyright {
    margin: 2rem 0 0;
    opacity: 0.2;
    color: #504d5d;
    font-size: 1.4rem;
    font-weight: 300;
}

.copyright strong {
    font-weight: 700;
}

.copyright i {
    display: inline-block;
    vertical-align: top;
    margin: -0.2rem 0.3rem 0 0;
    font-style: normal;
    font-weight: 700;
}

.made-by {
    display: block;
    margin: 2.5rem 0 0;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1.4;
    color: rgba(80, 77, 93, 0.2);
    text-decoration: none;
    text-transform: uppercase;
}

@media (max-width: 960px) {
    .made-by {
        margin: 3rem 0 0;
    }
}

.made-by i {
    display: block;
    margin: 0 0 0;
    width: 4.4rem;
    height: 2.3rem;
    background: url(../img/etika-logo.svg) center/contain no-repeat;
}

@media (max-width: 960px) {
    .made-by i {
        vertical-align: top;
        display: inline-block;
        margin: -1.2rem 0 0 0.8rem;
    }
}

.form_success {
    padding: 10px 0;
    font-size: 16px;
    color: #0f8453;
}

.form-block__title {
    font-size: 22px;
	font-weight: bold;
	line-height: 1.2em;
    margin-top: 0;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .form-block__title {
        font-size: 26px;
    }
}

@media (max-width: 860px) {
    .form-block__title {
        font-size: 2.4rem;
    }
}

.form-block.form-block--service-hero .form-group {
    width: 25.6rem;
}

@media (max-width: 860px) {
    .form-block.form-block--service-hero .form-group {
        width: 32rem;
    }
}

@media (max-width: 360px) {
    .form-block.form-block--service-hero .form-group {
        width: 28rem;
    }
}

.form-group {
    position: relative;
}

.form-group + .form-group {
    margin-top: 1.6rem;
}

.form-group.date .form-control {
    padding-left: 4.2rem;
}

.form-group.date:before {
    content: '';
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/icon-calendar.svg) center/contain no-repeat;
    position: absolute;
    top: 45%;
    left: 1.3rem;
    transform: translate(0, -50%);
    opacity: 0.3;
    pointer-events: none;
}

.form-control {
    display: block;
    width: 100%;
    padding: 0.8rem 1.3rem 0.6rem;
    border-radius: 2px;
    border: solid 1px rgba(80, 77, 93, 0.5);
    outline: none;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    color: #504d5d;
    transition: all 0.25s ease;
}

.form-control:focus {
    border: solid 1px #504d5d;
}

.form-control::placeholder {
    color: rgba(80, 77, 93, 0.3);
}

.form-control:-moz-placeholder {
    color: rgba(80, 77, 93, 0.3);
}

.form-control:-ms-input-placeholder {
    color: rgba(80, 77, 93, 0.3);
}

.form-control::-moz-placeholder {
    color: rgba(80, 77, 93, 0.3);
}

.form-control::-webkit-input-placeholder {
    color: rgba(80, 77, 93, 0.3);
}

.form-submit {
    display: inline-block;
    margin: 3rem 0 0;
    padding: 1.3rem 2.5rem;
    font-size: 1.6rem;
    font-weight: 400;
    color: #ffffff;
    text-align: center;
    cursor: pointer;
    border: none;
    border-radius: 2.5rem;
    background: #504d5d;
    transition: all 0.25s ease;
}

.form-submit:hover {
    background: rgba(80, 77, 93, 0.75);
}

.form-submit.orange {
    background-color: #ff6420;
    border-color: #ff6420;
}

.form-submit.orange:hover {
    background: #ff5207;
}

.btn {
    display: inline-block;
    text-decoration: none;
    cursor: pointer;
    outline: none;
    height: 48px;
    padding: 1.3rem 2.3rem 1.2rem;
    font-size: 1.6rem;
    font-weight: 400;
    color: #504d5d;
    border-radius: 2.5rem;
    transition: all 0.25s ease-in-out;
}

.btn i {
    display: inline-block;
}

.btn i svg {
    display: block;
}

.btn:hover {
    color: #ff6420;
}

.btn-1 {
    color: #ffffff;
    background: #ff6420;
}

.btn-1:hover {
    background: #ff4c05;
    color: #ffffff;
}

.btn-2 {
    color: #ffffff;
    background: #57bf52;
}

.btn-2:hover {
    color: #ffffff;
    background: #7bcd77;
}

.btn-bordered {
    border: solid 2px #504d5d;
}

.btn-bordered.btn-dark {
    border-color: #504d5d;
}

.btn-bordered.btn-dark:hover {
    border-color: #ff6420;
}

.btn-bordered.btn-dark:hover i svg path {
    fill: #ff6420;
}

.btn-bordered i {
    display: inline-block;
    width: 0.9rem;
    height: 1rem;
    vertical-align: top;
    margin: 0.5rem 0 0 0.8rem;
}

.btn-bordered i svg {
    display: block;
    width: 100%;
    height: 100%;
}

.btn-bordered i svg path {
    fill: #504d5d;
    transition: all 0.25s ease;
}

.btn-filled {
    border: none;
}

.btn-filled-green {
    color: #fff;
    background: #57bf52;
}

.btn-filled-green:hover {
    color: #ffffff;
    background: #7bcd77;
}

.btn-whatsapp {
    padding: 1.2rem 2.5rem;
    border-radius: 2.7rem;
    background-color: #57bf52;
    color: #fff;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
}

.btn-whatsapp .icn {
    margin-right: 1.5rem;
}

.btn-whatsapp:hover {
    background-color: #7bcd77;
}

.btn-share {
    font-size: 1.6rem;
    font-weight: normal;
    color: #ff6420;
    width: 15.3rem;
    height: 5.7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: transparent url("../img/coupon-button.svg") no-repeat;
    background-size: cover;
    border-radius: 0;
    border: none;
    line-height: 1;
    padding: 0;
}

.btn-share:hover {
    opacity: 0.8;
}

.btn-header-categories {
    width: 6.6rem;
    height: 7.6rem;
    position: relative;
    border-radius: 0;
}

@media (max-width: 767px) {
    .btn-header-categories {
        background-color: #504d5d;
    }
}

@media (max-width: 360px) {
    .btn-header-categories {
        width: 5.5rem;
    }
}

.btn-header-categories .lines {
    stroke: #504d5d;
}

@media (max-width: 767px) {
    .btn-header-categories .lines {
        stroke: #fff;
    }
}

.btn-header-categories span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.btn-header-categories .open {
    width: 2.7rem;
    height: 1.9rem;
}

.btn-header-categories .close-menu {
    width: 4.9rem;
    height: 4.9rem;
    display: none;
}

.btn-header-categories .close-menu img {
    width: 100%;
    height: 100%;
}

.btn-call {
    width: 6.6rem;
    height: 7.6rem;
    border-radius: 0;
    justify-content: center;
    align-items: center;
    background-color: #ff6420;
}

@media (max-width: 360px) {
    .btn-call {
        width: 5.5rem;
    }
}

.btn-addresses {
    padding: 0 2rem;
    height: 3.2rem;
    border-radius: 2.8rem;
    border: solid 0.15rem #ff6420;
    font-size: 1.6rem;
    color: #ff6420;
    display: flex;
    justify-content: center;
    align-items: center;
}

.btn-addresses .icn {
    margin-top: -0.3rem;
    margin-left: 0.65rem;
}

.btn-addresses:hover {
    border-color: #ff4c05;
    color: #ff4c05;
}

.btn-addresses:hover .icn {
    border-color: #ff4c05;
}

.btn-profile-mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem 0 2rem;
    margin: 7rem 0 0;
    height: auto;
    background-color: rgba(80, 77, 93, 0.03);
    border-radius: 0;
    color: #504d5d;
    font-size: 2rem;
}

.btn-profile-mobile .icn {
    margin-right: 1rem;
}

.btn-profile-mobile i {
    display: inline-block;
    width: 2.1rem;
    height: 2.1rem;
    background: url(../img/icon-key.svg) center/contain no-repeat;
    margin: 0 1rem 0 0;
}

.share-block {
    z-index: 10;
    position: fixed;
    right: 5rem;
    bottom: 5rem;
    background-image: linear-gradient(to bottom, #ff9d43, #ff6420); /* fallback */
    background-image: url("../img/5.svg"), linear-gradient(to bottom, #ff9d43, #ff6420);
    background-repeat: no-repeat;
    background-position: 100% 70%;
    border-radius: 4px;
    padding: 2.8rem 3.4rem;
    color: #fff;
    width: 44rem;
}

@media (max-width: 960px) {
    .share-block {
        display: none;
    }
}

.share-block .coupon-title {
    font-size: 2.2rem;
    font-weight: bold;
}

.share-block .coupon-subtitle {
    font-size: 2.2rem;
    font-weight: 300;
}

.share-block .coupon-form {
    padding-top: 2.6rem;
    padding-bottom: 3rem;
}

.share-block .coupon-form input {
    outline: none;
    border-radius: 0.2rem;
    border: solid 0.1rem #fff;
    font-size: 1.4rem;
    font-weight: normal;
    color: #fff;
    width: 20rem;
    padding: 0.6rem 0.8rem;
    background-color: transparent;
    margin-bottom: 2.4rem;
}

.share-block .coupon-form input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
    color: rgba(255, 255, 255, 0.4);
    opacity: 1; /* Firefox */
}

.share-block .coupon-form input:-ms-input-placeholder { /* Internet Explorer 10-11 */
    color: rgba(255, 255, 255, 0.4);
}

.share-block .coupon-form input::-ms-input-placeholder { /* Microsoft Edge */
    color: rgba(255, 255, 255, 0.4);
}

.share-block .help-description {
    font-size: 1.2rem;
    font-weight: normal;
    max-width: 28.5rem;
}

.title-page {
    font-size: 40px;
    font-weight: bold;
    color: #504d5d;
}

@media (max-width: 960px) {
    .title-page {
        font-size: 3.2rem;
    }
}

@media (max-width: 768px) {
    .title-page {
        font-size: 2.8rem;
        line-height: 3.2rem;
    }
}

.icn {
    display: inline-block;
    vertical-align: top;
}

.icn-all {
    display: none;
}

.icn.icn-location {
    width: 1.2rem;
    height: 1.6rem;
    background: url("../img/local-icon.svg") center/contain no-repeat;
}

.icn.icn-location.brand-color {
    background: url("../img/local-icon-orange.svg") center/contain no-repeat;
}

.icn.icn-arrow-open {
    width: 1.2rem;
    height: 1.2rem;
    border-right: 0.15rem solid #504d5d;
    border-bottom: 0.15rem solid #504d5d;
    transform: rotate(45deg);
    transition: 0.3s;
    margin-top: 0.3rem;
}

.icn.icn-arrow-open.opened {
    transform: rotate(-135deg);
    margin-top: calc(50% + 0.3rem);
}

.icn.icn-service {
    width: 1.8rem;
    height: 1.8rem;
    background: url("../img/icn-service.svg") center/contain no-repeat;
}

.icn.icn-service.disabled {
    background: url("../img/icn-service_disabled.svg") center/contain no-repeat;
}

.icn.icn-wash {
    width: 2.3rem;
    height: 1.6rem;
    background: url("../img/icn-wash.svg") center/contain no-repeat;
}

.icn.icn-wash.disabled {
    background: url("../img/icn-wash_disabled.svg") center/contain no-repeat;
}

.icn.icn-shop {
    width: 2.1rem;
    height: 1.8rem;
    background: url("../img/icn-shop.svg") center/contain no-repeat;
}

.icn.icn-shop.disabled {
    background: url("../img/icn-shop_disabled.svg") center/contain no-repeat;
}

.icn.icn-mail {
    width: 1.8rem;
    height: 1.5rem;
    background: url("../img/mail-icon.svg") center/contain no-repeat;
}

.icn.icn-whatsapp {
    width: 2.2rem;
    height: 2.3rem;
    background: url("../img/whatsapp-icon.svg") center/contain no-repeat;
}

.icn.icn-mobile_addresses {
    width: 0.6rem;
    height: 0.6rem;
    border-right: solid 0.15rem #ff6420;
    border-bottom: solid 0.15rem #ff6420;
    transform: rotate(45deg);
}

.icn.icn-key {
    width: 2.1rem;
    height: 2.1rem;
}

.editors-styles p {
    margin-top: 2.4rem;
    width: 53.3%;
}

@media (max-width: 768px) {
    .editors-styles p {
        width: 100%;
    }
}

.editors-styles img {
    margin-top: 4.8rem;
    max-width: 100%;
}

.editors-styles ul, .editors-styles ol {
    list-style: none;
    margin-top: 4rem;
    padding-left: 4rem;
}

@media (max-width: 767px) {
    .editors-styles ul, .editors-styles ol {
        margin-top: 2.45rem;
        margin-bottom: 2rem;
        padding-left: 2.8rem;
    }
}

.editors-styles ul li, .editors-styles ol li {
    position: relative;
    margin-bottom: 2.5rem;
}

@media (max-width: 767px) {
    .editors-styles ul li, .editors-styles ol li {
        margin-bottom: 2rem;
    }
}

.editors-styles ul li:before, .editors-styles ol li:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    display: block;
    background-image: linear-gradient(43deg, #6958bd, #ff6420);
    border-radius: 50%;
    left: -4rem;
    top: 0.6rem;
}

@media (max-width: 767px) {
    .editors-styles ul li:before, .editors-styles ol li:before {
        left: -2.8rem;
    }
}

.featured-benefits {
    margin: 8rem 0 0;
    padding-bottom: 4rem;
    height: 35.6rem;
    box-sizing: content-box;
    overflow: hidden;
}

.featured-benefits + .featured-benefits {
    margin-top: 2.4rem;
}

@media (max-width: 960px) {
    .featured-benefits + .featured-benefits {
        margin-top: 3.2rem;
    }
}

.featured-benefits .container {
    position: relative;
    display: flex;
    justify-content: center;
    width: 1200px;
    height: 100%;
    max-width: none;
    transition: all 0.3s ease;
}

@media (max-width: 1240px) {
    .featured-benefits .container {
        width: 100%;
    }
}

.featured-benefits .container.full {
    width: 100%;
}

.featured-benefits .container.left .featured-benefits-inner {
    left: 100%;
    transform: translate(-100%, 0);
}

.featured-benefits .container.right .featured-benefits-inner {
    left: 0;
    transform: translate(0, 0);
}

@media (max-width: 960px) {
    .featured-benefits {
        height: auto;
        margin: 4rem 0 0;
    }
}

.featured-benefits-inner {
    display: flex;
    justify-content: center;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    transition: all 0.3s ease;
}

@media (max-width: 1240px) {
    .featured-benefits-inner {
        transform: scale(0.9) translate(-55.5%, 0);
    }
}

@media (max-width: 1100px) {
    .featured-benefits-inner {
        transform: scale(0.8) translate(-63%, 0);
    }
}

@media (max-width: 960px) {
    .featured-benefits-inner {
        transform: scale(1) translate(0, 0);
        position: relative;
        left: 0;
        flex-flow: column;
    }
}

@keyframes descripShow {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes descripHide {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.featured-benefit {
    display: inline-block;
    position: relative;
    width: 35.6rem;
    min-width: 35.6rem;
    margin: 0 3.2rem;
    border-radius: 4px;
    background-color: #ffffff;
    cursor: pointer;
    text-align: left;
    transition: all 0.3s ease-in-out;
    white-space: normal;
}

@media (max-width: 960px) {
    .featured-benefit {
        margin-top: 3.2rem !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        background: none;
    }

    .featured-benefit:first-child {
        margin-top: 0 !important;
    }
}

@media (max-width: 420px) {
    .featured-benefit {
        width: 32rem;
        min-width: 32rem;
    }
}

@media (max-width: 360px) {
    .featured-benefit {
        width: 28rem;
        min-width: 28rem;
    }
}

.featured-benefit:first-child {
    margin-left: 0 !important;
}

.featured-benefit:last-child {
    margin-right: 0 !important;
}

@media (min-width: 961px) {
    .featured-benefit:nth-child(2).active .featured-benefit__image {
        width: 280px !important;
    }

    .featured-benefit:nth-child(3).active .featured-benefit__image {
        width: 280px !important;
        height: 196px;
    }
}

.featured-benefit:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 14.3%;
    right: 10.4%;
    left: 10.4%;
    bottom: 6.7%;
    background-color: #f9f9f9;
    box-shadow: 0 2px 48px 0 rgba(80, 77, 93, 0.5);
    transition: all 0.3s ease;
}

@media (max-width: 960px) {
    .featured-benefit:before {
        height: 25rem;
        width: 28rem;
        z-index: 0;
        left: 50%;
        bottom: auto;
        right: auto;
        transform: translate(-50%, 0);
    }
}

@media (max-width: 420px) {
    .featured-benefit:before {
        height: 23rem;
        top: 5rem;
        width: 26rem;
    }
}

@media (max-width: 360px) {
    .featured-benefit:before {
        height: 20rem;
        width: 22rem;
    }
}

.featured-benefit__inner {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 35.6rem;
    overflow: hidden;
}

@media (max-width: 960px) {
    .featured-benefit__inner {
        background-color: #ffffff;
    }
}

@media (max-width: 420px) {
    .featured-benefit__inner {
        padding-bottom: 30rem;
    }
}

@media (max-width: 360px) {
    .featured-benefit__inner {
        padding-bottom: 27rem;
    }
}

.featured-benefit__text {
    position: absolute;
    top: 2.7rem;
    left: 5%; /*left: 50%;*/
    transform: translate(0, 0);
    transition: all 0.3s ease;
}

@media (max-width: 960px) {
    .featured-benefit__text {
        position: absolute;
        left: 0;
        width: 100%;
        height: 100%;
        padding-left: 0;
        top: 0;
    }
}

.featured-benefit__title { /*max-width: 15.5rem;*/
    text-align: right;
    max-width: 30rem;
    margin: 0 0 2.4rem;
    background-image: linear-gradient(70deg, #6958bd, #ff6420);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.33;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-transform: uppercase;
    transition: all 0.3s ease;
}

@media (max-width: 960px) {
    .featured-benefit__title {
        position: absolute;
        top: 2.7rem;
        left: 5%; /*left: 50%; */
    }
}

@media (max-width: 360px) {
    .featured-benefit__title {
        font-size: 1.6rem;
        left: 45%;
    }
}

.featured-benefit__image {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 60%;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left bottom;
    transition: all 0.3s ease;
}

.featured-benefit.active .featured-benefit__image {
    max-width: 290px;
}

@media (max-width: 420px) {
    .featured-benefit__image {
        width: 80% !important;
        height: 80% !important;
    }
}

@media (max-width: 420px) {
    .featured-benefit__image.mobile-wide {
        width: 100% !important;
    }
}

.featured-benefit__description {
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 1.44;
    color: #504d5d;
    width: 42rem;
    opacity: 0;
}

@media (min-width: 961px) {
    .featured-benefit__description {
        animation: descripHide 0.2s forwards ease;
    }
}

.featured-benefit__description.mobile-only {
    display: none;
}

@media (max-width: 960px) {
    .featured-benefit__description {
        position: static;
        top: 100%;
        left: 0;
        width: 100%;
        opacity: 1;
        display: none;
        padding: 3.2rem 3.4rem;
        background: #fff;
        font-size: 1.6rem;
    }
}

@media (min-width: 961px) {
    .featured-benefit:hover:before {
        box-shadow: 0 2px 60px 0 rgba(80, 77, 93, 0.9);
    }
}

@media (min-width: 961px) {
    .featured-benefit.active {
        width: 81.2rem;
        min-width: 81.2rem;
        margin: 0 1.2rem;
    }
}

@media (min-width: 961px) {
    .featured-benefit.active .featured-benefit__text {
        left: 36%;
        top: 50%;
        transform: translate(0, -50%);
    }
}

@media (min-width: 961px) {
    .featured-benefit.active .featured-benefit__title {
        font-size: 2.2rem;
        max-width: 100%;
        text-align: left; /*max-width: 19rem; */
    }
}

@media (min-width: 961px) {
    .featured-benefit.active .featured-benefit__description {
        animation: descripShow 0.3s forwards ease 0.3s;
    }
}

.section-services-slider {
    margin: 6rem 0 0;
}

@media (max-width: 767px) {
    .section-services-slider {
        margin: 4rem 0 0;
    }
}

.services-slider {
    padding-top: 2rem;
}

@media (max-width: 767px) {
    .services-slider {
        padding-top: 0;
    }
}

.services-slider .slick-slide {
    outline: none;
}

.services-slider .slick-arrow {
    position: absolute;
    z-index: 1;
    top: 0;
    left: calc(50% - 60rem);
    font-size: 0;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    padding: 0;
    margin: 0;
    background: url(../img/icon-slider-arrow.svg) center/contain no-repeat;
    border: none;
    outline: none;
    opacity: 1;
    transition: all 0.25s ease;
    will-change: opacity;
}

@media (max-width: 1240px) {
    .services-slider .slick-arrow {
        left: 2.4rem;
    }
}

@media (max-width: 767px) {
    .services-slider .slick-arrow {
        top: auto;
        bottom: 0;
    }
}

.services-slider .slick-arrow.slick-prev {
    transform: rotate(180deg);
}

.services-slider .slick-arrow.slick-next {
    margin-left: 6.6rem;
}

.services-slider .slick-arrow.slick-disabled {
    opacity: 0.4;
    cursor: default;
}

.services-slider .slick-arrow.slick-disabled:hover {
    opacity: 0.4;
}

.services-slider .slick-arrow:hover {
    opacity: 0.8;
}

.services-slider .slick-dots {
    position: absolute;
    top: 2.4rem;
    left: calc(50% - 43rem);
    margin: 0;
    padding: 0;
    transform: translate(0, -50%);
    display: flex !important;
}

@media (max-width: 1240px) {
    .services-slider .slick-dots {
        left: 18rem;
    }
}

@media (max-width: 767px) {
    .services-slider .slick-dots {
        top: auto;
        bottom: 0.5rem;
        left: auto;
        right: 2.4rem;
    }
}

.services-slider .slick-dots li {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    justify-content: center;
    list-style: none;
    outline: none;
    cursor: pointer;
}

.services-slider .slick-dots li + li {
    margin-left: 1.1rem;
}

.services-slider .slick-dots li button {
    display: block;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    border: none;
    margin: 0;
    padding: 0;
    background: #504d5d;
    opacity: 0.1;
    font-size: 0;
    outline: none;
    transition: all 0.25s ease;
    will-change: opacity;
}

.services-slider .slick-dots li.slick-active button {
    opacity: 1;
}

.services-slider .slick-dots li:hover button {
    opacity: 1;
}

.services-slide {
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding-top: 8rem;
}

@media (max-width: 768px) {
    .services-slide {
        padding-top: 0;
        padding-bottom: 8rem;
    }
}

.services-slide__inner {
    width: 1200px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 1240px) {
    .services-slide__inner {
        width: auto;
        padding-left: 2.4rem;
        padding-right: 2.4rem;
    }
}

@media (max-width: 768px) {
    .services-slide__inner {
        flex-flow: column;
    }
}

.services-slide__left {
    width: 41%;
}

@media (max-width: 1080px) {
    .services-slide__left {
        width: 48%;
    }
}

@media (max-width: 960px) {
    .services-slide__left {
        width: 55%;
    }
}

@media (max-width: 768px) {
    .services-slide__left {
        width: 100%;
    }
}

.services-slide__right {
    width: 45%;
}

@media (max-width: 768px) {
    .services-slide__right {
        width: 100%;
    }
}

.services-slide__title {
    margin: 0;
    font-size: 3.2rem;
    font-weight: 300;
    line-height: 1.25;
    color: #504d5d;
}

.services-slide__title strong {
    display: block;
    font-weight: 700;
}

@media (max-width: 768px) {
    .services-slide__title {
        font-size: 2.4rem;
    }
}

.services-slide__benefits {
    margin: 3.2rem 0 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.services-slide__benefits p {
    margin: 0;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.56;
    color: #504d5d;
}

.services-slide__benefits p + p {
    margin-top: 1em;
}

@media (max-width: 768px) {
    .services-slide__benefits {
        width: 95%;
    }
}

@media (max-width: 500px) {
    .services-slide__benefits {
        width: 100%;
    }
}

.services-slide__benefit {
    position: relative;
    padding-left: 1.8rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.38;
    color: #504d5d;
    max-width: 12.5rem;
}

@media (max-width: 480px) {
    .services-slide__benefit {
        font-size: 1.4rem;
        padding-left: 0.7rem;
    }
}

.services-slide__benefit:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 2px;
    background: #57bf52;
}

@media (max-width: 360px) {
    .services-slide__benefit {
        font-size: 1.2rem;
        padding-left: 0.5rem;
    }
}

.services-slide__btn {
    margin: 4.6rem 0 0;
}

.services-slide__btn i {
    display: inline-block;
    vertical-align: top;
    width: 0.7rem;
    height: 1.3rem;
    margin: 0.4rem 0 0 1rem;
    background: url(../img/icon-chevron-right.svg) center/contain no-repeat;
}

.services-slide__btn.mobile-only {
    display: none;
}

@media (max-width: 768px) {
    .services-slide__btn {
        display: none;
        margin: 1.6rem 0 0;
    }

    .services-slide__btn.mobile-only {
        display: inline-block;
    }
}

.services-slide__img {
    display: block;
    margin-top: -7rem;
}

@media (max-width: 768px) {
    .services-slide__img {
        margin-top: 3rem;
        margin-left: 5%;
        width: 115%;
    }
}

.section-services-wrap {
    margin: 6rem 0 1.5rem;
}

@media (max-width: 1240px) {
    .section-services-wrap .container {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .section-services-wrap {
        margin: 2rem 0 1.5rem;
    }
}

.services {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.service-item {
    position: relative;
    display: flex;
    align-items: center;
    height: 24rem;
    width: calc(50% - 12px);
    margin: 2.5rem 0 0;
    padding: 0 0 0 8rem;
    border-radius: 2px;
    background-color: #ffffff;
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 1120px) {
    .service-item {
        padding: 0 0 0 5rem;
    }
}

@media (max-width: 980px) {
    .service-item {
        height: 16rem;
    }
}

@media (max-width: 767px) {
    .service-item {
        width: 100%;
    }
}

@media (max-width: 440px) {
    .service-item {
        padding: 0 0 0 3.5rem;
    }
}

@media (max-width: 360px) {
    .service-item {
        padding-left: 2.4rem;
    }
}

.service-item__title {
    position: relative;
    z-index: 2;
    display: block;
    max-width: 26rem;
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.21;
    color: #504d5d;
    transition: all 0.3s ease-in-out;
}

@media (max-width: 980px) {
    .service-item__title {
        font-size: 2rem;
        max-width: 17rem;
    }
}

@media (max-width: 360px) {
    .service-item__title {
        font-size: 1.8rem;
        max-width: 15rem;
    }
}

.service-item__icon {
    display: block;
    position: absolute;
    z-index: 2;
    top: 50%;
    right: 11.8rem;
    transform: translate(50%, -50%);
    width: 9rem;
    height: 9rem;
}

@media (max-width: 1120px) {
    .service-item__icon {
        right: 9rem;
    }
}

.service-item__icon img {
    width: 100%;
    height: 100%;
}

@media (max-width: 980px) {
    .service-item__icon {
        width: 7rem;
        height: 7rem;
    }
}

@media (max-width: 420px) {
    .service-item__icon {
        right: 6rem;
    }
}

@media (max-width: 360px) {
    .service-item__icon {
        right: 5rem;
    }
}

.service-item:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    background: #fff;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}

.service-item:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 0;
    box-shadow: 0 2px 48px 0 rgba(80, 77, 93, 0.5);
    transition: all 0.3s ease-in-out;
    top: 3.6rem;
    right: 3.6rem;
    left: 3.6rem;
    bottom: 2.4rem;
}

@media (min-width: 1025px) {
    .service-item:hover .service-item__title {
        color: #ff6420;
    }

    .service-item:hover:before {
        top: -8px;
        right: -8px;
        bottom: -8px;
        left: -8px;
    }

    .service-item:hover:after {
        top: 3rem;
        right: 3rem;
        left: 3rem;
        bottom: 2rem;
    }
}

.service-hero {
    margin: 4rem 0 0;
    height: auto;
    display: flex;
}

.service-hero .form-header {
    padding-bottom: 0;
}

.service-hero .form-request {
    position: relative;
    padding-top: 8px;
}

.service-hero .form-request .thanks {
    position: relative;
    padding-top: 40px;
    max-width: 100%;
}

.service-hero .form-request .thanks .thanks-icon-back {
    top: 40px;
    left: 0;
}

.service-hero .form-header .form-header-title {
    font-size: 18px;
    font-weight: 300;
}

@media (min-width: 768px) {
    .service-hero .form-header .form-header-title {
        font-size: 22px;
    }
}

.service-hero .form-request {
    max-width: 100%;
    width: 400px;
}

@media (max-width: 860px) {
    .service-hero {
        flex-wrap: wrap;
        height: auto;
    }
}

.service-hero-form {
    width: 45%;
    height: 100%;
    display: flex;
    align-items: center;
    padding-left: calc((100vw - 1216px) / 2);
    background: #fff;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-right: 56px;
}

.service-hero-form .form-block {
    max-width: 100%;
}

@media (max-width: 1240px) {
    .service-hero-form {
        padding-left: 2.4rem;
    }
}

@media (max-width: 860px) {
    .service-hero-form {
        width: 100%;
        order: 2;
        padding: 4rem;
        padding-top: 48px;
        padding-bottom: 48px;
        padding-right: 2.4rem;
        justify-content: center;
    }
}

@media (max-width: 640px) {
    .service-hero-form {
        padding: 2.4rem;
        padding-top: 48px;
        padding-bottom: 48px;
    }
}

.service-hero-main {
    position: relative;
    width: 55%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 860px) {
    .service-hero-main {
        width: 100%;
        order: 1;
        padding-bottom: 50%;
    }
}

@media (max-width: 540px) {
    .service-hero-main {
        padding-bottom: 70%;
    }
}

@media (max-width: 420px) {
    .service-hero-main {
        padding-bottom: 90%;
    }
}

.service-promo {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #57bf52;
    transition: background 0.4s ease;
    display: flex;
    align-items: center;
}

.service-promo__button {
    position: relative;
    align-self: flex-start;
    width: 100%;
    padding: 1.2rem 0 1rem;
    text-align: center;
    color: #ffffff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    cursor: pointer;
    transition: all 0.25s ease;
}

@media (max-width: 480px) {
    .service-promo__button {
        font-size: 1.4rem;
    }
}

@media (max-width: 360px) {
    .service-promo__button {
        font-size: 1.3rem;
    }
}

.service-promo__button strong {
    display: inline-block;
    vertical-align: top;
    margin: 0 1.5rem 0 0;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    text-transform: uppercase;
}

@media (max-width: 480px) {
    .service-promo__button strong {
        font-size: 2rem;
        margin: 0 0.6rem 0 0;
    }
}

@media (max-width: 360px) {
    .service-promo__button strong {
        font-size: 1.6rem;
        line-height: 1.3;
    }
}

.service-promo__button:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 7.5rem;
    background: url(../img/icon-decor-percent.svg) center/cover no-repeat;
}

.service-promo__button .arrow {
    position: absolute;
    display: block;
    left: 50%;
    bottom: 100%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-left: 2.5rem solid transparent;
    border-right: 2.5rem solid transparent;
    border-bottom: 2rem solid #57bf52;
    transition: all 0.2s ease;
}

.service-promo__button .arrow:before {
    content: '';
    position: absolute;
    left: 50%;
    top: 1.8rem;
    display: block;
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    margin-left: -4px;
    transform: rotate(-45deg);
}

@media (min-width: 1024px) {
    .service-promo__button:hover {
        background: #48b543;
    }

    .service-promo__button:hover .arrow {
        border-bottom: 2rem solid #48b543;
    }
}

.service-promo.visible {
    background: rgba(87, 191, 82, 0.96);
}

.service-promo__content {
    display: none;
    color: #fff;
    padding: 0 12rem 0 12rem;
}

@media (max-width: 640px) {
    .service-promo__content {
        padding: 0 2.4rem;
    }
}

.service-promo__cat {
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.64;
    text-transform: uppercase;
}

@media (max-width: 640px) {
    .service-promo__cat {
        font-size: 2rem;
    }
}

@media (max-width: 360px) {
    .service-promo__cat {
        font-size: 1.8rem;
    }
}

.service-promo__title {
    max-width: 35.5rem;
    margin: 2.4rem 0 0;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 1.13;
}

@media (max-width: 768px) {
    .service-promo__title {
        margin: 1.5rem 0 0;
    }
}

@media (max-width: 640px) {
    .service-promo__title {
        font-size: 2.4rem;
    }
}

@media (max-width: 360px) {
    .service-promo__title {
        margin: 0.8rem 0 0;
        font-size: 2rem;
    }
}

.service-promo__text {
    margin: 3rem 0 0;
    opacity: 0.9;
    font-size: 1.6rem;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .service-promo__text {
        margin: 1.5rem 0 0;
    }
}

@media (max-width: 640px) {
    .service-promo__text {
        font-size: 1.4rem;
    }
}

@media (max-width: 360px) {
    .service-promo__text {
        margin: 0.8rem 0 0;
    }
}

.service-promo__more {
    margin: 3.6rem 0 0;
    border-color: #fff;
    color: #ffffff;
}

.service-promo__more i {
    background: url(../img/icon-chevron-right.svg) center/contain no-repeat;
}

.service-promo__more:hover {
    opacity: 0.7;
    color: #fff;
}

@media (max-width: 768px) {
    .service-promo__more {
        margin: 2rem 0 0;
    }
}

@media (max-width: 360px) {
    .service-promo__more {
        margin: 1rem 0 0;
    }
}

.service-promo__close {
    position: absolute;
    z-index: 2;
    top: 4.5rem;
    right: 4.4rem;
    width: 5rem;
    height: 5rem;
    cursor: pointer;
    background: url(../img/icon-promo-close.svg) center/contain no-repeat;
}

@media (max-width: 640px) {
    .service-promo__close {
        top: 2rem;
        right: 1.8rem;
        width: 4rem;
        height: 4rem;
    }
}

.service-table-wrapper {
    padding: 8rem 0 8.8rem;
}

.service-table-wrapper.no-switchers .service-description {
    padding-left: 4.8rem;
}

@media (max-width: 768px) {
    .service-table-wrapper {
        padding: 4.8rem 0 0;
    }
}

.services-table-wrap {
    display: flex;
}

@media (max-width: 960px) {
    .services-table-wrap {
        flex-wrap: wrap;
    }
}

.service-description {
    margin: 0 0 8rem;
    padding: 0 4.8rem 0 24rem;
    font-size: 2.2rem;
    font-weight: 300;
    line-height: 1.45;
    color: #504d5d;
    width: 100%;
}

.service-description p {
    margin: 0;
}

.service-description p + p {
    margin-top: 1em;
}

@media (max-width: 960px) {
    .service-description {
        padding: 0 !important;
        margin: 0 0 4rem;
    }
}

@media (max-width: 768px) {
    .service-description {
        font-size: 1.8rem;
    }
}

@media (max-width: 480px) {
    .service-description {
        font-size: 1.6rem;
        margin: 0 0 2.4rem;
    }
}

.services-table-switcher {
    margin-left: -4.2rem;
    margin-right: 7.6rem;
}

@media (max-width: 960px) {
    .services-table-switcher {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 3rem;
        display: flex;
        justify-content: center;
    }
}

.services-table-switcher-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 16px;
    width: 16rem;
    height: 8.8rem;
    transition: all 0.25s ease;
}

@media (max-width: 960px) {
    .services-table-switcher-item {
        margin-top: 0 !important;
    }
}

@media (max-width: 480px) {
    .services-table-switcher-item {
        width: 11rem;
        height: 6rem;
    }
}

.services-table-switcher-item:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 3.2rem;
    right: 2.8rem;
    left: 2.8rem;
    bottom: 1.6rem;
    border-radius: 16px;
    background-color: #f9f9f9;
    box-shadow: 0 2px 40px 0 rgba(80, 77, 93, 0.5);
    opacity: 0;
    transition: all 0.25s ease;
}

.services-table-switcher-item:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 16px;
    background: #f9f9f9;
    opacity: 1;
    transition: all 0.25s ease;
}

.services-table-switcher-item + .services-table-switcher-item {
    margin-top: 2rem;
}

.services-table-switcher-item.active:before {
    opacity: 1;
}

.services-table-switcher-item.active:after {
    background: #fff;
}

.services-table-switcher-item.active svg g {
    fill: url(#orange);
}

.services-table-switcher-item:hover:before {
    opacity: 1;
}

.services-table-switcher-item:hover:after {
    background: #fff;
}

.services-table-switcher-item svg {
    display: block;
    position: relative;
    z-index: 1;
    width: 9.7rem;
    height: 4rem;
}

.services-table-switcher-item svg g {
    fill: url(#dark);
    transition: all 0.25s ease;
}

@media (max-width: 480px) {
    .services-table-switcher-item svg {
        width: 8.6rem;
        height: 3.4rem;
    }
}

.services-tables {
    width: 100%;
    margin-right: -3.2rem;
}

@media (max-width: 960px) {
    .services-tables {
        width: calc(100% + 4.8rem);
        margin: 0 -2.4rem 0 -2.4rem;
    }
}

.services-table {
    color: #3a3746;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.5;
    display: none;
}

@media (max-width: 360px) {
    .services-table {
        font-size: 1.4rem;
    }
}

.services-table.active {
    display: block;
}

.services-table__head {
    display: flex;
    width: 100%;
    padding: 0 1.6rem 2.4rem 4.8rem;
    font-size: 1.6rem;
    font-weight: 700;
}

@media (max-width: 960px) {
    .services-table__head {
        padding: 0 1.6rem 2.4rem 2.4rem;
    }
}

@media (max-width: 768px) {
    .services-table__head {
        display: none;
    }
}

.services-table__head .th {
    padding-right: 1.6rem;
}

.services-table__head .th:nth-child(1) {
    width: 35%;
    min-width: 35%;
}

.services-table__head .th:nth-child(2) {
    width: 18%;
    min-width: 18%;
}

.services-table__head .th:nth-child(3) {
    width: 17%;
    min-width: 17%;
}

.services-table__head .th:nth-child(4) {
    width: 30%;
    min-width: 30%;
}

.services-table__body-item {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding: 3.2rem 1.6rem 3.2rem 4.8rem;
    border-radius: 4px;
    background-color: rgba(80, 77, 93, 0.02);
}

@media (max-width: 960px) {
    .services-table__body-item {
        padding: 2.4rem 1.6rem 2.4rem 2.4rem;
    }
}

@media (max-width: 768px) {
    .services-table__body-item {
        flex-wrap: wrap;
    }
}

.services-table__body-item + .services-table__body-item {
    margin-top: 1.6rem;
}

@media (max-width: 960px) {
    .services-table__body-item + .services-table__body-item {
        margin-top: 2px;
    }
}

.services-table__body-item .tr {
    padding-right: 1.6rem;
}

@media (max-width: 480px) {
    .services-table__body-item .tr {
        padding-right: 0.5rem;
    }
}

.services-table__body-item .tr.name {
    padding-right: 6rem;
}

@media (max-width: 960px) {
    .services-table__body-item .tr.name {
        padding-right: 2rem;
    }
}

@media (max-width: 768px) {
    .services-table__body-item .tr.name {
        width: 100% !important;
        padding-right: 0;
        margin-bottom: 1.5rem;
        font-size: 2rem;
    }
}

@media (max-width: 360px) {
    .services-table__body-item .tr.name {
        font-size: 1.8rem;
    }
}

.services-table__body-item .tr.name .type {
    display: block;
    font-weight: 700;
    line-height: 1.71;
    color: #57bf52;
}

@media (max-width: 768px) {
    .services-table__body-item .tr.name .type {
        font-size: 1.4rem;
    }
}

.services-table__body-item .tr.name a {
    color: #ff6420;
    text-decoration: underline;
}

.services-table__body-item .tr.name a:hover {
    text-decoration: none;
}

@media (max-width: 768px) {
    .services-table__body-item .tr.price {
        width: 50% !important;
    }

    .services-table__body-item .tr.price:not(:empty):before {
        content: 'Цена';
        display: inline-block;
        margin: 0 0.8rem 0 0;
        font-weight: 700;
        font-size: 1.6rem;
    }
}

@media (max-width: 768px) and (max-width: 360px) {
    .services-table__body-item .tr.price:not(:empty):before {
        font-size: 1.4rem;
    }
}

@media (max-width: 768px) {
    .services-table__body-item .tr.time {
        width: 50% !important;
        padding-right: 0;
    }

    .services-table__body-item .tr.time:not(:empty):before {
        content: 'Время';
        display: inline-block;
        margin: 0 0.8rem 0 0;
        font-weight: 700;
        font-size: 1.6rem;
    }
}

@media (max-width: 768px) and (max-width: 360px) {
    .services-table__body-item .tr.time:not(:empty):before {
        font-size: 1.4rem;
    }
}

.services-table__body-item .tr.comment {
    align-self: center;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.29;
    color: rgba(58, 55, 70, 0.5);
}

@media (max-width: 768px) {
    .services-table__body-item .tr.comment {
        width: 100% !important;
        padding-right: 0;
    }

    .services-table__body-item .tr.comment:not(:empty) {
        margin: 1.5rem 0 0;
    }

    .services-table__body-item .tr.comment:not(:empty):before {
        content: 'Комментарий';
        display: block;
        margin: 0 0 2px 0;
        font-weight: 700;
        font-size: 1.6rem;
        color: #3a3746;
    }
}

@media (max-width: 768px) and (max-width: 360px) {
    .services-table__body-item .tr.comment:not(:empty):before {
        font-size: 1.4rem;
    }
}

.services-table__body-item .tr:nth-child(1) {
    width: 35%;
    min-width: 35%;
}

.services-table__body-item .tr:nth-child(2) {
    width: 18%;
    min-width: 18%;
}

.services-table__body-item .tr:nth-child(3) {
    width: 17%;
    min-width: 17%;
}

.services-table__body-item .tr:nth-child(4) {
    width: 30%;
    min-width: 30%;
}

.service-gallery {
    padding: 5.6rem 0 8rem;
    background-image: linear-gradient(to top, #454252, #201e27);
}

.service-gallery .container {
    position: relative;
}

@media (max-width: 640px) {
    .service-gallery {
        padding: 4.8rem 0 7rem;
    }
}

.service-gallery-slider {
    margin-left: -3.2rem;
}

.service-gallery-slider .slick-slide {
    outline: none;
}

.service-gallery-slider .slick-list {
    overflow: visible;
}

@media (max-width: 768px) {
    .service-gallery-slider {
        margin-left: -2.4rem;
    }
}

.section-slider-arrows {
    display: flex;
    position: absolute;
    z-index: 1;
    right: 0;
    top: 0;
}

@media (max-width: 1024px) {
    .section-slider-arrows {
        right: 2.4rem;
    }
}

.section-slider-arrow {
    display: inline-block;
    width: 5rem;
    height: 5rem;
    cursor: pointer;
}

.section-slider-arrow svg {
    display: block;
    width: 100%;
    height: 100%;
}

.section-slider-arrow svg g {
    stroke: #706C82;
    transition: stroke 0.25s ease;
}

.section-slider-arrow.prev {
    transform: rotate(180deg);
}

.section-slider-arrow.next {
    margin-left: 1.6rem;
}

@media (min-width: 1025px) {
    .section-slider-arrow:hover svg g {
        stroke: #ff6420;
    }
}

.service-gallery-slide {
    position: relative;
    width: 47.7rem;
    margin: 0 3.2rem;
    height: 27.4rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 4px;
}

.service-gallery-slide:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 3rem;
    right: 2.4rem;
    left: 2.4rem;
    bottom: 1.6rem;
    box-shadow: 0 2px 64px 0 #04010f;
}

@media (max-width: 768px) {
    .service-gallery-slide {
        width: calc(100vw - 4.8rem);
        height: 0;
        padding-bottom: 50%;
        margin: 0 2.4rem;
    }
}

.section-related-services {
    padding: 5.6rem 0 8rem;
    background-image: linear-gradient(to top, #504d5d, #201e27);
}

.section-related-services .container {
    position: relative;
}

@media (max-width: 768px) {
    .section-related-services .section-slider-arrows {
        display: none;
    }
}

@media (max-width: 768px) {
    .section-related-services {
        padding: 4.8rem 0;
    }
}

.related-slider .slick-slide {
    outline: none;
}

.related-slider .slick-list {
    overflow: visible;
}

.related-slide {
    position: relative;
    width: 47.7rem;
    margin: 0 3.2rem;
}

@media (max-width: 640px) {
    .related-slide {
        width: 100%;
        margin: 0;
        display: none;
    }

    .related-slide + .related-slide {
        margin-top: 3.2rem;
    }

    .related-slide:nth-child(1), .related-slide:nth-child(2), .related-slide:nth-child(3) {
        display: block;
    }
}

.related-slide__title {
    padding: 2rem 4rem;
    background: #504d5d;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.33;
    color: #fff;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
}

@media (max-width: 640px) {
    .related-slide__title {
        padding: 2rem 2.4rem;
    }
}

@media (max-width: 480px) {
    .related-slide__title {
        font-size: 1.4rem;
        padding: 1.6rem 2rem;
    }
}

.related-slide__image {
    width: 100%;
    height: 27.4rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

@media (max-width: 480px) {
    .related-slide__image {
        height: 18rem;
    }
}

.related-slide:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 3rem;
    right: 2.4rem;
    left: 2.4rem;
    bottom: 1.6rem;
    box-shadow: 0 2px 64px 0 #04010f;
}

@media (max-width: 960px) {
    .section-article {
        padding: 4.8rem 0 !important;
    }

    .section-article .article-item__left {
        width: 100%;
    }

    .section-article .article-item__image {
        display: none;
    }
}

.about-benefits {
    padding-bottom: 6rem;
}

@media (max-width: 960px) {
    .about-benefits .featured-benefits:first-child {
        padding-bottom: 0;
    }
}

.about-slider {
    position: relative;
}

.about-slider .slick-slide {
    outline: none;
}

.about-slider .slick-arrow {
    position: absolute;
    z-index: 1;
    top: 50%;
    transform: translate(0, -50%);
    width: 5.8rem;
    height: 5.8rem;
    border-radius: 50%;
    background: #fff;
    outline: none;
    border: none;
    font-size: 0;
    cursor: pointer;
    transition: all 0.25s ease;
}

.about-slider .slick-arrow:before {
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.8rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url(../img/icon-chevron-right-orange.svg) center/contain no-repeat;
}

.about-slider .slick-arrow.slick-prev {
    left: calc(50% - 60rem);
}

.about-slider .slick-arrow.slick-prev:before {
    transform: translate(-50%, -50%) rotate(180deg);
}

@media (max-width: 1240px) {
    .about-slider .slick-arrow.slick-prev {
        left: 2.4rem;
    }
}

.about-slider .slick-arrow.slick-next {
    right: calc(50% - 60rem);
}

@media (max-width: 1240px) {
    .about-slider .slick-arrow.slick-next {
        right: 2.4rem;
    }
}

.about-slider .slick-arrow:hover {
    opacity: 0.8;
}

.about-slide {
    height: 56rem;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

@media (max-width: 1024px) {
    .about-slide {
        height: 46rem;
    }
}

@media (max-width: 840px) {
    .about-slide {
        height: 36rem;
    }
}

@media (max-width: 768px) {
    .about-slide {
        height: 32rem;
    }
}

@media (max-width: 480px) {
    .about-slide {
        height: 28.6rem;
    }
}

.section-person {
    position: relative;
    padding: 8.7rem 0 0;
    background: url(../img/person-bg.jpg) center/cover no-repeat;
}

@media (max-width: 860px) {
    .section-person {
        padding: 5.6rem 0 0; /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#454252+0,201e27+100 */
        background: #454252; /* Old browsers */
        background: -moz-linear-gradient(top, #454252 0%, #201e27 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(top, #454252 0%, #201e27 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom, #454252 0%, #201e27 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#454252', endColorstr='#201e27', GradientType=0); /* IE6-9 */
    }
}

.section-person .container {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.section-person:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background-image: linear-gradient(198deg, #454252, #201e27);
}

.section-person .container {
    position: relative;
    z-index: 1;
}

.section-person .quote {
    font-size: 2.2rem;
    font-weight: 400;
    line-height: 1.55;
    color: #fff;
}

.section-person .quote:before {
    content: '« ';
    color: #ff6420;
}

.section-person .quote:after {
    content: ' »';
    color: #ff6420;
}

@media (max-width: 640px) {
    .section-person .quote {
        font-size: 1.8rem;
    }
}

.section-person .quote-author {
    margin: 4rem 0 0;
    font-size: 2.2rem;
    font-weight: 300;
    line-height: 1.18;
    color: #fff;
}

@media (max-width: 860px) {
    .section-person .quote-author {
        display: flex;
        align-items: center;
        width: 100%;
        margin: 1.6rem 0 0;
    }
}

@media (max-width: 640px) {
    .section-person .quote-author {
        font-size: 1.8rem;
        justify-content: center;
    }
}

@media (max-width: 480px) {
    .section-person .quote-author {
        justify-content: flex-start;
    }
}

.section-person .quote-author-image-mobile {
    display: none;
    margin: 0 0 0 3.2rem;
    width: 8.1rem;
    height: 8.1rem;
    border-radius: 50%;
    background-color: #504d5d;
    background-image: url(../img/person.png);
    background-size: 5.6rem;
    background-position: center bottom;
    background-repeat: no-repeat;
}

@media (max-width: 860px) {
    .section-person .quote-author-image-mobile {
        display: block;
    }
}

@media (max-width: 360px) {
    .section-person .quote-author-image-mobile {
        width: 6rem;
        height: 6rem;
        background-size: 4rem;
        margin: 0 0 0 1.6rem;
    }
}

.section-person .quote-contacts {
    margin: 6rem 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 1.2rem 2rem;
    width: 31rem;
    border-radius: 4px;
    background-color: rgba(80, 77, 93, 0.5);
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    color: #f9f9f9;
}

@media (max-width: 869px) {
    .section-person .quote-contacts {
        margin: 2.8rem 0 0;
    }
}

@media (max-width: 640px) {
    .section-person .quote-contacts {
        margin: 2.8rem auto 0;
    }
}

@media (max-width: 480px) {
    .section-person .quote-contacts {
        width: 100%;
    }
}

@media (max-width: 360px) {
    .section-person .quote-contacts {
        padding: 1rem 1.2rem;
        font-size: 1.4rem;
    }
}

.section-person .quote-contacts p {
    margin: 0;
    width: 100%;
    font-weight: 700;
}

.section-person .quote-contacts a {
    color: #f9f9f9;
    text-decoration: none;
}

.section-person .quote-contacts a.email {
    text-decoration: underline;
}

.section-person .quote-contacts a.email:hover {
    text-decoration: none;
}

.section-person-main {
    max-width: 68rem;
    padding-bottom: 8.5rem;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

@media (max-width: 860px) {
    .section-person-main {
        width: 100%;
        max-width: 100%;
    }
}

.section-person-man {
    width: 42rem;
    height: 50rem;
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}

@media (max-width: 1200px) {
    .section-person-man {
        height: 42rem;
        background-size: contain;
    }
}

@media (max-width: 860px) {
    .section-person-man {
        display: none;
    }
}

.section-team {
    padding: 8rem 0;
}

.section-team .page-title {
    margin: 0;
}

.section-team .container {
    position: relative;
}

@media (max-width: 960px) {
    .section-team {
        padding: 5.6rem 0 3.6rem;
    }
}

@media (max-width: 640px) {
    .section-team {
        background: #fff;
    }
}

.team-members {
    margin: 6.4rem 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media (max-width: 960px) {
    .team-members {
        margin: 3.2rem 0 0;
    }
}

@media (max-width: 640px) {
    .team-members {
        flex-wrap: wrap;
    }
}

.team-members-decor {
    position: absolute;
    bottom: 0;
    left: 43%;
    width: auto;
    max-width: 80rem;
    height: auto;
}

@media (max-width: 640px) {
    .team-members-decor {
        display: none;
    }
}

.team-member {
    color: #504d5d;
    width: 29.7%;
    margin-top: 6.4rem;
}

.team-member:nth-child(1), .team-member:nth-child(2), .team-member:nth-child(3) {
    margin-top: 0;
}

@media (max-width: 640px) {
    .team-member {
        width: 100%;
        margin-top: 7.5rem;
        position: relative;
    }

    .team-member:nth-child(1) {
        margin-top: 0;
    }

    .team-member:nth-child(2), .team-member:nth-child(3) {
        margin-top: 7.5rem;
    }

    .team-member:before {
        content: '';
        display: block;
        background: #f9f9f9;
        height: 3px;
        width: calc(100% + 4.8rem);
        position: absolute;
        z-index: 1;
        left: -2.4rem;
        bottom: -3.7rem;
    }

    .team-member:last-child:before {
        display: none;
    }
}

.team-member__photo {
    position: relative;
    border-radius: 2px;
    height: 0;
    padding-bottom: 72%;
    overflow: hidden;
    background-image: linear-gradient(to bottom, #878496, #504d5d);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.team-member__name {
    display: block;
    margin: 3.2rem 0 0;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 768px) {
    .team-member__name {
        margin: 2.4rem 0 0;
        font-size: 2rem;
    }
}

@media (max-width: 640px) {
    .team-member__name {
        margin: 2.4rem 0 0;
        font-size: 2.4rem;
    }
}

.team-member__position {
    display: block;
    margin: 0.8rem 0 0;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.38;
    color: #ff6420;
}

@media (max-width: 768px) {
    .team-member__position {
        margin: 0.4rem 0 0;
        font-size: 1.4rem;
    }
}

@media (max-width: 640px) {
    .team-member__position {
        margin: 0.5rem 0 0;
        font-size: 1.8rem;
    }
}

.team-member__descrip {
    display: block;
    margin: 1.6rem 0 0;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.38;
}

@media (max-width: 768px) {
    .team-member__descrip {
        margin: 1rem 0 0;
        font-size: 1.4rem;
    }
}

@media (max-width: 640px) {
    .team-member__descrip {
        margin: 1.6rem 0 0;
        font-size: 1.8rem;
    }
}

.team-member:nth-child(3n+2):last-child {
    margin-right: auto;
    margin-left: 5.4%;
}

.section-feedbacks {
    position: relative;
    padding: 5.6rem 0 10rem;
    background-image: linear-gradient(to top, #504d5d, #201e27);
}

.section-feedbacks .container {
    position: relative;
}

.section-feedbacks .section-slider-arrows {
    right: auto;
    left: 16rem;
}

@media (max-width: 640px) {
    .section-feedbacks .section-slider-arrows {
        left: auto;
        right: 2.4rem;
    }
}

.feedback-slider {
    margin-left: -4rem;
}

.feedback-slider .slick-slide {
    outline: none;
}

.feedback-slider .slick-list {
    overflow: visible;
}

@media (max-width: 640px) {
    .feedback-slider {
        margin-left: -2.4rem;
    }
}

.feedback-slide {
    color: #fff;
    border-radius: 2px;
    background-color: rgba(80, 77, 93, 0.2);
    overflow: hidden;
    padding: 5rem 4rem;
    width: 55rem;
    margin: 0 2.4rem;
}

@media (max-width: 640px) {
    .feedback-slide {
        background: none;
        width: calc(100vw);
        padding: 0 2.4rem;
        margin: 0;
    }
}

.feedback-slide__head {
    position: relative;
    padding-right: 9rem;
    margin: 0 0 2.4rem;
}

.feedback-slide__name {
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 480px) {
    .feedback-slide__name {
        font-size: 2rem;
    }
}

.feedback-slide__rating {
    position: absolute;
    top: 0.5rem;
    right: 0;
    display: flex;
    width: 8rem;
}

.feedback-slide__rating i {
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    background: url(../img/icon-star-orange.svg) center/contain no-repeat;
}

.feedback-slide__rating i + i {
    margin-left: 0.6rem;
}

.feedback-slide__text {
    margin: 0;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1.38;
}

.feedback-slide__text:before {
    content: '« ';
    color: #ff6420;
}

.feedback-slide__text:after {
    content: ' »';
    color: #ff6420;
}

.sales-list {
    padding-bottom: 6rem;
}

@media (max-width: 768px) {
    .sales-list {
        margin-top: 2.5rem;
        padding-bottom: 0 !important;
    }
}

.sales-list .services-slide {
    overflow: visible;
}

.sales-list .services-slide__title {
    font-weight: 700;
}

.sales-list .services-slide__title strong {
    color: #57bf52;
}

.sales-list .services-slide__img.mobile-only {
    display: none;
}

@media (max-width: 768px) {
    .sales-list .services-slide__inner {
        padding-left: 0;
        padding-right: 0;
    }

    .sales-list .services-slide__btn {
        display: inline-block;
        margin-top: 2.5rem;
    }

    .sales-list .services-slide__img {
        display: none;
    }

    .sales-list .services-slide__img.mobile-only {
        display: block;
    }
}

.sales-list-item {
    width: 100%;
    display: flex;
    align-items: center;
    min-height: 46rem;
}

@media (max-width: 768px) {
    .sales-list-item:last-child .services-slide {
        padding-bottom: 3.2rem;
    }
}

.sale-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 4rem 0 0;
}

@media (max-width: 860px) {
    .sale-hero {
        flex-wrap: wrap;
    }
}

.sale-hero__main {
    max-width: 70rem;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

@media (max-width: 1180px) {
    .sale-hero__main {
        max-width: 64rem;
    }
}

@media (max-width: 1080px) {
    .sale-hero__main {
        max-width: 54rem;
    }
}

@media (max-width: 860px) {
    .sale-hero__main {
        max-width: 100%;
        width: 100%;
    }
}

.sale-hero__title {
    margin: 0 0 2.4rem;
    max-width: 66rem;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.2;
    color: #504d5d;
}

.sale-hero__title span {
    color: #57bf52;
}

@media (max-width: 640px) {
    .sale-hero__title {
        font-size: 2.8rem;
        margin: 0 0 1rem;
    }
}

.sale-hero__date {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 700;
    color: #504d5d;
    background: rgba(80, 77, 93, 0.03);
    padding: 1rem 1.6rem;
}

.sale-hero__date i {
    display: inline-block;
    width: 2rem;
    height: 2rem;
    margin: 0 1rem 0 0;
    background: url(../img/icon-clock.svg) center/contain no-repeat;
}

.sale-hero__image {
    margin: 6rem 0 0 -3rem;
    max-width: 100%;
    height: auto;
}

@media (max-width: 1180px) {
    .sale-hero__image {
        max-width: 90%;
    }
}

@media (max-width: 860px) {
    .sale-hero__image {
        margin: 1.6rem auto 0;
        max-width: 100%;
    }

    .sale-hero__image img {
        max-width: 100%;
    }
}

.sale-hero__form {
    position: relative;
    width: 41.6rem;
    padding: 8rem;
    border-radius: 4px;
    background-color: #ffffff;
}

.sale-hero__form:before {
    content: '';
    position: absolute;
    z-index: -1;
    top: 4.2rem;
    right: 4.4rem;
    left: 4.4rem;
    bottom: 2.3rem;
    box-shadow: 0 2px 48px 0 rgba(80, 77, 93, 0.5);
}

@media (max-width: 1240px) {
    .sale-hero__form {
        padding: 6rem 2.4rem;
    }
}

@media (max-width: 860px) {
    .sale-hero__form {
        margin: auto;
    }
}

@media (max-width: 420px) {
    .sale-hero__form {
        padding: 5rem 2.4rem 3.8rem;
        width: calc(100% + 4.8rem);
        margin-left: -2.4rem;
        margin-right: -2.4rem;
    }
}

.sale-content {
    padding: 6rem 0 8rem;
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 1.56;
    color: #504d5d;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.sale-content h2, .sale-content h3, .sale-content h4, .sale-content h5, .sale-content h6 {
    max-width: 64rem;
    margin: 0;
    background-image: linear-gradient(79deg, #6958bd, #ff6420);
    font-size: 3.2rem;
    font-weight: 300;
    line-height: 1.25;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

@media (max-width: 640px) {
    .sale-content h2, .sale-content h3, .sale-content h4, .sale-content h5, .sale-content h6 {
        font-size: 2.4rem;
    }
}

.sale-content h3 {
    font-size: 2.8rem;
}

@media (max-width: 640px) {
    .sale-content h3 {
        font-size: 2.2rem;
    }
}

.sale-content h4 {
    font-size: 2.4rem;
}

@media (max-width: 640px) {
    .sale-content h4 {
        font-size: 2rem;
    }
}

.sale-content h5, .sale-content h6 {
    font-size: 2rem;
}

@media (max-width: 640px) {
    .sale-content h5, .sale-content h6 {
        font-size: 1.8rem;
    }
}

.sale-content p {
    max-width: 64rem;
}

@media (max-width: 640px) {
    .sale-content {
        padding: 5.8rem 0 2.4rem;
    }
}

.sales-list {
    padding-bottom: 6rem;
}

.sales-list .services-slide {
    overflow: visible;
}

.sales-list .services-slide__title {
    font-weight: 700;
}

.sales-list .services-slide__title strong {
    color: #57bf52;
}

.sales-list-item {
    width: 100%;
    display: flex;
    align-items: center;
    min-height: 46rem;
}

.article-list {
    padding: 8rem 0;
}

@media (max-width: 960px) {
    .article-list {
        padding: 3.2rem 0;
    }
}

.article-list .article-item + .article-item {
    margin-top: 16rem;
}

@media (max-width: 960px) {
    .article-list .article-item + .article-item {
        margin-top: 6.4rem;
    }
}

@media (max-width: 768px) {
    .article-list .article-item__title {
        display: inline-block;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        background-image: linear-gradient(81deg, #6958bd, #ff6420);
    }
}

@media (max-width: 768px) {
    .article-list .article-item__link {
        margin: 2.4rem 0 0;
    }
}

.section-article {
    padding: 9.4rem 0;
    background: #f9f9f9;
}

.article-item {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    color: #504d5d;
    width: 100%;
}

.article-item__title {
    margin: 0;
    max-width: 51rem;
    font-size: 4rem;
    font-weight: 700;
    line-height: 1.2;
    transition: all 0.25s ease;
}

@media (max-width: 960px) {
    .article-item__title {
        font-size: 3.2rem;
    }
}

@media (max-width: 768px) {
    .article-item__title {
        font-size: 2.8rem;
        max-width: 100%;
    }
}

.article-item__descrip {
    margin: 3.2rem 0 0;
    font-size: 1.8rem;
    line-height: 1.56;
}

@media (max-width: 768px) {
    .article-item__descrip {
        margin: 1.6rem 0 0;
    }
}

.article-item__descrip p {
    margin: 0;
}

.article-item__descrip p + p {
    margin-top: 1em;
}

.article-item__link {
    margin: 4rem 0 0;
}

@media (max-width: 768px) {
    .article-item__link {
        margin: 3rem 0 0;
    }
}

.article-item__image {
    position: relative;
    width: 47.7rem;
    min-width: 47.7rem;
    margin-left: 8rem;
}

.article-item__image:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 4rem;
    right: 2.4rem;
    left: 2.4rem;
    bottom: 1.6rem;
    box-shadow: 0 2px 54px 0 #04010f;
    transition: all 0.25s ease;
}

@media (max-width: 960px) {
    .article-item__image {
        display: none;
    }
}

.article-item__image-inner {
    width: 100%;
    height: 0;
    border-radius: 4px;
    overflow: hidden;
    padding-bottom: 67%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.article-item:hover .article-item__title {
    color: #ff6420;
}

.article-item:hover .article-item__link {
    color: #ff6420;
    border-color: #ff6420;
}

.article-item:hover .article-item__link i svg path {
    fill: #ff6420;
}

.article-item:hover .article-item__image:before {
    box-shadow: 0 2px 64px 0 #04010f;
}

.main-article-image {
    width: 39.75%;
    max-width: 47.7rem;
    float: right;
}

.main-article-image.mobile-only {
    display: none;
}

@media (max-width: 860px) {
    .main-article-image {
        display: none;
    }

    .main-article-image.mobile-only {
        display: block;
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 2.4rem 0 0;
    }
}

.article-hero .title-page {
    margin-bottom: 0;
}

.article-block h3 {
    margin-top: 7.2rem;
    font-size: 3.2rem;
    font-weight: 300;
    line-height: 1.25;
    display: block;
    width: auto;
}

.article-block h3 span {
    display: inline-block;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(81deg, #6958bd, #ff6420);
}

@media (max-width: 879px) {
    .article-block h3 {
        margin-top: 4rem;
        margin-bottom: 1.6rem;
    }

    .article-block h3 + p {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .article-block h3 {
        font-size: 2.4rem;
    }
}

.block-booking-form {
    width: 100%;
    max-width: 530px;
    margin-bottom: 20px;
    border-radius: 2px;
    background-color: #ffffff;
    padding: 6.2rem 7.3rem 8rem;
    margin-top: 7.35rem;
    -webkit-box-shadow: 0px 5px 3.5rem -1rem rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0px 5px 3.5rem -1rem rgba(0, 0, 0, 0.2);
    box-shadow: 0px 5px 3.5rem -1rem rgba(0, 0, 0, 0.2); /*0px 0px 2.5rem -2rem rgba(0, 0, 0, 0.5)*/
}

.block-booking-form .title-booking {
    font-size: 2.8rem;
    font-weight: 300;
    line-height: 1.21;
    margin-bottom: 5.2rem;
}

@media (max-width: 640px) {
    .block-booking-form .title-booking {
        font-size: 2rem;
    }
}

@media (max-width: 768px) {
    .block-booking-form {
        padding: 6rem 0;
        max-width: calc(100% + 4.8rem);
        width: calc(100% + 4.8rem);
        margin-left: -2.4rem;
        margin-right: -2.4rem;
        text-align: center;
        margin-top: 4.8rem;
    }
}

.btn-booking {
    border-radius: 2.4rem;
    border: solid 0.15rem #504d5d;
    padding: 1.25rem 2.4rem;
    font-size: 1.6rem;
    outline: none;
    transition: 0.3s;
    fill: #504d5d;
    color: #504d5d;
    text-decoration: none;
}

.btn-booking:hover {
    border-color: #ff4c05;
    color: #ff4c05;
    fill: #ff4c05;
}

.btn-booking .chevron {
    display: inline-block;
    margin-left: 1.7rem;
    width: 0.8rem;
    height: 0.8rem;
}

@media (max-width: 640px) {
    .btn-booking .chevron {
        margin-left: 0.8rem;
    }
}

.vacancies-hero {
    margin-top: 4rem;
}

@media (max-width: 767px) {
    .vacancies-hero {
        margin-top: 0;
    }
}

.vacancies-hero .city-name {
    font-size: 3.2rem;
    font-weight: 300;
    line-height: 1.25;
    background-image: linear-gradient(70deg, #6958bd, #ff6420);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    width: auto;
}

@media (max-width: 767px) {
    .vacancies-hero .city-name {
        font-size: 2.4rem;
        margin: 1.75rem 0 4rem;
        padding: 0;
    }
}

.vacancies-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (max-width: 768px) {
    .vacancies-list {
        width: calc(100% + 4.8rem);
        margin-left: -2.4rem;
        margin-right: -2.4rem;
    }
}

@media (max-width: 767px) {
    .vacancies-list {
        margin-bottom: 3rem;
    }
}

.vacancy-body {
    margin-bottom: 2.5rem;
}

@media (max-width: 767px) {
    .vacancy-body {
        margin-bottom: 0.24rem;
    }
}

.vacancy-body .vacancy-description {
    display: none;
    background-color: rgba(255, 255, 255, 0.8);
    opacity: 0.8;
}

.vacancy-title {
    padding: 5rem 4.7rem;
    background-color: #ffffff;
    border-radius: 0.2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 2.2rem;
    box-shadow: 0 0.8rem 5rem -1.8rem grey;
}

@media (max-width: 767px) {
    .vacancy-title {
        flex-wrap: wrap;
        padding: 2.4rem;
    }

    .vacancy-title .vacancy-name {
        width: 100%;
        margin-bottom: 2.4rem;
        font-size: 1.8rem;
    }
}

.vacancy-title

&
gt

;
* {
    padding: 0 0.5rem;
}

.vacancy-title .price {
    color: #ff6420;
    white-space: nowrap;
}

@media (max-width: 767px) {
    .vacancy-title .price {
        font-size: 1.6rem;
    }
}

.vacancy-title .address {
    font-size: 1.8rem;
    color: #504d5d;
    opacity: 0.5;
    position: relative;
    padding-left: 2.5rem;
}

@media (max-width: 767px) {
    .vacancy-title .address {
        font-size: 1.4rem;
    }
}

.vacancy-title .address .icn-location {
    position: absolute;
    top: 0.2rem;
    left: 0;
}

@media (max-width: 767px) {
    .vacancy-title .action {
        margin-left: auto;
    }
}

.vacancy-title .action .icn-arrow-open:hover {
    border-color: #ff6420;
}

.vacancy-description-content {
    padding: 6.4rem 13.5rem;
}

@media (max-width: 767px) {
    .vacancy-description-content {
        padding: 4rem 2.45rem;
    }
}

.vacancy-description-content h3 {
    display: inline-block;
    padding: 0 1.6rem;
    background-color: rgba(80, 77, 93, 0.03);
    line-height: 1.82;
    margin: 0;
}

.vacancy-description-content ul, .vacancy-description-content ol {
    margin-bottom: 4.8rem;
}

.close {
    background: url("../img/close-icon-1.svg") no-repeat center;
    width: 4.5rem;
    height: 5rem;
    position: absolute;
    right: 2.4rem;
    top: 2.4rem;
    transition: 0.3s;
}

@media (max-width: 768px) {
    .close {
        top: 3.8rem;
    }
}

.close:hover {
    opacity: 0.7;
}

.repair-record-popup {
    display: none;
    width: 100%;
    height: 100%;
    background: url("../img/service-slide-2.jpg") no-repeat center;
    background-size: cover;
    position: fixed;
    top: 0;
    z-index: 13;
}

@media (max-width: 768px) {
    .repair-record-popup {
        overflow: auto;
    }
}

.repair-record-popup:before {
    position: absolute;
    content: '';
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(80, 77, 93, 0.8);
}

.repair-record-popup .repair-record-form {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #ffffff;
    padding: 6.4rem;
}

@media (max-width: 768px) {
    .repair-record-popup .repair-record-form {
        padding: 4.4rem 3.3rem;
        width: 100%;
        position: relative;
        transform: translate(0, 0);
        top: 0;
        left: 0;
    }
}

.repair-record-popup .record-form-heading {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 4rem;
}

@media (max-width: 768px) {
    .repair-record-popup .record-form-heading {
        margin: 0 0 2.4rem;
        padding-right: 4rem;
    }
}

.repair-record-popup form {
    display: flex;
    justify-content: space-between;
}

@media (max-width: 768px) {
    .repair-record-popup form {
        flex-wrap: wrap;
    }
}

.repair-record-popup .main-form-fields {
    width: 256px;
    margin-right: 3.2rem;
    flex-shrink: 0;
    flex-grow: 0;
}

@media (max-width: 768px) {
    .repair-record-popup .main-form-fields {
        width: 100%;
    }
}

.repair-record-popup .additional-info {
    width: 70%;
    flex-grow: 1;
    flex-shrink: 1;
    position: relative;
}

@media (max-width: 768px) {
    .repair-record-popup .additional-info {
        width: 100%;
        text-align: center;
    }
}

.repair-record-popup .additional-info .form-submit {
    position: absolute;
    bottom: 1.6rem;
    right: 0;
}

@media (max-width: 768px) {
    .repair-record-popup .additional-info .form-submit {
        position: static;
    }
}

.repair-record-popup .form-group {
    margin-bottom: 1.6rem;
}

.repair-record-popup .form-group.require .form-control {
    padding: 0.8rem 2.3rem;
}

.repair-record-popup .form-group.require:before {
    content: '*';
    color: #ff6420;
    display: inline-block;
    position: absolute;
    left: 1.2rem;
    top: 0.8rem;
    font-family: OpenSans;
}

.repair-record-popup .form-group.error .form-control {
    border-color: red;
}

.repair-record-popup .form-group.error .error-text {
    display: block;
}

.repair-record-popup .error-text {
    position: absolute;
    bottom: -1.5rem;
    font-size: 1.2rem;
    color: red;
    display: none;
}

.repair-record-popup textarea {
    resize: none;
    width: 38.5rem;
    height: 15.2rem;
}

@media (max-width: 768px) {
    .repair-record-popup textarea {
        width: 100%;
        text-align: left;
    }
}

.categories-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    justify-content: flex-start;
    vertical-align: top;
}

@media (max-width: 580px) {
    .categories-list {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .categories-list li {
        width: calc(50% - 0.8rem);
        margin-top: 1.6rem;
    }
}

.categories-list .contact-category {
    display: block;
    padding: 2.5rem 2.4rem 2.3rem;
    border-radius: 0.4rem;
    border: solid 0.1rem rgba(80, 77, 93, 0.3);
    margin-left: 1.6rem;
    color: #504d5d;
    font-size: 1.6rem;
    font-weight: bold;
    text-decoration: none;
    transition: 0.3s;
}

.categories-list .contact-category .icn:not(.icn-all) {
    margin-right: 0.6rem;
}

@media (max-width: 580px) {
    .categories-list .contact-category .icn {
        width: 1.6rem;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
}

@media (max-width: 860px) {
    .categories-list .contact-category {
        width: 15.5rem;
        height: 5.8rem;
        padding: 1.8rem 1.2rem 1.7rem;
        text-align: center;
    }
}

@media (max-width: 580px) {
    .categories-list .contact-category {
        width: 100%;
        margin-left: 0;
        font-size: 1.4rem;
        padding: 1.9rem 0 1.8rem;
    }
}

.categories-list .contact-category.active, .categories-list .contact-category:hover {
    background-color: #504d5d;
    border: solid 0.1rem #504d5d;
    color: #fff;
}

@media (max-width: 580px) {
    .categories-list li:first-child .contact-category {
        margin-left: 0;
    }
}

@media (max-width: 860px) {
    .btn-whatsapp.desktop-only {
        display: none;
    }
}

.btn-whatsapp.mobile-only {
    display: none;
}

@media (max-width: 860px) {
    .btn-whatsapp.mobile-only {
        display: block;
        margin: 3.3rem 0 3.6rem;
        width: 25.8rem;
        font-size: 1.4rem;
        line-height: 1.7;
        padding: 1.2rem 2.5rem 1.1rem;
    }
}

.contacts-hero .subtitle-block {
    padding: 5rem 0 4.4rem;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 580px) {
    .contacts-hero .subtitle-block {
        padding: 4rem 0 3.2rem;
        width: 100%;
    }
}

.contacts-hero .cities-list {
    margin: 0;
    list-style: none;
    display: flex;
    align-self: flex-start;
    justify-content: flex-start;
    align-items: center;
    padding: 1rem 3.2rem 1rem;
    background-color: rgba(80, 77, 93, 0.03);
    border-radius: 0.4rem;
}

@media (max-width: 580px) {
    .contacts-hero .cities-list {
        padding: 1rem 1.5rem 1rem;
        width: 100%;
        display: flex;
        justify-content: space-around;
    }
}

.contacts-hero .cities-list li {
    margin-right: 2.4rem;
}

@media (max-width: 580px) {
    .contacts-hero .cities-list li {
        margin-right: 0;
    }
}

.contacts-hero .cities-list li:last-child {
    margin-right: 0;
}

.contacts-hero .cities-list li a {
    display: inline-block;
    font-size: 1.4rem;
    font-weight: normal;
    border-bottom: 1px dashed rgba(80, 77, 93, 0.4);
    color: rgba(80, 77, 93, 0.8);
    transition: 0.3s;
    text-decoration: none;
    line-height: 1.2;
}

.contacts-hero .cities-list li a.active, .contacts-hero .cities-list li a:hover {
    border-color: rgba(255, 100, 32, 0.4);
    color: rgba(255, 100, 32, 0.8);
}

.contacts-hero .contact-block {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

@media (max-width: 860px) {
    .contacts-hero .contact-block {
        display: none;
    }
}

.contacts-hero .contact-block .mail {
    font-size: 1.6rem;
    font-weight: normal;
    color: #504d5d;
}

.contacts-hero .contact-block .mail a.mail {
    margin-right: 1.6rem;
}

.contacts-hero .contact-block .mail .icn {
    margin-top: 0.4rem;
    margin-right: 1.6rem;
}

.contacts-hero .contact-block

&
gt

;
* {
    margin-left: 4.2rem;
}

@media (max-width: 900px) {
    .contacts-hero .contact-block

&gt

; * {
      margin-left: 1.5rem;
  }
}

.mobile-contacts {
    display: none;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin: 5.6rem 0 0;
}

.mobile-contacts .mail {
    font-size: 1.6rem;
    font-weight: normal;
    color: #504d5d;
}

.mobile-contacts .mail .icn {
    margin-top: 0.4rem;
    margin-right: 1.6rem;
}

.mobile-contacts .inst {
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    text-decoration: none;
    background-image: url(../img/icon-social-instagram.svg);
}

@media (max-width: 860px) {
    .mobile-contacts {
        display: flex;
    }
}

.contacts-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

@media (max-width: 860px) {
    .contacts-list {
        margin-left: -2.4rem;
        margin-right: -2.4rem;
    }
}

.contacts-list li {
    margin-bottom: 25px;
    background-color: #ffffff;
    box-shadow: 0 0.8rem 5rem -1.8rem grey;
    border-radius: 0.2rem;
    width: 100%;
}

@media (max-width: 860px) {
    .contacts-list li {
        margin-bottom: 1px;
        box-shadow: 0 0.8rem 0.3rem -1.8rem rgba(128, 128, 128, 0.1);
    }
}

.contacts-list li & gt

;
* {
    padding: 0 0.5rem;
}

.contacts-list li.active {
    width: calc(100% + 6.4rem);
    transition: 0.2s ease-in-out;
    margin-left: -3.2rem;
    padding-left: 3.2rem;
    padding-right: 3.2rem;
}

.contacts-list li.active .address {
    color: #ff6420;
}

.contacts-list .contact-item {
    padding: 5rem 4.7rem 4rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 2.2rem;
    cursor: pointer;
}

@media (max-width: 860px) {
    .contacts-list .contact-item {
        padding: 2.4rem;
        position: relative;
        flex-wrap: wrap;
    }
}

.contacts-list .contact-item .price {
    color: #ff6420;
}

.contacts-list .contact-item .address {
    font-size: 1.8rem;
    color: #504d5d;
    position: relative;
    padding-left: 2.4rem;
}

.contacts-list .contact-item .address span {
    border-bottom: 1px dashed rgba(80, 77, 93, 0.4);
    opacity: 0.5;
}

.contacts-list .contact-item .address .icn-location {
    position: absolute;
    left: 0;
    top: 0.3rem;
}

@media (max-width: 520px) {
    .contacts-list .contact-item .address {
        font-size: 1.4rem;
        padding-left: 1.8rem;
        max-width: 50%;
    }

    .contacts-list .contact-item .address .icn-location {
        margin-top: -2px;
    }
}

.contacts-list .contact-item .phone {
    font-weight: bold;
    font-size: 2.2rem;
}

@media (max-width: 520px) {
    .contacts-list .contact-item .phone {
        font-size: 1.8rem;
    }
}

@media (max-width: 360px) {
    .contacts-list .contact-item .phone {
        font-size: 1.6rem;
    }
}

.contacts-list .contact-item .services i:not(:last-child) {
    margin-right: 2.4rem;
}

@media (max-width: 860px) {
    .contacts-list .contact-item .services {
        position: absolute;
        right: 2.4rem;
        bottom: 2.4rem;
    }
}

.contacts-list .contact-item .schedule {
    font-size: 1.6rem;
    line-height: 1.5;
    max-width: 20rem;
    width: 20rem;
    margin-top: -1.3rem;
}

.contacts-list .contact-item .schedule span {
    font-weight: 200;
}

@media (max-width: 860px) {
    .contacts-list .contact-item .schedule {
        width: 100%;
        max-width: 100%;
        margin: 1.5rem 0 0;
    }
}

@media (max-width: 520px) {
    .contacts-list .contact-item .services {
        position: unset;
        margin-top: 5px;
    }

    .contacts-list .contact-item .schedule {
        font-size: 1.6rem;
    }
}

#map {
    margin-top: 4.8rem;
}

@media (max-width: 860px) {
    #map {
        margin-top: 1.6rem;
        margin-left: -2.4rem;
        margin-right: -2.4rem;
    }
}

html {
    font-size: 10px;
    height: 100%;
}

body {
    font-family: 'Circe', Arial, sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1.4;
    color: #504d5d;
    -webkit-font-smoothing: antialiased;
    background: #f9f9f9;
    min-height: 100%;
}

body * {
    font-family: 'Circe', Arial, sans-serif;
}

.main-wrapper {
    overflow: hidden;
    min-width: 320px;
}

.container {
    max-width: 1200px;
    margin: auto;
    width: 90%;
}

@media (max-width: 1024px) {
    .container {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .container {
        width: 100%;
    }
}

@media (max-width: 1240px) {
    .container {
        padding-left: 2.4rem;
        padding-right: 2.4rem;
    }
}

.homepage .page-content {
    padding-top: 8rem;
}

@media (max-width: 767px) {
    .homepage .page-content {
        padding-top: 4rem;
    }
}

.page-content {
    padding-top: 8rem;
}

@media (max-width: 768px) {
    .page-content {
        padding-top: 4rem;
    }
}

.title-homepage {
    margin: 0 0 0 0;
    max-width: 70rem;
    font-size: 4rem;
    line-height: 1.2;
    color: #504d5d;
    font-weight: 300;
}

.title-homepage strong {
    font-weight: 700;
}

@media (max-width: 767px) {
    .title-homepage {
        font-size: 2.8rem;
    }
}

.page-title {
    margin: 0 0 8rem;
    max-width: 70rem;
    font-size: 4rem;
    line-height: 1.2;
    color: #504d5d;
    font-weight: 700;
}

@media (max-width: 960px) {
    .page-title {
        font-size: 3.6rem;
        max-width: 100%;
        margin: 0 0 4rem;
    }
}

@media (max-width: 767px) {
    .page-title {
        font-size: 3.2rem;
        margin: 0 0 3.8rem;
    }
}

@media (max-width: 640px) {
    .page-title {
        font-size: 2.8rem;
    }
}

.page-title-boxed {
    display: inline-block;
    margin: 0 0 0 -3rem;
    padding: 1.3rem 3rem;
    font-size: 4rem;
    font-weight: 300;
    line-height: 1.2;
    color: #504d5d;
    border-radius: 4px;
    background-color: #ffffff;
}

@media (max-width: 768px) {
    .page-title-boxed {
        background-color: transparent;
        font-size: 2.8rem;
        margin: 0;
        padding: 0;
        font-weight: 700;
    }
}

.breadcrumbs {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-weight: 400;
    color: #504d5d;
}

.breadcrumbs a {
    text-decoration: none;
    color: #ff6420;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

.breadcrumbs .chevron {
    display: inline-block;
    margin: -0.1rem 1.1rem 0 1.1rem;
    width: 1rem;
    height: 1rem;
}

.breadcrumbs .chevron svg {
    display: block;
    width: 100%;
    height: 100%;
}

.breadcrumbs .chevron svg path {
    fill: #ff6420;
}

.breadcrumbs span {
    opacity: 0.5;
}

.section-title {
    margin: 0 0 4rem;
    font-size: 3.2rem;
    line-height: 1.5;
    color: #706c82;
}

.section-title.dark {
    color: #504d5d;
}

@media (max-width: 640px) {
    .section-title {
        font-size: 2.8rem;
        font-weight: 400;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImJhc2Uvbm9ybWFsaXplLnNjc3MiLCJiYXNlL2ZvbnRzLnNjc3MiLCJiYXNlL3ZhcmlhYmxlcy5zY3NzIiwidmVuZG9yL3NsaWNrLnNjc3MiLCJjb21wb25lbnRzL2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9zaGFyZS1ibG9jay5zY3NzIiwidWkvdHlwb2dycGh5LnNjc3MiLCJ1aS9pY29ucy5zY3NzIiwidWkvaHRtbC1lZGl0b3Itc3R5bGVzLnNjc3MiLCJwYWdlcy9wYWdlLWluZGV4LnNjc3MiLCJwYWdlcy9wYWdlLXNlcnZpY2Uuc2NzcyIsInBhZ2VzL3BhZ2UtYWJvdXQuc2NzcyIsInBhZ2VzL3BhZ2Utc2FsZXMuc2NzcyIsInBhZ2VzL3BhZ2Utc2FsZS5zY3NzIiwicGFnZXMvcGFnZS1hcnRpY2xlcy5zY3NzIiwicGFnZXMvcGFnZS1hcnRpY2xlLnNjc3MiLCJwYWdlcy9wYWdlLXZhY2FuY2llcy5zY3NzIiwicGFnZXMvcGFnZS1yZXBhaXItcmVjb3JkLnNjc3MiLCJwYWdlcy9wYWdlLWNvbnRhY3RzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImJhc2Uvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYmFzZS9mb250c1wiO1xuQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG5cbkBpbXBvcnQgXCJ2ZW5kb3Ivc2xpY2tcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm1zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9idXR0b25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaGFyZS1ibG9ja1wiO1xuXG5AaW1wb3J0IFwidWkvdHlwb2dycGh5XCI7XG5AaW1wb3J0IFwidWkvaWNvbnNcIjtcbkBpbXBvcnQgXCJ1aS9odG1sLWVkaXRvci1zdHlsZXNcIjtcblxuQGltcG9ydCBcInBhZ2VzL3BhZ2UtaW5kZXhcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlLXNlcnZpY2VcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlLWFib3V0XCI7XG5AaW1wb3J0IFwicGFnZXMvcGFnZS1zYWxlc1wiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2Utc2FsZVwiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2UtYXJ0aWNsZXNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlLWFydGljbGVcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlLXZhY2FuY2llc1wiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2UtcmVwYWlyLXJlY29yZFwiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2UtY29udGFjdHNcIjtcblxuXG5cblxuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdDaXJjZScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLm1haW4td3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG4uY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDkwJTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNHJlbTtcbiAgICB9XG59XG5cblxuXG5cblxuLmhvbWVwYWdlIHtcbiAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg4MCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4ucGFnZS1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDgwKTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDRyZW07XG4gICAgfVxufVxuLnRpdGxlLWhvbWVwYWdlIHtcbiAgICBtYXJnaW46IDAgMCAwIDA7XG4gICAgbWF4LXdpZHRoOiByZW0oNzAwKTtcbiAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgfVxufVxuLnBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDhyZW07XG4gICAgbWF4LXdpZHRoOiByZW0oNzAwKTtcbiAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjZyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAzLjhyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICB9XG59XG4ucGFnZS10aXRsZS1ib3hlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgLTNyZW07XG4gICAgcGFkZGluZzogMS4zcmVtIDNyZW07XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4uYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNoZXZyb24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogLTAuMXJlbSAxLjFyZW0gMCAxLjFyZW07XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG59XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCA0cmVtO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICM3MDZjODI7XG4gICAgJi5kYXJrIHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuIiwiLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NpcmNlJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2lyY2UtVGhpbi5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2lyY2UtVGhpbi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvQ2lyY2UtVGhpbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1UaGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvQ2lyY2UtVGhpbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NpcmNlJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2lyY2UtRXh0cmFMaWdodC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2lyY2UtRXh0cmFMaWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvQ2lyY2UtRXh0cmFMaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1FeHRyYUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvQ2lyY2UtRXh0cmFMaWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG59XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NpcmNlJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvQ2lyY2UtTGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0NpcmNlLUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1MaWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL0NpcmNlLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2lyY2UnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DaXJjZS1SZWd1bGFyLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DaXJjZS1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1SZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL0NpcmNlLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2lyY2UnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DaXJjZS1Cb2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DaXJjZS1Cb2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL0NpcmNlLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9DaXJjZS1Cb2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2lyY2UnO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9DaXJjZS1FeHRyYUJvbGQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL0NpcmNlLUV4dHJhQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgnLi4vZm9udHMvQ2lyY2UtRXh0cmFCb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL0NpcmNlLUV4dHJhQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL0NpcmNlLUV4dHJhQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG59IiwiJGJyYW5kQ29sb3I6ICNmZjY0MjA7XG4kYnJhbmRDb2xvckhvdmVyOiAjZmY0YzA1O1xuJGRhcms6ICM1MDRkNWQ7XG4kZ3JlZW46ICM1N2JmNTI7XG5cbiR3aGl0ZTogI2ZmZjtcblxuXG5cblxuJGJhc2UtZm9udC1zaXplOiAxMDtcbkBmdW5jdGlvbiByZW0oJHBpeGVscywgJGNvbnRleHQ6ICRiYXNlLWZvbnQtc2l6ZSkge1xuICAgIEByZXR1cm4gI3skcGl4ZWxzLzEwfXJlbTtcbn1cblxuXG4kbW9iaWxlOiAgJ21heC13aWR0aDogNzY3cHgnOyIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4uaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RvcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTQpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDE0KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg4MCwgNzcsIDkzLCAwLjAzKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY2l0eSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDM1KTtcbiAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xuICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogLSByZW0oMikgcmVtKDEwKSAwIDA7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDEyKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDE2KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvaWNvbi1tYXAtbWFya2VyLW9yYW5nZS5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRicmFuZENvbG9yO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fYWRkcmVzc2VzIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMzUpO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzMCk7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX193b3JrLWhvdXJzIHtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Byb2ZpbGUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogLSByZW0oMykgcmVtKDcpIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMTYpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTYpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9pY29uLWtleS5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbWFpbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMzUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgpO1xuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xvZ28ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0oMjU1KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2xvZ28tZnVsbC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgICAgICAgICB3aWR0aDogMTkuMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyLjdyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTdyZW07XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19idG4ge1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMjIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTYpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9pY29uLWNhci5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDEpIHJlbSgxMCkgMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Bob25lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDQpIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgIC5idG4taGVhZGVyLWNhdGVnb3JpZXMge1xuICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAmLm1vYmlsZS1tZW51LWNvbnRyb2wge1xuICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICB9XG5cbiAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICB9XG5cbiAgICAgICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICAgICAgICAgJi5tb2JpbGUtbWVudS1jb250cm9sIHtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcbiAgICAgICAgICAgfVxuXG4gICAgICAgICAgICYuY2F0ZWdvcmllc19jb250cm9sIHtcbiAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICAgICB9XG4gICAgICAgfVxuICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAuaGVhZGVyX19idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlbGVjdG9yLWNpdHkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNHJlbTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC40cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMi4ycmVtIDMuMnJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMS40cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xuICAgIC8vZGlzcGxheTogbm9uZTtcblxuICAgICYub3BlbmVkIHtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0ZWQtY2l0eSB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICB9XG4gICAgXG4gICAgLnZhcmlhbnRzIHtcbiAgICAgICAgbWFyZ2luOiAxLjNyZW0gMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCByZ2JhKDgwLCA3NywgOTMsIDAuNCk7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSg4MCwgNzcsIDkzLCAwLjgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTAwLCAzMiwgMC40KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDEwMCwgMzIsIDAuOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYWluLW5hdiB7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpe1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLm9wZW5lZC1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNDApO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgLmNoZXZyb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRicmFuZENvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLnByb21vLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTAuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oMjIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9pY29uLXNhbGVzLWxhYmVsLnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi53aXRoLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAuY2hldnJvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRicmFuZENvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jaGV2cm9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwIHJlbSgzKTtcbiAgICAgICAgd2lkdGg6IHJlbSgxMCk7XG4gICAgICAgIGhlaWdodDogcmVtKDEwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkZGFyaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgLmhlYWRlcl9fcGhvbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIHBhZGRpbmctdG9wOiA0LjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDdyZW07XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMnJlbSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIH1cbn1cbi5zdWJtZW51LXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuODI7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHdpZHRoOiA0NCU7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDQ3JTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuOHJlbSAwO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5zdWJtZW51LXNlY29uZGFyeSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWFyZ2luLWxlZnQ6IDIuNSU7XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAuMXJlbSAwIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9iaWxlLWNhbGwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG59XG5cbi5tb2JpbGUtaGVhZGVyX21lbnUge1xuICAgIHotaW5kZXg6IC0xMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICYub3BlbmVkIHtcbiAgICAgICAgLy9kaXNwbGF5OiBibG9jaztcbiAgICAgICAgei1pbmRleDogMTM7XG4gICAgICAgIG9wYWNpdHk6IDEwO1xuXG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5tb2JpbGUtaGVhZGVyX3RvcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBoZWlnaHQ6IDcuNHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi40cmVtO1xuICAgIH1cblxuICAgIC5hZGRyZXNzZXNfY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAwIDIuNHJlbSAyLjRyZW07XG4gICAgfVxuXG4gICAgLmhlYWRlci1hZGRyZXNzZXNfbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zY2hlZHVsZSB7XG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCRkYXJrLCA0MCUpO1xuICAgIH1cblxuICAgIC5oZWFkZXItbWFpbl9pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICBwYWRkaW5nOiAyLjZyZW0gMi41cmVtIDQuOXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZS1tZW51IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyLjRyZW07XG4gICAgICAgICAgICB0b3A6IDEuNnJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA0LjlyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDQuOXJlbTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX3Bob25lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJtZW51cyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5hdmlnYXRpb25faXRlbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMi4zcmVtIDA7XG5cbiAgICAgICAgJi5vcGVuZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgLmNoZXZyb24ge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hldnJvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIHJlbSgzKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMTApO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkZGFyaztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Ym1lbnUtc2VydmljZXMge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDMuMnJlbSAwO1xuXG4gICAgICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkZGFyaywgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJtZW51LXBvcHVsYXIge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRkYXJrLCAyMCUpO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9tby1sYWJlbHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTAuN3JlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAyLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbi1zYWxlcy1sYWJlbC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4uZm9vdGVyIHtcbiAgICBwYWRkaW5nOiByZW0oODgpIDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDdyZW0gMCA3cmVtO1xuICAgIH1cbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbmZvIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtKDc3KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzcpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2xvZ28tZ3JheS5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmX19uYXYge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX21lbnUtcHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiA0MiU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTMpO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19tZW51LXNlY29uZGFyeSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTMpO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jb250YWN0cyB7XG4gICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Bob25lcyB7XG5cbiAgICB9XG4gICAgJl9fcGhvbmUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMTApIDAgMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgKyAuZm9vdGVyX19waG9uZSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgyNCkgMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NvY2lhbCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgyNCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyNCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArIGEge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbnN0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2ljb24tc29jaWFsLWluc3RhZ3JhbS5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcms7XG5cbiAgICAgICAgLmZvb3Rlcl9fbWVudS1wcmltYXJ5IHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjgpO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9vdGVyX19tZW51LXNlY29uZGFyeSB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC44KTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlcl9fbG9nbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2Zvb3Rlci1sb2dvLWxpZ2h0LnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgIC5jb3B5cmlnaHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgICAubWFkZS1ieSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkd2hpdGUsIDAuMik7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2V0aWthLWxvZ28tbGlnaHQuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlcl9fcGhvbmUge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZm9vdGVyX19zb2NpYWwge1xuICAgICAgICAgICAgYS5pbnN0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL2ljb24tc29jaWFsLWluc3RhZ3JhbS13aGl0ZS5zdmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4uY29weXJpZ2h0IHtcbiAgICBtYXJnaW46IHJlbSgyMCkgMCAwO1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luOiAtIHJlbSgyKSByZW0oMykgMCAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuLm1hZGUtYnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogcmVtKDI1KSAwIDA7XG4gICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBjb2xvcjogcmdiYSgkZGFyaywgMC4yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICB9XG4gICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgICB3aWR0aDogcmVtKDQ0KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMjMpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2V0aWthLWxvZ28uc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogLTEuMnJlbSAwIDAgMC44cmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4uZm9ybS1ibG9jayB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAyLjRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5mb3JtLWJsb2NrLS1zZXJ2aWNlLWhlcm8ge1xuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICB3aWR0aDogMjUuNnJlbTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5mb3JtLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgKyAuZm9ybS1ncm91cCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICB9XG4gICAgJi5kYXRlIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgxNik7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2ljb24tY2FsZW5kYXIuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNDUlO1xuICAgICAgICAgIGxlZnQ6IDEuM3JlbTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4uZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjhyZW0gMS4zcmVtIDAuNnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggcmdiYSgkZGFyaywgMC41KTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHJnYmEoJGRhcmssIDEpO1xuICAgIH1cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAwLjMpO1xuICAgIH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkZGFyaywgMC4zKTtcbiAgICB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgkZGFyaywgMC4zKTtcbiAgICB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiByZ2JhKCRkYXJrLCAwLjMpO1xuICAgIH1cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJGRhcmssIDAuMyk7XG4gICAgfVxufVxuLmZvcm0tc3VibWl0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICBwYWRkaW5nOiAxLjNyZW0gMi41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMi41cmVtO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrLCAwLjc1KTtcbiAgICB9XG5cbiAgICAmLm9yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkYnJhbmRDb2xvciwgNSUpO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG4uYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBwYWRkaW5nOiAxLjNyZW0gMi4zcmVtIDEuMnJlbTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBib3JkZXItcmFkaXVzOiAyLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgIH1cbiAgICAmLmJ0bi1kYXJrIHtcblxuICAgIH1cbn1cblxuLmJ0bi0xIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkYnJhbmRDb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kQ29sb3JIb3ZlcjtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxufVxuLmJ0bi0yIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmVlbiwgMTAlKTtcbiAgICB9XG59XG5cbi5idG4tYm9yZGVyZWQge1xuICAgIGJvcmRlcjogc29saWQgMnB4ICRkYXJrO1xuICAgICYuYnRuLWRhcmsge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRicmFuZENvbG9yXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDAuOXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDAgMC44cmVtO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICRkYXJrO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmJ0bi1maWxsZWQge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbi5idG4tZmlsbGVkLWdyZWVuIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmVlbiwgMTAlKTtcbiAgICB9XG59XG5cbi5idG4td2hhdHNhcHAge1xuICAgIHBhZGRpbmc6IDEuMnJlbSAyLjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMi43cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmljbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRncmVlbiwgMTAlKTtcbiAgICB9XG59XG5cbi5idG4tc2hhcmUge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgIHdpZHRoOiAxNS4zcmVtO1xuICAgIGhlaWdodDogNS43cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uLy4uL2ltZy9jb3Vwb24tYnV0dG9uLnN2ZycpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cblxuLmJ0bi1oZWFkZXItY2F0ZWdvcmllcyB7XG4gICAgd2lkdGg6IDYuNnJlbTtcbiAgICBoZWlnaHQ6IDcuNnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyaztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICB9XG4gICAgLmxpbmVzIHtcbiAgICAgICAgc3Ryb2tlOiAkZGFyaztcblxuICAgICAgICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuXG4gICAgLm9wZW4ge1xuICAgICAgICB3aWR0aDogMi43cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuOXJlbTtcbiAgICB9XG5cbiAgICAuY2xvc2UtbWVudSB7XG4gICAgICAgIHdpZHRoOiA0LjlyZW07XG4gICAgICAgIGhlaWdodDogNC45cmVtO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0bi1jYWxsIHtcbiAgICB3aWR0aDogNi42cmVtO1xuICAgIGhlaWdodDogNy42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDUuNXJlbTtcbiAgICB9XG59XG5cbi5idG4tYWRkcmVzc2VzIHtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgaGVpZ2h0OiAzLjJyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMi44cmVtO1xuICAgIGJvcmRlcjogc29saWQgMC4xNXJlbSAkYnJhbmRDb2xvcjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmljbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjNyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjY1cmVtO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRicmFuZENvbG9ySG92ZXI7XG4gICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckhvdmVyO1xuXG4gICAgICAgIC5pY24ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnJhbmRDb2xvckhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnRuLXByb2ZpbGUtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnJlbSAwIDJyZW07XG4gICAgbWFyZ2luOiA3cmVtIDAgMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgNzcsIDkzLCAwLjAzKTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjNTA0ZDVkO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAuaWNuIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIH1cbiAgICBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMi4xcmVtO1xuICAgICAgICBoZWlnaHQ6IDIuMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9pY29uLWtleS5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xuICAgIH1cbn0iLCIuc2hhcmUtYmxvY2sge1xuICB6LWluZGV4OiAxMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogNXJlbTtcbiAgYm90dG9tOiA1cmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmY5ZDQzLCAjZmY2NDIwKTsgLyogZmFsbGJhY2sgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWcvNS5zdmcnKSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmOWQ0MywgI2ZmNjQyMCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNzAlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDIuOHJlbSAzLjRyZW07XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdpZHRoOiA0NHJlbTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jb3Vwb24tdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmNvdXBvbi1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgfVxuXG4gIC5jb3Vwb24tZm9ybSB7XG4gICAgcGFkZGluZy10b3A6IDIuNnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcblxuICAgIGlucHV0IHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW07XG4gICAgICBib3JkZXI6IHNvbGlkIDAuMXJlbSAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgLy9oZWlnaHQ6IDMuMnJlbTtcbiAgICAgIHBhZGRpbmc6IDAuNnJlbSAwLjhyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNHJlbTtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICAgICAgb3BhY2l0eTogMTsgLyogRmlyZWZveCAqL1xuICAgICAgfVxuXG4gICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIEludGVybmV0IEV4cGxvcmVyIDEwLTExICovXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICB9XG5cbiAgICAgICY6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIE1pY3Jvc29mdCBFZGdlICovXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAuaGVscC1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXgtd2lkdGg6IDI4LjVyZW07XG4gIH1cbn0iLCIudGl0bGUtcGFnZSB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkZGFyaztcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMnJlbTtcbiAgfVxufSIsIi5pY24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgJi5pY24tbG9jYXRpb24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvbG9jYWwtaWNvbi5zdmcnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG5cbiAgICAmLmJyYW5kLWNvbG9yIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1nL2xvY2FsLWljb24tb3JhbmdlLnN2ZycpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAmLmljbi1hcnJvdy1vcGVuIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIGJvcmRlci1yaWdodDogMC4xNXJlbSBzb2xpZCAkZGFyaztcbiAgICBib3JkZXItYm90dG9tOiAwLjE1cmVtIHNvbGlkICRkYXJrO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIG1hcmdpbi10b3A6IDAuM3JlbTtcblxuICAgICYub3BlbmVkIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyg1MCUgKyAwLjNyZW0pO1xuXG4gICAgfVxuICB9XG5cbiAgJi5pY24tc2VydmljZSB7XG4gICAgd2lkdGg6IDEuOHJlbTtcbiAgICBoZWlnaHQ6IDEuOHJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIxOVwiIHZpZXdCb3g9XCIwIDAgMjAgMTlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPVwiI0ZGNjQyMFwiIGZpbGwtcnVsZT1cIm5vbnplcm9cIiBkPVwiTTMuMTM5IDQuNjY4YS42NDguNjQ4IDAgMCAwIC4xNzUtLjU5NWwtLjE0LS42NDUgMi4wMS0yLjAxYTQuNDkgNC40OSAwIDAgMSA2LjMzNiAwYy4wNC4wNC4wNDYuMTA0LjAxMi4xNWwtLjY3OC45MDRhLjExNS4xMTUgMCAwIDEtLjE0NC4wMzMgMi4wMDcgMi4wMDcgMCAwIDAtMi43NSAyLjU2My4yMjMuMjIzIDAgMCAxLS4wNTQuMjRMNi40OCA2LjczN2wtLjY0LS4xMzdhLjY2Mi42NjIgMCAwIDAtLjc4NS43ODVsLjEzNy42NC0uNzgxLjc4MWEuNTI3LjUyNyAwIDAgMS0uNzQ0IDBMMS4wOTUgNi4yNWEuNTI3LjUyNyAwIDAgMSAwLS43NDRsLjc4LS43ODEuNjM5LjEzNmEuNjY0LjY2NCAwIDAgMCAuNjExLS4xODFsLjAxNC0uMDEyem00LjAyIDIuNTk3bDEuMTQ2IDEuMjZMOS45MTkgNi45MSA4LjY1NiA1Ljc3IDcuMTYgNy4yNjV6bTQuNTU4IDUuMDQ1bDMuNDg1IDMuODZhMS42NjUgMS42NjUgMCAxIDAgMi4zNDMtMi4zNDNsLTMuODUtMy40OTUtMS45NzggMS45Nzh6bS01LjI3MSAzLjk4NmExLjAxMyAxLjAxMyAwIDAgMCAwLTEuNDMzbC0uODc3LS44NzJhMS4wMTMgMS4wMTMgMCAwIDAtMS40MzMgMGwtMS4xNTIgMS4xNTJhLjM5LjM5IDAgMCAxLS42NS0uMjI3IDMuNTM4IDMuNTM4IDAgMCAxIDMuNzk1LTMuODc1IDIuMTEgMi4xMSAwIDAgMCAxLjY1OC0uNjA3bDMuNDk1LTMuNS41My0uNTI4Yy4zOTQtLjM5Ni42MTUtLjkzMy42MTQtMS40OTJ2LS4xNjZjMC0uMDkyLS4wMS0uMTgzLS4wMS0uMjczQTMuNTM4IDMuNTM4IDAgMCAxIDE2LjMwMi45NmEuMzkuMzkgMCAwIDEgLjIyNi42NWwtMS4xNTIgMS4xNTJhMS4wMTMgMS4wMTMgMCAwIDAgMCAxLjQzM2wuODc1Ljg3NGExLjAxMyAxLjAxMyAwIDAgMCAxLjQzMyAwbDEuMTUyLTEuMTUyYS4zOS4zOSAwIDAgMSAuNjUuMjI3IDMuNTM4IDMuNTM4IDAgMCAxLTMuODAxIDMuODcgMi4xMSAyLjExIDAgMCAwLTEuNjYuNjA3bC0uMTc0LjE3M0wxMCAxMi42NDdhMi4xMDcgMi4xMDcgMCAwIDAtLjYxNSAxLjQ5MnYuMTY2YzAgLjA5Mi4wMS4xODQuMDEuMjczYTMuNTM4IDMuNTM4IDAgMCAxLTMuODg1IDMuNTE1LjM5LjM5IDAgMCAxLS4yMjctLjY1bDEuMTY0LTEuMTQ3em0xLTMuNzcyYS40NTUuNDU1IDAgMCAwIC43OC4zMjNsNC42MDYtNC42MTIgMS4zOTQtMS4zOTRhLjQ1NS40NTUgMCAxIDAtLjY0Mi0uNjQybC0xLjAzOSAxLjAzOC00Ljk2NyA0Ljk2NWEuNDUzLjQ1MyAwIDAgMC0uMTMyLjMyMnpcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4nKTtcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjE5XCIgdmlld0JveD1cIjAgMCAyMCAxOVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjNTA0ZDVkXCIgZmlsbC1ydWxlPVwibm9uemVyb1wiIGQ9XCJNMy4xMzkgNC42NjhhLjY0OC42NDggMCAwIDAgLjE3NS0uNTk1bC0uMTQtLjY0NSAyLjAxLTIuMDFhNC40OSA0LjQ5IDAgMCAxIDYuMzM2IDBjLjA0LjA0LjA0Ni4xMDQuMDEyLjE1bC0uNjc4LjkwNGEuMTE1LjExNSAwIDAgMS0uMTQ0LjAzMyAyLjAwNyAyLjAwNyAwIDAgMC0yLjc1IDIuNTYzLjIyMy4yMjMgMCAwIDEtLjA1NC4yNEw2LjQ4IDYuNzM3bC0uNjQtLjEzN2EuNjYyLjY2MiAwIDAgMC0uNzg1Ljc4NWwuMTM3LjY0LS43ODEuNzgxYS41MjcuNTI3IDAgMCAxLS43NDQgMEwxLjA5NSA2LjI1YS41MjcuNTI3IDAgMCAxIDAtLjc0NGwuNzgtLjc4MS42MzkuMTM2YS42NjQuNjY0IDAgMCAwIC42MTEtLjE4MWwuMDE0LS4wMTJ6bTQuMDIgMi41OTdsMS4xNDYgMS4yNkw5LjkxOSA2LjkxIDguNjU2IDUuNzcgNy4xNiA3LjI2NXptNC41NTggNS4wNDVsMy40ODUgMy44NmExLjY2NSAxLjY2NSAwIDEgMCAyLjM0My0yLjM0M2wtMy44NS0zLjQ5NS0xLjk3OCAxLjk3OHptLTUuMjcxIDMuOTg2YTEuMDEzIDEuMDEzIDAgMCAwIDAtMS40MzNsLS44NzctLjg3MmExLjAxMyAxLjAxMyAwIDAgMC0xLjQzMyAwbC0xLjE1MiAxLjE1MmEuMzkuMzkgMCAwIDEtLjY1LS4yMjcgMy41MzggMy41MzggMCAwIDEgMy43OTUtMy44NzUgMi4xMSAyLjExIDAgMCAwIDEuNjU4LS42MDdsMy40OTUtMy41LjUzLS41MjhjLjM5NC0uMzk2LjYxNS0uOTMzLjYxNC0xLjQ5MnYtLjE2NmMwLS4wOTItLjAxLS4xODMtLjAxLS4yNzNBMy41MzggMy41MzggMCAwIDEgMTYuMzAyLjk2YS4zOS4zOSAwIDAgMSAuMjI2LjY1bC0xLjE1MiAxLjE1MmExLjAxMyAxLjAxMyAwIDAgMCAwIDEuNDMzbC44NzUuODc0YTEuMDEzIDEuMDEzIDAgMCAwIDEuNDMzIDBsMS4xNTItMS4xNTJhLjM5LjM5IDAgMCAxIC42NS4yMjcgMy41MzggMy41MzggMCAwIDEtMy44MDEgMy44NyAyLjExIDIuMTEgMCAwIDAtMS42Ni42MDdsLS4xNzQuMTczTDEwIDEyLjY0N2EyLjEwNyAyLjEwNyAwIDAgMC0uNjE1IDEuNDkydi4xNjZjMCAuMDkyLjAxLjE4NC4wMS4yNzNhMy41MzggMy41MzggMCAwIDEtMy44ODUgMy41MTUuMzkuMzkgMCAwIDEtLjIyNy0uNjVsMS4xNjQtMS4xNDd6bTEtMy43NzJhLjQ1NS40NTUgMCAwIDAgLjc4LjMyM2w0LjYwNi00LjYxMiAxLjM5NC0xLjM5NGEuNDU1LjQ1NSAwIDEgMC0uNjQyLS42NDJsLTEuMDM5IDEuMDM4LTQuOTY3IDQuOTY1YS40NTMuNDUzIDAgMCAwLS4xMzIuMzIyelwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPicpO1xuICAgIH1cbiAgfVxuXG4gICYuaWNuLXdhc2gge1xuICAgIHdpZHRoOiAyLjNyZW07XG4gICAgaGVpZ2h0OiAxLjZyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmLTgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjE3XCIgdmlld0JveD1cIjAgMCAyMyAxN1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cIiNGRjY0MjBcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCIgZD1cIk00Ljk2OCAzLjgzNEgxOC4wMmEuODI4LjgyOCAwIDAgMCAwLTEuNjU1aC00LjAwM0MxMy42OTIuOTg1IDEyLjY5LjExIDExLjQ5NC4xMWMtMS4xOTYgMC0yLjIuODc2LTIuNTI0IDIuMDdINC45NjhhLjgyNy44MjcgMCAxIDAgMCAxLjY1NXptNS42OTggMS45Nzh2OS40N2EuODI3LjgyNyAwIDEgMCAxLjY1NSAwdi05LjQ3YS44MjcuODI3IDAgMSAwLTEuNjU1IDB6TTQuMzEgNS4wMmEuODI1LjgyNSAwIDAgMC0xLjAzLjU1NEwuMDM0IDE0Ljk3YS44MjguODI4IDAgMCAwIDEuNTg1LjQ3Nkw0Ljg2NCA2LjA1YS44MjcuODI3IDAgMCAwLS41NTQtMS4wM3ptMi42NTguNjUyTDUuMzM0IDE1LjE0YS44MjcuODI3IDAgMSAwIDEuNjMuMjgxbDEuNjM0LTkuNDdhLjgyNy44MjcgMCAxIDAtMS42My0uMjh6bTE1LjkzNCA5LjMzNGwtMy4xOTQtOS40MzJhLjgyNy44MjcgMCAxIDAtMS41ODUuNDc2bDMuMTk0IDkuNDMyYS44MjguODI4IDAgMCAwIDEuNTg1LS40NzZ6TTE1LjA2NCA0Ljk5N2EuODI3LjgyNyAwIDAgMC0uNjc1Ljk1NmwxLjYzNCA5LjQ3YS44MjguODI4IDAgMSAwIDEuNjMtLjI4MkwxNi4wMiA1LjY3MmEuODI4LjgyOCAwIDAgMC0uOTU2LS42NzV6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4nKTtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmLTgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjE3XCIgdmlld0JveD1cIjAgMCAyMyAxN1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cIiM1MDRkNWRcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCIgZD1cIk00Ljk2OCAzLjgzNEgxOC4wMmEuODI4LjgyOCAwIDAgMCAwLTEuNjU1aC00LjAwM0MxMy42OTIuOTg1IDEyLjY5LjExIDExLjQ5NC4xMWMtMS4xOTYgMC0yLjIuODc2LTIuNTI0IDIuMDdINC45NjhhLjgyNy44MjcgMCAxIDAgMCAxLjY1NXptNS42OTggMS45Nzh2OS40N2EuODI3LjgyNyAwIDEgMCAxLjY1NSAwdi05LjQ3YS44MjcuODI3IDAgMSAwLTEuNjU1IDB6TTQuMzEgNS4wMmEuODI1LjgyNSAwIDAgMC0xLjAzLjU1NEwuMDM0IDE0Ljk3YS44MjguODI4IDAgMCAwIDEuNTg1LjQ3Nkw0Ljg2NCA2LjA1YS44MjcuODI3IDAgMCAwLS41NTQtMS4wM3ptMi42NTguNjUyTDUuMzM0IDE1LjE0YS44MjcuODI3IDAgMSAwIDEuNjMuMjgxbDEuNjM0LTkuNDdhLjgyNy44MjcgMCAxIDAtMS42My0uMjh6bTE1LjkzNCA5LjMzNGwtMy4xOTQtOS40MzJhLjgyNy44MjcgMCAxIDAtMS41ODUuNDc2bDMuMTk0IDkuNDMyYS44MjguODI4IDAgMCAwIDEuNTg1LS40NzZ6TTE1LjA2NCA0Ljk5N2EuODI3LjgyNyAwIDAgMC0uNjc1Ljk1NmwxLjYzNCA5LjQ3YS44MjguODI4IDAgMSAwIDEuNjMtLjI4MkwxNi4wMiA1LjY3MmEuODI4LjgyOCAwIDAgMC0uOTU2LS42NzV6XCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4nKTtcbiAgICB9XG4gIH1cblxuICAmLmljbi1zaG9wIHtcbiAgICB3aWR0aDogMi4xcmVtO1xuICAgIGhlaWdodDogMS44cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0Zi04LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIxOVwiIHZpZXdCb3g9XCIwIDAgMjEgMTlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGw9XCIjRkY2NDIwXCIgZmlsbC1ydWxlPVwibm9uemVyb1wiIGQ9XCJNOC4xMjkgMTEuMzM2aDQuNjQ1djYuNzc0SDguMTN2LTYuNzc0ek0xOC44NzYuNDAybDEuNzM5IDIuOTVILjM1M0wyLjQzMy4zNjVBLjU4Ny41ODcgMCAwIDEgMi45MDkuMTFoMTUuNDY3YS41OS41OSAwIDAgMSAuNS4yOTJ6TTAgNS43NTdWNC4xMjZoMjAuOTAzdjEuNjNhLjU5MS41OTEgMCAwIDEtLjU3Ny41OTZILjU3OEEuNTkxLjU5MSAwIDAgMSAwIDUuNzU3ek0xLjU5NyAxOC4xMVY3LjEyNmgxNy43MVYxOC4xMWgtNS43NTl2LTcuMTU3YS40MDYuNDA2IDAgMCAwLS40MDQtLjM5Mkg3LjczMmEuMzgzLjM4MyAwIDAgMC0uMzc3LjM5MnY3LjE1N0gxLjU5N3ptMTMuNzktNi41OGgyLjI3NHYyLjA4aC0yLjI3NHYtMi4wOHptLS43NzQtLjM4OHYyLjg1NWMwIC4yMTQuMTczLjM4Ny4zODcuMzg3aDMuMDQ4YS4zODcuMzg3IDAgMCAwIC4zODctLjM4N3YtMi44NTVhLjM4Ny4zODcgMCAwIDAtLjM4Ny0uMzg3SDE1YS4zODcuMzg3IDAgMCAwLS4zODcuMzg3em0tMTEuNDIuMzg3aDIuMjc1djIuMDhIMy4xOTR2LTIuMDh6bS0uNzc0LS4zODd2Mi44NTVjMCAuMjE0LjE3NC4zODcuMzg3LjM4N2gzLjA0OWEuMzg3LjM4NyAwIDAgMCAuMzg3LS4zODd2LTIuODU1YS4zODcuMzg3IDAgMCAwLS4zODctLjM4N0gyLjgwNmEuMzg3LjM4NyAwIDAgMC0uMzg3LjM4N3pcIi8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPicpO1xuICAgICYuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmLTgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjE5XCIgdmlld0JveD1cIjAgMCAyMSAxOVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbD1cIiM1MDRkNWRcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCIgZD1cIk04LjEyOSAxMS4zMzZoNC42NDV2Ni43NzRIOC4xM3YtNi43NzR6TTE4Ljg3Ni40MDJsMS43MzkgMi45NUguMzUzTDIuNDMzLjM2NUEuNTg3LjU4NyAwIDAgMSAyLjkwOS4xMWgxNS40NjdhLjU5LjU5IDAgMCAxIC41LjI5MnpNMCA1Ljc1N1Y0LjEyNmgyMC45MDN2MS42M2EuNTkxLjU5MSAwIDAgMS0uNTc3LjU5NkguNTc4QS41OTEuNTkxIDAgMCAxIDAgNS43NTd6TTEuNTk3IDE4LjExVjcuMTI2aDE3LjcxVjE4LjExaC01Ljc1OXYtNy4xNTdhLjQwNi40MDYgMCAwIDAtLjQwNC0uMzkySDcuNzMyYS4zODMuMzgzIDAgMCAwLS4zNzcuMzkydjcuMTU3SDEuNTk3em0xMy43OS02LjU4aDIuMjc0djIuMDhoLTIuMjc0di0yLjA4em0tLjc3NC0uMzg4djIuODU1YzAgLjIxNC4xNzMuMzg3LjM4Ny4zODdoMy4wNDhhLjM4Ny4zODcgMCAwIDAgLjM4Ny0uMzg3di0yLjg1NWEuMzg3LjM4NyAwIDAgMC0uMzg3LS4zODdIMTVhLjM4Ny4zODcgMCAwIDAtLjM4Ny4zODd6bS0xMS40Mi4zODdoMi4yNzV2Mi4wOEgzLjE5NHYtMi4wOHptLS43NzQtLjM4N3YyLjg1NWMwIC4yMTQuMTc0LjM4Ny4zODcuMzg3aDMuMDQ5YS4zODcuMzg3IDAgMCAwIC4zODctLjM4N3YtMi44NTVhLjM4Ny4zODcgMCAwIDAtLjM4Ny0uMzg3SDIuODA2YS4zODcuMzg3IDAgMCAwLS4zODcuMzg3elwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+Jyk7XG4gICAgfVxuICB9XG5cbiAgJi5pY24tbWFpbCB7XG4gICAgd2lkdGg6IDEuOHJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltZy9tYWlsLWljb24uc3ZnJykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICB9XG5cbiAgJi5pY24td2hhdHNhcHAge1xuICAgIHdpZHRoOiAyLjJyZW07XG4gICAgaGVpZ2h0OiAyLjNyZW07XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvd2hhdHNhcHAtaWNvbi5zdmcnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gIH1cblxuICAmLmljbi1tb2JpbGVfYWRkcmVzc2VzIHtcbiAgICB3aWR0aDogMC42cmVtO1xuICAgIGhlaWdodDogMC42cmVtO1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMC4xNXJlbSAkYnJhbmRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAwLjE1cmVtICRicmFuZENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuXG4gICYuaWNuLWtleSB7XG4gICAgd2lkdGg6IDIuMXJlbTtcbiAgICBoZWlnaHQ6IDIuMXJlbTtcbiAgfVxufVxuIiwiLmVkaXRvcnMtc3R5bGVzIHtcbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMi40cmVtO1xuICAgIHdpZHRoOiA1My4zJTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLXRvcDogNC44cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIHVsLFxuICBvbCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcblxuICAgIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luLXRvcDogMi40NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuOHJlbTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cbiAgICAgIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQzZGVnLCAjNjk1OGJkLCAjZmY2NDIwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBsZWZ0OiAtNHJlbTtcbiAgICAgICAgdG9wOiAwLjZyZW07XG5cbiAgICAgICAgQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgICAgICAgbGVmdDogLTIuOHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cbi5mZWF0dXJlZC1iZW5lZml0cyB7XG4gICAgbWFyZ2luOiA4cmVtIDAgMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICBoZWlnaHQ6IDM1LjZyZW07XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICArIC5mZWF0dXJlZC1iZW5lZml0cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNHJlbTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMjAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI0MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAmLmZ1bGwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIC5mZWF0dXJlZC1iZW5lZml0cy1pbm5lciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSwgMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jZW50ZXIge1xuICAgICAgICAgICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmLnJpZ2h0IHtcbiAgICAgICAgICAgIC5mZWF0dXJlZC1iZW5lZml0cy1pbm5lciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgfVxufVxuLmZlYXR1cmVkLWJlbmVmaXRzLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHRyYW5zbGF0ZSgtNTUuNSUsIDApO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGUoLTYzJSwgMCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZGVzY3JpcFNob3cge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQGtleWZyYW1lcyBkZXNjcmlwSGlkZSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5mZWF0dXJlZC1iZW5lZml0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzNS42cmVtO1xuICAgIG1pbi13aWR0aDogMzUuNnJlbTtcbiAgICBtYXJnaW46IDAgMy4ycmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICB3aWR0aDogMzJyZW07XG4gICAgICAgIG1pbi13aWR0aDogMzJyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICB3aWR0aDogMjhyZW07XG4gICAgICAgIG1pbi13aWR0aDogMjhyZW07XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MXB4KSB7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuZmVhdHVyZWQtYmVuZWZpdF9faW1hZ2Uge1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuZmVhdHVyZWQtYmVuZWZpdF9faW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjgwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5mZWF0dXJlZC1iZW5lZml0X19pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5NnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdG9wOiAxNC4zJTtcbiAgICAgICAgcmlnaHQ6IDEwLjQlO1xuICAgICAgICBsZWZ0OiAxMC40JTtcbiAgICAgICAgYm90dG9tOiA2LjclO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0OHB4IDAgcmdiYSg4MCwgNzcsIDkzLCAwLjUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMjhyZW07XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjNyZW07XG4gICAgICAgICAgICB0b3A6IDVyZW07XG4gICAgICAgICAgICB3aWR0aDogMjZyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcmVtO1xuICAgICAgICAgICAgd2lkdGg6IDIycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzUuNnJlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI3cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMi43cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogMTUuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNzBkZWcsICM2OTU4YmQsICNmZjY0MjApO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDIuN3JlbTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgbGVmdDogNDUlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogNjAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogODAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5tb2JpbGUtd2lkZSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ0O1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIHdpZHRoOiA0MnJlbTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLy90cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZGVzY3JpcEhpZGUgMC4ycyBmb3J3YXJkcyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgICYubW9iaWxlLW9ubHkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMuMnJlbSAzLjRyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAmLm1vYmlsZS1vbmx5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NjFweCkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDYwcHggMCByZ2JhKDgwLCA3NywgOTMsIDAuOSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MS4ycmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MS4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEuMnJlbTtcbiAgICAgICAgfVxuICAgICAgICAuZmVhdHVyZWQtYmVuZWZpdF9fdGV4dCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYxcHgpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNiU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZlYXR1cmVkLWJlbmVmaXRfX3RpdGxlIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NjFweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTlyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZlYXR1cmVkLWJlbmVmaXRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NjFweCkge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogZGVzY3JpcFNob3cgMC4zcyBmb3J3YXJkcyBlYXNlIDAuM3M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cblxuXG4uc2VjdGlvbi1zZXJ2aWNlcy1zbGlkZXIge1xuICAgIG1hcmdpbjogcmVtKDYwKSAwIDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgfVxufVxuLnNlcnZpY2VzLXNsaWRlciB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgyMCk7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA2MHJlbSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgd2lkdGg6IDVyZW07XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvaWNvbi1zbGlkZXItYXJyb3cuc3ZnKSBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI0MHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2LjZyZW07XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMi40cmVtO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDQzcmVtKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTI0MHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiAxOHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbSg4KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnNlcnZpY2VzLXNsaWRlIHtcbiAgICAvL21hcmdpbjogcmVtKDU2KSAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctdG9wOiA4cmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDhyZW07XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgd2lkdGg6IDEyMDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19sZWZ0IHtcbiAgICAgICAgd2lkdGg6IDQxJTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwODBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19yaWdodCB7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2JlbmVmaXRzIHtcbiAgICAgICAgbWFyZ2luOiByZW0oMzIpIDAgMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgICsgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2JlbmVmaXQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgxMjUpO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjdyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19idG4ge1xuICAgICAgICBtYXJnaW46IHJlbSg0NikgMCAwO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDcpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTMpO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oNCkgMCAwIHJlbSgxMCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1nL2ljb24tY2hldnJvbi1yaWdodC5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgICAmLm1vYmlsZS1vbmx5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuICAgICAgICAgICAgJi5tb2JpbGUtb25seSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAtIHJlbSg3MCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICAgICAgICAgIHdpZHRoOiAxMTUlO1xuICAgICAgICB9XG4gICAgfVxufVxuLnNlY3Rpb24tc2VydmljZXMtd3JhcCB7XG4gICAgbWFyZ2luOiByZW0oNjApIDAgcmVtKDE1KTtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwIDEuNXJlbTtcbiAgICB9XG59XG4uc2VydmljZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5zZXJ2aWNlLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiByZW0oMjQwKTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxMnB4KTtcbiAgICBtYXJnaW46IHJlbSgyNSkgMCAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIHJlbSg4MCk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEyMHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICAgICAgICBoZWlnaHQ6IDE2cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NDBweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAzLjVyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNHJlbTtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgyNjApO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIxO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTdyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTVyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogcmVtKDExOCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiByZW0oOTApO1xuICAgICAgICBoZWlnaHQ6IHJlbSg5MCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgICAgICAgICAgIHJpZ2h0OiA5cmVtO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA3cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAgICAgICAgICAgcmlnaHQ6IDZyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgICByaWdodDogNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNDhweCAwIHJnYmEoODAsIDc3LCA5MywgMC41KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRvcDogcmVtKDM2KTtcbiAgICAgICAgcmlnaHQ6IHJlbSgzNik7XG4gICAgICAgIGxlZnQ6IHJlbSgzNik7XG4gICAgICAgIGJvdHRvbTogcmVtKDI0KTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAgIC5zZXJ2aWNlLWl0ZW1fX3RpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0oMzApO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMzApO1xuICAgICAgICAgICAgICAgIGxlZnQ6IHJlbSgzMCk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiByZW0oMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG5cbi5zZXJ2aWNlLWhlcm8ge1xuICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgaGVpZ2h0OiA0NC44cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbn1cbi5zZXJ2aWNlLWhlcm8tZm9ybSB7XG4gICAgd2lkdGg6IDQxJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygoMTAwdncgLSAxMjE2cHgpLzIpO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTI0MHB4KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi40cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBwYWRkaW5nLXRvcDogNC40cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjRyZW07XG4gICAgICAgIHBhZGRpbmc6IDRyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBwYWRkaW5nOiAyLjRyZW07XG4gICAgfVxufVxuLnNlcnZpY2UtaGVyby1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiA1OSU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTQwcHgpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwJTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA5MCU7XG4gICAgfVxufVxuLnNlcnZpY2UtcHJvbW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzIGVhc2U7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS4ycmVtIDAgMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIH1cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICBtYXJnaW46IDAgMS41cmVtIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNnJlbSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDcuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvaWNvbi1kZWNvci1wZXJjZW50LnN2ZykgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDIuNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMi41cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnJlbSBzb2xpZCAkZ3JlZW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjhyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkZ3JlZW4sIDUlKTtcbiAgICAgICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycmVtIHNvbGlkIGRhcmtlbigkZ3JlZW4sIDUlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi52aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZ3JlZW4sIDAuOTYpO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMCAxMnJlbSAwIDEycmVtO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMi40cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NhdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDM1LjVyZW07XG4gICAgICAgIG1hcmdpbjogMi40cmVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC44cmVtIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAzcmVtIDAgMDtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC44cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19tb3JlIHtcbiAgICAgICAgbWFyZ2luOiAzLjZyZW0gMCAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvaWNvbi1jaGV2cm9uLXJpZ2h0LnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdG9wOiA0LjVyZW07XG4gICAgICAgIHJpZ2h0OiA0LjRyZW07XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9pY29uLXByb21vLWNsb3NlLnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICAgICAgcmlnaHQ6IDEuOHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5zZXJ2aWNlLXRhYmxlLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDhyZW0gMCA4LjhyZW07XG4gICAgJi5uby1zd2l0Y2hlcnMge1xuICAgICAgICAuc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZzogNC44cmVtIDAgMDtcbiAgICB9XG59XG4uc2VydmljZXMtdGFibGUtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbn1cbi5zZXJ2aWNlLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDAgMCA4cmVtO1xuICAgIHBhZGRpbmc6IDAgNC44cmVtIDAgMjRyZW07XG4gICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgKyBwIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCA0cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtO1xuICAgIH1cbn1cbi5zZXJ2aWNlcy10YWJsZS1zd2l0Y2hlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC00LjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA3LjZyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbn1cbi5zZXJ2aWNlcy10YWJsZS1zd2l0Y2hlci1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHdpZHRoOiAxNnJlbTtcbiAgICBoZWlnaHQ6IDguOHJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgd2lkdGg6IDExcmVtO1xuICAgICAgICBoZWlnaHQ6IDZyZW07XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IDMuMnJlbTtcbiAgICAgICAgcmlnaHQ6IDIuOHJlbTtcbiAgICAgICAgbGVmdDogMi44cmVtO1xuICAgICAgICBib3R0b206IDEuNnJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNDBweCAwIHJnYmEoODAsIDc3LCA5MywgMC41KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICB9XG4gICAgKyAuc2VydmljZXMtdGFibGUtc3dpdGNoZXItaXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGcge1xuICAgICAgICAgICAgICAgIGZpbGw6dXJsKCNvcmFuZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHdpZHRoOiA5LjdyZW07XG4gICAgICAgIGhlaWdodDogNHJlbTtcbiAgICAgICAgZyB7XG4gICAgICAgICAgICBmaWxsOnVybCgjZGFyayk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA4LjZyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDMuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5zZXJ2aWNlcy10YWJsZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogLTMuMnJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQuOHJlbSk7XG4gICAgICAgIG1hcmdpbjogMCAtMi40cmVtIDAgLTIuNHJlbTtcbiAgICB9XG59XG4kdGFibGVUZXh0Q29sb3I6ICMzYTM3NDY7XG4uc2VydmljZXMtdGFibGV7XG4gICAgY29sb3I6ICR0YWJsZVRleHRDb2xvcjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICZfX2hlYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAxLjZyZW0gMi40cmVtIDQuOHJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjZyZW0gMi40cmVtIDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnRoIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxOCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3JTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE3JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2JvZHkge1xuXG4gICAgfVxuICAgICZfX2JvZHktaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMy4ycmVtIDEuNnJlbSAzLjJyZW0gNC44cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGRhcmssIDAuMDIpO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNHJlbSAxLjZyZW0gMi40cmVtIDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgICArIC5zZXJ2aWNlcy10YWJsZV9fYm9keS1pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudHIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS42cmVtO1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5uYW1lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnR5cGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNTdiZjUyO1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucHJpY2Uge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfQptC10L3QsCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi50aW1lIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAn0JLRgNC10LzRjyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMC44cmVtIDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb21tZW50IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgkdGFibGVUZXh0Q29sb3IsIDAuNSk7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSk6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfQmtC+0LzQvNC10L3RgtCw0YDQuNC5JztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMnB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYmxlVGV4dENvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxOCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3JTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDE3JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG4uc2VydmljZS1nYWxsZXJ5IHtcbiAgICBwYWRkaW5nOiA1LjZyZW0gMCA4cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICM0NTQyNTIsICMyMDFlMjcpO1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBwYWRkaW5nOiA0LjhyZW0gMCA3cmVtO1xuICAgIH1cbn1cbi5zZXJ2aWNlLWdhbGxlcnktc2xpZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogLTMuMnJlbTtcbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjRyZW07XG4gICAgfVxufVxuLnNlY3Rpb24tc2xpZGVyLWFycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICByaWdodDogMi40cmVtO1xuICAgIH1cbn1cbi5zZWN0aW9uLXNsaWRlci1hcnJvdyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGcge1xuICAgICAgICAgICAgc3Ryb2tlOiAjNzA2QzgyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlIDAuMjVzIGVhc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5wcmV2IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gICAgJi5uZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuNnJlbTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZyB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnNlcnZpY2UtZ2FsbGVyeS1zbGlkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0Ny43cmVtO1xuICAgIG1hcmdpbjogMCAzLjJyZW07XG4gICAgLy9tYXgtd2lkdGg6IDQ3LjdyZW07XG4gICAgaGVpZ2h0OiAyNy40cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IDNyZW07XG4gICAgICAgIHJpZ2h0OiAyLjRyZW07XG4gICAgICAgIGxlZnQ6IDIuNHJlbTtcbiAgICAgICAgYm90dG9tOiAxLjZyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDY0cHggMCAjMDQwMTBmO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0LjhyZW0pO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgICAgIG1hcmdpbjogMCAyLjRyZW07XG4gICAgfVxufVxuXG5cbi5zZWN0aW9uLXJlbGF0ZWQtc2VydmljZXMge1xuICAgIHBhZGRpbmc6IDUuNnJlbSAwIDhyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGRhcmssICMyMDFlMjcpO1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5zZWN0aW9uLXNsaWRlci1hcnJvd3Mge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDQuOHJlbSAwO1xuICAgIH1cblxufVxuLnJlbGF0ZWQtc2xpZGVyIHtcbiAgICAvL21hcmdpbi1sZWZ0OiAtMy4ycmVtO1xuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxufVxuLnJlbGF0ZWQtc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNDcuN3JlbTtcbiAgICBtYXJnaW46IDAgMy4ycmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICArIC5yZWxhdGVkLXNsaWRlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAycmVtIDRyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrO1xuICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtIDIuNHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMS42cmVtIDJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyNy40cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB0b3A6IDNyZW07XG4gICAgICAgIHJpZ2h0OiAyLjRyZW07XG4gICAgICAgIGxlZnQ6IDIuNHJlbTtcbiAgICAgICAgYm90dG9tOiAxLjZyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDY0cHggMCAjMDQwMTBmO1xuICAgIH1cbn1cblxuXG4uc2VjdGlvbi1hcnRpY2xlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgcGFkZGluZzogNC44cmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgLmFydGljbGUtaXRlbSB7XG4gICAgICAgICAgICAmX19sZWZ0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cblxuLmFib3V0LWJlbmVmaXRzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgLmZlYXR1cmVkLWJlbmVmaXRzIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWJvdXQtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiA1LjhyZW07XG4gICAgICAgIGhlaWdodDogNS44cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2U7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjhyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9pY29uLWNoZXZyb24tcmlnaHQtb3JhbmdlLnN2ZykgY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDYwcmVtKTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDYwcmVtKTtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgICAgICAgICAgICByaWdodDogMi40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgfVxufVxuLmFib3V0LXNsaWRlIHtcbiAgICBoZWlnaHQ6IDU2cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICBoZWlnaHQ6IDQ2cmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODQwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiAzNnJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGhlaWdodDogMzJyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBoZWlnaHQ6IDI4LjZyZW07XG4gICAgfVxufVxuXG5cbi5zZWN0aW9uLXBlcnNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDguN3JlbSAwIDA7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltZy9wZXJzb24tYmcuanBnKSBjZW50ZXIvY292ZXIgbm8tcmVwZWF0O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICBwYWRkaW5nOiA1LjZyZW0gMCAwO1xuICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jNDU0MjUyKzAsMjAxZTI3KzEwMCAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDU0MjUyOyAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNDU0MjUyIDAlLCAjMjAxZTI3IDEwMCUpOyAvKiBGRjMuNi0xNSAqL1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICM0NTQyNTIgMCUsIzIwMWUyNyAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzQ1NDI1MiAwJSwjMjAxZTI3IDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM0NTQyNTInLCBlbmRDb2xvcnN0cj0nIzIwMWUyNycsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi9cbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE5OGRlZywgIzQ1NDI1MiwgIzIwMWUyNyk7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIC5xdW90ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJ8KrICAnO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyAgwrsnO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnF1b3RlLWF1dGhvciB7XG4gICAgICAgIG1hcmdpbjogNHJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjZyZW0gMCAwO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucXVvdGUtYXV0aG9yLWltYWdlLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMy4ycmVtO1xuICAgICAgICB3aWR0aDogOC4xcmVtO1xuICAgICAgICBoZWlnaHQ6IDguMXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA0ZDVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1nL3BlcnNvbi5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUuNnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjZyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnF1b3RlLWNvbnRhY3RzIHtcbiAgICAgICAgbWFyZ2luOiA2cmVtIDAgMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDEuMnJlbSAycmVtO1xuICAgICAgICB3aWR0aDogMzFyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZGFyaywgMC41KTtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgICBjb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2OXB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDIuOHJlbSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDIuOHJlbSBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS4ycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnNlY3Rpb24tcGVyc29uLW1haW4ge1xuICAgIG1heC13aWR0aDogNjhyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDguNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgfVxufVxuLnNlY3Rpb24tcGVyc29uLW1hbiB7XG4gICAgd2lkdGg6IDQycmVtO1xuICAgIGhlaWdodDogNTByZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICBoZWlnaHQ6IDQycmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4uc2VjdGlvbi10ZWFtIHtcbiAgICBwYWRkaW5nOiA4cmVtIDA7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICBwYWRkaW5nOiA1LjZyZW0gMCAzLjZyZW07XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIH1cbn1cbi50ZWFtLW1lbWJlcnMge1xuICAgIG1hcmdpbjogNi40cmVtIDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIG1hcmdpbjogMy4ycmVtIDAgMDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG59XG4udGVhbS1tZW1iZXJzLWRlY29yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDQzJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDgwcmVtO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4udGVhbS1tZW1iZXIge1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICB3aWR0aDogMjkuNyU7XG4gICAgbWFyZ2luLXRvcDogNi40cmVtO1xuICAgICY6bnRoLWNoaWxkKDEpLFxuICAgICY6bnRoLWNoaWxkKDIpLFxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiA3LjVyZW07XG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0LjhyZW0pO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGxlZnQ6IC0yLjRyZW07XG4gICAgICAgICAgICBib3R0b206IC0zLjdyZW07XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Bob3RvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcyJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzg3ODQ5NiwgIzUwNGQ1ZCk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDMuMnJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDIuNHJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDIuNHJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19wb3NpdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAuOHJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC40cmVtIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW0gMCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGVzY3JpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zODtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuNnJlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzbisyKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogNS40JTtcbiAgICB9XG59XG5cblxuXG4uc2VjdGlvbi1mZWVkYmFja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA1LjZyZW0gMCAxMHJlbTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkZGFyaywgIzIwMWUyNyk7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLnNlY3Rpb24tc2xpZGVyLWFycm93cyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAxNnJlbTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5mZWVkYmFjay1zbGlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtNHJlbTtcbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yLjRyZW07XG4gICAgfVxufVxuLmZlZWRiYWNrLXNsaWRlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRkYXJrLCAwLjIpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogNXJlbSA0cmVtO1xuICAgIHdpZHRoOiA1NXJlbTtcbiAgICBtYXJnaW46IDAgMi40cmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB3aWR0aDogY2FsYygxMDB2dyk7XG4gICAgICAgIHBhZGRpbmc6IDAgMi40cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICZfX2hlYWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDlyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDIuNHJlbTtcbiAgICB9XG4gICAgJl9fbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fcmF0aW5nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiA4cmVtO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxLjFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvaWNvbi1zdGFyLW9yYW5nZS5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICsgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzg7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICfCqyAgJztcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcgIMK7JztcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlc1wiO1xuXG5cbi5zYWxlcy1saXN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNnJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2VydmljZXMtc2xpZGUge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19sZWZ0IHtcbiAgICAgICAgICAgIC8vd2lkdGg6IDQyJTtcbiAgICAgICAgfVxuICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgJi5tb2JpbGUtb25seSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc2VydmljZXMtc2xpZGUge1xuICAgICAgICAgICAgJl9faW5uZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYnRuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICYubW9iaWxlLW9ubHkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uc2FsZXMtbGlzdC1pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNDZyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAuc2VydmljZXMtc2xpZGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cblxuLnNhbGUtaGVybyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogNHJlbSAwIDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgJl9fbWFpbiB7XG4gICAgICAgIG1heC13aWR0aDogNzByZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExODBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0cmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAyLjRyZW07XG4gICAgICAgIG1heC13aWR0aDogNjZyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGRhcmssIDAuMDMpO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNnJlbTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWcvaWNvbi1jbG9jay5zdmcpIGNlbnRlci9jb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogNnJlbSAwIDAgLTNyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE4MHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIGF1dG8gMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2Zvcm0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA0MS42cmVtO1xuICAgICAgICBwYWRkaW5nOiA4cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB0b3A6IDQuMnJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiA0LjRyZW07XG4gICAgICAgICAgICBsZWZ0OiA0LjRyZW07XG4gICAgICAgICAgICBib3R0b206IDIuM3JlbTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDQ4cHggMCByZ2JhKDgwLCA3NywgOTMsIDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyNDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogNnJlbSAyLjRyZW07XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cmVtIDIuNHJlbSAzLjhyZW07XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNC44cmVtKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMi40cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMi40cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2FsZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA2cmVtIDAgOHJlbTtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNzlkZWcsICM2OTU4YmQsICNmZjY0MjApO1xuICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIGg1LCBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDUuOHJlbSAwIDIuNHJlbTtcbiAgICB9XG59IiwiQGltcG9ydCBcIi4uL2Jhc2UvdmFyaWFibGVzXCI7XG5cblxuLnNhbGVzLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgIC5zZXJ2aWNlcy1zbGlkZSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xlZnQge1xuICAgICAgICAgICAgLy93aWR0aDogNDIlO1xuICAgICAgICB9XG4gICAgfVxufVxuLnNhbGVzLWxpc3QtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDQ2cmVtO1xufVxuXG4uYXJ0aWNsZS1saXN0IHtcbiAgICBwYWRkaW5nOiA4cmVtIDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDMuMnJlbSAwO1xuICAgIH1cbiAgICAuYXJ0aWNsZS1pdGVtIHtcbiAgICAgICAgLy9tYXJnaW46IDcuNXJlbSAwO1xuICAgICAgICAvL3BhZGRpbmc6IDcuNXJlbSAwO1xuICAgICAgICArIC5hcnRpY2xlLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZyZW07XG4gICAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2LjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDgxZGVnLCAjNjk1OGJkLCAjZmY2NDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMi40cmVtIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uc2VjdGlvbi1hcnRpY2xlIHtcbiAgICBwYWRkaW5nOiA5LjRyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xufVxuLmFydGljbGUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICZfX2xlZnQge1xuXG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDUxcmVtO1xuICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZGVzY3JpcCB7XG4gICAgICAgIG1hcmdpbjogMy4ycmVtIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS42cmVtIDAgMDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICsgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2xpbmsge1xuICAgICAgICBtYXJnaW46IDRyZW0gMCAwO1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbjogM3JlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA0Ny43cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDQ3LjdyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cmVtO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB0b3A6IDRyZW07XG4gICAgICAgICAgICByaWdodDogMi40cmVtO1xuICAgICAgICAgICAgbGVmdDogMi40cmVtO1xuICAgICAgICAgICAgYm90dG9tOiAxLjZyZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1NHB4IDAgIzA0MDEwZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19pbWFnZS1pbm5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDY3JTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgICAmOmhvdmVyICZ7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRicmFuZENvbG9yXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDY0cHggMCAjMDQwMTBmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5tYWluLWFydGljbGUtaW1hZ2Uge1xuICB3aWR0aDogMzkuNzUlO1xuICBtYXgtd2lkdGg6IDQ3LjdyZW07XG4gIGZsb2F0OiByaWdodDtcbiAgJi5tb2JpbGUtb25seSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYubW9iaWxlLW9ubHkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAyLjRyZW0gMCAwO1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS1oZXJvIHtcbiAgLnRpdGxlLXBhZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmFydGljbGUtYmxvY2sge1xuICBoMyB7XG4gICAgbWFyZ2luLXRvcDogNy4ycmVtO1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg4MWRlZywgIzY5NThiZCwgI2ZmNjQyMCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NzlweCkge1xuICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbiAgICAgICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuICB9XG59XG5cbi5ibG9jay1ib29raW5nLWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MzBweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiA2LjJyZW0gNy4zcmVtO1xuICBtYXJnaW4tdG9wOiA3LjM1cmVtO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMi41cmVtIC0xcmVtIHJnYmEoMCwwLDAsMC41KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDIuNXJlbSAtMXJlbSByZ2JhKDAsMCwwLDAuNSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMi41cmVtIC0xcmVtIHJnYmEoMCwwLDAsMC41KTtcblxuICAudGl0bGUtYm9va2luZyB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yMTtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjJyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDQuOHJlbSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQuOHJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IC0yLjRyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMi40cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiA0LjhyZW07XG4gIH1cbn1cblxuLmJ0bi1ib29raW5nIHtcbiAgYm9yZGVyLXJhZGl1czogMi40cmVtO1xuICBib3JkZXI6IHNvbGlkIDAuMTVyZW0gJGRhcms7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMi40cmVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgZmlsbDogJGRhcms7XG4gIGNvbG9yOiAkZGFyaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJGJyYW5kQ29sb3JIb3ZlcjtcbiAgICBjb2xvcjogJGJyYW5kQ29sb3JIb3ZlcjtcbiAgICBmaWxsOiAkYnJhbmRDb2xvckhvdmVyO1xuICB9XG5cbiAgLmNoZXZyb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMS43cmVtO1xuICAgIHdpZHRoOiAwLjhyZW07XG4gICAgaGVpZ2h0OiAwLjhyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xuICAgIH1cbiAgfVxufSIsIi52YWNhbmNpZXMtaGVybyB7XG4gIG1hcmdpbi10b3A6IDRyZW07XG5cbiAgQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5jaXR5LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDcwZGVnLCAjNjk1OGJkLCAjZmY2NDIwKTtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcblxuICAgIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBtYXJnaW46IDEuNzVyZW0gMCA0cmVtO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLnZhY2FuY2llcy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0LjhyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAtMi40cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTIuNHJlbTtcbiAgfVxuICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG59XG5cbi52YWNhbmN5LWJvZHkge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cbiAgQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNHJlbTtcbiAgfVxuXG4gIC52YWNhbmN5LWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbn1cblxuLnZhY2FuY3ktdGl0bGUge1xuICBwYWRkaW5nOiA1cmVtIDQuN3JlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBib3gtc2hhZG93OiAwIDAuOHJlbSA1cmVtIC0xLjhyZW0gZ3JleTtcbiAgXG4gIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAyLjRyZW07XG5cbiAgICAudmFjYW5jeS1uYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi40cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuICB9XG5cbiAgJiA+ICoge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICB9XG5cbiAgLnByaWNlIHtcbiAgICBjb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuICB9XG5cbiAgLmFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGNvbG9yOiAkZGFyaztcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuXG4gICAgQG1lZGlhICgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG5cbiAgICAuaWNuLWxvY2F0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC4ycmVtO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuYWN0aW9uIHtcbiAgICBAbWVkaWEgKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAuaWNuLWFycm93LW9wZW4ge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJyYW5kQ29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLnZhY2FuY3ktZGVzY3JpcHRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDYuNHJlbSAxMy41cmVtO1xuXG4gIEBtZWRpYSAoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDRyZW0gMi40NXJlbTtcbiAgfVxuXG5cbiAgaDMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAgMCAxLjZyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgNzcsIDkzLCAwLjAzKTtcbiAgICBsaW5lLWhlaWdodDogMS44MjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICB1bCxcbiAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbiAgfVxufVxuIiwiLmNsb3NlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWcvY2xvc2UtaWNvbi0xLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIHdpZHRoOiA0LjVyZW07XG4gIGhlaWdodDogNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMi40cmVtO1xuICB0b3A6IDIuNHJlbTtcbiAgdHJhbnNpdGlvbjogMC4zcztcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgdG9wOiAzLjhyZW07XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cblxuLnJlcGFpci1yZWNvcmQtcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWcvc2VydmljZS1zbGlkZS0yLmpwZ1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTM7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoODAsIDc3LCA5MywgMC44KTtcbiAgfVxuXG4gIC5yZXBhaXItcmVjb3JkLWZvcm0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiA7XG4gICAgcGFkZGluZzogNi40cmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgcGFkZGluZzogNC40cmVtIDMuM3JlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gIH1cblxuICAucmVjb3JkLWZvcm0taGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNHJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAubWFpbi1mb3JtLWZpZWxkcyB7XG4gICAgd2lkdGg6IDI1NnB4O1xuICAgIG1hcmdpbi1yaWdodDogMy4ycmVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5hZGRpdGlvbmFsLWluZm8ge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEuNnJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcblxuICAgICYucmVxdWlyZSB7XG4gICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgcGFkZGluZzogMC44cmVtIDIuM3JlbTtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKic7XG4gICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEuMnJlbTtcbiAgICAgICAgdG9wOiAwLjhyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBPcGVuU2FucztcbiAgICAgIH1cbiAgICB9XG5cblxuICAgICYuZXJyb3Ige1xuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmVkO1xuICAgICAgfVxuXG4gICAgICAuZXJyb3ItdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lcnJvci10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGNvbG9yOiByZWQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgd2lkdGg6IDM4LjVyZW07XG4gICAgaGVpZ2h0OiAxNS4ycmVtO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufSIsIi5jYXRlZ29yaWVzLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1ODBweCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBsaSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjhyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMS42cmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LWNhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyLjVyZW0gMi40cmVtIDIuM3JlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgYm9yZGVyOiBzb2xpZCAwLjFyZW0gcmdiYSg4MCwgNzcsIDkzLCAwLjMpO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjZyZW07XG4gICAgY29sb3I6ICRkYXJrO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIC5pY24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjZyZW07XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTgwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEuNnJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgd2lkdGg6IDE1LjVyZW07XG4gICAgICBoZWlnaHQ6IDUuOHJlbTtcbiAgICAgIHBhZGRpbmc6IDEuOHJlbSAxLjJyZW0gMS43cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTgwcHgpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIHBhZGRpbmc6IDEuOXJlbSAwIDEuOHJlbTtcbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODAsIDc3LCA5Myk7XG4gICAgICBib3JkZXI6IHNvbGlkIDAuMXJlbSByZ2IoODAsIDc3LCA5Myk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTgwcHgpIHtcbiAgICBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAuY29udGFjdC1jYXRlZ29yeSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmJ0bi13aGF0c2FwcCB7XG4gICYuZGVza3RvcC1vbmx5IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYubW9iaWxlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMy4zcmVtIDAgMy42cmVtO1xuICAgICAgd2lkdGg6IDI1LjhyZW07XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICBwYWRkaW5nOiAxLjJyZW0gMi41cmVtIDEuMXJlbTtcbiAgICB9XG4gIH1cbn1cbi5jb250YWN0cy1oZXJvIHtcbiAgLnN1YnRpdGxlLWJsb2NrIHtcbiAgICBwYWRkaW5nOiA1cmVtIDAgNC40cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1ODBweCkge1xuICAgICAgcGFkZGluZzogNHJlbSAwIDMuMnJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRpZXMtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFyZW0gMy4ycmVtIDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4MCwgNzcsIDkzLCAwLjAzKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjRyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbSAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjRyZW07XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTgwcHgpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiYSg4MCwgNzcsIDkzLCAwLjQpO1xuICAgICAgICBjb2xvcjogcmdiYSg4MCwgNzcsIDkzLCAwLjgpO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDEwMCwgMzIsIDAuNCk7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAxMDAsIDMyLCAwLjgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhY3QtYmxvY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1haWwge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICRkYXJrO1xuXG4gICAgICAuaWNuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC40cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW4tbGVmdDogNC4ycmVtO1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubW9iaWxlLWNvbnRhY3RzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiA1LjZyZW0gMCAwO1xuICAubWFpbCB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJGRhcms7XG5cbiAgICAuaWNuIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNHJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS42cmVtO1xuICAgIH1cbiAgfVxuICAuaW5zdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyLjRyZW07XG4gICAgaGVpZ2h0OiAyLjRyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbi1zb2NpYWwtaW5zdGFncmFtLnN2Zyk7XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg2MHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuLmNvbnRhY3RzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMi40cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTIuNHJlbTtcbiAgfVxuXG4gIGxpIHtcbiAgICAvL21hcmdpbi1ib3R0b206IDIuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwLjhyZW0gNXJlbSAtMS44cmVtIGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4ycmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwLjhyZW0gMC4zcmVtIC0xLjhyZW0gcmdiYShncmV5LCAwLjEpO1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2LjRyZW0pO1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMy4ycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjJyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzLjJyZW07XG4gICAgICAuYWRkcmVzcyB7XG4gICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGFjdC1pdGVtIHtcbiAgICBwYWRkaW5nOiA1cmVtIDQuN3JlbSA0cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDIuNHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgY29sb3I6ICRicmFuZENvbG9yO1xuICAgIH1cblxuICAgIC5hZGRyZXNzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjRyZW07XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIHJnYmEoODAsIDc3LCA5MywgMC40KTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuXG4gICAgICAuaWNuLWxvY2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDAuM3JlbTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjhyZW07XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAuaWNuLWxvY2F0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBob25lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzYwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzIHtcbiAgICAgIGkge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMi40cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODYwcHgpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMi40cmVtO1xuICAgICAgICBib3R0b206IDIuNHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2NoZWR1bGUge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0xLjNyZW07XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNtYXAge1xuICBtYXJnaW4tdG9wOiA0LjhyZW07XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgIG1hcmdpbi10b3A6IDEuNnJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTIuNHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yLjRyZW07XG4gIH1cbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQ0FBLHNFQUFzRTtBQUV0RTs7OztHQUlHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVTtFQUFFLE9BQU87RUFDaEMsb0JBQW9CLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDbkMsd0JBQXdCLEVBQUUsSUFBSTtFQUFFLE9BQU8sRUFDeEM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7OztHQUtHO0FBRUgsQUFBQSxPQUFPO0FBQ1AsS0FBSztBQUNMLE9BQU87QUFDUCxVQUFVO0FBQ1YsTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNOLElBQUk7QUFDSixJQUFJO0FBQ0osR0FBRztBQUNILE9BQU87QUFDUCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7R0FHRztBQUVILEFBQUEsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRO0FBQ1IsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVk7RUFBRSxPQUFPO0VBQzlCLGNBQWMsRUFBRSxRQUFRO0VBQUUsT0FBTyxFQUNsQzs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEtBQUssQUFBQSxJQUFLLEVBQUEsQUFBQSxRQUFDLEFBQUEsR0FBVztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBRUQ7OztHQUdHO0NBRUgsQUFBQSxBQUFBLE1BQUMsQUFBQTtBQUNELFFBQVEsQ0FBQztFQUNQLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUgsQUFBQSxDQUFDLENBQUM7RUFDQSxnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCOztBQUVEOztHQUVH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 */
.fancybox-overlay {
    background: #504d5d;
}

.fancybox-nav {
    width: 50%;
}

.fancybox-next {
    right: -80px;
}

.fancybox-prev {
    left: -80px;
}

.fancybox-nav span {
    visibility: visible;
    background-position: 0;
    width: 49px;
    height: 49px;
}

.fancybox-prev span {
    background: url(/images/slider-arrow-left.png) no-repeat;
}

.fancybox-next span {
    background: url(/images/slider-arrow-right.png) no-repeat;
}

.fancybox-prev:hover span {
    background: url(/images/slider-arrow-left-or.png) no-repeat;
}

.fancybox-next:hover span {
    background: url(/images/slider-arrow-right-or.png) no-repeat;
}

.fancybox-close {
    background: url(/images/close-button.png) no-repeat;
    width: 50px;
    height: 50px;
    background-position: 0;
}

.fancybox-skin, .fancybox-outer, .fancybox-image {
    border-radius: 7px;
}

.fancybox-skin {
    background: #504data: imgad5d;
}

.fancybox-close {
    top: 20px;
    right: 20px;
}

⁠