@import url("https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,700i");

:root {
    --main-color: #1f2022;
    --main-bg: #fff;
    --boxed-width: 1230px;
    --navbar-color: #000;
    --navbar-bg: #fff;
    --navbar-2-color: #000;
    --navbar-2-bg: #fbfbfb;
    --navbar-dark-color: #fff;
    --navbar-dark-bg: #1f2022
}

@-webkit-keyframes bounce {
    to {
        -webkit-transform: translateY(60px);
        transform: translateY(60px)
    }

    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes bounce {
    to {
        -webkit-transform: translateY(60px);
        transform: translateY(60px)
    }

    0% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

.app-loader {
    -webkit-box-align: center;
    align-items: center;
    background: #FFF;
    color: #336cfb;
    display: -webkit-box;
    display: flex;
    font-size: 30px;
    height: 100%;
    -webkit-box-pack: center;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99999
}

.app-loader.main-loader {
    z-index: 999999
}

.app-loader.main-loader .loader-box {
    -webkit-box-align: end;
    align-items: flex-end;
    display: -webkit-box !important;
    display: flex !important
}

.content-box .loader-box {
    -webkit-box-align: end;
    align-items: flex-end;
    display: -webkit-box !important;
    display: flex !important
}

.app-loader.main-loader .loader-box .bounceball {
    display: inline-block;
    height: 95px;
    position: relative;
    -webkit-animation: bounce .5s ease-in infinite alternate;
    animation: bounce .5s ease-in infinite alternate;
    width: 30px
}

.app-loader.main-loader .loader-box .bounceball:before {
    background: #336cfb;
    border-radius: 50%;
    content: "";
    display: block;
    height: 30px;
    position: absolute;
    top: 0;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    width: 30px
}

.app-loader.main-loader .loader-box .text {
    display: -webkit-box;
    display: flex;
    color: #1f2022;
    margin-left: 15px
}

.app-loader.main-loader .loader-box .text span {
    color: #336cfb;
    font-size: 15px
}

.loaded .app-loader {
    opacity: 0;
    visibility: hidden
}

html {
    font-size: 14px
}

body,
html {
    line-height: 1.43
}

body {
    background: #fff;
    background: var(--main-bg);
    color: #1f2022;
    color: var(--main-color);
    font-family: Lato, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    word-wrap: break-word;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: Lato, sans-serif;
    font-weight: 700;
    line-height: 1.43;
    letter-spacing: .01em;
    margin-top: 1.42857rem;
    margin-bottom: 1.42857rem
}

.h1,
h1 {
    font-size: 3.2rem;
    line-height: 1.12;
    margin-bottom: 2.14286rem
}

.h2,
h2 {
    font-size: 2.85714286rem;
    line-height: 1
}

.h3,
h3 {
    font-size: 2rem;
    line-height: 1.42857143
}

.h4,
h4 {
    font-size: 1.71428572rem;
    line-height: 1.25
}

.h5,
h5 {
    font-size: 1.42857143rem;
    line-height: 1.5
}

.h6,
h6 {
    font-size: 1rem
}

.blockquote,
blockquote,
ol,
p,
pre,
table,
ul {
    margin-top: 0;
    margin-bottom: 1.42857rem
}

.blockquote:last-child,
blockquote:last-child,
ol:last-child,
p:last-child,
pre:last-child,
table:last-child,
ul:last-child {
    margin-bottom: 0
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-top: 0;
    margin-bottom: 0
}

.hr,
hr {
    border-top: 1px solid rgba(31, 32, 34, .1);
    margin: 1.42857rem 0
}

sub,
sup {
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

a {
    color: #336cfb;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

a,
a:focus,
a:hover {
    text-decoration: none
}

a:focus,
a:hover {
    color: #2759fa;
    outline: none
}

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

button {
    cursor: pointer
}

button:focus {
    outline: none
}

textarea {
    box-shadow: none
}

.mark,
mark {
    padding: 0 .2em;
    background-color: #336cfb;
    color: #fff
}

::selection {
    background-color: #336cfb;
    color: #fff
}

::-moz-selection {
    background-color: #336cfb;
    color: #fff
}

::-webkit-scrollbar-track {
    box-shadow: inset 0 0 2px rgba(0, 0, 0, .1)
}

::-webkit-scrollbar {
    background: hsla(0, 0%, 100%, .2);
    position: absolute;
    width: 2px
}

::-webkit-scrollbar:hover {
    display: block
}

::-webkit-scrollbar-thumb {
    background-color: #bcbcbd
}

::-webkit-scrollbar:horizontal {
    height: 2px
}

body,
html {
    height: 100%
}

body {
    overflow: hidden;
    position: relative;
    width: 100%
}

.page-box {
    display: block;
    height: 100%
}

.page-box .app-container {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    height: 100%
}

.page-box .app-container .main-content {
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    position: relative;
    -webkit-transition: padding .2s ease-in-out 0s;
    transition: padding .2s ease-in-out 0s;
    -webkit-overflow-scrolling: touch
}

.page-box .app-container .main-content .main-content-wrap {
    min-height: calc(100% - 2.85714rem);
    margin: 0 auto;
    opacity: 0;
    padding: 2.14286rem 1.42857rem 2.85714rem;
    -webkit-transition: opacity .2s ease-in-out 0s;
    transition: opacity .2s ease-in-out 0s
}

.page-box .app-container .main-content .main-content-wrap.full-filled {
    height: 100%;
    max-width: 100% !important;
    min-height: 100%;
    padding: 0
}

.page-box .app-container .main-content .main-content-wrap.full-filled .page-content {
    height: 100%
}

.page-box .app-container .main-content .main-content-wrap .page-header {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between
}

.page-box .app-container .main-content .main-content-wrap .page-header .page-title {
    margin: 0 0 2.14286rem
}

@media (max-width: 767px) {
    .page-box .app-container .main-content .main-content-wrap .page-header .page-title {
        font-size: 2rem
    }
}

.page-box .app-container .main-content .main-content-wrap .page-header .page-breadcrumbs {
    color: rgba(31, 32, 34, .5);
    font-size: .8rem;
    line-height: 2;
    margin: 0 0 1.42857rem
}

.page-box .app-container .main-content.loaded .main-content-wrap {
    opacity: 1;
    -webkit-transition: opacity 0s ease-in-out 0s;
    transition: opacity 0s ease-in-out 0s
}

.page-box .app-container .content-overlay {
    background: rgba(31, 32, 34, .1);
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out .2s;
    transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out .2s;
    visibility: hidden;
    width: 100%
}

.page-box .app-container .content-overlay.show {
    opacity: 1;
    -webkit-transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
    transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
    visibility: visible
}

@media (min-width: 992px) {
    .page-box .app-container .content-overlay.show {
        z-index: 9998
    }
}

.vertical-layout .page-box .app-container {
    padding-left: 20rem
}

@media (max-width: 991px) {
    .vertical-layout .page-box .app-container {
        padding-left: 0
    }
}

.vertical-layout .page-box .app-container .app-navbar.horizontal .navbar-skeleton .sk-logo {
    display: none !important
}

.vertical-layout .page-box .app-container .app-footer {
    left: 20rem
}

@media (max-width: 991px) {
    .vertical-layout .page-box .app-container .app-footer {
        left: 0
    }
}

.vertical-layout.scrolled .app-navbar.horizontal {
    box-shadow: 0 2px 5px rgba(0, 0, 0, .05)
}

@media (max-width: 991px) {
    body.horizontal-layout .app-navbar.horizontal:not(.horizontal-vertical) .app-logo {
        display: none
    }
}

@media (min-width: 992px) {
    body.horizontal-layout .app-navbar.horizontal .app-logo .logo-wrap {
        padding-left: 0;
        padding-right: 0
    }
}

body.horizontal-layout .app-navbar.horizontal-vertical {
    background: #fbfbfb
}

@media (min-width: 992px) {
    body.horizontal-layout .app-navbar.horizontal-vertical .app-logo {
        display: none
    }
}

.boxed .page-box .app-container .main-content .main-content-wrap {
    max-width: 1140px;
    max-width: var(--boxed-width)
}

.public-layout .page-box .app-container {
    background-size: cover;
    display: block;
    height: 100%;
    overflow: auto;
    width: 100%
}

.public-layout .page-box .app-container .content-box {
    background: #fff;
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12);
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    max-width: 400px;
    min-height: 100%
}

.public-layout .page-box .app-container .content-box .content-header {
    padding-top: 1.42857rem
}

.public-layout .page-box .app-container .content-box .content-body {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 1;
    flex-grow: 1;
    padding: .71429rem 2.85714rem;
    width: 100%
}

@media (max-width: 767px) {
    .public-layout .page-box .app-container .content-box .content-body {
        padding-left: 1.42857rem;
        padding-right: 1.42857rem
    }
}

.loaded .page-box .app-container .main-content .main-content-wrap {
    opacity: 1;
    -webkit-transition: opacity 0s ease-in-out 0s;
    transition: opacity 0s ease-in-out 0s
}

.assistant-menu {
    display: block;
    padding: 0 2.85714rem 1.42857rem
}

.assistant-menu .link {
    color: inherit;
    display: block;
    font-weight: 700;
    opacity: .3;
    padding: .35714rem 0;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}

.assistant-menu .link .link-icon {
    font-size: 1.3em;
    margin-right: .71429rem;
    padding: 0
}

.assistant-menu .link:hover {
    opacity: 1
}

@-webkit-keyframes loaderAnimation {
    0% {
        background-position: -468px 0
    }

    to {
        background-position: 468px 0
    }
}

.app-footer {
    background: #fbfbfb;
    border-top: 1px solid #e9e9e9;
    bottom: 0;
    display: block;
    height: 4.28571rem;
    left: 0;
    position: absolute;
    right: 0
}

.app-footer .footer-wrap {
    background: inherit;
    height: 100%;
    margin: 0 auto;
    padding: .71429rem 1.42857rem;
    position: relative
}

.app-footer .footer-wrap .page-breadcrumbs {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
    padding: 0
}

.app-footer .footer-wrap .page-breadcrumbs .item {
    display: block;
    vertical-align: top;
    white-space: nowrap
}

.app-footer .footer-wrap .page-breadcrumbs .item .link {
    color: currentColor;
    opacity: .5;
    text-decoration: none;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}

.app-footer .footer-wrap .page-breadcrumbs .item .link:hover {
    opacity: 1
}

.app-footer .footer-wrap .page-breadcrumbs .item .separator {
    margin: 0 .35714rem -2px
}

.app-footer .footer-wrap .page-breadcrumbs .item:last-child .link {
    opacity: 1;
    pointer-events: none
}

.app-footer .footer-wrap .page-breadcrumbs .item:last-child .separator {
    display: none
}

.app-footer .footer-wrap .settings-btn .icon {
    font-size: 26px
}

.app-footer .footer-wrap .footer-skeleton {
    background: inherit;
    height: 100%;
    left: 0;
    padding: .71429rem 1.42857rem;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
    transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
    z-index: 999
}

.loaded .app-footer .footer-wrap .footer-skeleton {
    opacity: 0;
    -webkit-transition: opacity .2s ease-in-out .2s, visibility 0s ease-in-out .4s;
    transition: opacity .2s ease-in-out .2s, visibility 0s ease-in-out .4s;
    visibility: hidden
}

.app-footer .footer-wrap .footer-skeleton .row {
    height: inherit
}

.app-footer .footer-wrap .footer-skeleton .bg {
    background: #ebebeb
}

.app-footer .footer-wrap .footer-skeleton .bg-1 {
    background: #f5f5f5
}

.app-footer .footer-wrap .footer-skeleton .animated-bg {
    overflow: hidden;
    position: relative
}

.app-footer .footer-wrap .footer-skeleton .animated-bg:before {
    -webkit-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: loaderAnimation;
    animation-name: loaderAnimation;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: transparent;
    background: -webkit-gradient(linear, left top, right top, color-stop(10%, transparent), color-stop(18%, hsla(0, 0%, 100%, .5)), color-stop(33%, transparent));
    background: linear-gradient(90deg, transparent 10%, hsla(0, 0%, 100%, .5) 18%, transparent 33%);
    background-size: 800px 100%;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.app-footer .footer-wrap .footer-skeleton .page-breadcrumbs {
    margin: -.35714rem
}

.app-footer .footer-wrap .footer-skeleton .page-breadcrumbs .item {
    border-radius: 3px;
    display: block;
    height: .71429rem;
    margin: 0 .35714rem;
    width: 80px
}

.app-footer .footer-wrap .footer-skeleton .info {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    margin: -.35714rem
}

.app-footer .footer-wrap .footer-skeleton .info .version {
    border-radius: 3px;
    display: block;
    height: .71429rem;
    margin: 0 .35714rem;
    width: 80px
}

.app-footer .footer-wrap .footer-skeleton .info .settings {
    background: #336cfb;
    border-radius: 500px;
    display: block;
    height: 1.42857rem;
    margin: 0 .35714rem;
    width: 1.42857rem
}

.boxed .app-footer .footer-wrap {
    max-width: 1140px;
    max-width: var(--boxed-width)
}

.app-logo {
    display: block;
    height: 4.28571rem;
    min-height: 4.28571rem;
    position: relative
}

.app-logo .logo-wrap {
    -webkit-box-align: center;
    align-items: center;
    color: inherit;
    display: -webkit-box;
    display: flex;
    height: 100%;
    padding: .71429rem 2.85714rem;
    text-decoration: none
}

.app-logo .logo-wrap .logo-img {
    height: auto;
    max-height: 100%;
    max-width: 100%;
    vertical-align: top;
    width: auto
}

.app-logo .logo-wrap .logo-text {
    display: block;
    font-size: 20px;
    line-height: 1;
    margin-left: 1.42857rem
}

.main-menu {
    display: block;
    margin: 0;
    max-width: 100%;
    padding: 0
}

.main-menu,
.main-menu .main-menu-wrap {
    width: inherit
}

.main-menu .main-menu-wrap .menu-ul {
    list-style-type: none;
    margin: 0;
    padding: 2.14286rem 1.42857rem 0
}

.main-menu .main-menu-wrap .menu-ul .menu-item {
    font-weight: 700;
    padding: 0 1.07143rem;
    position: relative;
}

.main-menu .main-menu-wrap .menu-ul .menu-item .group-title {
    color: currentColor;
    display: block;
    opacity: .3;
    padding: 2.14286rem .35714rem .71429rem;
    text-transform: uppercase
}

.main-menu .main-menu-wrap .menu-ul .menu-item:first-child .group-title {
    padding-top: 0
}

.main-menu .main-menu-wrap .menu-ul .menu-item .item-link {
    -webkit-box-align: center;
    align-items: center;
    background: transparent;
    color: currentColor;
    display: -webkit-box;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
    justify-content: space-between;
    min-height: 2.14286rem;
    padding: .35714rem 0;
    position: relative;
    text-decoration: none;
    -webkit-transition: background .2s ease-in-out, color .2s ease-in-out;
    transition: background .2s ease-in-out, color .2s ease-in-out
}

.main-menu .main-menu-wrap .menu-ul .menu-item .item-link .link-text {
    -webkit-box-flex: 2;
    flex-grow: 2;
    flex-shrink: 1;
    margin: 0 .35714rem
}

.main-menu .main-menu-wrap .menu-ul .menu-item .item-link .link-badge {
    margin: 0 .35714rem
}

.main-menu .main-menu-wrap .menu-ul .menu-item .item-link .link-icon {
    font-size: 1.3em;
    margin: 0 .35714rem;
    opacity: .25;
    padding: 0;
    -webkit-transition: none;
    transition: none
}

.main-menu .main-menu-wrap .menu-ul .menu-item .item-link .link-caret {
    margin: 0 .35714rem;
    -webkit-transition: -webkit-transform .1s ease-in-out;
    transition: -webkit-transform .1s ease-in-out;
    transition: transform .1s ease-in-out;
    transition: transform .1s ease-in-out, -webkit-transform .1s ease-in-out
}

.main-menu .main-menu-wrap .menu-ul .menu-item .item-link:hover {
    background: transparent;
    color: #336cfb
}

.main-menu .main-menu-wrap .menu-ul .menu-item .sub {
    background: transparent;
    max-height: 0;
    list-style-type: none;
    overflow: hidden;
    margin: 0;
    padding: 0;
    visibility: hidden
}

.main-menu .main-menu-wrap .menu-ul .menu-item .sub .menu-item {
    font-weight: 400;
    padding-left: .35714rem;
    padding-right: .35714rem
}

.main-menu .main-menu-wrap .menu-ul .menu-item .sub .menu-item:after {
    display: none
}

.main-menu .main-menu-wrap .menu-ul .menu-item.active:after {
    -webkit-transform: translateX(4px);
    transform: translateX(4px);
    -webkit-transition: -webkit-transform .2s ease-in-out .2s;
    transition: -webkit-transform .2s ease-in-out .2s;
    transition: transform .2s ease-in-out .2s;
    transition: transform .2s ease-in-out .2s, -webkit-transform .2s ease-in-out .2s
}

.main-menu .main-menu-wrap .menu-ul .menu-item.active>.item-link {
    color: #336cfb
}

.main-menu .main-menu-wrap .menu-ul .menu-item.active>.item-link .link-caret {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.main-menu .main-menu-wrap .menu-ul .menu-item.active>.sub {
    max-height: 1000px;
    visibility: visible
}

.main-menu .main-menu-wrap .menu-ul .menu-item.has-sub,
.main-menu .main-menu-wrap .menu-ul .menu-item.has-sub>.item-link {
    position: relative
}

.main-menu .main-menu-wrap .menu-ul .menu-item.has-sub>.item-link .caret {
    display: block
}

.main-menu .main-menu-wrap .menu-ul .menu-item.has-sub.active>.item-link .caret {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

@media (min-width: 992px) {
    .app-navbar.horizontal-vertical .main-menu {
        margin: 0 !important;
        overflow: visible
    }
}

@media (min-width: 992px) {

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .mCustomScrollBox,
    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .mCustomScrollBox .mCSB_container {
        overflow: visible
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .mCSB_scrollTools {
        display: none !important
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        padding: 0
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul>.menu-item>.group-title {
        display: none
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item {
        padding: 0
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item .item-link {
        padding: .71429rem
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item .item-link .link-caret {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg)
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item .sub {
        background: #fff;
        border-radius: 6px;
        box-shadow: 0 18px 24px rgba(0, 0, 0, .12);
        display: block !important;
        color: #000;
        height: auto !important;
        left: 0;
        max-height: none;
        opacity: 0;
        padding: .71429rem 0;
        position: absolute;
        -webkit-transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out .2s;
        transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out .2s;
        visibility: hidden !important;
        width: 17.85714rem;
        z-index: 500
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item .sub:before {
        bottom: 2.85714rem
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item .sub .menu-item {
        width: 100%
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item .sub .menu-item .item-link {
        height: auto;
        min-height: 0;
        padding-top: .35714rem;
        padding-bottom: .35714rem
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item:hover>.sub {
        opacity: 1;
        -webkit-transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
        transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
        visibility: visible !important
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item:last-child .sub {
        left: auto;
        right: 0
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item.full-sub {
        position: static
    }

    .app-navbar.horizontal-vertical .main-menu .main-menu-wrap .menu-ul .menu-item.full-sub .sub {
        width: 100%
    }
}

@keyframes loaderAnimation {
    0% {
        background-position: -468px 0
    }

    to {
        background-position: 468px 0
    }
}

.app-navbar {
    background: var(--navbar-bg);
    color: var(--navbar-color);
    display: block;
    min-height: 4.28571rem;
    -webkit-transition: background .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
    transition: background .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
    will-change: box-shadow
}

.app-navbar .navbar-wrap {
    -webkit-box-align: center;
    align-items: center;
    background: inherit;
    display: -webkit-box;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    min-height: inherit;
    padding: 0 .71429rem;
    position: relative
}

.app-navbar .navbar-wrap>* {
    margin: 0 0 0 .71429rem
}

.app-navbar .navbar-wrap .navbar-toggle {
    -webkit-box-align: center;
    align-items: center;
    color: inherit;
    cursor: pointer;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    height: 40px;
    -webkit-box-pack: center;
    justify-content: center;
    width: 35px
}

.app-navbar .navbar-wrap .navbar-toggle span {
    background: #1f2022;
    display: block;
    height: 3px;
    margin: 4px 0;
    width: 35px
}

.app-navbar .navbar-wrap .navbar-close {
    color: inherit;
    cursor: pointer;
    font-size: 30px;
    height: auto;
    position: absolute;
    right: .71429rem;
    top: 1.07143rem;
    width: auto !important;
    z-index: 1
}

.app-navbar .navbar-wrap .add-patient {
    height: 100%;
    padding: 1.42857rem 2.85714rem
}

.app-navbar .navbar-wrap .assistant-menu {
    display: block;
    padding: 0 2.85714rem 1.42857rem
}

.app-navbar .navbar-wrap .assistant-menu .link {
    color: inherit;
    display: block;
    font-weight: 700;
    opacity: .3;
    padding: .35714rem 0;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}

.app-navbar .navbar-wrap .assistant-menu .link .tc-icon {
    margin-right: .71429rem;
    padding: 0
}

.app-navbar .navbar-wrap .assistant-menu .link:hover {
    opacity: 1
}

.boxed .app-navbar .navbar-wrap {
    max-width: 1140px;
    max-width: var(--boxed-width)
}

@media (max-width: 991px) {
    .app-navbar.horizontal-vertical {
        display: -webkit-box;
        display: flex;
        -webkit-box-pack: end;
        justify-content: flex-end;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        -webkit-transform: translateX(-20rem);
        transform: translateX(-20rem);
        -webkit-transition: -webkit-transform .2s ease-in-out;
        transition: -webkit-transform .2s ease-in-out;
        transition: transform .2s ease-in-out;
        transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
        width: 20rem;
        will-change: transform, width;
        z-index: 9997
    }

    .app-navbar.horizontal-vertical .navbar-wrap {
        -webkit-box-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        height: 100%;
        -webkit-box-pack: start;
        justify-content: flex-start;
        overflow: auto;
        padding: 0;
        width: 20rem
    }

    .app-navbar.horizontal-vertical .navbar-wrap>* {
        margin: 0;
        width: 100%
    }

    .app-navbar.horizontal-vertical.opened {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@media (min-width: 992px) {
    .app-navbar.horizontal-vertical {
        min-height: 2.85714rem
    }
}

.app-navbar.vertical {
    background: var(--navbar-2-bg);
    color: var(--navbar-2-color);
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: end;
    justify-content: flex-end;
    height: 100%;
    left: 0;
    overflow: auto;
    position: absolute;
    top: 0;
    -webkit-transition: -webkit-transform .2s ease-in-out;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: 20rem;
    will-change: transform, width;
    -webkit-overflow-scrolling: touch;
    z-index: 9997
}

@media (max-width: 991px) {
    .app-navbar.vertical {
        -webkit-transform: translateX(-20rem);
        transform: translateX(-20rem)
    }
}

.app-navbar.vertical .navbar-wrap {
    -webkit-box-align: start;
    align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    height: 100%;
    -webkit-box-pack: start;
    justify-content: flex-start;
    padding: 0;
    width: 20rem
}

.app-navbar.vertical .navbar-wrap>* {
    margin: 0;
    width: 100%
}

.app-navbar.vertical.opened {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.app-navbar.dark {
    background: var(--navbar-dark-bg);
    color: var(--navbar-dark-color)
}

.app-navbar .navbar-skeleton {
    -webkit-box-align: center;
    align-items: center;
    background: inherit;
    display: -webkit-box;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
    justify-content: space-between;
    left: 0;
    overflow: hidden;
    padding: 0 .71429rem;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
    transition: opacity .2s ease-in-out 0s, visibility 0s ease-in-out 0s;
    z-index: 999
}

.loaded .app-navbar .navbar-skeleton {
    opacity: 0;
    -webkit-transition: opacity .2s ease-in-out .2s, visibility 0s ease-in-out .4s;
    transition: opacity .2s ease-in-out .2s, visibility 0s ease-in-out .4s;
    visibility: hidden
}

.app-navbar .navbar-skeleton .bg {
    background: #ebebeb
}

.app-navbar .navbar-skeleton .bg-1 {
    background: #f5f5f5
}

.app-navbar .navbar-skeleton .left-part {
    -webkit-box-flex: 1;
    flex-grow: 1
}

.app-navbar .navbar-skeleton .navbar-button {
    display: block;
    height: 30px;
    margin-right: 1.42857rem;
    width: 35px
}

.app-navbar .navbar-skeleton .search {
    border-radius: 20px;
    display: block;
    height: 40px;
    max-width: 100%;
    width: 350px
}

.app-navbar .navbar-skeleton .icon-box {
    position: relative
}

.app-navbar .navbar-skeleton .icon-box .icon {
    border-radius: 5px;
    display: block;
    height: 20px;
    width: 20px
}

.app-navbar .navbar-skeleton .icon-box .badge {
    background: #ed5564;
    border: 0;
    border-radius: 20px;
    display: block;
    height: 16px;
    padding: 0;
    position: absolute;
    right: -8px;
    top: -10px;
    width: 16px
}

.app-navbar .navbar-skeleton .avatar {
    border-radius: 20px;
    display: block;
    height: 40px;
    margin: 0 18px 0 25px;
    width: 40px
}

.app-navbar .navbar-skeleton .sk-logo {
    border-radius: 5px;
    display: block;
    height: 2.85714rem;
    margin-right: 1.42857rem;
    max-width: 169px;
    width: 100%
}

.app-navbar .navbar-skeleton .animated-bg {
    overflow: hidden;
    position: relative
}

.app-navbar .navbar-skeleton .animated-bg:before {
    -webkit-animation-duration: 1.25s;
    animation-duration: 1.25s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-name: loaderAnimation;
    animation-name: loaderAnimation;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: transparent;
    background: -webkit-gradient(linear, left top, right top, color-stop(10%, transparent), color-stop(18%, hsla(0, 0%, 100%, .5)), color-stop(33%, transparent));
    background: linear-gradient(90deg, transparent 10%, hsla(0, 0%, 100%, .5) 18%, transparent 33%);
    background-size: 800px 100%;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.app-navbar .navbar-skeleton.vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.app-navbar .navbar-skeleton.vertical .bottom-part,
.app-navbar .navbar-skeleton.vertical .top-part {
    padding: .71429rem 2.14286rem;
    width: 100%
}

.app-navbar .navbar-skeleton.vertical .bottom-part {
    padding-bottom: 2.14286rem
}

.app-navbar .navbar-skeleton.vertical .sk-logo {
    margin: 0
}

.app-navbar .navbar-skeleton.vertical .sk-menu {
    margin: 3.21429rem 0 0
}

.app-navbar .navbar-skeleton.vertical .sk-menu .sk-menu-item {
    border-radius: 3px;
    display: block;
    height: 1.07143rem;
    margin: 1.07143rem 0 0
}

.app-navbar .navbar-skeleton.vertical .sk-menu .sk-menu-item.menu-header {
    width: 50%
}

.app-navbar .navbar-skeleton.vertical .sk-button {
    background: #336cfb;
    border-radius: 6px;
    height: 2.85714rem;
    margin-top: 2.14286rem
}

.app-navbar .navbar-skeleton.vertical .horizontal-menu {
    -webkit-box-align: center;
    align-items: center;
    align-self: flex-start;
    display: none;
    height: 100%;
    margin: 0 .71429rem
}

.app-navbar .navbar-skeleton.vertical .horizontal-menu .sk-menu-item {
    border-radius: 3px;
    display: block;
    height: .71429rem;
    margin: 0 .71429rem 0 0;
    width: 5.71429rem
}

@media (min-width: 992px) {

    .app-navbar.horizontal-vertical .navbar-skeleton.vertical .bottom-part,
    .app-navbar.horizontal-vertical .navbar-skeleton.vertical .top-part {
        display: none
    }

    .app-navbar.horizontal-vertical .navbar-skeleton.vertical .horizontal-menu {
        display: -webkit-box;
        display: flex
    }
}

.app-search {
    display: block;
    max-width: 25rem;
    width: 50%
}

.app-search .typeahead__query {
    z-index: auto
}

.app-actions {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-flex: 2;
    -webkit-box-pack: end;
    justify-content: flex-end;
    margin: 0 !important
}

.app-actions .item {
    margin: 0 .71429rem
}

.app-actions .item .dropdown-toggle {
    color: inherit;
    display: block
}

.app-actions .item .dropdown-toggle .icon {
    font-size: 26px;
    opacity: .5;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out
}

.app-actions .item .dropdown-toggle:after {
    display: none
}

.app-actions .item .dropdown-toggle .badge {
    border: 2px solid #fff;
    -webkit-box-pack: center;
    justify-content: center;
    min-width: 21px;
    padding-left: 2px;
    padding-right: 2px;
    position: absolute;
    right: -5px;
    text-align: center;
    top: -5px
}

.app-actions .item .dropdown-toggle:hover .icon {
    opacity: 1
}

.app-actions .item .dropdown-menu {
    z-index: 9999
}

.app-actions .item.show .dropdown-toggle .icon {
    color: #336cfb;
    opacity: 1
}

.alert {
    border: 1px solid transparent;
    border-radius: 6px;
    position: relative;
    padding: calc(1.42858rem - 1px)
}

.alert .title {
    font-size: 1.25em;
    font-weight: 500;
    margin-bottom: .35714rem
}

.alert .close {
    align-self: flex-start;
    color: inherit;
    cursor: pointer;
    font-size: 1.25em;
    line-height: 1;
    margin: .71429rem;
    padding: 0;
    opacity: 0;
    text-shadow: none;
    -webkit-transition: opacity .2s ease-in-out;
    transition: opacity .2s ease-in-out
}

.alert .alert-icon {
    -webkit-box-align: center;
    align-items: center;
    background: hsla(0, 0%, 100%, .2);
    display: -webkit-box;
    display: flex;
    font-size: 1.43em;
    line-height: 1;
    min-height: 100%;
    padding: .71429rem 1.07143rem
}

.alert.alert-secondary {
    background: hsla(0, 0%, 92.2%, .3);
    color: inherit;
    border-color: hsla(0, 0%, 92.2%, .3)
}

.alert.alert-secondary.outline {
    background: transparent;
    color: hsla(0, 0%, 92.2%, .3)
}

.alert.alert-primary {
    background: #336cfb;
    color: #fff;
    border-color: #336cfb
}

.alert.alert-primary.outline {
    background: transparent;
    color: #336cfb
}

.alert.alert-success {
    background: #b7ce63;
    color: #000;
    border-color: #b7ce63
}

.alert.alert-success.outline {
    background: transparent;
    color: #b7ce63
}

.alert.alert-info {
    background: #64b5f6;
    color: #000;
    border-color: #64b5f6
}

.alert.alert-info.outline {
    background: transparent;
    color: #64b5f6
}

.alert.alert-warning {
    background: #e9e165;
    color: #000;
    border-color: #e9e165
}

.alert.alert-warning.outline {
    background: transparent;
    color: #e9e165
}

.alert.alert-danger {
    background: #ed5564;
    color: #fff;
    border-color: #ed5564
}

.alert.alert-danger.outline {
    background: transparent;
    color: #ed5564
}

.alert.alert-light {
    background: #e4e4e4;
    color: #000;
    border-color: #e4e4e4
}

.alert.alert-light.outline {
    background: transparent;
    color: #e4e4e4
}

.alert.alert-dark {
    background: #1f2022;
    color: #fff;
    border-color: #1f2022
}

.alert.alert-dark.outline {
    background: transparent;
    color: #1f2022
}

.alert.with-after-icon,
.alert.with-before-icon {
    display: -webkit-box;
    display: flex;
    padding: 0 .71429rem
}

.alert.with-after-icon .alert-content,
.alert.with-before-icon .alert-content {
    -webkit-box-flex: 1;
    flex: 1;
    padding: calc(1.42858rem - 1px) .71429rem
}

.alert.with-before-icon {
    padding-left: 0
}

.alert.with-after-icon {
    padding-right: 0
}

.alert:hover .close {
    opacity: 1
}

.badge {
    -webkit-box-align: center;
    align-items: center;
    border-width: 1px;
    border-style: solid;
    border-radius: 500px;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.43;
    padding: .35715rem calc(1.42858rem - 1px);
    vertical-align: top
}

.badge.badge-xs {
    padding: 0 calc(.35715rem - 1px)
}

.badge.badge-sm,
.badge.badge-xs {
    font-size: .7rem;
    line-height: 1.53061
}

.badge.badge-sm {
    padding: calc(.17857rem - 1px) calc(.71429rem - 1px)
}

.badge.badge-lg {
    font-size: 1.2rem;
    line-height: 1.19048;
    padding: calc(.71429rem - 1px) calc(2.14287rem - 1px)
}

.badge.badge-inside {
    font-size: 75%;
    padding: .1em 1em
}

.badge.badge-primary {
    background: #336cfb;
    border-color: #336cfb;
    color: #fff
}

.badge.badge-primary.badge-pill {
    background: transparent !important;
    color: #336cfb
}

.badge.badge-secondary {
    background: #626364;
    border-color: #626364;
    color: #fff
}

.badge.badge-secondary.badge-pill {
    background: transparent !important;
    color: #626364
}

.badge.badge-success {
    background: #b7ce63;
    border-color: #b7ce63;
    color: #000
}

.badge.badge-success.badge-pill {
    background: transparent !important;
    color: #b7ce63
}

.badge.badge-info {
    background: #64b5f6;
    border-color: #64b5f6;
    color: #000
}

.badge.badge-info.badge-pill {
    background: transparent !important;
    color: #64b5f6
}

.badge.badge-warning {
    background: #e9e165;
    border-color: #e9e165;
    color: #000
}

.badge.badge-warning.badge-pill {
    background: transparent !important;
    color: #e9e165
}

.badge.badge-error {
    background: #ed5564;
    border-color: #ed5564;
    color: #fff
}

.badge.badge-error.badge-pill {
    background: transparent !important;
    color: #ed5564
}

.badge.badge-light {
    background: #e4e4e4;
    border-color: #e4e4e4;
    color: #000
}

.badge.badge-light.badge-pill {
    background: transparent !important;
    color: #e4e4e4
}

.badge.badge-dark {
    background: #0a0b0c;
    border-color: #0a0b0c;
    color: #fff
}

.badge.badge-dark.badge-pill {
    background: transparent !important;
    color: #0a0b0c
}

@-webkit-keyframes rotation {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

    to {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg)
    }
}

.btn {
    -webkit-box-align: center;
    align-items: center;
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12);
    cursor: pointer;
    display: -webkit-inline-box;
    display: inline-flex;
    font-family: Lato, sans-serif;
    font-size: 1rem;
    font-weight: 700;
    -webkit-box-pack: center;
    justify-content: center;
    line-height: 1.42857;
    outline: none;
    padding: calc(.71429rem - .5px) 1.42857rem;
    position: relative;
    text-align: center;
    text-transform: none;
    touch-action: manipulation;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
    white-space: nowrap;
    will-change: background, border, box-shadow, color, opacity;
    -webkit-appearance: none
}

.btn:hover {
    border-color: transparent;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12)
}

.btn .btn-icon {
    font-size: 1.3em;
    margin: 0
}

.btn .btn-loader {
    -webkit-box-align: center;
    align-items: center;
    background: inherit;
    border-radius: inherit;
    display: -webkit-box;
    display: flex;
    font-size: 150%;
    height: 100%;
    -webkit-box-pack: center;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%
}

.btn .btn-loader:before {
    -webkit-animation: rotation 1s linear infinite;
    animation: rotation 1s linear infinite
}

.btn.btn-square {
    min-width: 2.85714rem
}

.btn.btn-square,
.btn.btn-square.btn-sm {
    padding-left: .35714rem;
    padding-right: .35714rem
}

.btn.btn-square.btn-sm {
    min-width: 2.5rem
}

.btn.btn-square.btn-lg {
    min-width: 3.57143rem;
    padding-left: .71429rem;
    padding-right: .71429rem
}

.btn.btn-lg {
    font-size: 1.2rem;
    line-height: 1.19048;
    padding: calc(1.07143rem - .5px) 2.14286rem
}

.btn.btn-sm {
    font-size: .8rem;
    line-height: .89286;
    padding: calc(.71429rem - .5px) .71429rem
}

.btn.btn-primary {
    background: #336cfb;
    border-color: #336cfb;
    color: #fff
}

.btn.btn-primary:hover {
    background: #2759fa;
    color: #fff
}

.btn.btn-primary.btn-outline {
    border-color: #336cfb;
    color: #336cfb
}

.active .btn.btn-primary.btn-outline,
.btn.btn-primary.btn-outline:hover {
    background: #336cfb;
    color: #fff
}

.btn.btn-secondary {
    background: #626364;
    border-color: #626364;
    color: #fff
}

.btn.btn-secondary:hover {
    background: #1f2022;
    color: #fff
}

.btn.btn-secondary.btn-outline {
    border-color: #626364;
    color: #626364
}

.active .btn.btn-secondary.btn-outline,
.btn.btn-secondary.btn-outline:hover {
    background: #626364;
    color: #fff
}

.btn.btn-success {
    background: #b7ce63;
    border-color: #b7ce63;
    color: #000
}

.btn.btn-success:hover {
    background: #a5c13d;
    color: #000
}

.btn.btn-success.btn-outline {
    border-color: #b7ce63;
    color: #b7ce63
}

.active .btn.btn-success.btn-outline,
.btn.btn-success.btn-outline:hover {
    background: #b7ce63;
    color: #000
}

.btn.btn-info {
    background: #64b5f6;
    border-color: #64b5f6;
    color: #000
}

.btn.btn-info:hover {
    background: #349ef3;
    color: #000
}

.btn.btn-info.btn-outline {
    border-color: #64b5f6;
    color: #64b5f6
}

.active .btn.btn-info.btn-outline,
.btn.btn-info.btn-outline:hover {
    background: #64b5f6;
    color: #000
}

.btn.btn-warning {
    background: #e9e165;
    border-color: #e9e165;
    color: #000
}

.btn.btn-warning:hover {
    background: #e3d838;
    color: #000
}

.btn.btn-warning.btn-outline {
    border-color: #e9e165;
    color: #e9e165
}

.active .btn.btn-warning.btn-outline,
.btn.btn-warning.btn-outline:hover {
    background: #e9e165;
    color: #000
}

.btn.btn-error {
    background: #ed5564;
    border-color: #ed5564;
    color: #fff
}

.btn.btn-error:hover {
    background: #e8273a;
    color: #e6e6e6
}

.btn.btn-error.btn-outline {
    border-color: #ed5564;
    color: #ed5564
}

.active .btn.btn-error.btn-outline,
.btn.btn-error.btn-outline:hover {
    background: #ed5564;
    color: #fff
}

.btn.btn-outline {
    background: transparent
}

.btn.disabled,
.btn:disabled {
    opacity: .6
}

.btn.btn-load,
.btn.disabled,
.btn:disabled {
    cursor: not-allowed;
    pointer-events: none
}

.btn.btn-load .btn-icon,
.btn.btn-load .btn-text {
    visibility: hidden
}

.btn.btn-load .btn-loader {
    visibility: visible
}

.btn.btn-icon-animation .btn-icon {
    -webkit-box-align: center;
    align-items: center;
    background: inherit;
    bottom: 0;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: -webkit-transform .2s ease-in-out;
    transition: -webkit-transform .2s ease-in-out;
    transition: transform .2s ease-in-out;
    transition: transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    -webkit-transform: scale(0);
    transform: scale(0);
    will-change: transform
}

.active .btn.btn-icon-animation .btn-icon,
.btn.btn-icon-animation:hover .btn-icon {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.card {
    background: transparent 50% 50% no-repeat;
    background-size: cover;
    border: 0;
    border-radius: 6px;
    display: block;
    margin-bottom: 2.85714rem;
    position: relative
}

.card .card-img {
    width: 100%
}

.card .card-img,
.card .card-img-top {
    border-top-left-radius: inherit;
    border-top-right-radius: inherit
}

.card .card-img-overlay {
    overflow: auto
}

.card .card-header {
    background: none;
    border: 0;
    font-size: 2rem;
    font-weight: 500;
    margin: 0;
    padding: 0
}

.card .card-body {
    display: block;
    padding: 1.42857rem 0 0;
    position: relative;
    width: 100%
}

.card .card-body:first-child {
    padding-top: 0
}

.card .overlay-img {
    border-radius: inherit
}

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

.card.bg-danger,
.card.bg-dark,
.card.bg-info,
.card.bg-light,
.card.bg-primary,
.card.bg-secondary,
.card.bg-success,
.card.bg-warning,
.card.border-danger,
.card.border-dark,
.card.border-info,
.card.border-light,
.card.border-primary,
.card.border-secondary,
.card.border-success,
.card.border-warning {
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12)
}

.card.bg-danger .card-header,
.card.bg-dark .card-header,
.card.bg-info .card-header,
.card.bg-light .card-header,
.card.bg-primary .card-header,
.card.bg-secondary .card-header,
.card.bg-success .card-header,
.card.bg-warning .card-header,
.card.border-danger .card-header,
.card.border-dark .card-header,
.card.border-info .card-header,
.card.border-light .card-header,
.card.border-primary .card-header,
.card.border-secondary .card-header,
.card.border-success .card-header,
.card.border-warning .card-header {
    padding: .71429rem 1.42857rem 0
}

.card.bg-danger .card-body,
.card.bg-dark .card-body,
.card.bg-info .card-body,
.card.bg-light .card-body,
.card.bg-primary .card-body,
.card.bg-secondary .card-body,
.card.bg-success .card-body,
.card.bg-warning .card-body,
.card.border-danger .card-body,
.card.border-dark .card-body,
.card.border-info .card-body,
.card.border-light .card-body,
.card.border-primary .card-body,
.card.border-secondary .card-body,
.card.border-success .card-body,
.card.border-warning .card-body {
    padding: 1.42857rem
}

.card.border-danger,
.card.border-dark,
.card.border-info,
.card.border-light,
.card.border-primary,
.card.border-secondary,
.card.border-success,
.card.border-warning {
    background: none;
    border-style: solid;
    border-width: 1px
}

.custom-control {
    padding-left: 2.14286rem;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.form-check-label {
    font-weight: 500
}

.custom-checkbox .custom-control-label {
    color: inherit;
    cursor: pointer;
    font-weight: 500
}

.custom-checkbox .custom-control-label:after,
.custom-checkbox .custom-control-label:before {
    -webkit-box-align: center;
    align-items: center;
    border-radius: 3px;
    box-shadow: none !important;
    display: -webkit-box;
    display: flex;
    height: 1.42857rem;
    -webkit-box-pack: center;
    justify-content: center;
    left: -2.14286rem;
    margin: 0;
    outline: none !important;
    padding: 0;
    top: 0;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, transform .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: 1.42857rem
}

.custom-checkbox .custom-control-label:before {
    background: #ebebeb;
    border: 1px solid #ebebeb;
    content: "";
    pointer-events: auto
}

.custom-checkbox .custom-control-label:after {
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    color: #fff;
    content: "\eed6";
    direction: ltr;
    font-family: IcoFont !important;
    font-size: 1.6rem;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    line-height: 1;
    pointer-events: none;
    speak: none;
    text-transform: none;
    -webkit-transform: scale(0);
    transform: scale(0);
    white-space: nowrap;
    word-wrap: normal
}

.custom-checkbox .custom-control-label:hover {
    color: inherit
}

.custom-checkbox .custom-control-label:hover:before {
    background: #ebebeb;
    border-color: #ebebeb
}

.custom-checkbox .custom-control-label:hover:after {
    color: #336cfb;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.custom-checkbox .custom-control-input:checked~.custom-control-label:before {
    background: #336cfb;
    border-color: #336cfb
}

.custom-checkbox .custom-control-input:checked~.custom-control-label:after {
    background-image: none !important;
    color: #fff;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.custom-checkbox .custom-control-input:disabled~.custom-control-label {
    color: #bdbdbd;
    cursor: not-allowed
}

.custom-checkbox .custom-control-input:disabled~.custom-control-label:before {
    background: hsla(0, 0%, 80%, .1);
    border-color: hsla(0, 0%, 80%, .5)
}

.custom-checkbox .custom-control-input:disabled~.custom-control-label:after {
    color: inherit;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before {
    background: hsla(0, 0%, 80%, .1);
    border-color: hsla(0, 0%, 80%, .5)
}

.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.contact {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12);
    display: block;
    margin: 0 auto 1.42857rem;
    max-width: 400px;
    text-align: center;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out, opacity .2s ease-in-out;
}

.contact:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12)
}

.contact .img-box {
    background: rgba(0, 0, 0, .05);
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    overflow: hidden
}

.contact .info-box {
    padding: 1.42857rem 1.42857rem 2.14286rem
}

.contact .info-box .name {
    margin: 0 0 .71429rem
}

.contact .info-box .role {
    opacity: .6
}

.contact .info-box .social {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    margin: 0 -.35714rem 1.42857rem
}

.contact .info-box .social .link {
    color: inherit;
    display: block;
    font-size: 1.43rem;
    margin: 0 .35714rem
}

.contact .info-box .social .link:hover {
    color: #336cfb
}

.contact .info-box .address {
    opacity: .6
}

.dropdown-toggle-split {
    padding-left: .71429rem;
    padding-right: .71429rem
}

.dropdown-menu {
    background: #fff;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12);
    margin: 0;
    padding: .71429rem 0
}

.dropdown-menu .menu-list {
    font-size: 13px;
    list-style-type: none;
    margin: 0;
    padding: 10px 0
}

.dropdown-menu .menu-list li a {
    color: rgba(51, 51, 51, .65);
    display: block;
    padding: 5px 15px;
    text-decoration: none
}

.dropdown-menu .menu-list li a:hover {
    color: #333
}

.dropdown-menu .menu-footer,
.dropdown-menu .menu-header {
    margin: 0;
    padding: .71429rem 1.42857rem
}

.dropdown-menu .menu-header {
    -webkit-box-align: center;
    align-items: center;
    border-radius: 6px 6px 0 0;
    color: #1f2022;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between
}

.dropdown-menu .menu-footer {
    border-radius: 0 0 6px 6px
}

.dropdown-menu .list {
    list-style-type: none;
    margin: 0;
    max-height: 280px;
    overflow: auto;
    padding: 0
}

.dropdown-menu .list>li>.drop-down-menu-item {
    color: #1f2022;
    color: var(--main-color);
    display: -webkit-box;
    display: flex;
    padding: .71429rem 1.42857rem;
    text-decoration: none;
    -webkit-transition: background .2s ease-in-out, color .2s ease-in-out;
    transition: background .2s ease-in-out, color .2s ease-in-out
}

.dropdown-menu .list>li>.drop-down-menu-item .avatar,
.dropdown-menu .list>li>.drop-down-menu-item .icon,
.dropdown-menu .list>li>.drop-down-menu-item .tc-icon {
    align-self: flex-start;
    margin-right: .71429rem
}

.dropdown-menu .list>li>.drop-down-menu-item .icon {
    background: rgba(31, 32, 34, .1);
    border-radius: 50%;
    font-size: 1rem;
    height: auto;
    padding: .71429rem;
    -webkit-transition: background .2s ease-in-out;
    transition: background .2s ease-in-out;
    width: auto
}

.dropdown-menu .list>li>.drop-down-menu-item .avatar {
    border-radius: 50%;
    height: 40px;
    width: 40px
}

.dropdown-menu .list>li>.drop-down-menu-item .content {
    font-size: .85rem
}

.dropdown-menu .list>li>.drop-down-menu-item .content .desc {
    display: block
}

.dropdown-menu .list>li>.drop-down-menu-item .content .date,
.dropdown-menu .list>li>.drop-down-menu-item .content .size {
    display: block;
    font-size: .75rem;
    margin-top: 4px;
    opacity: .6
}

.dropdown-menu .list>li>.drop-down-menu-item .content .meta {
    -webkit-box-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    line-height: 1.3;
    margin-bottom: 4px
}

.dropdown-menu .list>li>.drop-down-menu-item .content .meta .date {
    margin: 0 0 0 11px
}

.dropdown-menu .list>li>.drop-down-menu-item:hover {
    color: #336cfb
}

.dropdown-menu .list>li>.drop-down-menu-item:hover .icon {
    background: #336cfb;
    color: #fff
}

.dropdown-menu .list>li:first-child>a {
    border-top: 0
}

.dropdown-menu .list>li .empty-item {
    display: block;
    padding: .71429rem 1.42857rem
}

.dropdown-menu .author-info {
    padding: 1.42857rem .71429rem 0;
    text-align: center
}

.dropdown-menu .author-info .author-name {
    font-size: 1rem
}

.dropdown-menu .dropdown-overlay {
    bottom: 0;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: opacity .1s ease-in-out .2s;
    transition: opacity .1s ease-in-out .2s;
    z-index: 9997
}

.dropdown-menu .dropdown-overlay .overlay-bg {
    background: rgba(31, 32, 34, .1);
    display: block;
    height: 100%;
    width: 100%
}

.dropdown-menu.dropdown-menu-w-180 {
    width: 180px
}

.dropdown-menu.dropdown-menu-w-280 {
    width: 280px
}

@-webkit-keyframes autofill {
    to {
        color: #666;
        background: transparent
    }
}

input:-webkit-autofill {
    -webkit-animation-name: autofill;
    -webkit-animation-fill-mode: both
}

.form-control {
    background: #ebebeb;
    border: 1px solid #ebebeb;
    border-radius: 20px;
    color: #1f2022;
    display: block;
    font-size: 1rem;
    height: auto;
    line-height: 1.43;
    outline: none;
    padding: calc(.71429rem - 1px) 1.42857rem;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
    will-change: background, border, box-shadow, color;
    width: 100%
}

.form-control ::-webkit-input-placeholder {
    color: #a8a8a8
}

.form-control :-moz-placeholder,
.form-control ::-moz-placeholder {
    color: #a8a8a8
}

.form-control :-ms-input-placeholder {
    color: #a8a8a8
}

.form-control:hover {
    background: #ebebeb;
    border-color: #ebebeb
}

.form-control:focus,
.form-control:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    color: #1f2022
}

.form-control:focus {
    background: #fff;
    border-color: #336cfb
}

.form-control .tc-input-wrap .input-prefix,
.form-control .tc-input-wrap .input-suffix {
    color: #a8a8a8;
    -webkit-box-flex: 0;
    flex: none;
    padding: 0 .2em
}

.form-control .tc-input-wrap .input-icon {
    font-size: 1.3em
}

.form-control .tc-input-wrap .char-limiting {
    -webkit-box-align: center;
    align-items: center;
    color: #a8a8a8;
    display: -webkit-box;
    display: flex;
    font-size: .9em;
    -webkit-box-pack: center;
    justify-content: center;
    padding: 0 .2em;
    pointer-events: none
}

.form-control.ng-invalid.ng-touched .tc-input-wrap,
.has-error .form-control .tc-input-wrap {
    background-color: rgba(237, 85, 100, .1);
    border: 1px solid #ed5564
}

.form-control.form-control-sm {
    border-radius: 16px;
    font-size: .9rem;
    height: 2.14286rem;
    line-height: 1.5873;
    padding-top: .35714rem;
    padding-bottom: .35714rem
}

.form-control.form-control-sm .input-icon {
    font-size: 1.1em
}

.form-control.form-control-lg {
    border-radius: 30px;
    font-size: 1.3rem;
    height: 3.57143rem;
    line-height: 1.0989;
    padding-top: 1.07143rem;
    padding-bottom: 1.07143rem
}

.form-control.disabled,
.form-control:disabled,
.form-control[readonly] {
    background-color: hsla(0, 0%, 80%, .1);
    border-color: hsla(0, 0%, 80%, .5);
    box-shadow: none !important;
    color: #bdbdbd;
    cursor: not-allowed
}

.form-control-plaintext {
    color: #1f2022;
    font-size: 1rem;
    height: 2.85714rem;
    line-height: 1.43;
    padding-top: calc(.71429rem - 1px);
    padding-bottom: calc(.71429rem - 1px)
}

.form-control-plaintext.form-control-sm {
    font-size: .9rem;
    height: 2.14286rem;
    line-height: 1.5873;
    padding-top: .35714rem;
    padding-bottom: .35714rem
}

.form-control-plaintext.form-control-lg {
    font-size: 1.3rem;
    height: 3.57143rem;
    line-height: 1.0989;
    padding-top: 1.07143rem;
    padding-bottom: 1.07143rem
}

.form-group {
    margin-bottom: 1.42857rem;
    position: relative
}

.form-text {
    display: block;
    margin: .71429rem 0 0
}

label {
    font-weight: 600;
    margin: 0 0 .71429rem
}

.input-group-text {
    background: #ebebeb;
    border: 1px solid #ebebeb;
    border-radius: 20px;
    padding-left: 1.42857rem;
    padding-right: 1.42857rem
}

.input-group .btn {
    border-radius: 20px
}

.input-group .typeahead__cancel-button {
    z-index: 1
}

.input-group .typeahead__cancel-button+.form-control {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px
}

.input-group .input-group-prepend~.form-control {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

.with-prefix-icon,
.with-suffix-icon {
    position: relative
}

.with-prefix-icon .prefix-icon,
.with-prefix-icon .suffix-icon,
.with-suffix-icon .prefix-icon,
.with-suffix-icon .suffix-icon {
    -webkit-box-align: center;
    align-items: center;
    color: #a8a8a8;
    display: -webkit-box;
    display: flex;
    height: 100%;
    -webkit-box-pack: center;
    justify-content: center;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 2.85714rem
}

.with-prefix-icon .prefix-icon,
.with-suffix-icon .prefix-icon {
    left: 0
}

.with-prefix-icon .suffix-icon,
.with-suffix-icon .suffix-icon {
    right: 0
}

.with-prefix-icon .form-control {
    padding-left: 2.85714rem
}

.with-suffix-icon .form-control {
    padding-right: 2.85714rem
}

textarea.form-control {
    min-height: 2.85714rem;
    resize: none
}

textarea.form-control.resize {
    resize: vertical
}

.form-control.is-invalid,
.form-control.is-valid,
.was-validated .form-control:invalid,
.was-validated .form-control:valid {
    background-position: top 50% right .71429rem
}

.was-validated textarea.form-control:invalid,
.was-validated textarea.form-control:valid,
textarea.form-control.is-invalid,
textarea.form-control.is-valid {
    background-position: top .71429rem right .71429rem
}

.modal {
    z-index: 9999
}

.modal-content {
    background: #fff;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12)
}

.modal-content .close {
    position: absolute;
    right: 3px;
    top: 3px
}

.modal-content .modal-header {
    -webkit-box-align: center;
    align-items: center;
    border: 0;
    border-top-left-radius: inherit;
    border-top-right-radius: inherit;
    display: -webkit-box;
    display: flex;
    margin: 0;
    padding: 1.42857rem 1.07143rem
}

.modal-content .modal-header>* {
    margin: 0 .35714rem
}

.modal-content .modal-header .modal-title {
    font-size: 2rem;
    font-weight: 500;
    line-height: 1
}

.modal-content .modal-body {
    padding: 1.42857rem
}

.modal-content .modal-footer {
    background: rgba(0, 0, 0, .05);
    border: 0;
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    padding: 1.42857rem
}

.modal-content .modal-footer .actions {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: -.35714rem
}

.modal-content .modal-footer .actions>* {
    margin: .35714rem
}

.modal-dialog-bottom {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    align-items: flex-end;
    min-height: calc(100% - 3.5rem)
}

.modal-backdrop {
    background: rgba(0, 0, 0, .1);
    z-index: 9998
}

.custom-radio .custom-control-label {
    color: inherit;
    cursor: pointer;
    font-weight: 500
}

.custom-radio .custom-control-label:after,
.custom-radio .custom-control-label:before {
    -webkit-box-align: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: none !important;
    display: -webkit-box;
    display: flex;
    height: 1.42857rem;
    -webkit-box-pack: center;
    justify-content: center;
    left: -2.14286rem;
    margin: 0;
    outline: none !important;
    padding: 0;
    top: 0;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, transform .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: 1.42857rem
}

.custom-radio .custom-control-label:before {
    background: #ebebeb;
    border: 1px solid #ebebeb;
    content: "";
    pointer-events: auto
}

.custom-radio .custom-control-label:after {
    background: #336cfb;
    border-radius: 50%;
    height: calc(1.42857rem - 8px);
    margin: 4px 0 0 4px;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: background .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, transform .2s ease-in-out;
    transition: background .2s ease-in-out, transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: calc(1.42857rem - 8px)
}

.custom-radio .custom-control-label:hover {
    color: inherit
}

.custom-radio .custom-control-label:hover:before {
    background: #ebebeb;
    border-color: #ebebeb
}

.custom-radio .custom-control-label:hover:after {
    background: #336cfb;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.custom-radio .custom-control-input:checked~.custom-control-label:before {
    background: #336cfb;
    border-color: #336cfb
}

.custom-radio .custom-control-input:checked~.custom-control-label:after {
    background: #fff;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.custom-radio .custom-control-input:disabled~.custom-control-label {
    color: #bdbdbd;
    cursor: not-allowed
}

.custom-radio .custom-control-input:disabled~.custom-control-label:before {
    background: hsla(0, 0%, 80%, .1);
    border-color: hsla(0, 0%, 80%, .5)
}

.custom-radio .custom-control-input:disabled~.custom-control-label:after {
    background: #bdbdbd;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before {
    background: hsla(0, 0%, 80%, .1);
    border-color: hsla(0, 0%, 80%, .5)
}

.custom-radio .custom-control-input:disabled:checked~.custom-control-label:after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.br-wrapper .rating.rating-sm+.br-widget {
    font-size: 1rem
}

.br-wrapper .rating.rating-lg+.br-widget {
    font-size: 2rem
}

.br-wrapper .br-widget {
    display: -webkit-box;
    display: flex;
    font-size: 1.43rem;
    margin: 0 -.17857rem;
    white-space: nowrap
}

.br-wrapper .br-widget a {
    color: #c1c1c1;
    cursor: pointer;
    display: block;
    font-size: inherit;
    margin: 0 .17857rem;
    -webkit-transition: border .2s ease-in-out, color .2s ease-in-out;
    transition: border .2s ease-in-out, color .2s ease-in-out;
    font-family: IcoFont !important;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    line-height: 1;
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased
}

.br-wrapper .br-widget a:after {
    content: "\f000";
    line-height: 1
}

.br-wrapper .br-widget a.number {
    border: 2px solid #c1c1c1;
    min-width: 2.14286rem;
    padding: calc(.35715rem - 2px);
    text-align: center
}

.br-wrapper .br-widget a.br-active {
    color: #ffeb3d
}

.br-wrapper .br-widget a.br-active.number {
    border-color: #ffeb3d
}

.br-wrapper .br-widget a.br-selected {
    color: #faa110
}

.br-wrapper .br-widget a.br-selected.number {
    border-color: #faa110
}

.br-wrapper .br-widget.rating-numbered {
    font-size: 1rem
}

.br-wrapper .br-widget.br-readonly a {
    cursor: default
}

.bootstrap-select,
.bootstrap-select .dropdown-toggle,
.bootstrap-select .dropdown-toggle:focus {
    outline: none !important
}

.bootstrap-select,
.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn) {
    width: 100%
}

.bootstrap-select.show .form-control {
    background: rgba(51, 108, 251, .01);
    border-color: #336cfb;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
    color: #1f2022
}

.bootstrap-select.rounded-0>.dropdown-toggle,
.bootstrap-select.rounded-20>.dropdown-toggle,
.bootstrap-select.rounded-500>.dropdown-toggle,
.bootstrap-select.rounded-pill>.dropdown-toggle,
.bootstrap-select.rounded>.dropdown-toggle {
    border-radius: inherit
}

.bootstrap-select .dropdown-menu li a span.check-mark {
    font-size: 1.5em;
    top: 2px
}

.custom-switch {
    padding-left: 3.57143rem
}

.custom-switch .custom-control-label {
    color: inherit;
    cursor: pointer;
    font-weight: 500
}

.custom-switch .custom-control-label:before {
    background: #ebebeb;
    border: 1px solid #ebebeb;
    border-radius: 500px;
    cursor: inherit;
    display: block;
    height: 1.42857rem;
    left: -3.57143rem;
    margin: 0;
    top: 0;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out;
    width: 2.85714rem
}

.custom-switch .custom-control-label:after {
    background: #1f2022;
    border-radius: 50%;
    display: block;
    height: .89286rem;
    left: -3.57143rem;
    margin-top: .26786rem;
    top: 0;
    -webkit-transform: translateX(.26786rem);
    transform: translateX(.26786rem);
    -webkit-transition: background .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, -webkit-transform .2s ease-in-out;
    transition: background .2s ease-in-out, transform .2s ease-in-out;
    transition: background .2s ease-in-out, transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
    width: .89286rem
}

.custom-switch .custom-control-label:hover:after {
    background: #336cfb
}

.custom-switch .custom-control-input:checked~.custom-control-label:before {
    background: #336cfb;
    border-color: #336cfb
}

.custom-switch .custom-control-input:checked~.custom-control-label:after {
    background: #fff;
    -webkit-transform: translateX(1.69643rem);
    transform: translateX(1.69643rem)
}

.custom-switch .custom-control-input:disabled:checked~.custom-control-label,
.custom-switch .custom-control-input:disabled~.custom-control-label {
    color: #bdbdbd;
    cursor: not-allowed
}

.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before,
.custom-switch .custom-control-input:disabled~.custom-control-label:before {
    background: hsla(0, 0%, 80%, .1);
    border-color: hsla(0, 0%, 80%, .5)
}

.custom-switch .custom-control-input:disabled:checked~.custom-control-label:after,
.custom-switch .custom-control-input:disabled~.custom-control-label:after {
    background: #bdbdbd
}

.pagination {
    list-style-type: none;
    display: -webkit-box;
    display: flex;
    margin: 0 -.17857rem;
    padding: 0
}

.pagination .page-item {
    margin: 0 .17857rem
}

.pagination .page-item .page-link {
    background: #d4d3d3;
    border-color: #d4d3d3;
    border-radius: 500px;
    color: #fff;
    cursor: pointer;
    display: block;
    min-height: 2.14286rem;
    min-width: 2.14286rem;
    padding: .35714rem;
    text-align: center;
    text-decoration: none;
    -webkit-transition: background-color .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out;
    transition: background-color .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out
}

.pagination .page-item.active .page-link,
.pagination .page-item .page-link.active,
.pagination .page-item .page-link:hover {
    background: #336cfb;
    border-color: #336cfb;
    color: #fff
}

.pagination .page-item.disabled .page-link {
    background: rgba(212, 211, 211, .6);
    border-color: rgba(212, 211, 211, .6);
    color: #fff;
    pointer-events: none
}

.table {
    border-color: #fff;
    border-radius: 0;
    color: inherit
}

.table tr {
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, box-shadow .2s ease-in-out, color .2s ease-in-out;
    will-change: background, border, box-shadow, color;
    width: 100%
}

.table tr td,
.table tr th {
    border: 0;
    border-bottom: 2px solid #fff;
    padding: .71429rem;
    vertical-align: middle
}

.table tr td:first-child,
.table tr th:first-child {
    padding-left: 1.42857rem
}

.table tr td:last-child,
.table tr th:last-child {
    padding-right: 1.42857rem
}

.table tr th {
    background: rgba(31, 32, 34, .1);
    position: relative
}

.table tr td {
    background: hsla(0, 0%, 92.2%, .3)
}

.table tbody tr:last-child td,
.table tbody tr:last-child th {
    border-bottom: none
}

.table .thead-dark th {
    background: #171819;
    border-color: #171819;
    color: #fff
}

.table .thead-light th {
    background: rgba(31, 32, 34, .1);
    border-color: rgba(31, 32, 34, .1);
    color: #1f2022
}

.table.table-dark {
    background: #414143;
    border-color: #8f9091;
    color: #fff
}

.table.table-dark tr td,
.table.table-dark tr th {
    background: inherit
}

.table.table-dark tr th {
    background: #171819;
    color: #fff
}

.table.table-hover tbody tr {
    background: none;
    color: inherit
}

.table.table-hover tbody tr:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, .12);
    -webkit-transform: scale(1);
    transform: scale(1);
    z-index: 1
}

.table.table-bordered tbody tr td,
.table.table-bordered tbody tr th,
.table.table-bordered thead tr td,
.table.table-bordered thead tr th {
    border: 2px solid #ebebeb
}

.table.table-striped tbody tr:nth-of-type(odd) {
    background: none
}

.table.table-striped tbody tr:nth-of-type(2n) td,
.table.table-striped tbody tr:nth-of-type(2n) th {
    background: rgba(31, 32, 34, .08)
}

.table.table-borderless tbody tr td,
.table.table-borderless tbody tr th,
.table.table-borderless thead tr td,
.table.table-borderless thead tr th {
    border: 0
}

.table.table-sm tr td,
.table.table-sm tr th {
    padding: .35714rem
}

.table.table-sm tr td:first-child,
.table.table-sm tr th:first-child {
    padding-left: .71429rem
}

.table.table-sm tr td:last-child,
.table.table-sm tr th:last-child {
    padding-right: .71429rem
}

.table.table-active,
.table .table-active,
.table.table-active>td,
.table .table-active>td,
.table.table-active>th,
.table .table-active>th {
    background: #0a0b0c;
    color: #fff
}

.table.table-secondary,
.table .table-secondary,
.table.table-secondary>td,
.table .table-secondary>td,
.table.table-secondary>th,
.table .table-secondary>th {
    background: hsla(0, 0%, 92.2%, .3);
    color: inherit
}

.table.table-primary,
.table .table-primary,
.table.table-primary>td,
.table .table-primary>td,
.table.table-primary>th,
.table .table-primary>th {
    background: #336cfb;
    color: #fff
}

.table.table-success,
.table .table-success,
.table.table-success>td,
.table .table-success>td,
.table.table-success>th,
.table .table-success>th {
    background: #b7ce63;
    color: #000
}

.table.table-info,
.table .table-info,
.table.table-info>td,
.table .table-info>td,
.table.table-info>th,
.table .table-info>th {
    background: #64b5f6;
    color: #000
}

.table.table-warning,
.table .table-warning,
.table.table-warning>td,
.table .table-warning>td,
.table.table-warning>th,
.table .table-warning>th {
    background: #e9e165;
    color: #000
}

.table.table-danger,
.table .table-danger,
.table.table-danger>td,
.table .table-danger>td,
.table.table-danger>th,
.table .table-danger>th {
    background: #ed5564;
    color: #fff
}

.table.table-light,
.table .table-light,
.table.table-light>td,
.table .table-light>td,
.table.table-light>th,
.table .table-light>th {
    background: #e4e4e4;
    color: #000
}

.table.table-dark,
.table .table-dark,
.table.table-dark>td,
.table .table-dark>td,
.table.table-dark>th,
.table .table-dark>th {
    background: #414143;
    color: #fff
}

.table .actions {
    display: -webkit-box;
    display: flex;
    margin: -.17857rem
}

.table .actions .btn {
    margin: .17857rem
}

.table-responsive {
    margin: -10px;
    padding: 10px;
    width: auto
}

table.dataTable thead .sorting:after,
table.dataTable thead .sorting:before,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_asc:before,
table.dataTable thead .sorting_asc_disabled:after,
table.dataTable thead .sorting_asc_disabled:before,
table.dataTable thead .sorting_desc:after,
table.dataTable thead .sorting_desc:before,
table.dataTable thead .sorting_desc_disabled:after,
table.dataTable thead .sorting_desc_disabled:before {
    bottom: .7em
}

@media (max-width: 767px) {
    .dataTables_wrapper>.row>.col-sm-12 {
        overflow: auto
    }

    .dataTables_wrapper>.row .dataTables_paginate .pagination {
        -webkit-box-pack: center;
        justify-content: center;
        margin-top: .71429rem
    }
}

.v-timeline {
    display: block;
    position: relative
}

.v-timeline .line {
    background: #e4e4e4;
    bottom: 1.42857rem;
    left: 1.42857rem;
    margin: 0 -1px;
    position: absolute;
    top: 1.42857rem;
    width: 2px
}

.v-timeline .timeline-box .box-label {
    display: -webkit-box;
    display: flex;
    padding: .71429rem 0
}

.v-timeline .timeline-box .box-label .badge {
    position: relative
}

.v-timeline .timeline-box .box-items {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.v-timeline .timeline-box .box-items .item {
    display: -webkit-box;
    display: flex;
    margin: 1.42857rem -.71429rem;
    position: relative
}

.v-timeline .timeline-box .box-items .item .icon-block {
    -webkit-box-align: center;
    align-items: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    margin: 0 .71429rem
}

.v-timeline .timeline-box .box-items .item .icon-block .item-icon {
    -webkit-box-align: center;
    align-items: center;
    background: #336cfb;
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: flex;
    font-size: 1.7rem;
    height: 2.85714rem;
    -webkit-box-pack: center;
    justify-content: center;
    min-height: 2.85714rem;
    width: 2.85714rem
}

.v-timeline .timeline-box .box-items .item .content-block {
    -webkit-box-flex: 2;
    flex-grow: 2;
    margin: 0 .71429rem
}

.v-timeline .timeline-box .box-items .item .content-block .item-header,
.v-timeline .timeline-box .box-items .item .content-block .item-header .item-title {
    margin: 0
}

.v-timeline .timeline-box .box-items .item .content-block .item-header .item-date {
    color: #bcbcbd;
    margin: 0;
    white-space: nowrap
}

.v-timeline .timeline-box .box-items .item .content-block .item-desc {
    margin-top: .71429rem
}

.v-timeline.dots .line {
    left: .35714rem
}

.v-timeline.dots .timeline-box .box-items .item .icon-block .item-icon {
    height: .71429rem;
    min-height: .71429rem;
    width: .71429rem
}

.v-timeline.dots .timeline-box .box-items .item .icon-block .item-icon:before {
    display: none
}

.v-timeline.align-right .line {
    left: auto;
    right: 1.42857rem
}

.v-timeline.align-right .timeline-box .box-label {
    -webkit-box-pack: end;
    justify-content: flex-end
}

.v-timeline.align-right .timeline-box .box-items .item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
    text-align: right
}

.v-timeline.align-right .timeline-box .box-items .item .content-block .item-header {
    -webkit-box-pack: end;
    justify-content: flex-end
}

.v-timeline.align-right .timeline-box .box-items .item .content-block .item-desc {
    text-align: right
}

.v-timeline.align-right.dots .line {
    left: auto;
    right: .35714rem
}

.v-timeline.align-center .line {
    display: none
}

.v-timeline.align-center .timeline-box .box-label {
    -webkit-box-pack: center;
    justify-content: center
}

.v-timeline.align-center .timeline-box .box-items .item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    margin: .71429rem -.35714rem
}

.v-timeline.align-center .timeline-box .box-items .item .icon-block {
    margin-bottom: .71429rem
}

.v-timeline.align-center .timeline-box .box-items .item .content-block {
    padding-bottom: 2.85714rem;
    position: relative;
    text-align: center
}

.v-timeline.align-center .timeline-box .box-items .item .content-block:after {
    background: #e4e4e4;
    bottom: 0;
    content: "";
    height: 2.14286rem;
    left: 50%;
    margin-left: -1px;
    position: absolute;
    width: 2px
}

.v-timeline.align-center .timeline-box .box-items .item .content-block .item-header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    justify-content: center;
    margin-bottom: .71429rem
}

.v-timeline.align-center .timeline-box:last-child .box-items .item:last-child .content-block {
    padding-bottom: 0
}

.v-timeline.align-center .timeline-box:last-child .box-items .item:last-child .content-block:after {
    display: none
}

@media (min-width: 768px) {
    .v-timeline.align-between .line {
        left: 50%
    }

    .v-timeline.align-between .timeline-box .box-label {
        -webkit-box-pack: center;
        justify-content: center
    }

    .v-timeline.align-between .timeline-box .box-items .item {
        margin-left: 0;
        margin-right: 0;
        width: 50%
    }

    .v-timeline.align-between .timeline-box .box-items .item:nth-child(odd) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
        text-align: right
    }

    .v-timeline.align-between .timeline-box .box-items .item:nth-child(odd) .icon-block {
        margin-right: -1.42857rem
    }

    .v-timeline.align-between .timeline-box .box-items .item:nth-child(odd) .content-block {
        margin-left: 0
    }

    .v-timeline.align-between .timeline-box .box-items .item:nth-child(2n) {
        align-self: flex-end
    }

    .v-timeline.align-between .timeline-box .box-items .item:nth-child(2n) .icon-block {
        margin-left: -1.42857rem
    }

    .v-timeline.align-between .timeline-box .box-items .item:nth-child(2n) .content-block {
        margin-right: 0
    }

    .v-timeline.align-between.dots .timeline-box .box-items .item:nth-child(odd) .icon-block {
        margin-right: -.35714rem
    }

    .v-timeline.align-between.dots .timeline-box .box-items .item:nth-child(2n) .icon-block {
        margin-left: -.35714rem
    }
}

.icon {
    border-radius: 6px;
    display: -webkit-inline-box;
    display: inline-flex;
    font-size: 1.43rem;
    padding: .35714rem;
    -webkit-transition: background .2s ease-in-out, border .2s ease-in-out, color .2s ease-in-out;
    transition: background .2s ease-in-out, border .2s ease-in-out, color .2s ease-in-out;
    vertical-align: top
}

.page-sign-in {
    background: url(../content/login-page.jpg) 50% 50% no-repeat
}

.page-sign-up {
    background: url(../content/register-page.jpg) 50% 50% no-repeat
}

.page-404 {
    background: url(../content/404-page.jpg) 50% 50% no-repeat
}

.page-404 .content-box {
    background: hsla(0, 0%, 100%, .9) !important
}

.page-404 .content-box .content-body .icon {
    color: rgba(237, 85, 100, .5);
    font-size: inherit;
    padding: 0
}

.page-500 {
    background: url(../content/500-page.jpg) 50% 50% no-repeat
}

.page-500 .content-box {
    background: hsla(0, 0%, 100%, .9) !important
}

.page-500 .content-box .content-body .icon {
    color: rgba(237, 85, 100, .5);
    font-size: inherit;
    padding: 0
}

.accent-palette {
    color: #336cfb
}

.text-danger {
    color: #ed5564 !important
}

.github-color {
    color: #24292e
}

.twitter-color {
    color: #1da1f2
}

.linkedin-color {
    color: #0073b1
}

.youtube-color {
    color: red
}

.nowrap {
    white-space: nowrap
}

.hidden {
    display: none !important
}

.no-style {
    background: none;
    border: 0;
    outline: none;
    padding: 0
}

.elements-list {
    -webkit-box-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: -.35714rem
}

.elements-list>* {
    margin: .35714rem
}

.chat-container {
    display: -webkit-box;
    display: flex;
    height: 200px !important;
    position: relative;
    overflow: hidden
}

.chat-container.container-h-100 {
    height: 100px !important
}

.chat-container.container-h-50 {
    height: 50px !important
}

.chat-container.container-h-300 {
    height: 300px !important
}

@media (max-width: 767px) {
    .chat-container.container-h-300 {
        height: 200px !important
    }
}

.chat-container.container-h-400 {
    height: 400px !important
}

@media (max-width: 767px) {
    .chat-container.container-h-400 {
        height: 300px !important
    }
}

.chat-container.negative-indents {
    margin-top: -1.42857rem;
    margin-bottom: -1.42857rem
}

.rotate {
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite
}

@-webkit-keyframes spin {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

@keyframes spin {
    to {
        -webkit-transform: rotate(1turn);
        transform: rotate(1turn)
    }
}

.animated.delay-01s {
    -webkit-animation-delay: .1s;
    animation-delay: .1s
}

.animated.delay-02s {
    -webkit-animation-delay: .2s;
    animation-delay: .2s
}

.animated.delay-03s {
    -webkit-animation-delay: .3s;
    animation-delay: .3s
}

.animated.delay-04s {
    -webkit-animation-delay: .4s;
    animation-delay: .4s
}

.animated.delay-05s {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.animated.delay-06s {
    -webkit-animation-delay: .6s;
    animation-delay: .6s
}

.animated.delay-07s {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}

.animated.delay-08s {
    -webkit-animation-delay: .8s;
    animation-delay: .8s
}

.animated.delay-09s {
    -webkit-animation-delay: .9s;
    animation-delay: .9s
}

.rounded-20 {
    border-radius: 20px !important
}

.rounded-500 {
    border-radius: 500px !important
}

.close {
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    opacity: 1;
    text-shadow: none;
    -webkit-transition: color .2s ease-in-out;
    transition: color .2s ease-in-out
}

.close:hover {
    color: #ed5564
}

.map {
    height: 100%
}

.icons-list {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: -.5rem
}

.icons-list .icon {
    font-size: 30px;
    margin: .5rem
}

.add-action-box {
    bottom: 5.71429rem;
    position: fixed;
    right: 1.42857rem;
    z-index: 9997
}

.add-action-box .btn {
    font-size: 30px;
    min-width: 5rem !important
}

.department .team {
    flex-wrap: wrap
}

.department .team .team-img {
    box-shadow: 0 18px 24px rgba(0, 0, 0, .12);
    margin-right: -10px
}

.bg-gradient {
    background: -webkit-gradient(linear, left top, right top, from(#fff), to(#ebebeb)) !important;
    background: linear-gradient(90deg, #fff, #ebebeb) !important
}

.address-col {
    min-width: 150px
}

.fs-20 {
    font-size: 20px
}

.fs-30 {
    font-size: 30px
}

.fs-48 {
    font-size: 48px
}

.personal-info-card .card-body {
    padding-top: 0 !important
}

.personal-info-card .user-actions {
    margin-top: -50px
}

.opacity-50 {
    opacity: .5
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9mb250cy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2xvYWRlci5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsIl9taXhpbnMuc2NzcyIsIl9zdHJ1Y3R1cmUuc2NzcyIsImxheW91dC9fYXNzaXN0YW50LW1lbnUuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2xvZ28uc2NzcyIsImxheW91dC9fbWFpbi1tZW51LnNjc3MiLCJsYXlvdXQvX25hdmJhci5zY3NzIiwibGF5b3V0L19zZWFyY2guc2NzcyIsImxheW91dC9fYWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fYWxlcnQuc2NzcyIsImNvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2NoZWNrYm94LnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0LnNjc3MiLCJjb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJjb21wb25lbnRzL19yYWRpby5zY3NzIiwiY29tcG9uZW50cy9fcmF0aW5nLnNjc3MiLCJjb21wb25lbnRzL19zZWxlY3Quc2NzcyIsImNvbXBvbmVudHMvX3N3aXRjaGVyLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS5zY3NzIiwiY29tcG9uZW50cy9fdi10aW1lbGluZS5zY3NzIiwiY29tcG9uZW50cy9faWNvbi5zY3NzIiwicGFnZXMvX3NpZ24taW4uc2NzcyIsInBhZ2VzL19zaWduLXVwLnNjc3MiLCJwYWdlcy9fNDA0LnNjc3MiLCJwYWdlcy9fNTAwLnNjc3MiLCJfaGVscGVycy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNGQUFZLENDa0ZaLE1BQ0Usb0JBQWEsQ0FDYixjQUFVLENBQ1Ysb0JB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YSxDQUdqQixnQkFDRSxpQkFBdUIsQ0FDdkIsY0FBZSxDQUNmLGdCQUFzQixDQUN0QixZQUFhLENBSmYscUJBT0ksY0FBZSxDQUNmLHdCQUFxQyxDQUd6QyxrQkFFSSxjQUFlLENBRm5CLDRCQUtNLHNDakNyQ3dCLENpQ3NDeEIsa0JBQW1CLENBSXpCLGFBQ0UsdUZBQTRELENBQTVELHdEQUE0RCxDQUU5RCxhQUNFLGVBQWdCLENBRWxCLE9BQ0UsY0FBZSxDQUVqQixPQUNFLGNBQWUsQ0FFakIsT0FDRSxjQUFlLENBRWpCLCtCQUVJLHVCQUF5QixDQUY3QixrQ0FLSSxnQkFBaUIsQ0FHckIsWUFDRSxVQUFXIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzozMDAsMzAwaSw0MDAsNDAwaSw3MDAsNzAwaScpO1xuIiwiQGltcG9ydCAnLi9taXhpbnMnO1xyXG5cclxuLy9NYWluIHBhbGV0dGVcclxuJHBhbGV0dGU6IChcclxuICA1MCA6ICNlNGU0ZTQsXHJcbiAgMTAwIDogI2JjYmNiZCxcclxuICAyMDAgOiAjOGY5MDkxLFxyXG4gIDMwMCA6ICM2MjYzNjQsXHJcbiAgNDAwIDogIzQxNDE0MyxcclxuICA1MDAgOiAjMWYyMDIyLFxyXG4gIDYwMCA6ICMxYjFjMWUsXHJcbiAgNzAwIDogIzE3MTgxOSxcclxuICA4MDAgOiAjMTIxMzE0LFxyXG4gIDkwMCA6ICMwYTBiMGMsXHJcbiAgQTEwMCA6ICM1MmZmZmYsXHJcbiAgQTIwMCA6ICMxZmZmZmYsXHJcbiAgQTQwMCA6ICMwMGViZWIsXHJcbiAgQTcwMCA6ICMwMGQyZDIsXHJcbiAgY29udHJhc3Q6IChcclxuICAgIDUwIDogIzAwMDAwMCxcclxuICAgIDEwMCA6ICMwMDAwMDAsXHJcbiAgICAyMDAgOiAjMDAwMDAwLFxyXG4gICAgMzAwIDogI2ZmZmZmZixcclxuICAgIDQwMCA6ICNmZmZmZmYsXHJcbiAgICA1MDAgOiAjZmZmZmZmLFxyXG4gICAgNjAwIDogI2ZmZmZmZixcclxuICAgIDcwMCA6ICNmZmZmZmYsXHJcbiAgICA4MDAgOiAjZmZmZmZmLFxyXG4gICAgOTAwIDogI2ZmZmZmZixcclxuICAgIEExMDAgOiAjMDAwMDAwLFxyXG4gICAgQTIwMCA6ICMwMDAwMDAsXHJcbiAgICBBNDAwIDogIzAwMDAwMCxcclxuICAgIEE3MDAgOiAjMDAwMDAwLFxyXG4gIClcclxuKTtcclxuQGZ1bmN0aW9uIG1haW4tcGFsZXR0ZSgka2V5OiAkcGFsZXR0ZSkge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkcGFsZXR0ZSwgJGtleSk7XHJcbn1cclxuQGZ1bmN0aW9uIG1haW4tY29udHJhc3QoJGtleTogJHBhbGV0dGUpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZSwgY29udHJhc3QpLCAka2V5KTtcclxufVxyXG5cclxuLy9BY2NlbnQgcGFsZXR0ZVxyXG4kYWNjZW50LXBhbGV0dGU6IChcclxuICA1MCA6ICNlN2VkZmYsXHJcbiAgMTAwIDogI2MyZDNmZSxcclxuICAyMDAgOiAjOTliNmZkLFxyXG4gIDMwMCA6ICM3MDk4ZmMsXHJcbiAgNDAwIDogIzUyODJmYyxcclxuICA1MDAgOiAjMzM2Y2ZiLFxyXG4gIDYwMCA6ICMyZTY0ZmEsXHJcbiAgNzAwIDogIzI3NTlmYSxcclxuICA4MDAgOiAjMjA0ZmY5LFxyXG4gIDkwMCA6ICMxNDNkZjgsXHJcbiAgQTEwMCA6ICNmZmZmZmYsXHJcbiAgQTIwMCA6ICNmNGY2ZmYsXHJcbiAgQTQwMCA6ICNjMWNhZmYsXHJcbiAgQTcwMCA6ICNhN2I0ZmYsXHJcbiAgY29udHJhc3Q6IChcclxuICAgIDUwIDogIzAwMDAwMCxcclxuICAgIDEwMCA6ICMwMDAwMDAsXHJcbiAgICAyMDAgOiAjMDAwMDAwLFxyXG4gICAgMzAwIDogIzAwMDAwMCxcclxuICAgIDQwMCA6ICMwMDAwMDAsXHJcbiAgICA1MDAgOiAjZmZmZmZmLFxyXG4gICAgNjAwIDogI2ZmZmZmZixcclxuICAgIDcwMCA6ICNmZmZmZmYsXHJcbiAgICA4MDAgOiAjZmZmZmZmLFxyXG4gICAgOTAwIDogI2ZmZmZmZixcclxuICAgIEExMDAgOiAjMDAwMDAwLFxyXG4gICAgQTIwMCA6ICMwMDAwMDAsXHJcbiAgICBBNDAwIDogIzAwMDAwMCxcclxuICAgIEE3MDAgOiAjMDAwMDAwLFxyXG4gIClcclxuKTtcclxuQGZ1bmN0aW9uIGFjY2VudC1wYWxldHRlKCRrZXk6ICRhY2NlbnQtcGFsZXR0ZSkge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkYWNjZW50LXBhbGV0dGUsICRrZXkpO1xyXG59XHJcbkBmdW5jdGlvbiBhY2NlbnQtY29udHJhc3QoJGtleTogJGFjY2VudC1wYWxldHRlKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGFjY2VudC1wYWxldHRlLCBjb250cmFzdCksICRrZXkpO1xyXG59XHJcblxyXG46cm9vdCB7XHJcbiAgLS1tYWluLWNvbG9yOiAje21haW4tcGFsZXR0ZSg1MDApfTtcclxuICAtLW1haW4tYmc6ICNmZmY7XHJcbiAgLS1ib3hlZC13aWR0aDogMTE0MHB4O1xyXG4gIC0tbmF2YmFyLWNvbG9yOiAjMDAwO1xyXG4gIC0tbmF2YmFyLWJnOiAjZmZmO1xyXG4gIC0tbmF2YmFyLTItY29sb3I6ICMwMDA7XHJcbiAgLS1uYXZiYXItMi1iZzogI2ZiZmJmYjtcclxuICAtLW5hdmJhci1kYXJrLWNvbG9yOiAje21haW4tY29udHJhc3QoNTAwKX07XHJcbiAgLS1uYXZiYXItZGFyay1iZzogI3ttYWluLXBhbGV0dGUoNTAwKX07XHJcbn1cclxuJG1haW4tY29sb3I6IG1haW4tcGFsZXR0ZSg1MDApO1xyXG4kbWFpbi1iZzogI2ZmZjtcclxuJGJveGVkLXdpZHRoOiAxMTQwcHg7XHJcblxyXG4kc3VjY2Vzcy1jb2xvcjogI2I3Y2U2MztcclxuJHN1Y2Nlc3MtY29udHJhc3Q6ICMwMDA7XHJcbiRpbmZvLWNvbG9yOiAjNjRCNUY2O1xyXG4kaW5mby1jb250cmFzdDogIzAwMDtcclxuJHdhcm5pbmctY29sb3I6ICNlOWUxNjU7XHJcbiR3YXJuaW5nLWNvbnRyYXN0OiAjMDAwO1xyXG4kZXJyb3ItY29sb3I6ICNlZDU1NjQ7XHJcbiRlcnJvci1jb250cmFzdDogI2ZmZjtcclxuXHJcbi8vTWFpblxyXG4kbWFpbi1mczogMTRweDtcclxuJG1haW4tZmY6ICdMYXRvJywgc2Fucy1zZXJpZjtcclxuJG1haW4tZnc6IDQwMDtcclxuJG1vZHVsZTogMTBweDtcclxuJG1haW4tbGg6IGRlY2ltYWwtcm91bmQoJG1vZHVsZSAqIDIgLyAkbWFpbi1mcyk7XHJcbiRtb2R1bGUtcmVtOiAoJG1vZHVsZSAvICRtYWluLWZzKSAqIDFyZW07XHJcbiRzaGFwZTogNnB4O1xyXG4kc2hhZG93OiAwIDE4cHggMjRweCByZ2JhKCMwMDAsLjEyKTtcclxuJHNoYWRvdy1ob3ZlcjogMHB4IDhweCAyNHB4IHJnYmEoIzAwMCwuMTIpO1xyXG4kYW5pbWF0aW9uOiBlYXNlLWluLW91dDtcclxuXHJcbi8vU2Vjb25kXHJcbiRzZWNvbmQtZmY6ICRtYWluLWZmO1xyXG5cclxuLy9NZWRpYVxyXG4kbWF4NTQzIDogb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0M3B4KTtcclxuJG1pbjU0NCA6IG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NDRweCk7XHJcbiRtYXg3NjcgOiBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpO1xyXG4kbWluNzY4IDogb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KTtcclxuJG1heDk5MSA6IG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCk7XHJcbiRtaW45OTIgOiBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpO1xyXG4kbWF4MTE5OSA6IG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpO1xyXG4kbWluMTIwMCA6IG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpO1xyXG5cclxuLy9IZWFkZXJzXHJcbiRoZWFkZXJzLWZmOiAkc2Vjb25kLWZmO1xyXG4kaGVhZGVycy1mdzogNzAwO1xyXG5cclxuLy9OYXZiYXJcclxuJG5hdmJhci1iZzogI2VlZWVlZjtcclxuJG5hdmJhci1jb2xvcjogcmdiYShtYWluLXBhbGV0dGUoNTAwKSwuNSk7XHJcbiR2ZXJ0aWNhbC1uYXZiYXItd2lkdGg6ICRtb2R1bGUtcmVtICogMjQ7XHJcblxyXG4vL0Zvb3RlclxyXG4kZm9vdGVyLWhlaWdodDogJG1vZHVsZS1yZW0gKiA2O1xyXG5cclxuLy9QcmVsb2FkZXJcclxuJGxvYWRlci1vdmVybGF5LWJnOiAjZmZmO1xyXG4kbG9hZGVyLWNvbG9yOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xyXG5cclxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuJHdpZHRoOiAzMHB4O1xuJGhlaWdodDogMzBweDtcbiRib3VuY2VfaGVpZ2h0OiA2MHB4O1xuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRib3VuY2VfaGVpZ2h0KTtcbiAgfVxuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG4uYXBwLWxvYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICRsb2FkZXItb3ZlcmxheS1iZztcbiAgY29sb3I6ICRsb2FkZXItY29sb3I7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTtcblxuICAmLm1haW4tbG9hZGVyIHtcbiAgICB6LWluZGV4OiA5OTk5OTk7XG5cbiAgICAubG9hZGVyLWJveCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5ib3VuY2ViYWxsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDk1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2UgLjVzIGFsdGVybmF0ZSBpbmZpbml0ZSBlYXNlLWluO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gICAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2xvcjogbWFpbi1wYWxldHRlKDUwMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubG9hZGVkICYge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCJodG1sIHtcclxuICBmb250LXNpemU6ICRtYWluLWZzO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbWFpbi1saDtcclxufVxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kOiAkbWFpbi1iZztcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWJnKTtcclxuICBjb2xvcjogJG1haW4tY29sb3I7XHJcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xyXG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mZjtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgZm9udC13ZWlnaHQ6ICRtYWluLWZ3O1xyXG4gIGxpbmUtaGVpZ2h0OiAkbWFpbi1saDtcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5idXR0b24sIGlucHV0LCBvcHRncm91cCwgc2VsZWN0LCB0ZXh0YXJlYSB7XHJcbiAgZm9udDogaW5oZXJpdDtcclxufVxyXG5oMSwgLmgxLFxyXG5oMiwgLmgyLFxyXG5oMywgLmgzLFxyXG5oNCwgLmg0LFxyXG5oNSwgLmg1LFxyXG5oNiwgLmg2IHtcclxuICBmb250LWZhbWlseTogJGhlYWRlcnMtZmY7XHJcbiAgZm9udC13ZWlnaHQ6ICRoZWFkZXJzLWZ3O1xyXG4gIGxpbmUtaGVpZ2h0OiAkbWFpbi1saDtcclxuICBsZXR0ZXItc3BhY2luZzogLjAxZW07XHJcbiAgbWFyZ2luLXRvcDogJG1vZHVsZS1yZW0gKiAyO1xyXG4gIG1hcmdpbi1ib3R0b206ICRtb2R1bGUtcmVtICogMjtcclxufVxyXG5oMSwgLmgxIHtcclxuICBmb250LXNpemU6IDMuMnJlbTtcclxuICBsaW5lLWhlaWdodDogMS4xMjtcclxuICBtYXJnaW4tYm90dG9tOiAkbW9kdWxlLXJlbSAqIDM7XHJcbn1cclxuaDIsIC5oMiB7XHJcbiAgZm9udC1zaXplOiAyLjg1NzE0Mjg2cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG59XHJcbmgzLCAuaDMge1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcclxufVxyXG5oNCwgLmg0IHtcclxuICBmb250LXNpemU6IDEuNzE0Mjg1NzJyZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbn1cclxuaDUsIC5oNSB7XHJcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuaDYsIC5oNiB7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcbnAsXHJcbnVsLFxyXG5vbCxcclxucHJlLFxyXG50YWJsZSxcclxuYmxvY2txdW90ZSxcclxuLmJsb2NrcXVvdGUge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJG1vZHVsZS1yZW0gKiAyO1xyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxudWwgdWwsIG9sIG9sLCB1bCBvbCwgb2wgdWwge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5ociwgLmhyIHtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYShtYWluLXBhbGV0dGUoNTAwKSwuMSk7XHJcbiAgbWFyZ2luOiAoJG1vZHVsZS1yZW0gKiAyKSAwO1xyXG59XHJcbnN1Yiwgc3VwIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5hIHtcclxuICBjb2xvcjogYWNjZW50LXBhbGV0dGUoNTAwKTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzICRhbmltYXRpb247XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogYWNjZW50LXBhbGV0dGUoNzAwKTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcbmltZyB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5idXR0b24ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gIH1cclxufVxyXG50ZXh0YXJlYSB7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5tYXJrLFxyXG4ubWFyayB7XHJcbiAgcGFkZGluZzogMCAuMmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGFjY2VudC1wYWxldHRlKDUwMCk7XHJcbiAgY29sb3I6IGFjY2VudC1jb250cmFzdCg1MDApO1xyXG59XHJcbjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xyXG4gIGNvbG9yOiBhY2NlbnQtY29udHJhc3QoNTAwKTtcclxufVxyXG46Oi1tb3otc2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xyXG4gIGNvbG9yOiBhY2NlbnQtY29udHJhc3QoNTAwKTtcclxufVxyXG5cclxuLy9TY3JvbGxcclxuOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKCMwMDAsLjEpO1xyXG59XHJcbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwuMik7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAycHg7XHJcbn1cclxuOjotd2Via2l0LXNjcm9sbGJhcjpob3ZlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFpbi1wYWxldHRlKDEwMCk7XHJcbn1cclxuOjotd2Via2l0LXNjcm9sbGJhcjpob3Jpem9udGFsIHtcclxuICBoZWlnaHQ6IDJweDtcclxufVxyXG4iLCIvL0hlYWRpbmdzXHJcbkBmdW5jdGlvbiBoMSgka2V5OiAkaDEpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJGgxLCAka2V5KTtcclxufVxyXG5AZnVuY3Rpb24gaDIoJGtleTogJGgyKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCRoMiwgJGtleSk7XHJcbn1cclxuQGZ1bmN0aW9uIGgzKCRrZXk6ICRoMykge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkaDMsICRrZXkpO1xyXG59XHJcbkBmdW5jdGlvbiBoNCgka2V5OiAkaDQpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJGg0LCAka2V5KTtcclxufVxyXG5AZnVuY3Rpb24gaDUoJGtleTogJGg1KSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KCRoNSwgJGtleSk7XHJcbn1cclxuQGZ1bmN0aW9uIGg2KCRrZXk6ICRoNikge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkaDYsICRrZXkpO1xyXG59XHJcblxyXG4vL1ByZWxvYWRlclxyXG5AZnVuY3Rpb24gbG9hZGVyLWNvbG9ycygka2V5OiAkbG9hZGVyLWNvbG9ycykge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkbG9hZGVyLWNvbG9ycywgJGtleSk7XHJcbn1cclxuXHJcbi8vRm9udCBBd2Vzb21lXHJcbiVmYSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcclxuICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLy9QbGFjZWhvbGRlclxyXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxyXG59XHJcblxyXG4vL1NoYWRvd1xyXG4lc2hhZG93IHtcclxuICBib3gtc2hhZG93OiAwIDJweCA2cHggMCByZ2JhKCMwMDAsLjEpO1xyXG4gIGJvdHRvbTogMDtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDZweDtcclxuICBsZWZ0OiAxMHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMTBweDtcclxuICB6LWluZGV4OiAtMTtcclxufVxyXG5cclxuLy9Gb250IHNpemVcclxuQGZ1bmN0aW9uIGNhbGN1bGF0ZVJlbSgkc2l6ZSkge1xyXG4gICRyZW1TaXplOiAkc2l6ZSAvICRtYWluLWZzO1xyXG4gIEByZXR1cm4gI3skcmVtU2l6ZX1yZW07XHJcbn1cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlUmVtKCRzaXplKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGRlY2ltYWwtcm91bmQoJG51bWJlciwgJGRpZ2l0czogMiwgJG1vZGU6IHJvdW5kKSB7XHJcbiAgJG46IDE7XHJcbiAgLy8gJG51bWJlciBtdXN0IGJlIGEgbnVtYmVyXHJcbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gbnVtYmVyIHtcclxuICAgIEB3YXJuICcjeyAkbnVtYmVyIH0gaXMgbm90IGEgbnVtYmVyLic7XHJcbiAgICBAcmV0dXJuICRudW1iZXI7XHJcbiAgfVxyXG4gIC8vICRkaWdpdHMgbXVzdCBiZSBhIHVuaXRsZXNzIG51bWJlclxyXG4gIEBpZiB0eXBlLW9mKCRkaWdpdHMpICE9IG51bWJlciB7XHJcbiAgICBAd2FybiAnI3sgJGRpZ2l0cyB9IGlzIG5vdCBhIG51bWJlci4nO1xyXG4gICAgQHJldHVybiAkbnVtYmVyO1xyXG4gIH0gQGVsc2UgaWYgbm90IHVuaXRsZXNzKCRkaWdpdHMpIHtcclxuICAgIEB3YXJuICcjeyAkZGlnaXRzIH0gaGFzIGEgdW5pdC4nO1xyXG4gICAgQHJldHVybiAkbnVtYmVyO1xyXG4gIH1cclxuICBAaWYgJGRpZ2l0cyA+IDAge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZGlnaXRzIHtcclxuICAgICAgJG46ICRuICogMTA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkbW9kZSA9PSByb3VuZCB7XHJcbiAgICBAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAkbikgLyAkbjtcclxuICB9IEBlbHNlIGlmICRtb2RlID09IGNlaWwge1xyXG4gICAgQHJldHVybiBjZWlsKCRudW1iZXIgKiAkbikgLyAkbjtcclxuICB9IEBlbHNlIGlmICRtb2RlID09IGZsb29yIHtcclxuICAgIEByZXR1cm4gZmxvb3IoJG51bWJlciAqICRuKSAvICRuO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJyN7ICRtb2RlIH0gaXMgdW5kZWZpbmVkIGtleXdvcmQuJztcclxuICAgIEByZXR1cm4gJG51bWJlcjtcclxuICB9XHJcbn1cclxuIiwiaHRtbCB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbmJvZHkge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4ucGFnZS1ib3gge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTAwJTtcclxuXHJcbiAgLmFwcC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgLm1haW4tY29udGVudCB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZm9vdGVyLWhlaWdodDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0cmFuc2l0aW9uOiAuMnMgcGFkZGluZyAwcyAkYW5pbWF0aW9uO1xyXG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblxyXG4gICAgICAubWFpbi1jb250ZW50LXdyYXAge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwJSAtICN7JG1vZHVsZS1yZW0gKiA0fSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBwYWRkaW5nOiAoJG1vZHVsZS1yZW0gKiAzKSAoJG1vZHVsZS1yZW0gKiAyKSAoJG1vZHVsZS1yZW0gKiA0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgb3BhY2l0eSAwcyAkYW5pbWF0aW9uO1xyXG5cclxuICAgICAgICAmLmZ1bGwtZmlsbGVkIHtcclxuICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgICAgLnBhZ2UtY29udGVudCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgICAgICAgLnBhZ2UtdGl0bGUge1xyXG4gICAgICAgICAgICAvL2NvbG9yOiByZ2JhKG1haW4tcGFsZXR0ZSg1MDApLC41KTtcclxuICAgICAgICAgICAgLy9mb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICgkbW9kdWxlLXJlbSAqIDMpO1xyXG4gICAgICAgICAgICBAbWVkaWEgI3skbWF4NzY3fSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAucGFnZS1icmVhZGNydW1icyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKG1haW4tcGFsZXR0ZSg1MDApLC41KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICgkbW9kdWxlLXJlbSAqIDIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmxvYWRlZCB7XHJcbiAgICAgICAgLm1haW4tY29udGVudC13cmFwIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwcyBvcGFjaXR5IDBzICRhbmltYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1vdmVybGF5IHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYShtYWluLXBhbGV0dGUoNTAwKSwuMSk7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgLjJzIG9wYWNpdHkgMHMgJGFuaW1hdGlvbixcclxuICAgICAgICAwcyB2aXNpYmlsaXR5IC4ycyAkYW5pbWF0aW9uO1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgJi5zaG93IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246XHJcbiAgICAgICAgICAuMnMgb3BhY2l0eSAwcyAkYW5pbWF0aW9uLFxyXG4gICAgICAgICAgMHMgdmlzaWJpbGl0eSAwcyAkYW5pbWF0aW9uO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgQG1lZGlhICN7JG1pbjk5Mn0ge1xyXG4gICAgICAgICAgei1pbmRleDogOTk5ODtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuYm9keSB7XHJcbiAgJi52ZXJ0aWNhbC1sYXlvdXQge1xyXG4gICAgLnBhZ2UtYm94IHtcclxuICAgICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHZlcnRpY2FsLW5hdmJhci13aWR0aDtcclxuICAgICAgICBAbWVkaWEgI3skbWF4OTkxfSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYXBwLW5hdmJhci5ob3Jpem9udGFsIHtcclxuICAgICAgICAgIC5uYXZiYXItc2tlbGV0b24ge1xyXG4gICAgICAgICAgICAuc2stbG9nbyB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hcHAtZm9vdGVyIHtcclxuICAgICAgICAgIGxlZnQ6ICR2ZXJ0aWNhbC1uYXZiYXItd2lkdGg7XHJcbiAgICAgICAgICBAbWVkaWEgI3skbWF4OTkxfSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNjcm9sbGVkIHtcclxuICAgICAgLmFwcC1uYXZiYXIuaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoIzAwMCwgLjA1KTtcclxuICAgICAgICAvL3otaW5kZXg6IDk5OTc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5ob3Jpem9udGFsLWxheW91dCB7XHJcbiAgICAuYXBwLW5hdmJhci5ob3Jpem9udGFsIHtcclxuICAgICAgJjpub3QoLmhvcml6b250YWwtdmVydGljYWwpIHtcclxuICAgICAgICAuYXBwLWxvZ28ge1xyXG4gICAgICAgICAgQG1lZGlhICN7JG1heDk5MX0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuYXBwLWxvZ28ge1xyXG4gICAgICAgIC5sb2dvLXdyYXAge1xyXG4gICAgICAgICAgQG1lZGlhICN7JG1pbjk5Mn0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXBwLW5hdmJhci5ob3Jpem9udGFsLXZlcnRpY2FsIHtcclxuICAgICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcclxuXHJcbiAgICAgIC5hcHAtbG9nbyB7XHJcbiAgICAgICAgQG1lZGlhICN7JG1pbjk5Mn0ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2Nyb2xsZWQge1xyXG4gICAgICAuYXBwLW5hdmJhci5ob3Jpem9udGFsIHtcclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy9Cb3hlZFxyXG4gICYuYm94ZWQge1xyXG4gICAgLnBhZ2UtYm94IHtcclxuICAgICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICAgIC5tYWluLWNvbnRlbnQge1xyXG4gICAgICAgICAgLm1haW4tY29udGVudC13cmFwIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm94ZWQtd2lkdGg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tYm94ZWQtd2lkdGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAvLyBQdWJsaWMgbGF5b3V0XHJcbiAgJi5wdWJsaWMtbGF5b3V0IHtcclxuICAgIC5wYWdlLWJveCB7XHJcbiAgICAgIC5hcHAtY29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgLmNvbnRlbnQtYm94IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAuY29udGVudC1oZWFkZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJG1vZHVsZS1yZW0gKiAyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmNvbnRlbnQtYm9keSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgcGFkZGluZzogJG1vZHVsZS1yZW0gKCRtb2R1bGUtcmVtICogNCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhICN7JG1heDc2N30ge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKCRtb2R1bGUtcmVtICogMik7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogKCRtb2R1bGUtcmVtICogMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gbG9hZGVkIGNvbnRlbnRcclxuICAmLmxvYWRlZCB7XHJcbiAgICAucGFnZS1ib3gge1xyXG4gICAgICAuYXBwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLm1haW4tY29udGVudCB7XHJcbiAgICAgICAgICAubWFpbi1jb250ZW50LXdyYXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwcyBvcGFjaXR5IDBzICRhbmltYXRpb247XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5hc3Npc3RhbnQtbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwICgkbW9kdWxlLXJlbSAqIDQpICgkbW9kdWxlLXJlbSAqIDIpO1xuXG4gIC5saW5rIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG9wYWNpdHk6IC4zO1xuICAgIHBhZGRpbmc6ICgkbW9kdWxlLXJlbSAvIDIpIDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgJGFuaW1hdGlvbjtcblxuICAgIC5saW5rLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1vZHVsZS1yZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCJAa2V5ZnJhbWVzIGxvYWRlckFuaW1hdGlvbntcbiAgMCV7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2OHB4IDBcbiAgfVxuICAxMDAle1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDQ2OHB4IDBcbiAgfVxufVxuLmFwcC1mb290ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkJGQkZCO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0U5RTlFOTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAkZm9vdGVyLWhlaWdodDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcblxuICAuZm9vdGVyLXdyYXAge1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRtb2R1bGUtcmVtICgkbW9kdWxlLXJlbSAqIDIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5wYWdlLWJyZWFkY3J1bWJzIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAubGluayB7XG4gICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgJGFuaW1hdGlvbjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgbWFyZ2luOiAwICgkbW9kdWxlLXJlbSAvIDIpIC0ycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAubGluayB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNldHRpbmdzLWJ0biB7XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1za2VsZXRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6ICRtb2R1bGUtcmVtICgkbW9kdWxlLXJlbSAqIDIpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAuMnMgb3BhY2l0eSAwcyAkYW5pbWF0aW9uLFxuICAgICAgICAwcyB2aXNpYmlsaXR5IDBzICRhbmltYXRpb247XG4gICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgIGJvZHkubG9hZGVkICYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIC4ycyBvcGFjaXR5IC4ycyAkYW5pbWF0aW9uLFxuICAgICAgICAgIDBzIHZpc2liaWxpdHkgLjRzICRhbmltYXRpb247XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICAgIC5yb3cge1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICAuYmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWJlYmViO1xuICAgICAgfVxuICAgICAgLmJnLTEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgICAgfVxuICAgICAgLmFuaW1hdGVkLWJnIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgLmFuaW1hdGVkLWJnOmJlZm9yZSB7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4yNXM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlckFuaW1hdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCAxMCUsIHJnYmEoI2ZmZiwuNSkgMTglLCB0cmFuc3BhcmVudCAzMyUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwMHB4IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5wYWdlLWJyZWFkY3J1bWJzIHtcbiAgICAgICAgbWFyZ2luOiAwIC0oJG1vZHVsZS1yZW0gLyAyKTtcblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogJG1vZHVsZS1yZW07XG4gICAgICAgICAgbWFyZ2luOiAwICgkbW9kdWxlLXJlbSAvIDIpO1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mbyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMCAtKCRtb2R1bGUtcmVtIC8gMik7XG5cbiAgICAgICAgLnZlcnNpb24ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6ICRtb2R1bGUtcmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAoJG1vZHVsZS1yZW0gLyAyKTtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgfVxuICAgICAgICAuc2V0dGluZ3Mge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGFjY2VudC1wYWxldHRlKDUwMCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAkbW9kdWxlLXJlbSAqIDI7XG4gICAgICAgICAgbWFyZ2luOiAwICgkbW9kdWxlLXJlbSAvIDIpO1xuICAgICAgICAgIHdpZHRoOiAkbW9kdWxlLXJlbSAqIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJveGVkICYge1xuICAgIC5mb290ZXItd3JhcCB7XG4gICAgICBtYXgtd2lkdGg6ICRib3hlZC13aWR0aDtcbiAgICAgIG1heC13aWR0aDogdmFyKC0tYm94ZWQtd2lkdGgpO1xuICAgIH1cbiAgfVxufVxuIiwiLmFwcC1sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogJG1vZHVsZS1yZW0gKiA2O1xuICBtaW4taGVpZ2h0OiAkbW9kdWxlLXJlbSAqIDY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAubG9nby13cmFwIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6ICRtb2R1bGUtcmVtICgkbW9kdWxlLXJlbSAqIDQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIC5sb2dvLWltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAubG9nby10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tbGVmdDogKCRtb2R1bGUtcmVtICogMik7XG4gICAgfVxuICB9XG59XG4iLCJcbiRfYWNjZW50LXBhbGV0dGU6IGFjY2VudC1wYWxldHRlKDUwMCk7XG4kX2FuaW1hdGlvbjogJGFuaW1hdGlvbjtcblxuLy9pdGVtXG4kX2l0ZW0tY29sb3I6IGN1cnJlbnRDb2xvcjtcbiRfaXRlbS1ob3Zlci1jb2xvcjogYWNjZW50LXBhbGV0dGUoNTAwKTtcbiRfaXRlbS1hY3RpdmUtY29sb3I6IGFjY2VudC1wYWxldHRlKDUwMCk7XG4kX2l0ZW0tZ3JvdXAtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiRfaXRlbS1iZzogdHJhbnNwYXJlbnQ7XG4kX2l0ZW0taG92ZXItYmc6IHRyYW5zcGFyZW50O1xuJF9pdGVtLWFjdGl2ZS1iZzogcmdiYShtYWluLXBhbGV0dGUoNjAwKSwuMSk7XG4kX2l0ZW0tZ3JvdXAtYmctY29tcHJlc3M6IG1haW4tcGFsZXR0ZSgyMDApO1xuJF9pdGVtLWgtaW5kZW50czogMDtcblxuLy9zZXBhcmF0b3JcbiRfc2VwYXJhdG9yOiBtYWluLXBhbGV0dGUoMzAwKTtcblxuLy9pY29uXG4kX2ljb24tY29sb3I6IGluaGVyaXQ7XG4kX2ljb24taG92ZXItY29sb3I6IGluaGVyaXQ7XG4kX2ljb24tYWN0aXZlLWNvbG9yOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuJF9pY29uLWJyOiA1MCU7XG5cbi8vYmFkZ2VcbiRfYmFkZ2UtY29sb3I6IHJnYmEoYWNjZW50LXBhbGV0dGUoNTAwKSwuMik7XG4kX2JhZGdlLWJnOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuXG4vL3N1YlxuJF9zdWItYmc6IHRyYW5zcGFyZW50O1xuJF9zdWItc2VwYXJhdG9yOiBtYWluLXBhbGV0dGUoMzAwKTtcblxuLm1haW4tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGluaGVyaXQ7XG5cbiAgLm1haW4tbWVudS13cmFwIHtcbiAgICB3aWR0aDogaW5oZXJpdDtcblxuICAgIC5tZW51LXVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6ICgkbW9kdWxlLXJlbSAqIDMpICgkbW9kdWxlLXJlbSAqIDIpIDA7XG5cbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiAwICgkbW9kdWxlLXJlbSAqIDEuNSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZ3JvdXAtdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiAkX2l0ZW0tZ3JvdXAtY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3BhY2l0eTogLjM7XG4gICAgICAgICAgcGFkZGluZzogKCRtb2R1bGUtcmVtICogMykgKCRfaXRlbS1oLWluZGVudHMgKyAoJG1vZHVsZS1yZW0gLyAyKSkgJG1vZHVsZS1yZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAuZ3JvdXAtdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pdGVtLWxpbmsge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJF9pdGVtLWJnO1xuICAgICAgICAgIGNvbG9yOiAkX2l0ZW0tY29sb3I7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6ICgkbW9kdWxlLXJlbSAqIDMpO1xuICAgICAgICAgIHBhZGRpbmc6ICgkbW9kdWxlLXJlbSAvIDIpICRfaXRlbS1oLWluZGVudHM7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgYmFja2dyb3VuZCAuMnMgJF9hbmltYXRpb24sXG4gICAgICAgICAgICBjb2xvciAuMnMgJF9hbmltYXRpb247XG5cbiAgICAgICAgICAubGluay10ZXh0IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwICgkbW9kdWxlLXJlbSAvIDIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubGluay1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgKCRtb2R1bGUtcmVtIC8gMik7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5saW5rLWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAoJG1vZHVsZS1yZW0gLyAyKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgICAubGluay1jYXJldCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgKCRtb2R1bGUtcmVtIC8gMik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzICRfYW5pbWF0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRfaXRlbS1ob3Zlci1iZztcbiAgICAgICAgICAgIGNvbG9yOiAkX2l0ZW0taG92ZXItY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdWIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRfc3ViLWJnO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbW9kdWxlLXJlbSAvIDI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kdWxlLXJlbSAvIDI7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyB0cmFuc2Zvcm0gLjJzICRfYW5pbWF0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5pdGVtLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6ICRfaXRlbS1hY3RpdmUtY29sb3I7XG5cbiAgICAgICAgICAgIC5saW5rLWNhcmV0IHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5zdWIge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5oYXMtc3ViIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICA+IC5pdGVtLWxpbmsge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuY2FyZXQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgPiAuaXRlbS1saW5rIHtcbiAgICAgICAgICAgICAgLmNhcmV0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFwcC1uYXZiYXIuaG9yaXpvbnRhbC12ZXJ0aWNhbCAmIHtcbiAgICBAbWVkaWEgI3skbWluOTkyfSB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC5tYWluLW1lbnUtd3JhcCB7XG4gICAgICBAbWVkaWEgI3skbWluOTkyfSB7XG4gICAgICAgIC5tQ3VzdG9tU2Nyb2xsQm94IHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAgIC5tQ1NCX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAubWVudS11bCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgID4gLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICA+IC5ncm91cC10aXRsZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLml0ZW0tbGluayB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6ICRtb2R1bGUtcmVtICRtb2R1bGUtcmVtO1xuXG4gICAgICAgICAgICAgIC5saW5rLWNhcmV0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdWIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc2hhcGU7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogJG1vZHVsZS1yZW0gMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIC4ycyBvcGFjaXR5IDBzICRhbmltYXRpb24sXG4gICAgICAgICAgICAgICAgMHMgdmlzaWJpbGl0eSAuMnMgJGFuaW1hdGlvbjtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIHdpZHRoOiAkbW9kdWxlLXJlbSAqIDI1O1xuICAgICAgICAgICAgICB6LWluZGV4OiA1MDA7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogKCRtb2R1bGUtcmVtICogNCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuaXRlbS1saW5rIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJG1vZHVsZS1yZW0gLyAyO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRtb2R1bGUtcmVtIC8gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICA+IC5zdWIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICAgIC4ycyBvcGFjaXR5IDBzICRhbmltYXRpb24sXG4gICAgICAgICAgICAgICAgICAwcyB2aXNpYmlsaXR5IDBzICRhbmltYXRpb247XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgID4gLml0ZW0tbGluayB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgLnN1YiB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5mdWxsLXN1YiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgICAgICAgLnN1YiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBrZXlmcmFtZXMgbG9hZGVyQW5pbWF0aW9ue1xuICAwJXtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDY4cHggMFxuICB9XG4gIDEwMCV7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDY4cHggMFxuICB9XG59XG5cbi5hcHAtbmF2YmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbmF2YmFyLWJnKTtcbiAgY29sb3I6IHZhcigtLW5hdmJhci1jb2xvcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkbW9kdWxlLXJlbSAqIDY7XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZCAuMnMgJGFuaW1hdGlvbixcbiAgICBib3gtc2hhZG93IC4ycyAkYW5pbWF0aW9uLFxuICAgIGNvbG9yIC4ycyAkYW5pbWF0aW9uO1xuICB3aWxsLWNoYW5nZTogYm94LXNoYWRvdztcblxuICAubmF2YmFyLXdyYXAge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwICRtb2R1bGUtcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gKiB7XG4gICAgICBtYXJnaW46IDAgJG1vZHVsZS1yZW07XG4gICAgfVxuICAgIC5uYXZiYXItdG9nZ2xlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMzVweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1haW4tcGFsZXR0ZSg1MDApO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubmF2YmFyLWNsb3NlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6ICRtb2R1bGUtcmVtO1xuICAgICAgdG9wOiAkbW9kdWxlLXJlbSAqIDEuNTtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAuYWRkLXBhdGllbnQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogKCRtb2R1bGUtcmVtICogMikgKCRtb2R1bGUtcmVtICogNCk7XG4gICAgfVxuICAgIC5hc3Npc3RhbnQtbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgKCRtb2R1bGUtcmVtICogNCkgKCRtb2R1bGUtcmVtICogMik7XG5cbiAgICAgIC5saW5rIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBvcGFjaXR5OiAuMztcbiAgICAgICAgcGFkZGluZzogKCRtb2R1bGUtcmVtIC8gMikgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgJGFuaW1hdGlvbjtcblxuICAgICAgICAudGMtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbW9kdWxlLXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgYm9keS5ib3hlZCAmIHtcbiAgICAubmF2YmFyLXdyYXAge1xuICAgICAgbWF4LXdpZHRoOiAkYm94ZWQtd2lkdGg7XG4gICAgICBtYXgtd2lkdGg6IHZhcigtLWJveGVkLXdpZHRoKTtcbiAgICB9XG4gIH1cbiAgJi5ob3Jpem9udGFsLXZlcnRpY2FsIHtcbiAgICBAbWVkaWEgI3skbWF4OTkxfSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR2ZXJ0aWNhbC1uYXZiYXItd2lkdGgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycyAkYW5pbWF0aW9uO1xuICAgICAgd2lkdGg6ICR2ZXJ0aWNhbC1uYXZiYXItd2lkdGg7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCB3aWR0aDtcbiAgICAgIHotaW5kZXg6IDk5OTc7XG5cbiAgICAgIC5uYXZiYXItd3JhcCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAkdmVydGljYWwtbmF2YmFyLXdpZHRoO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLm9wZW5lZCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JG1pbjk5Mn0ge1xuICAgICAgbWluLWhlaWdodDogJG1vZHVsZS1yZW0gKiA0O1xuICAgIH1cbiAgfVxuICAmLnZlcnRpY2FsIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1uYXZiYXItMi1iZyk7XG4gICAgY29sb3I6IHZhcigtLW5hdmJhci0yLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzICRhbmltYXRpb247XG4gICAgd2lkdGg6ICR2ZXJ0aWNhbC1uYXZiYXItd2lkdGg7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgd2lkdGg7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHotaW5kZXg6IDk5OTc7XG4gICAgQG1lZGlhICN7JG1heDk5MX0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdmVydGljYWwtbmF2YmFyLXdpZHRoKTtcbiAgICB9XG5cbiAgICAubmF2YmFyLXdyYXAge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAkdmVydGljYWwtbmF2YmFyLXdpZHRoO1xuXG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLm9wZW5lZCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG4gICYuZGFyayB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbmF2YmFyLWRhcmstYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1uYXZiYXItZGFyay1jb2xvcik7XG4gIH1cbiAgLm5hdmJhci1za2VsZXRvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAkbW9kdWxlLXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246XG4gICAgICAuMnMgb3BhY2l0eSAwcyAkYW5pbWF0aW9uLFxuICAgICAgMHMgdmlzaWJpbGl0eSAwcyAkYW5pbWF0aW9uO1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgIGJvZHkubG9hZGVkICYge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIC4ycyBvcGFjaXR5IC4ycyAkYW5pbWF0aW9uLFxuICAgICAgICAwcyB2aXNpYmlsaXR5IC40cyAkYW5pbWF0aW9uO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgICAuYmcge1xuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgICB9XG4gICAgLmJnLTEge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICB9XG4gICAgLmxlZnQtcGFydCB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICAgIC5uYXZiYXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbW9kdWxlLXJlbSAqIDI7XG4gICAgICB3aWR0aDogMzVweDtcbiAgICB9XG4gICAgLnNlYXJjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMzUwcHg7XG4gICAgfVxuICAgIC5pY29uLWJveCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgIH1cbiAgICAgIC5iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRlcnJvci1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmF2YXRhciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW46IDAgMThweCAwIDI1cHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICB9XG4gICAgLnNrLWxvZ28ge1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRtb2R1bGUtcmVtICogNDtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1vZHVsZS1yZW0gKiAyO1xuICAgICAgbWF4LXdpZHRoOiAxNjlweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuYW5pbWF0ZWQtYmcge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmFuaW1hdGVkLWJnOmJlZm9yZSB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuMjVzO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBsb2FkZXJBbmltYXRpb247XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQgMTAlLCByZ2JhKCNmZmYsLjUpIDE4JSwgdHJhbnNwYXJlbnQgMzMlKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogODAwcHggMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIC50b3AtcGFydCxcbiAgICAgIC5ib3R0b20tcGFydCB7XG4gICAgICAgIHBhZGRpbmc6ICRtb2R1bGUtcmVtICgkbW9kdWxlLXJlbSAqIDMpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5ib3R0b20tcGFydCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbW9kdWxlLXJlbSAqIDM7XG4gICAgICB9XG4gICAgICAuc2stbG9nbyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIC5zay1tZW51IHtcbiAgICAgICAgbWFyZ2luOiAoJG1vZHVsZS1yZW0gKiA0LjUpIDAgMDtcblxuICAgICAgICAuc2stbWVudS1pdGVtIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAkbW9kdWxlLXJlbSAqIDEuNTtcbiAgICAgICAgICBtYXJnaW46ICgkbW9kdWxlLXJlbSAqIDEuNSkgMCAwO1xuXG4gICAgICAgICAgJi5tZW51LWhlYWRlciB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNrLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGFjY2VudC1wYWxldHRlKDUwMCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgaGVpZ2h0OiAkbW9kdWxlLXJlbSAqIDQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRtb2R1bGUtcmVtICogMztcbiAgICAgIH1cbiAgICAgIC5ob3Jpem9udGFsLW1lbnUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAkbW9kdWxlLXJlbTtcblxuICAgICAgICAuc2stbWVudS1pdGVtIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAkbW9kdWxlLXJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgJG1vZHVsZS1yZW0gMCAwO1xuICAgICAgICAgIHdpZHRoOiAkbW9kdWxlLXJlbSAqIDg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5ob3Jpem9udGFsLXZlcnRpY2FsIC5uYXZiYXItc2tlbGV0b24ge1xuICAgICYudmVydGljYWwge1xuICAgICAgQG1lZGlhICN7JG1pbjk5Mn0ge1xuICAgICAgICAudG9wLXBhcnQsXG4gICAgICAgIC5ib3R0b20tcGFydCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuaG9yaXpvbnRhbC1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYXBwLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRtb2R1bGUtcmVtICogMzU7XG4gIHdpZHRoOiA1MCU7XG5cbiAgLnR5cGVhaGVhZF9fcXVlcnkge1xuICAgIHotaW5kZXg6IGluaXRpYWw7XG4gIH1cbn1cbiIsIi5hcHAtYWN0aW9ucyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgLml0ZW0ge1xuICAgIG1hcmdpbjogMCAkbW9kdWxlLXJlbTtcblxuICAgIC5kcm9wZG93bi10b2dnbGUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJhY2tncm91bmQgLjJzICRhbmltYXRpb24sXG4gICAgICAgICAgYm9yZGVyIC4ycyAkYW5pbWF0aW9uLFxuICAgICAgICAgIGNvbG9yIC4ycyAkYW5pbWF0aW9uLFxuICAgICAgICAgIG9wYWNpdHkgLjJzICRhbmltYXRpb247XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5iYWRnZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDIxcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC01cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgfVxuICAgICYuc2hvdyB7XG4gICAgICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRfbW9kdWxlLXJlbTogJG1vZHVsZS1yZW07XG4kX2JvcmRlci13aWR0aDogMXB4O1xuJF9zaGFwZTogJHNoYXBlO1xuJF9hbmltYXRpb246ICRhbmltYXRpb247XG4kX3BhZGRpbmc6IGNhbGMoI3skX21vZHVsZS1yZW19ICogMiAtICN7JF9ib3JkZXItd2lkdGh9KTtcblxuJF90eXBlczogKFxuICBzZWNvbmRhcnk6IChcbiAgICBiZzogcmdiYSgjZWJlYmViLC4zKSxcbiAgICBjb2xvcjogaW5oZXJpdCxcbiAgICBib3JkZXItY29sb3I6IHJnYmEoI2ViZWJlYiwuMylcbiAgKSxcbiAgcHJpbWFyeTogKFxuICAgIGJnOiBhY2NlbnQtcGFsZXR0ZSg1MDApLFxuICAgIGNvbG9yOiBhY2NlbnQtY29udHJhc3QoNTAwKSxcbiAgICBib3JkZXItY29sb3I6IGFjY2VudC1wYWxldHRlKDUwMClcbiAgKSxcbiAgc3VjY2VzczogKFxuICAgIGJnOiAkc3VjY2Vzcy1jb2xvcixcbiAgICBjb2xvcjogJHN1Y2Nlc3MtY29udHJhc3QsXG4gICAgYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1jb2xvclxuICApLFxuICBpbmZvOiAoXG4gICAgYmc6ICRpbmZvLWNvbG9yLFxuICAgIGNvbG9yOiAkaW5mby1jb250cmFzdCxcbiAgICBib3JkZXItY29sb3I6ICRpbmZvLWNvbG9yXG4gICksXG4gIHdhcm5pbmc6IChcbiAgICBiZzogJHdhcm5pbmctY29sb3IsXG4gICAgY29sb3I6ICR3YXJuaW5nLWNvbnRyYXN0LFxuICAgIGJvcmRlci1jb2xvcjogJHdhcm5pbmctY29sb3JcbiAgKSxcbiAgZGFuZ2VyOiAoXG4gICAgYmc6ICRlcnJvci1jb2xvcixcbiAgICBjb2xvcjogJGVycm9yLWNvbnRyYXN0LFxuICAgIGJvcmRlci1jb2xvcjogJGVycm9yLWNvbG9yXG4gICksXG4gIGxpZ2h0OiAoXG4gICAgYmc6IG1haW4tcGFsZXR0ZSg1MCksXG4gICAgY29sb3I6IG1haW4tY29udHJhc3QoNTApLFxuICAgIGJvcmRlci1jb2xvcjogbWFpbi1wYWxldHRlKDUwKVxuICApLFxuICBkYXJrOiAoXG4gICAgYmc6IG1haW4tcGFsZXR0ZSg1MDApLFxuICAgIGNvbG9yOiBtYWluLWNvbnRyYXN0KDUwMCksXG4gICAgYm9yZGVyLWNvbG9yOiBtYWluLXBhbGV0dGUoNTAwKVxuICApXG4pO1xuXG4uYWxlcnQge1xuICBib3JkZXI6ICRfYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkX3NoYXBlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6ICRfcGFkZGluZztcblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJF9tb2R1bGUtcmVtIC8gMjtcbiAgfVxuICAuY2xvc2Uge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogJF9tb2R1bGUtcmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyAkX2FuaW1hdGlvbjtcbiAgfVxuICAuYWxlcnQtaWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsLjIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxLjQzZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAkX21vZHVsZS1yZW0gKCRfbW9kdWxlLXJlbSAqIDEuNSk7XG4gIH1cbiAgQGVhY2ggJF90eXBlLCAkX2NvbG9yIGluICRfdHlwZXMge1xuICAgICYuYWxlcnQtI3skX3R5cGV9IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9jb2xvciwgYmcpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgY29sb3IpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYXA6ICRfY29sb3IsICRrZXk6IGJvcmRlci1jb2xvcik7XG5cbiAgICAgICYub3V0bGluZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBiZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYud2l0aC1iZWZvcmUtaWNvbixcbiAgJi53aXRoLWFmdGVyLWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAkX21vZHVsZS1yZW07XG5cbiAgICAuYWxlcnQtY29udGVudCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZzogJF9wYWRkaW5nICRfbW9kdWxlLXJlbTtcbiAgICB9XG4gIH1cbiAgJi53aXRoLWJlZm9yZS1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgJi53aXRoLWFmdGVyLWljb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgLmNsb3NlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9ib3JkZXItd2lkdGg6IDFweDtcbiRfc2hhcGU6IDUwMHB4O1xuJF9mejogMXJlbTtcbiRfbGg6ICRtYWluLWxoO1xuJF9wYWRkaW5nOiBjYWxjKCN7JF9tb2R1bGUtcmVtfSAvIDIpIGNhbGMoI3skX21vZHVsZS1yZW19ICogMiAtICN7JF9ib3JkZXItd2lkdGh9KTtcblxuJF9mei14czogJF9meiAqIC43O1xuJF9saC14czogJF9tb2R1bGUtcmVtICogMS41IC8gJF9mei14cztcbiRfcGFkZGluZy14czogMCBjYWxjKCN7JF9tb2R1bGUtcmVtfSAvIDIgLSAjeyRfYm9yZGVyLXdpZHRofSk7XG5cbiRfZnotc206ICRfZnogKiAuNztcbiRfbGgtc206ICRfbW9kdWxlLXJlbSAqIDEuNSAvICRfZnotc207XG4kX3BhZGRpbmctc206IGNhbGMoI3skX21vZHVsZS1yZW19IC8gNCAtICN7JF9ib3JkZXItd2lkdGh9KSBjYWxjKCN7JF9tb2R1bGUtcmVtfSAtICN7JF9ib3JkZXItd2lkdGh9KTtcblxuJF9mei1sZzogJF9meiAqIDEuMjtcbiRfbGgtbGc6ICRfbW9kdWxlLXJlbSAqIDIgLyAkX2Z6LWxnO1xuJF9wYWRkaW5nLWxnOiBjYWxjKCN7JF9tb2R1bGUtcmVtfSAtICN7JF9ib3JkZXItd2lkdGh9KSBjYWxjKCN7JF9tb2R1bGUtcmVtfSAqIDMgLSAjeyRfYm9yZGVyLXdpZHRofSk7XG5cbiRfdHlwZXM6IChcbiAgcHJpbWFyeTogKFxuICAgIGJnOiBhY2NlbnQtcGFsZXR0ZSg1MDApLFxuICAgIGNvbG9yOiBhY2NlbnQtY29udHJhc3QoNTAwKVxuICApLFxuICBzZWNvbmRhcnk6IChcbiAgICBiZzogbWFpbi1wYWxldHRlKDMwMCksXG4gICAgY29sb3I6IG1haW4tY29udHJhc3QoMzAwKVxuICApLFxuICBzdWNjZXNzOiAoXG4gICAgYmc6ICRzdWNjZXNzLWNvbG9yLFxuICAgIGNvbG9yOiAkc3VjY2Vzcy1jb250cmFzdFxuICApLFxuICBpbmZvOiAoXG4gICAgYmc6ICRpbmZvLWNvbG9yLFxuICAgIGNvbG9yOiAkaW5mby1jb250cmFzdFxuICApLFxuICB3YXJuaW5nOiAoXG4gICAgYmc6ICR3YXJuaW5nLWNvbG9yLFxuICAgIGNvbG9yOiAkd2FybmluZy1jb250cmFzdFxuICApLFxuICBlcnJvcjogKFxuICAgIGJnOiAkZXJyb3ItY29sb3IsXG4gICAgY29sb3I6ICRlcnJvci1jb250cmFzdFxuICApLFxuICBsaWdodDogKFxuICAgIGJnOiBtYWluLXBhbGV0dGUoNTApLFxuICAgIGNvbG9yOiBtYWluLWNvbnRyYXN0KDUwKVxuICApLFxuICBkYXJrOiAoXG4gICAgYmc6IG1haW4tcGFsZXR0ZSg5MDApLFxuICAgIGNvbG9yOiBtYWluLWNvbnRyYXN0KDkwMClcbiAgKVxuKTtcbi5iYWRnZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAkX3NoYXBlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAkX2Z6O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogJF9saDtcbiAgcGFkZGluZzogJF9wYWRkaW5nO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICYuYmFkZ2UteHMge1xuICAgIGZvbnQtc2l6ZTogJF9mei14cztcbiAgICBsaW5lLWhlaWdodDogJF9saC14cztcbiAgICBwYWRkaW5nOiAkX3BhZGRpbmcteHM7XG4gIH1cbiAgJi5iYWRnZS1zbSB7XG4gICAgZm9udC1zaXplOiAkX2Z6LXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAkX2xoLXNtO1xuICAgIHBhZGRpbmc6ICRfcGFkZGluZy1zbTtcbiAgfVxuICAmLmJhZGdlLWxnIHtcbiAgICBmb250LXNpemU6ICRfZnotbGc7XG4gICAgbGluZS1oZWlnaHQ6ICRfbGgtbGc7XG4gICAgcGFkZGluZzogJF9wYWRkaW5nLWxnO1xuICB9XG4gICYuYmFkZ2UtaW5zaWRlIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBwYWRkaW5nOiAuMWVtIDFlbTtcbiAgfVxuICBAZWFjaCAkX3R5cGUsICRfY29sb3IgaW4gJF90eXBlcyB7XG4gICAgJi5iYWRnZS0jeyRfdHlwZX0ge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2NvbG9yLCBiZyk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgYmcpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgY29sb3IpO1xuXG4gICAgICAmLmJhZGdlLXBpbGwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBiZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9ib3JkZXItd2lkdGg6IDFweDtcbiRfYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiRfZnM6IDFyZW07XG4kX2ZmOiAkbWFpbi1mZjtcbiRfZnc6IDcwMDtcbiRfbGg6ICRfbW9kdWxlLXJlbSAqIDIgLyAkX2ZzO1xuJF90dDogbm9uZTtcbiRfcGFkZGluZzogY2FsYygjeyRfbW9kdWxlLXJlbX0gLSAuNXB4KSAoJF9tb2R1bGUtcmVtICogMik7XG4kX3NoYXBlOiAkc2hhcGU7XG4kX3RyYW5zaXRpb246ICRhbmltYXRpb247XG4kX3NoYWRvdzogJHNoYWRvdztcbiRfc2hhZG93LWhvdmVyOiAkc2hhZG93LWhvdmVyO1xuXG4kX2xnLXBhZGRpbmc6IGNhbGMoI3skX21vZHVsZS1yZW0gKiAxLjV9IC0gLjVweCkgKCRfbW9kdWxlLXJlbSAqIDMpO1xuJF9sZy1mczogKCRfZnMgKiAxLjIpO1xuJF9sZy1saDogJF9tb2R1bGUtcmVtICogMiAvICRfbGctZnM7XG5cbiRfc20tcGFkZGluZzogY2FsYygjeyRfbW9kdWxlLXJlbX0gLSAuNXB4KSAkX21vZHVsZS1yZW07XG4kX3NtLWZzOiAoJF9mcyAqIC44KTtcbiRfc20tbGg6ICRfbW9kdWxlLXJlbSAvICRfc20tZnM7XG5cbi8vYnRuIGNvbG9yc1xuJF90eXBlczogKFxuICBwcmltYXJ5OiAoXG4gICAgYmc6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gICAgY29sb3I6IGFjY2VudC1jb250cmFzdCg1MDApLFxuICAgIGhvdmVyLWJnOiBhY2NlbnQtcGFsZXR0ZSg3MDApLFxuICAgIGhvdmVyLWNvbG9yOiBhY2NlbnQtY29udHJhc3QoNzAwKVxuICApLFxuICBzZWNvbmRhcnk6IChcbiAgICBiZzogbWFpbi1wYWxldHRlKDMwMCksXG4gICAgY29sb3I6IG1haW4tY29udHJhc3QoMzAwKSxcbiAgICBob3Zlci1iZzogbWFpbi1wYWxldHRlKDUwMCksXG4gICAgaG92ZXItY29sb3I6IG1haW4tY29udHJhc3QoNTAwKVxuICApLFxuICBzdWNjZXNzOiAoXG4gICAgYmc6ICRzdWNjZXNzLWNvbG9yLFxuICAgIGNvbG9yOiAkc3VjY2Vzcy1jb250cmFzdCxcbiAgICBob3Zlci1iZzogZGFya2VuKCRzdWNjZXNzLWNvbG9yLCAxMCUpLFxuICAgIGhvdmVyLWNvbG9yOiBkYXJrZW4oJHN1Y2Nlc3MtY29udHJhc3QsIDEwJSlcbiAgKSxcbiAgaW5mbzogKFxuICAgIGJnOiAkaW5mby1jb2xvcixcbiAgICBjb2xvcjogJGluZm8tY29udHJhc3QsXG4gICAgaG92ZXItYmc6IGRhcmtlbigkaW5mby1jb2xvciwgMTAlKSxcbiAgICBob3Zlci1jb2xvcjogZGFya2VuKCRpbmZvLWNvbnRyYXN0LCAxMCUpXG4gICksXG4gIHdhcm5pbmc6IChcbiAgICBiZzogJHdhcm5pbmctY29sb3IsXG4gICAgY29sb3I6ICR3YXJuaW5nLWNvbnRyYXN0LFxuICAgIGhvdmVyLWJnOiBkYXJrZW4oJHdhcm5pbmctY29sb3IsIDEwJSksXG4gICAgaG92ZXItY29sb3I6IGRhcmtlbigkd2FybmluZy1jb250cmFzdCwgMTAlKVxuICApLFxuICBlcnJvcjogKFxuICAgIGJnOiAkZXJyb3ItY29sb3IsXG4gICAgY29sb3I6ICRlcnJvci1jb250cmFzdCxcbiAgICBob3Zlci1iZzogZGFya2VuKCRlcnJvci1jb2xvciwgMTAlKSxcbiAgICBob3Zlci1jb2xvcjogZGFya2VuKCRlcnJvci1jb250cmFzdCwgMTAlKVxuICApXG4pO1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRpb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuXG4uYnRuIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXdpZHRoOiAkX2JvcmRlci13aWR0aDtcbiAgYm9yZGVyLXN0eWxlOiAkX2JvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgYm94LXNoYWRvdzogJF9zaGFkb3c7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtZmFtaWx5OiAkX2ZmO1xuICBmb250LXNpemU6ICRfZnM7XG4gIGZvbnQtd2VpZ2h0OiAkX2Z3O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6ICRfbGg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6ICRfcGFkZGluZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiAkX3R0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kIC4ycyAkX3RyYW5zaXRpb24sXG4gICAgYm9yZGVyIC4ycyAkX3RyYW5zaXRpb24sXG4gICAgYm94LXNoYWRvdyAuMnMgJF90cmFuc2l0aW9uLFxuICAgIGNvbG9yIC4ycyAkX3RyYW5zaXRpb24sXG4gICAgb3BhY2l0eSAuMnMgJF90cmFuc2l0aW9uO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQsIGJvcmRlciwgYm94LXNoYWRvdywgY29sb3IsIG9wYWNpdHk7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6ICRfc2hhZG93LWhvdmVyO1xuICB9XG4gIC5idG4taWNvbiB7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmJ0bi1sb2FkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgfVxuICB9XG4gICYuYnRuLXNxdWFyZSB7XG4gICAgbWluLXdpZHRoOiAkX21vZHVsZS1yZW0gKiA0O1xuICAgIHBhZGRpbmctbGVmdDogJF9tb2R1bGUtcmVtIC8gMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkX21vZHVsZS1yZW0gLyAyO1xuXG4gICAgJi5idG4tc20ge1xuICAgICAgbWluLXdpZHRoOiAkX21vZHVsZS1yZW0gKiAzLjU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRfbW9kdWxlLXJlbSAvIDI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkX21vZHVsZS1yZW0gLyAyO1xuICAgIH1cbiAgICAmLmJ0bi1sZyB7XG4gICAgICBtaW4td2lkdGg6ICRfbW9kdWxlLXJlbSAqIDU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRfbW9kdWxlLXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRfbW9kdWxlLXJlbTtcbiAgICB9XG4gIH1cbiAgJi5idG4tbGcge1xuICAgIGZvbnQtc2l6ZTogJF9sZy1mcztcbiAgICBsaW5lLWhlaWdodDogJF9sZy1saDtcbiAgICBwYWRkaW5nOiAkX2xnLXBhZGRpbmc7XG4gIH1cbiAgJi5idG4tc20ge1xuICAgIGZvbnQtc2l6ZTogJF9zbS1mcztcbiAgICBsaW5lLWhlaWdodDogJF9zbS1saDtcbiAgICBwYWRkaW5nOiAkX3NtLXBhZGRpbmc7XG4gIH1cblxuICAvLyBjb2xvcnMgLSAocHJpbWFyeSwgc2Vjb25kYXJ5LCBzdWNjZXNzLCBpbmZvLCB3YXJuaW5nLCBlcnJvcilcbiAgQGVhY2ggJF90eXBlLCAkX2NvbG9yIGluICRfdHlwZXMge1xuICAgICYuYnRuLSN7JF90eXBlfSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfY29sb3IsIGJnKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2NvbG9yLCBiZyk7XG4gICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBjb2xvcik7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfY29sb3IsIGhvdmVyLWJnKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgaG92ZXItY29sb3IpO1xuICAgICAgfVxuICAgICAgJi5idG4tb3V0bGluZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2NvbG9yLCBiZyk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGJnKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAuYWN0aXZlICYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9jb2xvciwgYmcpO1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmJ0bi1vdXRsaW5lIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuYnRuLWxvYWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAuYnRuLXRleHQsXG4gICAgLmJ0bi1pY29uIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLmJ0bi1sb2FkZXIge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgJi5idG4taWNvbi1hbmltYXRpb24ge1xuICAgIC5idG4taWNvbiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgJF90cmFuc2l0aW9uO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgLmFjdGl2ZSAmIHtcbiAgICAgIC5idG4taWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9zaGFwZTogJHNoYXBlO1xuJF9zaGFkb3c6ICRzaGFkb3c7XG4kX3RpdGxlLWZzOiAycmVtO1xuJF90aXRsZS1mdzogNTAwO1xuXG4uY2FyZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IDUwJSA1MCUgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRfc2hhcGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAkX21vZHVsZS1yZW0gKiA0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNhcmQtaW1nIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jYXJkLWltZy10b3Age1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIH1cbiAgLmNhcmQtaW1nLW92ZXJsYXkge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG4gIC5jYXJkLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAkX3RpdGxlLWZzO1xuICAgIGZvbnQtd2VpZ2h0OiAkX3RpdGxlLWZ3O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jYXJkLWJvZHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICgkX21vZHVsZS1yZW0gKiAyKSAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbiAgLm92ZXJsYXktaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAmLmJnLXByaW1hcnksXG4gICYuYmctc2Vjb25kYXJ5LFxuICAmLmJnLXN1Y2Nlc3MsXG4gICYuYmctZGFuZ2VyLFxuICAmLmJnLXdhcm5pbmcsXG4gICYuYmctZGFuZ2VyLFxuICAmLmJnLWluZm8sXG4gICYuYmctbGlnaHQsXG4gICYuYmctZGFyayxcbiAgJi5ib3JkZXItcHJpbWFyeSxcbiAgJi5ib3JkZXItc2Vjb25kYXJ5LFxuICAmLmJvcmRlci1zdWNjZXNzLFxuICAmLmJvcmRlci1kYW5nZXIsXG4gICYuYm9yZGVyLXdhcm5pbmcsXG4gICYuYm9yZGVyLWRhbmdlcixcbiAgJi5ib3JkZXItaW5mbyxcbiAgJi5ib3JkZXItbGlnaHQsXG4gICYuYm9yZGVyLWRhcmsge1xuICAgIGJveC1zaGFkb3c6ICRfc2hhZG93O1xuXG4gICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6ICRfbW9kdWxlLXJlbSAoJF9tb2R1bGUtcmVtICogMikgMDtcbiAgICB9XG4gICAgLmNhcmQtYm9keSB7XG4gICAgICBwYWRkaW5nOiAkX21vZHVsZS1yZW0gKiAyO1xuICAgIH1cbiAgfVxuICAmLmJvcmRlci1wcmltYXJ5LFxuICAmLmJvcmRlci1zZWNvbmRhcnksXG4gICYuYm9yZGVyLXN1Y2Nlc3MsXG4gICYuYm9yZGVyLWRhbmdlcixcbiAgJi5ib3JkZXItd2FybmluZyxcbiAgJi5ib3JkZXItZGFuZ2VyLFxuICAmLmJvcmRlci1pbmZvLFxuICAmLmJvcmRlci1saWdodCxcbiAgJi5ib3JkZXItZGFyayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG59XG4iLCIkX2JnOiAoXG4gIGRlZmF1bHQ6ICNlYmViZWIsXG4gIGhvdmVyOiAjZWJlYmViLFxuICBhY3RpdmU6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gIGRpc2FibGVkOiByZ2JhKCNjY2MsLjEpXG4pO1xuJF9ib3JkZXI6IChcbiAgZGVmYXVsdDogI2ViZWJlYixcbiAgaG92ZXI6ICNlYmViZWIsXG4gIGFjdGl2ZTogYWNjZW50LXBhbGV0dGUoNTAwKSxcbiAgZGlzYWJsZWQ6IHJnYmEoI2NjYywuNSlcbik7XG4kX2NvbG9yOiAoXG4gIGRlZmF1bHQ6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gIGhvdmVyOiBhY2NlbnQtcGFsZXR0ZSg1MDApLFxuICBhY3RpdmU6IGFjY2VudC1jb250cmFzdCg1MDApLFxuICBkaXNhYmxlZDogI2JkYmRiZFxuKTtcbiRfbGFiZWwtY29sb3I6IChcbiAgZGVmYXVsdDogaW5oZXJpdCxcbiAgaG92ZXI6IGluaGVyaXQsXG4gIGFjdGl2ZTogaW5oZXJpdCxcbiAgZGlzYWJsZWQ6ICNiZGJkYmRcbik7XG5cbiRfbW9kdWxlLXJlbTogJG1vZHVsZS1yZW07XG4kX2JvcmRlci1zdHlsZTogc29saWQ7XG4kX2JvcmRlci13aWR0aDogMXB4O1xuJF9mczogMXJlbTtcbiRfaGVpZ2h0OiAkX21vZHVsZS1yZW0gKiAyO1xuJF93aWR0aDogJF9tb2R1bGUtcmVtICogMjtcbiRfc2hhcGU6IDNweDtcbiRfYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwYWRkaW5nLWxlZnQ6ICRfd2lkdGggKyAkX21vZHVsZS1yZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycyAkX2FuaW1hdGlvbjtcbn1cbi5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5jdXN0b20tY2hlY2tib3gge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRfbGFiZWwtY29sb3IsIGRlZmF1bHQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6ICRfaGVpZ2h0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBsZWZ0OiAtKCRfd2lkdGggKyAkX21vZHVsZS1yZW0pO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgICBib3JkZXIgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgICB0cmFuc2Zvcm0gLjJzICRfYW5pbWF0aW9uO1xuICAgICAgd2lkdGg6ICRfd2lkdGg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgZGVmYXVsdCk7XG4gICAgICBib3JkZXI6ICRfYm9yZGVyLXdpZHRoICRfYm9yZGVyLXN0eWxlIG1hcC1nZXQoJF9ib3JkZXIsIGRlZmF1bHQpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCI7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGFjdGl2ZSk7XG4gICAgICBjb250ZW50OiBcIlxcZWVkNlwiO1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgICBmb250LWZhbWlseTogSWNvRm9udCFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkX2xhYmVsLWNvbG9yLCBob3Zlcik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2JnLCBob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2JvcmRlciwgaG92ZXIpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGhvdmVyKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfYmcsIGFjdGl2ZSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2JvcmRlciwgYWN0aXZlKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGFjdGl2ZSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6ZGlzYWJsZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgZGlzYWJsZWQpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfYmcsIGRpc2FibGVkKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRfYm9yZGVyLCBkaXNhYmxlZCk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6ZGlzYWJsZWQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgZGlzYWJsZWQpO1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJF9ib3JkZXIsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJF9tb2R1bGUtcmVtOiAkbW9kdWxlLXJlbTtcbiRfYmc6ICNmZmY7XG4kX3NoYXBlOiAkc2hhcGU7XG4kX3NoYWRvdzogJHNoYWRvdztcbiRfc2hhZG93LWhvdmVyOiAkc2hhZG93LWhvdmVyO1xuJF9hbmltYXRpb246ICRhbmltYXRpb247XG4kX3NsLWNvbG9yOiBpbmhlcml0O1xuJF9zbC1jb2xvci1ob3ZlcjogYWNjZW50LXBhbGV0dGUoNTAwKTtcblxuLmNvbnRhY3Qge1xuICBiYWNrZ3JvdW5kOiAkX2JnO1xuICBib3JkZXItcmFkaXVzOiAkX3NoYXBlO1xuICBib3gtc2hhZG93OiAkX3NoYWRvdztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvICRfbW9kdWxlLXJlbSAqIDI7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnMgJF9hbmltYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogJF9zaGFkb3ctaG92ZXI7XG4gIH1cbiAgLmltZy1ib3gge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwuMDUpO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAuaW5mby1ib3gge1xuICAgIHBhZGRpbmc6ICgkX21vZHVsZS1yZW0gKiAyKSAoJF9tb2R1bGUtcmVtICogMikgKCRfbW9kdWxlLXJlbSAqIDMpO1xuXG4gICAgLm5hbWUge1xuICAgICAgbWFyZ2luOiAwIDAgJF9tb2R1bGUtcmVtO1xuICAgIH1cbiAgICAucm9sZSB7XG4gICAgICBvcGFjaXR5OiAuNjtcbiAgICB9XG4gICAgLnNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgKC0kX21vZHVsZS1yZW0gLyAyKSAoJF9tb2R1bGUtcmVtICogMik7XG5cbiAgICAgIC5saW5rIHtcbiAgICAgICAgY29sb3I6ICRfc2wtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICN7JG1haW4tbGh9cmVtO1xuICAgICAgICBtYXJnaW46IDAgKCRfbW9kdWxlLXJlbSAvIDIpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkX3NsLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5hZGRyZXNzIHtcbiAgICAgIG9wYWNpdHk6IC42O1xuICAgIH1cbiAgfVxufVxuIiwiJF9tb2R1bGUtcmVtOiAkbW9kdWxlLXJlbTtcbiRfb3ZlcmxheS1iZzogcmdiYShtYWluLXBhbGV0dGUoNTAwKSwuMSk7XG4kX2JnOiAjZmZmO1xuJF9ib3JkZXItY29sb3I6IHJnYmEobWFpbi1wYWxldHRlKDUwMCksLjEpO1xuJF9zaGFwZTogJHNoYXBlO1xuJF90cmFuc2l0aW9uOiAkYW5pbWF0aW9uO1xuJF9zaGFkb3c6ICRzaGFkb3c7XG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLWxlZnQ6ICRfbW9kdWxlLXJlbTtcbiAgcGFkZGluZy1yaWdodDogJF9tb2R1bGUtcmVtO1xufVxuLmRyb3Bkb3duLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAkX2JnO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6ICRfc2hhcGU7XG4gIGJveC1zaGFkb3c6ICRfc2hhZG93O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6ICRfbW9kdWxlLXJlbSAwO1xuXG4gIC5tZW51LWxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgIGxpIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiYSgjMzMzLCAuNjUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWVudS1oZWFkZXIsXG4gIC5tZW51LWZvb3RlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRfbW9kdWxlLXJlbSAoJF9tb2R1bGUtcmVtICogMik7XG4gIH1cbiAgLm1lbnUtaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRfc2hhcGUgJF9zaGFwZSAwIDA7XG4gICAgY29sb3I6IG1haW4tcGFsZXR0ZSg1MDApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC5tZW51LWZvb3RlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRfc2hhcGUgJF9zaGFwZTtcbiAgfVxuICAubGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJG1haW4tY29sb3I7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogJF9tb2R1bGUtcmVtICgkX21vZHVsZS1yZW0gKiAyKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJhY2tncm91bmQgLjJzICRfdHJhbnNpdGlvbixcbiAgICAgICAgICBjb2xvciAuMnMgJF90cmFuc2l0aW9uO1xuXG4gICAgICAgIC5pY29uLFxuICAgICAgICAuYXZhdGFyLFxuICAgICAgICAudGMtaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRfbW9kdWxlLXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYShtYWluLXBhbGV0dGUoNTAwKSwuMSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogJF9tb2R1bGUtcmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzICRfdHJhbnNpdGlvbjtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICAuYXZhdGFyIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IC44NXJlbTtcblxuICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZGF0ZSxcbiAgICAgICAgICAuc2l6ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICAgICAgb3BhY2l0eTogLjY7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tZXRhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuXG4gICAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGFjY2VudC1wYWxldHRlKDUwMCk7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuICAgICAgICAgICAgY29sb3I6IGFjY2VudC1jb250cmFzdCg1MDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmVtcHR5LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogJF9tb2R1bGUtcmVtICgkX21vZHVsZS1yZW0gKiAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmF1dGhvci1pbmZvIHtcbiAgICBwYWRkaW5nOiAoJF9tb2R1bGUtcmVtICogMikgKCRfbW9kdWxlLXJlbSkgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuYXV0aG9yLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgfVxuICAuZHJvcGRvd24tb3ZlcmxheSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IC4xcyBvcGFjaXR5IC4ycyAkX3RyYW5zaXRpb247XG4gICAgei1pbmRleDogOTk5NztcblxuICAgIC5vdmVybGF5LWJnIHtcbiAgICAgIGJhY2tncm91bmQ6ICRfb3ZlcmxheS1iZztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICYuZHJvcGRvd24tbWVudS13LTE4MCB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG4gICYuZHJvcGRvd24tbWVudS13LTI4MCB7XG4gICAgd2lkdGg6IDI4MHB4O1xuICB9XG59XG4iLCIkX2JnOiAoXG4gIGRlZmF1bHQ6ICNlYmViZWIsXG4gIGhvdmVyOiAjZWJlYmViLFxuICBmb2N1czogI2ZmZixcbiAgZGlzYWJsZWQ6IHJnYmEoI2NjYywuMSlcbik7XG4kX2JvcmRlcjogKFxuICBkZWZhdWx0OiAjZWJlYmViLFxuICBob3ZlcjogI2ViZWJlYixcbiAgZm9jdXM6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gIGRpc2FibGVkOiByZ2JhKCNjY2MsLjUpXG4pO1xuJF9jb2xvcjogKFxuICBkZWZhdWx0OiBtYWluLXBhbGV0dGUoNTAwKSxcbiAgaG92ZXI6IG1haW4tcGFsZXR0ZSg1MDApLFxuICBmb2N1czogbWFpbi1wYWxldHRlKDUwMCksXG4gIGRpc2FibGVkOiAjYmRiZGJkXG4pO1xuXG4kX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9wbGFjZWhvbGRlci1jb2xvcjogI2E4YThhODtcbiRfYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiRfYm9yZGVyLXdpZHRoOiAxcHg7XG4kX2ZzOiAxcmVtO1xuJF9saDogZGVjaW1hbC1yb3VuZCgkX21vZHVsZS1yZW0gKiAyIC8gJF9mcyk7XG4kX3BhZGRpbmctaDogJF9tb2R1bGUtcmVtICogMjtcbiRfcGFkZGluZy12OiBjYWxjKCN7JF9tb2R1bGUtcmVtfSAtICN7JF9ib3JkZXItd2lkdGh9KTtcbiRfc2hhcGU6IDIwcHg7XG4kX2FuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiRfc2hhZG93LWhvdmVyOiAkc2hhZG93LWhvdmVyO1xuXG4vLyBzaXplIHNtXG4kX2ZzLXNtOiAoJF9mcyAqIC45KTtcbiRfbGgtc206ICRfbW9kdWxlLXJlbSAqIDIgLyAkX2ZzLXNtO1xuJF9zaGFwZS1zbTogKCRfc2hhcGUgKiAuOCk7XG4kX3BhZGRpbmctdi1zbTogKCRfbW9kdWxlLXJlbSAvIDIpO1xuXG4vLyBzaXplIGxnXG4kX2ZzLWxnOiAoJF9mcyAqIDEuMyk7XG4kX2xoLWxnOiAkX21vZHVsZS1yZW0gKiAyIC8gJF9mcy1sZztcbiRfc2hhcGUtbGc6ICgkX3NoYXBlICogMS41KTtcbiRfcGFkZGluZy12LWxnOiAkX21vZHVsZS1yZW0gKiAxLjU7XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhdXRvZmlsbCB7XG4gIHRvIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGF1dG9maWxsO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICA6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICA6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fVxufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkX2JnLCBkZWZhdWx0KTtcbiAgYm9yZGVyOiAkX2JvcmRlci13aWR0aCAkX2JvcmRlci1zdHlsZSBtYXAtZ2V0KCRfYm9yZGVyLCBkZWZhdWx0KTtcbiAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgZGVmYXVsdCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRfZnM7XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRfbGg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6ICRfcGFkZGluZy12ICRfcGFkZGluZy1oO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQgLjJzICRfYW5pbWF0aW9uLFxuICAgIGJvcmRlciAuMnMgJF9hbmltYXRpb24sXG4gICAgYm94LXNoYWRvdyAuMnMgJF9hbmltYXRpb24sXG4gICAgY29sb3IgLjJzICRfYW5pbWF0aW9uO1xuICB3aWxsLWNoYW5nZTogYmFja2dyb3VuZCwgYm9yZGVyLCBib3gtc2hhZG93LCBjb2xvcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkX3BsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgaG92ZXIpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2JvcmRlciwgaG92ZXIpO1xuICAgIGJveC1zaGFkb3c6ICRfc2hhZG93LWhvdmVyO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGhvdmVyKTtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfYmcsIGZvY3VzKTtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJF9ib3JkZXIsIGZvY3VzKTtcbiAgICBib3gtc2hhZG93OiAkX3NoYWRvdy1ob3ZlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBmb2N1cyk7XG4gIH1cbiAgLnRjLWlucHV0LXdyYXAge1xuICAgIC5pbnB1dC1wcmVmaXgsXG4gICAgLmlucHV0LXN1ZmZpeCB7XG4gICAgICBjb2xvcjogJF9wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIC4yZW07XG4gICAgfVxuICAgIC5pbnB1dC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgfVxuICAgIC5jaGFyLWxpbWl0aW5nIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJF9wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgLjJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuICAmLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgLmhhcy1lcnJvciAmIHtcbiAgICAudGMtaW5wdXQtd3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRlcnJvci1jb2xvciwgLjEpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGVycm9yLWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgYm9yZGVyLXJhZGl1czogJF9zaGFwZS1zbTtcbiAgICBmb250LXNpemU6ICRfZnMtc207XG4gICAgaGVpZ2h0OiAkX21vZHVsZS1yZW0gKiAzO1xuICAgIGxpbmUtaGVpZ2h0OiAkX2xoLXNtO1xuICAgIHBhZGRpbmctdG9wOiAkX3BhZGRpbmctdi1zbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJF9wYWRkaW5nLXYtc207XG5cbiAgICAuaW5wdXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIH1cbiAgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgYm9yZGVyLXJhZGl1czogJF9zaGFwZS1sZztcbiAgICBmb250LXNpemU6ICRfZnMtbGc7XG4gICAgaGVpZ2h0OiAkX21vZHVsZS1yZW0gKiA1O1xuICAgIGxpbmUtaGVpZ2h0OiAkX2xoLWxnO1xuICAgIHBhZGRpbmctdG9wOiAkX3BhZGRpbmctdi1sZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJF9wYWRkaW5nLXYtbGc7XG4gIH1cbiAgJjpkaXNhYmxlZCxcbiAgJi5kaXNhYmxlZCxcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJF9iZywgZGlzYWJsZWQpO1xuICAgIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJF9ib3JkZXIsIGRpc2FibGVkKTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgZGlzYWJsZWQpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbn1cbi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0IHtcbiAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgZGVmYXVsdCk7XG4gIGZvbnQtc2l6ZTogJF9mcztcbiAgaGVpZ2h0OiAkX21vZHVsZS1yZW0gKiA0O1xuICBsaW5lLWhlaWdodDogJF9saDtcbiAgcGFkZGluZy10b3A6ICRfcGFkZGluZy12O1xuICBwYWRkaW5nLWJvdHRvbTogJF9wYWRkaW5nLXY7XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20ge1xuICAgIGZvbnQtc2l6ZTogJF9mcy1zbTtcbiAgICBoZWlnaHQ6ICRfbW9kdWxlLXJlbSAqIDM7XG4gICAgbGluZS1oZWlnaHQ6ICRfbGgtc207XG4gICAgcGFkZGluZy10b3A6ICRfcGFkZGluZy12LXNtO1xuICAgIHBhZGRpbmctYm90dG9tOiAkX3BhZGRpbmctdi1zbTtcbiAgfVxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgZm9udC1zaXplOiAkX2ZzLWxnO1xuICAgIGhlaWdodDogJF9tb2R1bGUtcmVtICogNTtcbiAgICBsaW5lLWhlaWdodDogJF9saC1sZztcbiAgICBwYWRkaW5nLXRvcDogJF9wYWRkaW5nLXYtbGc7XG4gICAgcGFkZGluZy1ib3R0b206ICRfcGFkZGluZy12LWxnO1xuICB9XG59XG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRtb2R1bGUtcmVtICogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZvcm0tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICRtb2R1bGUtcmVtIDAgMDtcbn1cbmxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwIDAgJG1vZHVsZS1yZW07XG59XG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgZGVmYXVsdCk7XG4gIGJvcmRlcjogJF9ib3JkZXItd2lkdGggJF9ib3JkZXItc3R5bGUgbWFwLWdldCgkX2JvcmRlciwgZGVmYXVsdCk7XG4gIGJvcmRlci1yYWRpdXM6ICRfc2hhcGU7XG4gIHBhZGRpbmctbGVmdDogJF9wYWRkaW5nLWg7XG4gIHBhZGRpbmctcmlnaHQ6ICRfcGFkZGluZy1oO1xufVxuLmlucHV0LWdyb3VwIHtcbiAgLmJ0biB7XG4gICAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgfVxuICAudHlwZWFoZWFkX19jYW5jZWwtYnV0dG9uIHtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgKyAuZm9ybS1jb250cm9sIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRfc2hhcGU7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkX3NoYXBlO1xuICAgIH1cbiAgfVxuICAuaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG4gICAgfiAuZm9ybS1jb250cm9sIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxufVxuLndpdGgtcHJlZml4LWljb24sXG4ud2l0aC1zdWZmaXgtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAucHJlZml4LWljb24sXG4gIC5zdWZmaXgtaWNvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJF9wbGFjZWhvbGRlci1jb2xvcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkX21vZHVsZS1yZW0gKiA0O1xuICB9XG4gIC5wcmVmaXgtaWNvbiB7XG4gICAgbGVmdDogMDtcbiAgfVxuICAuc3VmZml4LWljb24ge1xuICAgIHJpZ2h0OiAwO1xuICB9XG59XG4ud2l0aC1wcmVmaXgtaWNvbiB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogJF9tb2R1bGUtcmVtICogNDtcbiAgfVxufVxuLndpdGgtc3VmZml4LWljb24ge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkX21vZHVsZS1yZW0gKiA0O1xuICB9XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBtaW4taGVpZ2h0OiAkX21vZHVsZS1yZW0gKiA0O1xuICByZXNpemU6IG5vbmU7XG5cbiAgJi5yZXNpemUge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gIH1cbn1cbi5mb3JtLWNvbnRyb2wuaXMtdmFsaWQsXG4ud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkLFxuLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLFxuLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDUwJSByaWdodCAkX21vZHVsZS1yZW07XG59XG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6dmFsaWQsXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wuaXMtdmFsaWQsXG4ud2FzLXZhbGlkYXRlZCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2w6aW52YWxpZCxcbnRleHRhcmVhLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRfbW9kdWxlLXJlbSByaWdodCAkX21vZHVsZS1yZW07XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9iZzogI2ZmZjtcbiRfb3ZlcmxheS1iZzogcmdiYSgjMDAwLC4xKTtcbiRfd2lkdGg6ICRfbW9kdWxlLXJlbSAqIDUwO1xuJF9oLXBhZGRpZzogJF9tb2R1bGUtcmVtICogMjtcbiRfdi1wYWRkaW5nOiAkX21vZHVsZS1yZW0gKiAyO1xuJF90aXRsZS1mczogMnJlbTtcbiRfdGl0bGUtZnc6IDUwMDtcbiRfZm9vdGVyLWJnOiByZ2JhKCMwMDAsLjA1KTtcbiRfYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuJF9zaGFkb3c6ICRzaGFkb3c7XG4kX3NoYXBlOiAkc2hhcGU7XG4kX2Vycm9yLWNvbG9yOiAkZXJyb3ItY29sb3I7XG5cbi5tb2RhbCB7XG4gIHotaW5kZXg6IDk5OTk7XG59XG4ubW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICRfYmc7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgYm94LXNoYWRvdzogJF9zaGFkb3c7XG5cbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDNweDtcbiAgICB0b3A6IDNweDtcbiAgfVxuICAubW9kYWwtaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRfdi1wYWRkaW5nICgkX2gtcGFkZGlnIC0gKCRfbW9kdWxlLXJlbSAvIDIpKTtcblxuICAgID4gKiB7XG4gICAgICBtYXJnaW46IDAgKCRfbW9kdWxlLXJlbSAvIDIpO1xuICAgIH1cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAkX3RpdGxlLWZzO1xuICAgICAgZm9udC13ZWlnaHQ6ICRfdGl0bGUtZnc7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbiAgLm1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6ICRfdi1wYWRkaW5nICRfaC1wYWRkaWc7XG4gIH1cbiAgLm1vZGFsLWZvb3RlciB7XG4gICAgYmFja2dyb3VuZDogJF9mb290ZXItYmc7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogJF92LXBhZGRpbmcgJF9oLXBhZGRpZztcblxuICAgIC5hY3Rpb25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW46IC0kX21vZHVsZS1yZW0gLyAyO1xuXG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46ICRfbW9kdWxlLXJlbSAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubW9kYWwtZGlhbG9nLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgbWluLWhlaWdodDogY2FsYygxMDAlIC0gMy41cmVtKTtcbn1cbi5tb2RhbC1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6ICRfb3ZlcmxheS1iZztcbiAgei1pbmRleDogOTk5ODtcbn1cbiIsIiRfYmc6IChcbiAgZGVmYXVsdDogI2ViZWJlYixcbiAgaG92ZXI6ICNlYmViZWIsXG4gIGFjdGl2ZTogYWNjZW50LXBhbGV0dGUoNTAwKSxcbiAgZGlzYWJsZWQ6IHJnYmEoI2NjYywuMSlcbik7XG4kX2JvcmRlcjogKFxuICBkZWZhdWx0OiAjZWJlYmViLFxuICBob3ZlcjogI2ViZWJlYixcbiAgYWN0aXZlOiBhY2NlbnQtcGFsZXR0ZSg1MDApLFxuICBkaXNhYmxlZDogcmdiYSgjY2NjLC41KVxuKTtcbiRfY29sb3I6IChcbiAgZGVmYXVsdDogYWNjZW50LXBhbGV0dGUoNTAwKSxcbiAgaG92ZXI6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gIGFjdGl2ZTogYWNjZW50LWNvbnRyYXN0KDUwMCksXG4gIGRpc2FibGVkOiAjYmRiZGJkXG4pO1xuJF9sYWJlbC1jb2xvcjogKFxuICBkZWZhdWx0OiBpbmhlcml0LFxuICBob3ZlcjogaW5oZXJpdCxcbiAgYWN0aXZlOiBpbmhlcml0LFxuICBkaXNhYmxlZDogI2JkYmRiZFxuKTtcblxuJF9tb2R1bGUtcmVtOiAkbW9kdWxlLXJlbTtcbiRfYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiRfYm9yZGVyLXdpZHRoOiAxcHg7XG4kX2ZzOiAxcmVtO1xuJF9oZWlnaHQ6ICRfbW9kdWxlLXJlbSAqIDI7XG4kX3dpZHRoOiAkX21vZHVsZS1yZW0gKiAyO1xuJF9zaGFwZTogNTAlO1xuJF9hbmltYXRpb246ICRhbmltYXRpb247XG5cbi5jdXN0b20tcmFkaW8ge1xuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRfbGFiZWwtY29sb3IsIGRlZmF1bHQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6ICRfaGVpZ2h0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBsZWZ0OiAtKCRfd2lkdGggKyAkX21vZHVsZS1yZW0pO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgICBib3JkZXIgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgICB0cmFuc2Zvcm0gLjJzICRfYW5pbWF0aW9uO1xuICAgICAgd2lkdGg6ICRfd2lkdGg7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgZGVmYXVsdCk7XG4gICAgICBib3JkZXI6ICRfYm9yZGVyLXdpZHRoICRfYm9yZGVyLXN0eWxlIG1hcC1nZXQoJF9ib3JkZXIsIGRlZmF1bHQpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfY29sb3IsIGRlZmF1bHQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogJF9zaGFwZTtcbiAgICAgIGhlaWdodDogY2FsYygjeyRfaGVpZ2h0fSAtIDhweCk7XG4gICAgICBtYXJnaW46IDRweCAwIDAgNHB4O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgLjJzICRhbmltYXRpb24sXG4gICAgICAgIHRyYW5zZm9ybSAuMnMgJGFuaW1hdGlvbjtcbiAgICAgIHdpZHRoOiBjYWxjKCN7JF9oZWlnaHR9IC0gOHB4KTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkX2xhYmVsLWNvbG9yLCBob3Zlcik7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2JnLCBob3Zlcik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2JvcmRlciwgaG92ZXIpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9jb2xvciwgaG92ZXIpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgICY6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgYWN0aXZlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRfYm9yZGVyLCBhY3RpdmUpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9jb2xvciwgYWN0aXZlKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBkaXNhYmxlZCk7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgZGlzYWJsZWQpO1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJF9ib3JkZXIsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfY29sb3IsIGRpc2FibGVkKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpkaXNhYmxlZDpjaGVja2VkIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2JnLCBkaXNhYmxlZCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2JvcmRlciwgZGlzYWJsZWQpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9hbmltYXRpb246ICRhbmltYXRpb247XG4kX2ljb24tZno6ICRtYWluLWxoICogMXJlbTtcbiRfY29sb3I6IChcbiAgZGVmYXVsdDogI2MxYzFjMSxcbiAgaG92ZXI6ICNmZmViM2QsXG4gIGFjdGl2ZTogI2ZhYTExMFxuKTtcblxuLmJyLXdyYXBwZXIge1xuICAucmF0aW5nIHtcbiAgICAmLnJhdGluZy1zbSB7XG4gICAgICArIC5ici13aWRnZXQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICAgICYucmF0aW5nLWxnIHtcbiAgICAgICsgLmJyLXdpZGdldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmJyLXdpZGdldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6ICRfaWNvbi1mejtcbiAgICBtYXJnaW46IDAgKC0kX21vZHVsZS1yZW0gLyA0KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBkZWZhdWx0KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwICgkX21vZHVsZS1yZW0gLyA0KTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJvcmRlciAuMnMgJF9hbmltYXRpb24sXG4gICAgICAgIGNvbG9yIC4ycyAkX2FuaW1hdGlvbjtcbiAgICAgIGZvbnQtZmFtaWx5OiBJY29Gb250IWltcG9ydGFudDtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgd29yZC13cmFwOiBub3JtYWw7XG4gICAgICBkaXJlY3Rpb246IGx0cjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMDAwJztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgICAmLm51bWJlciB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJF9jb2xvciwgZGVmYXVsdCk7XG4gICAgICAgIG1pbi13aWR0aDogJF9tb2R1bGUtcmVtICogMztcbiAgICAgICAgcGFkZGluZzogY2FsYygjeyRfbW9kdWxlLXJlbX0gLyAyIC0gMnB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgJi5ici1hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBob3Zlcik7XG5cbiAgICAgICAgJi5udW1iZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2NvbG9yLCBob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuYnItc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBhY3RpdmUpO1xuXG4gICAgICAgICYubnVtYmVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgYWN0aXZlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnJhdGluZy1udW1iZXJlZCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICAgICYuYnItcmVhZG9ubHkge1xuICAgICAgYSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRfYmc6IChcbiAgZGVmYXVsdDogI0VCRUJFQixcbiAgaG92ZXI6ICNFQkVCRUIsXG4gIGZvY3VzOiByZ2JhKGFjY2VudC1wYWxldHRlKDUwMCksLjAxKSxcbiAgZGlzYWJsZWQ6IHJnYmEoI2NjYywuMSlcbik7XG4kX2JvcmRlcjogKFxuICBkZWZhdWx0OiAjRUJFQkVCLFxuICBob3ZlcjogI0VCRUJFQixcbiAgZm9jdXM6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gIGRpc2FibGVkOiByZ2JhKCNjY2MsLjUpXG4pO1xuJF9jb2xvcjogKFxuICBkZWZhdWx0OiBtYWluLXBhbGV0dGUoNTAwKSxcbiAgaG92ZXI6IG1haW4tcGFsZXR0ZSg1MDApLFxuICBmb2N1czogbWFpbi1wYWxldHRlKDUwMCksXG4gIGRpc2FibGVkOiAjYmRiZGJkXG4pO1xuXG4kX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9mczogMXJlbTtcbiRfbGg6ICRfbW9kdWxlLXJlbSAqIDIgLyAkX2ZzO1xuJF9wYWRkaW5nLWg6ICRfbW9kdWxlLXJlbSAqIDI7XG4kX3BhZGRpbmctdjogJF9tb2R1bGUtcmVtO1xuJF9lcnJvci1jb2xvcjogJGVycm9yLWNvbG9yO1xuJF9zaGFwZTogMjBweDtcbiRfYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuJF9zaGFkb3ctaG92ZXI6ICRzaGFkb3ctaG92ZXI7XG4kX2xpc3QtaGVpZ2h0OiAkX21vZHVsZS1yZW0gKiAyMTtcbiRfbGlzdC1iZzogI2ZmZjtcbiRfbGlzdC1ib3JkZXItY29sb3I6ICNmZmY7XG4kX2xpc3Qtc2hhZG93OiAkc2hhZG93O1xuXG4uYm9vdHN0cmFwLXNlbGVjdCB7XG4gICYsXG4gIC5kcm9wZG93bi10b2dnbGUsXG4gIC5kcm9wZG93bi10b2dnbGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICYsICY6bm90KFtjbGFzcyo9Y29sLV0pOm5vdChbY2xhc3MqPWZvcm0tY29udHJvbF0pOm5vdCguaW5wdXQtZ3JvdXAtYnRuKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgJi5zaG93IHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9iZywgZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRfYm9yZGVyLCBmb2N1cyk7XG4gICAgICBib3gtc2hhZG93OiAkX3NoYWRvdy1ob3ZlcjtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRfY29sb3IsIGZvY3VzKTtcbiAgICB9XG4gIH1cbiAgJi5yb3VuZGVkLFxuICAmLnJvdW5kZWQtMCxcbiAgJi5yb3VuZGVkLTIwLFxuICAmLnJvdW5kZWQtNTAwLFxuICAmLnJvdW5kZWQtcGlsbCB7XG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuICB9XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgc3Bhbi5jaGVjay1tYXJrIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX2JnOiAoXG4gIGRlZmF1bHQ6ICNlYmViZWIsXG4gIGhvdmVyOiAjZWJlYmViLFxuICBhY3RpdmU6IGFjY2VudC1wYWxldHRlKDUwMCksXG4gIGRpc2FibGVkOiByZ2JhKCNjY2MsLjEpXG4pO1xuJF9ib3JkZXI6IChcbiAgZGVmYXVsdDogI2ViZWJlYixcbiAgaG92ZXI6ICNlYmViZWIsXG4gIGFjdGl2ZTogYWNjZW50LXBhbGV0dGUoNTAwKSxcbiAgZGlzYWJsZWQ6IHJnYmEoI2NjYywuNSlcbik7XG4kX2NvbG9yOiAoXG4gIGRlZmF1bHQ6IG1haW4tcGFsZXR0ZSg1MDApLFxuICBob3ZlcjogYWNjZW50LXBhbGV0dGUoNTAwKSxcbiAgYWN0aXZlOiBhY2NlbnQtY29udHJhc3QoNTAwKSxcbiAgZGlzYWJsZWQ6ICNiZGJkYmRcbik7XG4kX2xhYmVsLWNvbG9yOiAoXG4gIGRlZmF1bHQ6IGluaGVyaXQsXG4gIGhvdmVyOiBpbmhlcml0LFxuICBhY3RpdmU6IGluaGVyaXQsXG4gIGRpc2FibGVkOiAjYmRiZGJkXG4pO1xuXG4kX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9ib3JkZXItc3R5bGU6IHNvbGlkO1xuJF9ib3JkZXItd2lkdGg6IDFweDtcbiRfZnM6IDFyZW07XG4kX3NoYXBlOiA1MDBweDtcbiRfYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuJF9oZWlnaHQ6ICRfbW9kdWxlLXJlbSAqIDI7XG4kX3dpZHRoOiAkX21vZHVsZS1yZW0gKiA0O1xuXG4uY3VzdG9tLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJF93aWR0aCArICRfbW9kdWxlLXJlbTtcblxuICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRfbGFiZWwtY29sb3IsIGRlZmF1bHQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2JnLCBkZWZhdWx0KTtcbiAgICAgIGJvcmRlcjogJF9ib3JkZXItd2lkdGggJF9ib3JkZXItc3R5bGUgbWFwLWdldCgkX2JvcmRlciwgZGVmYXVsdCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAkX3NoYXBlO1xuICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRfaGVpZ2h0O1xuICAgICAgbGVmdDogLSgkX3dpZHRoICsgJF9tb2R1bGUtcmVtKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgICBib3JkZXIgLjJzICRfYW5pbWF0aW9uO1xuICAgICAgd2lkdGg6ICRfd2lkdGg7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2NvbG9yLCBkZWZhdWx0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkX2hlaWdodCAvIDEuNjtcbiAgICAgIGxlZnQ6IC0oJF93aWR0aCArICRfbW9kdWxlLXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAoJF9oZWlnaHQgLSAoJF9oZWlnaHQgLyAxLjYpKSAvIDI7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoKCRfaGVpZ2h0IC0gKCRfaGVpZ2h0IC8gMS42KSkgLyAyKTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgICB0cmFuc2Zvcm0gLjJzICRfYW5pbWF0aW9uO1xuICAgICAgd2lkdGg6ICRfaGVpZ2h0IC8gMS42O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfY29sb3IsIGhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0IHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfYmcsIGFjdGl2ZSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkX2JvcmRlciwgYWN0aXZlKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfY29sb3IsIGFjdGl2ZSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkX3dpZHRoIC0gKCRfaGVpZ2h0IC8gMS42KSAtICgoJF9oZWlnaHQgLSAoJF9oZWlnaHQgLyAxLjYpKSAvIDIpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpkaXNhYmxlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCxcbiAgICAmOmRpc2FibGVkOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJF9jb2xvciwgZGlzYWJsZWQpO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRfYmcsIGRpc2FibGVkKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRfYm9yZGVyLCBkaXNhYmxlZCk7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkX2NvbG9yLCBkaXNhYmxlZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX2JnOiAjRDREM0QzO1xuJF9jb2xvcjogI2ZmZjtcbiRfYmctYWN0aXZlOiBhY2NlbnQtcGFsZXR0ZSg1MDApO1xuJF9jb2xvci1hY2xpdmU6IGFjY2VudC1jb250cmFzdCg1MDApO1xuJF9iZy1kaXNhYmxlZDogcmdiYSgkX2JnLC42KTtcbiRfY29sb3ItZGlzYWJsZWQ6ICRfY29sb3I7XG4kX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9zaGFwZTogNTAwcHg7XG4kX2FuaW1hdGlvbjogJGFuaW1hdGlvbjtcblxuLnBhZ2luYXRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMCAoLSRfbW9kdWxlLXJlbSAvIDQpO1xuICBwYWRkaW5nOiAwO1xuXG4gIC5wYWdlLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAoJF9tb2R1bGUtcmVtIC8gNCk7XG5cbiAgICAucGFnZS1saW5rIHtcbiAgICAgIGJhY2tncm91bmQ6ICRfYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRfYmc7XG4gICAgICBib3JkZXItcmFkaXVzOiAkX3NoYXBlO1xuICAgICAgY29sb3I6ICRfY29sb3I7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1pbi1oZWlnaHQ6ICRfbW9kdWxlLXJlbSAqIDM7XG4gICAgICBtaW4td2lkdGg6ICRfbW9kdWxlLXJlbSAqIDM7XG4gICAgICBwYWRkaW5nOiAoJF9tb2R1bGUtcmVtIC8gMikgKCRfbW9kdWxlLXJlbSAvIDIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMnMgJF9hbmltYXRpb24sXG4gICAgICAgIGJvcmRlci1jb2xvciAuMnMgJF9hbmltYXRpb24sXG4gICAgICAgIGNvbG9yIC4ycyAkX2FuaW1hdGlvbjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJF9iZy1hY3RpdmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJF9iZy1hY3RpdmU7XG4gICAgICAgIGNvbG9yOiAkX2NvbG9yLWFjbGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRfYmctYWN0aXZlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRfYmctYWN0aXZlO1xuICAgICAgICBjb2xvcjogJF9jb2xvci1hY2xpdmU7XG4gICAgICB9XG4gICAgfVxuICAgICYuZGlzYWJsZWQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRfYmctZGlzYWJsZWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJF9iZy1kaXNhYmxlZDtcbiAgICAgICAgY29sb3I6ICRfY29sb3ItZGlzYWJsZWQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJF9tb2R1bGUtcmVtOiAkbW9kdWxlLXJlbTtcbiRfYmc6IHJnYmEoI2ViZWJlYiwwLjMpO1xuJF9ib3JkZXItY29sb3I6ICNmZmY7XG4kX2NvbG9yOiBpbmhlcml0O1xuJF9ib3JkZXItd2lkdGg6IDJweDtcbiRfaGVhZGVyLWJnOiByZ2JhKG1haW4tcGFsZXR0ZSg1MDApLC4xKTtcbiRfaGVhZGVyLWNvbG9yOiBtYWluLXBhbGV0dGUoNTAwKTtcbiRfc2hhcGU6IDA7XG4kX2FuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiRfc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsLjEyKTtcbiRfcGFkZGluZzogJF9tb2R1bGUtcmVtO1xuXG4vLyBkYXJrXG4kX2JnLWRhcms6IG1haW4tcGFsZXR0ZSg0MDApO1xuJF9ib3JkZXItY29sb3ItZGFyazogbWFpbi1wYWxldHRlKDIwMCk7XG4kX2NvbG9yLWRhcms6IG1haW4tY29udHJhc3QoNDAwKTtcbiRfaGVhZGVyLWJnLWRhcms6IG1haW4tcGFsZXR0ZSg3MDApO1xuJF9oZWFkZXItY29sb3ItZGFyazogbWFpbi1jb250cmFzdCg3MDApO1xuLy8gc3RyaXBlZFxuJF9zdHJpcGVkLWJnOiByZ2JhKG1haW4tcGFsZXR0ZSg1MDApLC4wOCk7XG4vLyBib3JkZXJlZFxuJF9ib3JkZXJlZC1ib3JkZXItY29sb3I6ICNlYmViZWI7XG4vLyBzbVxuJF9wYWRkaW5nLXNtOiAkX21vZHVsZS1yZW0gLyAyO1xuLy8gdHlwZXNcbiRfdHlwZXM6IChcbiAgYWN0aXZlOiAoXG4gICAgYmc6IG1haW4tcGFsZXR0ZSg5MDApLFxuICAgIGNvbG9yOiBtYWluLWNvbnRyYXN0KDkwMClcbiAgKSxcbiAgc2Vjb25kYXJ5OiAoXG4gICAgYmc6IHJnYmEoI2ViZWJlYiwuMyksXG4gICAgY29sb3I6IGluaGVyaXRcbiAgKSxcbiAgcHJpbWFyeTogKFxuICAgIGJnOiBhY2NlbnQtcGFsZXR0ZSg1MDApLFxuICAgIGNvbG9yOiBhY2NlbnQtY29udHJhc3QoNTAwKVxuICApLFxuICBzdWNjZXNzOiAoXG4gICAgYmc6ICRzdWNjZXNzLWNvbG9yLFxuICAgIGNvbG9yOiAkc3VjY2Vzcy1jb250cmFzdFxuICApLFxuICBpbmZvOiAoXG4gICAgYmc6ICRpbmZvLWNvbG9yLFxuICAgIGNvbG9yOiAkaW5mby1jb250cmFzdFxuICApLFxuICB3YXJuaW5nOiAoXG4gICAgYmc6ICR3YXJuaW5nLWNvbG9yLFxuICAgIGNvbG9yOiAkd2FybmluZy1jb250cmFzdFxuICApLFxuICBkYW5nZXI6IChcbiAgICBiZzogJGVycm9yLWNvbG9yLFxuICAgIGNvbG9yOiAkZXJyb3ItY29udHJhc3RcbiAgKSxcbiAgbGlnaHQ6IChcbiAgICBiZzogbWFpbi1wYWxldHRlKDUwKSxcbiAgICBjb2xvcjogbWFpbi1jb250cmFzdCg1MClcbiAgKSxcbiAgZGFyazogKFxuICAgIGJnOiBtYWluLXBhbGV0dGUoNDAwKSxcbiAgICBjb2xvcjogbWFpbi1jb250cmFzdCg0MDApXG4gIClcbik7XG5cbi50YWJsZSB7XG4gIGJvcmRlci1jb2xvcjogJF9ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRfc2hhcGU7XG4gIGNvbG9yOiAkX2NvbG9yO1xuXG4gIHRyIHtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZCAuMnMgJF9hbmltYXRpb24sXG4gICAgICBib3JkZXIgLjJzICRfYW5pbWF0aW9uLFxuICAgICAgYm94LXNoYWRvdyAuMnMgJF9hbmltYXRpb24sXG4gICAgICBjb2xvciAuMnMgJF9hbmltYXRpb247XG4gICAgd2lsbC1jaGFuZ2U6IGJhY2tncm91bmQsIGJvcmRlciwgYm94LXNoYWRvdywgY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAkX2JvcmRlci13aWR0aCBzb2xpZCAkX2JvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICRfcGFkZGluZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRfcGFkZGluZyAqIDI7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkX3BhZGRpbmcgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgICB0aCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkX2hlYWRlci1iZztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYmFja2dyb3VuZDogJF9iZztcbiAgICB9XG4gIH1cbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGhlYWQtZGFyayB7XG4gICAgdGgge1xuICAgICAgYmFja2dyb3VuZDogJF9oZWFkZXItYmctZGFyaztcbiAgICAgIGJvcmRlci1jb2xvcjogJF9oZWFkZXItYmctZGFyaztcbiAgICAgIGNvbG9yOiAkX2hlYWRlci1jb2xvci1kYXJrO1xuICAgIH1cbiAgfVxuICAudGhlYWQtbGlnaHQge1xuICAgIHRoIHtcbiAgICAgIGJhY2tncm91bmQ6ICRfaGVhZGVyLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkX2hlYWRlci1iZztcbiAgICAgIGNvbG9yOiAkX2hlYWRlci1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJi50YWJsZS1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAkX2JnLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkX2JvcmRlci1jb2xvci1kYXJrO1xuICAgIGNvbG9yOiAkX2NvbG9yLWRhcms7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgYmFja2dyb3VuZDogJF9oZWFkZXItYmctZGFyaztcbiAgICAgICAgY29sb3I6ICRfaGVhZGVyLWNvbG9yLWRhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYudGFibGUtaG92ZXIge1xuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogJF9zaGFkb3c7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIHRoZWFkLFxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICBib3JkZXI6ICRfYm9yZGVyLXdpZHRoIHNvbGlkICRfYm9yZGVyZWQtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkge1xuICAgICAgdHIge1xuICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgdGgsXG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJF9zdHJpcGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRhYmxlLWJvcmRlcmxlc3Mge1xuICAgIHRoZWFkLFxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnRhYmxlLXNtIHtcbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogJF9wYWRkaW5nLXNtO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJF9wYWRkaW5nLXNtICogMjtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRfcGFkZGluZy1zbSAqIDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVhY2ggJF90eXBlLCAkX2NvbG9yIGluICRfdHlwZXMge1xuICAgICYudGFibGUtI3skX3R5cGV9LFxuICAgIC50YWJsZS0jeyRfdHlwZX0ge1xuICAgICAgJixcbiAgICAgICYgPiB0aCxcbiAgICAgICYgPiB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJF9jb2xvciwgYmcpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkX2NvbG9yLCBjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAtJG1vZHVsZS1yZW0gLyA0O1xuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW46ICRtb2R1bGUtcmVtIC8gNDtcbiAgICB9XG4gIH1cbn1cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgbWFyZ2luOiAtMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgd2lkdGg6IGF1dG87XG59XG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmc6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nOmFmdGVyLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzYzpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjOmFmdGVyLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2M6YmVmb3JlLFxudGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2M6YWZ0ZXIsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkOmJlZm9yZSxcbnRhYmxlLmRhdGFUYWJsZSB0aGVhZCAuc29ydGluZ19hc2NfZGlzYWJsZWQ6YWZ0ZXIsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZDpiZWZvcmUsXG50YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZDphZnRlciB7XG4gIGJvdHRvbTogLjdlbTtcbn1cbkBtZWRpYSAjeyRtYXg3Njd9IHtcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciB7XG4gICAgPiAucm93IHtcbiAgICAgID4gLmNvbC1zbS0xMiB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgfVxuICAgICAgLmRhdGFUYWJsZXNfcGFnaW5hdGUge1xuICAgICAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJF9tb2R1bGUtcmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9zaGFwZTogJHNoYXBlO1xuJF9pY29uLXNoYXBlOiA1MCU7XG4kX2ljb24tc2l6ZTogJF9tb2R1bGUtcmVtICogNDtcbiRfZG90LXNpemU6ICRfbW9kdWxlLXJlbTtcbiRfaWNvbi1iZzogYWNjZW50LXBhbGV0dGUoNTAwKTtcbiRfaWNvbi1jb2xvcjogYWNjZW50LWNvbnRyYXN0KDUwMCk7XG4kX2xpbmUtc2l6ZTogMnB4O1xuJF9saW5lLWNvbG9yOiBtYWluLXBhbGV0dGUoNTApO1xuJF9kYXRlLWNvbG9yOiBtYWluLXBhbGV0dGUoMTAwKTtcbiRfbGFiZWwtYmc6IG1haW4tcGFsZXR0ZSg1MDApO1xuJF9sYWJlbC1jb2xvcjogbWFpbi1jb250cmFzdCg1MDApO1xuXG4udi10aW1lbGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmxpbmUge1xuICAgIGJhY2tncm91bmQ6ICRfbGluZS1jb2xvcjtcbiAgICBib3R0b206ICRfbW9kdWxlLXJlbSAqIDI7XG4gICAgbGVmdDogJF9pY29uLXNpemUgLyAyO1xuICAgIG1hcmdpbjogMCAoLSRfbGluZS1zaXplIC8gMik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJF9tb2R1bGUtcmVtICogMjtcbiAgICB3aWR0aDogJF9saW5lLXNpemU7XG4gIH1cbiAgLnRpbWVsaW5lLWJveCB7XG4gICAgLmJveC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogJF9tb2R1bGUtcmVtIDA7XG5cbiAgICAgIC5iYWRnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJveC1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46ICgkX21vZHVsZS1yZW0gKiAyKSAoLSRfbW9kdWxlLXJlbSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuaWNvbi1ibG9jayB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbWFyZ2luOiAwICRfbW9kdWxlLXJlbTtcblxuICAgICAgICAgIC5pdGVtLWljb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRfaWNvbi1iZztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRfaWNvbi1zaGFwZTtcbiAgICAgICAgICAgIGNvbG9yOiAkX2ljb24tY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICBoZWlnaHQ6ICRfaWNvbi1zaXplO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAkX2ljb24tc2l6ZTtcbiAgICAgICAgICAgIHdpZHRoOiAkX2ljb24tc2l6ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICBtYXJnaW46IDAgJF9tb2R1bGUtcmVtO1xuXG4gICAgICAgICAgLml0ZW0taGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLml0ZW0tdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaXRlbS1kYXRlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRfZGF0ZS1jb2xvcjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuaXRlbS1kZXNjIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRfbW9kdWxlLXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5kb3RzIHtcbiAgICAubGluZSB7XG4gICAgICBsZWZ0OiAkX2RvdC1zaXplIC8gMjtcbiAgICB9XG4gICAgLnRpbWVsaW5lLWJveCB7XG4gICAgICAuYm94LWl0ZW1zIHtcbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgIC5pY29uLWJsb2NrIHtcbiAgICAgICAgICAgIC5pdGVtLWljb24ge1xuICAgICAgICAgICAgICBoZWlnaHQ6ICRfZG90LXNpemU7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRfZG90LXNpemU7XG4gICAgICAgICAgICAgIHdpZHRoOiAkX2RvdC1zaXplO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYWxpZ24tcmlnaHQge1xuICAgIC5saW5lIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogJF9pY29uLXNpemUgLyAyO1xuICAgIH1cbiAgICAudGltZWxpbmUtYm94IHtcbiAgICAgIC5ib3gtbGFiZWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgLmJveC1pdGVtcyB7XG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICAuaXRlbS1oZWFkZXIge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLml0ZW0tZGVzYyB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRvdHMge1xuICAgICAgLmxpbmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogJF9kb3Qtc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuYWxpZ24tY2VudGVyIHtcbiAgICAubGluZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAudGltZWxpbmUtYm94IHtcbiAgICAgIC5ib3gtbGFiZWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5ib3gtaXRlbXMge1xuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBtYXJnaW46ICRfbW9kdWxlLXJlbSAoLSRfbW9kdWxlLXJlbSAvIDIpO1xuXG4gICAgICAgICAgLmljb24tYmxvY2sge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJF9tb2R1bGUtcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJF9tb2R1bGUtcmVtICogNDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRfbGluZS1jb2xvcjtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgaGVpZ2h0OiAkX21vZHVsZS1yZW0gKiAzO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJF9saW5lLXNpemUgLyAyO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHdpZHRoOiAkX2xpbmUtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pdGVtLWhlYWRlciB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkX21vZHVsZS1yZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAuYm94LWl0ZW1zIHtcbiAgICAgICAgICAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmFsaWduLWJldHdlZW4ge1xuICAgIEBtZWRpYSAjeyRtaW43Njh9IHtcbiAgICAgIC5saW5lIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgfVxuICAgICAgLnRpbWVsaW5lLWJveCB7XG4gICAgICAgIC5ib3gtbGFiZWwge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5ib3gtaXRlbXMge1xuICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgLmljb24tYmxvY2sge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRfaWNvbi1zaXplIC8gMjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgICAgLmljb24tYmxvY2sge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJF9pY29uLXNpemUgLyAyO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZG90cyB7XG4gICAgICAgIC50aW1lbGluZS1ib3gge1xuICAgICAgICAgIC5ib3gtaXRlbXMge1xuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAuaWNvbi1ibG9jayB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kX2RvdC1zaXplIC8gMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgICAgIC5pY29uLWJsb2NrIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJF9kb3Qtc2l6ZSAvIDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkX21vZHVsZS1yZW06ICRtb2R1bGUtcmVtO1xuJF9ib3JkZXItd2lkdGg6IDFweDtcbiRfYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiRfZnM6ICN7JG1haW4tbGh9cmVtO1xuJF9wYWRkaW5nOiAkX21vZHVsZS1yZW0gLyAyO1xuJF9zaGFwZTogJHNoYXBlO1xuJF90cmFuc2l0aW9uOiAkYW5pbWF0aW9uO1xuXG4uaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6ICRfc2hhcGU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6ICRfZnM7XG4gIHBhZGRpbmc6ICRfcGFkZGluZztcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kIC4ycyAkX3RyYW5zaXRpb24sXG4gICAgYm9yZGVyIC4ycyAkX3RyYW5zaXRpb24sXG4gICAgY29sb3IgLjJzICRfdHJhbnNpdGlvbjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbiIsIi5wYWdlLXNpZ24taW4ge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2NvbnRlbnQvbG9naW4tcGFnZS5qcGcnKSA1MCUgNTAlIG5vLXJlcGVhdDtcbn1cbiIsIi5wYWdlLXNpZ24tdXAge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2NvbnRlbnQvcmVnaXN0ZXItcGFnZS5qcGcnKSA1MCUgNTAlIG5vLXJlcGVhdDtcbn1cbiIsIi5wYWdlLTQwNCB7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vY29udGVudC80MDQtcGFnZS5qcGcnKSA1MCUgNTAlIG5vLXJlcGVhdDtcblxuICAuY29udGVudC1ib3gge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoI2ZmZiwuOSkgIWltcG9ydGFudDtcblxuICAgIC5jb250ZW50LWJvZHkge1xuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogcmdiYSgkZXJyb3ItY29sb3IsLjUpO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS01MDAge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2NvbnRlbnQvNTAwLXBhZ2UuanBnJykgNTAlIDUwJSBuby1yZXBlYXQ7XG5cbiAgLmNvbnRlbnQtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCNmZmYsLjkpICFpbXBvcnRhbnQ7XG5cbiAgICAuY29udGVudC1ib2R5IHtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6IHJnYmEoJGVycm9yLWNvbG9yLC41KTtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFjY2VudC1wYWxldHRlIHtcbiAgY29sb3I6IGFjY2VudC1wYWxldHRlKDUwMCk7XG59XG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogJGVycm9yLWNvbG9yICFpbXBvcnRhbnQ7XG59XG4uZ2l0aHViLWNvbG9yIHtcbiAgY29sb3I6ICMyNDI5MmU7XG59XG4udHdpdHRlci1jb2xvciB7XG4gIGNvbG9yOiAjMWRhMWYyO1xufVxuLmxpbmtlZGluLWNvbG9yIHtcbiAgY29sb3I6ICMwMDczYjE7XG59XG4ueW91dHViZS1jb2xvciB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxuLm5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm5vLXN0eWxlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuLmVsZW1lbnRzLWxpc3Qge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0oJG1vZHVsZS1yZW0gLyAyKTtcblxuICA+ICoge1xuICAgIG1hcmdpbjogJG1vZHVsZS1yZW0gLyAyO1xuICB9XG59XG4uY2hhdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmLmNvbnRhaW5lci1oLTEwMCB7XG4gICAgaGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50O1xuICB9XG4gICYuY29udGFpbmVyLWgtNTAge1xuICAgIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICB9XG4gICYuY29udGFpbmVyLWgtMzAwIHtcbiAgICBoZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgQG1lZGlhICN7JG1heDc2N30ge1xuICAgICAgaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAmLmNvbnRhaW5lci1oLTQwMCB7XG4gICAgaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xuICAgIEBtZWRpYSAjeyRtYXg3Njd9IHtcbiAgICAgIGhlaWdodDogMzAwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5uZWdhdGl2ZS1pbmRlbnRzIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1vZHVsZS1yZW0gKiAyO1xuICAgIG1hcmdpbi1ib3R0b206IC0kbW9kdWxlLXJlbSAqIDI7XG4gIH1cbn1cbi5yb3RhdGUge1xuICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMTAwJSB7IHRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTsgfVxufVxuLmFuaW1hdGVkIHtcbiAgJi5kZWxheS0wMXMge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjFzO1xuICB9XG4gICYuZGVsYXktMDJzIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC4ycztcbiAgfVxuICAmLmRlbGF5LTAzcyB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7XG4gIH1cbiAgJi5kZWxheS0wNHMge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjRzO1xuICB9XG4gICYuZGVsYXktMDVzIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC41cztcbiAgfVxuICAmLmRlbGF5LTA2cyB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuNnM7XG4gIH1cbiAgJi5kZWxheS0wN3Mge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLjdzO1xuICB9XG4gICYuZGVsYXktMDhzIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC44cztcbiAgfVxuICAmLmRlbGF5LTA5cyB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7XG4gIH1cbn1cbi5yb3VuZGVkLTIwIHtcbiAgYm9yZGVyLXJhZGl1czogMjBweCFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC01MDAge1xuICBib3JkZXItcmFkaXVzOiA1MDBweCFpbXBvcnRhbnQ7XG59XG4uY2xvc2Uge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAxO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogLjJzIGNvbG9yICRhbmltYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgfVxufVxuLm1hcCB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5pY29ucy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0uNXJlbTtcblxuICAuaWNvbiB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1hcmdpbjogLjVyZW07XG4gIH1cbn1cbi5hZGQtYWN0aW9uLWJveCB7XG4gIGJvdHRvbTogJG1vZHVsZS1yZW0gKiA4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAkbW9kdWxlLXJlbSAqIDI7XG4gIHotaW5kZXg6IDk5OTc7XG5cbiAgLmJ0biB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1pbi13aWR0aDogJG1vZHVsZS1yZW0gKiA3ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5kZXBhcnRtZW50IHtcbiAgLnRlYW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC50ZWFtLWltZyB7XG4gICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICB9XG4gIH1cbn1cbi5iZy1ncmFkaWVudCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmZiwgI2ViZWJlYikgIWltcG9ydGFudDtcbn1cbi5hZGRyZXNzLWNvbCB7XG4gIG1pbi13aWR0aDogMTUwcHg7XG59XG4uZnMtMjAge1xuICBmb250LXNpemU6IDIwcHg7XG59XG4uZnMtMzAge1xuICBmb250LXNpemU6IDMwcHg7XG59XG4uZnMtNDgge1xuICBmb250LXNpemU6IDQ4cHg7XG59XG4ucGVyc29uYWwtaW5mby1jYXJkIHtcbiAgLmNhcmQtYm9keSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudXNlci1hY3Rpb25zIHtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbiAgfVxufVxuLm9wYWNpdHktNTAge1xuICBvcGFjaXR5OiAuNTtcbn1cbiJdfQ== */
#drop-area {
    /*width: 90%;*/
    /*margin: 2rem auto 5rem;*/
    /*padding: 5rem;*/
    /*border: 0.5rem dashed rgba(0, 0, 0, 0);*/
    /*border-radius: 10px;*/
}

#drop-area.highlight {
    /*border: 0.5rem dashed #ccc;*/
    border: 1px dashed;
    /*border-radius: 10px;*/
}

p {
    margin-top: 0;
}

.my-form {
    margin-bottom: 10px;
}

#gallery {
    margin-top: 10px;
}

#gallery img {
    width: 150px;
    margin-bottom: 10px;
    margin-right: 10px;
    vertical-align: middle;
}

.button {
    display: inline-block;
    padding: 10px;
    background: #ccc;
    cursor: pointer;
    border-radius: 5px;
    border: 1px solid #cccccc;
}

.button:hover {
    background: #ddd;
}

#fileElem {
    display: none;
}

.local-loader {
    height: 100%;
    -webkit-box-align: center;
    align-items: center;
    color: #336cfb;
    display: flex;
    font-size: 30px;
    -webkit-box-pack: center;
    justify-content: center;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 99999;
}

.local-loader-probabilities {
    height: unset;
}

.logo {
    -webkit-box-align: center;
    align-items: center;
    color: #336cfb;
    display: -webkit-box;
    display: flex;
    font-size: 30px;
    height: 100%;
}

.logo .text {
    display: -webkit-box;
    display: flex;
    color: #1f2022;
    direction: ltr;
    /*margin-left: 15px;*/
}

.logo .text span {
    color: #336cfb;
    font-size: 15px
}

.main-menu .main-menu-wrap .menu-ul .images {
    height: 6rem;
    margin: 0.7rem 0;
    width: 100%;
    justify-content: left;
}

.main-menu .main-menu-wrap .menu-ul .add-image {
    height: 4rem;
    margin: 0.7rem 0;
    width: 100%;
    justify-content: left;
}

.main-menu .main-menu-wrap .menu-ul .add-image .btn-icon {
    font-size: 2em;
    margin: 0 1rem 0 0;
}

.main-menu .main-menu-wrap .menu-ul .image-status {
    font-weight: 500;
}

.main-menu .main-menu-wrap .menu-ul .item-probability {
    font-weight: 500;
}

.main-menu .main-menu-wrap .menu-ul .image-id {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.main-content .main-content-wrap .page-content .image-id {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-weight: 700;
    font-size: 1.42857143rem;
}

.version {
    text-align: right;
    color: #cccccc;
    z-index: 100;
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.top-element {
    height: 100%;
}

.img-card {
    position: relative;
    border-radius: 6px 6px 0 0 !important;
}

.img-card::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.img-card img {
    position: absolute;
    max-height: 100%;
    max-width: 100%;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.img-card .img-blured-bg {
    position: absolute;
    left: 50%;
    top: 50%;
    object-fit: contain;
    transform: translate(-50%, -50%);
    filter: blur(8px);
}


.InputFromTo .DayPicker-Day--selected:not(.DayPicker-Day--start):not(.DayPicker-Day--end):not(.DayPicker-Day--outside) {
    background-color: #f0f8ff !important;
    color: #4a90e2;
}


.DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside) {
    background-color: #336cfb !important;
}

.DayPicker-Day--selected:not(.DayPicker-Day--disabled):not(.DayPicker-Day--outside):hover {
    background-color: #336cfb !important;
}

.InputFromTo .DayPicker-Day {
    border-radius: 0 !important;
}

.InputFromTo .DayPicker-Day--start {
    border-top-left-radius: 50% !important;
    border-bottom-left-radius: 50% !important;
}

.InputFromTo .DayPicker-Day--end {
    border-top-right-radius: 50% !important;
    border-bottom-right-radius: 50% !important;
}

.InputFromTo .DayPickerInput-Overlay {
    position: absolute;
    top: 100%;
    left: 0;
}

.clear-input-button {
    cursor: pointer;
    height: 100%;
    display: flex;
    align-items: center;
    color: hsl(0, 0%, 80%);
    padding: 8px;
    transition: color 150ms;
    box-sizing: border-box;
    z-index: 100;
    position: absolute;
    right: 0;
    top: 0;
    border: 0;
    margin-right: 11px;
    width: 40px;
}

.clear-input-button:hover {
    color: hsl(0, 0%, 60%);
}

.clear-input-button:active {
    color: hsl(0, 0%, 40%);
}

.slide-in-right {
    -webkit-animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: slide-in-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

.slide-out-right {
    -webkit-animation: slide-out-right 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
    animation: slide-out-right 0.5s cubic-bezier(0.550, 0.085, 0.680, 0.530) both;
}

/* ----------------------------------------------
 * Generated by Animista on 2021-11-9 1:2:22
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-right
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slide-in-right {
    0% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
}

/* ----------------------------------------------
 * Generated by Animista on 2021-11-9 1:1:18
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info.
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-out-right
 * ----------------------------------------
 */
@-webkit-keyframes slide-out-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }
}

@keyframes slide-out-right {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(1000px);
        transform: translateX(1000px);
        opacity: 0;
    }
}

.custom-select-option {
    min-height: 3.5rem;
}

.custom-select-option:hover {
    color: #212529;
    background-color: #e8e8e8;
    border-color: #e2e2e2
}

.sign-in-up-logo {
    padding: .71429rem 2.85714rem;
}

@media (max-width: 767px) {
    .sign-in-up-logo {
        padding: .71429rem 1.42857rem;
    }
}

.language-choice {
    margin-right: 1rem;
}

.language-switcher {
    display: flex;
    padding: 0.71429rem 2.85714rem;
    width: 100%;
}

@media (max-width: 767px) {
    .language-switcher {
        padding: .71429rem 1.42857rem;
    }
}

.settings-saving-container {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .1);
    top: 0;
    left: 0;
}

.prediction-list-dot {
    flex-grow: 1;
    background-image: linear-gradient(to right, #000 10%, rgba(255, 255, 255, 0) 0%);
    background-position: 0 14px;
    background-size: 10px 1px;
    background-repeat: repeat-x;
}

.prediction-list-risk-block {
    display: inline;
    padding-left: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.prediction-list-risk-text {
    display: inline;
}

.prediction-list-no-risk {
    color: #8bc34a;
}

.prediction-list-small-risk {
    color: #fad201;
}

.prediction-list-medium-risk {
    color: #ff9800;
}

.prediction-list-high-risk {
    color: #d84412;
}

.prediction-list-no-prediction {
    opacity: .3;
    color: black;
}

.prediction-list-risk-block-circle {
    display: inline-block;
    font-size: 0.7rem;
    position: relative;
    top: 3px;
}

.prediction-list-pathology-name {
    padding-right: 5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mask-switch {
    padding-left: 2.85714rem;
    width: 2.85714rem;
}

.mask-switch .mask-control-label:before {
    height: 1.42857rem;
    left: -2.85714rem;
    width: 2.85714rem;
}

.mask-switch .mask-control-label:after {
    left: -2.85714rem;
}

.mask-loader {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.5);
}

.mask-image {
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    transform: translate(-50%, 0);
}

.viewer-main-image {
    width: 100%;
}

.modal-window-background {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.3);
    overflow-y: scroll;
    overflow-x: hidden;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: visibility 0.1s, opacity 0.1s linear;
    transition: visibility 0.1s, opacity 0.1s linear;
}

.modal-window-fill-all-space {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.modal-window-container {
    position: absolute;
    right: 50%;
    transform: translate(50%, 0) !important;
    max-width: 1140px;
    max-width: var(--boxed-width);
    padding: 2.14286rem 1.42857rem 2.85714rem;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.modal-window {
    padding: 1.42857rem 1.42857rem;
    background-color: #fff;
    border-radius: 6px;
    box-shadow: 0 18px 24px rgb(0 0 0 / 12%);
    position: relative;
}

.modal-window-close-button {
    position: absolute;
    right: 1rem;
    top: 1rem;
    color: #000;
    cursor: pointer;
}

.modal-window-close-button:hover {
    color: #336cfb;
}

.modal-window-files {
    padding: 1.5rem 0 0.5rem;
    max-height: 50vh;
    overflow-y: auto;
}

.modal-window-file-block {
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 12%);
    border-color: #336cfb;
    font-weight: bold;
    padding: 1rem 2.5rem 1rem 1rem;
    position: relative;
    margin: 0 1rem 1rem 0;
    max-width: 100%;
}

.modal-window-file-block .file-name {
    white-space: nowrap;
    display: flex;
}

.modal-window-file-block .file-name .ellipsis {
    display: inline-block;
    vertical-align: bottom;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.modal-window-pipeline-cards-block {
    display: flex;
    margin: 1rem 0;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-around;
}

.modal-window-pipeline-card {
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 12%);
    border-color: #336cfb;
    font-weight: bold;
    padding: 1rem;
    position: relative;
    -webkit-transition: box-shadow 0.1s linear;
    transition: box-shadow 0.1s linear;
    cursor: pointer;
    width: 15rem;
    height: 12rem;
}

.modal-window-pipeline-card .icon-and-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    text-align: center;
}

.modal-window-pipeline-card .icon-and-text .pipeline-icon {
    width: 4rem;
}

.modal-window-pipeline-card .icon-and-text .pipeline-name {}

@media (max-width: 540px) {
    .modal-window-pipeline-card {
        width: 100%;
        height: 5rem;
    }

    .modal-window-pipeline-card .icon-and-text {
        flex-direction: row;
        gap: 1rem;
        justify-content: left;
        padding-left: 3rem;
    }

    .modal-window-pipeline-card .icon-and-text .pipeline-icon {
        width: 2.5rem;
    }

    .modal-window-pipeline-card .icon-and-text .pipeline-name {
        font-size: 1.5rem;
    }
}

.modal-window-pipeline-card:hover {
    box-shadow: 0 12px 24px rgb(0 0 0 / 12%);
}

.modal-window-pipeline-card:hover .custom-control-label {
    color: inherit
}

.modal-window-pipeline-card:hover .custom-control-label:before {
    background: #ebebeb;
    border-color: #ebebeb
}

.modal-window-pipeline-card:hover .custom-control-label:after {
    color: #336cfb;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.info-icon {
    position: absolute;
    right: 1rem;
    border-radius: 100%;
    background-color: #ebebeb;
    width: 20px;
    height: 20px;
    text-align: center;
    color: white;
}

.model-window-upload-button {
    min-width: 20rem;
    max-width: 100%;
    height: 3.5rem;
}

@media (max-width: 767px) {
    .model-window-upload-button {
        width: 100%;
    }
}

.popper-tooltip {
    background: #333;
    color: white;
    font-weight: bold;
    padding: 4px 8px;
    font-size: 13px;
    border-radius: 4px;
    opacity: 0;
    z-index: -9999;
    max-width: 15rem;
}

.popper-tooltip[data-show] {
    z-index: 9999;
    opacity: 1;
}

.popper-tooltip-arrow,
.popper-tooltip-arrow::before {
    position: absolute;
    width: 8px;
    height: 8px;
    background: inherit;
    z-index: 9999;
}

.popper-tooltip-arrow {
    visibility: hidden;
}

.popper-tooltip-arrow::before {
    visibility: visible;
    content: '';
    transform: rotate(45deg);
}

.popper-tooltip[data-popper-placement^='top']>.popper-tooltip-arrow {
    bottom: -4px;
}

.popper-tooltip[data-popper-placement^='bottom']>.popper-tooltip-arrow {
    top: -4px;
}

.popper-tooltip[data-popper-placement^='left']>.popper-tooltip-arrow {
    right: -4px;
}

.popper-tooltip[data-popper-placement^='right']>.popper-tooltip-arrow {
    left: -4px;
}


.api-documentation-list {
    display: flex;
    margin: 1rem 0;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: space-between;
}

.api-documentation-list-item {
    width: 49%;
}

@media (max-width: 767px) {
    .api-documentation-list-item {
        width: 100%;
    }
}

.api-documentation-list-item .api-documentation-list-item-header {
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    box-shadow: 0 4px 6px rgb(0 0 0 / 12%);
    border-color: #336cfb;
    font-weight: bold;
    padding: 1rem;
    position: relative;
    -webkit-transition: box-shadow 0.1s linear;
    transition: box-shadow 0.1s linear;
    cursor: pointer;
}

.api-documentation-list-item .api-documentation-list-item-header:hover {
    box-shadow: 0 12px 24px rgb(0 0 0 / 12%);
}

.api-documentation-list-item .icon-and-text {
    display: flex;
    align-items: center;
    height: 100%;
    text-align: center;
    gap: 1rem;
    justify-content: left;
    padding-left: 1rem;
}

.api-documentation-list-item .icon-and-text .pipeline-icon {
    width: 2.5rem;
}

.api-documentation-list-item .icon-and-text .pipeline-name {
    font-size: 1.5rem;
}

.api-documentation-list-item .version-block {
    background-color: rgba(31, 32, 34, .05);
    border-radius: 6px;
    font-weight: bold;
    padding: 1rem;
    position: relative;
    -webkit-transition: box-shadow 0.1s linear;
    transition: box-shadow 0.1s linear;
    cursor: pointer;
    display: block;
    margin: 0 0 1rem 0;
    color: black;
}

.file-block,
.folder-block {
    margin-bottom: 5px;
}

.file-name,
.folder-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.folder-name {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.folder-name:hover {
    background-color: #f5f5f5;
}

.item-content {
    display: flex;
    align-items: center;
    flex-grow: 1;
    overflow: hidden;
}

.file-count {
    font-size: 0.8em;
    color: #666;
    margin-left: 10px;
}

.modal-window-file-block-close-button {
    cursor: pointer;
    color: #666;
    font-size: 1rem;
    padding: 0 0.35rem;
}

.modal-window-file-block-close-button:hover {
    color: #336cfb;
}

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 30px);
}

.folder-content {
    margin-left: 20px;
}

.folder-toggle-icon {
    cursor: pointer;
    color: #666;
    font-size: 1rem;
    padding: 0 0.35rem;
}

.folder-toggle-icon:hover {
    color: #336cfb;
}

.file-size {
    font-size: 0.8em;
    color: #666;
}

.tooltip-no-opacity .tooltip-inner {
    opacity: 1 !important;
    background-color: white !important;
    border: 1px solid #ccc;
}
.tooltip-no-opacity .arrow::before {
    border-right-color: #ccc !important;
}

@media (max-width: 767.98px) {
    .table-responsive {
        border: none;
    }
    .table td {
        border: none;
        padding-left: 0;
        padding-right: 0;
    }
    .table tr {
        border-bottom: 1px solid #dee2e6;
        margin-bottom: 1rem;
    }
}

.popper-tooltip {
    background-color: #333;
    color: white;
    padding: 10px;
    border-radius: 4px;
    font-size: 14px;
    z-index: 1000;
}

.popper-tooltip-arrow {
    position: absolute;
    width: 10px;
    height: 10px;
    background-color: #333;
}

.popper-tooltip-arrow::before {
    content: '';
    position: absolute;
    transform: rotate(45deg);
    background-color: #333;
    width: 10px;
    height: 10px;
}