/*! core.scss | Bulkit | CSS Ninja */
/*! themes/_colors.scss | Bulkit | CSS Ninja */
/*! themes/_main.scss | Bulkit | CSS Ninja */
.pageloader {
    /* #4FC1EA !important */
    background-color: #4FC1EA;
    background: linear-gradient(to top, #4FC1EA, #4FC1EA) !important
}

.hero.is-theme-secondary,
.section.is-theme-secondary {
    background-color: #7F00FF;
    background: linear-gradient(to right, #7F00FF, #7F00FF);
    background: linear-gradient(to top, #7F00FF, #7F00FF)
}

.hero.is-theme-secondary .title,
.section.is-theme-secondary .title {
    color: #fff
}

.hero.is-theme-secondary .subtitle,
.section.is-theme-secondary .subtitle {
    color: #fff
}

/*! _navbar.scss | Bulkit | CSS Ninja */
.navbar-placeholder {
    z-index: 999
}

.navbar-wrapper {
    width: 100%;
    height: 4.6rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 20;
    transition: all 0.4s
}

.navbar-wrapper.is-static {
    position: static !important
}

.navbar-wrapper.is-solid {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.navbar-wrapper.is-cloned {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    z-index: 100;
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.navbar-wrapper.is-cloned.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.navbar-wrapper.is-transparent .navbar-item.is-slide,
.navbar-wrapper.is-transparent .navbar-link.is-slide {
    border-bottom: 1px solid transparent
}

.navbar-wrapper.is-transparent .navbar-item.is-slide:after,
.navbar-wrapper.is-transparent .navbar-link.is-slide:after {
    content: '';
    display: block;
    width: 0;
    min-width: 0;
    height: 1.6px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #4FC1EA;
    transition: width .3s
}

.navbar-wrapper.is-transparent .navbar-item.is-slide:hover:after,
.navbar-wrapper.is-transparent .navbar-link.is-slide:hover:after {
    width: 100%
}

.navbar-wrapper .navbar-brand {
    -ms-flex-align: center;
    align-items: center
}

.navbar-wrapper .navbar-brand img {
    height: 28px
}

.navbar-wrapper .navbar-brand img.light-logo {
    display: block
}

.navbar-wrapper .navbar-brand img.dark-logo {
    display: none
}

.navbar-wrapper .navbar-item:hover,
.navbar-wrapper .navbar-item.has-dropdown:hover {
    color: #999;
    background: transparent
}

.navbar-wrapper .navbar-item:hover a,
.navbar-wrapper .navbar-item.has-dropdown:hover a {
    background: transparent
}

.navbar-wrapper .navbar-item.is-menu:hover {
    background: #e8e8e8 !important
}

.navbar-wrapper .navbar-item.is-menu:hover i,
.navbar-wrapper .navbar-item.is-menu:hover span {
    color: #7F00FF !important
}

.navbar-wrapper .navbar-item.is-menu span {
    padding: 0 10px
}

.navbar-wrapper .navbar-item.is-menu i {
    font-size: 22px;
    color: #999
}

.navbar-wrapper .navbar-link:hover {
    background: transparent !important;
    color: #7F00FF
}

.navbar-wrapper .navbar-link:hover:after {
    border-color: #7F00FF
}

.navbar-wrapper .navbar-link:after {
    font-size: 0.85rem;
    border: 1.6px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    border-color: #444F60;
    margin-top: -0.375em;
    right: 1.125em;
    transition: all .3s;
    right: 1.525em
}

.navbar-wrapper .custom-burger {
    margin-left: auto;
    display: none;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    height: 4.6rem;
    width: 4.6rem
}

.navbar-wrapper.navbar-light .icon-box-toggle span i {
    background: #fff !important
}

.navbar-wrapper.navbar-light .navbar-item,
.navbar-wrapper.navbar-light .navbar-link {
    color: #fff
}

.navbar-wrapper.navbar-light .navbar-item.is-slide,
.navbar-wrapper.navbar-light .navbar-link.is-slide {
    border-bottom: 1px solid transparent
}

.navbar-wrapper.navbar-light .navbar-item.is-slide:after,
.navbar-wrapper.navbar-light .navbar-link.is-slide:after {
    content: '';
    display: block;
    width: 0;
    min-width: 0;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background: #fff;
    transition: width .3s
}

.navbar-wrapper.navbar-light .navbar-item.is-slide:hover:after,
.navbar-wrapper.navbar-light .navbar-link.is-slide:hover:after {
    width: 100%
}

.navbar-wrapper.navbar-light .navbar-link:after {
    font-size: 0.85rem;
    border: 1.6px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    border-color: #fff;
    margin-top: -0.375em;
    right: 1.125em;
    transition: all .3s;
    right: 1.525em
}

.navbar-wrapper.navbar-light .navbar-burger span {
    background: #fff !important
}

.navbar-wrapper.navbar-inverse.is-reverse {
    background: #344258
}

.navbar-wrapper.navbar-inverse.is-reverse .navbar-menu.is-active {
    background: #344258
}

.navbar-wrapper.navbar-inverse.is-blue {
    background: #039BE5
}

.navbar-wrapper.navbar-inverse.is-blue .navbar-menu.is-active {
    background: #039BE5
}

.navbar-wrapper.navbar-inverse.is-purple {
    background: #7F00FF
}

.navbar-wrapper.navbar-inverse.is-purple .navbar-menu.is-active {
    background: #7F00FF
}

.navbar-wrapper.navbar-inverse.is-red {
    background: #FF7273
}

.navbar-wrapper.navbar-inverse.is-red .navbar-menu.is-active {
    background: #FF7273
}

.navbar-wrapper.navbar-inverse .icon-box-toggle span i {
    background: #fff !important
}

.navbar-wrapper.navbar-inverse .navbar-item,
.navbar-wrapper.navbar-inverse .navbar-link {
    color: #fff
}

.navbar-wrapper.navbar-inverse .navbar-link:after {
    font-size: 0.85rem;
    border: 1.6px solid transparent;
    border-radius: 2px;
    border-right: 0;
    border-top: 0;
    border-color: #fff;
    margin-top: -0.375em;
    right: 1.125em;
    transition: all .3s;
    right: 1.525em
}

.navbar-wrapper.navbar-inverse .navbar-burger span {
    background: #fff !important
}

.navbar-wrapper .navbar-dropdown.is-medium {
    width: 200px
}

.navbar-wrapper .navbar-dropdown .navbar-item {
    color: #444F60
}

.navbar-wrapper.navbar-faded {
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.navbar-wrapper.navbar-faded .navbar-brand img {
    height: 28px
}

.navbar-wrapper.navbar-faded .navbar-brand img.light-logo {
    display: none
}

.navbar-wrapper.navbar-faded .navbar-brand img.dark-logo {
    display: block
}

.account {
    position: relative;
    right: 20px;
    top: 5px;
    margin-left: 30px
}

.account .nav-item {
    border-bottom: 1px solid transparent !important
}

.account img.account-avatar {
    max-height: 40px;
    border-radius: 50px;
    border: 1px solid #EFF4F7
}

.account div a {
    color: #66676b !important
}

.account div a i {
    position: relative;
    top: 3px;
    left: 10px;
    font-size: 7px !important;
    color: #66676b
}

.account .dropOut ul {
    margin-left: 0 !important
}

.scroll-nav-wrapper {
    width: 100%;
    height: 60px;
    line-height: 60px;
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12)
}

.scroll-nav-wrapper .tabs {
    background: #fff
}

.scroll-nav-wrapper .tabs a {
    padding-bottom: 0;
    padding-top: 0;
    border-bottom-color: transparent
}

.scroll-nav-wrapper .tabs ul {
    border-bottom: none
}

.scroll-nav-wrapper .tabs ul li a {
    color: #A9ABAC
}

.scroll-nav-wrapper .tabs ul li:hover a {
    color: #7F00FF;
    border-bottom-color: #7F00FF
}

.scroll-nav-wrapper .tabs ul li.is-active a {
    color: #7F00FF;
    border-bottom: 2px solid #7F00FF
}

.scroll-nav-wrapper .tabs ul li a.there {
    color: #7F00FF;
    border-bottom: 2px solid #7F00FF
}

.menu-toggle {
    font-size: 20px;
    color: #666;
    line-height: 48px;
    text-align: center;
    background: transparent;
    display: block;
    width: 24px;
    height: 26px;
    cursor: pointer;
    padding: 0;
    margin: 0 14px;
    transition: opacity 0.4s;
    opacity: 1;
    position: relative;
    top: 2px
}

.menu-toggle .icon-box-toggle {
    height: 100%;
    width: 100%;
    background: tranparent;
    position: relative;
    display: block;
    width: 30px;
    height: 30px
}

.menu-toggle .icon-box-toggle.active>span.rotate {
    -webkit-transform: rotate(90deg);
    transform: translate(0px, 0px) rotate(90deg)
}

.menu-toggle .icon-box-toggle.active>span>i.icon-line-center {
    visibility: hidden;
    width: 1px;
    height: 3px;
    left: 70%
}

.menu-toggle .icon-box-toggle.active>span>i.icon-line-bottom {
    margin: -2px 0 0 -10px;
    left: 50%;
    top: 12px;
    -webkit-transform: rotate(135deg);
    transform: translate(0px, 0px) rotate(135deg)
}

.menu-toggle .icon-box-toggle.active>span>i.icon-line-top {
    margin: -2px 0 0 -10px;
    left: 50%;
    top: 12px;
    -webkit-transform: rotate(45deg);
    transform: translate(0px, 0px) rotate(45deg)
}

.menu-toggle .icon-line-center {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #A9ABAC;
    margin: -1px 0 0 -10px;
    left: 50%;
    top: 11px;
    transition: all .2s ease
}

.menu-toggle .icon-line-top {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #A9ABAC;
    margin: -3px 0 0 -10px;
    left: 50%;
    top: 7px;
    transition: all .2s ease
}

.menu-toggle .icon-line-bottom {
    position: absolute;
    width: 20px;
    height: 2px;
    background: #A9ABAC;
    margin: 2px 0 0 -10px;
    left: 50%;
    top: 14px;
    transition: all .2s ease
}

/*! _sections.scss | Bulkit | CSS Ninja */
.section.section-light-grey {
    background-color: #EFF4F7
}

.section.section-feature-grey {
    background-color: #fbfbfb
}

.section.section-header-grey {
    background-color: #F5F9FC
}

.section.section-feature-grey-accent {
    background-color: #efefef
}

.section.section-primary {
    background-color: #4FC1EA
}

.section.section-secondary {
    background-color: #7F00FF
}

.section.has-border-bottom {
    border-bottom: 1px solid #ededed
}

.section.has-border-top {
    border-top: 1px solid #ededed
}

.section.is-relative {
    position: relative
}

.section.is-cover {
    background-size: cover !important
}

.section.no-margin {
    margin: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important
}

.section.section-half {
    height: 75vh !important
}

.section.is-skewed-sm {
    -webkit-transform: skew(0deg, -3deg) translate(0, -45px);
    transform: skew(0deg, -3deg) translate(0, -45px);
    padding-top: 140px
}

.section .container {
    z-index: 1
}

.section .container.is-reverse-skewed-sm {
    -webkit-transform: skew(0deg, 3deg) translate(0, 45px);
    transform: skew(0deg, 3deg) translate(0, 45px)
}

.section .container.slanted-container {
    margin-top: -100px
}

.section .content-wrapper {
    padding-top: 40px
}

.section .bottom-spacer {
    padding-bottom: 200px
}

.section .section-title-wrapper {
    position: relative;
    padding: 40px 20px
}

.section .section-title-wrapper .bg-number,
.section .section-title-wrapper .bg-symbol {
    position: absolute;
    text-align: center;
    font-weight: bolder;
    top: -18px;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    font-size: 160px;
    z-index: 0;
    opacity: 0.1;
    color: #999;
    width: 160px;
    height: 160px;
    line-height: 160px
}

.section .section-title-wrapper .bg-number .material-icons,
.section .section-title-wrapper .bg-symbol .material-icons {
    font-size: 12rem
}

.section .section-title-wrapper .top-subtitle {
    text-transform: uppercase;
    color: #4FC1EA;
    font-family: 'Nexa Light', sans-serif;
    font-weight: 700;
    font-size: 1.05rem
}

.section .section-title-wrapper .icon-subtitle {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.section .section-title-wrapper .icon-subtitle.is-one i {
    margin: 10px 5px 0 5px;
    font-size: 2.2rem;
    color: #7F00FF
}

.section .section-title-wrapper .icon-subtitle.is-many i {
    margin: 10px 5px 0 5px;
    font-size: 1.4rem;
    color: #7F00FF
}

.section .title.section-title {
    font-size: 2.7rem;
    color: #A9ABAC;
    font-weight: bold;
    font-family: 'Nexa Bold', sans-serif
}

.section .title.section-subtitle {
    font-size: 2.3rem;
    color: #A9ABAC
}

.section .title.quick-feature {
    font-size: 2.7rem;
    color: #444F60;
    position: relative
}

.section .title.quick-feature .bg-number,
.section .title.quick-feature .bg-symbol {
    position: absolute;
    font-weight: bolder;
    top: -100px;
    left: 40px;
    font-size: 14rem;
    z-index: 0;
    opacity: 0.1;
    color: #999
}

.section .title.feature-title {
    font-weight: 600;
    color: #444F60;
    font-size: 2.2rem
}

.section .icon-subtitle i {
    font-size: 2.4rem;
    color: #4FC1EA
}

.section .detailed-feature-subtitle {
    text-transform: uppercase;
    font-family: 'Nexa Light';
    font-size: 15px;
    color: #A9ABAC;
    font-weight: 600
}

.section .title-divider {
    margin: 10px 0;
    width: 80px;
    height: 5px;
    background: #4FC1EA
}

.section .title-divider.is-right {
    margin-left: auto
}

.section .title-divider.is-centered {
    margin: 0 auto
}

.section h2.feature-headline {
    color: #4FC1EA !important;
    line-height: 1.2;
    padding: 5px 0;
    margin-bottom: 0 !important
}

.section .section-feature-description {
    color: #878787
}

.section .media.icon-box {
    border-top: none !important
}

.section .media.icon-box .media-content .content p span.icon-box-title {
    color: #444F60;
    font-size: 1.2rem;
    font-weight: 600
}

.section .media.icon-box .media-content .content p span.icon-box-text {
    color: #A9ABAC;
    font-size: 1.1rem;
    font-weight: 400
}

.section .flex-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.section .flex-wrapper.flex-center {
    -ms-flex-pack: center;
    justify-content: center
}

.section .flex-wrapper.flex-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.section .flex-wrapper.flex-end {
    -ms-flex-pack: end;
    justify-content: flex-end
}

.section .flex-wrapper img {
    width: 23%
}

.content.content-flex,
.content-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.content.content-flex.center-flex,
.content-flex.center-flex {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.divider {
    display: table;
    white-space: nowrap;
    margin-top: 20px;
    padding: 0 20px
}

.divider .before-divider,
.divider .after-divider {
    display: table-cell;
    width: 50%;
    border-bottom: 1px solid #ededed;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #999
}

.divider .children {
    padding: 0 20px;
    font-size: 14px;
    color: #cecece
}

/*! _hero.scss | Bulkit | CSS Ninja */
.hero.is-relative {
    position: relative
}

.hero.is-cover {
    background-size: cover !important
}

.hero.is-theme-primary {
    background-color: #4FC1EA
}

.hero.is-theme-primary .title {
    color: #fff
}

.hero.is-theme-primary .subtitle {
    color: #fff
}

.hero.is-theme-secondary {
    background-color: #7F00FF
}

.hero.is-theme-secondary .title {
    color: #fff
}

.hero.is-theme-secondary .subtitle {
    color: #fff
}

.hero.is-theme-accent {
    background-color: #7F00FF
}

.hero.is-theme-accent .title {
    color: #fff
}

.hero.is-theme-accent .subtitle {
    color: #fff
}

.hero.is-theme-info {
    background-color: #039BE5
}

.hero.is-theme-info .title {
    color: #fff
}

.hero.is-theme-info .subtitle {
    color: #fff
}

.hero.is-theme-success {
    background-color: #00b289
}

.hero.is-theme-success .title {
    color: #fff
}

.hero.is-theme-success .subtitle {
    color: #fff
}

.hero.is-theme-warning {
    background-color: #eda514
}

.hero.is-theme-warning .title {
    color: #fff
}

.hero.is-theme-warning .subtitle {
    color: #fff
}

.hero.is-theme-danger {
    background-color: #FF7273
}

.hero.is-theme-danger .title {
    color: #fff
}

.hero.is-theme-danger .subtitle {
    color: #fff
}

.hero.is-feature-grey {
    background-color: #fbfbfb
}

.hero.is-feature-grey .title {
    color: #444F60
}

.hero.is-feature-grey .subtitle {
    color: #444F60
}

.hero.is-light-grey {
    background-color: #EFF4F7;
    background-image: linear-gradient(141deg, #d0e0ec 0%, #f5f7fa 71%, #fff 100%)
}

.hero.is-light-grey .title.dark {
    color: #444F60
}

.hero.is-light-grey .title.theme {
    color: #4FC1EA
}

.hero.is-light-grey .subtitle {
    margin-top: 0 !important;
    padding-right: 20%;
    line-height: 1.6 !important
}

.hero.is-coal {
    background-color: #444
}

.hero.is-coal .title {
    color: #fff
}

.hero.is-coal .subtitle {
    color: #fff
}

.hero-body {
    background-size: cover !important;
    background-repeat: no-repeat !important
}

.hero-body .title.main-title {
    color: #fff;
    z-index: 999;
    font-size: 3.5rem
}

.hero-body .title.big-title {
    color: #444F60;
    z-index: 999;
    font-size: 4rem
}

.hero-body .title.page-title {
    font-size: 3.5rem
}

.hero-body .title.medium-title {
    font-size: 2.5rem
}

.hero-body .title.small-title {
    font-size: 2rem
}

.hero-body .subtitle.page-subtitle {
    font-size: 1.8rem
}

.hero-body .clients-small {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 0
}

.hero-body .clients-small img {
    height: 42px;
    margin: 0 5px
}

.hero-body .clients-small.centered {
    -ms-flex-pack: center !important;
    justify-content: center !important
}

.hero-body.is-relative {
    position: relative
}

.hero-foot img.partner-logo {
    height: 70px !important
}

.parallax-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    background-color: #333;
    opacity: 0.4
}

/*! _footer.scss | Bulkit | CSS Ninja */
footer.footer-dark {
    background: #444F60;
    color: #fff;
    position: relative
}

footer.footer-dark .columns {
    padding-top: 30px;
    padding-bottom: 30px
}

footer.footer-dark .footer-logo {
    padding: 10px 0
}

footer.footer-dark .footer-logo img {
    height: 25px
}

footer.footer-dark .footer-column .footer-header {
    padding: 10px 0
}

footer.footer-dark .footer-column .footer-header h3 {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0 !important;
    color: #EFF4F7
}

footer.footer-dark .footer-column ul.link-list {
    line-height: 30px;
    font-size: 1rem
}

footer.footer-dark .footer-column ul.link-list a {
    color: #98a9c3;
    font-weight: 400;
    transition: all 0.5s
}

footer.footer-dark .footer-column ul.link-list :hover {
    color: #fcfcfc
}

footer.footer-dark .footer-column .level-item .icon {
    color: #4FC1EA;
    transition: all 0.5s
}

footer.footer-dark .footer-column .level-item .icon i {
    font-size: 20px
}

footer.footer-dark .footer-column .level-item .icon :hover {
    color: #fcfcfc
}

footer.footer-dark .footer-column .copyright {
    padding: 10px 0
}

footer.footer-light {
    background: #fff;
    color: #444F60;
    position: relative
}

footer.footer-light .columns {
    padding-top: 30px;
    padding-bottom: 30px
}

footer.footer-light .footer-logo {
    padding: 10px 0
}

footer.footer-light .footer-logo img {
    height: 25px
}

footer.footer-light .footer-column .footer-header {
    padding: 10px 0
}

footer.footer-light .footer-column .footer-header h3 {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0 !important;
    color: #444F60
}

footer.footer-light .footer-column ul.link-list {
    line-height: 30px;
    font-size: 1rem
}

footer.footer-light .footer-column ul.link-list a {
    color: #98a9c3;
    font-weight: 400;
    transition: all 0.5s
}

footer.footer-light .footer-column ul.link-list :hover {
    color: #4FC1EA
}

footer.footer-light .footer-column .level-item .icon {
    color: #999;
    transition: all 0.5s
}

footer.footer-light .footer-column .level-item .icon i {
    font-size: 20px
}

footer.footer-light .footer-column .level-item .icon :hover {
    color: #7F00FF
}

footer.footer-light .footer-column .copyright {
    padding: 10px 0
}

@media (max-width: 768px) {
    .footer-columns.is-flex-mobile {
        -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important
    }
}

footer.footer-light-left {
    padding: 5rem 1.5rem !important
}

footer.footer-light-left .footer-nav-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

footer.footer-light-left .footer-nav-right .footer-nav-link {
    margin: 0 10px;
    padding: 20px 0;
    color: #444F60 !important;
    border-bottom: 2px solid transparent
}

footer.footer-light-left .footer-nav-right .footer-nav-link:hover {
    color: #999 !important;
    border-bottom: 2px solid #999
}

footer.footer-light-left .footer-nav-right .footer-nav-link.is-active {
    color: #4FC1EA !important;
    border-bottom: 2px solid #4FC1EA !important
}

footer.footer-light-left .level-item .icon {
    color: #cecece;
    transition: all 0.5s
}

footer.footer-light-left .level-item .icon :hover {
    color: #4FC1EA
}

footer.footer-light-left .moto {
    color: #999
}

@media (max-width: 768px) {
    .footer-nav-right {
        margin-top: 0 !important
    }
}

footer.footer-dark-left {
    padding: 5rem 1.5rem !important;
    background: #444F60
}

footer.footer-dark-left .footer-nav-right {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

footer.footer-dark-left .footer-nav-right .footer-nav-link {
    margin: 0 10px;
    padding: 20px 0;
    color: #fff !important;
    border-bottom: 2px solid transparent
}

footer.footer-dark-left .footer-nav-right .footer-nav-link:hover {
    color: #fcfcfc !important;
    border-bottom: 2px solid #fff
}

footer.footer-dark-left .footer-nav-right .footer-nav-link.is-active {
    color: #4FC1EA !important;
    border-bottom: 2px solid #4FC1EA !important
}

footer.footer-dark-left .level-item .icon {
    color: #fff;
    transition: all 0.5s
}

footer.footer-dark-left .level-item .icon :hover {
    color: #4FC1EA
}

footer.footer-dark-left .moto {
    color: #fff
}

footer.footer-light-medium {
    padding-bottom: 10rem !important;
    padding-top: 8rem !important;
    background: #fff
}

footer.footer-light-medium .social-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

footer.footer-light-medium .social-links a {
    color: #A9ABAC;
    margin: 0 5px
}

footer.footer-light-medium .social-links a:hover {
    color: #4FC1EA
}

footer.footer-light-medium .footer-description {
    color: #A9ABAC
}

footer.footer-light-medium .footer-column {
    padding-top: 20px
}

footer.footer-light-medium .footer-column .column-header {
    font-family: 'Nexa Light', sans-serif;
    text-transform: uppercase;
    color: #444F60;
    font-size: 1rem;
    font-weight: 700;
    margin: 10px 0
}

footer.footer-light-medium .footer-column .column-item {
    padding-bottom: 10px
}

footer.footer-light-medium .footer-column .column-item a {
    color: #A9ABAC
}

footer.footer-light-medium .footer-column .column-item a:hover {
    color: #4FC1EA
}

footer.footer-light-medium .moto {
    color: #999
}

footer.footer-light-medium .small-footer-logo {
    height: 28px
}

/*! _animations.scss | Bulkit | CSS Ninja */
.animated {
    animation-duration: 0.5s;
    animation-fill-mode: both;
    -webkit-animation-duration: 0.5s;
    -webkit-animation-fill-mode: both
}

@-webkit-keyframes translateLeft {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateLeft {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateLeft {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes translateDown {
    from {
        -webkit-transform: translate3d(0, -100px, 0);
        transform: translate3d(0, -100px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateDown {
    from {
        -webkit-transform: translate3d(0, -100px, 0);
        transform: translate3d(0, -100px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateDown {
    -webkit-animation-name: translateDown;
    animation-name: translateDown;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes translateUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes translateUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

.translateUp {
    -webkit-animation-name: translateUp;
    animation-name: translateUp;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    transition: all 500ms cubic-bezier(0.755, 0.05, 0.855, 0.06)
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeIn {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.fadeIn {
    opacity: 0;
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn
}

@-webkit-keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInLeft {
    from {
        -webkit-transform: translate3d(20px, 0, 0);
        transform: translate3d(20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInLeft {
    opacity: 0
}

.fadeInLeft {
    opacity: 0;
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft
}

@-webkit-keyframes fadeInRight {
    from {
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInRight {
    from {
        -webkit-transform: translate3d(-20px, 0, 0);
        transform: translate3d(-20px, 0, 0);
        opacity: 0
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInRight {
    opacity: 0
}

.fadeInRight {
    opacity: 0;
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight
}

@-webkit-keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInUp {
    opacity: 0
}

.fadeInUp {
    opacity: 0;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp
}

@-webkit-keyframes fadeInDown {
    from {
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

@keyframes fadeInDown {
    from {
        -webkit-transform: translate3d(0, -20px, 0);
        transform: translate3d(0, -20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}

.preFadeInDown {
    opacity: 0
}

.fadeInDown {
    opacity: 0;
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown
}

@-webkit-keyframes fadeOutUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 0
    }
}

@keyframes fadeOutUp {
    from {
        -webkit-transform: translate3d(0, 20px, 0);
        transform: translate3d(0, 20px, 0)
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 0
    }
}

.preFadeOutUp {
    opacity: 1
}

.fadeOutUp {
    opacity: 1;
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp
}

@-webkit-keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }

    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

@keyframes levitate {
    from {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }

    50% {
        -webkit-transform: translate(0, 10px);
        transform: translate(0, 10px)
    }

    to {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0)
    }
}

.levitate {
    -webkit-animation-name: levitate;
    animation-name: levitate;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out
}

@-webkit-keyframes gelatine {

    from,
    to {
        -webkit-transform: scale(1, 1)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0.9)
    }

    75% {
        -webkit-transform: scale(0.95, 1.05)
    }
}

@keyframes gelatine {

    from,
    to {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1);
        transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0.9);
        transform: scale(1.1, 0.9)
    }

    75% {
        -webkit-transform: scale(0.95, 1.05);
        transform: scale(0.95, 1.05)
    }
}

.gelatine {
    -webkit-animation: gelatine 0.6s;
    animation: gelatine 0.6s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes unzoom {

    from,
    to {
        -webkit-transform: scale(1, 0)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0)
    }
}

@keyframes unzoom {

    from,
    to {
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0)
    }

    25% {
        -webkit-transform: scale(0.9, 1.1);
        transform: scale(0.9, 1.1)
    }

    50% {
        -webkit-transform: scale(1.1, 0);
        transform: scale(1.1, 0)
    }
}

.unzoom {
    -webkit-animation: unzoom 0.7s;
    animation: unzoom 0.7s;
    -webkit-animation-duration: 0.6s;
    animation-duration: 0.6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

@-webkit-keyframes dotPulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1.8);
        transform: scale(1.8);
        opacity: 0
    }
}

@keyframes dotPulse {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1
    }

    100% {
        -webkit-transform: scale(1.8);
        transform: scale(1.8);
        opacity: 0
    }
}

@-webkit-keyframes entrance {
    from {
        -webkit-transform: scale(0)
    }

    25% {
        -webkit-transform: scale(1.05)
    }

    50% {
        -webkit-transform: scale(0.95)
    }

    75% {
        -webkit-transform: scale(1.05)
    }

    to {
        -webkit-transform: none
    }
}

@keyframes entrance {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    25% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    50% {
        -webkit-transform: scale(0.95);
        transform: scale(0.95)
    }

    75% {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    to {
        -webkit-transform: none;
        transform: none
    }
}

.entrance {
    -webkit-animation: entrance 0.8s;
    animation: entrance 0.8s
}

@-webkit-keyframes scaleIn {
    from {
        -webkit-transform: scale(0)
    }

    to {
        -webkit-transform: scale(1)
    }
}

@keyframes scaleIn {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    to {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.scaleIn {
    -webkit-animation: scaleIn 0.5s;
    animation: scaleIn 0.5s;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

@-webkit-keyframes scaleInCircle {
    from {
        -webkit-transform: scale(0)
    }

    to {
        -webkit-transform: scale(7)
    }
}

@keyframes scaleInCircle {
    from {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    to {
        -webkit-transform: scale(7);
        transform: scale(7)
    }
}

.scaleInCircle {
    -webkit-animation: scaleInCircle 0.6s;
    animation: scaleInCircle 0.6s;
    -webkit-animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1)
}

@-webkit-keyframes scaleOut {
    from {
        -webkit-transform: scale(1)
    }

    to {
        -webkit-transform: scale(0)
    }
}

@keyframes scaleOut {
    from {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    to {
        -webkit-transform: scale(0);
        transform: scale(0)
    }
}

.scaleOut {
    -webkit-animation: scaleOut 0.6s;
    animation: scaleOut 0.6s
}

@-webkit-keyframes pulsate {
    0% {
        -webkit-transform: scale(0.1, 0.1);
        opacity: 0.0
    }

    50% {
        opacity: 1.0
    }

    100% {
        -webkit-transform: scale(1.2, 1.2);
        opacity: 0.0
    }
}

.pulsate {
    -webkit-animation: pulsate 1s ease-out;
    animation: pulsate 1s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    opacity: 0.0
}

.delay-1 {
    -webkit-animation-delay: .25s;
    animation-delay: .25s
}

.delay-2 {
    -webkit-animation-delay: .5s;
    animation-delay: .5s
}

.delay-3 {
    -webkit-animation-delay: .75s;
    animation-delay: .75s
}

.delay-4 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s
}

.delay-5 {
    -webkit-animation-delay: 1.25s;
    animation-delay: 1.25s
}

.delay-6 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s
}

.delay-7 {
    -webkit-animation-delay: 1.75s;
    animation-delay: 1.75s
}

.delay-8 {
    -webkit-animation-delay: 2.25s;
    animation-delay: 2.25s
}

.delay-9 {
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s
}

.delay-10 {
    -webkit-animation-delay: 2.75s;
    animation-delay: 2.75s
}

.delay-11 {
    -webkit-animation-delay: 3s;
    animation-delay: 3s
}

/*! _navigation.scss | Bulkit | CSS Ninja */
.side-navigation-menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    background: #344258;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    width: 300px;
    overflow: hidden;
    -webkit-transform: translateX(-301px);
    transform: translateX(-301px);
    transition: width .05s linear;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    z-index: 1000
}

.side-navigation-menu.is-active {
    -webkit-transform: translateX(0);
    transform: translateX(0)
}

.side-navigation-menu .category-menu-wrapper {
    height: 100%;
    position: relative;
    width: 80px;
    background: #7F00FF
}

.side-navigation-menu .category-menu-wrapper ul.categories li {
    height: 60px
}

.side-navigation-menu .category-menu-wrapper ul.categories li.square-logo {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.side-navigation-menu .category-menu-wrapper ul.categories li.square-logo img {
    max-height: 28px
}

.side-navigation-menu .category-menu-wrapper ul.categories li.category-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    cursor: pointer
}

.side-navigation-menu .category-menu-wrapper ul.categories li.category-link i {
    font-size: 20px;
    color: #fff
}

.side-navigation-menu .category-menu-wrapper ul.categories li.category-link:hover {
    background: #7200e6
}

.side-navigation-menu .category-menu-wrapper ul.categories li.is-active {
    background: #60c
}

.side-navigation-menu .category-menu-wrapper .author {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%
}

.side-navigation-menu .category-menu-wrapper .author li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

.side-navigation-menu .category-menu-wrapper .author a {
    position: relative;
    z-index: 4
}

.side-navigation-menu .category-menu-wrapper .author .main-menu-author {
    width: 48px;
    height: 48px;
    border-radius: 100px;
    margin: 0 auto;
    margin-bottom: 10px;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: -webkit-transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s
}

.side-navigation-menu .category-menu-wrapper .author .main-menu-author:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.side-navigation-menu .navigation-menu-wrapper {
    height: 100%;
    width: 100%;
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper ul.navigation-menu {
    height: 100%;
    margin: 0;
    padding: 0;
    max-width: 400px;
    list-style: none;
    list-style-type: none;
    overflow: auto
}

.side-navigation-menu .navigation-menu-wrapper ul.navigation-menu::-webkit-scrollbar {
    width: 10px
}

.side-navigation-menu .navigation-menu-wrapper ul.navigation-menu::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.1)
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu-header {
    height: 60px;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 25px;
    text-transform: uppercase;
    font-weight: 300;
    color: #fcfcfc;
    letter-spacing: 3px;
    font-size: 92%
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu-header .menu-toggle .icon-box-toggle span i {
    background: #fff
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu-header .navigation-close {
    opacity: 0
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a span {
    margin-right: 20px;
    color: #fff;
    font-size: 22px
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a {
    padding: 18px 25px;
    display: block;
    text-decoration: none;
    color: #fff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a.is-submenu {
    padding: 12px 25px
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a.parent-link {
    height: 60px !important;
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a.parent-link.has-new:before {
    content: '';
    position: absolute;
    top: 18px;
    left: 22px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #039BE5;
    -webkit-animation: pulsate 1s ease-out;
    animation: pulsate 1s ease-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    opacity: 0.0
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu li a:hover {
    background: #3d4e68
}

.side-navigation-menu .navigation-menu-wrapper li.has-children.active-section a.parent-link {
    color: #a54dff !important
}

.side-navigation-menu .navigation-menu-wrapper li.has-children.active-section a.parent-link span,
.side-navigation-menu .navigation-menu-wrapper li.has-children.active-section a.parent-link span:after {
    color: #a54dff !important
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul {
    padding: 0px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu {
    background-color: #2b3648;
    padding-left: 62px !important;
    font-size: 95%
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu:hover,
.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.is-active {
    color: #7F00FF
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature {
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-feature:after {
    content: '2.0';
    position: absolute;
    color: #fff;
    background: #7F00FF;
    padding: 0;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    padding: 3px 6px;
    right: 20px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update {
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a.is-submenu.has-new-update:after {
    content: '2.1';
    position: absolute;
    color: #fff;
    background: #4FC1EA;
    padding: 0;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    padding: 3px 6px;
    right: 20px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children ul li a:hover {
    color: #fff;
    padding-left: 42px
}

.side-navigation-menu .navigation-menu-wrapper li.has-children,
.side-navigation-menu .navigation-menu-wrapper li {
    position: relative
}

.side-navigation-menu .navigation-menu-wrapper .has-children span::after {
    position: absolute;
    right: 30px;
    content: "\E315";
    color: #fff;
    transition: all .5s;
    font-size: 90%;
    padding-top: 2px
}

.side-navigation-menu .navigation-menu-wrapper li.active.has-children span::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.side-navigation-menu .navigation-menu-wrapper li.active.has-children {
    background: #3d4e68
}

.side-navigation-menu .navigation-menu-wrapper .navigation-menu .has-children>ul {
    display: none
}

/*! _pageloader.scss | Bulkit | CSS Ninja */
.pageloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #4FC1EA;
    z-index: 999998;
    transition: -webkit-transform 0.35s ease-out;
    transition: transform 0.35s ease-out;
    transition: transform 0.35s ease-out, -webkit-transform 0.35s ease-out;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    will-change: transform
}

.pageloader.is-active {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.pageloader::after,
.pageloader::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    border-radius: 100%;
    content: "";
    z-index: 999999
}

.pageloader::after {
    margin-top: -100px;
    margin-left: -100px;
    width: 200px;
    height: 200px;
    background-color: #ff9800;
    border: 3px solid #ff9800;
    -webkit-animation: page-loader-inner 1.5s infinite ease-out;
    animation: page-loader-inner 1.5s infinite ease-out
}

.pageloader::before {
    margin-top: -30px;
    margin-left: -30px;
    width: 60px;
    height: 60px;
    background-color:#ff9800;
    -webkit-animation: page-loader-outer 1.5s infinite ease-in;
    animation: page-loader-outer 1.5s infinite ease-in
}

@-webkit-keyframes page-loader-inner {

    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@keyframes page-loader-inner {

    0%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0)
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0
    }
}

@-webkit-keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

@keyframes page-loader-outer {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100%,
    40% {
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0
    }
}

.infraloader {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #fff;
    z-index: -1;
    opacity: 0;
    transition: opacity .35s
}

.infraloader.is-active {
    opacity: 1;
    z-index: 999997
}

/*! _buttons.scss | Bulkit | CSS Ninja */
.button {
    transition: all 0.5s
}

.button.button-signup {
    padding: 22px 40px !important
}

.button.button-signup.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.button-cta {
    padding: 22px 40px !important
}

.button.button-cta.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.no-lh {
    line-height: 0 !important
}

.button.button-action {
    padding: 25px 40px !important
}

.button.btn-align {
    padding: 3px 13px 6px 13px
}

.button.btn-align-md {
    padding: 5px 15px 18px 15px
}

.button.btn-align-lg {
    padding: 6px 15px 18px 15px
}

.button.btn-upper {
    text-transform: uppercase
}

.button.rounded {
    border-radius: 500px
}

.button.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important;
    opacity: 0.8
}

.button.is-raised {
    box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important
}

.button.btn-fade:hover {
    opacity: 0.6
}

.button.btn-outlined {
    background: transparent
}

.button.btn-outlined.light-btn {
    border-color: #fff;
    color: #fff
}

.button.btn-outlined.light-btn:hover {
    background-color: #fff;
    color: #444F60
}

.button.btn-outlined.is-bold {
    border-width: 2px;
    font-weight: 600
}

.button.btn-padding {
    padding: 6px 13px 16px 13px !important
}

.button.default-btn {
    color: #cecece !important
}

.button.is-link {
    text-decoration: none !important
}

.button.has-icon-right i {
    padding-left: 8px
}

.button:focus {
    border-color: #ccc
}

.button i {
    position: relative;
    top: 1px;
    padding-right: 8px
}

.button.has-icon i {
    position: relative;
    margin-right: 5px;
    font-size: 1.7rem
}

.button.is-fullwidth {
    display: block !important;
    width: 100% !important;
    text-align: center !important
}

.button.btn-square {
    width: 45px;
    height: 45px;
    text-align: center !important;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.button.btn-square.is-small {
    width: 36px;
    height: 36px
}

.button.btn-square.is-medium {
    width: 55px;
    height: 55px
}

.button.btn-square.is-large {
    width: 64px;
    height: 64px
}

.button.btn-square i {
    font-size: 21px;
    padding: 0 !important
}

.button.btn-square.is-small i {
    font-size: 18px
}

.button.btn-square.is-medium i {
    font-size: 28px
}

.button.btn-square.is-large i {
    font-size: 32px
}

.button.is-link {
    background: transparent !important
}

.button.is-link.btn-more {
    text-decoration: none !important
}

.button.is-link.color-primary i {
    font-size: 9px;
    margin-left: 10px;
    position: relative;
    top: 2px;
    color: #4FC1EA !important;
    transition: all 0.5s
}

.button.is-link:hover {
    background: #f5f5f5 !important
}

.button.is-link:hover i {
    -webkit-transform: translate(10px, 0);
    transform: translate(10px, 0)
}

.button.primary-btn {
    outline: none;
    border-color: #4FC1EA;
    background-color: #4FC1EA;
    color: #fff;
    transition: all 0.5s
}

.button.primary-btn:hover {
    color: #fff
}

.button.primary-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
    opacity: 0.9 0.5
}

.button.primary-btn.btn-outlined {
    border-color: #4FC1EA;
    color: #4FC1EA;
    background-color: transparent
}

.button.primary-btn.btn-outlined:hover {
    color: #fff;
    background-color: #4FC1EA
}

.button.primary-btn:focus {
    border-color: #4FC1EA
}

.button.secondary-btn {
    outline: none;
    border-color: #7F00FF;
    background-color: #7F00FF;
    color: #fff;
    transition: all 0.5s
}

.button.secondary-btn:hover {
    color: #fff
}

.button.secondary-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important;
    opacity: 0.95
}

.button.secondary-btn.btn-outlined {
    border-color: #7F00FF;
    color: #7F00FF;
    background-color: transparent
}

.button.secondary-btn.btn-outlined:hover {
    color: #fff;
    background-color: #7F00FF
}

.button.secondary-btn:focus {
    border-color: #7F00FF
}

.button.accent-btn {
    outline: none;
    border-color: #7F00FF;
    background-color: #7F00FF;
    color: #fff;
    transition: all 0.5s
}

.button.accent-btn:hover {
    color: #fff
}

.button.accent-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important;
    opacity: 0.8
}

.button.accent-btn.btn-outlined {
    border-color: #7F00FF;
    color: #7F00FF;
    background-color: transparent
}

.button.accent-btn.btn-outlined:hover {
    color: #fff;
    background-color: #7F00FF
}

.button.accent-btn:focus {
    border-color: #7F00FF
}

.button.success-btn {
    outline: none;
    border-color: #00b289;
    background-color: #00b289;
    color: #fff;
    transition: all 0.5s
}

.button.success-btn:hover {
    color: #fff
}

.button.success-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important;
    opacity: 0.8
}

.button.success-btn.btn-outlined {
    border-color: #00b289;
    color: #00b289;
    background-color: transparent
}

.button.success-btn.btn-outlined:hover {
    color: #fff;
    background-color: #00b289
}

.button.success-btn:focus {
    border-color: #00b289
}

.button.warning-btn {
    outline: none;
    border-color: #eda514;
    background-color: #eda514;
    color: #fff;
    transition: all 0.5s
}

.button.warning-btn:hover {
    color: #fff
}

.button.warning-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important;
    opacity: 0.8
}

.button.warning-btn.btn-outlined {
    border-color: #eda514;
    color: #eda514;
    background-color: transparent
}

.button.warning-btn.btn-outlined:hover {
    color: #fff;
    background-color: #eda514
}

.button.warning-btn:focus {
    border-color: #eda514
}

.button.danger-btn {
    outline: none;
    border-color: #FF7273;
    background-color: #FF7273;
    color: #fff;
    transition: all 0.5s
}

.button.danger-btn:hover {
    color: #fff
}

.button.danger-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important;
    opacity: 0.8
}

.button.danger-btn.btn-outlined {
    border-color: #FF7273;
    color: #FF7273;
    background-color: transparent
}

.button.danger-btn.btn-outlined:hover {
    color: #fff;
    background-color: #FF7273
}

.button.danger-btn:focus {
    border-color: #FF7273
}

.button.info-btn {
    outline: none;
    border-color: #039BE5;
    background-color: #039BE5;
    color: #fff;
    transition: all 0.5s
}

.button.info-btn:hover {
    color: #fff
}

.button.info-btn.raised:hover {
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important;
    opacity: 0.8
}

.button.info-btn.btn-outlined {
    border-color: #039BE5;
    color: #039BE5;
    background-color: transparent
}

.button.info-btn.btn-outlined:hover {
    color: #fff;
    background-color: #039BE5
}

.button.info-btn:focus {
    border-color: #039BE5
}

.button.social-btn {
    color: #fff
}

.button.social-btn.facebook {
    background-color: #3B5998
}

.button.social-btn.twitter {
    background-color: #1dcaff
}

.button.social-btn.linkedin {
    background-color: #007bb6
}

.button.social-btn.tumblr {
    background-color: #35465c
}

.button.social-btn.github {
    background-color: #444
}

.ripple {
    overflow: hidden
}

.ripple-effect {
    position: absolute;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    background: white;
    -webkit-animation: ripple-animation 2s;
    animation: ripple-animation 2s
}

@-webkit-keyframes ripple-animation {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0.4
    }

    to {
        -webkit-transform: scale(100);
        transform: scale(100);
        opacity: 0
    }
}

@keyframes ripple-animation {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 0.4
    }

    to {
        -webkit-transform: scale(100);
        transform: scale(100);
        opacity: 0
    }
}

/*! _cards.scss | Bulkit | CSS Ninja */
.feature-card {
    width: 300px;
    height: 320px;
    background-color: #fff;
    border-radius: 3px;
    margin: 0 auto;
    transition: all 0.6s
}

.feature-card.card-md {
    height: 350px
}

.feature-card.card-lg {
    height: 400px
}

.feature-card.card-shadow {
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.feature-card.hover-inset:hover {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px;
    cursor: pointer
}

.feature-card.light-bordered {
    border: 1px solid #e5e5e5 !important
}

.feature-card .card-title h4 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #444F60
}

.feature-card .card-icon img {
    height: 140px;
    margin-top: 20px
}

.feature-card .card-img img {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px
}

.feature-card .card-action {
    margin-top: 40px
}

.feature-card .card-feature-description {
    padding: 5px 30px !important
}

.feature-card .card-feature-description span {
    color: #878787;
    margin-top: 20px
}

.feature-card .card-img-description {
    padding-bottom: 10px
}

.feature-card .card-img-description span {
    color: #878787;
    margin-top: 20px
}

.feature-card .bookmark i {
    font-size: 1.4rem;
    color: #A9ABAC;
    position: relative;
    top: 3px;
    margin-right: 10px
}

.feature-card .bookmark i:hover {
    color: #7F00FF
}

.flex-card {
    position: relative;
    background-color: #fff;
    border: 1px solid #fcfcfc;
    border-radius: 0.1875rem;
    display: inline-block;
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
    transition: all 0.5s
}

.flex-card .flex-card-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center;
    border-bottom: 1px solid #ededed;
    padding: 10px 15px
}

.flex-card .flex-card-header .header-avatar {
    max-height: 45px
}

.flex-card .flex-card-header .header-avatar img {
    height: 45px;
    border-radius: 100px
}

.flex-card .flex-card-header .header-info {
    margin: 0 10px
}

.flex-card .flex-card-header .header-info .header-title {
    font-size: 1.2rem
}

.flex-card .flex-card-header .header-info .header-subtitle {
    font-size: 0.9rem;
    color: #A9ABAC
}

.flex-card .flex-card-header .header-control {
    margin-right: 10px
}

.flex-card .flex-card-header .header-control i {
    font-size: 0.8rem;
    color: #A9ABAC
}

.flex-card .flex-card-header .header-control:hover i {
    color: #4FC1EA
}

.flex-card .flex-card-header.primary {
    background: #4FC1EA
}

.flex-card .flex-card-header.primary .header-info div,
.flex-card .flex-card-header.primary .header-control i {
    color: #fff !important
}

.flex-card .flex-card-header.secondary {
    background: #7F00FF
}

.flex-card .flex-card-header.secondary .header-info div,
.flex-card .flex-card-header.secondary .header-control i {
    color: #fff !important
}

.flex-card .flex-card-header.accent {
    background: #7F00FF
}

.flex-card .flex-card-header.accent .header-info div,
.flex-card .flex-card-header.accent .header-control i {
    color: #fff !important
}

.flex-card .card-body {
    padding: 30px 30px
}

.flex-card .card-body.is-small {
    padding: 20px 20px
}

.flex-card .card-body.is-large {
    padding: 40px 40px
}

.flex-card h3.card-title {
    margin-bottom: 10px;
    margin-top: 10px;
    font-size: 22px;
    line-height: 30px;
    text-decoration: none
}

.flex-card .card-description {
    line-height: 24px;
    cursor: default;
    color: #777;
    font-size: 16px
}

.flex-card.primary-card {
    background: #4FC1EA
}

.flex-card.primary-card .content,
.flex-card.primary-card .content h2 {
    color: #fff !important
}

.flex-card.secondary-card {
    background: #7F00FF
}

.flex-card.secondary-card .content,
.flex-card.secondary-card .content h2 {
    color: #fff !important
}

.flex-card.accent-card {
    background: #7F00FF
}

.flex-card.accent-card .content,
.flex-card.accent-card .content h2 {
    color: #fff !important
}

.flex-card.card-overflow {
    overflow: visible !important
}

.flex-card.light-bordered {
    border: 1px solid #e5e5e5 !important
}

.flex-card.simple-shadow {
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.flex-card.light-raised {
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

.flex-card.raised {
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flex-card.hover-raised:hover {
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2);
    cursor: pointer
}

.flex-card.hover-inset:hover {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px;
    cursor: pointer
}

.flex-card .tabs {
    padding: 15px 0.7rem
}

.flex-card .navtab-content {
    min-height: 190px
}

.flex-card .navtab-content p {
    padding: 0 0.8rem 20px
}

.flex-card.icon-card {
    box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.1);
    transition: inherit;
    margin-bottom: 0
}

.flex-card.icon-card img {
    max-height: 80px
}

.flex-card.icon-card .icon-card-text {
    font-size: 1.1rem;
    color: #A9ABAC
}

.flex-card.icon-card-hover {
    height: 170px;
    padding: 20px 20px 10px 130px;
    border-radius: 8px;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.04);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    text-align: left;
    background-color: #fff
}

.flex-card.icon-card-hover:hover {
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.1);
    -webkit-transform: translate(0, -10px);
    transform: translate(0, -10px)
}

.flex-card.icon-card-hover.first-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/chrono.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.first-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/chrono.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.icon-card-hover.second-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/tablet-dots.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.second-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/tablet-dots.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.icon-card-hover.third-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/cog.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.third-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/cog.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.icon-card-hover.fourth-card {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.65), rgba(255, 255, 255, 0.65)), url(../images/illustrations/icons/landing-v1/plane.svg);
    background-position: 0 0, -80px 20px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat;
    transition: all 350ms ease
}

.flex-card.icon-card-hover.fourth-card:hover {
    background-image: linear-gradient(180deg, transparent, transparent), url(../images/illustrations/icons/landing-v1/plane.svg);
    background-position: 0 0, -80px -25px;
    background-size: auto, 200px;
    background-repeat: repeat, no-repeat
}

.flex-card.testimonial-card .testimonial-title {
    color: #4FC1EA;
    font-weight: 500;
    padding: 5px 0
}

.flex-card.testimonial-card .testimonial-text {
    color: #999;
    font-size: 0.9rem;
    font-style: italic;
    padding: 5px 0
}

.flex-card.testimonial-card .user-id {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px 0
}

.flex-card.testimonial-card .user-id img {
    height: 50px;
    border-radius: 100px
}

.flex-card.testimonial-card .user-id .info {
    padding: 0 10px
}

.flex-card.testimonial-card .user-id .info .name {
    font-size: 1.1rem;
    font-weight: 600;
    color: #444F60
}

.flex-card.testimonial-card .user-id .info .position {
    font-size: 0.9rem;
    color: #cecece
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header.primary {
    background-color: #4FC1EA
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header.secondary {
    background-color: #7F00FF
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header.accent {
    background-color: #7F00FF
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header ul li a {
    color: #f2f2f2
}

.flex-card .navigation-tabs.outlined-pills .tabs.tabs-header ul li.is-active a {
    color: #fff;
    border: 1px solid #fff;
    border-bottom-color: #fff !important
}

.flex-card .icon-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.flex-card .icon-group img {
    height: 60px
}

.flex-card .icon-group span {
    font-size: 20px;
    margin-left: 20px;
    color: #999;
    transition: all 0.5s
}

.flex-card .icon-group span:hover {
    -webkit-transform: translate(10px, 0);
    transform: translate(10px, 0)
}

.flex-card.auth-card {
    padding: 0px 40px 20px 40px
}

.flex-card.auth-card .auth-card-header {
    height: 5rem;
    width: 100%;
    position: relative;
    top: -2.5rem;
    left: auto !important;
    right: auto !important;
    border-radius: 4px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.flex-card.auth-card .auth-card-header img {
    max-height: 30px
}

.flex-card.auth-card .auth-card-header.header-primary {
    background-color: #4FC1EA;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.flex-card.auth-card .auth-card-header.header-secondary {
    background-color: #7F00FF;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.flex-card.auth-card .auth-card-header.header-accent {
    background-color: #7F00FF;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.flex-card .card-content {
    position: relative;
    padding: 1rem !important
}

.flex-card .card-content .bottom-avatar img {
    height: 50px;
    border-radius: 100px;
    position: absolute;
    right: 0;
    bottom: 0
}

.floating-circle {
    width: 100px;
    height: 100px;
    margin-right: auto;
    margin-left: auto;
    padding-top: 22px;
    border-radius: 50px;
    background-color: #fff;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.floating-circle img {
    width: 60px;
    position: relative;
    left: 20px
}

.event-card {
    overflow: hidden;
    width: 100%;
    height: 320px;
    display: inline-block;
    position: relative;
    background-color: #fff;
    transition: box-shadow 300ms ease-in;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border: 1px solid #ededed
}

.event-card:hover {
    box-shadow: 1px 1px 8px 2px rgba(0, 0, 0, 0.1)
}

.event-card .card-date {
    position: absolute;
    top: 0;
    right: 0;
    background-color: #7F00FF;
    z-index: 1
}

.event-card .card-date .date {
    padding: 0 10px
}

.event-card .card-date .date .day {
    font-size: 2.7rem;
    color: #fff;
    font-weight: bold
}

.event-card .card-date .date .month {
    font-weight: 500;
    color: #fff
}

.img-container {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0
}

.img-container img {
    height: 100%;
    width: 100%;
    object-fit: cover
}

.card-text {
    bottom: -40%;
    width: 100%;
    height: 100%;
    position: absolute;
    background-color: #fff;
    transition: all 450ms cubic-bezier(0.6, 0.06, 0.34, 0.61)
}

@media (max-width: 768px) {
    .card-text {
        bottom: -71%
    }
}

@media (min-width: 768px) {
    .card-text {
        bottom: -55%
    }
}

@media (min-width: 1024px) {
    .card-text {
        bottom: -64%
    }
}

@media (min-width: 1420px) {
    .card-text {
        bottom: -70%
    }
}

.card-text.is-clicked,
.event-card:hover .card-text {
    bottom: 0%
}

.card-text .button.is-link i {
    font-size: 10px !important;
    transition: all 0.5s !important;
    margin-left: 20px;
    top: 2px
}

.card-text .text.text-container {
    padding: 20px 30px
}

.card-text .text.text-container .text-header .text-subtitle {
    color: #7F00FF;
    font-family: 'Nexa Light', sans-serif
}

.card-text .text.text-title {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 1.15em;
    margin-bottom: .25em;
    font-weight: bold;
    text-transform: uppercase
}

.card-text .text.text-details:before {
    content: "";
    display: block;
    width: 30%;
    height: 1px;
    background-color: #ddd;
    margin: 30px 0
}

.card-text .text.text-description {
    line-height: 1.4em
}

.card-text .text.text-link {
    text-decoration: none;
    margin-top: 1em;
    display: inline-block;
    color: #7F00FF
}

.card-text .text.text-link:hover {
    color: #b266ff
}

.card.card-shadow {
    box-shadow: 0px 5px 43px rgba(0, 0, 0, 0.18) !important
}

.card .image {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px
}

.card img {
    display: block
}

.card.ressource-card {
    position: relative
}

.card.ressource-card .ressource-avatar img {
    position: absolute;
    top: 15px;
    right: 15px;
    height: 60px;
    width: 60px;
    border-radius: 1000px
}

.card.ressource-card .card-image {
    position: relative
}

.card.ressource-card .card-image figure {
    overflow: hidden
}

.card.ressource-card .card-image figure.zoomOut img {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    transition: .3s ease-in-out
}

.card.ressource-card .card-image figure.zoomIn img {
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: .3s ease-in-out
}

.card.ressource-card .card-image .card-image-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(68, 79, 96, 0.6);
    z-index: 1
}

.card.ressource-card .card-image .card-image-overlay.primary {
    background: #4FC1EA;
    opacity: 0.6
}

.card.ressource-card .card-image .card-image-overlay.secondary {
    background: #7F00FF;
    opacity: 0.6
}

.card.ressource-card .card-image .card-image-overlay.accent {
    background: #7F00FF;
    opacity: 0.6
}

.card.ressource-card .card-content .media-content a {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 16px;
    color: #444F60
}

.card.ressource-card .card-content .media-content a:hover {
    color: #4FC1EA
}

.card.ressource-card .card-content .media-content p {
    font-family: 'Nexa Light';
    font-weight: 700;
    color: #999
}

.card.ressource-card .avatar-rounded img {
    border-radius: 50px !important
}

.card.ressource-card:hover .card-image figure.zoomOut img {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0.8
}

.card.ressource-card:hover .card-image figure.zoomIn img {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    opacity: 0.8
}

.card.card-floating-wide,
.card.card-floating-boxed {
    margin: 4%;
    border-radius: 6px
}

.card.card-floating-wide .title,
.card.card-floating-boxed .title {
    margin: 0 !important;
    padding: 10px 0
}

.card.card-floating-wide .subtitle,
.card.card-floating-boxed .subtitle {
    font-size: 0.9rem;
    color: #A9ABAC;
    margin: 0 !important
}

.card.card-floating-wide .card-image figure img {
    display: block;
    -webkit-transform: scale(1.08);
    transform: scale(1.08);
    border-radius: 6px;
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}

.card.card-floating-boxed .title {
    margin-top: -10%
}

.card.card-floating-boxed .card-image figure img {
    display: block;
    -webkit-transform: scale(0.94);
    transform: scale(0.94);
    border-radius: 6px;
    box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
    margin-top: -10%
}

.card.card-floating-boxed .card-content {
    margin-top: -50px
}

.media-card {
    min-height: 260px
}

.media-card .media-card-image {
    height: 100% !important;
    min-height: 260px;
    width: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.media-card .mcard-content {
    padding: 20px
}

.media-card .mcard-content .mcard-title {
    line-height: 1.2 !important;
    font-size: 20px !important;
    font-weight: 600;
    color: #444F60
}

.media-card .mcard-content .mcard-title a {
    color: #444F60
}

.media-card .mcard-content .mcard-description {
    line-height: 1.4 !important;
    max-height: 4.2em !important;
    margin-top: 7px;
    color: #999
}

.media-card .mcard-controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px;
    position: absolute;
    bottom: 0 !important;
    width: 100%
}

.media-card .mcard-controls .mcard-avatar img {
    height: 40px;
    width: 40px;
    border-radius: 250px
}

.media-card .mcard-controls .mcard-info {
    margin-left: 15px
}

.media-card .mcard-controls .mcard-info span {
    font-size: 14px;
    line-height: 1.4
}

.media-card .mcard-controls .mcard-info div span {
    font-size: 12px;
    line-height: 1.2;
    color: #A9ABAC
}

.media-card .mcard-controls .mcard-info div i {
    font-size: 4px;
    position: relative;
    color: #999;
    top: -2px;
    margin: 0 5px
}

.media-card .mcard-controls .mcard-actions i {
    position: relative;
    top: 5px;
    color: #A9ABAC;
    cursor: pointer
}

.media-card .mcard-controls .mcard-actions i:hover {
    color: #7F00FF
}

.media-card .content-column {
    position: relative
}

/*! _boxes.scss | Bulkit | CSS Ninja */
.icon-box .box-icon {
    color: #cecece;
    font-size: 2.8rem;
    margin-bottom: 1rem
}

.icon-box .box-title {
    color: #444F60;
    margin-bottom: 10px;
    font-weight: 500
}

.icon-box .box-text {
    color: #A9ABAC;
    font-size: 13px
}

.icon-box.primary .box-icon {
    color: #4FC1EA
}

.icon-box.primary .box-title {
    color: #4FC1EA
}

.icon-box.secondary .box-icon {
    color: #7F00FF
}

.icon-box.secondary .box-title {
    color: #7F00FF
}

.icon-box.accent .box-icon {
    color: #7F00FF
}

.icon-box.accent .box-title {
    color: #7F00FF
}

.icon-box.info .box-icon {
    color: #039BE5
}

.icon-box.info .box-title {
    color: #039BE5
}

.icon-box.success .box-icon {
    color: #00b289
}

.icon-box.success .box-title {
    color: #00b289
}

.icon-box.warning .box-icon {
    color: #eda514
}

.icon-box.warning .box-title {
    color: #eda514
}

.icon-box.danger .box-icon {
    color: #FF7273
}

.icon-box.danger .box-title {
    color: #FF7273
}

.icon-box.compact .box-icon {
    color: #fff;
    font-size: 3rem;
    font-weight: bolder;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.icon-box.compact .box-icon i {
    padding: 1.4rem;
    background: #7F00FF;
    border-radius: 5px
}

.icon-box.compact .box-text {
    padding: 0 40px 0 40px
}

.diamond-box {
    text-align: center
}

.diamond-box .diamond-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center
}

.diamond-box .diamond {
    width: 60px;
    height: 60px;
    background-color: #999;
    position: relative;
    border-radius: 4px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-bottom: 1.5rem
}

.diamond-box .diamond i {
    font-size: 36px;
    position: absolute;
    color: #fff;
    left: 11px;
    top: 10px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.diamond-box .box-title {
    color: #444F60;
    margin-bottom: 10px;
    font-weight: 500
}

.diamond-box .box-text {
    color: #A9ABAC;
    font-size: 13px
}

.diamond-box.primary .diamond {
    background-color: #4FC1EA;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.diamond-box.primary .box-title {
    color: #4FC1EA
}

.diamond-box.secondary .diamond {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.diamond-box.secondary .box-title {
    color: #7F00FF
}

.diamond-box.accent .diamond {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.diamond-box.accent .box-title {
    color: #7F00FF
}

.diamond-box.info .diamond {
    background-color: #039BE5;
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important
}

.diamond-box.info .box-title {
    color: #039BE5
}

.diamond-box.success .diamond {
    background-color: #00b289;
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important
}

.diamond-box.success .box-title {
    color: #00b289
}

.diamond-box.warning .diamond {
    background-color: #eda514;
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important
}

.diamond-box.warning .box-title {
    color: #eda514
}

.diamond-box.danger .diamond {
    background-color: #FF7273;
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important
}

.diamond-box.danger .box-title {
    color: #FF7273
}

.square-icon-box {
    text-align: center
}

.square-icon-box:hover .icon-box-wrapper .icon-box:after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.square-icon-box.rounded .icon-box {
    border-radius: 100px !important
}

.square-icon-box.rounded .icon-box:after {
    border-radius: 100px !important
}

.square-icon-box .icon-box-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 5px
}

.square-icon-box .icon-box-wrapper .icon-box {
    width: 60px;
    height: 60px;
    background-color: #999;
    position: relative;
    border-radius: 4px;
    cursor: pointer
}

.square-icon-box .icon-box-wrapper .icon-box i {
    font-size: 28px;
    position: absolute;
    color: #fff;
    left: 16px;
    top: 16px
}

.square-icon-box .icon-box-wrapper .icon-box:after {
    width: 76px;
    height: 76px;
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    top: -8px;
    left: -8px;
    opacity: 0.8;
    border-radius: 4px;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    transition: all 0.3s
}

.square-icon-box .box-title {
    color: #444F60;
    padding: 5px;
    font-weight: 500
}

.square-icon-box .box-text {
    color: #A9ABAC;
    padding: 0 10px;
    font-size: 13px
}

.square-icon-box.primary .icon-box {
    background-color: #4FC1EA;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.square-icon-box.primary .icon-box:after {
    border: 2px solid #4FC1EA
}

.square-icon-box.primary .box-title {
    color: #4FC1EA
}

.square-icon-box.secondary .icon-box {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.square-icon-box.secondary .icon-box:after {
    border: 2px solid #7F00FF
}

.square-icon-box.secondary .box-title {
    color: #7F00FF
}

.square-icon-box.accent .icon-box {
    background-color: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.square-icon-box.accent .icon-box:after {
    border: 2px solid #7F00FF
}

.square-icon-box.accent .box-title {
    color: #7F00FF
}

.square-icon-box.info .icon-box {
    background-color: #039BE5;
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important
}

.square-icon-box.info .icon-box:after {
    border: 2px solid #039BE5
}

.square-icon-box.info .box-title {
    color: #039BE5
}

.square-icon-box.success .icon-box {
    background-color: #00b289;
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important
}

.square-icon-box.success .icon-box:after {
    border: 2px solid #00b289
}

.square-icon-box.success .box-title {
    color: #00b289
}

.square-icon-box.warning .icon-box {
    background-color: #eda514;
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important
}

.square-icon-box.warning .icon-box:after {
    border: 2px solid #eda514
}

.square-icon-box.warning .box-title {
    color: #eda514
}

.square-icon-box.danger .icon-box {
    background-color: #FF7273;
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important
}

.square-icon-box.danger .icon-box:after {
    border: 2px solid #FF7273
}

.square-icon-box.danger .box-title {
    color: #FF7273
}

.shadow-icon-box span {
    display: block;
    position: absolute;
    height: 75px;
    width: 75px;
    color: #fff;
    text-shadow: #19a2d3 1px 1px, #19a2d3 2px 2px, #19a2d3 3px 3px, #19a2d3 4px 4px, #19a2d3 5px 5px, #19a2d3 6px 6px, #19a2d3 7px 7px, #19a2d3 8px 8px, #19a2d3 9px 9px, #19a2d3 10px 10px, #19a2d3 11px 11px, #19a2d3 12px 12px, #19a2d3 13px 13px, #19a2d3 14px 14px, #19a2d3 15px 15px, #19a2d3 16px 16px, #19a2d3 17px 17px, #19a2d3 18px 18px, #19a2d3 19px 19px, #19a2d3 20px 20px, #19a2d3 21px 21px, #19a2d3 22px 22px, #19a2d3 23px 23px, #19a2d3 24px 24px, #19a2d3 25px 25px, #19a2d3 26px 26px, #19a2d3 27px 27px, #19a2d3 28px 28px, #19a2d3 29px 29px, #19a2d3 30px 30px, #19a2d3 31px 31px, #19a2d3 32px 32px, #19a2d3 33px 33px, #19a2d3 34px 34px, #19a2d3 35px 35px, #19a2d3 36px 36px, #19a2d3 37px 37px, #19a2d3 38px 38px, #19a2d3 39px 39px, #19a2d3 40px 40px, #19a2d3 41px 41px, #19a2d3 42px 42px, #19a2d3 43px 43px, #19a2d3 44px 44px, #19a2d3 45px 45px, #19a2d3 46px 46px, #19a2d3 47px 47px, #19a2d3 48px 48px, #19a2d3 49px 49px, #19a2d3 50px 50px, #19a2d3 51px 51px, #19a2d3 52px 52px, #19a2d3 53px 53px, #19a2d3 54px 54px, #19a2d3 55px 55px, #19a2d3 56px 56px, #19a2d3 57px 57px, #19a2d3 58px 58px, #19a2d3 59px 59px, #19a2d3 60px 60px, #19a2d3 61px 61px, #19a2d3 62px 62px, #19a2d3 63px 63px, #19a2d3 64px 64px, #19a2d3 65px 65px, #19a2d3 66px 66px, #19a2d3 67px 67px, #19a2d3 68px 68px, #19a2d3 69px 69px, #19a2d3 70px 70px, #19a2d3 71px 71px, #19a2d3 72px 72px, #19a2d3 73px 73px, #19a2d3 74px 74px, #19a2d3 75px 75px
}

.shadow-icon-box {
    position: relative;
    text-align: center;
    overflow: hidden;
    margin: 0 auto;
    width: 75px;
    height: 75px;
    font-size: 25px;
    line-height: 75px;
    background-color: #4FC1EA;
    border-radius: 10px;
    -ms-box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.shadow-icon-box.rounded {
    border-radius: 100px
}

.shadow-icon-box.is-secondary {
    background-color: #7F00FF;
    -ms-box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.shadow-icon-box.is-secondary span {
    text-shadow: #5900b3 1px 1px, #5900b3 2px 2px, #5900b3 3px 3px, #5900b3 4px 4px, #5900b3 5px 5px, #5900b3 6px 6px, #5900b3 7px 7px, #5900b3 8px 8px, #5900b3 9px 9px, #5900b3 10px 10px, #5900b3 11px 11px, #5900b3 12px 12px, #5900b3 13px 13px, #5900b3 14px 14px, #5900b3 15px 15px, #5900b3 16px 16px, #5900b3 17px 17px, #5900b3 18px 18px, #5900b3 19px 19px, #5900b3 20px 20px, #5900b3 21px 21px, #5900b3 22px 22px, #5900b3 23px 23px, #5900b3 24px 24px, #5900b3 25px 25px, #5900b3 26px 26px, #5900b3 27px 27px, #5900b3 28px 28px, #5900b3 29px 29px, #5900b3 30px 30px, #5900b3 31px 31px, #5900b3 32px 32px, #5900b3 33px 33px, #5900b3 34px 34px, #5900b3 35px 35px, #5900b3 36px 36px, #5900b3 37px 37px, #5900b3 38px 38px, #5900b3 39px 39px, #5900b3 40px 40px, #5900b3 41px 41px, #5900b3 42px 42px, #5900b3 43px 43px, #5900b3 44px 44px, #5900b3 45px 45px, #5900b3 46px 46px, #5900b3 47px 47px, #5900b3 48px 48px, #5900b3 49px 49px, #5900b3 50px 50px, #5900b3 51px 51px, #5900b3 52px 52px, #5900b3 53px 53px, #5900b3 54px 54px, #5900b3 55px 55px, #5900b3 56px 56px, #5900b3 57px 57px, #5900b3 58px 58px, #5900b3 59px 59px, #5900b3 60px 60px, #5900b3 61px 61px, #5900b3 62px 62px, #5900b3 63px 63px, #5900b3 64px 64px, #5900b3 65px 65px, #5900b3 66px 66px, #5900b3 67px 67px, #5900b3 68px 68px, #5900b3 69px 69px, #5900b3 70px 70px, #5900b3 71px 71px, #5900b3 72px 72px, #5900b3 73px 73px, #5900b3 74px 74px, #5900b3 75px 75px
}

.shadow-icon-box.is-accent {
    background-color: #7F00FF;
    -ms-box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.shadow-icon-box.is-accent span {
    text-shadow: #5900b3 1px 1px, #5900b3 2px 2px, #5900b3 3px 3px, #5900b3 4px 4px, #5900b3 5px 5px, #5900b3 6px 6px, #5900b3 7px 7px, #5900b3 8px 8px, #5900b3 9px 9px, #5900b3 10px 10px, #5900b3 11px 11px, #5900b3 12px 12px, #5900b3 13px 13px, #5900b3 14px 14px, #5900b3 15px 15px, #5900b3 16px 16px, #5900b3 17px 17px, #5900b3 18px 18px, #5900b3 19px 19px, #5900b3 20px 20px, #5900b3 21px 21px, #5900b3 22px 22px, #5900b3 23px 23px, #5900b3 24px 24px, #5900b3 25px 25px, #5900b3 26px 26px, #5900b3 27px 27px, #5900b3 28px 28px, #5900b3 29px 29px, #5900b3 30px 30px, #5900b3 31px 31px, #5900b3 32px 32px, #5900b3 33px 33px, #5900b3 34px 34px, #5900b3 35px 35px, #5900b3 36px 36px, #5900b3 37px 37px, #5900b3 38px 38px, #5900b3 39px 39px, #5900b3 40px 40px, #5900b3 41px 41px, #5900b3 42px 42px, #5900b3 43px 43px, #5900b3 44px 44px, #5900b3 45px 45px, #5900b3 46px 46px, #5900b3 47px 47px, #5900b3 48px 48px, #5900b3 49px 49px, #5900b3 50px 50px, #5900b3 51px 51px, #5900b3 52px 52px, #5900b3 53px 53px, #5900b3 54px 54px, #5900b3 55px 55px, #5900b3 56px 56px, #5900b3 57px 57px, #5900b3 58px 58px, #5900b3 59px 59px, #5900b3 60px 60px, #5900b3 61px 61px, #5900b3 62px 62px, #5900b3 63px 63px, #5900b3 64px 64px, #5900b3 65px 65px, #5900b3 66px 66px, #5900b3 67px 67px, #5900b3 68px 68px, #5900b3 69px 69px, #5900b3 70px 70px, #5900b3 71px 71px, #5900b3 72px 72px, #5900b3 73px 73px, #5900b3 74px 74px, #5900b3 75px 75px
}

.shadow-icon-box.is-info {
    background-color: #039BE5;
    -ms-box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(3, 155, 229, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(3, 155, 229, 0.2) !important
}

.shadow-icon-box.is-info span {
    text-shadow: #026899 1px 1px, #026899 2px 2px, #026899 3px 3px, #026899 4px 4px, #026899 5px 5px, #026899 6px 6px, #026899 7px 7px, #026899 8px 8px, #026899 9px 9px, #026899 10px 10px, #026899 11px 11px, #026899 12px 12px, #026899 13px 13px, #026899 14px 14px, #026899 15px 15px, #026899 16px 16px, #026899 17px 17px, #026899 18px 18px, #026899 19px 19px, #026899 20px 20px, #026899 21px 21px, #026899 22px 22px, #026899 23px 23px, #026899 24px 24px, #026899 25px 25px, #026899 26px 26px, #026899 27px 27px, #026899 28px 28px, #026899 29px 29px, #026899 30px 30px, #026899 31px 31px, #026899 32px 32px, #026899 33px 33px, #026899 34px 34px, #026899 35px 35px, #026899 36px 36px, #026899 37px 37px, #026899 38px 38px, #026899 39px 39px, #026899 40px 40px, #026899 41px 41px, #026899 42px 42px, #026899 43px 43px, #026899 44px 44px, #026899 45px 45px, #026899 46px 46px, #026899 47px 47px, #026899 48px 48px, #026899 49px 49px, #026899 50px 50px, #026899 51px 51px, #026899 52px 52px, #026899 53px 53px, #026899 54px 54px, #026899 55px 55px, #026899 56px 56px, #026899 57px 57px, #026899 58px 58px, #026899 59px 59px, #026899 60px 60px, #026899 61px 61px, #026899 62px 62px, #026899 63px 63px, #026899 64px 64px, #026899 65px 65px, #026899 66px 66px, #026899 67px 67px, #026899 68px 68px, #026899 69px 69px, #026899 70px 70px, #026899 71px 71px, #026899 72px 72px, #026899 73px 73px, #026899 74px 74px, #026899 75px 75px
}

.shadow-icon-box.is-success {
    background-color: #00b289;
    -ms-box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(0, 178, 137, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 178, 137, 0.2) !important
}

.shadow-icon-box.is-success span {
    text-shadow: #00664e 1px 1px, #00664e 2px 2px, #00664e 3px 3px, #00664e 4px 4px, #00664e 5px 5px, #00664e 6px 6px, #00664e 7px 7px, #00664e 8px 8px, #00664e 9px 9px, #00664e 10px 10px, #00664e 11px 11px, #00664e 12px 12px, #00664e 13px 13px, #00664e 14px 14px, #00664e 15px 15px, #00664e 16px 16px, #00664e 17px 17px, #00664e 18px 18px, #00664e 19px 19px, #00664e 20px 20px, #00664e 21px 21px, #00664e 22px 22px, #00664e 23px 23px, #00664e 24px 24px, #00664e 25px 25px, #00664e 26px 26px, #00664e 27px 27px, #00664e 28px 28px, #00664e 29px 29px, #00664e 30px 30px, #00664e 31px 31px, #00664e 32px 32px, #00664e 33px 33px, #00664e 34px 34px, #00664e 35px 35px, #00664e 36px 36px, #00664e 37px 37px, #00664e 38px 38px, #00664e 39px 39px, #00664e 40px 40px, #00664e 41px 41px, #00664e 42px 42px, #00664e 43px 43px, #00664e 44px 44px, #00664e 45px 45px, #00664e 46px 46px, #00664e 47px 47px, #00664e 48px 48px, #00664e 49px 49px, #00664e 50px 50px, #00664e 51px 51px, #00664e 52px 52px, #00664e 53px 53px, #00664e 54px 54px, #00664e 55px 55px, #00664e 56px 56px, #00664e 57px 57px, #00664e 58px 58px, #00664e 59px 59px, #00664e 60px 60px, #00664e 61px 61px, #00664e 62px 62px, #00664e 63px 63px, #00664e 64px 64px, #00664e 65px 65px, #00664e 66px 66px, #00664e 67px 67px, #00664e 68px 68px, #00664e 69px 69px, #00664e 70px 70px, #00664e 71px 71px, #00664e 72px 72px, #00664e 73px 73px, #00664e 74px 74px, #00664e 75px 75px
}

.shadow-icon-box.is-warning {
    background-color: #eda514;
    -ms-box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(237, 165, 20, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(237, 165, 20, 0.2) !important
}

.shadow-icon-box.is-warning span {
    text-shadow: #a8740d 1px 1px, #a8740d 2px 2px, #a8740d 3px 3px, #a8740d 4px 4px, #a8740d 5px 5px, #a8740d 6px 6px, #a8740d 7px 7px, #a8740d 8px 8px, #a8740d 9px 9px, #a8740d 10px 10px, #a8740d 11px 11px, #a8740d 12px 12px, #a8740d 13px 13px, #a8740d 14px 14px, #a8740d 15px 15px, #a8740d 16px 16px, #a8740d 17px 17px, #a8740d 18px 18px, #a8740d 19px 19px, #a8740d 20px 20px, #a8740d 21px 21px, #a8740d 22px 22px, #a8740d 23px 23px, #a8740d 24px 24px, #a8740d 25px 25px, #a8740d 26px 26px, #a8740d 27px 27px, #a8740d 28px 28px, #a8740d 29px 29px, #a8740d 30px 30px, #a8740d 31px 31px, #a8740d 32px 32px, #a8740d 33px 33px, #a8740d 34px 34px, #a8740d 35px 35px, #a8740d 36px 36px, #a8740d 37px 37px, #a8740d 38px 38px, #a8740d 39px 39px, #a8740d 40px 40px, #a8740d 41px 41px, #a8740d 42px 42px, #a8740d 43px 43px, #a8740d 44px 44px, #a8740d 45px 45px, #a8740d 46px 46px, #a8740d 47px 47px, #a8740d 48px 48px, #a8740d 49px 49px, #a8740d 50px 50px, #a8740d 51px 51px, #a8740d 52px 52px, #a8740d 53px 53px, #a8740d 54px 54px, #a8740d 55px 55px, #a8740d 56px 56px, #a8740d 57px 57px, #a8740d 58px 58px, #a8740d 59px 59px, #a8740d 60px 60px, #a8740d 61px 61px, #a8740d 62px 62px, #a8740d 63px 63px, #a8740d 64px 64px, #a8740d 65px 65px, #a8740d 66px 66px, #a8740d 67px 67px, #a8740d 68px 68px, #a8740d 69px 69px, #a8740d 70px 70px, #a8740d 71px 71px, #a8740d 72px 72px, #a8740d 73px 73px, #a8740d 74px 74px, #a8740d 75px 75px
}

.shadow-icon-box.is-danger {
    background-color: #FF7273;
    -ms-box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important;
    box-shadow: 0 14px 26px -12px rgba(255, 114, 115, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 114, 115, 0.2) !important
}

.shadow-icon-box.is-danger span {
    text-shadow: #ff2627 1px 1px, #ff2627 2px 2px, #ff2627 3px 3px, #ff2627 4px 4px, #ff2627 5px 5px, #ff2627 6px 6px, #ff2627 7px 7px, #ff2627 8px 8px, #ff2627 9px 9px, #ff2627 10px 10px, #ff2627 11px 11px, #ff2627 12px 12px, #ff2627 13px 13px, #ff2627 14px 14px, #ff2627 15px 15px, #ff2627 16px 16px, #ff2627 17px 17px, #ff2627 18px 18px, #ff2627 19px 19px, #ff2627 20px 20px, #ff2627 21px 21px, #ff2627 22px 22px, #ff2627 23px 23px, #ff2627 24px 24px, #ff2627 25px 25px, #ff2627 26px 26px, #ff2627 27px 27px, #ff2627 28px 28px, #ff2627 29px 29px, #ff2627 30px 30px, #ff2627 31px 31px, #ff2627 32px 32px, #ff2627 33px 33px, #ff2627 34px 34px, #ff2627 35px 35px, #ff2627 36px 36px, #ff2627 37px 37px, #ff2627 38px 38px, #ff2627 39px 39px, #ff2627 40px 40px, #ff2627 41px 41px, #ff2627 42px 42px, #ff2627 43px 43px, #ff2627 44px 44px, #ff2627 45px 45px, #ff2627 46px 46px, #ff2627 47px 47px, #ff2627 48px 48px, #ff2627 49px 49px, #ff2627 50px 50px, #ff2627 51px 51px, #ff2627 52px 52px, #ff2627 53px 53px, #ff2627 54px 54px, #ff2627 55px 55px, #ff2627 56px 56px, #ff2627 57px 57px, #ff2627 58px 58px, #ff2627 59px 59px, #ff2627 60px 60px, #ff2627 61px 61px, #ff2627 62px 62px, #ff2627 63px 63px, #ff2627 64px 64px, #ff2627 65px 65px, #ff2627 66px 66px, #ff2627 67px 67px, #ff2627 68px 68px, #ff2627 69px 69px, #ff2627 70px 70px, #ff2627 71px 71px, #ff2627 72px 72px, #ff2627 73px 73px, #ff2627 74px 74px, #ff2627 75px 75px
}

.shadow-title {
    padding-top: 10px;
    color: #444F60;
    font-weight: 500
}

.shadow-text {
    color: #A9ABAC;
    font-size: 13px
}

.simple-counter {
    position: relative
}

.simple-counter .counter-number {
    font-size: 3rem;
    color: #444F60;
    z-index: 99
}

.simple-counter .counter-number.is-bold {
    font-weight: 700 !important
}

.simple-counter .counter-text {
    text-transform: uppercase;
    font-family: 'Nexa Light', sans-serif;
    font-size: 1rem;
    font-weight: 900;
    color: #4FC1EA !important
}

.simple-counter .background-icon {
    position: absolute;
    font-size: 5rem;
    top: -10px !important;
    left: 0;
    right: 0;
    color: #999;
    opacity: 0.1;
    z-index: 0
}

.card-counter .flex-card {
    padding: 20px;
    overflow: visible
}

.card-counter .flex-card:hover .round-icon i {
    -webkit-transform: rotate(360deg) scale(1.05);
    transform: rotate(360deg) scale(1.05);
    background: #7F00FF;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.card-counter .flex-card:hover .counter-text {
    color: #7F00FF
}

.card-counter .round-icon i {
    font-size: 2rem;
    padding: 22px;
    color: #fff;
    background: #4FC1EA;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
    border-radius: 100px;
    margin-top: -40px;
    transition: all 0.4s
}

.card-counter .counter-number {
    font-weight: bolder;
    font-size: 2.6rem;
    color: #444F60
}

.card-counter .counter-text {
    color: #4FC1EA;
    font-weight: 600;
    transition: all 0.4s;
    font-size: 1.1rem
}

.icon-counter .counter-icon i {
    font-size: 3.4rem;
    color: #4FC1EA
}

.icon-counter .counter-number {
    font-weight: bolder;
    font-size: 3rem;
    color: #444F60
}

.icon-counter .counter-text {
    color: #4FC1EA;
    font-size: 1.1rem;
    font-weight: 600;
    transition: all 0.4s
}

.parallax-counter .counter-icon i {
    font-size: 3.4rem;
    color: #fff
}

.parallax-counter .counter-number {
    font-weight: bolder;
    font-size: 3rem;
    color: #fff
}

.parallax-counter .counter-text {
    color: #fff;
    font-family: 'Nexa Light', sans-serif;
    font-size: 1.1rem;
    font-weight: 500;
    padding: 0 10px;
    transition: all 0.4s
}

.team-classic .team-member {
    position: relative
}

.team-classic .team-member img {
    height: 100%;
    width: 100%;
    display: block
}

.team-classic .team-member .item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: transparent;
    transition: all 0.5s;
    overflow: hidden
}

.team-classic .team-member .item-overlay .overlay-quote {
    opacity: 0;
    opacity: 0;
    color: #fff;
    position: absolute;
    top: 55%;
    left: 0;
    padding: 5%;
    overflow: hidden;
    width: 100%;
    z-index: 2;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    transition: all .3s
}

.team-classic .team-member .item-overlay .overlay-quote .quote-text i {
    font-size: 18px
}

.team-classic .team-member .item-overlay .overlay-quote .social-links {
    padding: 20px 0;
    transition: all .3s
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span a {
    margin: 0 10px 0 10px;
    color: #fff
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span a:hover {
    opacity: 1
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span a i {
    font-size: 1.4em;
    padding: 15px;
    border-radius: 100px;
    border: 2px dashed #fff;
    transition: all 0.1
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span:first-child a i:hover {
    background: #1dcaff;
    border: 2px solid #1dcaff
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span:nth-child(2) a i:hover {
    background: #007bb6;
    border: 2px solid #007bb6
}

.team-classic .team-member .item-overlay .overlay-quote .social-links span:last-child a i:hover {
    background: #ea4c89;
    border: 2px solid #ea4c89
}

.team-classic .team-member:hover .item-overlay {
    background: rgba(0, 0, 0, 0.7)
}

.team-classic .team-member:hover .overlay-quote {
    opacity: 1;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}

.team-classic .member-name {
    font-family: 'Nexa Light', sans-serif;
    text-transform: uppercase;
    font-size: 1.3rem
}

.team-classic .member-name .last-name {
    font-weight: bolder;
    font-family: 'Nexa Bold', sans-serif
}

.team-classic .member-name .position {
    font-size: 0.9rem;
    color: #4FC1EA;
    font-family: 'Nexa Light', sans-serif
}

.team-classic.circled .social-links span:first-child a i:hover {
    background: none !important;
    border: 2px solid #1dcaff;
    color: #1dcaff
}

.team-classic.circled .social-links span:nth-child(2) a i:hover {
    background: none !important;
    border: 2px solid #007bb6;
    color: #007bb6
}

.team-classic.circled .social-links span:last-child a i:hover {
    background: none !important;
    border: 2px solid #ea4c89;
    color: #ea4c89
}

.team-classic.squared .social-links span a i {
    border-radius: 3px !important
}

.team-classic.squared .social-links span:first-child a i:hover {
    background: none !important;
    border: 2px solid #1dcaff;
    color: #1dcaff
}

.team-classic.squared .social-links span:nth-child(2) a i:hover {
    background: none !important;
    border: 2px solid #007bb6;
    color: #007bb6
}

.team-classic.squared .social-links span:last-child a i:hover {
    background: none !important;
    border: 2px solid #ea4c89;
    color: #ea4c89
}

.modern-team {
    position: relative;
    z-index: 1;
    overflow: hidden;
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: start;
    align-items: flex-start
}

.modern-team .modern-team-item .item-wrapper {
    position: relative
}

.modern-team .modern-team-item .item-img {
    position: relative;
    overflow: hidden
}

.modern-team .modern-team-item .item-img:before {
    content: "";
    background-color: rgba(72, 27, 174, 0.7);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2
}

.modern-team .modern-team-item .item-img .member-avatar {
    display: block;
    max-width: 100%;
    position: relative;
    z-index: 1
}

.modern-team .modern-team-item .overlay-wrapper {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    opacity: 0;
    will-change: opacity;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3
}

.modern-team .modern-team-item .overlay-wrapper .social {
    box-sizing: border-box;
    width: 42px;
    height: 42px;
    padding: 10px;
    background-color: #fff;
    border-radius: 100%;
    margin: 5px;
    position: relative;
    display: inline-block;
    vertical-align: middle
}

.modern-team .modern-team-item .overlay-wrapper .social i {
    position: relative;
    font-size: 1.6rem
}

.modern-team .modern-team-item .member-info {
    padding: 10px 20px
}

.modern-team .modern-team-item .member-info .member-name {
    font-family: 'Nexa Light', sans-serif;
    font-size: 1.2em;
    margin-top: 0;
    margin-bottom: 0;
    text-transform: uppercase
}

.modern-team .modern-team-item .member-info .member-name strong {
    font-family: 'Nexa Bold', sans-serif
}

.modern-team .modern-team-item .member-info .member-position {
    display: block;
    margin: .5em 0;
    font-family: 'Nexa Light', sans-serif;
    font-size: .8em;
    text-transform: uppercase;
    color: #4FC1EA
}

.modern-team .modern-team-item:hover .overlay-wrapper {
    opacity: 1;
    height: 100%;
    transition: opacity 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9) 0.2s
}

.modern-team .modern-team-item.circle-mask .item-img:before {
    width: 0;
    height: 0;
    padding: 25%;
    border-radius: 50%;
    transition: opacity .3s ease-out, -webkit-transform .3s ease;
    transition: transform .3s ease, opacity .3s ease-out;
    transition: transform .3s ease, opacity .3s ease-out, -webkit-transform .3s ease;
    will-change: opacity, transform;
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0)
}

.modern-team .modern-team-item.circle-mask:hover .item-img:before {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(4);
    transform: translate(-50%, -50%) scale(4);
    transition-duration: .6s
}

.modern-team .modern-team-item.curtain-mask .item-img:before {
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-clip-path: polygon(50% 10%, 15% 90%, 85% 90%);
    clip-path: polygon(50% 10%, 15% 90%, 85% 90%);
    transition: opacity, -webkit-transform;
    transition: transform, opacity;
    transition: transform, opacity, -webkit-transform;
    transition-duration: .2s, .4s;
    transition-delay: .4s, 0s;
    transition-timing-function: ease-out;
    will-change: transform, opacity;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1)
}

.modern-team .modern-team-item.curtain-mask:hover .item-img:before {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(5);
    transform: translate(-50%, -50%) scale(5);
    transition-delay: .1s, 0s;
    transition-duration: .4s
}

.modern-team .modern-team-item.zoom-effect .member-avatar {
    transition: -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9), -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    will-change: transform;
    -webkit-transform: scale(1);
    transform: scale(1)
}

.modern-team .modern-team-item.zoom-effect:hover .member-avatar {
    -webkit-transform: scale(1.2);
    transform: scale(1.2)
}

.modern-team .modern-team-item.rotate-zoom-effect .member-avatar {
    transition: -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9), -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    will-change: transform;
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0)
}

.modern-team .modern-team-item.rotate-zoom-effect:hover .member-avatar {
    -webkit-transform: scale(1.2) rotate(5deg);
    transform: scale(1.2) rotate(5deg)
}

.modern-team .modern-team-item.zoom-slide-effect .member-avatar {
    transition: -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    transition: transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9), -webkit-transform 0.4s cubic-bezier(0.71, 0.05, 0.29, 0.9);
    will-change: transform;
    -webkit-transform: scale(1) translate(0, 0);
    transform: scale(1) translate(0, 0)
}

.modern-team .modern-team-item.zoom-slide-effect:hover .member-avatar {
    -webkit-transform: scale(1.2) translate(4%, 4%);
    transform: scale(1.2) translate(4%, 4%)
}

.card-team .card-team-item {
    text-align: center;
    height: 270px
}

.card-team .card-team-item .flex-card {
    height: 270px;
    margin-bottom: 0;
    border-radius: 0
}

.card-team .card-team-item .flex-card:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    z-index: 1000
}

.card-team .card-team-item .team-avatar {
    width: 100%
}

.card-team .card-team-item .team-avatar img {
    width: 70px;
    height: 70px;
    border-radius: 100px
}

.card-team .card-team-item .member-id .name {
    font-family: 'Nexa Bold', sans-serif;
    margin-top: 15px;
    font-size: 1.4rem;
    font-weight: 600;
    color: #444F60
}

.card-team .card-team-item .member-id .position {
    font-family: 'Nexa Light', sans-serif;
    text-transform: uppercase;
    margin-top: 5px;
    font-size: .8rem;
    font-weight: 400;
    color: #4FC1EA
}

.card-team .card-team-item .card-social-links {
    padding-top: 35px;
    margin-bottom: 20px
}

.card-team .card-team-item .card-social-links a {
    color: #999;
    margin: 0 10px 0 10px
}

.card-team .card-team-item .card-social-links a:nth-child(2) i {
    transition-delay: 0.05s
}

.card-team .card-team-item .card-social-links a:last-child i {
    transition-delay: 0.10s
}

.card-team .card-team-item .card-social-links a:hover {
    color: #4FC1EA
}

.card-team .card-team-item .card-social-links a i {
    font-size: 1.3rem;
    -webkit-transform: translateY(300px);
    transform: translateY(300px);
    transition: all 0.35s
}

.card-team .card-team-item:hover .card-social-links a i {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.flip-boxes .flip-box {
    -webkit-perspective: 500px;
    perspective: 500px;
    min-height: 300px;
    cursor: pointer
}

.flip-boxes .flip-box-wrapper {
    position: relative;
    transition: all .5s ease-in-out;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    border: 1px solid #ededed;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flip-boxes .flip-box-wrapper div {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: #fff
}

.flip-boxes .flip-box-wrapper .front {
    z-index: 2;
    background-color: #fff;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flip-boxes .flip-box-wrapper .front img {
    height: 100%;
    width: 100%;
    display: block
}

.flip-boxes .flip-box-wrapper .back {
    z-index: 1;
    background: #fff;
    opacity: 1;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2)
}

.flip-boxes .flip-box-wrapper .back .flip-name {
    background: #fff;
    position: absolute;
    top: -22rem !important;
    left: 0;
    min-height: 25px;
    font-size: 1.4rem;
    text-transform: uppercase
}

.flip-boxes .flip-box-wrapper .back .flip-name span {
    font-size: 0.9rem;
    text-transform: uppercase;
    color: #4FC1EA
}

.flip-boxes .flip-box-wrapper .back .flip-social {
    position: absolute;
    top: -16rem
}

.flip-boxes .flip-box-wrapper .back .flip-social a {
    color: #999;
    font-size: 1.4rem;
    margin: 0 10px 0 10px
}

.flip-boxes .flip-box-wrapper .back .flip-social a:hover {
    color: #4FC1EA
}

.flip-boxes .flip-box-wrapper:hover {
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg)
}

.grid-clients .client {
    max-height: 70px
}

.grid-clients.three-grid .column:nth-child(2),
.grid-clients.three-grid .column:nth-child(3) {
    border-right: 1px solid #ededed
}

.grid-clients.three-grid .is-separator {
    border-top: 1px solid #ededed
}

.grid-clients.four-grid .column:nth-child(2),
.grid-clients.four-grid .column:nth-child(3) {
    border-right: 1px solid #ededed
}

.grid-clients.four-grid .column:nth-child(5) {
    border-left: 1px solid #ededed
}

.grid-clients.four-grid .is-separator {
    border-top: 1px solid #ededed
}

.grid-clients.five-grid .column:nth-child(2),
.grid-clients.five-grid .column:nth-child(3),
.grid-clients.five-grid .column:nth-child(4) {
    border-right: 1px solid #ededed
}

.grid-clients.five-grid .column:nth-child(5),
.grid-clients.five-grid .column:nth-child(6) {
    border-left: 1px solid #ededed
}

.grid-clients.five-grid .is-separator {
    border-top: 1px solid #ededed
}

.grid-clients a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.image-carousel {
    text-align: center;
    max-width: 950px;
    margin: 0 auto
}

.image-carousel:hover .slick-custom {
    opacity: 1
}

.image-carousel .carousel-item {
    margin: 0 20px
}

.image-carousel .image-wrapper {
    position: relative
}

.image-carousel .image-wrapper .stack-logo {
    max-height: 130px
}

.image-carousel .slick-custom {
    opacity: 0
}

.image-carousel .slick-custom.is-prev {
    left: -4%
}

.image-carousel .slick-custom.is-next {
    right: -4%
}

.image-carousel .slick-dots {
    bottom: -60px !important
}

.image-carousel .slick-prev:before,
.image-carousel .slick-next:before {
    color: #999
}

.multiple-image-carousel {
    text-align: center;
    max-width: 950px;
    margin: 0 auto
}

.multiple-image-carousel:hover .slick-custom {
    opacity: 1
}

.multiple-image-carousel .carousel-item {
    margin: 0 20px
}

.multiple-image-carousel .image-wrapper {
    position: relative
}

.multiple-image-carousel .image-wrapper .stack-logo {
    max-height: 130px;
    margin: 0 auto
}

.multiple-image-carousel .slick-custom {
    opacity: 0;
    top: 35px
}

.multiple-image-carousel .slick-dots {
    bottom: -60px !important
}

.multiple-image-carousel .slick-prev:before,
.multiple-image-carousel .slick-next:before {
    color: #999
}

.single-image-carousel {
    text-align: center;
    max-width: 650px;
    margin: 0 auto
}

.single-image-carousel:hover .slick-custom {
    opacity: 1
}

.single-image-carousel .carousel-item {
    margin: 0 20px
}

.single-image-carousel .image-wrapper {
    position: relative
}

.single-image-carousel .image-wrapper:hover .caption {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.single-image-carousel .image-wrapper img {
    width: 100%;
    height: 100%;
    min-height: 400px
}

.single-image-carousel .image-wrapper .caption {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
    z-index: 99;
    padding: 20px;
    background: rgba(0, 0, 0, 0.8);
    -webkit-transform: translateY(120%);
    transform: translateY(120%);
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s
}

.single-image-carousel .image-wrapper .caption span {
    color: white;
    font-size: 1.1rem
}

.single-image-carousel .slick-custom {
    opacity: 0
}

.single-image-carousel .slick-dots {
    bottom: -60px !important
}

.single-image-carousel .slick-prev:before,
.single-image-carousel .slick-next:before {
    color: #999
}

.slick-custom {
    position: absolute;
    top: 41%;
    border: 1px solid #ededed;
    width: 50px;
    height: 50px;
    background: #fff;
    border-radius: 100px;
    cursor: pointer;
    color: #444F60;
    transition: all 0.3s;
    z-index: 999
}

.slick-custom i {
    position: relative;
    top: 14px
}

.slick-custom:hover {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
    background: #4FC1EA;
    border: 1px solid #4FC1EA;
    color: #fff;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.slick-custom.is-prev {
    left: -6px
}

.slick-custom.is-prev i {
    right: 2px
}

.slick-custom.is-next {
    right: -6px
}

.slick-custom.is-next i {
    left: 2px
}

/*! _tabs.scss | Bulkit | CSS Ninja */
.tabs-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%
}

.tabs-nav .tabs-container {
    overflow: hidden;
    width: 100%
}

.tabs-nav .tabs-container .tab-content {
    padding: 28px 33px;
    position: relative;
    z-index: 10;
    display: inline-block;
    width: 100%
}

.tabs-nav .tabs-container .tab-content p:last-child {
    margin-bottom: 0
}

.tabs-nav .tabs-container.type-2 {
    border-radius: 3px
}

.tabs-nav .tabs-container.type-1 .tab-content {
    border: none;
    border-top: 1px solid #e0e0e0;
    padding: 30px 0 0 0
}

.tabs-nav li {
    float: left;
    line-height: 45px;
    padding: 0;
    margin-right: 4px;
    position: relative;
    z-index: 12
}

.tabs-nav li.active .tab-reviews {
    color: #fff
}

.tabs-nav li a,
.tabs-nav tab-reviews {
    transition: all 0.25s ease-in-out
}

.tabs-nav li a {
    border-bottom: 2px solid transparent;
    color: #333;
    display: inline-block;
    outline: none;
    padding: 7px 15px;
    text-decoration: none;
    font-size: 15px;
    z-index: 11;
    position: relative;
    margin-bottom: -1px
}

.tabs-nav li a:hover {
    border-color: #66676b
}

.tabs-nav li a:hover,
.tabs-nav li.active a {
    border-color: #4FC1EA;
    color: #4FC1EA !important;
    z-index: 11
}

.tabs-nav li a i {
    padding-right: 5px;
    font-size: 16px;
    top: 1px;
    position: relative
}

.navigation-tabs {
    overflow: hidden
}

.navigation-tabs .navtab-content {
    display: none;
    padding: 15px;
    min-height: 190px
}

.navigation-tabs .navtab-content.navtab-modal {
    max-height: 350px;
    overflow: auto
}

.navigation-tabs .navtab-content.is-active {
    display: block
}

.navigation-tabs.animated-tabs .navtab-content {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.navigation-tabs.translated-tabs .navtab-content {
    -webkit-animation-name: translateLeft;
    animation-name: translateLeft;
    -webkit-animation-duration: 0.5s;
    animation-duration: 0.5s
}

.navigation-tabs.simple-tabs .tabs ul li a {
    color: #A9ABAC
}

.navigation-tabs.simple-tabs .tabs ul li:hover a {
    border-bottom-color: #4FC1EA
}

.navigation-tabs.simple-tabs .tabs ul li.is-active a {
    color: #444F60;
    border-bottom: 2px solid #4FC1EA
}

.navigation-tabs.simple-tabs .tabs ul li.is-active a .icon i {
    color: #4FC1EA
}

.navigation-tabs.boxed-tabs .tabs ul li a {
    color: #A9ABAC
}

.navigation-tabs.boxed-tabs .tabs ul li.is-active a {
    color: #4FC1EA
}

.navigation-tabs.outlined-pills.rounded-pills .tabs ul li.is-active a {
    border-radius: 100px
}

.navigation-tabs.outlined-pills .tabs ul {
    border-bottom: 1px transparent !important
}

.navigation-tabs.outlined-pills .tabs a {
    border: 1px transparent
}

.navigation-tabs.outlined-pills .tabs ul li a {
    color: #A9ABAC;
    margin-bottom: 5px
}

.navigation-tabs.outlined-pills .tabs ul li.is-active a {
    color: #4FC1EA;
    border: 1px solid #4FC1EA;
    border-bottom-color: #4FC1EA !important;
    border-radius: 3px
}

.navigation-tabs.full-pills.rounded .tabs ul li.is-active a {
    border-radius: 100px !important
}

.navigation-tabs.full-pills .tabs ul {
    border-bottom: 1px transparent !important;
    padding-bottom: 10px
}

.navigation-tabs.full-pills .tabs a {
    border: 1px transparent
}

.navigation-tabs.full-pills .tabs ul li a {
    color: #A9ABAC;
    margin-bottom: 5px
}

.navigation-tabs.full-pills.primary .tabs ul li.is-active a {
    color: #fff;
    border: 1px solid #4FC1EA;
    background-color: #4FC1EA;
    border-radius: 3px;
    box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important
}

.navigation-tabs.full-pills.secondary .tabs ul li.is-active a {
    color: #fff;
    border: 1px solid #7F00FF;
    background-color: #7F00FF;
    border-radius: 3px;
    box-shadow: 0 14px 26px -12px rgba(103, 58, 183, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(103, 58, 183, 0.2) !important
}

.navigation-tabs.full-pills.accent .tabs ul li.is-active a {
    color: #fff;
    border: 1px solid #7F00FF;
    background-color: #7F00FF;
    border-radius: 3px;
    box-shadow: 0 14px 26px -12px rgba(127, 0, 255, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(127, 0, 255, 0.2) !important
}

.navigation-tabs.square-pills.circle-pills .tabs ul li a {
    border-radius: 30px
}

.navigation-tabs.square-pills .tabs ul {
    padding: 20px
}

.navigation-tabs.square-pills .tabs ul li a {
    padding: 0 15.5px;
    text-align: center;
    height: 60px;
    width: 60px;
    border-radius: 3px;
    font-weight: 400;
    color: #9a9a9a;
    margin-right: 19px;
    background-color: rgba(222, 222, 222, 0.3);
    border-bottom: none !important;
    transition: all 0.5s
}

.navigation-tabs.square-pills .tabs ul li a :hover {
    border-bottom: none !important
}

.navigation-tabs.square-pills .tabs ul li a i {
    display: block;
    font-size: 18px
}

.navigation-tabs.square-pills .tabs ul li.is-active a {
    background-color: #4FC1EA;
    color: #fff;
    box-shadow: 0px 5px 35px 0px rgba(0, 0, 0, 0.18)
}

.tabs.partner-tabs ul {
    border-bottom: 1px transparent !important
}

.tab-reviews {
    color: #aaa
}

/*! _testimonials.scss | Bulkit | CSS Ninja */
.testimonials,
.demo {
    position: relative;
    width: 100%;
    display: block;
    box-sizing: border-box
}

.testimonials .testimonial-item,
.demo .testimonial-item {
    margin: 40px;
    outline: none !important
}

.testimonials .testimonial-item .testimonial-avatar,
.demo .testimonial-item .testimonial-avatar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.testimonials .testimonial-item .testimonial-avatar img,
.demo .testimonial-item .testimonial-avatar img {
    border-radius: 100px;
    width: 75px;
    height: 75px;
    position: relative;
    top: -40px
}

.testimonials .testimonial-item .testimonial-name,
.demo .testimonial-item .testimonial-name {
    text-align: center
}

.testimonials .testimonial-item .testimonial-name h3,
.demo .testimonial-item .testimonial-name h3 {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 18px;
    color: #7F00FF;
    position: relative;
    top: -20px
}

.testimonials .testimonial-item .testimonial-name span,
.demo .testimonial-item .testimonial-name span {
    font-family: 'Nexa Light', sans-serif;
    font-size: 14px;
    color: #A9ABAC;
    position: relative;
    top: -15px
}

.testimonials .testimonial-item .testimonial-content p,
.demo .testimonial-item .testimonial-content p {
    padding: 20px 30px
}

.slick-dots li.slick-active button:before {
    opacity: .75;
    color: #7F00FF !important
}

.vertical-testimonials {
    margin-top: 90px
}

.vertical-testimonials .vtestimonial-item {
    margin: 5px 80px;
    border-radius: 12px
}

.vertical-testimonials .vtestimonial-item:last-child {
    margin-bottom: 100px
}

.vertical-testimonials .vtestimonial-item .vt-avatar {
    height: 55px;
    border-radius: 100px
}

.vertical-testimonials .vtestimonial-item .vt-content {
    margin: 0 10px
}

.vertical-testimonials .vtestimonial-item .vt-content .vt-name {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 500;
    color: #7F00FF;
    margin-bottom: .7em !important
}

.vertical-testimonials .vtestimonial-item .vt-content .vt-text {
    padding-right: 5px;
    font-size: 12px
}

.vertical-testimonials .vtestimonial-item .vt-content .star-rating {
    float: right;
    position: relative;
    top: 3px;
    right: 15px
}

.vertical-testimonials .slick-current.slick-active.slick-center {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.vertical-testimonials .slick-slide:not(.slick-current) {
    opacity: 0.1 !important
}

.flat-testimonials .flat-testimonial-item {
    margin: 0 20px 50px 20px
}

.flat-testimonials .flat-testimonial-item .image-container {
    position: relative;
    overflow: hidden
}

.flat-testimonials .flat-testimonial-item .image-container img {
    border-radius: 10px;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.18)
}

.flat-testimonials .flat-testimonial-item .image-container .skewed-overlay {
    position: absolute;
    top: 95%;
    left: 0;
    height: 40%;
    width: 200%;
    -webkit-transform: skewY(8deg);
    transform: skewY(8deg);
    padding: 20px;
    background: #fff
}

.flat-testimonials .flat-testimonial-item .testimonial-text .quoted-text {
    color: #878787
}

.flat-testimonials .flat-testimonial-item .testimonial-text .client-name {
    margin-top: 20px;
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 400;
    font-size: 1.2rem
}

.flat-testimonials .flat-testimonial-item .testimonial-text .client-position {
    font-family: 'Nexa Light', sans-serif;
    font-size: 0.9rem;
    color: #444F60
}

.flat-testimonials .flat-testimonial-item .testimonial-text .company {
    max-height: 60px;
    margin-right: 50px;
    float: right
}

.flat-testimonials .flat-testimonial-item .testimonial-text .fa-quote-left {
    margin: 20px 0 !important
}

.flat-testimonials .flat-testimonial-item.primary .skewed-overlay {
    background: #4FC1EA
}

.flat-testimonials .flat-testimonial-item.primary .client-name {
    color: #4FC1EA
}

.flat-testimonials .flat-testimonial-item.primary .fa-quote-left {
    color: #4FC1EA
}

.flat-testimonials .flat-testimonial-item.secondary .skewed-overlay {
    background: #7F00FF
}

.flat-testimonials .flat-testimonial-item.secondary .client-name {
    color: #7F00FF
}

.flat-testimonials .flat-testimonial-item.secondary .fa-quote-left {
    color: #7F00FF
}

.flat-testimonials .flat-testimonial-item.accent .skewed-overlay {
    background: #7F00FF
}

.flat-testimonials .flat-testimonial-item.accent .client-name {
    color: #7F00FF
}

.flat-testimonials .flat-testimonial-item.accent .fa-quote-left {
    color: #7F00FF
}

/*! _dialogs.scss | Bulkit | CSS Ninja */
.modal {
    transition: all 0.5s;
    -webkit-transform: scale(0);
    transform: scale(0)
}

.modal .modal-content {
    transition: all 0.4s;
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;
    z-index: 99 !important
}

.modal .modal-close {
    transition: all 0.4s;
    z-index: 100 !important
}

.modal .modal-close:hover {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.modal a {
    border-radius: 6px
}

.modal.is-active {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.modal.is-active .modal-background {
    background: linear-gradient(45deg, #6a85b6 0%, #bac8e0 100%);
    background-color: #4FC1EA;
    width: 1000px;
    height: 1000px;
    border-radius: 10000px;
    transition: all 0.5s;
    -webkit-transform: scale(0);
    transform: scale(0);
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 98 !important;
    overflow: hidden !important
}

.modal.is-active .modal-background.scaleInCircle {
    -webkit-transform: scale(7);
    transform: scale(7)
}

.modal.is-active .modal-content.scaleIn {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

.modal.is-active .modal-close {
    z-index: 100 !important
}

.modal.is-active.image-modal .modal-background {
    background: linear-gradient(45deg, #444F60, #444);
    background-color: #444F60
}

.modal.is-active.image-modal img {
    border-radius: 6px
}

.modal.is-active.image-modal .gallery-item figure {
    background: none
}

.modal.is-active .modal-card .modal-card-head,
.modal.is-active .modal-card .modal-card-foot {
    padding: 15px
}

.modal.is-active .modal-card .modal-card-head {
    background-color: #fff
}

.modal.is-active .modal-card .modal-card-head p {
    color: #444F60
}

.modal.is-active .modal-card .modal-card-head .delete {
    background: transparent !important;
    transition: all 0.3s
}

.modal.is-active .modal-card .modal-card-head .delete:before {
    background: #7F00FF
}

.modal.is-active .modal-card .modal-card-head .delete:after {
    background: #7F00FF
}

.modal.is-active .modal-card .modal-card-head .delete:hover {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.modal.is-active .modal-card .modal-card-body::-webkit-scrollbar {
    width: 10px
}

.modal.is-active .modal-card .modal-card-body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.modal.is-active .modal-card .modal-card-foot {
    background-color: #fff;
    -ms-flex-pack: end;
    justify-content: flex-end;
    border-top: none
}

.modal.is-active.modal-sm .modal-card-body {
    max-height: 400px
}

.modal.is-active.modal-hero .modal-background {
    background: linear-gradient(to right, #7F00FF, #7F00FF);
    background: linear-gradient(to top, #7F00FF, #7F00FF);
    background-color: #7F00FF
}

.modal.is-active.modal-success .modal-background {
    background: #00b289
}

.modal.is-active.modal-error .modal-background {
    background: #FF7273
}

.modal.is-active.modal-warning .modal-background {
    background: #eda514
}

.modal.is-active.modal-info .modal-background {
    background: #039BE5
}

.modal.is-active .modal-svg {
    max-width: 110px;
    margin: 0 auto !important
}

@media screen and (min-width: 769px) {

    .modal.modal-lg .modal-card,
    .modal.modal-lg .modal-content {
        width: 800px !important
    }

    .modal.modal-sm .modal-card,
    .modal.modal-sm .modal-content {
        width: 400px !important
    }
}

/*! _forms.scss | Bulkit | CSS Ninja */
.input,
.textarea,
select {
    box-shadow: none !important
}

.form-label {
    padding-bottom: 5px;
    color: #999
}

input.input {
    color: #878787;
    box-shadow: none;
    transition: all 0.8s;
    padding-bottom: 3px;
    border-color: #ccc;
    font-size: 0.9rem
}

input.input.is-small {
    padding-bottom: 2px;
    padding-left: 10px
}

input.input.is-medium {
    padding-bottom: 5px;
    font-size: 1rem;
    height: 2.5rem
}

input.input.is-large {
    padding-bottom: 7px;
    font-size: 1.25rem;
    height: 3rem
}

input.input.rounded {
    border-radius: 100px
}

input.input.is-primary-focus:focus {
    border-color: #4FC1EA
}

input.input.is-primary-focus:focus~span.icon i {
    color: #4FC1EA
}

input.input.is-secondary-focus:focus {
    border-color: #7F00FF
}

input.input.is-secondary-focus:focus~span.icon i {
    color: #7F00FF
}

input.input.is-accent-focus:focus {
    border-color: #7F00FF
}

input.input.is-accent-focus:focus~span.icon i {
    color: #7F00FF
}

input.input.is-grey-focus:focus {
    border-color: #A9ABAC
}

input.input.is-grey-focus:focus~span.icon i {
    color: #A9ABAC
}

input.input:focus,
input.input:active {
    border-color: #EFF4F7
}

.input.custom-input {
    height: 46px;
    line-height: 46px;
    padding-left: 50px !important
}

.input.custom-input:focus {
    border-color: #dbdbdb !important
}

textarea.textarea {
    color: #878787;
    box-shadow: none;
    transition: all 0.8s
}

textarea.textarea:focus {
    border: 1px solid #ededed
}

textarea.textarea.is-primary-focus:focus {
    border-color: #4FC1EA
}

textarea.textarea.is-primary-focus:focus~span.icon i {
    color: #4FC1EA
}

textarea.textarea.is-secondary-focus:focus {
    border-color: #7F00FF
}

textarea.textarea.is-secondary-focus:focus~span.icon i {
    color: #7F00FF
}

textarea.textarea.is-accent-focus:focus {
    border-color: #7F00FF
}

textarea.textarea.is-accent-focus:focus~span.icon i {
    color: #7F00FF
}

textarea.textarea.is-grey-focus:focus {
    border-color: #A9ABAC
}

textarea.textarea.is-grey-focus:focus~span.icon i {
    color: #A9ABAC
}

textarea.textarea.is-default-focus:focus {
    border-color: #ccc
}

textarea.textarea.is-default-focus:focus~span.icon i {
    color: #ccc
}

textarea.textarea.is-grow {
    min-height: 40px !important;
    height: 40px;
    resize: none;
    transition: all 0.5s;
    overflow: hidden
}

textarea.textarea.is-grow:focus {
    height: 130px !important;
    border-color: #999
}

textarea.textarea.is-button {
    min-height: 40px !important;
    height: 40px !important;
    resize: none;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none !important;
    transition: all 0.6s
}

textarea.textarea.is-button:hover {
    border-color: #ccc
}

textarea.textarea.is-button:focus {
    height: 130px !important;
    padding-bottom: 40px !important;
    border-color: #ccc
}

textarea.textarea.is-button+.textarea-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: relative;
    border: 1px solid #ccc;
    border-top: none !important;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px
}

textarea.textarea.is-button+.textarea-button button {
    margin: 10px 7px 7px 7px
}

.field .control.datepicker-control .icon,
.field .control.timepicker-control .icon {
    top: -2px
}

.field .control i {
    transition: all .4s
}

.field .control.required {
    position: relative
}

.field .control.required i {
    display: none;
    position: absolute;
    right: 10px;
    top: 8px
}

.field .control.required small.validation-info {
    display: none;
    font-size: 0.8rem
}

.field .control.required.has-success input {
    border: 1px solid #00b289
}

.field .control.required.has-success small.validation-info.success {
    color: #00b289;
    display: block
}

.field .control.required.has-success .success i {
    display: block;
    color: #00b289
}

.field .control.required.has-error input {
    border: 1px solid #FF7273
}

.field .control.required.has-error small.validation-info.error {
    color: #FF7273;
    display: block
}

.field .control.required.has-error .error i {
    display: block;
    color: #FF7273
}

.control-material {
    position: relative;
    margin-bottom: 3em
}

.control-material input,
.control-material textarea {
    border-radius: 0 !important
}

.control-material.is-primary input.material-input:focus~label,
.control-material.is-primary input:valid~label,
.control-material.is-primary textarea:focus~label {
    color: #4FC1EA
}

.control-material.is-primary .bar:before,
.control-material.is-primary .bar:after {
    background: #4FC1EA
}

.control-material.is-primary.has-icon input:focus~i {
    color: #4FC1EA !important
}

.control-material.is-secondary input.material-input:focus~label,
.control-material.is-secondary input:valid~label,
.control-material.is-secondary textarea:focus~label {
    color: #7F00FF
}

.control-material.is-secondary .bar:before,
.control-material.is-secondary .bar:after {
    background: #7F00FF
}

.control-material.is-secondary.has-icon input:focus~i {
    color: #7F00FF !important
}

.control-material.is-accent input.material-input:focus~label,
.control-material.is-accent input:valid~label,
.control-material.is-accent textarea:focus~label {
    color: #7F00FF
}

.control-material.is-accent .bar:before,
.control-material.is-accent .bar:after {
    background: #7F00FF
}

.control-material.is-accent.has-icon input:focus~i {
    color: #7F00FF !important
}

.control-material.is-light input.material-input:focus~label,
.control-material.is-light input:valid~label,
.control-material.is-light textarea:focus~label {
    color: #fff
}

.control-material.is-light .bar:before,
.control-material.is-light .bar:after {
    background: #fff
}

.control-material.is-light.has-icon input:focus~i {
    color: #fff !important
}

.control-material input.material-input,
.control-material textarea {
    width: 100% !important;
    font-size: 18px;
    padding: 0.625em 0.625em 0.625em 0.3125em;
    display: block;
    width: 18.75em;
    border: none;
    border-bottom: 1px solid #A9ABAC;
    background-color: transparent !important
}

.control-material input.material-input:focus,
.control-material textarea:focus {
    outline: none
}

.control-material label {
    font-family: 'Arial';
    color: #cecece;
    font-size: 15px;
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: 0.3125em;
    top: 0.625em;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all
}

.control-material input.material-input:focus~label,
.control-material input:valid~label,
.control-material textarea:focus~label {
    top: -20px;
    left: -2px;
    font-size: 12px
}

.control-material .bar {
    position: relative;
    display: block
}

.control-material .bar:before,
.control-material .bar:after {
    content: '';
    height: 2px;
    width: 0;
    bottom: 0px;
    position: absolute;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all
}

.control-material .bar:before {
    left: 50%
}

.control-material .bar:after {
    right: 50%
}

.control-material input.material-input:focus~.bar:before,
.control-material input.material-input:focus~.bar:after,
.control-material textarea:focus~.bar:before,
.control-material textarea:focus~.bar:after {
    width: 50%
}

.control-material.has-icon {
    position: relative
}

.control-material.has-icon input {
    padding-right: 25px
}

.control-material.has-icon i {
    position: absolute;
    right: 15px;
    top: 12px;
    color: #cecece
}

.control-material.required {
    position: relative
}

.control-material.required input {
    padding-right: 25px
}

.control-material.required i {
    position: absolute;
    right: 15px;
    top: 8px;
    color: #cecece;
    display: none
}

.control-material.required small.validation-info {
    display: none;
    font-size: 0.8rem
}

.control-material.required.has-success input {
    border-bottom-color: #00b289 !important
}

.control-material.required.has-success .bar:after,
.control-material.required.has-success .bar:before {
    background: #00b289 !important
}

.control-material.required.has-success .success i {
    color: #00b289 !important;
    display: block
}

.control-material.required.has-success label {
    color: #00b289 !important
}

.control-material.required.has-success small.validation-info.success {
    color: #00b289;
    display: block
}

.control-material.required.has-error input {
    border-bottom-color: #FF7273 !important
}

.control-material.required.has-error .bar:after,
.control-material.required.has-error .bar:before {
    background: #FF7273 !important
}

.control-material.required.has-error .error i {
    color: #FF7273 !important;
    display: block
}

.control-material.required.has-error label {
    color: #FF7273 !important
}

.control-material.required.has-error small.validation-info.error {
    color: #FF7273;
    display: block
}

.select:after {
    border: 1px solid #4FC1EA;
    border-right: 0;
    border-top: 0
}

.select:hover:after {
    border: 1px solid #21b1e5;
    border-right: 0;
    border-top: 0
}

.select select:active,
.select select:focus {
    border-color: #4FC1EA
}

.select:not(.is-multiple):not(.is-loading)::after {
    right: 1.525em;
    z-index: 4;
    font-size: .8rem;
    border: 1px solid #999;
    border-right: 0;
    border-top: 0
}

.control.has-icons-left .select i {
    z-index: 2 !important
}

.control.has-icons-left .select select {
    padding-left: 2.5rem
}

.control.has-icons-left .select.is-medium select {
    padding-left: 3rem
}

.control.has-icons-left .select.is-large+.icon {
    font-size: 1.6rem
}

.control.has-icons-left .select.is-large select {
    padding-left: 3.3rem
}

.autocpl {
    box-shadow: none !important
}

.autocpl .easy-autocomplete-container ul {
    padding: 10px !important
}

.autocpl .easy-autocomplete-container ul li {
    margin: 0 10px
}

.auto-cpl-control .icon {
    top: 3px !important
}

.template-wrapper {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center
}

.template-wrapper .autocpl-avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 100px !important
}

.template-wrapper .entry-text {
    margin-left: 15px
}

.template-wrapper .entry-text span {
    font-size: 0.8rem;
    color: #A9ABAC
}

.datepicker-panel>ul>li.picked,
.datepicker-panel>ul>li.picked:hover {
    background-color: #7F00FF !important
}

.file-input-wrapper .control {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

.file-input-wrapper .control .inputfile {
    width: 0.1px;
    height: 0.1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1
}

.file-input-wrapper .control .inputfile+label {
    max-width: 80%;
    font-size: 1.05rem;
    font-weight: 400;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: pointer;
    display: inline-block;
    overflow: hidden;
    border-radius: 5px;
    padding: 0.625rem 1.45rem 0.8rem 1.25rem;
    transition: all 0.4s
}

.file-input-wrapper .control .inputfile+label i {
    position: relative;
    top: 4px;
    margin-right: 10px
}

.file-input-wrapper .control .simple-file-input+label {
    color: #fff;
    background-color: #7F00FF
}

.file-input-wrapper .control .simple-file-input:focus+label,
.file-input-wrapper .control .simple-file-input.has-focus+label,
.file-input-wrapper .control .simple-file-input+label:hover {
    background-color: #8c1aff;
    outline: none;
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.field-input-wrapper {
    box-sizing: border-box
}

.field-input-wrapper .field-input {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    background: #fcfcfc;
    border: 1px solid #ededed;
    padding: 16px;
    width: 450px;
    position: relative;
    border-radius: 3px
}

.field-input-wrapper .field-input>[type='file'] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 10;
    cursor: pointer
}

.field-input-wrapper .field-input>.button {
    display: inline-block;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 2px;
    margin-right: 8px;
    line-height: 1
}

.field-input-wrapper .field-input>.label {
    color: #444F60;
    font-weight: 400;
    white-space: nowrap;
    opacity: .3
}

.field-input-wrapper .field-input.-chosen>.label {
    opacity: 1
}

.label--checkbox {
    position: relative;
    margin: .5rem;
    font-family: Arial, sans-serif;
    line-height: 135% !important;
    cursor: pointer;
    -webkit-transform: scale(0.7);
    transform: scale(0.7)
}

.label--checkbox span {
    position: relative;
    top: -7px;
    font-size: 14px;
    color: #444F60
}

.md-checkbox {
    position: relative;
    top: -0.375rem;
    margin: 0 1rem 0 0;
    cursor: pointer;
    -webkit-transform: scale(1.8);
    transform: scale(1.8)
}

.md-checkbox:before {
    transition: all 0.3s ease-in-out;
    content: "";
    position: absolute;
    left: 0;
    z-index: 1;
    width: 0.9rem;
    height: 0.9rem;
    border: 1.5px solid #ccc
}

.md-checkbox:checked:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    height: .5rem;
    border-color: #4FC1EA;
    border-top-style: none;
    border-right-style: none
}

.md-checkbox:after {
    content: "";
    position: absolute;
    top: -0.125rem;
    left: 0;
    width: 1rem;
    height: 1rem;
    background: #fff;
    cursor: pointer
}

@-webkit-keyframes slideUp {
    0% {
        -webkit-transform: translateY(6.25rem);
        transform: translateY(6.25rem)
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes slideUp {
    0% {
        -webkit-transform: translateY(6.25rem);
        transform: translateY(6.25rem)
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@media (min-width: 769px) {
    input.md-checkbox:focus {
        border-bottom-color: transparent !important;
        box-shadow: none !important;
        outline: none !important;
        outline-offset: 0 !important;
        background: #fff !important
    }
}

.checkbox-wrap,
.radio-wrap {
    position: relative;
    cursor: pointer;
    padding: 1em
}

.checkbox-wrap::-moz-selection,
.radio-wrap::-moz-selection {
    background: transparent
}

.checkbox-wrap::selection,
.radio-wrap::selection {
    background: transparent
}

.checkbox-wrap input.d-checkbox+span,
.radio-wrap input.d-checkbox+span,
.checkbox-wrap input.b-radio+span,
.radio-wrap input.b-radio+span {
    background: #fff;
    content: "";
    display: inline-block;
    margin: 0 .5em 0 0;
    padding: 0;
    border: 1px solid #999;
    vertical-align: middle;
    width: 2em;
    height: 2em
}

.checkbox-wrap input.d-checkbox+span::after,
.radio-wrap input.d-checkbox+span::after,
.checkbox-wrap input.b-radio+span::after,
.radio-wrap input.b-radio+span::after {
    content: "";
    display: block;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: -webkit-transform .2s;
    transition: transform .2s;
    transition: transform .2s, -webkit-transform .2s
}

.checkbox-wrap input.d-checkbox:checked+span::after,
.radio-wrap input.d-checkbox:checked+span::after,
.checkbox-wrap input.b-radio:checked+span::after,
.radio-wrap input.b-radio:checked+span::after {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.checkbox-wrap input.d-checkbox,
.radio-wrap input.d-checkbox,
.checkbox-wrap input.b-radio,
.radio-wrap input.b-radio {
    position: absolute;
    cursor: pointer;
    opacity: 0
}

.checkbox-wrap input+span {
    border-radius: 2px
}

.checkbox-wrap input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.9em;
    height: 1.9em
}

.checkbox-wrap.is-medium input+span {
    width: 1.4em;
    height: 1.4em
}

.checkbox-wrap.is-medium input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 1.3em;
    height: 1.3em
}

.checkbox-wrap.is-small input+span {
    width: 1em;
    height: 1em
}

.checkbox-wrap.is-small input+span::after {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2NHB4IiBoZWlnaHQ9IjY0cHgiIHZpZXdCb3g9IjAgMCA2NCA2NCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgNjQgNjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwb2x5Z29uIHBvaW50cz0iMTMuNzA3LDMyLjI5MyAxMi4yOTMsMzMuODU0IDI0LjI5Myw0NiAyNS43MDcsNDYgNDkuNzA3LDIxLjg1NCA0OC4yOTMsMjAuMzY2IDI1LDQzLjYyMyAiLz48L2c+PC9zdmc+) no-repeat center;
    background-size: contain;
    width: 0.9em;
    height: 0.9em
}

.radio-wrap input+span {
    border-radius: 1000px
}

.radio-wrap input+span::after {
    border-radius: 1000px;
    margin: .55em;
    width: .75em;
    height: .75em
}

.radio-wrap input:checked+span::after {
    background: #444F60
}

.radio-wrap.is-small span {
    -webkit-transform: scale(0.6) !important;
    transform: scale(0.6) !important
}

.radio-wrap.is-small span::after {
    margin: .54em !important
}

.radio-wrap.is-medium span {
    -webkit-transform: scale(0.8) !important;
    transform: scale(0.8) !important
}

.radio-wrap.is-medium span::after {
    margin: .58em !important
}

.radio-wrap.is-primary input:checked+span::after {
    background: #4FC1EA
}

.radio-wrap.is-secondary input:checked+span::after {
    background: #7F00FF
}

.radio-wrap.is-accent input:checked+span::after {
    background: #7F00FF
}

.tagsinput {
    border: 1px solid #CCC;
    background: #FFF;
    padding: 5px;
    width: 300px;
    height: 100px;
    overflow-y: auto
}

.tagsinput .tag {
    position: relative;
    border: 1px solid #039BE5;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center;
    float: left;
    padding: 4px 8px;
    text-decoration: none;
    background: #039BE5;
    color: #fff;
    margin-right: 5px;
    margin-bottom: 5px;
    font-size: 13px
}

.tagsinput .tag span {
    position: relative;
    top: -2px
}

.tagsinput .tag:after {
    font-family: 'Material Icons';
    content: '\E5CD';
    color: #fff;
    opacity: 1;
    position: absolute;
    top: 3px;
    right: 4px;
    z-index: 0
}

.tagsinput .tag a {
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    font-size: 11px;
    opacity: 0;
    position: relative;
    z-index: 2
}

.tagsinput input {
    width: 80px;
    margin: 0 5px 5px 0;
    font-family: helvetica;
    font-size: 13px;
    border: 1px solid transparent;
    padding: 5px;
    background: 0 0;
    color: #000;
    outline: 0
}

.tagsinput div {
    display: block;
    float: left
}

.tags_clear {
    clear: both;
    width: 100%;
    height: 0
}

.not_valid {
    background: #FBD8DB !important;
    color: #90111A !important
}

.wickedpicker__controls {
    padding: 0 !important
}

/*! _tables.scss | Bulkit | CSS Ninja */
.table.device-table th,
.table.device-table td {
    text-align: center !important;
    border: none
}

.table.device-table th i {
    font-size: 35px;
    color: #cecece
}

.table.device-table td {
    padding: .75em 1em
}

.table.device-table td:first-child {
    text-align: left !important
}

.table.device-table td.feature-name {
    line-height: 1.9;
    font-family: 'Nexa Light', sans-serif
}

.table.device-table td i.im-icon-Yes {
    font-size: 24px;
    color: #4FC1EA
}

.table.device-table td i.im-icon-Close {
    font-size: 24px;
    color: #cecece
}

.table.device-table th {
    border-bottom: 1px solid #dbdbdb
}

.table.compare-table th,
.table.compare-table td {
    text-align: center !important;
    border: none
}

.table.compare-table th i {
    font-size: 35px;
    color: #cecece
}

.table.compare-table td {
    padding: .75em 1em
}

.table.compare-table td:first-child {
    text-align: left !important
}

.table.compare-table td.feature-name {
    line-height: 1.9;
    font-family: 'Nexa Light', sans-serif
}

.table.compare-table td i.fa-check {
    font-size: 24px;
    color: #4FC1EA
}

.table.compare-table td i.fa-close {
    font-size: 24px;
    color: #cecece
}

.table.compare-table th {
    border-bottom: 1px solid #dbdbdb;
    font-family: 'Nexa Bold', sans-serif
}

.responsive-table {
    margin: auto;
    min-width: 300px;
    max-width: 100%;
    border-collapse: collapse;
    color: #333;
    border-radius: .2em;
    overflow: hidden;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.responsive-table.is-primary tr:first-child {
    background: #4FC1EA
}

.responsive-table.is-secondary tr:first-child {
    background: #7F00FF
}

.responsive-table.is-accent tr:first-child {
    background: #7F00FF
}

.responsive-table tr:first-child {
    border-top: none;
    background: #999;
    color: #fff !important
}

.responsive-table tr {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    background-color: #fff;
    border-color: #bfbfbf
}

.responsive-table:nth-child(odd):not(:first-child) {
    background-color: #fcfcfc
}

.responsive-table th {
    display: none;
    color: #fff
}

.responsive-table td {
    display: block
}

.responsive-table td:first-child {
    margin-top: .5em
}

.responsive-table td:last-child {
    margin-bottom: .5em
}

.responsive-table td:before {
    content: attr(data-th) ": ";
    font-weight: bold;
    width: 120px;
    display: inline-block;
    color: #000
}

.responsive-table th,
.responsive-table td {
    text-align: left;
    padding: .5em 1em
}

@media screen and (max-width: 601px) {
    .responsive-table tr:nth-child(2) {
        border-top: none
    }
}

@media screen and (min-width: 600px) {
    .responsive-table tr:hover:not(:first-child) {
        background-color: #f2f2f2
    }

    .responsive-table td:before {
        display: none
    }

    .responsive-table th,
    .responsive-table td {
        display: table-cell;
        padding: .25em .5em
    }

    .responsive-table th:first-child,
    .responsive-table td:first-child {
        padding-left: 0
    }

    .responsive-table th:last-child,
    .responsive-table td:last-child {
        padding-right: 0
    }

    .responsive-table th,
    .responsive-table td {
        padding: 1em !important
    }
}

/*! _lists.scss | Bulkit | CSS Ninja */
.content ul {
    list-style-type: disc
}

.content ol {
    list-style-type: decimal
}

ul,
ol {
    list-style-type: none
}

.icon-bullet-list {
    list-style: none;
    padding: 0
}

.icon-bullet-list li {
    padding-left: 1.3em;
    padding: 3px 0 3px 1.3em
}

.icon-bullet-list li:before {
    content: "\f10c";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: -1.3em;
    margin-right: 0.7rem;
    width: 1.3em
}

.solid-list {
    display: inline-block
}

.solid-list .solid-list-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 5px 0
}

.solid-list .solid-list-item .list-bullet i {
    font-size: 1.5rem;
    margin-right: 15px;
    position: relative;
    top: 2px;
    color: #A9ABAC
}

.inline-list {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.inline-list i.inline-bullet {
    font-size: 0.4rem;
    margin: 0 10px;
    color: #ededed;
    position: relative;
    top: 8px
}

.list-block {
    border: 1px solid #ededed;
    box-shadow: -1px 3px 10px 0 rgba(0, 0, 0, 0.06)
}

.list-block li {
    padding: 10px 20px
}

.list-block li a {
    color: #444
}

.list-block li.is-active {
    background: #4FC1EA
}

.list-block li.is-active:hover {
    background: #4FC1EA
}

.list-block li.is-active .b-badge {
    border: 1px solid #fff;
    background: transparent
}

.list-block li.is-active a {
    color: #fff
}

.list-block li:hover {
    background: #EFF4F7
}

.list-block.bordered li:not(last-child) {
    border-bottom: 1px solid #ededed
}

.list-block.minimal {
    border: none;
    box-shadow: none
}

.list-block.minimal li {
    border-bottom: 1px solid #ededed
}

.list-block .b-badge {
    float: right
}

.list-block.is-secondary li.is-active {
    background: #7F00FF
}

.list-block.is-accent li.is-active {
    background: #7F00FF
}

.level.nav-level {
    padding: 20px 40px;
    border: 1px solid #ededed;
    background: #fff
}

.level.nav-level i {
    cursor: pointer
}

.level.nav-level i:hover {
    color: #4FC1EA
}

.level.centered-level {
    padding: 20px 40px;
    border: 1px solid #ededed;
    background: #fff
}

.user-list li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 15px
}

.user-list .user-list-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 100px
}

.user-list .user-list-info {
    margin: 0 10px
}

.user-list .user-list-info .name {
    font-size: 14px;
    font-weight: 500;
    color: #444F60
}

.user-list .user-list-info .position {
    font-size: 12px;
    color: #A9ABAC
}

.user-list .user-list-status {
    height: 10px;
    width: 10px;
    border-radius: 100px;
    background: #A9ABAC;
    margin-left: auto
}

.user-list .user-list-status.is-offline {
    background: #ededed
}

.user-list .user-list-status.is-online {
    background: #00b289
}

.user-list .user-list-status.is-busy {
    background: #eda514
}

.user-media-list li {
    margin: 15px 0
}

.user-media-list .media-left .image {
    position: relative
}

.user-media-list .media-left .image .avatar-status {
    height: 10px;
    width: 10px;
    border-radius: 200px;
    background: #A9ABAC;
    position: absolute;
    right: 1px;
    top: 3px
}

.user-media-list .media-left .image .avatar-status.is-offline {
    background: #ededed
}

.user-media-list .media-left .image .avatar-status.is-online {
    background: #00b289
}

.user-media-list .media-left .image .avatar-status.is-busy {
    background: #eda514
}

.user-media-list .media-content span {
    color: #444F60;
    font-weight: 500
}

/*! _labels.scss | Bulkit | CSS Ninja */
.b-badge {
    height: 20px;
    min-width: 20px;
    max-width: 100px;
    padding: 3px 6px;
    line-height: 1.2;
    white-space: nowrap;
    vertical-align: middle;
    font-size: 0.8rem;
    color: #fff;
    background: #999;
    text-align: center;
    border-radius: 3px
}

.b-badge.rounded {
    border-radius: 200px
}

.b-badge.badge-outlined {
    background: transparent;
    border: 1px solid #999;
    color: #999
}

.b-badge.is-primary {
    background: #4FC1EA
}

.b-badge.is-primary.badge-outlined {
    background: transparent;
    border: 1px solid #4FC1EA;
    color: #4FC1EA
}

.b-badge.is-secondary {
    background: #7F00FF
}

.b-badge.is-secondary.badge-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.b-badge.is-accent {
    background: #7F00FF
}

.b-badge.is-accent.badge-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.b-badge.is-success {
    background: #00b289
}

.b-badge.is-success.badge-outlined {
    background: transparent;
    border: 1px solid #00b289;
    color: #00b289
}

.b-badge.is-warning {
    background: #eda514
}

.b-badge.is-warning.badge-outlined {
    background: transparent;
    border: 1px solid #eda514;
    color: #eda514
}

.b-badge.is-danger {
    background: #FF7273
}

.b-badge.is-danger.badge-outlined {
    background: transparent;
    border: 1px solid #FF7273;
    color: #FF7273
}

.b-badge.is-info {
    background: #039BE5
}

.b-badge.is-info.badge-outlined {
    background: transparent;
    border: 1px solid #039BE5;
    color: #039BE5
}

.tag {
    margin-bottom: 5px
}

.tag.squared {
    border-radius: 2px !important
}

.tag.is-outlined {
    border: 1px solid #999
}

.tag.is-primary {
    background: #4FC1EA;
    color: #fff
}

.tag.is-primary.is-outlined {
    background: transparent;
    border: 1px solid #4FC1EA;
    color: #4FC1EA
}

.tag.is-secondary {
    background: #7F00FF;
    color: #fff
}

.tag.is-secondary.is-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.tag.is-accent {
    background: #7F00FF;
    color: #fff
}

.tag.is-accent.is-outlined {
    background: transparent;
    border: 1px solid #7F00FF;
    color: #7F00FF
}

.tag.is-success {
    background: #00b289;
    color: #fff
}

.tag.is-success.is-outlined {
    background: transparent;
    border: 1px solid #00b289;
    color: #00b289
}

.tag.is-warning {
    background: #eda514 !important;
    color: #fff !important
}

.tag.is-warning.is-outlined {
    background: transparent !important;
    border: 1px solid #eda514 !important;
    color: #eda514 !important
}

.tag.is-danger {
    background: #FF7273;
    color: #fff
}

.tag.is-danger.is-outlined {
    background: transparent;
    border: 1px solid #FF7273;
    color: #FF7273
}

.tag.is-info {
    background: #039BE5;
    color: #fff
}

.tag.is-info.is-outlined {
    background: transparent;
    border: 1px solid #039BE5;
    color: #039BE5
}

.tag.is-light {
    background: #fff;
    color: #444F60
}

.tag.is-light.is-outlined {
    background: transparent;
    border: 1px solid #fff;
    color: #fff
}

.tag span.delete {
    top: 2px
}

.tags.has-addons span:first-child {
    border-bottom-right-radius: 0 !important;
    border-top-right-radius: 0 !important;
    margin-right: 0
}

.tags.has-addons span:last-child {
    border-bottom-left-radius: 0 !important;
    border-top-left-radius: 0 !important;
    margin-left: -5px
}

.tags.has-addons.is-centered {
    -ms-flex-pack: center;
    justify-content: center
}

.control.tag-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center
}

.tag.is-delete {
    margin-left: 1px;
    padding: 0;
    position: relative;
    width: 2em;
    border-radius: 0 2px 2px 0 !important;
    margin-left: -5px
}

.tag.is-delete:before {
    height: 1px;
    width: 50%
}

.tag.is-delete:after {
    height: 50%;
    width: 1px
}

.tag.is-delete:before,
.tag.is-delete:after {
    background-color: currentColor;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
    -webkit-transform-origin: center center;
    transform-origin: center center
}

/*! _dropdowns.scss | Bulkit | CSS Ninja */
.is-drop {
    position: relative;
    cursor: pointer
}

.is-drop i.sl-icon-arrow-down {
    font-size: 8px !important;
    top: 2px !important
}

.is-drop .drop-caret {
    position: relative;
    top: 5px
}

.is-drop .dropContain {
    width: 220px;
    position: absolute;
    z-index: 3;
    left: 50%;
    margin-left: -165px;
    top: -500vh
}

.is-drop .dropContain .dropOut {
    width: 220px;
    background: #fff;
    float: left;
    position: relative;
    margin-top: 15px;
    opacity: 0;
    border: 1px solid #ededed;
    border-radius: 4px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04);
    transition: all .5s ease-out
}

.is-drop .dropContain .dropOut .triangle {
    width: 0;
    height: 0;
    position: absolute;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 8px solid #fff;
    top: -8px;
    left: 50%;
    margin-left: -8px
}

.is-drop .dropContain .dropOut ul li {
    text-align: left;
    float: left;
    width: 200px;
    padding: 12px 0 10px 15px;
    margin: 3px 10px;
    color: #777;
    border-radius: 4px;
    transition: background .2s ease-out
}

.is-drop .dropContain .dropOut ul li:hover {
    background: #EFF4F7;
    cursor: pointer
}

.is-drop .dropContain .dropOut ul li i.drop-icon {
    position: relative;
    top: 4px;
    margin-right: 15px
}

.is-drop .dropContain .dropOut ul li i.drop-icon.sl {
    position: relative;
    top: 0;
    margin-right: 15px
}

.is-drop .dropContain .dropOut ul {
    float: left;
    padding: 10px 0;
    list-style: none
}

.is-drop .dropContain .dropOut ul.big-icons li {
    padding: 2px 0 10px 15px;
    color: #A9ABAC
}

.is-drop .dropContain .dropOut ul.big-icons i.im {
    font-size: 18px;
    color: #A9ABAC;
    margin-right: 10px;
    position: relative;
    top: 1px
}

.is-drop .dropContain .dropOut ul li.dropdown-divider {
    padding: 0 !important;
    border-radius: 0 !important;
    height: 5px;
    border-bottom: 1px solid #f2f2f2
}

.is-drop .dropContain .dropOut ul li.dropdown-divider:hover {
    background-color: #fff
}

.is-drop .dropContain .dropOut.is-primary ul li:hover {
    background: #4FC1EA;
    color: #fff
}

.is-drop .dropContain .dropOut.is-secondary ul li:hover {
    background: #7F00FF;
    color: #fff
}

.is-drop .dropContain .dropOut.is-accent ul li:hover {
    background: #7F00FF;
    color: #fff
}

.is-drop:hover .dropContain {
    top: 30px !important
}

.is-drop:hover .dropContain .dropOut {
    -webkit-animation: fadeInUp 0.27s ease-out;
    animation: fadeInUp 0.27s ease-out;
    opacity: 1
}

.is-drop.drop-sm:hover .dropContain {
    top: 15px !important
}

.is-drop.is-centered .dropContain {
    margin-left: -110px
}

.is-drop.is-right .dropContain {
    margin-left: -55px
}

button i.sl-icon-arrow-down {
    font-size: 8px !important;
    top: 2px !important;
    padding-left: 8px !important
}

.jq-dropdown {
    position: absolute;
    top: 5px;
    z-index: 1039;
    display: none;
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
    -webkit-animation-duration: 0.27s;
    animation-duration: 0.27s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease
}

.jq-dropdown .jq-dropdown-menu,
.jq-dropdown .jq-dropdown-panel {
    min-width: 220px;
    max-width: 360px;
    list-style: none;
    background: white;
    border: solid 1px #ddd;
    border-radius: 4px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04);
    overflow: visible;
    padding: 4px 0;
    margin: 0
}

.jq-dropdown .jq-dropdown-panel {
    padding: 20px
}

.jq-dropdown.jq-dropdown-tip {
    margin-top: 8px
}

.jq-dropdown.jq-dropdown-tip:before {
    position: absolute;
    top: -6px;
    left: 9px;
    content: "";
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-bottom: 7px solid #ddd;
    display: inline-block
}

.jq-dropdown.jq-dropdown-tip:after {
    position: absolute;
    top: -5px;
    left: 10px;
    content: "";
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid white;
    display: inline-block
}

.jq-dropdown.jq-dropdown-tip.jq-dropdown-anchor-right:before {
    left: auto;
    right: 9px
}

.jq-dropdown.jq-dropdown-tip.jq-dropdown-anchor-right:after {
    left: auto;
    right: 10px
}

.jq-dropdown.jq-dropdown-scroll .jq-dropdown-menu,
.jq-dropdown.jq-dropdown-scroll .jq-dropdown-panel {
    max-height: 180px;
    overflow: auto
}

.jq-dropdown.jq-dropdown-scroll .jq-dropdown-menu::-webkit-scrollbar {
    width: 10px
}

.jq-dropdown.jq-dropdown-scroll .jq-dropdown-menu::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

.jq-dropdown li {
    list-style: none;
    padding: 0 3px;
    text-indent: 0;
    margin: 0;
    line-height: 18px
}

.jq-dropdown li>a,
.jq-dropdown label {
    display: block;
    color: inherit;
    text-decoration: none;
    line-height: 18px;
    padding: 10px 15px;
    margin: 0;
    white-space: nowrap
}

.jq-dropdown li>a:hover,
.jq-dropdown label:hover {
    background-color: #EFF4F7;
    color: inherit;
    cursor: pointer
}

.jq-dropdown .jq-dropdown-divider {
    font-size: 1px;
    border-top: solid 1px #e5e5e5;
    padding: 0;
    margin: 5px 0
}

.jq-dropdown .jq-dropdown-menu li>a:hover,
.jq-dropdown .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #EFF4F7;
    color: inherit
}

.jq-dropdown.is-primary .jq-dropdown-menu li>a:hover,
.jq-dropdown.is-primary .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #4FC1EA;
    color: #fff
}

.jq-dropdown.is-secondary .jq-dropdown-menu li>a:hover,
.jq-dropdown.is-secondary .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #7F00FF;
    color: #fff
}

.jq-dropdown.is-accent .jq-dropdown-menu li>a:hover,
.jq-dropdown.is-accent .jq-dropdown .jq-dropdown-menu label:hover {
    background-color: #7F00FF;
    color: #fff
}

/*! _pricing.scss | Bulkit | CSS Ninja */
.classic-pricing .pricing-table {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.classic-pricing .pricing-table.is-comparative .pricing-plan {
    margin: 0
}

.classic-pricing .pricing-table.is-comparative .pricing-plan:not(:last-child) {
    border-right: none
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-header {
    width: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-price {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: center;
    justify-content: center
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-items {
    width: 100%;
    background-color: #fcfcfc;
    columns: 2;
    -webkit-columns: 2;
    -moz-columns: 2;
    -webkit-column-gap: 0.1rem;
    column-gap: 0.1rem
}

.classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-footer {
    width: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto
}

.classic-pricing .pricing-table .pricing-plan {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex: 1;
    flex: 1;
    background-color: #fff;
    border: 0.1rem solid #ededed;
    border-radius: 3px;
    list-style-type: none;
    transition: 0.25s;
    margin: 0.5em
}

.classic-pricing .pricing-table .pricing-plan .plan-header {
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    background-color: #fff;
    font-size: 1.1rem;
    font-weight: 700;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center
}

.classic-pricing .pricing-table .pricing-plan .plan-item {
    background: #fcfcfc;
    border-bottom: 1px solid #ededed;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center;
    font-size: 0.9em;
    color: #444F60
}

.classic-pricing .pricing-table .pricing-plan .plan-item:hover {
    background: #EFF4F7
}

.classic-pricing .pricing-table .pricing-plan .plan-price {
    background-color: #fff;
    font-size: 0.8rem;
    font-weight: normal;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center
}

.classic-pricing .pricing-table .pricing-plan .plan-price .plan-price-amount {
    font-size: 3rem;
    font-weight: bolder
}

.classic-pricing .pricing-table .pricing-plan .plan-price .plan-price-amount .plan-price-currency {
    vertical-align: super;
    font-size: 1.1rem !important;
    font-weight: normal !important;
    color: #444F60;
    margin-right: 0.25rem
}

.classic-pricing .pricing-table .pricing-plan .plan-footer {
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    padding: 0.75em;
    -ms-flex-line-pack: center;
    align-content: center;
    text-align: center;
    margin-top: auto
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-header {
    color: #4FC1EA
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-price .plan-price-amount {
    color: #4FC1EA
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-price .plan-price-currency {
    color: #4FC1EA
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button {
    background-color: #4FC1EA;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button.is-hovered {
    background-color: #44bde9;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(79, 193, 234, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button.is-active {
    background-color: #38b9e7;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-primary .plan-footer .button[disabled] {
    background-color: #4FC1EA;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-header {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-price .plan-price-amount {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-price .plan-price-currency {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button {
    background-color: #7F00FF;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button.is-hovered {
    background-color: #7900f2;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(127, 0, 255, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button.is-active {
    background-color: #7200e6;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-secondary .plan-footer .button[disabled] {
    background-color: #7F00FF;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-header {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-price .plan-price-amount {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-price .plan-price-currency {
    color: #7F00FF
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button {
    background-color: #7F00FF;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button.is-hovered {
    background-color: #7900f2;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(127, 0, 255, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button.is-active {
    background-color: #7200e6;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-accent .plan-footer .button[disabled] {
    background-color: #7F00FF;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-header {
    color: #00b289
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-price .plan-price-amount {
    color: #00b289
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-price .plan-price-currency {
    color: #00b289
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button {
    background-color: #00b289;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button.is-hovered {
    background-color: #00a57f;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(0, 178, 137, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button.is-active {
    background-color: #009975;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-success .plan-footer .button[disabled] {
    background-color: #00b289;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-header {
    color: #eda514
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-price .plan-price-amount {
    color: #eda514
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-price .plan-price-currency {
    color: #eda514
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button {
    background-color: #eda514;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button.is-hovered {
    background-color: #e39d11;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(237, 165, 20, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button.is-active {
    background-color: #d79510;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-warning .plan-footer .button[disabled] {
    background-color: #eda514;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-header {
    color: #FF7273
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-price .plan-price-amount {
    color: #FF7273
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-price .plan-price-currency {
    color: #FF7273
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button {
    background-color: #FF7273;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button.is-hovered {
    background-color: #ff6566;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(255, 114, 115, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button.is-active {
    background-color: #ff595a;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-danger .plan-footer .button[disabled] {
    background-color: #FF7273;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-header {
    color: #039BE5
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-price .plan-price-amount {
    color: #039BE5
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-price .plan-price-currency {
    color: #039BE5
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button {
    background-color: #039BE5;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button:hover,
.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button.is-hovered {
    background-color: #0392d8;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button:focus,
.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button.is-focused {
    border-color: transparent;
    box-shadow: 0 0 0.5em rgba(3, 155, 229, 0.25);
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button:active,
.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button.is-active {
    background-color: #038acc;
    border-color: transparent;
    color: #fff
}

.classic-pricing .pricing-table .pricing-plan.is-info .plan-footer .button[disabled] {
    background-color: #039BE5;
    border-color: transparent
}

.classic-pricing .pricing-table .pricing-plan.is-active {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px;
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

@media (min-width: 768px) and (max-width: 1024px) {
    .classic-pricing .pricing-table.is-comparative {
        margin: 0.5rem
    }

    .classic-pricing .pricing-table.is-comparative.is-features {
        display: none
    }

    .classic-pricing .pricing-table.is-comparative .plan-item::before {
        content: attr("data-feature")
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-header {
        width: 50%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-price {
        width: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: center;
        justify-content: center
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-items {
        width: 100%;
        background-color: #fcfcfc;
        columns: 2;
        -webkit-columns: 2;
        -moz-columns: 2;
        -webkit-column-gap: 0.1rem;
        column-gap: 0.1rem
    }

    .classic-pricing .pricing-table.is-horizontal .pricing-plan .plan-footer {
        width: 50%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-pack: center;
        justify-content: center;
        margin: auto
    }
}

@media (max-width: 767px) {
    .classic-pricing .pricing-table.is-comparative .pricing-plan {
        width: 100% !important;
        margin: 0.5rem
    }

    .classic-pricing .pricing-table.is-comparative .pricing-plan.is-features {
        display: none
    }

    .classic-pricing .pricing-table.is-comparative .pricing-plan .plan-item::before {
        content: attr(data-feature);
        display: block;
        font-weight: 600;
        font-size: 0.8rem;
        color: #EFF4F7
    }

    .classic-pricing .pricing-table.is-horizontal .plan-items {
        display: none
    }

    .classic-pricing .pricing-plan.is-mobile {
        min-width: 100% !important;
        display: block !important
    }
}

.minimal-pricing {
    border: 2px solid #444F60;
    border-radius: 2px
}

.minimal-pricing.wide-box {
    max-width: 100%;
    margin: 0 10px 0 10px;
    padding: 20px 0 20px 0
}

.minimal-pricing.featured {
    border: 2px solid #4FC1EA
}

.minimal-pricing.featured .plan-name {
    color: #4FC1EA
}

.minimal-pricing.featured .price .price-number {
    color: #4FC1EA
}

.minimal-pricing.featured .price .price-currency {
    color: #4FC1EA
}

.minimal-pricing.bg-secondary {
    background-color: #7F00FF;
    border: 2px solid #7F00FF
}

.minimal-pricing.bg-secondary .plan-name {
    color: #fff
}

.minimal-pricing.bg-secondary .price .price-number {
    color: #fff
}

.minimal-pricing.bg-secondary .price .price-currency {
    color: #fff
}

.minimal-pricing.bg-secondary .price .price-period {
    color: #fff
}

.minimal-pricing.bg-secondary .plan-features {
    color: #fff
}

.minimal-pricing .plan-name {
    color: #444F60;
    font-size: 1.3rem;
    font-weight: 500
}

.minimal-pricing .price {
    margin-bottom: 20px
}

.minimal-pricing .price .price-currency {
    font-weight: bold;
    font-size: 1.2rem;
    margin-right: 15px
}

.minimal-pricing .price .price-number {
    font-size: 6rem;
    font-weight: bold
}

.minimal-pricing .plan-features {
    margin-bottom: 30px
}

.minimal-pricing .plan-features ul li {
    padding: 5px 10px 5px 10px
}

.minimal-pricing.wide-box {
    background-image: url(https://via.placeholder.com/1280x720);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.plan-controls {
    padding: 10px 0
}

.plan-controls span {
    margin: 0 5px 0 5px;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer
}

.plan-controls span.is-active {
    border: 1px solid #4FC1EA;
    border-radius: 4px;
    color: #4FC1EA
}

.period-select {
    padding: 20px 0;
    max-width: 245px
}

.period-select span {
    padding: 8px 20px;
    font-size: 14px;
    cursor: pointer;
    color: #444F60;
    border: 1px solid #444F60
}

.period-select span:first-child {
    border-right: 1px solid #444F60;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px
}

.period-select span:last-child {
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px
}

.period-select span.is-active {
    background: #444F60;
    color: #fff
}

.side-pricing .pricing-card {
    display: inline-block;
    position: relative;
    width: 100%;
    margin-bottom: 30px;
    border: 1px solid #ededed;
    border-radius: 6px;
    color: rgba(0, 0, 0, 0.87);
    background: #fff;
    transition: all 0.5s
}

.side-pricing .pricing-card .popular {
    position: absolute;
    top: 15px;
    right: 25px
}

.side-pricing .pricing-card .popular i {
    font-size: 26px;
    color: #4FC1EA
}

.side-pricing .pricing-card .inner {
    padding: 15px
}

.side-pricing .pricing-card .inner .plan-name {
    font-size: 0.9em;
    text-transform: uppercase;
    font-weight: 500;
    color: #999
}

.side-pricing .pricing-card .inner .plan-price {
    color: #444F60;
    font-weight: bolder;
    font-size: 3.8em;
    line-height: 1.15em;
    position: relative
}

.side-pricing .pricing-card .inner .plan-price small.currency {
    position: relative;
    top: 38px;
    left: -90px;
    font-size: 26px
}

.side-pricing .pricing-card .inner .plan-price small:last-child {
    font-size: 12px;
    font-weight: 400
}

.side-pricing .pricing-card .inner ul {
    list-style: none;
    padding: 0;
    max-width: 240px;
    margin: 10px auto
}

.side-pricing .pricing-card .inner ul li {
    color: #999;
    text-align: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(153, 153, 153, 0.3)
}

.side-pricing .pricing-card .inner ul li b {
    color: #3C4858
}

.side-pricing .pricing-card .inner a {
    margin: 10px 0
}

.side-pricing .pricing-card.transparent {
    background: transparent !important;
    box-shadow: none !important
}

.side-pricing .pricing-card.card-raised:hover {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px !important
}

.fancy-pricing .fancy-pricing-card {
    padding: 20px;
    text-align: center;
    border-radius: 15px 15px 0 15px;
    transition: all 0.3s
}

.fancy-pricing .fancy-pricing-card:hover {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px)
}

.fancy-pricing .fancy-pricing-card:hover .plan-icon i {
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.fancy-pricing .fancy-pricing-card .plan-name {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    padding: 10px 0
}

.fancy-pricing .fancy-pricing-card .plan-icon {
    padding: 20px 0
}

.fancy-pricing .fancy-pricing-card .plan-icon i {
    font-size: 3rem;
    padding: 20px;
    border: 1px solid #ededed;
    color: #fff;
    border-radius: 200px;
    transition: all 0.5s
}

.fancy-pricing .fancy-pricing-card .plan-price {
    font-size: 3rem;
    padding: 30px 20px;
    color: #444F60;
    font-weight: bolder
}

.fancy-pricing .fancy-pricing-card .plan-price small:first-child {
    font-size: 1.4rem;
    position: relative;
    top: -20px
}

.fancy-pricing .fancy-pricing-card .plan-price small:last-child {
    font-size: 1rem;
    font-weight: 400
}

.fancy-pricing .fancy-pricing-card .plan-features {
    text-align: left;
    padding: 10px 0
}

.fancy-pricing .fancy-pricing-card .plan-features li {
    margin: 10px 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.fancy-pricing .fancy-pricing-card .plan-features li .feature-count.unlimited {
    font-size: 1rem;
    font-weight: 500
}

.fancy-pricing .fancy-pricing-card .plan-features li .feature-count-text {
    color: #999
}

.fancy-pricing .fancy-pricing-card.streched {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px 40px
}

.fancy-pricing .fancy-pricing-card.streched .plan-name {
    font-family: 'Nexa Bold', sans-serif;
    margin-bottom: 0;
    margin-right: 25px
}

.fancy-pricing .fancy-pricing-card.streched .plan-price {
    margin-top: 0;
    font-size: 2rem
}

.fancy-pricing .fancy-pricing-card.streched .plan-price small:first-child {
    position: static !important
}

.fancy-pricing .fancy-pricing-card.streched .large-count {
    font-size: 1.3rem;
    font-weight: 500
}

.fancy-pricing .fancy-pricing-card.primary .plan-name {
    color: #4FC1EA
}

.fancy-pricing .fancy-pricing-card.primary .plan-icon i {
    color: #4FC1EA
}

.fancy-pricing .fancy-pricing-card.primary .plan-features li .large-count {
    color: #4FC1EA
}

.fancy-pricing .fancy-pricing-card.secondary .plan-name {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.secondary .plan-icon i {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.secondary .plan-features li .large-count {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.accent .plan-name {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.accent .plan-icon i {
    color: #7F00FF
}

.fancy-pricing .fancy-pricing-card.accent .plan-features li .large-count {
    color: #7F00FF
}

.header-pricing .header-pricing-card {
    text-align: center;
    border-radius: 15px 15px 0 15px;
    transition: all 0.3s
}

.header-pricing .header-pricing-card .plan-name {
    text-transform: uppercase;
    font-size: 1.2rem;
    font-weight: 500;
    color: #fff;
    background: #999;
    padding: 20px
}

.header-pricing .header-pricing-card .pricing-card-body {
    border: 1px solid #ededed;
    border-top-color: transparent
}

.header-pricing .header-pricing-card .pricing-card-body .plan-price {
    font-size: 3rem;
    padding: 40px 20px;
    color: #444F60;
    font-weight: bolder
}

.header-pricing .header-pricing-card .pricing-card-body .plan-price small:first-child {
    font-size: 1.4rem;
    position: relative;
    top: -20px
}

.header-pricing .header-pricing-card .pricing-card-body .plan-price small:last-child {
    font-size: 1rem;
    font-weight: 400
}

.header-pricing .header-pricing-card .pricing-card-body ul {
    list-style: none;
    padding: 0;
    max-width: 240px;
    margin: 10px auto
}

.header-pricing .header-pricing-card .pricing-card-body ul li {
    color: #999;
    text-align: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(153, 153, 153, 0.3)
}

.header-pricing .header-pricing-card .pricing-card-body ul li b {
    color: #3C4858
}

.header-pricing .header-pricing-card.primary .plan-name {
    background: #4FC1EA
}

.header-pricing .header-pricing-card.secondary .plan-name {
    background: #7F00FF
}

.header-pricing .header-pricing-card.accent .plan-name {
    background: #7F00FF
}

/*! _messages.scss | Bulkit | CSS Ninja */
.message .message-header {
    background: #999
}

.message.msg-primary .message-header {
    background: #4FC1EA
}

.message.msg-primary .message-body {
    border: 1px solid #4FC1EA
}

.message.msg-secondary .message-header {
    background: #7F00FF
}

.message.msg-secondary .message-body {
    border: 1px solid #7F00FF
}

.message.msg-accent .message-header {
    background: #7F00FF
}

.message.msg-accent .message-body {
    border: 1px solid #7F00FF
}

.message.msg-info .message-header {
    background: #039BE5
}

.message.msg-info .message-body {
    border: 1px solid #039BE5
}

.message.msg-success .message-header {
    background: #00b289
}

.message.msg-success .message-body {
    border: 1px solid #00b289
}

.message.msg-warning .message-header {
    background: #eda514
}

.message.msg-warning .message-body {
    border: 1px solid #eda514
}

.message.msg-danger .message-header {
    background: #FF7273
}

.message.msg-danger .message-body {
    border: 1px solid #FF7273
}

.message.icon-msg {
    position: relative
}

.message.icon-msg .message-body {
    padding: 1em 3em 1em 1.5em
}

.message.icon-msg .message-body h4 {
    padding-bottom: 5px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #444F60
}

.message.icon-msg i {
    position: absolute;
    top: -35px;
    right: -20px;
    padding: 20px;
    background: #999;
    border: 5px solid white;
    border-radius: 100px;
    color: #fff
}

.message.icon-msg.primary-msg i {
    background: #4FC1EA
}

.message.icon-msg.secondary-msg i {
    background: #7F00FF
}

.message.icon-msg.accent-msg i {
    background: #7F00FF
}

.message.icon-msg.info-msg i {
    background: #039BE5
}

.message.icon-msg.success-msg i {
    background: #00b289
}

.message.icon-msg.warning-msg i {
    background: #eda514
}

.message.icon-msg.danger-msg i {
    background: #FF7273
}

.ggpopover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: none;
    max-width: 276px;
    padding: 0;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.42857143;
    text-align: left;
    white-space: normal;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ededed;
    border-radius: 4px;
    box-shadow: inset rgba(143, 160, 241, 0.2) 0 0 0 1px, rgba(213, 220, 247, 0.59) 0 10px 20px
}

.ggpopover.fade {
    filter: alpha(opacity=0);
    opacity: 0;
    transition: opacity 0.15s linear
}

.ggpopover.fade.in {
    filter: alpha(opacity=100);
    opacity: 1
}

.ggpopover.top {
    margin-top: -20px
}

.ggpopover.top>.arrow {
    bottom: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-color: #999;
    border-top-color: rgba(0, 0, 0, 0.25);
    border-bottom-width: 0
}

.ggpopover.top>.arrow>.after {
    bottom: 1px;
    margin-left: -10px;
    content: " ";
    border-top-color: #fff;
    border-bottom-width: 0
}

.ggpopover.right {
    margin-left: 20px
}

.ggpopover.right>.arrow {
    top: 50%;
    left: -11px;
    margin-top: -11px;
    border-right-color: #999;
    border-right-color: rgba(0, 0, 0, 0.25);
    border-left-width: 0
}

.ggpopover.right>.arrow>.after {
    bottom: -10px;
    left: 1px;
    content: " ";
    border-right-color: #fff;
    border-left-width: 0
}

.ggpopover.bottom {
    margin-top: 20px
}

.ggpopover.bottom .arrow .after {
    border-bottom-color: #f7f7f7
}

.ggpopover.bottom>.arrow {
    top: -11px;
    left: 50%;
    margin-left: -11px;
    border-top-width: 0;
    border-bottom-color: #999;
    border-bottom-color: rgba(0, 0, 0, 0.25)
}

.ggpopover.bottom>.arrow>.after {
    top: 1px;
    margin-left: -10px;
    content: " ";
    border-top-width: 0;
    border-bottom-color: #fff
}

.ggpopover.left {
    margin-left: -20px
}

.ggpopover.left>.arrow {
    top: 50%;
    right: -11px;
    margin-top: -11px;
    border-right-width: 0;
    border-left-color: #999;
    border-left-color: rgba(0, 0, 0, 0.25)
}

.ggpopover.left>.arrow>.after {
    right: 1px;
    bottom: -10px;
    content: " ";
    border-right-width: 0;
    border-left-color: #fff
}

.ggpopover .popover-title {
    padding: 8px 14px;
    margin: 0;
    font-size: 14px;
    background-color: #fff;
    border-bottom: 1px solid #000;
    border-color: #ededed;
    border-radius: 4px 4px 0 0;
    color: #444F60
}

.ggpopover .popover-content {
    padding: 9px 14px 15px 14px;
    border-radius: 0 0 4px 4px;
    font-size: 0.9rem;
    color: #666 !important
}

.ggpopover>.arrow,
.ggpopover .arrow>.after {
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid
}

.ggpopover>.arrow {
    border-width: 11px
}

.ggpopover .arrow>.after {
    content: "";
    border-width: 10px
}

.ggtooltip {
    position: absolute;
    z-index: 1030;
    display: block;
    padding: 5px;
    font-size: 10px;
    opacity: 0;
    filter: alpha(opacity=0);
    visibility: visible
}

.ggtooltip.fade {
    opacity: 0;
    transition: opacity 0.2s linear
}

.ggtooltip.fade.in {
    opacity: 1
}

.ggtooltip.in {
    opacity: 0.8;
    filter: alpha(opacity=80)
}

.ggtooltip.top {
    margin-top: -15px
}

.ggtooltip.top .ggtooltip-arrow,
.ggtooltip.top .ggtooltip-arrow-shadow {
    bottom: 1px;
    left: 50%;
    margin-left: -5px;
    border-top-color: #222 !important;
    border-width: 5px 5px 0
}

.ggtooltip.top .ggtooltip-arrow-shadow {
    bottom: 0
}

.ggtooltip.right {
    margin-left: 15px
}

.ggtooltip.right .ggtooltip-arrow,
.ggtooltip.right .ggtooltip-arrow-shadow {
    top: 50%;
    left: 1px;
    margin-top: -5px;
    border-right-color: #222 !important;
    border-width: 5px 5px 5px 0
}

.ggtooltip.right .ggtooltip-arrow-shadow {
    left: 0
}

.ggtooltip.bottom {
    margin-top: 15px
}

.ggtooltip.bottom .ggtooltip-arrow,
.ggtooltip.bottom .ggtooltip-arrow-shadow {
    top: 1px;
    left: 50%;
    margin-left: -5px;
    border-bottom-color: #222 !important;
    border-width: 0 5px 5px
}

.ggtooltip.bottom .ggtooltip-arrow-shadow {
    top: 0
}

.ggtooltip.left {
    margin-left: -15px
}

.ggtooltip.left .ggtooltip-arrow,
.ggtooltip.left .ggtooltip-arrow-shadow {
    top: 50%;
    right: 1px;
    margin-top: -5px;
    border-left-color: #222 !important;
    border-width: 5px 0 5px 5px
}

.ggtooltip.left .ggtooltip-arrow-shadow {
    right: 0
}

.ggtooltip .ggtooltip-inner {
    max-width: 200px;
    padding: 8px 12px;
    color: #ffffff !important;
    text-align: center;
    text-decoration: none;
    background-color: #222 !important;
    border-radius: 4px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

.ggtooltip .ggtooltip-arrow,
.ggtooltip .ggtooltip-arrow-shadow {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent !important;
    border-style: solid
}

/*! _checkboxes.scss | Bulkit | CSS Ninja */
.b-checkbox {
    position: relative
}

.b-checkbox label {
    padding-left: 5px;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1
}

.b-checkbox label::before {
    content: "";
    position: absolute;
    width: 17px;
    height: 17px;
    left: 0;
    top: 1px;
    border: 1px solid #dbdbdb;
    border-radius: 3px;
    background-color: #fff;
    transition: background .1s ease-in-out
}

.b-checkbox label::after {
    position: absolute;
    width: 16px;
    height: 16px;
    left: 3px;
    top: 3px;
    font-size: 12px;
    color: #363636
}

.b-checkbox input[type="checkbox"],
.b-checkbox input[type="radio"] {
    opacity: 0;
    z-index: 1;
    cursor: pointer
}

.b-checkbox input[type="checkbox"]:checked+label::after,
.b-checkbox input[type="radio"]:checked+label::after {
    font-family: "FontAwesome";
    content: "\f00c"
}

.b-checkbox input[type="checkbox"]:disabled,
.b-checkbox input[type="radio"]:disabled {
    cursor: not-allowed
}

.b-checkbox input[type="checkbox"]:disabled+label,
.b-checkbox input[type="radio"]:disabled+label {
    opacity: 0.65
}

.b-checkbox input[type="checkbox"]:disabled+label::before,
.b-checkbox input[type="radio"]:disabled+label::before {
    background-color: whitesmoke;
    cursor: not-allowed
}

.b-checkbox.is-circular label::before {
    border-radius: 50%
}

.b-checkbox.is-inline {
    display: inline-block;
    font-weight: normal
}

.b-checkbox.is-inline+.is-inline {
    margin-left: 10px
}

.b-checkbox.is-primary input[type="checkbox"]:checked+label::before {
    background-color: #4FC1EA;
    border-color: #4FC1EA
}

.b-checkbox.is-primary input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-secondary input[type="checkbox"]:checked+label::before {
    background-color: #7F00FF;
    border-color: #7F00FF
}

.b-checkbox.is-secondary input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-accent input[type="checkbox"]:checked+label::before {
    background-color: #7F00FF;
    border-color: #7F00FF
}

.b-checkbox.is-accent input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-danger input[type="checkbox"]:checked+label::before {
    background-color: #FF7273;
    border-color: #FF7273
}

.b-checkbox.is-danger input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-info input[type="checkbox"]:checked+label::before {
    background-color: #039BE5;
    border-color: #039BE5
}

.b-checkbox.is-info input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-warning input[type="checkbox"]:checked+label::before {
    background-color: #eda514;
    border-color: #eda514
}

.b-checkbox.is-warning input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-success input[type="checkbox"]:checked+label::before {
    background-color: #00b289;
    border-color: #00b289
}

.b-checkbox.is-success input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox.is-dark input[type="checkbox"]:checked+label::before {
    background-color: #444;
    border-color: #444
}

.b-checkbox.is-dark input[type="checkbox"]:checked+label::after {
    color: #fff
}

.b-checkbox input[type="checkbox"].styled:checked+label:after {
    font-family: "FontAwesome";
    content: "\f00c"
}

.b-checkbox input[type="checkbox"] .styled:checked+label::before {
    color: #fff
}

.b-checkbox input[type="checkbox"] .styled:checked+label::after {
    color: #fff
}

/*! _extensions-wallop.scss | Bulkit | CSS Ninja */
.Wallop--scale .Wallop-item--hidePrevious,
.Wallop--scale .Wallop-item--hideNext {
    visibility: visible;
    -webkit-animation: scaleOut 350ms cubic-bezier(0.55, 0.055, 0.675, 0.19) both;
    animation: scaleOut 350ms cubic-bezier(0.55, 0.055, 0.675, 0.19) both
}

.Wallop--scale .Wallop-item--hidePrevious,
.Wallop--scale .Wallop-item--hideNext {
    z-index: 2
}

.Wallop--scale .Wallop-item--showPrevious,
.Wallop--scale .Wallop-item--showNext {
    z-index: 1
}

@-webkit-keyframes scaleOut {
    100% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6);
        opacity: 0
    }
}

@keyframes scaleOut {
    100% {
        -webkit-transform: scale(1.6);
        transform: scale(1.6);
        opacity: 0
    }
}

.Wallop--fade .Wallop-item--hidePrevious,
.Wallop--fade .Wallop-item--hideNext {
    visibility: visible;
    -webkit-animation: fadeOut 450ms cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
    animation: fadeOut 450ms cubic-bezier(0.455, 0.03, 0.515, 0.955) both
}

.Wallop--fade .Wallop-item--hidePrevious,
.Wallop--fade .Wallop-item--hideNext {
    z-index: 2
}

.Wallop--fade .Wallop-item--showPrevious,
.Wallop--fade .Wallop-item--showNext {
    z-index: 1
}

@-webkit-keyframes fadeOut {
    100% {
        opacity: 0;
        visibility: hidden
    }
}

@keyframes fadeOut {
    100% {
        opacity: 0;
        visibility: hidden
    }
}

/*! _details.scss | Bulkit | CSS Ninja */
.side-block {
    width: 100%;
    height: 100%;
    position: relative;
    background-color: transparent;
    overflow: visible;
    z-index: 2
}

.side-block .background-wrapper {
    background-color: #344258;
    border-radius: 10px;
    overflow: visible
}

.side-block .background-wrapper .video-wrapper {
    position: relative;
    height: 0;
    max-width: 100%;
    padding-bottom: 56.25%;
    margin-bottom: 0;
    overflow: hidden;
    cursor: pointer;
    display: block
}

.side-block .background-wrapper .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: 10px;
    overflow: hidden
}

.side-block .background-wrapper .video-wrapper .video-overlay {
    position: absolute;
    width: 100%;
    background-size: cover;
    filter: alpha(opacity=35);
    opacity: 0.2
}

.side-block .background-wrapper .video-wrapper .playbutton {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -40px;
    margin-top: -63px;
    cursor: pointer
}

.side-block .background-wrapper .video-wrapper .playbutton .icon-play i {
    font-size: 6rem;
    color: #4FC1EA;
    transition: all 0.5s
}

.side-block .background-wrapper .video-wrapper .playbutton .icon-play i:hover {
    color: #7F00FF
}

.image-grid .image-title {
    font-size: 1.1rem;
    font-weight: 400;
    text-transform: uppercase;
    margin-bottom: 2rem;
    color: #444F60
}

.image-grid figure {
    position: relative;
    overflow: hidden;
    background: transparent;
    text-align: center;
    cursor: pointer;
    box-shadow: 0px 5px 12px rgba(0, 0, 0, 0.18)
}

.image-grid figure img {
    position: relative;
    display: block;
    min-height: 100%;
    max-width: 100%;
    opacity: 0.8
}

.image-grid figure figcaption {
    padding: 2em;
    color: #fff;
    text-transform: uppercase;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.image-grid figure figcaption:before,
.image-grid figure figcaption:after {
    pointer-events: none
}

.image-grid figure figcaption a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0
}

.image-grid figure h2 {
    word-spacing: -0.15em;
    font-weight: 300;
    margin: 0
}

.image-grid figure h2 span {
    font-weight: 800
}

.image-grid figure p {
    margin: 0;
    letter-spacing: 1px;
    font-size: 68.5%
}

.image-grid figure p span {
    font-size: 75% !important;
    color: #fff
}

figure.round-corner {
    background: linear-gradient(-45deg, #000 0%, #fff 100%);
    border-radius: 5px;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

figure.round-corner img {
    margin: -10px 0 0 -10px;
    max-width: none;
    width: calc(100% + 10px);
    opacity: 0.9;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(10px, 10px, 0);
    transform: translate3d(10px, 10px, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

figure.round-corner figcaption:before {
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    position: absolute;
    right: -100px;
    bottom: -100px;
    width: 300px;
    height: 300px;
    border: 2px solid #fff;
    border-radius: 50%;
    box-shadow: 0 0 0 900px rgba(255, 255, 255, 0.2);
    content: '';
    opacity: 0;
    -webkit-transform: scale3d(0.5, 0.5, 1);
    transform: scale3d(0.5, 0.5, 1);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%
}

figure.round-corner p {
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 0 1.5em 1.5em 0;
    width: 140px;
    text-align: right;
    opacity: 0;
    -webkit-transform: translate3d(20px, 20px, 0);
    transform: translate3d(20px, 20px, 0)
}

figure.round-corner:hover img {
    opacity: 0.6;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.round-corner:hover figcaption::before {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1)
}

figure.round-corner:hover h2,
figure.round-corner:hover p {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.round-corner h2 {
    text-align: left;
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(5px, 5px, 0);
    transform: translate3d(5px, 5px, 0)
}

figure.cornered img {
    max-width: none;
    width: calc(100% + 60px);
    opacity: 1;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(-30px, 0, 0) scale(1.12);
    transform: translate3d(-30px, 0, 0) scale(1.12);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

figure.cornered h2 {
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 1em 1.2em
}

figure.cornered:hover img {
    opacity: 0.5;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale(1)
}

figure.cornered:hover p {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.cornered p {
    padding: 0 10px 0 0;
    width: 50%;
    border-right: 1px solid #fff;
    text-align: right;
    opacity: 0;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0)
}

figure.team-hover figcaption {
    top: auto;
    bottom: 0;
    padding: 1em;
    height: 3.75em;
    background: #fff;
    color: #3c4a50;
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0)
}

figure.team-hover h2 {
    float: left;
    display: inline-block
}

figure.team-hover p.icon-links a {
    float: right !important;
    color: #3c4a50;
    font-size: 1.4em
}

figure.team-hover p.icon-links a:hover span::before {
    color: #4FC1EA
}

figure.team-hover p.description {
    position: absolute;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.3);
    bottom: 65px;
    padding: 1em;
    color: #fff;
    text-transform: none;
    font-size: 90%;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    transition: opacity 0.35s;
    -webkit-backface-visibility: hidden
}

figure.team-hover h2,
figure.team-hover p.icon-links a {
    position: static;
    width: auto;
    height: auto;
    z-index: 1000;
    text-indent: 0 !important;
    white-space: nowrap;
    opacity: inherit;
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 200%, 0);
    transform: translate3d(0, 200%, 0)
}

figure.team-hover p.icon-links a span::before {
    display: inline-block;
    font-size: 1.2rem;
    margin-top: -5px;
    padding: 8px 10px;
    font-family: 'FontAwesome';
    color: #444F60;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

figure.team-hover .icon-twitter::before {
    content: '\f099'
}

figure.team-hover .icon-linkedin::before {
    content: '\f0e1'
}

figure.team-hover .icon-dribbble::before {
    content: '\f17d'
}

figure.team-hover:hover p.icon-links a:hover,
figure.team-hover:hover p.icon-links a:focus {
    color: #252d31
}

figure.team-hover:hover p.description {
    opacity: 1
}

figure.team-hover:hover figcaption,
figure.team-hover:hover h2,
figure.team-hover:hover p.icon-links a {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.team-hover:hover h2 {
    transition-delay: 0.05s
}

figure.team-hover:hover p.icon-links a:nth-child(3) {
    transition-delay: 0.1s
}

figure.team-hover:hover p.icon-links a:nth-child(2) {
    transition-delay: 0.15s
}

figure.team-hover:hover p.icon-links a:first-child {
    transition-delay: 0.2s
}

figure.team-slanted {
    background: #162633;
    text-align: left
}

figure.team-slanted img {
    transition: opacity 0.45s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

figure.team-slanted figcaption::before {
    position: absolute;
    top: 95%;
    left: 10%;
    width: 200%;
    height: 100%;
    opacity: 0;
    background: rgba(255, 255, 255, 0.8) no-repeat center center;
    background-size: 100% 100%;
    content: '';
    transition: opacity 0.45s, -webkit-transform 0.45s;
    transition: opacity 0.45s, transform 0.45s;
    transition: opacity 0.45s, transform 0.45s, -webkit-transform 0.45s;
    -webkit-transform: rotate3d(0, 0, 1, 0);
    transform: rotate3d(0, 0, 1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%
}

figure.team-slanted .member-position {
    position: static !important;
    font-size: 0.9rem;
    opacity: 0;
    transition: all 0.5s
}

figure.team-slanted h2 {
    transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    transition: transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0)
}

figure.team-slanted p {
    position: absolute;
    right: 0;
    bottom: -5px;
    padding: 0 1.5em 7% 0
}

figure.team-slanted a {
    margin: 0 10px;
    color: #5d504f;
    font-size: 170% !important;
    position: static !important;
    width: auto;
    height: auto;
    text-indent: 0 !important;
    white-space: nowrap;
    opacity: 1 !important
}

figure.team-slanted a:hover,
figure.team-slanted a:focus {
    color: #4FC1EA
}

figure.team-slanted p a i {
    opacity: 0;
    transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    transition: opacity 0.35s, transform 0.35s, -webkit-transform 0.35s;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0)
}

figure.team-slanted:hover img {
    opacity: 0.6
}

figure.team-slanted:hover h2 {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.team-slanted:hover figcaption::before {
    opacity: 0.9;
    -webkit-transform: rotate(-15deg);
    transform: rotate(-15deg)
}

figure.team-slanted:hover p i {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

figure.team-slanted:hover p a:nth-child(3) i {
    transition-delay: 0.05s
}

figure.team-slanted:hover p a:nth-child(2) i {
    transition-delay: 0.1s
}

figure.team-slanted:hover p a:first-child i {
    transition-delay: 0.15s
}

figure.team-slanted:hover .member-position {
    opacity: 1
}

.shadow-z-1 {
    box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37)
}

.shadow-z-2 {
    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3), 0 2px 2px 0 rgba(0, 0, 0, 0.2)
}

.shadow-z-3 {
    box-shadow: 0 13px 25px 0 rgba(0, 0, 0, 0.3), 0 7px 7px 0 rgba(0, 0, 0, 0.19)
}

.shadow-z-4 {
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.3), 0 14px 12px 0 rgba(0, 0, 0, 0.17)
}

.shadow-z-5 {
    box-shadow: 0 27px 55px 0 rgba(0, 0, 0, 0.3), 0 17px 17px 0 rgba(0, 0, 0, 0.15)
}

.switcher .switcher-block {
    width: 48px;
    height: 48px;
    background-color: #999;
    position: fixed;
    top: 20px;
    left: 20px;
    border-radius: 4px;
    transition: all 0.5s;
    cursor: pointer;
    overflow: visible
}

.switcher .switcher-block.is-primary {
    background-color: #4FC1EA
}

.switcher .switcher-block.is-secondary {
    background-color: #7F00FF
}

.switcher .switcher-block.is-accent {
    background-color: #7F00FF
}

.switcher .switcher-block:hover {
    width: 200px
}

.switcher .switcher-block:hover .button-text {
    display: block
}

.switcher .switcher-block i {
    position: relative;
    top: 15px;
    left: 15px;
    color: #fff;
    font-size: 1.3rem
}

.switcher .switcher-block .button-text {
    position: absolute;
    top: 13px;
    left: 35%;
    color: #fff;
    display: none
}

/*! _auth.scss | Bulkit | CSS Ninja */
.top-logo {
    height: 40px
}

.intro-section .intro-text .intro-title {
    margin: 15px 0;
    font-size: 18px;
    color: #4FC1EA
}

.intro-section .intro-text .intro-sub {
    padding: 20px 30px;
    font-size: 14px;
    color: #A9ABAC
}

.login {
    padding: 10px 0
}

.column.login-column {
    padding: 0 !important
}

.login-wrapper {
    overflow: hidden !important;
    height: 100%;
    padding: 0;
    margin: 0
}

.login-wrapper.is-gapless:not(:last-child) {
    margin-bottom: 0 !important
}

.hero.login-hero,
.hero.signup-hero {
    background-position: center;
    background-size: auto
}

#signup-banner .hero {
    background: url("https://source.unsplash.com/DWui9DmfCXA/");
    background-position: center;
    background-size: cover;
    background-blend-mode: screen
}

.hero-banner .title {
    padding: 25px;
    padding-top: 25%
}

.hero-banner .subtitle {
    padding: 0 30px
}

.hero-banner img.login-city {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0
}

.hero-banner .button {
    position: relative;
    z-index: 2
}

.signup-hero .title {
    padding: 25px;
    padding-top: 15%
}

.signup-hero .subtitle {
    padding: 0 22%
}

.signup-hero img.mockup {
    position: absolute;
    bottom: -15%;
    left: 0;
    right: 0;
    z-index: 0
}

.signup-hero .already {
    position: absolute;
    top: 0;
    right: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-align: center;
    align-items: center;
    padding: 20px
}

.signup-hero .already span {
    margin-right: 15px;
    color: #fff
}

.signup-hero .already a {
    min-width: 80px
}

.forgot,
.no-account,
.return {
    color: #A9ABAC !important;
    transition: opacity 0.5s
}

.forgot:hover,
.no-account:hover,
.return:hover {
    opacity: 0.8;
    color: #4FC1EA !important
}

.forgot.is-secondary,
.no-account.is-secondary,
.return.is-secondary {
    color: #7F00FF !important
}

.forgot.is-accent,
.no-account.is-accent,
.return.is-accent {
    color: #7F00FF !important
}

.forgot-password a {
    color: #95A5A6;
    font-weight: normal;
    padding-right: 20px;
    transition: all 0.6s
}

.forgot-password a:hover {
    color: #4FC1EA
}

.no-account-link a {
    color: #A9ABAC;
    font-weight: 500
}

.no-account-link a:hover {
    color: #4FC1EA
}

.icon.user,
.icon.password {
    margin: 5px 10px 0 0
}

.checkbox-wrap {
    color: #A9ABAC;
    margin-bottom: 10px
}

.checkbox-wrap span {
    position: relative;
    top: -2px
}

/*! _startup.scss | Bulkit | CSS Ninja */
.Wallop {
    top: -65px
}

.Wallop .Wallop-list {
    width: 100%;
    height: 100%
}

.Wallop .Wallop-item {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    background-size: cover;
    background-repeat: no-repeat
}

.Wallop .Wallop-buttonPrevious,
.Wallop .Wallop-buttonNext {
    position: absolute;
    top: 48%;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 6
}

.Wallop .Wallop-buttonPrevious:hover i,
.Wallop .Wallop-buttonNext:hover i {
    opacity: 0.8;
    -webkit-transform: scale(1.05);
    transform: scale(1.05)
}

.Wallop .Wallop-buttonPrevious i,
.Wallop .Wallop-buttonNext i {
    font-size: 3.5rem;
    color: #fff;
    transition: all .4s
}

.Wallop .Wallop-buttonPrevious:active,
.Wallop .Wallop-buttonPrevious:focus,
.Wallop .Wallop-buttonNext:active,
.Wallop .Wallop-buttonNext:focus {
    outline: none !important
}

.Wallop .Wallop-buttonPrevious {
    left: 20px
}

.Wallop .Wallop-buttonNext {
    right: 20px
}

.Wallop .Wallop-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1
}

.Wallop .Wallop-pagination {
    text-align: center;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    bottom: 40px;
    z-index: 100
}

.Wallop .Wallop-dot {
    text-indent: -9999px;
    border: 0;
    border-radius: 50%;
    width: 12px;
    height: 12px;
    padding: 0;
    margin: 5px;
    background-color: #ccc;
    cursor: pointer;
    -webkit-appearance: none
}

.Wallop .Wallop-dot:active,
.Wallop .Wallop-dot:focus {
    outline: none !important
}

.Wallop .Wallop-dot--current {
    background-color: #4FC1EA
}

.Wallop .Wallop-caption-wrapper {
    -ms-flex-align: center;
    align-items: center;
    min-height: 100vh;
    position: relative;
    z-index: 99
}

.Wallop .Wallop-caption-wrapper .container {
    position: relative;
    min-height: 500px;
    height: 100vh;
    display: -ms-flexbox;
    display: flex
}

.Wallop .Wallop-caption-wrapper .container .caption-inner h1 {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 700;
    font-size: 3.8rem;
    line-height: 3.8rem;
    color: #fff
}

.Wallop .Wallop-caption-wrapper .container .caption-inner .caption-divider {
    width: 30%;
    height: 3px;
    background: #fff;
    margin: 10px 0
}

.Wallop .Wallop-caption-wrapper .container .caption-inner .caption-text {
    color: #fff;
    font-size: 1.05rem;
    font-weight: 400
}

.Wallop .Wallop-caption-wrapper .container .caption-inner .caption-text .action {
    padding: 20px 0
}

.hero-foot.is-pulled {
    margin-top: -65px
}

@media (max-width: 767px) {
    .caption-inner {
        max-width: 100% !important;
        top: 30% !important;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        text-align: center
    }

    .caption-inner .caption-divider {
        height: 3px !important;
        margin: 10px auto !important
    }

    .caption-inner h1 {
        font-size: 3.2rem !important
    }

    .caption-inner .caption-text span {
        margin: 0 20px;
        display: block
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .caption-inner {
        text-align: center;
        position: relative;
        top: 40vh !important
    }

    .caption-inner .caption-divider {
        margin: 10px auto !important;
        height: 3px !important
    }

    .caption-inner .caption-text {
        padding: 0 15%
    }

    .is-tablet-padded {
        padding: 0 20% !important
    }
}

.title.main-title {
    font-family: 'Nexa Bold', sans-serif;
    margin-bottom: 0;
    padding: 20px 0
}

.section-title-wrapper .section-title {
    font-family: 'Nexa Bold', sans-serif;
    margin-bottom: 0;
    padding: 10px 0
}

.section-title-wrapper .subtitle {
    font-family: 'Nexa Light', sans-serif;
    font-size: 1.2rem;
    line-height: 30px;
    font-weight: 400;
    padding: 20px 25%;
    color: #A9ABAC
}

.section-subtitle,
.title.feature-title {
    font-family: 'Nexa Bold', sans-serif !important;
    font-weight: 500 !important;
    font-size: 2rem !important;
    margin-bottom: 0 !important;
    padding: 5px 0 !important
}

@media (max-width: 767px) {
    .section-title-wrapper .subtitle {
        font-size: 1.1rem;
        line-height: 22px;
        padding: 30px 0
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .section-title-wrapper .subtitle {
        padding: 20px 10% !important
    }
}

.parallax-title {
    font-family: 'Nexa Bold', sans-serif;
    font-weight: 600 !important;
    font-size: 2.4rem !important;
    margin-bottom: 0 !important;
    padding: 10px 0
}

.startup-icon-box {
    padding: 20px 0
}

.startup-icon-box i {
    font-size: 3.8rem;
    font-weight: normal;
    color: #4FC1EA
}

.startup-icon-box .box-title {
    font-family: 'Nexa Light', sans-serif;
    font-size: 16px;
    line-height: 22px;
    font-weight: 700;
    color: #444F60;
    padding: 5px 0
}

.startup-icon-box .box-content {
    color: #999
}

.featured-svg {
    max-width: 450px
}

@media (max-width: 767px) {
    .featured-svg {
        max-width: 100% !important
    }
}

.mockup-dots .dot {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: block;
    background-color: #4FC1EA;
    z-index: 5
}

.mockup-dots .dot:before {
    position: absolute;
    background: #4FC1EA;
    content: '';
    top: 0;
    left: 0;
    border: 0;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    -webkit-animation: dotPulse 2s ease-out infinite;
    animation: dotPulse 2s ease-out infinite
}

.mockup-dots .dot.first {
    top: 42%;
    left: 20%
}

.mockup-dots .dot.first:hover+.dot-tip.tip-first {
    display: block
}

.mockup-dots .dot.second {
    top: 65%;
    left: 20%
}

.mockup-dots .dot.second:hover+.dot-tip.tip-second {
    display: block
}

.mockup-dots .dot.third {
    top: 55%;
    right: 20%
}

.mockup-dots .dot.third:hover+.dot-tip.tip-third {
    display: block
}

.mockup-dots .dot-tip {
    padding: 15px 20px;
    background-color: #4FC1EA;
    color: #fff;
    border-radius: 10px 10px 0 10px;
    font-size: 13px;
    display: none;
    z-index: 4
}

.mockup-dots .dot-tip.tip-first {
    position: absolute;
    top: 38%;
    left: 0
}

.mockup-dots .dot-tip.tip-second {
    position: absolute;
    top: 60%;
    left: 0
}

.mockup-dots .dot-tip.tip-third {
    position: absolute;
    top: 50%;
    right: 24%
}

.signup-block .product-hero {
    background-position-x: center !important
}

.signup-block .control {
    position: relative;
    width: 80%
}

.signup-block .control .input {
    height: 50px;
    padding-left: 10px;
    padding-right: 140px;
    font-size: 1rem
}

.signup-block .control .input::-webkit-input-placeholder {
    color: #cecece
}

.signup-block .control .input:-ms-input-placeholder {
    color: #cecece
}

.signup-block .control .input::placeholder {
    color: #cecece
}

.signup-block .control button {
    position: absolute;
    top: 4px;
    right: 5px;
    height: 42px;
    width: 120px;
    font-weight: 600
}

@media (max-width: 768px) {
    .signup-column {
        margin-top: 0 !important;
        text-align: center !important
    }

    .signup-block .control {
        width: 100%
    }
}

.feature-card.is-startup {
    padding: 20px
}

.feature-card.is-startup img {
    margin: 0
}

.integration-cards .feature-card {
    padding: 50px 20px;
    margin-bottom: 20px
}

.integration-cards .brand-logo {
    padding: 10px 0
}

.integration-cards .brand-logo img {
    max-height: 60px;
    max-width: 120px
}

.integration-cards .card-title {
    padding: 10px 0
}

.integration-cards .card-feature-description {
    padding: 0 !important
}

.integration-cards a {
    margin: 20px 0
}

.cta-text {
    font-family: 'Nexa Bold', sans-serif;
    font-size: 1.5rem;
    font-weight: 700
}

.values-cards .feature-card {
    height: 310px
}

.values-cards .card-feature-description {
    font-size: 95%
}

.values-cards .card-icon {
    padding-top: 50px
}

.values-cards .card-icon i {
    font-size: 5rem;
    color: #4FC1EA
}

.values-cards.is-minimal {
    padding: 0 8%
}

.values-cards.is-minimal i {
    color: #444F60;
    font-size: 4.5rem
}

.values-cards.is-minimal .feature-card:hover i {
    color: #4FC1EA
}

@media (max-width: 768px) {
    .values-cards.is-minimal {
        padding: 0 !important
    }
}

.contact-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -ms-flex-align: center;
    align-items: center
}

.contact-card .icon i {
    font-size: 26px;
    color: #7F00FF;
    position: relative
}

.contact-card .contact-info {
    margin: 0 30px
}

.contact-card .contact-info .contact-name {
    color: #cecece
}

.contact-card .contact-info .contact-details .details-text {
    font-size: 16px;
    color: #444F60 !important
}

.modern-team.startup-team .modern-team-item {
    padding: 0 5px;
    width: 33%
}

.modern-team.startup-team .modern-team-item .item-wrapper {
    border: 1px solid #ededed;
    box-shadow: 0 3px 10px 4px rgba(0, 0, 0, 0.04)
}

.modern-team.startup-team .modern-team-item .item-img:before {
    content: "";
    background-color: rgba(79, 193, 234, 0.8)
}

.modern-team.startup-team .modern-team-item img {
    border-radius: 10px
}

.modern-team.startup-team .modern-team-item:hover .item-img {
    border-radius: 10px
}

.modern-team.startup-team .modern-team-item a i {
    color: #4FC1EA
}

.modern-team.startup-team .modern-team-item a:hover i {
    color: #444F60
}

@media (max-width: 767px) {
    .modern-team-item {
        width: auto !important
    }

    #google-map {
        min-height: 50vh
    }
}

.parallax-counter.is-primary i {
    color: #4FC1EA !important
}

.pricing-plan .plan-header {
    text-transform: uppercase;
    font-weight: 400 !important;
    font-family: 'Nexa Bold', sans-serif;
    color: #999
}

/*! _layout-utils.scss | Bulkit | CSS Ninja */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    overflow: hidden !important
}

a,
a:active,
i,
i:active,
div,
div:active,
div:focus,
span:focus,
span:active {
    outline: none !important
}

.button.is-active,
.button:active,
.button:focus {
    box-shadow: none !important
}

section:focus {
    outline: none !important
}

@font-face {
    font-family: 'Nexa Light';
    src: url("../fonts/text/nexa/NexaLight.woff") format("woff"), url("../fonts/text/nexa/NexaLight.ttf") format("truetype")
}

@font-face {
    font-family: 'Nexa Bold';
    font-weight: bold;
    src: url("../fonts/text/nexa/NexaBold.woff") format("woff"), url("../fonts/text/nexa/NexaBold.ttf") format("truetype")
}

#backtotop {
    position: fixed;
    right: 0;
    opacity: 0;
    visibility: hidden;
    bottom: 25px;
    margin: 0 25px 0 0;
    z-index: 9999;
    transition: 0.35s;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    transition: all 0.5s
}

#backtotop.visible {
    opacity: 1;
    visibility: visible;
    -webkit-transform: scale(1);
    transform: scale(1)
}

#backtotop.visible a:hover {
    outline: none;
    opacity: 0.9;
    background: #7F00FF
}

#backtotop a {
    outline: none;
    text-decoration: none;
    border: 0 none;
    display: block;
    width: 46px;
    height: 46px;
    background-color: #66676b;
    opacity: 1;
    transition: all 0.3s;
    border-radius: 50%;
    text-align: center;
    font-size: 26px
}

body #backtotop a {
    outline: none;
    color: #fff
}

#backtotop a:after {
    outline: none;
    content: "\f106";
    font-family: "FontAwesome";
    position: relative;
    display: block;
    top: 50%;
    -webkit-transform: translateY(-55%);
    transform: translateY(-55%)
}

.progress {
    width: 100% !important
}

.progress.primary::-webkit-progress-value {
    background-color: #4FC1EA !important
}

.progress.secondary::-moz-progress-bar {
    background-color: #7F00FF !important
}

::-webkit-input-placeholder {
    color: #cecece
}

::-moz-placeholder {
    color: #cecece
}

:-ms-input-placeholder {
    color: #cecece
}

:-moz-placeholder {
    color: #cecece
}

*::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    width: 10px
}

*::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.2)
}

/*! _helpers.scss | Bulkit | CSS Ninja */
.color-primary {
    color: #4FC1EA !important
}

.color-secondary {
    color: #7F00FF !important
}

.color-accent {
    color: #7F00FF !important
}

.color-red {
    color: #FF7273 !important
}

.border-light {
    border-color: #fff !important
}

.dark-text {
    color: #444F60 !important
}

.light-text {
    color: #fff !important
}

.primary-text {
    color: #4FC1EA !important
}

.secondary-text {
    color: #7F00FF !important
}

.accent-text {
    color: #7F00FF !important
}

.info-text {
    color: #039BE5 !important
}

.success-text {
    color: #00b289 !important
}

.warning-text {
    color: #eda514 !important
}

.danger-text {
    color: #FF7273 !important
}

.dark-bg {
    background: #444 !important
}

.light-bg {
    background: #fff !important
}

.font-w-400 {
    font-weight: 400 !important
}

.font-w-500 {
    font-weight: 500 !important
}

.font-w-600 {
    font-weight: 600 !important
}

.text-decoration-none {
    text-decoration: none !important
}

.text-upper {
    text-transform: uppercase !important
}

.text-bold {
    font-weight: 600 !important
}

.text-bolder {
    font-weight: 700 !important
}

.font-size-normal {
    font-size: 1rem
}

.font-size-2x {
    font-size: 2rem
}

.is-size-1 {
    font-size: 3rem
}

.is-size-2 {
    font-size: 2.5rem
}

.is-size-3 {
    font-size: 2rem
}

.is-size-4 {
    font-size: 1.5rem
}

.is-size-5 {
    font-size: 1.25rem
}

.is-size-6 {
    font-size: 1rem
}

.is-size-7 {
    font-size: 0.75rem
}

.is-flex {
    display: -ms-flexbox;
    display: flex
}

.is-flex.is-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.is-flex.is-center {
    -ms-flex-pack: center;
    justify-content: center
}

.is-flex.is-end {
    -ms-flex-pack: end;
    justify-content: flex-end
}

.is-flex.is-vcenter {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center
}

.is-block {
    display: block !important
}

.z-index-2 {
    z-index: 2 !important
}

.z-index-101 {
    z-index: 101 !important
}

.no-padding {
    padding: 0 !important
}

.no-padding-top {
    padding-top: 0 !important
}

.no-padding-bottom {
    padding-bottom: 0 !important
}

.no-padding-right {
    padding-right: 0 !important
}

.no-padding-left {
    padding-left: 0 !important
}

.padding-10 {
    padding: 10px
}

.padding-15 {
    padding: 15px
}

.padding-20 {
    padding: 20px
}

.padding-25 {
    padding: 25px
}

.padding-30 {
    padding: 30px
}

.padding-40 {
    padding: 40px
}

.padding-50 {
    padding: 50px
}

.padding-60 {
    padding: 60px
}

.padding-70 {
    padding: 70px
}

.padding-80 {
    padding: 80px
}

.padding-90 {
    padding: 90px
}

.padding-100 {
    padding: 100px
}

.pt-5 {
    padding-top: 5px
}

.pt-10 {
    padding-top: 10px
}

.pt-20 {
    padding-top: 20px
}

.pt-30 {
    padding-top: 30px
}

.pt-40 {
    padding-top: 40px
}

.pt-50 {
    padding-top: 50px
}

.pt-60 {
    padding-top: 60px
}

.pt-70 {
    padding-top: 70px
}

.pt-80 {
    padding-top: 80px
}

.pb-5 {
    padding-bottom: 5px
}

.pb-10 {
    padding-bottom: 10px
}

.pb-20 {
    padding-bottom: 20px
}

.pb-30 {
    padding-bottom: 30px
}

.pb-40 {
    padding-bottom: 40px
}

.pb-50 {
    padding-bottom: 50px
}

.pb-60 {
    padding-bottom: 60px
}

.pb-70 {
    padding-bottom: 70px
}

.pb-80 {
    padding-bottom: 80px
}

.pl-5 {
    padding-left: 5px
}

.pl-10 {
    padding-left: 10px
}

.pl-20 {
    padding-left: 20px
}

.pl-30 {
    padding-left: 30px
}

.pl-40 {
    padding-left: 40px
}

.pl-50 {
    padding-left: 50px
}

.pl-60 {
    padding-left: 60px
}

.pl-70 {
    padding-left: 70px
}

.pl-80 {
    padding-left: 80px
}

.pr-5 {
    padding-right: 5px
}

.pr-10 {
    padding-right: 10px
}

.pr-20 {
    padding-right: 20px
}

.pr-30 {
    padding-right: 30px
}

.pr-40 {
    padding-right: 40px
}

.pr-50 {
    padding-right: 50px
}

.pr-60 {
    padding-right: 60px
}

.pr-70 {
    padding-right: 70px
}

.pr-80 {
    padding-right: 80px
}

.huge-pt {
    padding-top: 100px
}

.huge-pb {
    padding-bottom: 100px
}

.giant-pb {
    padding-bottom: 150px
}

.no-margin {
    margin: 0 !important
}

.no-margin-left {
    margin-left: 0 !important
}

.no-margin-right {
    margin-right: 0 !important
}

.no-margin-top {
    margin-top: 0 !important
}

.no-margin-bottom {
    margin-bottom: 0 !important
}

.margin-x-auto {
    margin: 0 auto !important
}

.mr-auto {
    margin-right: auto !important
}

.ml-auto {
    margin-left: auto !important
}

.margin-10 {
    margin: 10px
}

.margin-20 {
    margin: 20px
}

.margin-25 {
    margin: 25px
}

.margin-30 {
    margin: 30px
}

.margin-40 {
    margin: 40px
}

.margin-50 {
    margin: 50px
}

.margin-60 {
    margin: 60px
}

.margin-70 {
    margin: 70px
}

.margin-80 {
    margin: 80px
}

.margin-90 {
    margin: 90px
}

.margin-100 {
    margin: 100px
}

.mt-5 {
    margin-top: 5px
}

.mt-10 {
    margin-top: 10px
}

.mt-20 {
    margin-top: 20px
}

.mt-30 {
    margin-top: 30px
}

.mt-40 {
    margin-top: 40px
}

.mt-50 {
    margin-top: 50px
}

.mt-60 {
    margin-top: 60px
}

.mt-70 {
    margin-top: 70px
}

.mt-80 {
    margin-top: 80px
}

.mt-120 {
    margin-top: 120px
}

.mb-5 {
    margin-bottom: 5px
}

.mb-10 {
    margin-bottom: 10px
}

.mb-20 {
    margin-bottom: 20px
}

.mb-30 {
    margin-bottom: 30px
}

.mb-40 {
    margin-bottom: 40px
}

.mb-50 {
    margin-bottom: 50px
}

.mb-60 {
    margin-bottom: 60px
}

.mb-70 {
    margin-bottom: 70px
}

.mb-80 {
    margin-bottom: 80px
}

.ml-5 {
    margin-left: 5px
}

.ml-10 {
    margin-left: 10px
}

.ml-20 {
    margin-left: 20px
}

.ml-30 {
    margin-left: 30px
}

.ml-40 {
    margin-left: 40px
}

.ml-50 {
    margin-left: 50px
}

.ml-60 {
    margin-left: 60px
}

.ml-70 {
    margin-left: 70px
}

.ml-80 {
    margin-left: 80px
}

.mr-5 {
    margin-right: 5px
}

.mr-10 {
    margin-right: 10px
}

.mr-20 {
    margin-right: 20px
}

.mr-30 {
    margin-right: 30px
}

.mr-40 {
    margin-right: 40px
}

.mr-50 {
    margin-right: 50px
}

.mr-60 {
    margin-right: 60px
}

.mr-70 {
    margin-right: 70px
}

.mr-80 {
    margin-right: 80px
}

.width-40 {
    width: 40px !important
}

.width-100 {
    width: 100px !important
}

.width-250 {
    width: 250px !important
}

.height-30 {
    height: 30px !important
}

.height-60 {
    height: 60px !important
}

.height-60 {
    height: 60px !important
}

.height-70 {
    height: 60px !important
}

.height-80 {
    height: 60px !important
}

.height-90 {
    height: 60px !important
}

.pull-right {
    float: right
}

.pull-left {
    float: left
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0
}

.is-hidden {
    display: none !important
}

.is-vhidden {
    visibility: hidden !important
}

.is-disabled {
    pointer-events: none;
    opacity: 0.4;
    cursor: default !important
}

.stuck {
    position: fixed !important;
    top: 0 !important;
    z-index: 2 !important;
    -webkit-animation-name: translateDown;
    animation-name: translateDown;
    -webkit-animation-duration: 0.4s;
    animation-duration: 0.4s
}

.overflow-auto {
    overflow: auto !important
}

.im.is-icon-xs,
.sl.is-icon-xs,
.material-icons.is-icon-xs {
    font-size: 0.8rem !important
}

.im.is-icon-md,
.sl.is-icon-md,
.material-icons.is-icon-md {
    font-size: 1.5rem !important
}

.im.is-icon-2x,
.sl.is-icon-2x,
.material-icons.is-icon-2x {
    font-size: 2rem
}

.im.is-icon-3x,
.sl.is-icon-3x,
.material-icons.is-icon-3x {
    font-size: 3rem
}

.im.is-icon-4x,
.sl.is-icon-4x,
.material-icons.is-icon-4x {
    font-size: 4rem
}

.im.is-gigantic,
.sl.is-gigantic,
.material-icons.is-gigantic {
    font-size: 12rem
}

.img-circle {
    border-radius: 1000px
}

@media (max-width: 767px) {
    .mobile-padding-20 {
        padding: 20px 30px
    }

    .mobile-padding-40 {
        padding: 40px
    }

    .has-text-centered-mobile {
        text-align: center !important
    }
}

/*! _responsive.scss | Bulkit | CSS Ninja */
@media (max-width: 767px) {
    .section-title-wrapper {
        padding: 40px 0 !important
    }

    .content-wrapper {
        padding-top: 40px !important
    }
}

@media (max-width: 768px) {
    .nav-item.is-tab {
        padding-top: 8px;
        padding-bottom: 8px
    }

    .nav .nav-item.is-tab.is-active,
    .nav-menu.is-active .nav-item.is-tab.is-active {
        border-bottom: none !important;
        color: #4FC1EA !important
    }

    .nav-item.nav-inner {
        padding-top: 15px !important;
        padding-bottom: 15px !important
    }

    a.nav-item.is-not-mobile {
        display: none !important
    }

    .nav-item.is-menu-mobile {
        display: block !important;
        color: #7a7a7a !important
    }

    .navbar.navbar-light.is-dark-mobile {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu a {
        color: #fff
    }

    .navbar .navbar-menu .navbar-link,
    .navbar .navbar-menu .navbar-item,
    .navbar .navbar-menu .navbar-dropdown {
        width: 100%;
        text-align: center
    }

    .navbar .navbar-menu .navbar-link:after {
        display: block !important;
        right: 43%
    }

    .navbar .navbar-menu .button {
        width: 100%
    }

    .navbar-brand {
        min-height: 4.6rem
    }

    .custom-burger {
        display: -ms-flexbox !important;
        display: flex !important
    }

    .navbar-burger {
        height: 4.6rem;
        width: 4.6rem
    }

    .level-left.level-social {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .level-left.level-social .level-item:last-child .icon i {
        position: relative !important
    }

    #main-hero {
        max-height: 100vh;
        background-position-x: 55% !important
    }

    .parallax-overlay {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0 !important
    }

    .title.section-title {
        font-size: 2rem !important
    }

    .hero.is-fullheight.is-halfed-mobile {
        height: 35vh !important
    }

    .three-grid .column,
    .four-grid .column,
    .five-grid .column {
        border: none !important
    }

    .three-grid .is-separator,
    .four-grid .is-separator,
    .five-grid .is-separator {
        border: none !important
    }

    .single-image-carousel .image-wrapper img {
        min-height: 50px !important
    }

    .single-image-carousel .image-wrapper .caption {
        display: none
    }

    .video-caption {
        left: 5%
    }

    #navigation-trigger,
    .navigation-close {
        opacity: 1 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile {
        color: #fff !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile.is-active {
        color: #4FC1EA !important
    }

    .navbar-wrapper.navbar-fade.mobile-menu-dark {
        background-color: #fff !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .columns {
        padding: 0 10%
    }

    .columns.is-tablet-portrait {
        padding: 10%
    }

    .columns.is-not-tablet-portrait {
        padding: 0 !important
    }

    .content-wrapper {
        padding-top: 0 !important
    }
}

@media (max-width: 1007px) {
    .column.slide-description {
        padding: 20px 0 !important
    }

    .account {
        display: none
    }

    .media-card {
        min-height: 300px !important
    }

    .column.is-4.media-stretch {
        width: 100% !important
    }

    .column.is-4.media-stretch .media-card-image {
        min-height: 150px
    }

    .mcard-controls {
        position: relative !important
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    .navbar-brand {
        min-height: 4.6rem;
        height: 4.6rem
    }

    .navbar-brand .custom-burger {
        display: -ms-flexbox;
        display: flex
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active {
        background-color: #344258 !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile {
        color: #fff !important
    }

    .navbar-wrapper.navbar-fade.navbar-light.mobile-menu-dark .nav-menu.is-active .nav-inner.is-menu-mobile.is-active {
        color: #4FC1EA !important
    }

    .navbar-wrapper.navbar-fade.mobile-menu-dark {
        background-color: #fff !important
    }

    .navbar.navbar-light.is-dark-mobile {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu {
        background: #344258
    }

    .navbar.navbar-light.is-dark-mobile .navbar-menu a {
        color: #fff
    }

    .navbar .navbar-menu .navbar-link,
    .navbar .navbar-menu .navbar-item,
    .navbar .navbar-menu .navbar-dropdown {
        width: 100%;
        text-align: center
    }

    .navbar .navbar-menu .navbar-link:after {
        display: block !important;
        right: 43%
    }

    .navbar .navbar-menu .button {
        width: 100%
    }

    .navbar .navbar-menu #signup-btn,
    .navbar .navbar-menu #signup-btn-alt {
        width: 30% !important
    }

    .caption-inner {
        position: relative;
        left: 60px !important
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvcmUuc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtY29sb3JzLnNjc3MiLCJwYXJ0aWFscy9fdGhlbWVzLW1haW4uc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtbmF2YmFyLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LXNlY3Rpb25zLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LWhlcm8uc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LWFuaW1hdGlvbnMuc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtbmF2aWdhdGlvbi5zY3NzIiwicGFydGlhbHMvX2xheW91dC1wYWdlbG9hZGVyLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1idXR0b25zLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1jYXJkcy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtYm94ZXMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLXRhYnMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLXRlc3RpbW9uaWFscy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtZGlhbG9ncy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtZm9ybXMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLXRhYmxlcy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtbGlzdHMuc2NzcyIsInBhcnRpYWxzL19jb21wb25lbnRzLWxhYmVscy5zY3NzIiwicGFydGlhbHMvX2NvbXBvbmVudHMtZHJvcGRvd25zLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1wcmljaW5nLnNjc3MiLCJwYXJ0aWFscy9fY29tcG9uZW50cy1tZXNzYWdlcy5zY3NzIiwicGFydGlhbHMvX2V4dGVuc2lvbnMtY2hlY2tib3hlcy5zY3NzIiwicGFydGlhbHMvX2V4dGVuc2lvbnMtd2FsbG9wLnNjc3MiLCJwYXJ0aWFscy9fcGFnZXMtZGV0YWlscy5zY3NzIiwicGFydGlhbHMvX3BhZ2VzLWF1dGguc2NzcyIsInBhcnRpYWxzL19wYWdlcy1zdGFydHVwLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LXV0aWxzLnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LWhlbHBlcnMuc2NzcyIsInBhcnRpYWxzL19sYXlvdXQtcmVzcG9uc2l2ZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFDQUFxQywrQ0NBVSw2Q0NBRixZQXdEekMseUJBQ0EsK0RBQXFDLENBQ3hDLHFEQU9PLHlCQUNBLHVEQUNBLG9EQXZDdUIsQ0FtQy9CLG1FQU1ZLFVEaERBLENDMENaLHlFQVNZLFVEbkRBLENDb0RILHdDQ3pFK0Isb0JBaUNwQyxXQUFhLENBQ2hCLGdCQXFCRyxXQUNBLGNBRUEsZUFDQSxNQUNBLE9BQ0EsV0FDQSxtQkFBcUIsQ0FSekIsMEJBVVEsMEJBQTRCLENBVnBDLHlCQWFRLGdCQUNBLHFDQUEwQixDQWRsQywwQkFrQlEsZUFDQSxNQUNBLE9BQ0EsV0FDQSxvQ0FBQSxBQUNBLDRCQUFBLFlBQ0EsZ0JBQ0EscUNBQTBCLENBekJsQyxvQ0EyQlksZ0NBQUEsQUFBcUIsdUJBQUEsQ0EzQmpDLDBHQWlDZ0IsbUNBQXFDLENBakNyRCxzSEFtQ29CLFdBQ0EsY0FDQSxRQUNBLFlBQ0EsYUFDQSxrQkFDQSxPQUNBLFNBQ0EsbUJBQ0Esb0JBQXNCLENBNUMxQyxrSUFnRHdCLFVBQ0gsQ0FqRHJCLDhCQXVEUSxzQkFBQSxBQUFvQixrQkFBQSxDQXZENUIsa0NBeURZLFdBQWEsQ0F6RHpCLDZDQTJEZ0IsYUFBZSxDQTNEL0IsNENBOERnQixZQUFjLENBOUQ5QixtRkFvRVksV0FDQSxzQkFBd0IsQ0FyRXBDLHVGQXVFZ0Isc0JBQXdCLENBdkV4QywyQ0E4RWdCLDZCQUErQixDQTlFL0MsNkZBZ0ZvQix3QkFBNEIsQ0FoRmhELDBDQW9GZ0IsY0FBZ0IsQ0FwRmhDLHVDQXVGZ0IsZUFDQSxVRjdHQyxDRXFCakIsbUNBOEZZLGtDQUNBLGFEaElPLENDaUNuQix5Q0FpR2dCLG9CRGxJRyxDQ2lDbkIsbUNBcUdZLGtCQUNBLCtCQUNBLGtCQUNBLGVBQ0EsYUFDQSxxQkFDQSxvQkFDQSxjQUNBLG1CQUNBLGFBQWUsQ0E5RzNCLCtCQWtIUSxpQkFDQSxhQUNBLHFCQUFBLEFBQ0EsdUJBQUEsc0JBQUEsQUFDQSxtQkFBQSxjQUNBLFlBQWMsQ0F2SHRCLHFEQTZIZ0IsMEJBQTZCLENBN0g3QyxvRkFpSVksVUZsS0EsQ0VpQ1osc0dBbUlnQixtQ0FBcUMsQ0FuSXJELGtIQXFJb0IsV0FDQSxjQUNBLFFBQ0EsWUFDQSxXQUNBLGtCQUNBLE9BQ0EsU0FDQSxnQkFDQSxvQkFBc0IsQ0E5STFDLDhIQWtKd0IsVUFDSCxDQW5KckIsZ0RBa0tnQixrQkFDQSwrQkFDQSxrQkFDQSxlQUNBLGFBQ0Esa0JBQ0Esb0JBQ0EsY0FDQSxtQkFDQSxhQUFlLENBM0svQixpREFnTGdCLDBCQUE2QixDQWhMN0MsMENBc0xZLGtCRm5NSyxDRWFqQixpRUF3TGdCLGtCRnJNQyxDRWFqQix1Q0E0TFksa0JGekxFLENFSGQsOERBOExnQixrQkYzTEYsQ0VIZCx5Q0FrTVksa0JEbk9PLENDaUNuQixnRUFvTWdCLGtCRHJPRyxDQ2lDbkIsc0NBd01ZLGtCRnRNQyxDRUZiLDZEQTBNZ0Isa0JGeE1ILENFRmIsdURBK01nQiwwQkFBNkIsQ0EvTTdDLHdGQW1OWSxVRnBQQSxDRWlDWixrREFnT2dCLGtCQUNBLCtCQUNBLGtCQUNBLGVBQ0EsYUFDQSxrQkFDQSxvQkFDQSxjQUNBLG1CQUNBLGFBQWUsQ0F6Ty9CLG1EQThPZ0IsMEJBQTZCLENBOU83QywyQ0FvUFksV0FBYSxDQXBQekIsOENBdVBZLGFGaFJPLENFeUJuQiw2QkE0UFEsZ0JBQ0EscUNBQTBCLENBN1BsQywrQ0FnUWdCLFdBQWEsQ0FoUTdCLDBEQWtRb0IsWUFBYyxDQWxRbEMseURBcVFvQixhQUFlLENBQ2xCLFNBa0xiLGtCQUNBLFdBQ0EsUUFDQSxnQkFBa0IsQ0FKdEIsbUJBTVEsOENBQWdELENBTnhELDRCQVNRLGdCQUNBLG1CQUNBLHdCRjlkWSxDRW1kcEIsZUFjUSx3QkFBOEIsQ0FkdEMsaUJBaUJRLGtCQUNBLFFBQ0EsVUFDQSx5QkFDQSxhRm5lYSxDRThjckIscUJBd0JRLHdCQUEwQixDQUM3QixvQkFPRCxXQUNBLFlBQ0EsaUJBQ0EsZ0JBQ0EscUNBQTBCLENBTDlCLDBCQU9RLGVGOWZJLENFdWZaLDRCQVNZLGlCQUNBLGNBQ0EsK0JBQWlDLENBWDdDLDZCQWNZLGtCQUFvQixDQWRoQyxrQ0FpQlksYUZqZ0JRLENFZ2ZwQix3Q0FvQlksY0FDQSwyQkQzZ0JJLENDc2ZoQiw0Q0F3QlksY0FDQSwrQkQvZ0JJLENDc2ZoQix3Q0E0QlksY0FDQSwrQkRuaEJJLENDb2hCUCxhQVFMLGVBQ0EsV0FDQSxpQkFDQSxrQkFDQSx1QkFDQSxjQUNBLFdBQ0EsWUFDQSxlQUNBLFVBQ0EsY0FDQSx3QkFDQSxVQUNBLGtCQUNBLE9BQVMsQ0FmYiw4QkFpQlEsWUFDQSxXQUNBLHNCQUNBLGtCQUNBLGNBQ0EsV0FDQSxXQUFhLENBdkJyQixpREEyQlksZ0NBQ0EsQUFHQSwyQ0FBb0MsQ0EvQmhELDZEQW9DWSxrQkFDQSxVQUNBLFdBQ0EsUUFBVSxDQXZDdEIsNkRBMkNZLHNCQUNBLFNBQ0EsU0FFQSxpQ0FDQSxBQUdBLDRDQUFvQyxDQW5EaEQsMERBc0RZLHNCQUNBLFNBQ0EsU0FFQSxnQ0FDQSxBQUdBLDJDQUFvQyxDQTlEaEQsK0JBb0VRLGtCQUNBLFdBQ0EsV0FDQSxtQkFDQSxzQkFDQSxTQUNBLFNBRUEsQUFHQSx1QkFBMEIsQ0EvRWxDLDRCQW1GUSxrQkFDQSxXQUNBLFdBQ0EsbUJBQ0Esc0JBQ0EsU0FDQSxRQUNBLEFBR0EsdUJBQTBCLENBN0ZsQywrQkFpR1Esa0JBQ0EsV0FDQSxXQUNBLG1CQUNBLHFCQUNBLFNBQ0EsU0FDQSxBQUdBLHVCQUEwQixDQUM3QiwwQ0M3cEJxQyw0QkFxQmxDLHdCSEtZLENHUnBCLDhCQU1RLHdCSFVjLENHaEJ0Qiw2QkFTUSx3QkhVYSxDR25CckIscUNBWVEsd0JIS3FCLENHakI3Qix5QkFlUSx3QkZiUyxDRUZqQiwyQkFrQlEsd0JGZlcsQ0VIbkIsMkJBc0JRLCtCSEFXLENHdEJuQix3QkF5QlEsNEJISFcsQ0d0Qm5CLHFCQTZCUSxpQkFBbUIsQ0E3QjNCLGtCQWdDUSxnQ0FBa0MsQ0FoQzFDLG1CQW1DUSxvQkFDQSx5QkFDQSwyQkFBNkIsQ0FyQ3JDLHNCQXdDUSxzQkFBd0IsQ0F4Q2hDLHNCQTRDUSx3REFBQSxBQUNBLGdEQUFBLGlCQUFtQixDQTdDM0Isb0JBaURRLFNBQVcsQ0FqRG5CLHlDQW1EWSxzREFBQSxBQUFvQyw2Q0FBQSxDQW5EaEQsc0NBc0RZLGlCQUFtQixDQXREL0IsMEJBMkRRLGdCQUFrQixDQTNEMUIsd0JBK0RRLG9CQUFzQixDQS9EOUIsZ0NBbUVRLGtCQUNBLGlCQUFtQixDQXBFM0Isc0ZBdUVZLGtCQUNBLGtCQUNBLG1CQUNBLFVBQ0EsaUJBQ0Esa0JBQ0EsT0FDQSxRQUNBLGdCQUNBLFVBQ0EsWUFDQSxXQUNBLFlBQ0EsYUFDQSxpQkFBbUIsQ0FyRi9CLHNIQXVGZ0IsZUFBaUIsQ0F2RmpDLDhDQTRGWSx5QkFDQSxjQUNBLHFDQUNBLGdCQUNBLGlCQUFtQixDQWhHL0IsK0NBb0dZLG9CQUFBLEFBQ0EsYUFBQSxxQkFBQSxBQUNBLHVCQUFBLHNCQUFBLEFBQ0EsbUJBQUEsMEJBQUEsQUFBc0Isb0JBQUEsQ0F2R2xDLHdEQXlHZ0Isc0JBQ0EsaUJBQ0EsYUZ4R0csQ0VIbkIseURBOEdnQixzQkFDQSxpQkFDQSxhRjdHRyxDRUhuQiw4QkF1SFksaUJBQ0EsY0FDQSxpQkFDQSxtQ0FBcUMsQ0ExSGpELGlDQTZIWSxpQkFDQSxhSHBIUSxDR1ZwQiw4QkFpSVksaUJBQ0EsY0FDQSxpQkFBbUIsQ0FuSS9CLGtGQXFJZ0Isa0JBQ0EsbUJBQ0EsV0FDQSxVQUNBLGdCQUNBLFVBQ0EsWUFDQSxVQUFZLENBNUk1Qiw4QkFnSlksZ0JBQ0EsY0FDQSxnQkFBa0IsQ0FsSjlCLDBCQXdKUSxpQkFDQSxhRnZKUyxDRUZqQixvQ0E2SlEseUJBQ0EseUJBQ0EsZUFDQSxjQUNBLGVBQWlCLENBakt6Qix3QkFxS1EsY0FDQSxXQUNBLFdBQ0Esa0JGdEtTLENFRmpCLGlDQTBLWSxnQkFBa0IsQ0ExSzlCLG9DQTZLWSxhQUFlLENBN0szQiw2QkFrTFEseUJBQ0EsZ0JBQ0EsY0FDQSwwQkFBNEIsQ0FyTHBDLHNDQXlMUSxhSDNLZSxDR2R2Qix5QkE2TFEsMEJBQTRCLENBN0xwQyx1RUFnTWdCLGNBQ0EsaUJBQ0EsZUFBaUIsQ0FsTWpDLHNFQXFNZ0IsY0FDQSxpQkFDQSxlQUFpQixDQXZNakMsdUJBNk1RLG9CQUFBLEFBQ0EsYUFBQSwwQkFBQSxBQUNBLHFCQUFBLHNCQUFBLEFBQW9CLGtCQUFBLENBL001QixtQ0FpTlkscUJBQUEsQUFBd0Isc0JBQUEsQ0FqTnBDLGtDQW9OWSxvQkFBQSxBQUE0QiwwQkFBQSxDQXBOeEMsZ0NBdU5ZLGtCQUFBLEFBQTBCLHdCQUFBLENBdk50QywyQkEwTlksU0FBVyxDQUNkLG9DQVFMLG9CQUFBLEFBQ0EsYUFBQSxvQkFBQSxBQUNBLDJCQUFBLDBCQUFBLEFBQ0EscUJBQUEsc0JBQUEsQUFBb0Isa0JBQUEsQ0FKeEIsNERBTVEsZ0NBQUEsQUFBbUMsaUNBQUEsQ0FDdEMsU0FPRCxjQUNBLG1CQUNBLGdCQUNBLGNBQWdCLENBSnBCLGlEQU1RLG1CQUNBLFVBQ0EsZ0NBQ0EsbUNBQUEsQUFDQSwyQkFBQSxVSDFPUyxDR2dPakIsbUJBYVEsZUFDQSxlQUNBLGFIek9hLENHME9oQixzQ0NqUmlDLGtCQXNCOUIsaUJBQW1CLENBSDNCLGVBTVEsZ0NBQWtDLENBTjFDLHVCQVVRLHdCSFRTLENHRGpCLDhCQVlZLFVKVkEsQ0lGWixpQ0FlWSxVSmJBLENJRloseUJBb0JRLHdCSGxCVyxDR0ZuQixnQ0FzQlksVUpwQkEsQ0lGWixtQ0F5QlksVUp2QkEsQ0lGWixzQkE4QlEsd0JIM0JRLENHSGhCLDZCQWdDWSxVSjlCQSxDSUZaLGdDQW1DWSxVSmpDQSxDSUZaLG9CQXdDUSx3QkpGTSxDSXRDZCwyQkEwQ1ksVUp4Q0EsQ0lGWiw4QkE2Q1ksVUozQ0EsQ0lGWix1QkFrRFEsd0JKWE8sQ0l2Q2YsOEJBb0RZLFVKbERBLENJRlosaUNBdURZLFVKckRBLENJRlosdUJBNERRLHdCSnBCUSxDSXhDaEIsOEJBOERZLFVKNURBLENJRlosaUNBaUVZLFVKL0RBLENJRlosc0JBc0VRLHdCSmpDSyxDSXJDYiw2QkF3RVksVUp0RUEsQ0lGWixnQ0EyRVksVUp6RUEsQ0lGWixzQkFnRlEsd0JKakVjLENJZnRCLDZCQWtGWSxhSnhFTyxDSVZuQixnQ0FxRlksYUozRU8sQ0lWbkIsb0JBMEZRLHlCQUNBLEFBQ0EsNEVBQWlDLENBNUZ6QyxnQ0E4RlksYUpwRk8sQ0lWbkIsaUNBaUdZLGFIaEdLLENHRGpCLDhCQW9HWSx3QkFDQSxrQkFDQSwwQkFBNEIsQ0F0R3hDLGNBMkdRLHFCSnBGTSxDSXZCZCxxQkE2R1ksVUozR0EsQ0lGWix3QkFnSFksVUo5R0EsQ0krR0gsV0FRTCxpQ0FDQSxzQ0FBd0MsQ0FGNUMsNkJBTVksV0FDQSxZQUNBLGdCQUFrQixDQVI5Qiw0QkFXWSxjQUNBLFlBQ0EsY0FBZ0IsQ0FiNUIsNkJBZ0JZLGdCQUFrQixDQWhCOUIsK0JBbUJZLGdCQUFrQixDQW5COUIsOEJBc0JZLGNBQWdCLENBdEI1QixtQ0E0QlksZ0JBQWtCLENBNUI5QiwwQkFpQ1Esb0JBQUEsQUFDQSxhQUFBLG9CQUFBLEFBQ0EsMkJBQUEsMEJBQUEsQUFDQSxxQkFBQSxzQkFBQSxBQUNBLG1CQUFBLGNBQWdCLENBckN4Qiw4QkF1Q1ksWUFDQSxZQUFjLENBeEMxQixtQ0EyQ1ksZ0NBQUEsQUFBbUMsaUNBQUEsQ0EzQy9DLHVCQWdEUSxpQkFBbUIsQ0FDdEIsNEJBU0csc0JBQXdCLENBQzNCLGtCQVFELGtCQUNBLE1BQ0EsT0FDQSxXQUNBLFlBQ0EsVUFDQSxzQkFDQSxXQUFhLENBQ2hCLHdDQ3ROdUMsbUJBcUJwQyxtQkFDQSxXQUNBLGlCQUFtQixDQUh2Qiw0QkFLUSxpQkFDQSxtQkFBcUIsQ0FON0IsZ0NBU1EsY0FBZ0IsQ0FUeEIsb0NBV1ksV0FBYSxDQVh6QixpREFnQlksY0FBZ0IsQ0FoQjVCLG9EQWtCZ0Isb0NBQ0EsZ0JBQ0EsaUJBQ0EseUJBQ0EsbUJBQ0EsMkJBQ0EsYUxsQkksQ0tOcEIsK0NBNEJZLGlCQUNBLGNBQWdCLENBN0I1QixpREErQmdCLGNBQ0EsZ0JBQ0EsbUJBQXFCLENBakNyQyxzREFvQ2dCLGFMbENLLENLRnJCLG9EQXdDWSxjQUNBLG1CQUFxQixDQXpDakMsc0RBMkNnQixjQUFnQixDQTNDaEMsMkRBOENnQixhTDVDSyxDS0ZyQiw2Q0FrRFksY0FBZ0IsQ0FDbkIsb0JBUUwsZ0JBQ0EsY0FDQSxpQkFBbUIsQ0FIdkIsNkJBS1EsaUJBQ0EsbUJBQXFCLENBTjdCLGlDQVNRLGNBQWdCLENBVHhCLHFDQVdZLFdBQWEsQ0FYekIsa0RBZ0JZLGNBQWdCLENBaEI1QixxREFrQmdCLG9DQUNBLGdCQUNBLGlCQUNBLHlCQUNBLG1CQUNBLDJCQUNBLGFMekVHLENLaURuQixnREE0QlksaUJBQ0EsY0FBZ0IsQ0E3QjVCLGtEQStCZ0IsY0FDQSxnQkFDQSxtQkFBcUIsQ0FqQ3JDLHVEQW9DZ0IsYUo5RkMsQ0kwRGpCLHFEQXdDWSxXQUNBLG1CQUFxQixDQXpDakMsdURBMkNnQixjQUFnQixDQTNDaEMsNERBOENnQixhSnZHRyxDSXlEbkIsOENBa0RZLGNBQWdCLENBQ25CLDBCQU1MLCtCQUNJLDhCQUFBLEFBQTJCLHlCQUFBLENBQzlCLENBTUwseUJBQ0ksOEJBQWdDLENBRHBDLDJDQUdRLG9CQUFBLEFBQ0EsYUFBQSxrQkFBQSxBQUNBLHlCQUFBLDBCQUFBLEFBQ0EscUJBQUEsc0JBQUEsQUFBb0Isa0JBQUEsQ0FONUIsNERBUVksY0FDQSxlQUNBLHlCQUNBLG1DQUFxQyxDQVhqRCxrRUFhZ0Isc0JBQ0EsNEJMNUhDLENLOEdqQixzRUFpQmdCLHlCQUNBLDBDQUE0QyxDQWxCNUQsMkNBd0JRLGNBQ0EsbUJBQXFCLENBekI3QixrREEyQlksYUp0SkssQ0kySGpCLCtCQStCUSxVTDdJUyxDSzhJWiwwQkFLRCxrQkFDSSx1QkFBeUIsQ0FDNUIsQ0FNTCx3QkFDSSwrQkFDQSxrQkxqS2UsQ0srSm5CLDBDQUlRLG9CQUFBLEFBQ0EsYUFBQSxrQkFBQSxBQUNBLHlCQUFBLDBCQUFBLEFBQ0EscUJBQUEsc0JBQUEsQUFBb0Isa0JBQUEsQ0FQNUIsMkRBU1ksY0FDQSxlQUNBLHNCQUNBLG1DQUFxQyxDQVpqRCxpRUFjZ0IseUJBQ0EsNEJMdExKLENLdUtaLHFFQWtCZ0IseUJBQ0EsMENBQTRDLENBbkI1RCwwQ0F5QlEsV0FDQSxtQkFBcUIsQ0ExQjdCLGlEQTRCWSxhSnBNSyxDSXdLakIsOEJBZ0NRLFVMdk1JLENLd01QLDJCQVFELGdDQUNBLDRCQUNBLGVMbE5RLENLK01aLHlDQUtRLG9CQUFBLEFBQ0EsYUFBQSxvQkFBQSxBQUNBLDJCQUFBLHNCQUFBLEFBQW9CLGtCQUFBLENBUDVCLDJDQVNZLGNBQ0EsWUFBYyxDQVYxQixpREFZZ0IsYUo1TkMsQ0lnTmpCLCtDQWlCUSxhTHpOWSxDS3dNcEIsMENBb0JRLGdCQUFrQixDQXBCMUIseURBc0JZLHFDQUNBLHlCQUNBLGNBQ0EsZUFDQSxnQkFDQSxhQUFlLENBM0IzQix1REE4QlksbUJBQXFCLENBOUJqQyx5REFnQ2dCLGFMeE9JLENLd01wQiwrREFrQ29CLGFKbFBILENJZ05qQixpQ0F3Q1EsVUwzT1MsQ0ttTWpCLDhDQTJDUSxXQUFhLENBQ2hCLDRDQ2hSdUMsVUFvQ3hDLHdCQUNBLHlCQUNBLGdDQUNBLGdDQUFrQyxDQUNyQyxpQ0FRRyxLQUNJLDBDQUNBLGlDQUFzQixDQUUxQixHQUNJLHVDQUNBLDhCQUFzQixDQUFBLENBRzlCLHlCQUNJLEtBQ0ksMENBQ0EsaUNBQXNCLENBRTFCLEdBQ0ksdUNBQ0EsOEJBQXNCLENBQUEsQ0FJOUIsZUFDSSxxQ0FDQSw2QkFDQSxnQ0FDQSx3QkFDQSxBQUNBLDJEQUEwQyxDQUM3QyxpQ0FRRyxLQUNJLDRDQUNBLG1DQUFzQixDQUUxQixHQUNJLHVDQUNBLDhCQUFzQixDQUFBLENBRzlCLHlCQUNJLEtBQ0ksNENBQ0EsbUNBQXNCLENBRTFCLEdBQ0ksdUNBQ0EsOEJBQXNCLENBQUEsQ0FJOUIsZUFFSSxxQ0FDQSw2QkFFQSxnQ0FDQSx3QkFFQSxBQUNBLDJEQUEwQyxDQUM3QywrQkFRRyxLQUNJLDBDQUNBLGlDQUFzQixDQUUxQixHQUNJLHVDQUNBLDhCQUFzQixDQUFBLENBRzlCLHVCQUNJLEtBQ0ksMENBQ0EsaUNBQXNCLENBRTFCLEdBQ0ksdUNBQ0EsOEJBQXNCLENBQUEsQ0FJOUIsYUFDSSxtQ0FDQSwyQkFDQSxnQ0FDQSx3QkFDQSxBQUNBLDJEQUEwQyxDQUM3QywwQkFRRyxLQUNJLFNBQVcsQ0FFZixHQUNJLFNBQVcsQ0FBQSxDQUduQixrQkFDSSxLQUNJLFNBQVcsQ0FFZixHQUNJLFNBQVcsQ0FBQSxDQUluQixRQUNJLFVBQ0EsOEJBQ0EscUJBQXVCLENBQzFCLDhCQVFHLEtBQ0ksMENBQ0Esa0NBQ0EsU0FBVyxDQUVmLEdBQ0ksdUNBQ0EsK0JBQ0EsU0FBVyxDQUFBLENBR25CLHNCQUNJLEtBQ0ksMENBQ0Esa0NBQ0EsU0FBVyxDQUVmLEdBQ0ksdUNBQ0EsK0JBQ0EsU0FBVyxDQUFBLENBSW5CLGVBQ0ksU0FBVyxDQUNkLFlBR0csVUFDQSxrQ0FDQSx5QkFBMkIsQ0FDOUIsK0JBUUcsS0FDSSwyQ0FDQSxtQ0FDQSxTQUFXLENBRWYsR0FDSSx1Q0FDQSwrQkFDQSxTQUFXLENBQUEsQ0FHbkIsdUJBQ0ksS0FDSSwyQ0FDQSxtQ0FDQSxTQUFXLENBRWYsR0FDSSx1Q0FDQSwrQkFDQSxTQUFXLENBQUEsQ0FJbkIsZ0JBQ0ksU0FBVyxDQUNkLGFBR0csVUFDQSxtQ0FDQSwwQkFBNEIsQ0FDL0IsNEJBUUcsS0FDSSwwQ0FDQSxpQ0FBc0IsQ0FFMUIsR0FDSSx1Q0FDQSwrQkFDQSxTQUFXLENBQUEsQ0FHbkIsb0JBQ0ksS0FDSSwwQ0FDQSxpQ0FBc0IsQ0FFMUIsR0FDSSx1Q0FDQSwrQkFDQSxTQUFXLENBQUEsQ0FJbkIsYUFDSSxTQUFXLENBQ2QsVUFHRyxVQUNBLGdDQUNBLHVCQUF5QixDQUM1Qiw4QkFRRyxLQUNJLDJDQUNBLGtDQUFzQixDQUUxQixHQUNJLHVDQUNBLCtCQUNBLFNBQVcsQ0FBQSxDQUduQixzQkFDSSxLQUNJLDJDQUNBLGtDQUFzQixDQUUxQixHQUNJLHVDQUNBLCtCQUNBLFNBQVcsQ0FBQSxDQUluQixlQUNJLFNBQVcsQ0FDZCxZQUdHLFVBQ0Esa0NBQ0EseUJBQTJCLENBQzlCLDZCQVFHLEtBQ0ksMENBQ0EsaUNBQXNCLENBRTFCLEdBQ0ksdUNBQ0EsK0JBQ0EsU0FBVyxDQUFBLENBR25CLHFCQUNJLEtBQ0ksMENBQ0EsaUNBQXNCLENBRTFCLEdBQ0ksdUNBQ0EsK0JBQ0EsU0FBVyxDQUFBLENBSW5CLGNBQ0ksU0FBVyxDQUNkLFdBR0csVUFDQSxpQ0FDQSx3QkFBMEIsQ0FDN0IsNEJBUUcsS0FDSSxrQ0FDQSx5QkFBb0IsQ0FDeEIsSUFDSSxxQ0FDQSw0QkFBb0IsQ0FDeEIsR0FDSSxrQ0FDQSx5QkFBb0IsQ0FBQSxDQUU1QixvQkFDSSxLQUNJLGtDQUNBLHlCQUFvQixDQUN4QixJQUNJLHFDQUNBLDRCQUFvQixDQUN4QixHQUNJLGtDQUNBLHlCQUFvQixDQUFBLENBRTVCLFVBQ0ksZ0NBQ0Esd0JBQ0EsOEJBQ0Esc0JBQ0EsMkNBQ0EsbUNBQ0EsOENBQ0EscUNBQXVDLENBQzFDLDRCQVFHLFFBQVcsNkJBQXdCLENBQ25DLElBQU0saUNBQXdCLENBQzlCLElBQU0saUNBQXdCLENBQzlCLElBQU0sbUNBQXdCLENBQUEsQ0FFbEMsb0JBQ0ksUUFBVyw4QkFBQSxBQUFnQixxQkFBQSxDQUMzQixJQUFNLGtDQUFBLEFBQWdCLHlCQUFBLENBQ3RCLElBQU0sa0NBQUEsQUFBZ0IseUJBQUEsQ0FDdEIsSUFBTSxvQ0FBQSxBQUFnQiwyQkFBQSxDQUFBLENBRzFCLFVBQ0ksZ0NBQ0Esd0JBQ0EsZ0NBQ0Esd0JBQ0EsaUNBQ0Esd0JBQTBCLENBQzdCLDBCQVFHLFFBQVcsNkJBQXdCLENBQ25DLElBQU0saUNBQXdCLENBQzlCLElBQU0sK0JBQXdCLENBQUEsQ0FFbEMsa0JBQ0ksUUFBVyw4QkFBQSxBQUFnQixxQkFBQSxDQUMzQixJQUFNLGtDQUFBLEFBQWdCLHlCQUFBLENBQ3RCLElBQU0sZ0NBQUEsQUFBZ0IsdUJBQUEsQ0FBQSxDQUcxQixRQUNJLDhCQUNBLHNCQUNBLGdDQUNBLHdCQUNBLGlDQUNBLHdCQUEwQixDQUM3Qiw0QkFRRyxHQUNJLDJCQUNBLG1CQUNBLFNBQVcsQ0FFZixLQUNJLDZCQUNBLHFCQUNBLFNBQVcsQ0FBQSxDQUduQixvQkFDSSxHQUNJLDJCQUNBLG1CQUNBLFNBQVcsQ0FFZixLQUNJLDZCQUNBLHFCQUNBLFNBQVcsQ0FBQSxDQVNuQiw0QkFDSSxLQUFPLDBCQUF3QixDQUMvQixJQUFNLDZCQUF3QixDQUM5QixJQUFNLDZCQUF3QixDQUM5QixJQUFNLDZCQUF3QixDQUM5QixHQUFLLHNCQUF3QixDQUFBLENBRWpDLG9CQUNJLEtBQU8sMkJBQUEsQUFBZ0Isa0JBQUEsQ0FDdkIsSUFBTSw4QkFBQSxBQUFnQixxQkFBQSxDQUN0QixJQUFNLDhCQUFBLEFBQWdCLHFCQUFBLENBQ3RCLElBQU0sOEJBQUEsQUFBZ0IscUJBQUEsQ0FDdEIsR0FBSyx1QkFBQSxBQUFnQixjQUFBLENBQUEsQ0FHekIsVUFDSSxnQ0FDQSx1QkFBeUIsQ0FDNUIsMkJBUUcsS0FBTywwQkFBd0IsQ0FDL0IsR0FBSywwQkFBd0IsQ0FBQSxDQUVqQyxtQkFDSSxLQUFPLDJCQUFBLEFBQWdCLGtCQUFBLENBQ3ZCLEdBQUssMkJBQUEsQUFBZ0Isa0JBQUEsQ0FBQSxDQUd6QixTQUVJLCtCQUNBLHVCQUNBLHVFQUNBLDhEQUF1QyxDQUMxQyxpQ0FRRyxLQUFPLDBCQUF3QixDQUMvQixHQUFLLDBCQUF3QixDQUFBLENBRWpDLHlCQUNJLEtBQU8sMkJBQUEsQUFBZ0Isa0JBQUEsQ0FDdkIsR0FBSywyQkFBQSxBQUFnQixrQkFBQSxDQUFBLENBR3pCLGVBRUkscUNBQ0EsNkJBQ0EsdUVBQ0EsOERBQXVDLENBQzFDLDRCQVFHLEtBQU8sMEJBQXdCLENBQy9CLEdBQUssMEJBQXdCLENBQUEsQ0FFakMsb0JBQ0ksS0FBTywyQkFBQSxBQUFnQixrQkFBQSxDQUN2QixHQUFLLDJCQUFBLEFBQWdCLGtCQUFBLENBQUEsQ0FHekIsVUFDSSxnQ0FDQSx1QkFBeUIsQ0FDNUIsMkJBUUcsR0FBSSxrQ0FBb0MsV0FBYSxDQUNyRCxJQUFLLFdBQWEsQ0FDbEIsS0FBTSxrQ0FBb0MsV0FBYSxDQUFBLENBRzNELFNBQ0ksc0NBQUEsQUFDQSw4QkFBQSwyQ0FBQSxBQUNBLG1DQUFBLFdBQWEsQ0FDaEIsU0FPRyw2QkFBQSxBQUFzQixvQkFBQSxDQUN6QixTQUVHLDRCQUFBLEFBQXFCLG1CQUFBLENBQ3hCLFNBRUcsNkJBQUEsQUFBc0Isb0JBQUEsQ0FDekIsU0FFRywyQkFBQSxBQUFvQixrQkFBQSxDQUN2QixTQUVHLDhCQUFBLEFBQXVCLHFCQUFBLENBQzFCLFNBRUcsNkJBQUEsQUFBc0Isb0JBQUEsQ0FDekIsU0FFRyw4QkFBQSxBQUF1QixxQkFBQSxDQUMxQixTQUVHLDhCQUFBLEFBQXVCLHFCQUFBLENBQzFCLFNBRUcsNkJBQUEsQUFBc0Isb0JBQUEsQ0FDekIsVUFFRyw4QkFBQSxBQUF1QixxQkFBQSxDQUMxQixVQUVHLDJCQUFBLEFBQW9CLGtCQUFBLENBQ3ZCLDRDQ3puQjJDLHNCQWlCeEMsb0JBQUEsQUFDQSxhQUFBLG9CQUFBLEFBQ0EsMkJBQUEsbUJBQ0EsZUFDQSxNQUNBLFNBQ0EsT0FDQSxZQUNBLGdCQUNBLHFDQUFBLEFBQ0EsNkJBQUEsQUFDQSw2QkFDQSxrQ0FBQSxBQUNBLDBCQURBLEFBQ0Esa0RBQUEsWUFBYSxDQWRqQixnQ0FpQlEsZ0NBQUEsQUFBcUIsdUJBQUEsQ0FqQjdCLDZDQXFCUSxZQUNBLGtCQUNBLFdBQ0Esa0JObkJXLENNTG5CLDhEQTJCZ0IsV0FBYSxDQTNCN0IsMEVBNkJvQixvQkFBQSxBQUNBLGFBQUEscUJBQUEsQUFDQSx1QkFBQSxzQkFBQSxBQUFvQixrQkFBQSxDQS9CeEMsOEVBaUN3QixlQUFpQixDQWpDekMsNEVBcUNvQixvQkFBQSxBQUNBLGFBQUEscUJBQUEsQUFDQSx1QkFBQSxzQkFBQSxBQUNBLG1CQUFBLGNBQWdCLENBeENwQyw4RUEwQ3dCLGVBQ0EsVVB0Q1osQ09MWixrRkE4Q3dCLGtCQUFrQixDQTlDMUMsd0VBa0RvQixlQUFrQixDQWxEdEMscURBd0RZLGtCQUNBLE9BQ0EsU0FDQSxVQUFZLENBM0R4Qix3REE2RGdCLG9CQUFBLEFBQ0EsYUFBQSxzQkFBQSxBQUNBLG1CQUFBLHFCQUFBLEFBQ0EsdUJBQUEsaUJBQW1CLENBaEVuQyx1REFtRWdCLGtCQUNBLFNBQVcsQ0FwRTNCLHVFQXVFZ0IsV0FDQSxZQUNBLG9CQUNBLGNBQ0EsbUJBQ0EsMkJBQUEsQUFDQSxtQkFBQSxpQ0FBQSxBQUEwQix5QkFBMUIsQUFBMEIsK0NBQUEsQ0E3RTFDLDZFQStFb0IsNkJBQUEsQUFBZ0Isb0JBQUEsQ0EvRXBDLCtDQXNGUSxZQUNBLFdBQ0EsaUJBQW1CLENBeEYzQixrRUEwRlksWUFDQSxTQUNBLFVBQ0EsZ0JBQ0EsZ0JBQ0EscUJBQ0EsYUFBZSxDQWhHM0IscUZBa0dnQixVQUFZLENBbEc1QiwyRkFxR2dCLGtCQUNBLGdDQUFnQixDQXRHaEMsdUVBMkdZLFlBQ0EsV0FDQSxvQkFBQSxBQUNBLGFBQUEsc0JBQUEsQUFDQSxtQkFBQSxrQkFDQSx5QkFDQSxnQkFDQSxjQUNBLG1CQUNBLGFBQWUsQ0FwSDNCLDRHQXNIZ0IsZVBqSEosQ09MWix5RkF5SGdCLFNBQVcsQ0F6SDNCLDBFQThIWSxrQkFDQSxXQUNBLGNBQWdCLENBaEk1QixxRUFtSVksa0JBQ0EsY0FDQSxxQkFDQSxXQUNBLG9CQUFBLEFBQ0EsYUFBQSxzQkFBQSxBQUFvQixrQkFBQSxDQXhJaEMsZ0ZBMElnQixpQkFBbUIsQ0ExSW5DLGlGQTZJZ0IsdUJBQ0EsaUJBQW1CLENBOUluQyxnR0FpSndCLFdBQ0Esa0JBQ0EsU0FDQSxVQUNBLFVBQ0EsV0FDQSxrQkFDQSxtQkFDQSxzQ0FBQSxBQUNBLDhCQUFBLDJDQUFBLEFBQ0EsbUNBQUEsV0FBYSxDQTNKckMsMkVBaUtZLGtCQUFtQixDQWpLL0IsNEZBcUtZLHdCQUEwQyxDQXJLdEQsd01BdUtnQix3QkFBMEMsQ0F2SzFELGtFQTJLWSxXQUFhLENBM0t6QixrRkE4S1kseUJBQ0EsNkJBQ0EsYUFBZSxDQWhMM0Isb0xBa0xnQixhTjdLRyxDTUxuQixrR0FxTGdCLGlCQUFtQixDQXJMbkMsd0dBdUxvQixjQUNBLGtCQUNBLFdBQ0EsbUJBQ0EsVUFDQSxlQUNBLGdCQUNBLGtCQUNBLGdCQUNBLFVBQVksQ0FoTWhDLGlHQW9NZ0IsaUJBQW1CLENBcE1uQyx1R0FzTW9CLGNBQ0Esa0JBQ0EsV0FDQSxtQkFDQSxVQUNBLGVBQ0EsZ0JBQ0Esa0JBQ0EsZ0JBQ0EsVUFBWSxDQS9NaEMsNkVBb05ZLFdBQ0EsaUJBQW1CLENBck4vQixpSEF3TlksaUJBQW1CLENBeE4vQix5RUEyTlksa0JBQ0EsV0FDQSxnQkFDQSxXQUNBLG1CQUNBLGNBQ0EsZUFBaUIsQ0FqTzdCLGtGQXNPWSxnQ0FDQSx1QkFBaUIsQ0F2TzdCLHNFQTBPWSxrQkFBbUIsQ0ExTy9CLGlGQTZPWSxZQUFjLENBQ2pCLDRDQzlQbUMsWUFrQnhDLGVBQ0EsTUFDQSxRQUNBLFNBQ0EsT0FDQSx5QkFDQSxlQUNBLDRDQUNBLG9DQUNBLHNFQUNBLG9DQUNBLDRCQUNBLHFCQUF1QixDQWIzQixzQkFnQlEsZ0NBQ0EsdUJBQXFCLENBakI3Qix1Q0FxQlEsa0JBQ0EsUUFDQSxTQUNBLGNBQ0EsbUJBQ0EsV0FDQSxjQUFnQixDQTNCeEIsbUJBK0JRLGtCQUNBLG1CQUNBLFlBQ0EsYUFDQSx1Q0FDQSx3Q0FDQSwyREFDQSxrREFBb0QsQ0F0QzVELG9CQTBDUSxpQkFDQSxrQkFDQSxXQUNBLFlBQ0Esc0JBQ0EsMERBQ0EsaURBQW1ELENBQ3RELHFDQUlELE9BQ0ksMkJBQ0Esa0JBQWdCLENBR3BCLEtBQ0ksMkJBQ0EsbUJBQ0EsU0FBVyxDQUFBLENBSW5CLDZCQUNJLE9BQ0ksMkJBQ0Esa0JBQWdCLENBR3BCLEtBQ0ksMkJBQ0EsbUJBQ0EsU0FBVyxDQUFBLENBSW5CLHFDQUNJLEdBQ0ksMkJBQ0Esa0JBQWdCLENBR3BCLFNBQ0ksMkJBQ0EsbUJBQ0EsU0FBVyxDQUFBLENBSW5CLDZCQUNJLEdBQ0ksMkJBQ0Esa0JBQWdCLENBR3BCLFNBQ0ksMkJBQ0EsbUJBQ0EsU0FBVyxDQUFBLENBT25CLGFBQ0ksZUFDQSxNQUNBLFFBQ0EsU0FDQSxPQUNBLHNCQUNBLFdBQ0EsVUFDQSx1QkFBeUIsQ0FUN0IsdUJBWVEsVUFDQSxjQUFnQixDQUNuQix5Q0MxSW9DLFFBNEJyQyxtQkFBcUIsQ0FEekIsc0JBSVEsNEJBQThCLENBSnRDLDJDQU1ZLGlCQUNBLGVBQWlCLENBUDdCLG1CQVlRLDRCQUE4QixDQVp0Qyx3Q0FjWSxpQkFDQSxlQUFpQixDQWY3QixjQW9CUSx3QkFBMEIsQ0FwQmxDLHNCQXdCUSw0QkFBOEIsQ0F4QnRDLGtCQTRCUSx5QkFBMkIsQ0E1Qm5DLHFCQStCUSwwQkFBNEIsQ0EvQnBDLHFCQWtDUSwwQkFBNEIsQ0FsQ3BDLGtCQXNDUSx3QkFBMEIsQ0F0Q2xDLGdCQTBDUSxtQkFBcUIsQ0ExQzdCLHFCQThDUSx5SEFDQSxXQUFhLENBL0NyQixrQkFtRFEsd0hBQW9JLENBbkQ1SSx1QkF1RFEsV0FBYSxDQXZEckIscUJBMkRRLHNCQUF3QixDQTNEaEMsK0JBOERZLGtCQUNBLFVUckVBLENTTVoscUNBaUVnQixzQkFDQSxhVGhFRyxDU0ZuQiw2QkF1RVksaUJBQ0EsZUFBaUIsQ0F4RTdCLG9CQTZFUSxxQ0FBdUMsQ0E3RS9DLG9CQWlGUSx3QkFBOEIsQ0FqRnRDLGdCQXFGUSwrQkFBaUMsQ0FyRnpDLHlCQXlGUSxnQkFBa0IsQ0F6RjFCLGNBNkZRLGlCVGxGWSxDU1hwQixVQWlHUSxrQkFDQSxRQUNBLGlCQUFtQixDQW5HM0IsbUJBdUdZLGtCQUNBLGlCQUNBLGdCQUFrQixDQXpHOUIscUJBNkdRLHlCQUNBLHNCQUNBLDRCQUE4QixDQUNqQyxtQkFPRCxXQUNBLFlBQ0EsNkJBQ0Esb0JBQUEsQUFDQSxhQUFBLHFCQUFBLEFBQ0EsdUJBQUEsc0JBQUEsQUFBb0Isa0JBQUEsQ0FOeEIsNEJBU1EsV0FDQSxXQUFhLENBVnJCLDZCQWFRLFdBQ0EsV0FBYSxDQWRyQiw0QkFpQlEsV0FDQSxXQUFhLENBbEJyQixxQkF1QlEsZUFDQSxvQkFBc0IsQ0F4QjlCLDhCQTRCUSxjQUFnQixDQTVCeEIsK0JBK0JRLGNBQWdCLENBL0J4Qiw4QkFtQ1EsY0FBZ0IsQ0FDbkIsZ0JBT0QsaUNBQW1DLENBRHZDLHlCQUdRLCtCQUFpQyxDQUh6QyxnQ0FPWSxjQUNBLGlCQUNBLGtCQUNBLFFBQ0EseUJBQ0EsbUJBQXFCLENBWmpDLHNCQWdCUSw2QkFBaUMsQ0FoQnpDLHdCQWtCWSxxQ0FBQSxBQUFvQiw0QkFBQSxDQUN2QixvQkFRTCxhQUNBLHFCQUNBLHlCQUNBLFdBQ0EsbUJBQXFCLENBTHpCLDBCQU9RLFVUdk1JLENTZ01aLGlDQVVRLG1JQUNBLGVBQWMsQ0FYdEIsaUNBY1EscUJBQ0EsY0FDQSw0QkFBOEIsQ0FoQnRDLHVDQWtCWSxXQUNBLHdCUnBOSyxDUWlNakIsMEJBdUJRLG9CUnhOUyxDUXlOWixzQkFPRCxhQUNBLHFCQUNBLHlCQUNBLFdBQ0EsbUJBQXFCLENBTHpCLDRCQU9RLFVUck9JLENTOE5aLG1DQVVRLG1JQUNBLFlBQWMsQ0FYdEIsbUNBY1EscUJBQ0EsY0FDQSw0QkFBOEIsQ0FoQnRDLHlDQWtCWSxXQUNBLHdCUmpQTyxDUThObkIsNEJBdUJRLG9CUnJQVyxDUXNQZCxtQkFPRCxhQUNBLHFCQUNBLHlCQUNBLFdBQ0EsbUJBQXFCLENBTHpCLHlCQU9RLFVUblFJLENTNFBaLGdDQVVRLGlJQUNBLFdBQWEsQ0FYckIsZ0NBY1EscUJBQ0EsY0FDQSw0QkFBOEIsQ0FoQnRDLHNDQWtCWSxXQUNBLHdCUjlRSSxDUTJQaEIseUJBdUJRLG9CUmxSUSxDUW1SWCxvQkFPRCxhQUNBLHFCQUNBLHlCQUNBLFdBQ0EsbUJBQXFCLENBTHpCLDBCQU9RLFVUalNJLENTMFJaLGlDQVVRLGlJQUNBLFdBQWEsQ0FYckIsaUNBY1EscUJBQ0EsY0FDQSw0QkFBOEIsQ0FoQnRDLHVDQWtCWSxXQUNBLHdCVHhRRyxDU3FQZiwwQkF1QlEsb0JUNVFPLENTNlFWLG9CQU9ELGFBQ0EscUJBQ0EseUJBQ0EsV0FDQSxtQkFBcUIsQ0FMekIsMEJBT1EsVVQvVEksQ1N3VFosaUNBVVEsbUlBQ0EsV0FBYSxDQVhyQixpQ0FjUSxxQkFDQSxjQUNBLDRCQUE4QixDQWhCdEMsdUNBa0JZLFdBQ0Esd0JUclNJLENTa1JoQiwwQkF1QlEsb0JUelNRLENTMFNYLG1CQU9ELGFBQ0EscUJBQ0EseUJBQ0EsV0FDQSxtQkFBcUIsQ0FMekIseUJBT1EsVVQ3VkksQ1NzVlosZ0NBVVEscUlBQ0EsV0FBYSxDQVhyQixnQ0FjUSxxQkFDQSxjQUNBLDRCQUE4QixDQWhCdEMsc0NBa0JZLFdBQ0Esd0JUdFVDLENTbVRiLHlCQXVCUSxvQlQxVUssQ1MyVVIsaUJBT0QsYUFDQSxxQkFDQSx5QkFDQSxXQUNBLG1CQUFxQixDQUx6Qix1QkFPUSxVVDNYSSxDU29YWiw4QkFVUSxpSUFDQSxXQUFhLENBWHJCLDhCQWNRLHFCQUNBLGNBQ0EsNEJBQThCLENBaEJ0QyxvQ0FrQlksV0FDQSx3QlRuV0UsQ1NnVmQsdUJBdUJRLG9CVHZXTSxDU3dXVCxtQkFPRCxVVG5aUSxDU2taWiw0QkFHUSx3QlR6V1UsQ1NzV2xCLDJCQU1RLHdCVDNXUyxDU3FXakIsNEJBU1Esd0JUN1dVLENTb1dsQiwwQkFZUSx3QlQvV1EsQ1NtV2hCLDBCQWVRLHFCVGpYSyxDU2tYUixRQU9ELGVBQWdCLENBQ25CLGVBR0csa0JBQ0Esa0JBQ0EsV0FDQSxZQUNBLGlCQUNBLHNDQUFBLEFBQStCLDZCQUFBLENBQ2xDLG9DQUlHLEtBQ0ksMkJBQUEsQUFDQSxtQkFBQSxXQUFhLENBRWpCLEdBQ0ksNkJBQUEsQUFDQSxxQkFBQSxTQUFXLENBQUEsQ0FWbEIsQUN4Y0QsNEJENGNJLEtBQ0ksMkJBQUEsQUFDQSxtQkFBQSxXQUFhLENBRWpCLEdBQ0ksNkJBQUEsQUFDQSxxQkFBQSxTQUFXLENBQUEsQ0NsZG5CLHVDQUF1QyxjQXdCbkMsWUFDQSxhQUNBLHNCQUNBLGtCQUNBLGNBQ0EsbUJBQXFCLENBTnpCLHNCQVNRLFlBQWMsQ0FUdEIsc0JBWVEsWUFBYyxDQVp0QiwwQkFnQlEsbURBQXdELENBaEJoRSxnQ0FtQlEsb0ZBQ0EsY0FBZ0IsQ0FwQnhCLDZCQXdCUSxtQ0FBcUMsQ0F4QjdDLDZCQTRCUSxpQkFDQSxnQkFDQSxhVnhCVyxDVU5uQiw2QkFrQ1EsYUFDQSxlQUFpQixDQW5DekIsNEJBc0NRLDJCQUNBLDJCQUE2QixDQXZDckMsMkJBMkNRLGVBQWlCLENBM0N6Qix3Q0ErQ1EsMkJBQTZCLENBL0NyQyw2Q0FpRFksY0FDQSxlQUFpQixDQWxEN0Isb0NBc0RRLG1CQUFxQixDQXREN0IseUNBd0RZLGNBQ0EsZUFBaUIsQ0F6RDdCLDBCQTZEUSxpQkFDQSxjQUNBLGtCQUNBLFFBQ0EsaUJBQW1CLENBakUzQixnQ0FtRVksYVRyRU8sQ1NzRVYsV0FRTCxrQkFDQSxzQkFDQSx5QkFDQSx3QkFDQSxxQkFDQSxrQkFDQSxnQkFDQSxXQUNBLG1CQUNBLG1CQUFxQixDQVZ6Qiw2QkFhUSxvQkFBQSxBQUNBLGFBQUEsb0JBQUEsQUFDQSwyQkFBQSxzQkFBQSxBQUNBLG1CQUFBLDBCQUFBLEFBQ0EscUJBQUEsZ0NBQ0EsaUJBQW1CLENBbEIzQiw0Q0FxQlksZUFBaUIsQ0FyQjdCLGdEQXVCZ0IsWUFDQSxtQkFBcUIsQ0F4QnJDLDBDQTRCWSxhQUFlLENBNUIzQix3REE4QmdCLGdCQUFrQixDQTlCbEMsMkRBaUNnQixpQkFDQSxhVnhHSSxDVXNFcEIsNkNBc0NZLGlCQUFtQixDQXRDL0IsK0NBd0NnQixpQkFDQSxhVi9HSSxDVXNFcEIscURBNENnQixhVDFIQyxDUzhFakIscUNBZ0RZLGtCVDlISyxDUzhFakIsNkdBa0RnQixxQkFBd0IsQ0FsRHhDLHVDQXNEWSxrQlRuSU8sQ1M2RW5CLGlIQXdEZ0IscUJBQXdCLENBeER4QyxvQ0E0RFksa0JUeElJLENTNEVoQiwyR0E4RGdCLHFCQUF3QixDQTlEeEMsc0JBb0VRLGlCQUFtQixDQXBFM0IsK0JBc0VZLGlCQUFtQixDQXRFL0IsK0JBeUVZLGlCQUFtQixDQXpFL0IseUJBOEVRLG1CQUNBLGdCQUNBLGVBQ0EsaUJBQ0Esb0JBQXNCLENBbEY5Qiw2QkFzRlEsaUJBQ0EsZUFDQSxXQUNBLGNBQWdCLENBekZ4Qix3QkE2RlEsa0JUM0tTLENTOEVqQixxRUErRlkscUJBQXdCLENBL0ZwQywwQkFtR1Esa0JUaExXLENTNkVuQix5RUFxR1kscUJBQXdCLENBckdwQyx1QkF5R1Esa0JUckxRLENTNEVoQixtRUEyR1kscUJBQXdCLENBM0dwQyx5QkFnSFEsMkJBQTZCLENBaEhyQywwQkFvSFEsbUNBQXFDLENBcEg3Qyx5QkF3SFEsMkNBQWdDLENBeEh4Qyx3QkEySFEsMENBQStCLENBM0h2QyxrQkE4SFEsMkNBQWlDLENBOUh6Qyw4QkFpSVEsNENBQ0EsY0FBZ0IsQ0FsSXhCLDZCQXFJUSxvRkFDQSxjQUFnQixDQXRJeEIsaUJBMElRLG1CQUFxQixDQTFJN0IsMkJBNklRLGdCQUFrQixDQTdJMUIsNkJBK0lZLHFCQUF1QixDQS9JbkMscUJBb0pRLHdDQUNBLG1CQUNBLGVBQWlCLENBdEp6Qix5QkF3SlksZUFBaUIsQ0F4SjdCLHFDQTJKWSxpQkFDQSxhVmxPUSxDVXNFcEIsMkJBaUtRLGFBQ0EsNkJBQ0Esa0JBQ0EsNENBQ0Esa0NBQ0EsQUFDQSwwQkFDQSxnQkFDQSxxQkFBdUIsQ0F6Sy9CLGlDQTJLWSwyQ0FDQSxzQ0FDQSxBQUNBLDZCQUFvQixDQTlLaEMsc0NBaUxZLGtKQUNBLG1DQUNBLDJCQUNBLG1DQUNBLEFBQ0EseUJBQTJCLENBdEx2Qyw0Q0F3TGdCLDRIQUNBLG9DQUNBLDJCQUNBLGtDQUFvQyxDQTNMcEQsdUNBK0xZLHVKQUNBLG1DQUNBLDJCQUNBLG1DQUNBLEFBQ0EseUJBQTJCLENBcE12Qyw2Q0FzTWdCLGlJQUNBLG9DQUNBLDJCQUNBLGtDQUFvQyxDQXpNcEQsc0NBNk1ZLCtJQUNBLG1DQUNBLDJCQUNBLG1DQUNBLEFBQ0EseUJBQTJCLENBbE52Qyw0Q0FvTmdCLHlIQUNBLG9DQUNBLDJCQUNBLGtDQUFvQyxDQXZOcEQsdUNBMk5ZLGlKQUNBLG1DQUNBLDJCQUNBLG1DQUNBLEFBQ0EseUJBQTJCLENBaE92Qyw2Q0FrT2dCLDJIQUNBLG9DQUNBLDJCQUNBLGtDQUFvQyxDQXJPcEQsK0NBNk9ZLGNBQ0EsZ0JBQ0EsYUFBZSxDQS9PM0IsOENBbVBZLFdBQ0EsaUJBQ0Esa0JBQ0EsYUFBZSxDQXRQM0IscUNBMFBZLG9CQUFBLEFBQ0EsYUFBQSxvQkFBQSxBQUNBLDJCQUFBLDBCQUFBLEFBQ0EscUJBQUEsc0JBQUEsQUFDQSxtQkFBQSxhQUFlLENBOVAzQix5Q0FnUWdCLFlBQ0EsbUJBQXFCLENBalFyQywyQ0FvUWdCLGNBQWdCLENBcFFoQyxpREFzUW9CLGlCQUNBLGdCQUNBLGFWN1VELENVcUVuQixxREEyUW9CLGlCQUNBLGFWdlVDLENVMkRyQixxRUFxUmdCLHdCVG5XQyxDUzhFakIsdUVBd1JnQix3QlRyV0csQ1M2RW5CLG9FQTJSZ0Isd0JUdldBLENTNEVoQixxRUE4UmdCLGFWeldJLENVMkVwQiwrRUFpU2dCLFdBQ0Esc0JBQ0EsbUNBQXNDLENBblN0RCx1QkF5U1Esb0JBQUEsQUFDQSxhQUFBLG9CQUFBLEFBQ0EsMkJBQUEsMEJBQUEsQUFDQSxxQkFBQSxzQkFBQSxBQUFvQixrQkFBQSxDQTVTNUIsMkJBOFNZLFdBQWEsQ0E5U3pCLDRCQWlUWSxlQUNBLGlCQUNBLFdBQ0EsbUJBQXFCLENBcFRqQyxrQ0FzVGdCLHFDQUFBLEFBQW9CLDRCQUFBLENBdFRwQyxxQkE0VFEsMEJBQTRCLENBNVRwQyx1Q0E4VFksWUFDQSxXQUNBLGtCQUNBLFlBQ0EscUJBQ0Esc0JBQ0Esa0JBQ0Esb0JBQUEsQUFDQSxhQUFBLHFCQUFBLEFBQ0EsdUJBQUEsMEJBQUEsQUFDQSxxQkFBQSxzQkFBQSxBQUFvQixrQkFBQSxDQXhVaEMsMkNBMlVnQixlQUFpQixDQTNVakMsc0RBOFVnQix5QkFDQSxXQUNBLGtJVDNZd0gsQ1MyRHhJLHdEQW1WZ0IseUJBQ0EsV0FDQSxrSVQzWThILENTc0Q5SSxxREF3VmdCLHlCQUNBLFdBQ0EsZ0lUM1lxSCxDU2lEckkseUJBZ1dRLGtCQUNBLHVCQUF5QixDQWpXakMsNENBb1dnQixZQUNBLG9CQUNBLGtCQUNBLFFBQ0EsUUFBVSxDQUNiLGlCQVdULFlBQ0EsYUFDQSxrQkFDQSxpQkFDQSxpQkFDQSxtQkFDQSxzQkFDQSwyQ0FBZ0MsQ0FScEMscUJBVVEsV0FDQSxrQkFDQSxTQUFXLENBQ2QsWUFRRCxnQkFDQSxXQUNBLGFBQ0EscUJBQ0Esa0JBQ0Esc0JBQ0Esb0NBQ0EsMkJBQ0EsNEJBQ0Esd0JWM2NlLENVaWNuQixrQkFZUSwwQ0FBZ0MsQ0FaeEMsdUJBZ0JRLGtCQUNBLE1BQ0EsUUFDQSx5QkFHQSxTQUFXLENBdEJuQiw2QkF3QlksY0FBZ0IsQ0F4QjVCLGtDQTBCZ0IsaUJBQ0EsV0FDQSxnQkFBa0IsQ0E1QmxDLG9DQWdDZ0IsZ0JBQ0EsVVZyZkosQ1VzZkMsZUFPVCxrQkFDQSxZQUNBLFdBQ0EsT0FDQSxLQUFPLENBTFgsbUJBT1EsWUFDQSxXQUNBLGdCQUFrQixDQUNyQixXQUtELFlBY0EsV0FDQSxZQUNBLGtCQUNBLHNCQUNBLHdEQUFrQyxDQWhCbEMsMEJBSEosV0FJUSxXQUFhLENBb0VwQixDQWxFRywwQkFOSixXQU9RLFdBQWEsQ0FpRXBCLENBL0RHLDJCQVRKLFdBVVEsV0FBYSxDQThEcEIsQ0E1REcsMkJBWkosV0FhUSxXQUFhLENBMkRwQixDQXhFRCxtREFxQlEsU0FBVyxDQXJCbkIsNkJBeUJRLDBCQUNBLCtCQUNBLGlCQUNBLE9BQVMsQ0E1QmpCLGdDQWlDWSxpQkFBbUIsQ0FqQy9CLDREQW9Db0IsY0FDQSxvQ0FBc0MsQ0FyQzFELDRCQTBDWSxvQ0FDQSxpQkFDQSxvQkFDQSxpQkFDQSx3QkFBMEIsQ0E5Q3RDLHFDQW1EZ0IsV0FDQSxjQUNBLFVBQ0EsV0FDQSxzQkFDQSxhQUFlLENBeEQvQixrQ0E0RFksaUJBQW1CLENBNUQvQiwyQkErRFkscUJBQ0EsZUFDQSxxQkFDQSxhVDNrQkksQ1N5Z0JoQixpQ0FvRWdCLGFBQWMsQ0FDakIsa0JBWUwsbURBQXdELENBSGhFLGFBT1EsMkJBQ0EsMkJBQTZCLENBUnJDLFVBV1EsYUFBZSxDQUNsQixxQkFPRCxpQkFBbUIsQ0FEdkIsMkNBSVEsa0JBQ0EsU0FDQSxXQUNBLFlBQ0EsV0FDQSxvQkFBc0IsQ0FUOUIsaUNBYVEsaUJBQW1CLENBYjNCLHdDQWVZLGVBQWlCLENBZjdCLG9EQWlCZ0IsNkJBQ0EscUJBQ0EsQUFDQSwwQkFBNEIsQ0FwQjVDLG1EQXVCZ0IsMkJBQ0EsbUJBQ0EsQUFDQSwwQkFBNEIsQ0ExQjVDLHFEQStCWSxrQkFDQSxXQUNBLFlBQ0EsOEJBQ0EsU0FBVyxDQW5DdkIsNkRBcUNnQixtQkFDQSxXQUFhLENBdEM3QiwrREF5Q2dCLG1CQUNBLFdBQWEsQ0ExQzdCLDREQTZDZ0IsbUJBQ0EsV0FBYSxDQTlDN0Isb0RBc0RnQixvQ0FDQSxlQUNBLGFWMXBCRyxDVWttQm5CLDBEQTBEb0IsYVRycUJILENTMm1CakIsb0RBOERnQix5QkFDQSxnQkFDQSxVVjlwQkMsQ1U4bEJqQix5Q0FxRVEsNkJBQStCLENBckV2QywwREF5RVEsMkJBQ0EsbUJBQ0EsV0FBYSxDQTNFckIseURBOEVRLDZCQUNBLHFCQUNBLFdBQWEsQ0FDaEIsbURBU0csVUFDQSxpQkFBbUIsQ0FKM0IsaUVBTVksb0JBQ0EsY0FBZ0IsQ0FQNUIsdUVBVVksaUJBQ0EsY0FDQSxtQkFBcUIsQ0FaakMsZ0RBbUJZLGNBQ0EsOEJBQUEsQUFDQSxzQkFBQSxrQkFDQSxxRUFBMEQsQ0F0QnRFLGlDQTRCWSxlQUFpQixDQTVCN0IsaURBK0JZLGNBQ0EsOEJBQUEsQUFDQSxzQkFBQSxrQkFDQSxzRUFDQSxlQUFpQixDQW5DN0Isd0NBc0NZLGdCQUFrQixDQUNyQixZQVFMLGdCQUFrQixDQUR0Qiw4QkFJUSx1QkFDQSxpQkFDQSxXQUNBLHNCQUNBLDRCQUNBLDJCQUE2QixDQVRyQywyQkFhUSxZQUFjLENBYnRCLHdDQWVZLDJCQUNBLDBCQUNBLGdCQUNBLGFWenZCTyxDVXV1Qm5CLDBDQW9CZ0IsYVYzdkJHLENVdXVCbkIsOENBd0JZLDJCQUNBLDRCQUNBLGVBQ0EsVVY5dkJLLENVbXVCakIsNEJBZ0NRLG9CQUFBLEFBQ0EsYUFBQSxvQkFBQSxBQUNBLDJCQUFBLDBCQUFBLEFBQ0EscUJBQUEsc0JBQUEsQUFDQSxtQkFBQSxhQUNBLGtCQUNBLG9CQUNBLFVBQVksQ0F2Q3BCLDhDQXlDWSxZQUNBLFdBQ0EsbUJBQXFCLENBM0NqQyx3Q0E4Q1ksZ0JBQWtCLENBOUM5Qiw2Q0FnRGdCLGVBQ0EsZUFBaUIsQ0FqRGpDLGlEQW9EZ0IsZUFDQSxnQkFDQSxhVjl4QkksQ1V3dUJwQiw4Q0F5RGdCLGNBQ0Esa0JBQ0EsV0FDQSxTQUNBLFlBQWMsQ0E3RDlCLDZDQWtFZ0Isa0JBQ0EsUUFDQSxjQUNBLGNBQWdCLENBckVoQyxtREF1RW9CLGFUcnpCSixDUzh1QmhCLDRCQTZFUSxpQkFBbUIsQ0FDdEIsdUNDbDFCa0Msb0JBMEMvQixjQUNBLGlCQUNBLGtCQUFvQixDQUw1QixxQkFTUSxjQUNBLG1CQUNBLGVBQWlCLENBWHpCLG9CQWVRLGNBQ0EsY0FBZ0IsQ0FoQnhCLDRCQXFCWSxhVnhDSyxDVW1CakIsNkJBd0JZLGFWM0NLLENVbUJqQiw4QkE2QlksYVYvQ08sQ1VrQm5CLCtCQWdDWSxhVmxETyxDVWtCbkIsMkJBcUNZLGFWdERJLENVaUJoQiw0QkF3Q1ksYVZ6REksQ1VpQmhCLHlCQTZDWSxhWDNCRSxDV2xCZCwwQkFnRFksYVg5QkUsQ1dsQmQsNEJBcURZLGFYbENHLENXbkJmLDZCQXdEWSxhWHJDRyxDV25CZiw0QkE2RFksYVh6Q0ksQ1dwQmhCLDZCQWdFWSxhWDVDSSxDV3BCaEIsMkJBcUVZLGFYcERDLENXakJiLDRCQXdFWSxhWHZEQyxDV2pCYiw0QkErRVksV0FDQSxlQUNBLG1CQUNBLGdDQUFBLEFBQWlCLHVCQUFBLENBbEY3Qiw4QkFvRmdCLGVBQ0EsbUJBQ0EsaUJBQW1CLENBdEZuQyw0QkE0RlkscUJBQXVCLENBQzFCLGFBUUwsaUJBQW1CLENBRHZCLDhCQUlRLG9CQUFBLEFBQ0EsYUFBQSxxQkFBQSxBQUNBLHVCQUFBLHNCQUFBLEFBQW9CLGtCQUFBLENBTjVCLHNCQVVRLFdBQ0EsWUFDQSxzQkFDQSxrQkFDQSxrQkFDQSxnQ0FBQSxBQUNBLHdCQUFBLG9CQUFzQixDQWhCOUIsd0JBa0JZLGVBQ0Esa0JBQ0EsV0FDQSxVQUNBLFNBQ0EsaUNBQUEsQUFBaUIsd0JBQUEsQ0F2QjdCLHdCQTRCUSxjQUNBLG1CQUNBLGVBQWlCLENBOUJ6Qix1QkFrQ1EsY0FDQSxjQUFnQixDQW5DeEIsOEJBd0NZLHlCQUNBLGtJVjdJNEgsQ1VvR3hJLGdDQTRDWSxhVm5LSyxDVXVIakIsZ0NBaURZLHlCQUNBLGtJVmpKa0ksQ1UrRjlJLGtDQXFEWSxhVjNLTyxDVXNIbkIsNkJBMERZLHlCQUNBLGdJVnJKeUgsQ1UwRnJJLCtCQThEWSxhVm5MSSxDVXFIaEIsMkJBbUVZLHlCQUNBLGdJWHZGbUgsQ1dtQi9ILDZCQXVFWSxhWHpKRSxDV2tGZCw4QkE0RVkseUJBQ0EsZ0lYMUdzSCxDVzZCbEksZ0NBZ0ZZLGFYaktHLENXaUZmLDhCQXFGWSx5QkFDQSxrSVh4SHlILENXa0NySSxnQ0F5RlksYVh6S0ksQ1dnRmhCLDZCQThGWSx5QkFDQSxvSVh2SGdILENXd0I1SCwrQkFrR1ksYVhyTEMsQ1dzTEosaUJBUUwsaUJBQW1CLENBRHZCLHlEQUdRLDJCQUFBLEFBQWdCLGtCQUFBLENBSHhCLG1DQVFZLDhCQUFnQyxDQVI1Qyx5Q0FVZ0IsOEJBQWdDLENBVmhELG1DQWdCUSxvQkFBQSxBQUNBLGFBQUEscUJBQUEsQUFDQSx1QkFBQSxzQkFBQSxBQUNBLG1CQUFBLFdBQWEsQ0FuQnJCLDZDQXNCWSxXQUNBLFlBQ0Esc0JBQ0Esa0JBQ0Esa0JBRUEsY0FBZ0IsQ0E1QjVCLCtDQThCZ0IsZUFDQSxrQkFDQSxXQUNBLFVBQ0EsUUFBVSxDQWxDMUIsbURBcUNnQixXQUNBLFlBQ0EsV0FDQSxjQUNBLGtCQUNBLFVBQ0EsU0FDQSxVQUNBLFlBQ0Esa0JBQ0EsNkJBQUEsQUFDQSxxQkFBQSxtQkFBcUIsQ0FoRHJDLDRCQXNEUSxjQUNBLFlBQ0EsZUFBaUIsQ0F4RHpCLDJCQTREUSxjQUNBLGVBQ0EsY0FBZ0IsQ0E5RHhCLG1DQW1FWSx5QkFDQSxrSVZsUjRILENVOE14SSx5Q0FzRWdCLHdCVnZTQyxDVWlPakIsb0NBMEVZLGFWM1NLLENVaU9qQixxQ0ErRVkseUJBQ0Esa0lWelJrSSxDVXlNOUksMkNBa0ZnQix3QlZsVEcsQ1VnT25CLHNDQXNGWSxhVnRUTyxDVWdPbkIsa0NBMkZZLHlCQUNBLGdJVmhTeUgsQ1VvTXJJLHdDQThGZ0Isd0JWN1RBLENVK05oQixtQ0FrR1ksYVZqVUksQ1UrTmhCLGdDQXVHWSx5QkFDQSxnSVhyT21ILENXNkgvSCxzQ0EwR2dCLHdCWHRTRixDVzRMZCxpQ0E4R1ksYVgxU0UsQ1c0TGQsbUNBbUhZLHlCQUNBLGdJWDNQc0gsQ1d1SWxJLHlDQXNIZ0Isd0JYalRELENXMkxmLG9DQTBIWSxhWHJURyxDVzJMZixtQ0ErSFkseUJBQ0Esa0lYNVF5SCxDVzRJckkseUNBa0lnQix3Qlg1VEEsQ1cwTGhCLG9DQXNJWSxhWGhVSSxDVzBMaEIsa0NBMklZLHlCQUNBLG9JWDlRZ0gsQ1drSTVILHdDQThJZ0Isd0JYM1VILENXNkxiLG1DQWtKWSxhWC9VQyxDV2dWSixzQkE0Q0wsY0FDQSxrQkFDQSxZQUNBLFdBQ0EsV0FUQSwrekNBSGMsQ0FjakIsaUJBSUcsa0JBQ0Esa0JBQ0EsZ0JBQ0EsY0FDQSxXQUNBLFlBQ0EsZUFDQSxpQkFDQSx5QkF0YUksbUJBQUEsdUlBQUEsa0lWT2dJLENVc1p4SSx5QkE3WlEsbUJBMmFvQyxDQWQ1Qyw4QkFrQlEseUJBL2FBLHVJQUFBLGtJVllzSSxDVWlaOUksbUNBZEksK3pDQUhjLENBaUJsQiwyQkF5QlEseUJBdGJBLHFJQUFBLGdJVmlCNkgsQ1U0WXJJLGdDQWRJLCt6Q0FIYyxDQWlCbEIseUJBZ0NRLHlCQTdiQSxxSUFBQSxnSVh3RnVILENXcVUvSCw4QkFkSSwrekNBSGMsQ0FpQmxCLDRCQXVDUSx5QkFwY0EscUlBQUEsZ0lYOEUwSCxDVytVbEksaUNBZEksK3pDQUhjLENBaUJsQiw0QkE4Q1EseUJBM2NBLHVJQUFBLGtJWHlFNkgsQ1dvVnJJLGlDQWRJLCt6Q0FIYyxDQWlCbEIsMkJBcURRLHlCQWxkQSx5SUFBQSxvSVhtRm9ILENXMFU1SCxnQ0FkSSwrekNBSGMsQ0EwRVQsY0FLTCxpQkFDQSxjQUNBLGVBQWlCLENBQ3BCLGFBSUcsY0FDQSxjQUFnQixDQUNuQixnQkFPRyxpQkFBbUIsQ0FEdkIsZ0NBSVEsZUFDQSxjQUNBLFVBQVksQ0FOcEIsd0NBUVksMEJBQTRCLENBUnhDLDhCQWFRLHlCQUNBLHFDQUNBLGVBQ0EsZ0JBQ0Esd0JBQTBCLENBakJsQyxpQ0FxQlEsa0JBQ0EsZUFDQSxxQkFDQSxPQUNBLFFBQ0EsV0FDQSxZQUNBLFNBQVcsQ0FDZCx5QkFTRyxhQUNBLGdCQUFrQixDQUgxQiw2Q0FNZ0IsNkNBQUEsQUFDQSxxQ0FBQSxtQkFDQSxnSVZyZ0JxSCxDVTZmckksNkNBV2dCLGFWbmlCQSxDVXdoQmhCLDRCQWlCUSxlQUNBLGFBQ0EsV0FDQSxtQkFDQSxtSUFDQSxvQkFDQSxpQkFDQSxtQkFBcUIsQ0F4QjdCLDhCQTRCUSxtQkFDQSxpQkFDQSxhWC9pQlcsQ1dpaEJuQiw0QkFrQ1EsY0FDQSxnQkFDQSxvQkFDQSxnQkFBa0IsQ0FDckIsOEJBVUcsaUJBQ0EsYVYza0JTLENVdWtCakIsOEJBUVEsbUJBQ0EsZUFDQSxhWHhrQlcsQ1c4akJuQiw0QkFjUSxjQUNBLGlCQUNBLGdCQUNBLG1CQUFxQixDQUN4QixrQ0FVRyxpQkFDQSxVWG5tQkksQ1crbEJaLGtDQVFRLG1CQUNBLGVBQ0EsVVh6bUJJLENXK2xCWixnQ0FjUSxXQUNBLHFDQUNBLGlCQUNBLGdCQUNBLGVBQ0EsbUJBQXFCLENBQ3hCLDJCQVVHLGlCQUFtQixDQUgzQiwrQkFLWSxZQUNBLFdBQ0EsYUFBZSxDQVAzQix5Q0FXWSxrQkFDQSxNQUNBLE9BQ0EsWUFDQSxXQUNBLHVCQUNBLG9CQUNBLGVBQWlCLENBbEI3Qix3REFvQmdCLFVBQ0EsVUFDQSxXQUNBLGtCQUNBLFFBQ0EsT0FDQSxXQUNBLGdCQUNBLFdBQ0EsVUFDQSxtQ0FBQSxBQUNBLDJCQUFBLEFBR0Esa0JBQW9CLENBbENwQyxzRUFvQ29CLGNBQWdCLENBcENwQyxzRUF1Q29CLGVBQ0EsQUFHQSxrQkFBb0IsQ0EzQ3hDLDZFQTZDd0IscUJBQ0EsVVh4cUJaLENXMG5CWixtRkFnRDRCLFNBQVcsQ0FoRHZDLCtFQW1ENEIsZ0JBQ0EsYUFDQSxvQkFDQSx1QkFDQSxrQkFBb0IsQ0F2RGhELGlHQTJEd0IsbUJBQ0Esd0JYem9CUCxDVzZrQmpCLGtHQStEd0IsbUJBQ0Esd0JYNW9CTixDVzRrQmxCLGdHQW1Fd0IsbUJBQ0Esd0JYN29CTixDV3lrQmxCLCtDQTBFWSwwQkFBZ0IsQ0ExRTVCLGdEQTZFWSxVQUNBLG9DQUFBLEFBQXFCLDJCQUFBLENBOUVqQywyQkFtRlEscUNBQ0EseUJBQ0EsZ0JBQWtCLENBckYxQixzQ0F1RlksbUJBQ0EsbUNBQXFDLENBeEZqRCxxQ0EyRlksaUJBQ0EsY0FDQSxvQ0FBc0MsQ0E3RmxELCtEQW9HZ0IsMkJBQ0EseUJBQ0EsYVhuckJDLENXNmtCakIsZ0VBeUdnQiwyQkFDQSx5QkFDQSxhWHZyQkUsQ1c0a0JsQiw4REE4R2dCLDJCQUNBLHlCQUNBLGFYenJCRSxDV3lrQmxCLDZDQXdIZ0IsNEJBQThCLENBeEg5QywrREEySGdCLDJCQUNBLHlCQUNBLGFYMXNCQyxDVzZrQmpCLGdFQWdJZ0IsMkJBQ0EseUJBQ0EsYVg5c0JFLENXNGtCbEIsOERBcUlnQiwyQkFDQSx5QkFDQSxhWGh0QkUsQ1dpdEJMLGFBU1Qsa0JBQ0EsVUFDQSxnQkFDQSxrQkFDQSxvQkFBQSxBQUNBLGFBQUEsbUJBQUEsQUFDQSxlQUFBLHFCQUFBLEFBQXdCLHNCQUFBLENBUDVCLDZDQVdZLGlCQUFtQixDQVgvQix5Q0FjWSxrQkFDQSxlQUFpQixDQWY3QixnREFpQmdCLFdBQ0EscUNBQ0Esa0JBQ0EsUUFDQSxTQUNBLFNBQVcsQ0F0QjNCLHdEQXlCZ0IsY0FDQSxlQUNBLGtCQUNBLFNBQVcsQ0E1QjNCLGdEQWlDWSxXQUNBLFlBQ0Esc0JBQ0EsVUFDQSxvQkFDQSxvQkFBQSxBQUNBLGFBQUEsMEJBQUEsQUFDQSxzQkFBQSxxQkFBQSxBQUNBLHVCQUFBLGtCQUNBLG1CQUNBLGtCQUNBLGtCQUNBLE1BQ0EsT0FDQSxTQUFXLENBL0N2Qix3REFpRGdCLHNCQUNBLFdBQ0EsWUFDQSxhQUNBLHNCQUNBLG1CQUNBLFdBQ0Esa0JBQ0EscUJBQ0EscUJBQXVCLENBMUR2QywwREE0RG9CLGtCQUNBLGdCQUFrQixDQTdEdEMsNENBbUVZLGlCQUFtQixDQW5FL0IseURBcUVnQixxQ0FDQSxnQkFDQSxhQUNBLGdCQUNBLHdCQUEwQixDQXpFMUMsZ0VBMkVvQixtQ0FBcUMsQ0EzRXpELDZEQStFZ0IsY0FDQSxjQUNBLHFDQUNBLGVBQ0EseUJBQ0EsYVYvMUJDLENVMndCakIsc0RBd0ZZLFVBQ0EsWUFDQSxnRUFBK0QsQ0ExRjNFLDREQThGWSxRQUNBLFNBQ0EsWUFDQSxrQkFDQSw0REFBQSxBQUNBLG9EQURBLEFBQ0EsZ0ZBQUEsK0JBQ0EsVUFDQSxpREFBQSxBQUFzQyx3Q0FBQSxDQXJHbEQsa0VBd0dZLFVBQ0EsaURBQUEsQUFDQSx5Q0FBQSx1QkFBeUIsQ0ExR3JDLDZEQThHWSxXQUNBLFlBQ0EsVUFDQSxxREFDQSw2Q0FDQSxzQ0FBQSxBQUNBLDhCQURBLEFBQ0EsaURBQUEsNkJBQ0EseUJBQ0Esb0NBQ0EsK0JBQ0EsaURBQUEsQUFBc0Msd0NBQUEsQ0F4SGxELG1FQTJIWSxVQUNBLGlEQUFBLEFBQ0EseUNBQUEseUJBQ0EsdUJBQXlCLENBOUhyQywwREFrSVksc0VBQUEsQUFDQSw4REFEQSxBQUNBLDBIQUFBLHNCQUNBLDJCQUFBLEFBQWdCLGtCQUFBLENBcEk1QixnRUF1SVksNkJBQUEsQUFBZ0Isb0JBQUEsQ0F2STVCLGlFQTJJWSxzRUFBQSxBQUNBLDhEQURBLEFBQ0EsMEhBQUEsc0JBQ0EscUNBQUEsQUFBMEIsNEJBQUEsQ0E3SXRDLHVFQWdKWSwwQ0FBQSxBQUE0QixpQ0FBQSxDQWhKeEMsZ0VBb0pZLHNFQUFBLEFBQ0EsOERBREEsQUFDQSwwSEFBQSxzQkFDQSwyQ0FBQSxBQUE2QixrQ0FBQSxDQXRKekMsc0VBeUpZLCtDQUFBLEFBQStCLHNDQUFBLENBQ2xDLDJCQVdELGtCQUNBLFlBQWMsQ0FKdEIsc0NBTVksYUFDQSxnQkFDQSxlQUFpQixDQVI3Qiw0Q0FVZ0IsOEJBQUEsQUFDQSxzQkFBQSxZQUFjLENBWDlCLHdDQWdCWSxVQUFZLENBaEJ4Qiw0Q0FrQmdCLFdBQ0EsWUFDQSxtQkFBcUIsQ0FwQnJDLDRDQXlCWSxvQ0FDQSxnQkFDQSxpQkFDQSxnQkFDQSxhWGo4Qk8sQ1dvNkJuQixnREFnQ1kscUNBQ0EseUJBQ0EsZUFDQSxnQkFDQSxnQkFDQSxhVmw5QkssQ1U2NkJqQiw4Q0F5Q1ksaUJBQ0Esa0JBQW9CLENBMUNoQyxnREE0Q2dCLFdBQ0Esb0JBQXNCLENBN0N0QywrREErQ29CLHNCQUF3QixDQS9DNUMsNkRBa0RvQixzQkFBd0IsQ0FsRDVDLHNEQXFEb0IsYVZsK0JILENVNjZCakIsa0RBeURnQixpQkFDQSxvQ0FBQSxBQUNBLDRCQUFBLEFBR0Esb0JBQXNCLENBOUR0Qyx3REFvRVksZ0NBQUEsQUFBcUIsdUJBQUEsQ0FDeEIsc0JBV0QsMEJBQUEsQUFDQSxrQkFBQSxpQkFDQSxjQUFnQixDQUx4Qiw4QkFTUSxrQkFDQSwrQkFDQSxvQ0FBQSxBQUNBLDRCQUFBLHlCQUNBLDJDQUFpQyxDQWJ6QyxrQ0FlWSxrQkFDQSxNQUNBLE9BQ0EsV0FDQSxZQUNBLGtCQUNBLGVYOWdDQSxDV3kvQloscUNBeUJZLFVBQ0Esc0JBQ0EsbUNBQUEsQUFDQSwyQkFBQSwyQ0FBaUMsQ0E1QjdDLHlDQThCZ0IsWUFDQSxXQUNBLGFBQWUsQ0FoQy9CLG9DQXFDWSxVQUNBLGdCQUNBLFVBQ0Esa0NBQUEsQUFDQSwwQkFBQSxtQ0FBQSxBQUNBLDJCQUFBLDJDQUFpQyxDQTFDN0MsK0NBNENnQixnQkFDQSxrQkFDQSxzQkFDQSxPQUNBLGdCQUNBLGlCQUNBLHdCQUEwQixDQWxEMUMsb0RBb0RvQixpQkFDQSx5QkFDQSxhVmhqQ0gsQ1UwL0JqQixpREEyRGdCLGtCQUNBLFVBQVksQ0E1RDVCLG1EQThEb0IsV0FDQSxpQkFDQSxvQkFBc0IsQ0FoRTFDLHlEQWtFd0IsYVY1akNQLENVMC9CakIsb0NBeUVZLGtDQUFBLEFBQWtCLHlCQUFBLENBQ3JCLHNCQVVELGVBQWlCLENBRnpCLDRGQU9ZLDhCWC9qQ08sQ1d3akNuQix1Q0FVWSw0Qlhsa0NPLENXd2pDbkIsMEZBZ0JZLDhCWHhrQ08sQ1d3akNuQiw2Q0FtQlksNkJYM2tDTyxDV3dqQ25CLHNDQXNCWSw0Qlg5a0NPLENXd2pDbkIsdUlBNEJZLDhCWHBsQ08sQ1d3akNuQiwwRkErQlksNkJYdmxDTyxDV3dqQ25CLHNDQWtDWSw0QlgxbENPLENXd2pDbkIsZ0JBc0NRLG9CQUFBLEFBQ0EsYUFBQSxxQkFBQSxBQUF3QixzQkFBQSxDQUMzQixnQkFRRCxrQkFDQSxnQkFDQSxhQUFlLENBSG5CLG9DQUtRLFNBQVcsQ0FMbkIsK0JBU1EsYUFBZSxDQVR2QiwrQkFZUSxpQkFBbUIsQ0FaM0IsMkNBY1ksZ0JBQWtCLENBZDlCLDhCQWtCUSxTQUFXLENBbEJuQixzQ0FvQlksUUFBVSxDQXBCdEIsc0NBdUJZLFNBQVcsQ0F2QnZCLDRCQTJCUSx1QkFBeUIsQ0EzQmpDLHNFQThCUSxVWDVvQ1MsQ1c2b0NaLHlCQVFELGtCQUNBLGdCQUNBLGFBQWUsQ0FIbkIsNkNBS1EsU0FBVyxDQUxuQix3Q0FTUSxhQUFlLENBVHZCLHdDQVlRLGlCQUFtQixDQVozQixvREFjWSxpQkFDQSxhQUFlLENBZjNCLHVDQW1CUSxVQUNBLFFBQVUsQ0FwQmxCLHFDQXVCUSx1QkFBeUIsQ0F2QmpDLHdGQTBCUSxVWDlxQ1MsQ1crcUNaLHVCQVFELGtCQUNBLGdCQUNBLGFBQWUsQ0FIbkIsMkNBS1EsU0FBVyxDQUxuQixzQ0FTUSxhQUFlLENBVHZCLHNDQVlRLGlCQUFtQixDQVozQixxREFjWSxnQ0FBQSxBQUFxQix1QkFBQSxDQWRqQywwQ0FpQlksV0FDQSxZQUNBLGdCQUFrQixDQW5COUIsK0NBc0JZLGtCQUNBLE9BQ0EsV0FDQSxTQUNBLFdBQ0EsYUFDQSwyQkFDQSxtQ0FBQSxBQUNBLDJCQUFBLGtDQUFBLEFBQTJCLDBCQUEzQixBQUEyQixpREFBQSxDQTlCdkMsb0RBZ0NnQixZQUNBLGdCQUFrQixDQWpDbEMscUNBc0NRLFNBQVcsQ0F0Q25CLG1DQXlDUSx1QkFBeUIsQ0F6Q2pDLG9GQTRDUSxVWGx1Q1MsQ1dtdUNaLGNBUUQsa0JBQ0EsUUFDQSx5QkFDQSxXQUNBLFlBQ0EsZ0JBQ0Esb0JBQ0EsZUFDQSxjQUNBLG9CQUNBLFdBQWEsQ0FYakIsZ0JBYVEsa0JBQ0EsUUFBVSxDQWRsQixvQkFpQlEsaUNBQUEsQUFDQSx5QkFBQSxtQkFDQSx5QkFDQSxXQUNBLGtJVnp2Q2dJLENVb3VDeEksc0JBeUJRLFNBQVcsQ0F6Qm5CLHdCQTJCWSxTQUFXLENBM0J2QixzQkFnQ1EsVUFBWSxDQWhDcEIsd0JBa0NZLFFBQVUsQ0FDYixzQ0M5eUM2QixVQXFCbEMsZ0JBQ0EsU0FDQSxVQUNBLFVBQVksQ0FKaEIsMEJBT1EsZ0JBQ0EsVUFBWSxDQVJwQix1Q0FVWSxrQkFDQSxrQkFDQSxXQUNBLHFCQUNBLFVBQVksQ0FkeEIsb0RBaUJZLGVBQWlCLENBakI3QixpQ0FxQlEsaUJBQW1CLENBckIzQiw4Q0F3QlEsWUFDQSw2QkFDQSxrQkFBb0IsQ0ExQjVCLGFBNkJRLFdBQ0EsaUJBQ0EsVUFDQSxpQkFDQSxrQkFDQSxVQUFZLENBbENwQixpQ0FxQ1EsVVpwQ0ksQ1lEWixxQ0F5Q1EsZ0NBQWtDLENBekMxQyxlQTRDUSxvQ0FDQSxXQUNBLHFCQUNBLGFBQ0EsaUJBQ0EscUJBQ0EsZUFDQSxXQUNBLGtCQUNBLGtCQUFvQixDQXJENUIscUJBdURZLG9CQUFzQixDQXZEbEMsMkNBMkRRLHFCQUNBLHlCQUNBLFVBQVksQ0E3RHBCLGlCQWdFUSxrQkFDQSxlQUNBLFFBQ0EsaUJBQW1CLENBQ3RCLGlCQVFELGVBQWlCLENBRHJCLGlDQUlRLGFBQ0EsYUFDQSxnQkFBa0IsQ0FOMUIsOENBUVksaUJBQ0EsYUFBZSxDQVQzQiwyQ0FjUSxhQUFlLENBZHZCLCtDQW1CWSxrQ0FBQSxBQUNBLDBCQUFBLGdDQUFBLEFBQXlCLHVCQUFBLENBcEJyQyxpREEwQlkscUNBQUEsQUFDQSw2QkFBQSxnQ0FBQSxBQUF5Qix1QkFBQSxDQTNCckMsMkNBaUNZLGFacEdRLENZbUVwQixpREFvQ1ksMkJYL0dLLENXMkVqQixxREF1Q1ksY0FDQSwrQlhuSEssQ1cyRWpCLDZEQTJDWSxhWHRISyxDVzJFakIsMENBa0RZLGFackhRLENZbUVwQixvREFxRFksYVhoSUssQ1cyRWpCLHNFQTREZ0IsbUJBQXFCLENBNURyQyx5Q0FnRVksd0NBQTBDLENBaEV0RCx3Q0FtRVksc0JBQXdCLENBbkVwQyw4Q0FzRVksY0FDQSxpQkFDSCxDQXhFVCx3REEwRVksY0FDQSx5QkFDQSx1Q0FDQSxpQkFBbUIsQ0E3RS9CLDREQW9GZ0IsOEJBQWdDLENBcEZoRCxxQ0F3RlkseUNBQ0EsbUJBQXFCLENBekZqQyxvQ0E0Rlksc0JBQXdCLENBNUZwQywwQ0ErRlksY0FDQSxpQkFDSCxDQWpHVCw0REFxR2dCLFdBQ0EseUJBQ0EseUJBQ0Esa0JBQ0Esa0lYakt3SCxDV3dEeEksOERBOEdnQixXQUNBLHlCQUNBLHlCQUNBLGtCQUNBLGtJWHJLOEgsQ1dtRDlJLDJEQXVIZ0IsV0FDQSx5QkFDQSx5QkFDQSxrQkFDQSxnSVh6S3FILENXOENySSx5REFvSWdCLGtCQUFvQixDQXBJcEMsdUNBd0lZLFlBQWMsQ0F4STFCLDRDQTJJWSxpQkFDQSxrQkFDQSxZQUNBLFdBQ0Esa0JBQ0EsZ0JBQ0EsY0FDQSxrQkFDQSx1Q0FDQSw4QkFDQSxtQkFBcUIsQ0FySmpDLG1EQXVKZ0IsNkJBQStCLENBdkovQyw4Q0EwSmdCLGNBQ0EsY0FBZ0IsQ0EzSmhDLHNEQStKWSx5QkFDQSxXQUNBLDRDQUFpQyxDQUNwQyxzQkFXRyx3Q0FBMEMsQ0FDN0MsYUFZTCxVQUFZLENBQ2YsOENDMVI2QyxvQkFvQjFDLGtCQUNBLFdBQ0EsY0FDQSxxQkFBdUIsQ0FKM0Isd0RBT1EsWUFDQSx1QkFBeUIsQ0FSakMsZ0dBV1ksb0JBQUEsQUFDQSxhQUFBLHFCQUFBLEFBQXdCLHNCQUFBLENBWnBDLHdHQWNnQixvQkFDQSxXQUNBLFlBQ0Esa0JBQ0EsU0FBVyxDQWxCM0IsNEZBdUJZLGlCQUFtQixDQXZCL0Isa0dBeUJnQixvQ0FDQSxlQUNBLGNBQ0Esa0JBQ0EsU0FBVyxDQTdCM0Isc0dBZ0NnQixxQ0FDQSxlQUNBLGNBQ0Esa0JBQ0EsU0FBVyxDQXBDM0Isc0dBMENnQixpQkFBbUIsQ0FDdEIsMENBT1QsWUFDQSx3QkFBeUIsQ0FDNUIsdUJBT0csZUFBaUIsQ0FEckIsMENBSVEsZ0JBQ0Esa0JBQW9CLENBTDVCLHFEQU9ZLG1CQUFxQixDQVBqQyxxREFXWSxZQUNBLG1CQUFxQixDQVpqQyxzREFnQlksYUFBZSxDQWhCM0IsK0RBa0JnQixvQ0FDQSxnQkFDQSxjQUNBLDZCQUErQixDQXJCL0MsK0RBd0JnQixrQkFDQSxjQUFnQixDQXpCaEMsbUVBNEJnQixZQUNBLGtCQUNBLFFBQ0EsVUFBWSxDQS9CNUIsZ0VBcUNRLDZCQUFBLEFBQ0EscUJBQUEsbUZBQXFGLENBdEM3Rix3REEyQ1ksc0JBQXdCLENBQzNCLDBDQVdELHVCQUF5QixDQUhqQywyREFNWSxrQkFDQSxlQUFpQixDQVA3QiwrREFTZ0IsbUJBQ0Esd0NBQThCLENBVjlDLDJFQWNnQixrQkFDQSxRQUNBLE9BQ0EsV0FDQSxXQUNBLDhCQUFBLEFBQ0Esc0JBQUEsYUFDQSxlYmpJSixDYTRHWix5RUEyQmdCLGFiNUhPLENhaUd2Qix5RUE4QmdCLGdCQUNBLG9DQUNBLGdCQUNBLGdCQUFrQixDQWpDbEMsNkVBb0NnQixxQ0FDQSxpQkFDQSxhYjFJRyxDYW9HbkIscUVBeUNnQixnQkFDQSxrQkFDQSxXQUFhLENBM0M3QiwyRUE4Q2dCLHdCQUEwQixDQTlDMUMsa0VBb0RnQixrQlpqS0MsQ1k2R2pCLCtEQXVEZ0IsYVpwS0MsQ1k2R2pCLGlFQTBEZ0IsYVp2S0MsQ1k2R2pCLG9FQStEZ0Isa0JaM0tHLENZNEduQixpRUFrRWdCLGFaOUtHLENZNEduQixtRUFxRWdCLGFaakxHLENZNEduQixpRUEwRWdCLGtCWnJMQSxDWTJHaEIsOERBNkVnQixhWnhMQSxDWTJHaEIsZ0VBZ0ZnQixhWjNMQSxDWTRMSCx5Q0NsTjRCLE9Bb0JyQyxvQkFDQSwyQkFBQSxBQUFnQixrQkFBQSxDQUZwQixzQkFLUSxvQkFDQSwyQkFBQSxBQUNBLG1CQUFBLFVBQ0EscUJBQXVCLENBUi9CLG9CQVlRLG9CQUNBLHNCQUF3QixDQWJoQywwQkFlWSxpQ0FBQSxBQUFpQix3QkFBQSxDQWY3QixTQW1CUSxpQkFBbUIsQ0FDdEIsaUJBT0QsMkJBQUEsQUFBZ0Isa0JBQUEsQ0FEcEIsbUNBS1EsNERBQ0EseUJBQ0EsYUFDQSxjQUNBLHNCQUNBLG9CQUNBLDJCQUFBLEFBQ0EsbUJBQUEsaUJBQ0Esa0JBQ0EsT0FDQSxRQUNBLE1BQ0EsU0FDQSxzQkFDQSwwQkFBNEIsQ0FuQnBDLGlEQXFCWSwyQkFBQSxBQUFnQixrQkFBQSxDQXJCNUIsd0NBNEJZLDJCQUFBLEFBQ0EsbUJBQUEsU0FBVyxDQTdCdkIsOEJBa0NRLHNCQUF3QixDQWxDaEMsK0NBd0NZLGlEQUNBLHdCZHpETyxDY2dCbkIsaUNBNENZLGlCQUFtQixDQTVDL0Isa0RBK0NZLGVBQWlCLENBL0M3Qiw0RkFxRFksWUFBYyxDQXJEMUIsOENBeURZLHFCZGpGQSxDY3dCWixnREEyRGdCLGFkM0VHLENjZ0JuQixzREErRGdCLGtDQUNBLG1CQUFxQixDQWhFckMsNkRBa0VvQixrQmJ6RkosQ2F1QmhCLDREQXFFb0Isa0JiNUZKLENhdUJoQiw0REF3RW9CLGlDQUFBLEFBQWlCLHdCQUFBLENBeEVyQyxpRUE4RVksVUFBWSxDQTlFeEIsdUVBa0ZZLGtCQUNBLDBCQUFnQixDQW5GNUIsOENBdUZZLHNCQUNBLGtCQUFBLEFBQ0EseUJBQUEsZUFBaUIsQ0F6RjdCLDJDQStGWSxnQkFBa0IsQ0EvRjlCLDhDQXFHWSx1REFDQSxxREFDQSx3QmIvSE8sQ2F3Qm5CLGlEQTZHWSxrQmRoR0csQ2NiZiwrQ0FtSFksa0JkeEdDLENjWGIsaURBeUhZLGtCZDNHSSxDY2RoQiw4Q0ErSFksa0JkbkhFLENjWmQsNEJBb0lRLGdCQUNBLHdCQUEwQixDQUM3QixxQ0FTRCwyREFFUSxzQkFBd0IsQ0FDM0IsMkRBSUcsc0JBQXdCLENBQzNCLENDcE1ULHVDQUF1Qyx3QkErQm5DLDBCQUE0QixDQUMvQixZQU9HLG1CQUNBLFVmUGEsQ2VRaEIsWUFPRyxjQUNBLGdCQUNBLG9CQUNBLG1CQUNBLGtCQUNBLGdCQUFrQixDQU50QixxQkFTUSxtQkFDQSxpQkFBbUIsQ0FWM0Isc0JBYVEsbUJBQ0EsZUFDQSxhQUFlLENBZnZCLHFCQWtCUSxtQkFDQSxrQkFDQSxXQUFhLENBcEJyQixvQkF3QlEsbUJBQXFCLENBeEI3QixtQ0E0QlEsb0JkdkRTLENjMkJqQixpREE4QlksYWR6REssQ2MyQmpCLHFDQWtDUSxvQmQ1RFcsQ2MwQm5CLG1EQW9DWSxhZDlETyxDYzBCbkIsa0NBd0NRLG9CZGpFUSxDY3lCaEIsZ0RBMENZLGFkbkVJLENjeUJoQixnQ0E4Q1Esb0JmakVZLENlbUJwQiw4Q0FnRFksYWZuRVEsQ2VtQnBCLHFDQXFEUSxvQmYxRVksQ2UyRWYsb0JBT0QsWUFDQSxpQkFDQSw0QkFBOEIsQ0FIbEMsMEJBS1EsK0JBQWlDLENBQ3BDLGtCQU9ELGNBQ0EsZ0JBQ0EsbUJBQXFCLENBSHpCLHdCQU1RLHdCZnJGVyxDZStFbkIseUNBU1Esb0JkNUdTLENjbUdqQix1REFXWSxhZDlHSyxDY21HakIsMkNBZVEsb0JkakhXLENja0duQix5REFpQlksYWRuSE8sQ2NrR25CLHdDQXFCUSxvQmR0SFEsQ2NpR2hCLHNEQXVCWSxhZHhISSxDY2lHaEIsc0NBMkJRLG9CZnRIWSxDZTJGcEIsb0RBNkJZLGFmeEhRLENlMkZwQix5Q0FpQ1EsaUJmbEhZLENlaUZwQix1REFtQ1ksVWZwSFEsQ2VpRnBCLDBCQXdDUSwyQkFDQSxZQUNBLFlBQ0Esb0JBQ0EsZUFBaUIsQ0E1Q3pCLGdDQThDWSx3QkFDQSxpQmZySUssQ2VzRmpCLDRCQW9EUSwyQkFDQSx1QkFDQSxZQUNBLDJCQUNBLDRCQUNBLDRCQUNBLDZCQUNBLDhCQUNBLG1CQUFxQixDQTVEN0Isa0NBOERZLGlCZi9JUSxDZWlGcEIsa0NBaUVZLHdCQUNBLCtCQUNBLGlCZnBKUSxDZWlGcEIsNkNBc0VZLG9CQUFBLEFBQ0EsYUFBQSxrQkFBQSxBQUNBLHlCQUFBLGtCQUNBLHNCQUNBLDJCQUNBLDhCQUNBLDhCQUFnQyxDQTVFNUMsb0RBOEVnQix1QkFBeUIsQ0FDNUIsa0ZBYUcsUUFBVSxDQUoxQixrQkFRWSxrQkFBb0IsQ0FSaEMseUJBWVksaUJBQW1CLENBWi9CLDJCQWNnQixhQUNBLGtCQUNBLFdBQ0EsT0FBUyxDQWpCekIsK0NBcUJnQixhQUNBLGdCQUFrQixDQXRCbEMsMkNBMkJvQix3QmZoTEwsQ2VxSmYsbUVBOEJvQixjQUNBLGFBQWUsQ0EvQm5DLGdEQWtDb0IsY0FDQSxhZnhMTCxDZXFKZix5Q0F5Q29CLHdCZmhNUCxDZXVKYiwrREE0Q29CLGNBQ0EsYUFBZSxDQTdDbkMsNENBZ0RvQixjQUNBLGFmeE1QLENleU1JLGtCQVliLGtCQUNBLGlCQUFrQixDQUZ0QixtREFJUSwwQkFBNEIsQ0FKcEMscUtBU1ksYWRqUUssQ2N3UGpCLGlGQVlZLGtCZHBRSyxDY3dQakIsc0RBZVksd0JBQTBCLENBZnRDLDJLQXFCWSxhZDVRTyxDY3VQbkIscUZBd0JZLGtCZC9RTyxDY3VQbkIsd0RBMkJZLHdCQUE0QixDQTNCeEMsa0tBaUNZLGFkdlJJLENjc1BoQiwrRUFvQ1ksa0JkMVJJLENjc1BoQixxREF1Q1ksd0JBQXlCLENBdkNyQywrSkE2Q1ksVWZwU0EsQ2V1UFosNkVBZ0RZLGVmdlNBLENldVBaLG9EQW1EWSxxQkFBd0IsQ0FuRHBDLGtFQXdEUSxzQkFDQSxlQUNBLDBDQUNBLGNBQ0EsY0FDQSxZQUNBLGdDQUNBLHVDQUF5QyxDQS9EakQsOEVBaUVZLFlBQWEsQ0FqRXpCLHdCQXNFUSxvQkFDQSxjQUNBLGVBQ0EsbUJBQ0Esa0JBQ0Esb0JBQ0EsY0FDQSxZQUNBLHlCQUNBLDhCQUNBLGdDQUFpQyxDQWhGekMsb0lBbUZRLFVBQ0EsVUFDQSxjQUFlLENBckZ2Qix1QkF5RlEsa0JBQ0EsYUFBYyxDQTFGdEIsMkRBOEZRLFdBQ0EsV0FDQSxRQUNBLFdBQ0Esa0JBRUEseUJBQ0EsOEJBQ0EsZ0NBQWlDLENBdEd6Qyw4QkF5R1EsUUFBUyxDQXpHakIsNkJBNEdRLFNBQVUsQ0E1R2xCLGtOQStHUSxTQUFVLENBL0dsQiwyQkFzSFEsaUJBQW1CLENBdEgzQixpQ0FvSFksa0JBQW9CLENBcEhoQyw2QkF3SFksa0JBQ0EsV0FDQSxTQUNBLGFmaFdTLENlcU9yQiwyQkFtSVEsaUJBQW1CLENBbkkzQixpQ0FpSVksa0JBQW9CLENBakloQyw2QkFxSVksa0JBQ0EsV0FDQSxRQUNBLGNBQ0EsWUFBYyxDQXpJMUIsaURBNElZLGFBQ0EsZ0JBQWtCLENBN0k5Qiw2Q0FrSmdCLHNDQUFzQyxDQWxKdEQscUdBcUpnQiw2QkFBNkIsQ0FySjdDLGtEQXdKZ0IseUJBQ0EsYUFBZSxDQXpKL0IsNkNBNEpnQix3QkFBd0IsQ0E1SnhDLHFFQStKZ0IsY0FDQSxhQUFlLENBaEsvQiwyQ0FzS2dCLHNDQUFvQyxDQXRLcEQsaUdBeUtnQiw2QkFBMkIsQ0F6SzNDLDhDQTRLZ0IseUJBQ0EsYUFBZSxDQTdLL0IsMkNBZ0xnQix3QkFBc0IsQ0FoTHRDLGlFQW1MZ0IsY0FDQSxhQUFlLENBQ2xCLGNBWUwseUJBQ0EsZUFDQSxZQUFjLENBSnRCLG9CQVFZLHlCQUNBLGVBQ0EsWUFBYyxDQVYxQiwyQ0FlWSxvQmR0Y0ssQ2N1Y1Isa0RBS0wsY0FDQSxVQUNBLGdCQUNBLHNCQUNBLGVBQ0EsWUFBYyxDQUNqQixrQ0FNTyxvQkFDSCxDQUpMLHVDQU1RLG1CQUFxQixDQU43QixpREFXWSxpQkFBbUIsQ0FYL0IsK0NBaUJZLGdCQUFrQixDQWpCOUIsZ0RBb0JZLG1CQUFxQixDQUN4QixTQVVMLDBCQUE0QixDQURoQyx5Q0FLWSx1QkFBeUIsQ0FMckMsNENBT2dCLGFBQWUsQ0FDbEIsd0JBT0wsa0JBQW9CLENBQ3ZCLGtCQUlELCtCQUFBLEFBQ0Esd0JBQUEsb0JBQUEsQUFDQSwyQkFBQSxzQkFBQSxBQUFvQixrQkFBQSxDQUh4QixrQ0FNUSxzQkFDQSx1QkFDQSw4QkFBZ0MsQ0FSeEMsOEJBWVEsZ0JBQWtCLENBWjFCLG1DQWNZLGlCQUNBLGFmN2dCUSxDZThnQlgsb0VBVUwsbUNBQW9DLENBQ3ZDLDZCQVFHLG9CQUFBLEFBQ0EsYUFBQSxxQkFBQSxBQUNBLHVCQUFBLGlCQUFtQixDQUh2Qix3Q0FNUSxZQUNBLGFBQ0EsVUFDQSxnQkFDQSxrQkFDQSxVQUFZLENBWHBCLDhDQWVRLGNBQ0Esa0JBQ0EsZ0JBQ0EsdUJBQ0EsbUJBQ0EsZUFDQSxxQkFDQSxnQkFDQSxrQkFDQSx3Q0pwakJBLG1CSXFqQm1DLENBekIzQyxnREEyQlksa0JBQ0EsUUFDQSxpQkFBbUIsQ0E3Qi9CLHNEQWlDUSxXQUNBLHdCZHhrQlEsQ2NzaUJoQix3TEF1Q1EseUJBQ0EsYUFDQSxBQUVBLG1GQUFxRixDQUN4RixxQkFNRCxxQkFBdUIsQ0FEM0Isa0NBSVEsb0JBQUEsQUFDQSxhQUFBLHNCQUFBLEFBQ0EsbUJBQUEsbUJBQ0EseUJBQ0EsYUFDQSxZQUNBLGtCQUNBLGlCQUFtQixDQVgzQixnREFlUSxrQkFDQSxNQUNBLE9BQ0EsV0FDQSxZQUNBLFVBQ0EsV0FDQSxjQUFnQixDQXRCeEIsMENBMEJRLHFCQUNBLGVBQ0EsaUJBQ0Esa0JBQ0EsaUJBQ0EsYUFBZSxDQS9CdkIseUNBbUNRLGNBQ0EsZ0JBQ0EsbUJBQ0EsVUFBWSxDQXRDcEIsaURBeUNRLFNBQVcsQ0FDZCxpQkFXRCxrQkFDQSxhQUNBLDhCQUNBLDRCQUNBLGVBQ0EsNkJBQUEsQUFBZ0Isb0JBQUEsQ0FOcEIsc0JBUVEsa0JBQ0EsU0FDQSxlQUNBLGFmL29CVyxDZWdwQmQsYUFJRCxrQkFDQSxjQUNBLGtCQUNBLGVBQ0EsNkJBQUEsQUFBZ0Isb0JBQUEsQ0FMcEIsb0JBU1EsZ0NBQ0EsV0FDQSxrQkFDQSxPQUNBLFVBQ0EsYUFDQSxjQUNBLHVCQUF5QixDQWhCakMsNEJBbUJRLGlDQUNBLEFBR0EseUJBQ0EsYUFDQSxxQkFDQSxzQkFDQSx1QkFBeUIsQ0EzQmpDLG1CQThCUSxXQUNBLGtCQUNBLGNBQ0EsT0FDQSxXQUNBLFlBQ0EsZ0JBQ0EsY0FBZ0IsQ0FDbkIsMkJBS0QsR0FDSSxzQ0FDQSw2QkFBcUIsQ0FFekIsS0FDSSxnQ0FDQSx1QkFBcUIsQ0FBQSxDQUc3QixBQVVBLG1CQUNJLEdBQ0ksc0NBQ0EsNkJBQXFCLENBRXpCLEtBQ0ksZ0NBQ0EsdUJBQXFCLENBQUEsQ0FJN0IsMEJBQ0ksd0JBQ0ksMkNBQ0EsQUFDQSwyQkFDQSx3QkFDQSw0QkFDQSwwQkFBNEIsQ0FDL0IsQ0FJTCwyQkFDSSxrQkFDQSxlQUNBLFdBQWEsQ0FIakIsMkRBTVEsc0JBQXdCLENBTmhDLEFBT0ssaURBREcsc0JBQXdCLENBQzNCLHdJQUdHLGdCQUNBLFdBQ0EscUJBQ0Esa0JBQ0EsVUFDQSxzQkFDQSxzQkFDQSxVQUNBLFVBQVksQ0FURyxvS0FXWCxXQUNBLGNBQ0EsMkJBQUEsQUFDQSxtQkFBQSxpQ0FBQSxBQUEwQix5QkFBMUIsQUFBMEIsK0NBQUEsQ0FDN0Isb01BSUQsMkJBQUEsQUFBZ0Isa0JBQUEsQ0FDbkIsb0hBR0csa0JBQ0EsZUFDQSxTQUFXLENBQ2QsMEJBUUcsaUJBQW1CLENBSjNCLGlDQU1ZLGdzQkFDQSx3QkFDQSxZQUNBLFlBQWMsQ0FUMUIsb0NBY1EsWUFDQSxZQUFjLENBZnRCLDJDQWlCWSxnc0JBQ0Esd0JBQ0EsWUFDQSxZQUFjLENBcEIxQixtQ0F5QlEsVUFDQSxVQUFZLENBMUJwQiwwQ0E0QlksZ3NCQUNBLHdCQUNBLFlBQ0EsWUFBYyxDQUNqQix1QkFTRCxvQkFBc0IsQ0FKOUIsOEJBTVkscUJBQ0EsYUFDQSxZQUNBLFlBQWMsQ0FUMUIsc0NBY1Esa0JmbDBCVyxDZW96Qm5CLDBCQWtCUSx3Q0FBQSxBQUFnQywrQkFBQSxDQWxCeEMsaUNBb0JZLHVCQUF5QixDQXBCckMsMkJBd0JRLHdDQUFBLEFBQWdDLCtCQUFBLENBeEJ4QyxrQ0EwQlksdUJBQXlCLENBMUJyQyxpREFnQ1ksa0JkNzFCSyxDYzZ6QmpCLG1EQXFDWSxrQmRqMkJPLENjNHpCbkIsZ0RBMENZLGtCZHIyQkksQ2NzMkJQLFdBVUwsc0JBQ0EsZ0JBQ0EsWUFDQSxZQUNBLGFBQ0EsZUFBaUIsQ0FOckIsZ0JBUVEsa0JBQ0EseUJBQ0EsdUJBQ0EsMEJBQ0Esb0JBQUEsQUFDQSxhQUFBLHNCQUFBLEFBQ0EsOEJBQUEsc0JBQUEsQUFDQSxtQkFBQSxXQUNBLGdCQUNBLHFCQUNBLG1CQUNBLFdBQ0EsaUJBQ0Esa0JBRUEsY0FBZ0IsQ0F2QnhCLHFCQXlCWSxrQkFDQSxRQUFVLENBMUJ0QixzQkE2QlksNkJBQ0EsZ0JBQ0EsV0FDQSxVQUNBLGtCQUNBLFFBQ0EsVUFDQSxTQUFXLENBcEN2QixrQkF1Q1ksZ0JBQ0EsV0FDQSxxQkFDQSxlQUNBLFVBQ0Esa0JBQ0EsU0FBVyxDQTdDdkIsaUJBaURRLFdBQ0EsbUJBQ0Esc0JBQ0EsZUFDQSw2QkFDQSxZQUNBLGVBQ0EsV0FDQSxTQUFXLENBekRuQixlQTREUSxjQUNBLFVBQVksQ0FDZixZQUlELFdBQ0EsV0FDQSxRQUFVLENBQ2IsV0FFRyw4QkFDQSx3QkFBd0IsQ0FDM0Isd0JBT0csb0JBQXNCLENBQ3pCLHdDQ3Q5QnVDLDhDQXFCaEMsNkJBQ0EsV0FBYSxDQUhyQix5QkFNUSxlQUNBLGFoQmFhLENnQnBCckIsdUJBVVEsaUJBQW1CLENBVjNCLG1DQVlZLDBCQUE0QixDQVp4QyxvQ0FlWSxnQkFDQSxvQ0FBc0MsQ0FoQmxELHFDQW9CZ0IsZUFDQSxhZnBCQyxDZURqQix1Q0F3QmdCLGVBQ0EsYWhCTEssQ2dCcEJyQix1QkE4QlEsK0JBQWlDLENBQ3BDLGdEQVNHLDZCQUNBLFdBQWEsQ0FIckIsMEJBTVEsZUFDQSxhaEJ6QmEsQ2dCa0JyQix3QkFVUSxpQkFBbUIsQ0FWM0Isb0NBWVksMEJBQTRCLENBWnhDLHFDQWVZLGdCQUNBLG9DQUFzQyxDQWhCbEQsbUNBb0JnQixlQUNBLGFmMURDLENlcUNqQixtQ0F3QmdCLGVBQ0EsYWhCM0NLLENnQmtCckIsd0JBOEJRLGdDQUNBLG1DQUFxQyxDQUN4QyxrQkFRRCxZQUNBLGdCQUNBLGVBQ0EseUJBQ0EsV0FDQSxtQkFDQSxnQkFDQSwyQ0FBZ0MsQ0FScEMsNENBV1Esa0JmdkZTLENlNEVqQiw4Q0FjUSxrQmZ6RlcsQ2UyRW5CLDJDQWlCUSxrQmYzRlEsQ2UwRWhCLGlDQW9CUSxnQkFDQSxnQkFDQSxxQkFBd0IsQ0F0QmhDLHFCQXlCUSwwQkFDQSw2QkFDQSxzQkFDQSxvQkFBc0IsQ0E1QjlCLG1EQStCUSx3QmhCekdhLENnQjBFckIscUJBa0NRLGFBQ0EsVWhCOUdJLENnQjJFWixxQkFzQ1EsYUFBZSxDQXRDdkIsaUNBeUNRLGVBQWlCLENBekN6QixnQ0E0Q1Esa0JBQW9CLENBNUM1Qiw0QkErQ1EsMkJBQ0EsaUJBQ0EsWUFDQSxxQkFDQSxVQUFZLENBbkRwQiwwQ0FzRFEsZ0JBQ0EsZ0JBQWtCLENBQ3JCLHFDQXhETCxrQ0E0RFksZUFBaUIsQ0FDcEIsQ0FFTCxxQ0EvREosNkNBaUVZLHdCaEIxSVEsQ2dCeUVwQiw0QkFvRVksWUFBYyxDQXBFMUIsMENBdUVZLG1CQUNBLGtCQUFvQixDQXhFaEMsa0VBMkVZLGNBQWdCLENBM0U1QixnRUE4RVksZUFBaUIsQ0E5RTdCLDBDQWlGWSxzQkFBd0IsQ0FDM0IsQ0NsTFQsdUNBQXVDLFlBMEIvQixvQkFBc0IsQ0FGOUIsWUFLUSx1QkFBeUIsQ0FDNUIsTUFHRCxvQkFBc0IsQ0FDekIsa0JBT0csZ0JBQ0EsU0FBVyxDQUZmLHFCQUlRLG1CQUNBLHVCQUF5QixDQUxqQyw0QkFPWSxnQkFDQSx3QkFDQSxxQkFDQSxtQkFDQSxvQkFDQSxXQUFhLENBQ2hCLFlBU0wsb0JBQXNCLENBRDFCLDZCQUdRLG9CQUFBLEFBQ0EsYUFBQSxvQkFBQSxBQUNBLDJCQUFBLDBCQUFBLEFBQ0EscUJBQUEsc0JBQUEsQUFDQSxtQkFBQSxZQUFjLENBUHRCLDRDQVNZLGlCQUNBLGtCQUNBLGtCQUNBLFFBQ0EsYWpCOUNRLENpQitDWCxhQVNMLCtCQUFBLEFBQ0Esd0JBQUEsbUJBQUEsQUFBZ0IsY0FBQSxDQUZwQiw2QkFJUSxpQkFDQSxjQUNBLGNBQ0Esa0JBQ0EsT0FBUyxDQUNaLFlBUUQseUJBQ0EsMkNBQWdDLENBRnBDLGVBS1EsaUJBQW1CLENBTDNCLGlCQU9ZLFVqQmhFRSxDaUJ5RGQseUJBV1ksa0JoQjFGSyxDZ0IrRWpCLCtCQWFnQixrQmhCNUZDLENnQitFakIsa0NBZ0JnQixzQkFDQSxzQkFBd0IsQ0FqQnhDLDJCQXFCWSxVakJuR0EsQ2lCOEVaLHFCQXdCWSxrQmpCakdRLENpQnlFcEIsd0NBOEJZLCtCakJ6Rk8sQ2lCMkRuQixvQkFtQ1EsWUFDQSxlQUFpQixDQXBDekIsdUJBc0NZLCtCakJqR08sQ2lCMkRuQixxQkEyQ1EsV0FBYSxDQTNDckIsc0NBZ0RZLGtCaEI5SE8sQ2dCOEVuQixtQ0FxRFksa0JoQmxJSSxDZ0JtSVAsaUJBVUwsa0JBQ0EseUJBQ0EsZWpCaEpRLENpQjZJWixtQkFLUSxjQUFnQixDQUx4Qix5QkFPWSxhaEJySkssQ2dCc0pSLHNCQU1MLGtCQUNBLHlCQUNBLGVqQjdKUSxDaUI4SlgsY0FTTyxvQkFBQSxBQUNBLGFBQUEsb0JBQUEsQUFDQSwyQkFBQSxzQkFBQSxBQUNBLG1CQUFBLGlCQUFtQixDQU4zQixpQ0FVUSxXQUNBLFlBQ0EsbUJBQXFCLENBWjdCLDJCQWdCUSxhQUFlLENBaEJ2QixpQ0FrQlksZUFDQSxnQkFDQSxhakJoTE8sQ2lCNEpuQixxQ0F1QlksZUFDQSxhakJyTFEsQ2lCNkpwQiw2QkE2QlEsWUFDQSxXQUNBLG9CQUNBLG1CQUNBLGdCQUFrQixDQWpDMUIsd0NBb0NZLGtCakJyTE8sQ2lCaUpuQix1Q0F1Q1ksa0JqQnRLRyxDaUIrSGYscUNBMENZLGtCakJ4S0ksQ2lCeUtQLG9CQVdELGFBQWUsQ0FIdkIsb0NBT1EsaUJBQW1CLENBUDNCLG1EQVVZLFlBQ0EsV0FDQSxvQkFDQSxtQkFDQSxrQkFDQSxVQUNBLE9BQVMsQ0FoQnJCLDhEQW1CZ0Isa0JqQnZORyxDaUJvTW5CLDZEQXNCZ0Isa0JqQnhNRCxDaUJrTGYsMkRBeUJnQixrQmpCMU1BLENpQmlMaEIscUNBK0JRLGNBQ0EsZUFBaUIsQ0FDcEIsd0NDN1FtQyxTQWtCcEMsWUFDQSxlQUNBLGdCQUNBLGdCQUNBLGdCQUNBLG1CQUNBLHNCQUNBLGlCQUNBLFdBQ0EsZ0JBQ0Esa0JBQ0EsaUJBQW1CLENBWnZCLGlCQWVRLG1CQUFxQixDQWY3Qix3QkFtQlEsdUJBQ0Esc0JBQ0EsVWxCTFMsQ2tCaEJqQixvQkF5QlEsa0JqQnRCUyxDaUJIakIsbUNBMkJZLHVCQUNBLHlCQUNBLGFqQjFCSyxDaUJIakIsc0JBaUNRLGtCakI3QlcsQ2lCSm5CLHFDQW1DWSx1QkFDQSx5QkFDQSxhakJqQ08sQ2lCSm5CLG1CQXlDUSxrQmpCcENRLENpQkxoQixrQ0EyQ1ksdUJBQ0EseUJBQ0EsYWpCeENJLENpQkxoQixvQkFpRFEsa0JsQlJPLENrQnpDZixtQ0FtRFksdUJBQ0EseUJBQ0EsYWxCWkcsQ2tCekNmLG9CQXlEUSxrQmxCZlEsQ2tCMUNoQixtQ0EyRFksdUJBQ0EseUJBQ0EsYWxCbkJJLENrQjFDaEIsbUJBaUVRLGtCbEIxQkssQ2tCdkNiLGtDQW1FWSx1QkFDQSx5QkFDQSxhbEI5QkMsQ2tCdkNiLGlCQXlFUSxrQmxCakNNLENrQnhDZCxnQ0EyRVksdUJBQ0EseUJBQ0EsYWxCckNFLENrQnNDTCxLQVVMLGlCQUFtQixDQUZ2QixhQUtRLDRCQUE4QixDQUx0QyxpQkFTUSxxQmxCL0VTLENrQnNFakIsZ0JBYVEsbUJBQ0EsVWxCaEdJLENrQmtGWiw0QkFnQlksdUJBQ0EseUJBQ0EsYWpCckdLLENpQm1GakIsa0JBc0JRLG1CQUNBLFVsQnpHSSxDa0JrRlosOEJBeUJZLHVCQUNBLHlCQUNBLGFqQjdHTyxDaUJrRm5CLGVBK0JRLG1CQUNBLFVsQmxISSxDa0JrRlosMkJBa0NZLHVCQUNBLHlCQUNBLGFqQnJISSxDaUJpRmhCLGdCQXdDUSxtQkFDQSxVbEIzSEksQ2tCa0ZaLDRCQTJDWSx1QkFDQSx5QkFDQSxhbEIxRkcsQ2tCNkNmLGdCQWlEUSw4QkFDQSxxQkFBd0IsQ0FsRGhDLDRCQW9EWSxrQ0FDQSxvQ0FDQSx3QkFBeUIsQ0F0RHJDLGVBMERRLG1CQUNBLFVsQjdJSSxDa0JrRlosMkJBNkRZLHVCQUNBLHlCQUNBLGFsQjlHQyxDa0IrQ2IsYUFtRVEsbUJBQ0EsVWxCdEpJLENrQmtGWix5QkFzRVksdUJBQ0EseUJBQ0EsYWxCdEhFLENrQjhDZCxjQTRFUSxnQkFDQSxhbEJ2SlcsQ2tCMEVuQiwwQkErRVksdUJBQ0Esc0JBQ0EsVWxCbktBLENrQmtGWixpQkEyRlEsT0FBUyxDQUNaLGtDQU1HLHdDQUNBLHFDQUNBLGNBQWdCLENBSnhCLGlDQU9RLHVDQUNBLG9DQUNBLGdCQUFrQixDQVQxQiw2QkFZUSxxQkFBQSxBQUF3QixzQkFBQSxDQUMzQixtQkFLRCxvQkFBQSxBQUNBLGFBQUEscUJBQUEsQUFBd0Isc0JBQUEsQ0FDM0IsZUFJRyxnQkFDQSxVQUNBLGtCQUNBLFVBQ0EscUNBQ0EsZ0JBQWtCLENBTnRCLHNCQVFRLFdBQ0EsU0FBVyxDQVRuQixxQkFZUSxXQUNBLFNBQVcsQ0FibkIsMkNBZ0JRLDhCQUNBLFdBQ0EsY0FDQSxTQUNBLGtCQUNBLFFBQ0Esa0VBQ0EsMERBQ0EsdUNBQ0EsOEJBQWdDLENBQ25DLDJDQ3hQc0MsU0FrQnZDLGtCQUNBLGNBQWdCLENBRnBCLDhCQUtRLHlCQUNBLGtCQUFvQixDQU41QixxQkFTUSxrQkFDQSxPQUFTLENBVmpCLHNCQWNRLFlBQ0Esa0JBQ0EsVUFDQSxTQUNBLG1CQUNBLFVBQVksQ0FuQnBCLCtCQXNCWSxZQUNBLGdCQUNBLFdBQ0Esa0JBQ0EsZ0JBQ0EsVUFDQSx5QkFDQSxBQUVBLGtCQUNBLEFBRUEsMkNBQ0EsQUFJQSwyQkFBNkIsQ0F2Q3pDLHlDQTJDWSxRQUNBLFNBQ0Esa0JBQ0Esa0NBQ0EsbUNBQ0EsNkJBQ0EsU0FDQSxTQUNBLGdCQUFrQixDQW5EOUIscUNBdURZLGdCQUNBLFdBQ0EsWUFDQSx5QkFDQSxnQkFDQSxXQUNBLEFBRUEsa0JBQ0EsQUFJQSxrQ0FBb0MsQ0FwRWhELDJDQXNFZ0IsbUJBQ0EsY0FBZ0IsQ0F2RWhDLGlEQTJFZ0Isa0JBQ0EsUUFDQSxpQkFBbUIsQ0E3RW5DLG9EQWdGZ0Isa0JBQ0EsTUFDQSxpQkFBbUIsQ0FsRm5DLGtDQXVGWSxXQUNBLGVBQ0EsZUFBaUIsQ0F6RjdCLCtDQTRGb0Isd0JBQ0EsYW5CbEZBLENtQlhwQixpREFnR29CLGVBQ0EsY0FDQSxrQkFDQSxrQkFDQSxPQUFTLENBcEc3QixzREF5R2dCLHFCQUNBLDJCQUNBLFdBQ0EsK0JuQnRHSSxDbUJOcEIsNERBOEdvQixxQm5CMUdSLENtQkpaLHNEQXFIZ0IsbUJBQ0EsVW5CbEhKLENtQkpaLHdEQXlIZ0IsbUJBQ0EsVW5CdEhKLENtQkpaLHFEQTZIZ0IsbUJBQ0EsVW5CMUhKLENtQkpaLDRCQW9JUSxtQkFBcUIsQ0FwSTdCLHFDQXdJUSwwQ0FBQSxBQUNBLGtDQUFBLFNBQVcsQ0F6SW5CLG9DQTRJUSxtQkFBcUIsQ0E1STdCLGtDQStJUSxrQkFBb0IsQ0EvSTVCLCtCQWtKUSxpQkFBbUIsQ0FDdEIsNEJBS0cseUJBQ0EsbUJBQ0EsMkJBQTZCLENBQ2hDLGFBUUQsa0JBQ0EsUUFDQSxhQUNBLGFBQ0EsZ0NBQUEsQUFDQSx3QkFBQSxpQ0FBQSxBQUNBLHlCQUFBLHVDQUFBLEFBQWdDLDhCQUFBLENBUHBDLCtEQVNRLGdCQUNBLGdCQUNBLGdCQUNBLGlCQUNBLHNCQUNBLGtCQUNBLEFBRUEsMkNBQ0EsaUJBQ0EsY0FDQSxRQUFVLENBcEJsQixnQ0F1QlEsWUFBYyxDQXZCdEIsNkJBMEJRLGNBQWdCLENBMUJ4QixvQ0E0Qlksa0JBQ0EsU0FDQSxTQUNBLFdBQ0Esa0NBQ0EsbUNBQ0EsNkJBQ0Esb0JBQXNCLENBbkNsQyxtQ0FzQ1ksa0JBQ0EsU0FDQSxVQUNBLFdBQ0Esa0NBQ0EsbUNBQ0EsOEJBQ0Esb0JBQXNCLENBN0NsQyw2REFnRFksVUFDQSxTQUFXLENBakR2Qiw0REFvRFksVUFDQSxVQUFZLENBckR4QixxR0EwRFksaUJBQ0EsYUFBZSxDQTNEM0IscUVBK0RnQixVQUFZLENBL0Q1QiwyRUFrRWdCLGtCQUNBLDBCQUFnQixDQW5FaEMsZ0JBd0VRLGdCQUNBLGNBQ0EsY0FDQSxTQUNBLGdCQUFrQixDQTVFMUIscUNBK0VRLGNBQ0EsY0FDQSxxQkFDQSxpQkFDQSxrQkFDQSxTQUNBLGtCQUFvQixDQXJGNUIsaURBdUZZLHlCQUNBLGNBQ0EsY0FBZ0IsQ0F6RjVCLGtDQTZGUSxjQUNBLDZCQUNBLFVBQ0EsWUFBYyxDQUNqQixrR0FPRyx5QkFDQSxhQUFlLENBSnZCLHdIQVNZLHlCQUNBLFVuQjdRQSxDbUJtUVosNEhBZ0JZLHlCQUNBLFVuQnBSQSxDbUJtUVosc0hBdUJZLHlCQUNBLFVuQjNSQSxDbUI0UkgseUNDalRnQyxnQ0F3QmpDLG9CQUFBLEFBQ0EsYUFBQSx1QkFBQSxBQUNBLG9CQUFBLHVCQUFBLEFBQ0EsbUJBQUEsdUJBQUEsQUFDQSxtQkFBQSxzQkFBQSxBQUErQiw2QkFBQSxDQVB2Qyw2REFXZ0IsUUFBVSxDQVgxQiw4RUFjb0IsaUJBQW1CLENBZHZDLDREQXFCZ0Isb0JBQUEsQUFDQSxhQUFBLHVCQUFBLEFBQ0EsbUJBQUEsNkJBQUEsQUFBaUIsZUFBQSxDQXZCakMseUVBMEJvQixVQUNBLG9CQUFBLEFBQ0EsYUFBQSwwQkFBQSxBQUNBLHNCQUFBLHFCQUFBLEFBQXdCLHNCQUFBLENBN0I1Qyx3RUFpQ29CLFdBQ0Esb0JBQUEsQUFDQSxhQUFBLHVCQUFBLEFBQ0EsbUJBQUEscUJBQUEsQUFBd0Isc0JBQUEsQ0FwQzVDLHdFQXdDb0IsV0FDQSx5QkFDQSxVQUNBLGtCQUNBLGVBQ0EsMEJBQUEsQUFBbUIsaUJBQUEsQ0E3Q3ZDLHlFQWlEb0IsVUFDQSxvQkFBQSxBQUNBLGFBQUEsMEJBQUEsQUFDQSxzQkFBQSxxQkFBQSxBQUNBLHVCQUFBLFdBQWEsQ0FyRGpDLDhDQTJEWSxvQkFBQSxBQUNBLGFBQUEsMEJBQUEsQUFDQSxzQkFBQSxXQUFBLEFBQ0EsT0FBQSxzQkFDQSw0QkFDQSxrQkFDQSxxQkFDQSxpQkFDQSxZQUFjLENBbkUxQiwyREFzRWdCLDJCQUNBLDRCQUNBLHNCQUNBLGlCQUNBLGdCQUNBLGVBQ0EsMEJBQUEsQUFDQSxxQkFBQSxpQkFBbUIsQ0E3RW5DLHlEQWlGZ0IsbUJBQ0EsZ0NBQ0EsZUFDQSwwQkFBQSxBQUNBLHFCQUFBLGtCQUNBLGdCQUNBLGFwQi9FRyxDb0JSbkIsK0RBeUZvQixrQnBCcEZBLENvQkxwQiwwREE4RmdCLHNCQUNBLGlCQUNBLG1CQUNBLGVBQ0EsMEJBQUEsQUFDQSxxQkFBQSxpQkFBbUIsQ0FuR25DLDZFQXNHb0IsZUFDQSxrQkFBb0IsQ0F2R3hDLGtHQTBHd0IscUJBQ0EsNEJBQ0EsOEJBQ0EsY0FDQSxvQkFBc0IsQ0E5RzlDLDJEQW9IZ0IsOEJBQ0EsK0JBQ0EsZUFDQSwwQkFBQSxBQUNBLHFCQUFBLGtCQUNBLGVBQWlCLENBekhqQyxzRUE4SG9CLGFuQi9ISCxDbUJDakIsd0ZBa0l3QixhbkJuSVAsQ21CQ2pCLDBGQXFJd0IsYW5CdElQLENtQkNqQiw4RUEwSXdCLHlCQUNBLHlCQUNBLFVwQjVJWixDb0JBWiw2S0FnSjRCLHlCQUNBLHlCQUNBLFVwQmxKaEIsQ29CQVosNktBdUo0Qix5QkFDQSwyQ0FDQSxVcEJ6SmhCLENvQkFaLDZLQThKNEIseUJBQ0EseUJBQ0EsVXBCaEtoQixDb0JBWix3RkFvSzRCLHlCQUNBLHdCQUEwQixDQXJLdEQsd0VBNktvQixhbkI3S0QsQ21CQW5CLDBGQWlMd0IsYW5CakxMLENtQkFuQiw0RkFvTHdCLGFuQnBMTCxDbUJBbkIsZ0ZBeUx3Qix5QkFDQSx5QkFDQSxVcEIzTFosQ29CQVosaUxBK0w0Qix5QkFDQSx5QkFDQSxVcEJqTWhCLENvQkFaLGlMQXNNNEIseUJBQ0EsMENBQ0EsVXBCeE1oQixDb0JBWixpTEE2TTRCLHlCQUNBLHlCQUNBLFVwQi9NaEIsQ29CQVosMEZBbU40Qix5QkFDQSx3QkFBMEIsQ0FwTnRELHFFQTROb0IsYW5CM05KLENtQkRoQix1RkFnT3dCLGFuQi9OUixDbUJEaEIseUZBbU93QixhbkJsT1IsQ21CRGhCLDZFQXdPd0IseUJBQ0EseUJBQ0EsVXBCMU9aLENvQkFaLDJLQThPNEIseUJBQ0EseUJBQ0EsVXBCaFBoQixDb0JBWiwyS0FxUDRCLHlCQUNBLDBDQUNBLFVwQnZQaEIsQ29CQVosMktBNFA0Qix5QkFDQSx5QkFDQSxVcEI5UGhCLENvQkFaLHVGQWtRNEIseUJBQ0Esd0JBQTBCLENBblF0RCxzRUEyUW9CLGFwQnRPTCxDb0JyQ2Ysd0ZBK1F3QixhcEIxT1QsQ29CckNmLDBGQWtSd0IsYXBCN09ULENvQnJDZiw4RUF1UndCLHlCQUNBLHlCQUNBLFVwQnpSWixDb0JBWiw2S0E2UjRCLHlCQUNBLHlCQUNBLFVwQi9SaEIsQ29CQVosNktBb1M0Qix5QkFDQSwwQ0FDQSxVcEJ0U2hCLENvQkFaLDZLQTJTNEIseUJBQ0EseUJBQ0EsVXBCN1NoQixDb0JBWix3RkFpVDRCLHlCQUNBLHdCQUEwQixDQWxUdEQsc0VBMFRvQixhcEJwUkosQ29CdENoQix3RkE4VHdCLGFwQnhSUixDb0J0Q2hCLDBGQWlVd0IsYXBCM1JSLENvQnRDaEIsOEVBc1V3Qix5QkFDQSx5QkFDQSxVcEJ4VVosQ29CQVosNktBNFU0Qix5QkFDQSx5QkFDQSxVcEI5VWhCLENvQkFaLDZLQW1WNEIseUJBQ0EsMkNBQ0EsVXBCclZoQixDb0JBWiw2S0EwVjRCLHlCQUNBLHlCQUNBLFVwQjVWaEIsQ29CQVosd0ZBZ1c0Qix5QkFDQSx3QkFBMEIsQ0FqV3RELHFFQXlXb0IsYXBCdFVQLENvQm5DYix1RkE2V3dCLGFwQjFVWCxDb0JuQ2IseUZBZ1h3QixhcEI3VVgsQ29CbkNiLDZFQXFYd0IseUJBQ0EseUJBQ0EsVXBCdlhaLENvQkFaLDJLQTJYNEIseUJBQ0EseUJBQ0EsVXBCN1hoQixDb0JBWiwyS0FrWTRCLHlCQUNBLDRDQUNBLFVwQnBZaEIsQ29CQVosMktBeVk0Qix5QkFDQSx5QkFDQSxVcEIzWWhCLENvQkFaLHVGQStZNEIseUJBQ0Esd0JBQTBCLENBaFp0RCxtRUF3Wm9CLGFwQnBYTixDb0JwQ2QscUZBNFp3QixhcEJ4WFYsQ29CcENkLHVGQStad0IsYXBCM1hWLENvQnBDZCwyRUFvYXdCLHlCQUNBLHlCQUNBLFVwQnRhWixDb0JBWix1S0EwYTRCLHlCQUNBLHlCQUNBLFVwQjVhaEIsQ29CQVosdUtBaWI0Qix5QkFDQSwwQ0FDQSxVcEJuYmhCLENvQkFaLHVLQXdiNEIseUJBQ0EseUJBQ0EsVXBCMWJoQixDb0JBWixxRkE4YjRCLHlCQUNBLHdCQUEwQixDQS9idEQsd0RBc2NnQixvRkFDQSw4QkFBQSxBQUFnQixxQkFBQSxDQUNuQixrREF4Y2IsK0NBZ2RnQixhQUFlLENBaGQvQiwyREFtZG9CLFlBQWMsQ0FuZGxDLGtFQXdkd0IsNEJBQWEsQ0F4ZHJDLDREQStkb0Isb0JBQUEsQUFDQSxhQUFBLHVCQUFBLEFBQ0EsbUJBQUEsNkJBQUEsQUFBaUIsZUFBQSxDQWplckMseUVBb2V3QixVQUNBLG9CQUFBLEFBQ0EsYUFBQSwwQkFBQSxBQUNBLHNCQUFBLHFCQUFBLEFBQXdCLHNCQUFBLENBdmVoRCx3RUEyZXdCLFdBQ0Esb0JBQUEsQUFDQSxhQUFBLHVCQUFBLEFBQ0EsbUJBQUEscUJBQUEsQUFBd0Isc0JBQUEsQ0E5ZWhELHdFQWtmd0IsV0FDQSx5QkFDQSxVQUNBLGtCQUNBLGVBQ0EsMEJBQUEsQUFBbUIsaUJBQUEsQ0F2ZjNDLHlFQTJmd0IsVUFDQSxvQkFBQSxBQUNBLGFBQUEsMEJBQUEsQUFDQSxzQkFBQSxxQkFBQSxBQUNBLHVCQUFBLFdBQWEsQ0FDaEIsQ0FNakIsMEJBdGdCSiw2REEyZ0JvQixzQkFLQSxhQUFlLENBaGhCbkMseUVBNmdCd0IsWUFBYyxDQTdnQnRDLGdGQW9oQjRCLDJCQUNBLGNBQ0EsZ0JBQ0EsaUJBQ0EsYXBCbmhCUixDb0JMcEIsMERBZ2lCb0IsWUFBYyxDQWhpQmxDLHlDQXFpQlksMEJBQ0Esd0JBQTBCLENBQzdCLENBUVQsaUJBQ0kseUJBQ0EsaUJBQW1CLENBRnZCLDBCQUtRLGVBQ0EscUJBQ0EscUJBQXVCLENBUC9CLDBCQVdRLHdCbkIzakJTLENtQmdqQmpCLHFDQWFZLGFuQjdqQkssQ21CZ2pCakIsK0NBZ0JZLGFuQmhrQkssQ21CZ2pCakIsaURBbUJZLGFuQm5rQkssQ21CZ2pCakIsOEJBd0JRLHlCQUNBLHdCbkJ4a0JXLENtQitpQm5CLHlDQTJCWSxVcEIxa0JBLENvQitpQlosbURBK0JnQixVcEI5a0JKLENvQitpQloscURBa0NnQixVcEJqbEJKLENvQitpQlosbURBcUNnQixVcEJwbEJKLENvQitpQlosNkNBMENZLFVwQnpsQkEsQ29CK2lCWiw0QkErQ1EsY0FDQSxpQkFDQSxlQUFpQixDQWpEekIsd0JBcURRLGtCQUFvQixDQXJENUIsd0NBdURZLGlCQUNBLGlCQUNBLGlCQUFtQixDQXpEL0Isc0NBNERZLGVBQ0EsZ0JBQWtCLENBN0Q5QixnQ0FxRVEsa0JBQW9CLENBckU1QixzQ0F1RVkseUJBQTJCLENBQzlCLDBCQU1MLDJEQUNBLHNCQUNBLDRCQUNBLDJCQUE2QixDQUNoQyxlQVFHLGNBQWdCLENBRHBCLG9CQUdRLG1CQUNBLGtCQUNBLGVBQ0EsY0FBZ0IsQ0FOeEIsOEJBU1kseUJBQ0Esa0JBQ0EsYW5CcHBCSyxDbUJxcEJSLGVBS0wsZUFDQSxlQUFpQixDQUZyQixvQkFJUSxpQkFDQSxlQUNBLGVBQ0EsY0FDQSx3QnBCeHBCVyxDb0JncEJuQixnQ0FVWSwrQkFDQSw0QkFDQSw4QkFBZ0MsQ0FaNUMsK0JBZVksNkJBQ0EsK0JBQWlDLENBaEI3Qyw4QkFtQlksbUJBQ0EsVXBCNXFCQSxDb0I2cUJILDRCQU9ELHFCQUNBLGtCQUNBLFdBQ0EsbUJBQ0EseUJBQ0Esa0JBQ0EsdUJBQ0EsZ0JBQ0EsbUJBQXFCLENBWDdCLHFDQWNZLGtCQUNBLFNBQ0EsVUFBWSxDQWhCeEIsdUNBa0JnQixlQUNBLGFuQnJzQkMsQ21Ca3JCakIsbUNBd0JZLFlBQWMsQ0F4QjFCLDhDQTJCZ0IsZ0JBQ0EseUJBQ0EsZ0JBQ0EsVXBCbnNCQyxDb0JxcUJqQiwrQ0FrQ2dCLGNBQ0EsbUJBQ0EsZ0JBQ0EsbUJBQ0EsaUJBQW1CLENBdENuQyw4REF3Q29CLGtCQUNBLFNBQ0EsV0FDQSxjQUFnQixDQTNDcEMsZ0VBOENvQixlQUNBLGVBQWlCLENBL0NyQyxzQ0FvRGdCLGdCQUNBLFVBQ0EsZ0JBQ0EsZ0JBQWtCLENBdkRsQyx5Q0F5RG9CLFdBQ0Esa0JBQ0EsZUFDQSw2Q0FBNkIsQ0E1RGpELDJDQThEd0IsYUFBZSxDQTlEdkMscUNBbUVnQixhQUFlLENBbkUvQix3Q0F3RVksa0NBQ0EsMEJBQTRCLENBekV4Qyw4Q0E2RVksOEZBQWdHLENBQ25HLG1DQVlELGFBQ0Esa0JBQ0EsK0JBQ0EsbUJBQXFCLENBTjdCLHlDQVFZLG9DQUFBLEFBQXFCLDJCQUFBLENBUmpDLHNEQVVnQixtRkFBcUYsQ0FWckcsOENBZVkseUJBQ0EsaUJBQ0EsZ0JBQ0EsY0FBZ0IsQ0FsQjVCLDhDQXNCWSxjQUFnQixDQXRCNUIsZ0RBd0JnQixlQUNBLGFBQ0EseUJBQ0EsV0FDQSxvQkFDQSxtQkFBcUIsQ0E3QnJDLCtDQWtDWSxlQUNBLGtCQUNBLGNBQ0Esa0JBQW9CLENBckNoQyxpRUF1Q2dCLGlCQUNBLGtCQUNBLFNBQVcsQ0F6QzNCLGdFQTRDZ0IsZUFDQSxlQUFpQixDQTdDakMsa0RBa0RZLGdCQUNBLGNBQWdCLENBbkQ1QixxREFzRGdCLGlCQUNBLG9CQUFBLEFBQ0EsYUFBQSxxQkFBQSxBQUNBLHVCQUFBLHNCQUFBLEFBQ0EsbUJBQUEsMEJBQUEsQUFBc0Isb0JBQUEsQ0ExRHRDLDhFQThEd0IsZUFDQSxlQUFpQixDQS9EekMseUVBb0VvQixVcEJoMEJILENvQjR2QmpCLDRDQTBFWSxvQkFBQSxBQUNBLGFBQUEseUJBQUEsQUFDQSw2QkFBQSwwQkFBQSxBQUNBLHFCQUFBLHNCQUFBLEFBQ0EsbUJBQUEsaUJBQW1CLENBOUUvQix1REFnRmdCLG9DQUNBLGdCQUNBLGlCQUFtQixDQWxGbkMsd0RBcUZnQixhQUNBLGNBQWdCLENBdEZoQywwRUF3Rm9CLDBCQUE0QixDQXhGaEQseURBNEZnQixpQkFDQSxlQUFpQixDQTdGakMsc0RBbUdnQixhbkI1MkJDLENtQnl3QmpCLHdEQXNHZ0IsYW5CLzJCQyxDbUJ5d0JqQiwwRUEwR29CLGFuQm4zQkgsQ21CeXdCakIsd0RBZ0hnQixhbkJ4M0JHLENtQnd3Qm5CLDBEQW1IZ0IsYW5CMzNCRyxDbUJ3d0JuQiw0RUF1SG9CLGFuQi8zQkQsQ21Cd3dCbkIscURBNkhnQixhbkJwNEJBLENtQnV3QmhCLHVEQWdJZ0IsYW5CdjRCQSxDbUJ1d0JoQix5RUFvSW9CLGFuQjM0QkosQ21CNDRCQyxxQ0FhVCxrQkFDQSwrQkFDQSxtQkFBcUIsQ0FMN0IsZ0RBUVkseUJBQ0EsaUJBQ0EsZ0JBQ0EsV0FDQSxnQkFDQSxZQUFjLENBYjFCLHdEQWlCWSx5QkFDQSw0QkFBOEIsQ0FsQjFDLG9FQXFCZ0IsZUFDQSxrQkFDQSxjQUNBLGtCQUFvQixDQXhCcEMsc0ZBMEJvQixpQkFDQSxrQkFDQSxTQUFXLENBNUIvQixxRkErQm9CLGVBQ0EsZUFBaUIsQ0FoQ3JDLDJEQXFDZ0IsZ0JBQ0EsVUFDQSxnQkFDQSxnQkFBa0IsQ0F4Q2xDLDhEQTBDb0IsV0FDQSxrQkFDQSxlQUNBLDZDQUE2QixDQTdDakQsZ0VBK0N3QixhQUFlLENBL0N2Qyx3REF1RGdCLGtCbkIvOEJDLENtQnc1QmpCLDBEQTREZ0Isa0JuQm45QkcsQ21CdTVCbkIsdURBaUVnQixrQm5CdjlCQSxDbUJ3OUJILDBDQzkrQjZCLHlCQXFCbEMsZXJCWVMsQ3FCZmpCLHFDQVFZLGtCcEJOSyxDb0JGakIsbUNBV1ksd0JwQlRLLENvQkZqQix1Q0FpQlksa0JwQmRPLENvQkhuQixxQ0FvQlksd0JwQmpCTyxDb0JIbkIsb0NBMEJZLGtCcEJ0QkksQ29CSmhCLGtDQTZCWSx3QnBCekJJLENvQkpoQixrQ0FtQ1ksa0JyQklFLENxQnZDZCxnQ0FzQ1ksd0JyQkNFLENxQnZDZCxxQ0E0Q1ksa0JyQkpHLENxQnhDZixtQ0ErQ1ksd0JyQlBHLENxQnhDZixxQ0FxRFksa0JyQlpJLENxQnpDaEIsbUNBd0RZLHdCckJmSSxDcUJ6Q2hCLG9DQThEWSxrQnJCeEJDLENxQnRDYixrQ0FpRVksd0JyQjNCQyxDcUJ0Q2Isa0JBc0VRLGlCQUFtQixDQXRFM0IsZ0NBeUVZLHlCQUEyQixDQXpFdkMsbUNBMkVnQixtQkFDQSxpQkFDQSxnQkFDQSxhckJuRUcsQ3FCWG5CLG9CQW1GWSxrQkFDQSxVQUNBLFlBQ0EsYUFDQSxnQkFDQSx1QkFDQSxvQkFDQSxVckJ2RkEsQ3FCSFosZ0NBOEZZLGtCcEI1RkssQ29CRmpCLGtDQWlHWSxrQnBCOUZPLENvQkhuQiwrQkFvR1ksa0JwQmhHSSxDb0JKaEIsNkJBdUdZLGtCckJoRUUsQ3FCdkNkLGdDQTBHWSxrQnJCbEVHLENxQnhDZixnQ0E2R1ksa0JyQnBFSSxDcUJ6Q2hCLCtCQWdIWSxrQnJCMUVDLENxQjJFSixXQVNMLGtCQUNBLE1BQ0EsT0FDQSxhQUNBLGFBQ0EsZ0JBQ0EsVUFDQSwyREFDQSxlQUNBLG1CQUNBLHVCQUNBLGdCQUNBLG1CQUNBLHNCQUNBLEFBQ0EsNEJBQ0EseUJBQ0Esa0JBQ0EsQUFDQSxtRkFBMkYsQ0FwQi9GLGdCQXNCUSx3QkFDQSxVQUNBLEFBR0EsK0JBQWlDLENBM0J6QyxtQkE2QlksMEJBQ0EsU0FBVyxDQTlCdkIsZUFrQ1EsZ0JBQWtCLENBbEMxQixzQkFvQ1ksYUFDQSxTQUNBLGtCQUNBLHNCQUNBLGtDQUNBLHFCQUF1QixDQXpDbkMsNkJBNENZLFdBQ0Esa0JBQ0EsWUFDQSxzQkFDQSxxQkFBdUIsQ0FoRG5DLGlCQW9EUSxnQkFBa0IsQ0FwRDFCLHdCQXNEWSxRQUNBLFdBQ0EsaUJBQ0Esd0JBQ0Esb0NBQ0EsbUJBQXFCLENBM0RqQywrQkE4RFksYUFDQSxTQUNBLFlBQ0Esd0JBQ0EsbUJBQXFCLENBbEVqQyxrQkFzRVEsZUFBaUIsQ0F0RXpCLGdDQXdFWSwyQkFBd0IsQ0F4RXBDLHlCQTJFWSxVQUNBLFNBQ0Esa0JBQ0EsbUJBQ0EseUJBQ0Esb0NBQXlCLENBaEZyQyxnQ0FtRlksUUFDQSxrQkFDQSxZQUNBLG1CQUNBLHdCQUEwQixDQXZGdEMsZ0JBMkZRLGlCQUFtQixDQTNGM0IsdUJBNkZZLFFBQ0EsWUFDQSxpQkFDQSxxQkFDQSx1QkFDQSxrQ0FBdUIsQ0FsR25DLDhCQXFHWSxVQUNBLGFBQ0EsWUFDQSxxQkFDQSxzQkFBd0IsQ0F6R3BDLDBCQTZHUSxpQkFDQSxTQUNBLGVBQ0Esc0JBQ0EsNkJBQ0EscUJBQ0EsMEJBQ0EsYUFBZSxDQXBIdkIsNEJBdUhRLDJCQUNBLDBCQUNBLGlCQUNBLHFCQUF1QixDQTFIL0IsMkNBNkhRLGtCQUNBLGNBQ0EsUUFDQSxTQUNBLHlCQUNBLGtCQUFvQixDQWxJNUIsa0JBcUlRLGlCQUFtQixDQXJJM0IseUJBd0lRLFdBQ0EsaUJBQW1CLENBQ3RCLFdBUUQsa0JBQ0EsYUFDQSxjQUNBLFlBQ0EsZUFDQSxVQUNBLHdCQUNBLGtCQUFvQixDQVJ4QixnQkFVUSxVQUNBLEFBR0EsOEJBQWdDLENBZHhDLG1CQWdCWSxTQUFXLENBaEJ2QixjQW9CUSxZQUNBLHdCQUFhLENBckJyQixlQXdCUSxnQkFBa0IsQ0F4QjFCLHVFQTBCWSxXQUNBLFNBQ0EsaUJBQ0EsaUNBQ0Esc0JBQXdCLENBOUJwQyx1Q0FpQ1ksUUFBVSxDQWpDdEIsaUJBcUNRLGdCQUFrQixDQXJDMUIsMkVBdUNZLFFBQ0EsU0FDQSxnQkFDQSxtQ0FDQSwwQkFBNEIsQ0EzQ3hDLHlDQThDWSxNQUFRLENBOUNwQixrQkFrRFEsZUFBaUIsQ0FsRHpCLDZFQW9EWSxRQUNBLFNBQ0EsaUJBQ0Esb0NBQ0Esc0JBQXdCLENBeERwQywwQ0EyRFksS0FBTyxDQTNEbkIsZ0JBK0RRLGlCQUFtQixDQS9EM0IseUVBaUVZLFFBQ0EsVUFDQSxnQkFDQSxrQ0FDQSwwQkFBNEIsQ0FyRXhDLHdDQXdFWSxPQUFTLENBeEVyQiw0QkE0RVEsZ0JBQ0EsaUJBQ0EseUJBQ0Esa0JBQ0EscUJBQ0EsaUNBQ0EsQUFFQSxrQkFDQSwwQ0FBK0IsQ0FyRnZDLCtEQXdGUSxrQkFDQSxRQUNBLFNBQ0Esb0NBQ0Esa0JBQW9CLENBQ3ZCLDRDQ3pYdUMsWUF1QnhDLGlCQUFtQixDQUR2QixrQkFHUSxpQkFDQSxlQUNBLGVBQ0EsYUFBZSxDQU52QiwwQkFVUSxXQUNBLGtCQUNBLFdBQ0EsWUFDQSxPQUNBLFFBQ0EseUJBQ0Esa0JBQ0Esc0JBQ0EscUNBQXVDLENBbkIvQyx5QkFzQlEsa0JBQ0EsV0FDQSxZQUNBLFNBQ0EsUUFDQSxlQUNBLGFBQWUsQ0E1QnZCLG1FQWlDUSxVQUNBLFVBQ0EsY0FBZ0IsQ0FuQ3hCLDZHQXdDUSwwQkFDQSxlQUFpQixDQXpDekIscUZBOENRLGtCQUFvQixDQTlDNUIsaUdBa0RRLFlBQWMsQ0FsRHRCLGlIQXNEUSw0QkFDQSxrQkFBb0IsQ0F2RDVCLHNDQTJEUSxpQkFBbUIsQ0EzRDNCLHNCQStEUSxxQkFDQSxrQkFBb0IsQ0FoRTVCLGlDQW1FUSxnQkFBa0IsQ0FuRTFCLG9FQXVFUSx5QkFDQSxvQnJCMUVTLENxQkVqQixtRUE0RVEsVXRCN0VJLENzQkNaLHNFQWdGUSx5QkFDQSxvQnJCbEZXLENxQkNuQixxRUFxRlEsVXRCdEZJLENzQkNaLG1FQXlGUSx5QkFDQSxvQnJCMUZRLENxQkFoQixrRUE4RlEsVXRCL0ZJLENzQkNaLG1FQWtHUSx5QkFDQSxvQnRCakVLLENzQmxDYixrRUF1R1EsVXRCeEdJLENzQkNaLGlFQTJHUSx5QkFDQSxvQnRCekVNLENzQm5DZCxnRUFnSFEsVXRCakhJLENzQkNaLG9FQW9IUSx5QkFDQSxvQnRCaEZRLENzQnJDaEIsbUVBeUhRLFV0QjFISSxDc0JDWixvRUE2SFEseUJBQ0Esb0J0QjFGTyxDc0JwQ2YsbUVBa0lRLFV0Qm5JSSxDc0JDWixpRUFxSVEsc0JBQ0EsaUJ0QmxITSxDc0JwQmQsZ0VBMElRLFV0QjNJSSxDc0JDWiw4REE4SVEsMEJBQ0EsZUFBaUIsQ0EvSXpCLGlFQW1KUSxVQUFZLENBbkpwQixnRUF1SlEsVUFBWSxDQUNmLG1EQzlLOEMsZ0ZBNkJqRCxtQkFDQSw2RUFDQSxBQUVBLG9FQUFxRSxDQUN0RSxnRkFRd0MsU0FBVyxDQUFJLGdGQUVmLFNBQVcsQ0FBSSw0QkFJdEQsS0FDRSw2QkFDQSxBQUVBLHFCQUNBLFNBQVcsQ0FBQSxDQUlmLEFBb0JBLG9CQUNFLEtBQ0UsNkJBQ0EsQUFFQSxxQkFDQSxTQUFXLENBQUEsQ0FVZCw4RUFFQyxtQkFDQSw2RUFDQSxBQUVBLG9FQUFxRSxDQUN0RSw4RUFRc0MsU0FBVyxDQUFJLDhFQUVmLFNBQVcsQ0FBSSwyQkFJcEQsS0FDRSxVQUNBLGlCQUFtQixDQUFBLENBR3ZCLEFBWUEsbUJBQ0UsS0FDRSxVQUNBLGlCQUFtQixDQUFBLENDdEl2Qix5Q0FBeUMsWUFxQnJDLFdBQ0EsWUFDQSxrQkFDQSw2QkFDQSxpQkFDQSxTQUFXLENBTmYsZ0NBUVEseUJBQ0EsbUJBQ0EsZ0JBQWtCLENBVjFCLCtDQVlZLGtCQUNBLFNBQ0EsZUFDQSxzQkFDQSxnQkFDQSxnQkFDQSxlQUNBLGFBQWUsQ0FuQjNCLHNEQXFCZ0Isa0JBQ0EsTUFDQSxPQUNBLFlBQ0EsV0FDQSxtQkFDQSxlQUFpQixDQTNCakMsOERBOEJnQixrQkFFQSxXQUNBLHNCQUNBLHlCQUNBLFdBQWEsQ0FuQzdCLDJEQXVDZ0Isa0JBQ0EsUUFDQSxTQUNBLGtCQUNBLGlCQUNBLGNBQWdCLENBNUNoQyx3RUE4Q29CLGVBQ0EsY0FDQSxtQkFBcUIsQ0FoRHpDLDhFQWtEd0IsYXZCakRMLEN1QmtERSx5QkFjYixpQkFDQSxnQkFDQSx5QkFDQSxtQkFDQSxheEI1RFcsQ3dCc0RuQixtQkFTUSxrQkFDQSxnQkFDQSx1QkFDQSxrQkFDQSxlQUNBLHdDQUE4QixDQWR0Qyx1QkFnQlksa0JBQ0EsY0FDQSxnQkFDQSxlQUNBLFdBQWEsQ0FwQnpCLDhCQXVCWSxZQUNBLFdBQ0EseUJBQ0EsaUJBQ0EsbUNBQ0EsMkJBQ0Esa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsV0FBYSxDQWpDekIseUVBbUNnQixtQkFBcUIsQ0FuQ3JDLGdDQXNDZ0Isa0JBQ0EsTUFDQSxPQUNBLFdBQ0EsWUFDQSxhQUNBLGlCQUNBLG1CQUNBLFlBQ0EsU0FBVyxDQS9DM0Isc0JBbURZLHFCQUNBLGdCQUNBLFFBQVUsQ0FyRHRCLDJCQXVEZ0IsZUFBaUIsQ0F2RGpDLHFCQTJEWSxTQUNBLG1CQUNBLGVBQWlCLENBN0Q3QiwwQkErRGdCLHlCQUNBLFV4QjlISixDd0IrSEMsb0JBWUwsdURBQ0Esa0JBQ0EsMENBQStCLENBTnZDLHdCQVFZLHVCQUNBLGVBQ0EsQUFDQSx3QkFDQSxZQUNBLEFBQ0Esa0RBQUEsQUFDQSwwQ0FEQSxBQUNBLG1FQUFBLDZDQUNBLHFDQUNBLG1DQUNBLDBCQUE0QixDQWxCeEMsc0NBdUJnQixrREFBQSxBQUNBLDBDQURBLEFBQ0EsbUVBQUEsa0JBQ0EsYUFDQSxjQUNBLFlBQ0EsYUFDQSxzQkFDQSxrQkFDQSw2Q0FDQSxXQUNBLFVBQ0EsdUNBQ0EsK0JBQ0EsaUNBQ0Esd0JBQTBCLENBckMxQyxzQkEwQ1ksa0RBQUEsQUFDQSwwQ0FEQSxBQUNBLG1FQUFBLGtCQUNBLFFBQ0EsU0FDQSx3QkFDQSxZQUNBLGlCQUNBLFVBQ0EsNkNBQ0Esb0NBQXNCLENBbkRsQyw4QkF1RGdCLFlBQ0EsdUNBQ0EsOEJBQXNCLENBekR0Qyw2Q0E0RGdCLFVBQ0EsbUNBQ0EsMEJBQWtCLENBOURsQyx5REFpRWdCLFVBQ0EsdUNBQ0EsOEJBQXNCLENBbkV0Qyx1QkF3RVksZ0JBQ0EsQUFDQSxtQ0FBQSxBQUNBLDJCQURBLEFBQ0Esb0RBQUEsMkNBQ0Esa0NBQXNCLENBNUVsQyxvQkFrRlksZUFDQSxBQUNBLHdCQUNBLFVBQ0EsQUFDQSxrREFBQSxBQUNBLDBDQURBLEFBQ0EsbUVBQUEsdURBQ0EsK0NBQ0EsbUNBQ0EsMEJBQTRCLENBM0Z4QyxtQkE4Rlksa0JBQ0EsUUFDQSxTQUNBLGlCQUFtQixDQWpHL0IsMEJBcUdnQixZQUNBLGdEQUNBLHVDQUFtQyxDQXZHbkQsd0JBMEdnQixVQUNBLHVDQUNBLDhCQUFzQixDQTVHdEMsa0JBZ0hZLG1CQUNBLFVBQ0EsNEJBQ0EsaUJBQ0EsVUFDQSxBQUNBLGtEQUFBLEFBQ0EsMENBREEsQUFDQSxtRUFBQSwyQ0FDQSxrQ0FBc0IsQ0F4SGxDLDZCQThIWSxTQUNBLFNBQ0EsWUFDQSxjQUNBLGdCQUNBLGNBQ0EsQUFDQSxtQ0FBQSxBQUNBLDJCQURBLEFBQ0Esb0RBQUEsMENBQ0EsaUNBQXNCLENBdklsQyxxQkEwSVksV0FDQSxvQkFBc0IsQ0EzSWxDLGlDQThJWSx1QkFDQSxjQUNBLGVBQWlCLENBaEo3QixvREFrSmdCLGF2QjFSQyxDdUJ3SWpCLGdDQXNKWSxrQkFDQSxPQUNBLFFBQ0EsMkJBQ0EsWUFDQSxZQUNBLFdBQ0Esb0JBQ0EsY0FDQSxVQUNBLG1DQUNBLEFBQ0EseUJBQ0Esa0NBQW9DLENBbktoRCxzREF1S1ksZ0JBQ0EsV0FDQSxZQUNBLGFBQ0EseUJBQ0EsbUJBQ0EsZ0JBQ0EsQUFDQSxtQ0FBQSxBQUNBLDJCQURBLEFBQ0Esb0RBQUEsMENBQ0EsaUNBQXNCLENBakxsQyw4Q0FvTFkscUJBQ0EsaUJBQ0EsZ0JBQ0EsaUJBQ0EsMEJBQ0EsY0FDQSxXQUNBLG1DQUNBLGlDQUFtQyxDQTVML0Msd0NBK0xZLGVBQWlCLENBL0w3Qix5Q0FtTVksZUFBaUIsQ0FuTTdCLHlDQXVNWSxlQUFpQixDQXZNN0IsMEZBME1ZLGFBQWUsQ0ExTTNCLHNDQTZNWSxTQUFXLENBN012QixxR0FnTlksdUNBQ0EsOEJBQXNCLENBak5sQywyQkFxTlksc0JBQXdCLENBck5wQyxvREF5TlkscUJBQXVCLENBek5uQyxvREE2Tlksc0JBQXdCLENBN05wQyxtREFpT1kscUJBQXVCLENBak9uQyxvQkFzT1EsbUJBQ0EsZUFBaUIsQ0F2T3pCLHdCQTBPWSx5QkFDQSxtQ0FDQSwwQkFBNEIsQ0E1T3hDLHVDQStPWSxrQkFDQSxRQUNBLFNBQ0EsV0FDQSxZQUNBLFVBQ0EseURBQ0EsMEJBQ0EsV0FDQSxBQUNBLGtEQUFBLEFBQ0EsMENBREEsQUFDQSxtRUFBQSx1Q0FDQSwrQkFDQSxnQ0FDQSx1QkFBeUIsQ0E3UHJDLHFDQWdRWSwyQkFDQSxpQkFDQSxVQUNBLG1CQUFxQixDQW5RakMsdUJBdVFZLG1DQUFBLEFBQ0EsMkJBREEsQUFDQSxvREFBQSwwQ0FDQSxpQ0FBc0IsQ0F6UWxDLHNCQTRRWSxrQkFDQSxRQUNBLFlBQ0Esb0JBQXNCLENBL1FsQyxzQkFrUlksY0FDQSxjQUNBLDBCQUNBLDJCQUNBLFdBQ0EsWUFDQSx5QkFDQSxtQkFDQSxvQkFBc0IsQ0ExUmxDLHdEQTRSZ0IsYXZCcGFDLEN1QndJakIsMEJBZ1NZLFVBQ0EsQUFDQSxrREFBQSxBQUNBLDBDQURBLEFBQ0EsbUVBQUEsMENBQ0EsaUNBQXNCLENBcFNsQyw4QkF1U1ksV0FBYSxDQXZTekIsNkJBMFNZLHVDQUNBLDhCQUFzQixDQTNTbEMsNkNBOFNZLFlBR0EsaUNBQUEsQUFBaUIsd0JBQUEsQ0FqVDdCLDhCQW9UWSxVQUNBLHVDQUNBLDhCQUFzQixDQXRUbEMsNkNBMFRZLHNCQUF3QixDQTFUcEMsNkNBOFRZLHFCQUF1QixDQTlUbkMsNENBa1VZLHNCQUF3QixDQWxVcEMsMkNBc1VZLFNBQVcsQ0FDZCxZQVFMLHVDQUE0QixDQUMvQixZQUdHLG1FQUE2RCxDQUNoRSxZQUdHLHFFQUE4RCxDQUNqRSxZQUdHLHVFQUFnRSxDQUNuRSxZQUdHLHVFQUFnRSxDQUNuRSwwQkFRTyxXQUNBLFlBQ0Esc0JBQ0EsZUFDQSxTQUNBLFVBQ0Esa0JBQ0Esb0JBQ0EsZUFDQSxnQkFBa0IsQ0FYMUIscUNBYVksd0J2QjNmSyxDdUI4ZWpCLHVDQWdCWSx3QnZCN2ZPLEN1QjZlbkIsb0NBbUJZLHdCdkIvZkksQ3VCNGVoQixnQ0FzQlksV0FBYSxDQXRCekIsNkNBd0JnQixhQUFlLENBeEIvQiw0QkE0Qlksa0JBQ0EsU0FDQSxVQUNBLFdBQ0EsZ0JBQWtCLENBaEM5Qix1Q0FtQ1ksa0JBQ0EsU0FDQSxTQUNBLFdBQ0EsWUFBYyxDQUNqQixzQ0MxaUI2QixVQXFCbEMsV0FBYSxDQUNoQix3Q0FPVyxjQUNBLGVBQ0EsYXhCWEssQ3dCS2pCLHNDQVNZLGtCQUNBLGVBQ0EsYXpCUlEsQ3lCU1gsT0FXTCxjQUFnQixDQUNuQixxQkFJRyxvQkFBc0IsQ0FDekIsZUFJRywyQkFDQSxZQUNBLFVBQ0EsUUFBVSxDQUpkLDJDQU1RLDBCQUE0QixDQUMvQixtQ0FLRCwyQkFDQSxvQkFBcUIsQ0FDeEIscUJBSUcsMkRBQ0EsMkJBQ0Esc0JBQ0EsNEJBQThCLENBQ2pDLG9CQVVPLGFBQ0EsZUFBaUIsQ0FIekIsdUJBTVEsY0FBZ0IsQ0FOeEIsNEJBU1Esa0JBQ0EsU0FDQSxPQUNBLFFBQ0EsU0FBVyxDQWJuQixxQkFnQlEsa0JBQ0EsU0FBVyxDQUNkLG9CQU1HLGFBQ0EsZUFBaUIsQ0FIekIsdUJBTVEsYUFBZSxDQU52Qix3QkFTUSxrQkFDQSxZQUNBLE9BQ0EsUUFDQSxTQUFXLENBYm5CLHNCQWdCUSxrQkFDQSxNQUNBLFFBQ0Esb0JBQUEsQUFDQSxhQUFBLG9CQUFBLEFBQ0EsMkJBQUEsc0JBQUEsQUFDQSxtQkFBQSxZQUFjLENBdEJ0QiwyQkF3Qlksa0JBQ0EsVXpCakhBLEN5QndGWix3QkE0QlksY0FBZ0IsQ0FDbkIsNEJBVUwseUJBQ0EsdUJBQXlCLENBRjdCLDhDQUlRLFlBQ0Esd0JBQTBCLENBTGxDLG1FQVFRLHdCQUE0QixDQVJwQywwREFXUSx3QkFBeUIsQ0FDNUIsbUJBS0QsY0FDQSxtQkFDQSxtQkFDQSxtQkFBcUIsQ0FKekIseUJBTVEsYXhCckpTLEN3QnNKWixtQkFNRyxjQUNBLGVBQWlCLENBSHpCLHlCQUtZLGF4Qi9KSyxDd0JnS1IsMEJBWUwsbUJBQXFCLENBQ3hCLGVBSUcsY0FDQSxrQkFBb0IsQ0FGeEIsb0JBSVEsa0JBQ0EsUUFBVSxDQUNiLHlDQzFNb0MsUUEwQnJDLFNBQVcsQ0FEZixxQkFHUSxXQUNBLFdBQWEsQ0FKckIscUJBT1EsV0FDQSxZQUNBLGlCQUNBLHNCQUNBLDJCQUE2QixDQVhyQywwREFjUSxrQkFDQSxRQUNBLGdCQUNBLFlBQ0EsZUFDQSxTQUFXLENBbkJuQiwwRUFzQmdCLFlBQ0EsOEJBQUEsQUFBZ0IscUJBQUEsQ0F2QmhDLDhEQTJCWSxpQkFDQSxXQUNBLGtCQUFvQixDQTdCaEMsOElBZ0NZLHVCQUF3QixDQWhDcEMsK0JBb0NRLFNBQVcsQ0FwQ25CLDJCQXVDUSxVQUFZLENBdkNwQix3QkEwQ1Esa0JBQ0EsTUFDQSxPQUNBLFFBQ0EsU0FDQSwyQkFDQSxTQUFXLENBaERuQiwyQkFxRFEsa0JBQ0Esa0JBQ0EsY0FDQSxPQUNBLFFBQ0EsWUFDQSxXQUFhLENBM0RyQixvQkErRFEsb0JBQ0EsU0FDQSxrQkFDQSxXQUNBLFlBQ0EsVUFDQSxXQUNBLHNCQUNBLGVBQ0EsdUJBQXlCLENBeEVqQyxxREEwRVksdUJBQTBCLENBMUV0Qyw2QkErRVEsd0J6QnBGUyxDeUJLakIsZ0NBbUZRLHNCQUFBLEFBQ0EsbUJBQUEsaUJBQ0Esa0JBQ0EsVUFBWSxDQXRGcEIsMkNBd0ZZLGtCQUNBLGlCQUNBLGFBQ0Esb0JBQUEsQUFBYyxZQUFBLENBM0YxQiw2REFrR29CLG9DQUNBLGdCQUNBLGlCQUNBLG1CQUNBLFUxQjFHUixDMEJJWiwyRUF5R29CLFVBQ0EsV0FDQSxnQkFDQSxhQUFlLENBNUduQyx3RUFpSG9CLFdBQ0Esa0JBQ0EsZUFBaUIsQ0FuSHJDLGdGQXFId0IsY0FBZ0IsQ0FDbkIscUJBUWpCLGdCQUFrQixDQUNyQiwwQkFJRyxlQUNJLDBCQUNBLG1CQUNBLGtCQUNBLFNBQ0EsT0FDQSxRQUNBLFlBQ0EsaUJBQW1CLENBUnZCLGdDQVVRLHNCQUNBLDJCQUE2QixDQVhyQyxrQkFjUSwyQkFBNkIsQ0FkckMsa0NBaUJRLGNBQ0EsYUFBZSxDQUNsQixDQUtULDRHQUNJLGVBQ0ksa0JBQ0Esa0JBQ0EsbUJBQXFCLENBSHpCLGdDQUtRLDRCQUNBLHFCQUF1QixDQU4vQiw2QkFTUSxhQUFlLENBQ2xCLGtCQUdELHdCQUEwQixDQUM3QixDQU9MLGtCQUNJLG9DQUNBLGdCQUNBLGNBQWdCLENBQ25CLHNDQUlPLG9DQUNBLGdCQUNBLGNBQWdCLENBSnhCLGlDQU9RLHFDQUNBLGlCQUNBLGlCQUNBLGdCQUNBLGlCQUNBLGExQmhNWSxDMEJpTWYsdUNBSUQsK0NBQ0EsMkJBQ0EsMEJBQ0EsMkJBQ0Esd0JBQTBCLENBQzdCLDBCQUdHLGlDQUVRLGlCQUNBLGlCQUNBLGNBQWdCLENBQ25CLENBS1QsNEdBQ0ksaUNBRVEsMkJBQTZCLENBQ2hDLENBS1QsZ0JBQ0ksb0NBQ0EsMkJBQ0EsNEJBQ0EsMkJBQ0EsY0FBZ0IsQ0FDbkIsa0JBT0csY0FBZ0IsQ0FEcEIsb0JBR1EsaUJBQ0EsbUJBQ0EsYXpCelBTLEN5Qm9QakIsNkJBUVEscUNBQ0EsZUFDQSxpQkFDQSxnQkFDQSxjQUNBLGFBQWUsQ0FidkIsK0JBZ0JRLFUxQnZQUyxDMEJ3UFosY0FTRCxlQUFpQixDQUNwQiwwQkFHRyxjQUNJLHlCQUEyQixDQUM5QixDQVFMLGtCQUVRLGtCQUNBLFdBQ0EsWUFDQSxrQkFDQSxjQUNBLHlCQUNBLFNBQVcsQ0FSbkIseUJBVVksa0JBQ0EsbUJBQ0EsV0FDQSxNQUNBLE9BQ0EsU0FDQSxXQUNBLFlBQ0Esa0JBQ0EsZ0RBQUEsQUFBeUMsdUNBQUEsQ0FuQnJELHdCQXNCWSxRQUNBLFFBQVUsQ0F2QnRCLGlEQXlCZ0IsYUFBZSxDQXpCL0IseUJBNkJZLFFBQ0EsUUFBVSxDQTlCdEIsbURBZ0NnQixhQUFlLENBaEMvQix3QkFvQ1ksUUFDQSxTQUFXLENBckN2QixpREF1Q2dCLGFBQWUsQ0F2Qy9CLHNCQTZDUSxrQkFDQSx5QkFDQSxXQUNBLCtCQUNBLGVBQ0EsYUFDQSxTQUFXLENBbkRuQixnQ0FxRFksa0JBQ0EsUUFDQSxNQUFRLENBdkRwQixpQ0EwRFksa0JBQ0EsUUFDQSxNQUFRLENBNURwQixnQ0ErRFksa0JBQ0EsUUFDQSxTQUFXLENBQ2QsNEJBV0QsdUNBQXlDLENBRmpELHVCQUtRLGtCQUNBLFNBQVcsQ0FObkIsOEJBUVksWUFDQSxrQkFDQSxvQkFDQSxjQUFnQixDQVg1Qix5REFhZ0IsYTFCaldLLEMwQm9WckIsb0RBYWdCLGExQmpXSyxDMEJvVnJCLDJDQWFnQixhMUJqV0ssQzBCb1ZyQiw4QkFpQlksa0JBQ0EsUUFDQSxVQUNBLFlBQ0EsWUFDQSxlQUFpQixDQUNwQiwwQkFNTCxlQUNJLHdCQUNBLDRCQUE4QixDQUNqQyx1QkFHTyxVQUFZLENBQ2YsQ0FVVCx5QkFDSSxZQUFjLENBRGxCLDZCQUdRLFFBQVUsQ0FDYixpQ0FNRyxrQkFDQSxrQkFBb0IsQ0FINUIsK0JBTVEsY0FBZ0IsQ0FOeEIsbUNBUVksZ0JBQ0EsZUFBaUIsQ0FUN0IsK0JBYVEsY0FBZ0IsQ0FieEIsNkNBZ0JRLG9CQUFzQixDQWhCOUIscUJBbUJRLGFBQWUsQ0FDbEIsVUFLRCxvQ0FDQSxpQkFDQSxlQUFpQixDQUNwQiw0QkFLTyxZQUFjLENBRnRCLHdDQUtRLGFBQWUsQ0FMdkIseUJBUVEsZ0JBQWtCLENBUjFCLDJCQVVZLGVBQ0EsYXpCdmNLLEN5QjRiakIseUJBZVEsWUFBYyxDQWZ0QiwyQkFpQlksY0FDQSxnQkFBa0IsQ0FsQjlCLCtDQXNCZ0IsYXpCbGRDLEN5Qm1kSiwwQkFPVCx5QkFDSSxvQkFBc0IsQ0FDekIsQ0FJTCxjQUNJLG9CQUFBLEFBQ0EsYUFBQSwwQkFBQSxBQUNBLHFCQUFBLHNCQUFBLEFBQW9CLGtCQUFBLENBSHhCLHNCQUtRLGVBQ0EsY0FDQSxpQkFBbUIsQ0FQM0IsNEJBVVEsYUFBZSxDQVZ2QiwwQ0FZWSxhMUJ6ZFMsQzBCNmNyQiwyREFnQmdCLGVBQ0Esd0JBQTRCLENBQy9CLDRDQVlMLGNBQ0EsU0FBVyxDQUhuQiwwREFLWSx5QkFDQSwwQ0FBK0IsQ0FOM0MsNkRBVWdCLFdBQ0EscUNBQXNCLENBWHRDLGdEQWVZLGtCQUFvQixDQWZoQyw0REFrQlksa0JBQW9CLENBbEJoQyxnREFzQmdCLGF6QmxoQkMsQ3lCNGZqQixzREF5QmdCLGExQjVnQkcsQzBCNmdCTiwwQkFPVCxrQkFDSSxxQkFBdUIsQ0FDMUIsWUFFRyxlQUFpQixDQUNwQixDQVFMLCtCQUNJLHdCQUEwQixDQUM3QiwyQkFRTyx5QkFDQSwyQkFDQSxvQ0FDQSxVMUIxaUJTLEMwQjJpQlosOENDNWtCeUMsS0F1QjFDLGlKQUNBLDBCQUE0QixDQUMvQixzRUFHRyx1QkFBeUIsQ0FDNUIsK0NBR0csMEJBQ0gsQ0FBQyxjQUdFLHVCQUF5QixDQUM1QixXQUdHLHlCQUNBLHNIQUE2RyxDQUdqSCxXQUNJLHdCQUNBLGlCQUNBLG9IQUEyRyxDQVEvRyxXQUNJLGVBQ0EsUUFDQSxVQUNBLGtCQUNBLFlBQ0Esa0JBQ0EsYUFDQSxpQkFDQSw2QkFBQSxBQUNBLHFCQUFBLG1CQUFxQixDQUN4QixtQkFHRyxVQUNBLG1CQUNBLDJCQUFBLEFBQWdCLGtCQUFBLENBRW5CLDJCQUdHLGFBQ0EsWUFDQSxrQjFCekRlLEMwQjBEbEIsYUFHRyxhQUNBLHFCQUNBLGNBQ0EsY0FDQSxXQUNBLFlBQ0EseUJBQ0EsVUFDQSxvQkFDQSxrQkFDQSxrQkFDQSxjQUNILENBQUMsa0JBR0UsYUFDQSxVQUFZLENBQ2YsbUJBR0csYUFDQSxnQkFDQSwwQkFDQSxrQkFDQSxjQUNBLFFBQ0EsbUNBQ0EsMEJBQXFCLENBQ3hCLFVBUUcscUJBQXVCLENBQzFCLDBDQUdHLG1DQUFxQyxDQUN4Qyx1Q0FHRyxtQ0FBdUMsQ0FDMUMsNEJBUUcsYTNCaEdpQixDMkJpR3BCLG1CQUVHLGEzQm5HaUIsQzJCb0dwQix1QkFFRyxhM0J0R2lCLEMyQnVHcEIsa0JBRUcsYTNCekdpQixDMkIwR3BCLHVGQVFHLFVBQVksQ0FDZix1RkFFRyxrQkFDQSwwQkFBZ0IsQ0FDbkIseUNDOUp3QyxlQTZCckMsd0JBQTBCLENBQzdCLGlCQUdHLHdCQUE0QixDQUMvQixjQUdHLHdCQUF5QixDQUM1QixXQUdHLHdCQUFzQixDQUN6QixjQUdHLDRCQUErQixDQUNsQyxXQUdHLHdCQUE0QixDQUMvQixZQUdHLHFCQUF3QixDQUMzQixjQUdHLHdCQUEwQixDQUM3QixnQkFHRyx3QkFBNEIsQ0FDL0IsYUFHRyx3QkFBeUIsQ0FDNUIsV0FHRyx3QkFBdUIsQ0FDMUIsY0FHRyx3QkFBd0IsQ0FDM0IsY0FHRyx3QkFBeUIsQ0FDNUIsYUFHRyx3QkFBc0IsQ0FDekIsU0FHRywwQkFBNEIsQ0FDL0IsVUFHRywwQkFBNkIsQ0FDaEMsWUFPRywwQkFBNEIsQ0FDL0IsWUFFRywwQkFBNEIsQ0FDL0IsWUFFRywwQkFBNEIsQ0FDL0Isc0JBRUcsK0JBQWlDLENBQ3BDLFlBR0csbUNBQXFDLENBQ3hDLFdBR0csMEJBQTRCLENBQy9CLGFBR0csMEJBQTRCLENBQy9CLGtCQUVHLGNBQWdCLENBQ25CLGNBR0csY0FBZ0IsQ0FDbkIsV0FHRyxjQUFnQixDQUNuQixXQUdHLGdCQUFrQixDQUNyQixXQUdHLGNBQWdCLENBQ25CLFdBR0csZ0JBQWtCLENBQ3JCLFdBR0csaUJBQW1CLENBQ3RCLFdBR0csY0FBZ0IsQ0FDbkIsV0FHRyxpQkFBbUIsQ0FDdEIsU0FRRyxvQkFBQSxBQUFjLFlBQUEsQ0FEbEIsa0JBR1Esb0JBQUEsQUFBNEIsMEJBQUEsQ0FIcEMsbUJBTVEscUJBQUEsQUFBd0Isc0JBQUEsQ0FOaEMsZ0JBU1Esa0JBQUEsQUFBMEIsd0JBQUEsQ0FUbEMsb0JBWVEsc0JBQUEsQUFDQSxtQkFBQSwwQkFBQSxBQUFzQixvQkFBQSxDQUN6QixVQUlELHdCQUEwQixDQUM3QixXQUdHLG9CQUFzQixDQUN6QixhQUdHLHNCQUF3QixDQUMzQixZQU9HLG9CQUFzQixDQUN6QixnQkFFRyx3QkFBMEIsQ0FDN0IsbUJBRUcsMkJBQTZCLENBQ2hDLGtCQUVHLDBCQUE0QixDQUMvQixpQkFFRyx5QkFBMkIsQ0FDOUIsWUFHRyxZQUFjLENBQ2pCLFlBRUcsWUFBYyxDQUNqQixZQUVHLFlBQWMsQ0FDakIsWUFFRyxZQUFjLENBQ2pCLFlBRUcsWUFBYyxDQUNqQixZQUVHLFlBQWMsQ0FDakIsWUFFRyxZQUFjLENBQ2pCLFlBRUcsWUFBYyxDQUNqQixZQUVHLFlBQWMsQ0FDakIsWUFFRyxZQUFjLENBQ2pCLFlBRUcsWUFBYyxDQUNqQixhQUVHLGFBQWUsQ0FDbEIsTUFFRyxlQUFpQixDQUNwQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixPQUVHLGdCQUFrQixDQUNyQixNQUVHLGtCQUFvQixDQUN2QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixPQUVHLG1CQUFxQixDQUN4QixNQUVHLGdCQUFrQixDQUNyQixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixPQUVHLGlCQUFtQixDQUN0QixNQUVHLGlCQUFtQixDQUN0QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixPQUVHLGtCQUFvQixDQUN2QixTQUdHLGlCQUFtQixDQUN0QixTQUdHLG9CQUFzQixDQUN6QixVQUdHLG9CQUFzQixDQUN6QixXQU9HLG1CQUFxQixDQUN4QixnQkFFRyx3QkFBMEIsQ0FDN0IsaUJBRUcseUJBQTJCLENBQzlCLGVBRUcsdUJBQXlCLENBQzVCLGtCQUVHLDBCQUE0QixDQUMvQixlQUVHLHdCQUEwQixDQUM3QixTQUVHLDRCQUE4QixDQUNqQyxTQUVHLDJCQUE2QixDQUNoQyxXQUdHLFdBQWEsQ0FDaEIsV0FFRyxXQUFhLENBQ2hCLFdBRUcsV0FBYSxDQUNoQixXQUVHLFdBQWEsQ0FDaEIsV0FFRyxXQUFhLENBQ2hCLFdBRUcsV0FBYSxDQUNoQixXQUVHLFdBQWEsQ0FDaEIsV0FFRyxXQUFhLENBQ2hCLFdBRUcsV0FBYSxDQUNoQixXQUVHLFdBQWEsQ0FDaEIsWUFFRyxZQUFjLENBQ2pCLE1BRUcsY0FBZ0IsQ0FDbkIsT0FFRyxlQUFpQixDQUNwQixPQUVHLGVBQWlCLENBQ3BCLE9BRUcsZUFBaUIsQ0FDcEIsT0FFRyxlQUFpQixDQUNwQixPQUVHLGVBQWlCLENBQ3BCLE9BRUcsZUFBaUIsQ0FDcEIsT0FFRyxlQUFpQixDQUNwQixPQUVHLGVBQWlCLENBQ3BCLFFBRUcsZ0JBQWtCLENBQ3JCLE1BRUcsaUJBQW1CLENBQ3RCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE9BRUcsa0JBQW9CLENBQ3ZCLE1BRUcsZUFBaUIsQ0FDcEIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsT0FFRyxnQkFBa0IsQ0FDckIsTUFFRyxnQkFBa0IsQ0FDckIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsT0FFRyxpQkFBbUIsQ0FDdEIsVUFPRyxxQkFBcUIsQ0FDeEIsV0FHRyxzQkFBc0IsQ0FDekIsV0FHRyxzQkFBd0IsQ0FDM0IsV0FHRyxzQkFBd0IsQ0FDM0IsV0FHRyxzQkFBd0IsQ0FDM0IsV0FFRyxzQkFBd0IsQ0FDM0IsV0FFRyxzQkFBd0IsQ0FDM0IsV0FFRyxzQkFBd0IsQ0FDM0IsV0FFRyxzQkFBd0IsQ0FDM0IsWUFPRyxXQUFhLENBQ2hCLFdBRUcsVUFBWSxDQUNmLFVBR0csZUFDQSxNQUNBLE1BQVEsQ0FDWCxXQU9HLHVCQUF5QixDQUM1QixZQUdHLDRCQUE4QixDQUNqQyxhQUdHLG9CQUNBLFlBQ0EseUJBQTJCLENBQzlCLE9BR0csMEJBQ0EsaUJBQ0EscUJBQ0EscUNBQUEsQUFDQSw2QkFBQSxnQ0FBQSxBQUF5Qix1QkFBQSxDQUM1QixlQU9HLHdCQUEwQixDQUM3Qix5REFRTywyQkFBNkIsQ0FGckMseURBS1EsMkJBQTZCLENBTHJDLHlEQVFRLGNBQWdCLENBUnhCLHlEQVdRLGNBQWdCLENBWHhCLHlEQWNRLGNBQWdCLENBZHhCLDREQWlCUSxlQUFpQixDQUNwQixZQVFELG9CQUFzQixDQUN6QiwwQkFPRyxtQkFDSSxpQkFBbUIsQ0FDdEIsbUJBRUcsWUFBYyxDQUNqQiwwQkFFRyw0QkFBOEIsQ0FDakMsQ0NscUJMLDRDQUE0QywwQkFzQnhDLHVCQUNJLHlCQUEyQixDQUM5QixpQkFFRywyQkFBNkIsQ0FDaEMsQ0FPTCwwQkFHSSxpQkFDSSxnQkFDQSxrQkFBb0IsQ0FDdkIsK0VBRUcsOEJBQ0Esd0JBQTBCLENBQzdCLG9CQUVHLDRCQUNBLDhCQUFnQyxDQUNuQyx5QkFFRyx1QkFBeUIsQ0FDNUIseUJBRUcseUJBQ0Esd0JBQTBCLENBQzdCLG9DQUlXLGtCN0JsQkMsQzZCZWIsaURBS2dCLGtCN0JwQkgsQzZCZWIsbURBT29CLFU3QjFDWixDNkJtQ1IsMEdBY1ksV0FDQSxpQkFBbUIsQ0FmL0Isd0NBbUJnQix5QkFDQSxTQUFXLENBcEIzQiw2QkF3QlksVUFBWSxDQUNmLGNBSUwsaUJBQW1CLENBQ3RCLGVBRUcsK0JBQUEsQUFBeUIsdUJBQUEsQ0FDNUIsZUFFRyxjQUNBLFlBQWMsQ0FDakIseUJBR0csb0JBQUEsQUFDQSxhQUFBLG9CQUFBLEFBQTRCLDBCQUFBLENBRmhDLHdEQUlRLDRCQUE4QixDQUNqQyxXQUlELGlCQUNBLG9DQUNILENBQUMsa0JBT0Usa0JBQ0EsTUFDQSxPQUNBLG1CQUFxQixDQUN4QixxQkFHRyx5QkFBMkIsQ0FDOUIscUNBR0csc0JBQXdCLENBQzNCLDBEQUtPLHNCQUF3QixDQUZoQyw0RUFLUSxzQkFBd0IsQ0FDM0IsMENBSUQsMEJBQTRCLENBQy9CLCtDQUVHLFlBQWMsQ0FDakIsZUFHRyxPQUFTLENBQ1osc0NBR0csb0JBQXNCLENBQ3pCLDBEQUdHLG1DQUFxQyxDQUR6Qyw4RUFHUSxtQ0FBcUMsQ0FIN0Msd0dBS1kscUJBQXdCLENBTHBDLGtIQU9nQix3QkFBMEIsQ0FDN0IsNkNBS1QsZ0NBQW1DLENBQ3RDLENBT0wsNEdBRUksU0FDSSxhQUFlLENBRG5CLDRCQUdRLFdBQWEsQ0FIckIsZ0NBTVEsb0JBQXNCLENBQ3pCLGlCQUlELHdCQUEwQixDQUM3QixDQU1MLDJCQUVJLDBCQUNJLHlCQUEyQixDQUM5QixTQUdHLFlBQWMsQ0FDakIsWUFHRywyQkFBNkIsQ0FDaEMsMkJBRUcscUJBQXVCLENBRDNCLDZDQUdRLGdCQUFrQixDQUNyQixnQkFHRCw0QkFBOEIsQ0FDakMsQ0FRTCw2R0FFSSxjQUNJLGtCQUNBLGFBQWUsQ0FGbkIsNkJBSVEsb0JBQUEsQUFBYyxZQUFBLENBQ2pCLDBEQUlELG1DQUFxQyxDQUR6Qyw4RUFHUSxtQ0FBcUMsQ0FIN0Msd0dBS1kscUJBQXdCLENBTHBDLGtIQU9nQix3QkFBMEIsQ0FDN0IsNkNBS1QsZ0NBQW1DLENBQ3RDLG9DQUlXLGtCN0JqTkMsQzZCOE1iLGlEQUtnQixrQjdCbk5ILEM2QjhNYixtREFPb0IsVTdCek9aLEM2QmtPUiwwR0FjWSxXQUNBLGlCQUFtQixDQWYvQix3Q0FtQmdCLHlCQUNBLFNBQVcsQ0FwQjNCLDZCQXdCWSxVQUFZLENBeEJ4QixzRUEyQlksb0JBQXNCLENBQ3pCLGVBSUwsa0JBQ0Esb0JBQXNCLENBQ3pCLENBQUEiLCJmaWxlIjoiY29yZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgY29yZS5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5TdGFydHVwIGtpdCBjb3JlIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDU1MgSW1wb3J0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDU1MgSW1wb3J0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LWNvbG9ycyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3RoZW1lcy1tYWluJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LW5hdmJhcic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC1zZWN0aW9ucyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC1oZXJvJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LWZvb3Rlcic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC1hbmltYXRpb25zJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LW5hdmlnYXRpb24nO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9sYXlvdXQtcGFnZWxvYWRlcic7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtY2FyZHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLWJveGVzJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy10YWJzJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy10ZXN0aW1vbmlhbHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLWRpYWxvZ3MnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLWZvcm1zJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy10YWJsZXMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLWxpc3RzJztcclxuQGltcG9ydCAncGFydGlhbHMvY29tcG9uZW50cy1sYWJlbHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wb25lbnRzLWRyb3Bkb3ducyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtcHJpY2luZyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2NvbXBvbmVudHMtbWVzc2FnZXMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9leHRlbnNpb25zLWNoZWNrYm94ZXMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9leHRlbnNpb25zLXdhbGxvcCc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL3BhZ2VzLWRldGFpbHMnO1xyXG5AaW1wb3J0ICdwYXJ0aWFscy9wYWdlcy1hdXRoJztcclxuQGltcG9ydCAncGFydGlhbHMvcGFnZXMtc3RhcnR1cCc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC11dGlscyc7XHJcbkBpbXBvcnQgJ3BhcnRpYWxzL2xheW91dC1oZWxwZXJzJztcclxuQGltcG9ydCAncGFydGlhbHMvbGF5b3V0LXJlc3BvbnNpdmUnO1xyXG5cclxuXHJcbiIsIi8qISB0aGVtZXMvX2NvbG9ycy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CdWxraXQgZ2VuZXJhbCBjb2xvciB2YXJpYWJsZXMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEJ1bGtpdCBjb2xvcnNcclxuMS4gU3RhdGUgY29sb3JzXHJcbjIuIFNvY2lhbCBjb2xvcnNcclxuMy4gUHJlZGVmaW5lZCBncmFkaWVudHNcclxuNC4gUHJlZGVmaW5lZCBib3ggc2hhZG93c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBCdWxraXQgY29sb3JzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kd2hpdGU6ICNmZmY7XHJcbiRzbW9rZS13aGl0ZTogI2ZjZmNmYztcclxuJGdyZXktd2hpdGU6ICNmMmYyZjI7XHJcbiRncmV5LXdoaXRlLWFjY2VudDogI2UyZTJlMjtcclxuJGNvbW1hbmQtZ3JleTogI2ZhZmJmYztcclxuJGxpZ2h0LWdyZXk6ICNFRkY0Rjc7XHJcbiR1bHRyYS1saWdodC1ncmV5OiAjZjdmY2ZmO1xyXG4kdGl0bGUtZ3JleTogI0E5QUJBQztcclxuJGJsdWUtZ3JleTogIzQ0NEY2MDtcclxuJGxpZ2h0LWJsdWUtZ3JleTogIzk4YTljMztcclxuJG1lZGl1bS1ncmV5OiAjNjY2NzZiO1xyXG4kYmFzYWx0aWMtZ3JleTogIzg3ODc4NztcclxuJG11dGVkLWdyZXk6ICM5OTk7XHJcbiRzZWN0aW9uLWdyZXk6ICNmYmZiZmI7XHJcbiRzZWN0aW9uLWdyZXktYWNjZW50OiAjZWZlZmVmO1xyXG4kYmFja2dyb3VuZC1ncmV5OiAjZjNmNWY3O1xyXG4kaGVhZGVyLWdyZXk6ICNGNUY5RkM7XHJcbiRkZWZhdWx0LWlucHV0OiAjY2NjO1xyXG4kcGxhY2Vob2xkZXI6ICNjZWNlY2U7XHJcbiRmYWRlLWdyZXk6ICNlZGVkZWQ7XHJcbiRzaWRlYmFyOiAjMzQ0MjU4O1xyXG4kY29hbDogIzQ0NDQ0NDtcclxuJGdyZXktNjogIzY2NjtcclxuJGdyZXktNTogIzU1NTtcclxuJGdyZXktMzogIzMzMztcclxuJGNyZWFtLWdyZXk6ICNmNmY0ZmY7XHJcbiRpY29uLWdyZXk6ICM4MThhOTc7XHJcbiRib3JkZXItZ3JleTogI2Q0ZGFkZjtcclxuJGRhc2hib2FyZC1ncmV5OiAjZjRmNmZiO1xyXG4kbGluay1ncmV5OiAjZjVmNWY1O1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gU3RhdGUgY29sb3JzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4kcmVkOiAjRkY3MjczO1xyXG4kYmx1ZTogIzAzOUJFNTtcclxuJGdyZWVuOiAjMDBiMjg5O1xyXG4kb3JhbmdlOiAjZWRhNTE0O1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gU29jaWFsIGNvbG9yc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJGZhY2Vib29rOiAjM0I1OTk4O1xyXG4kdHdpdHRlcjogIzFkY2FmZjtcclxuJGxpbmtlZGluOiAjMDA3YmI2O1xyXG4kdHVtYmxyOiAjMzU0NjVjO1xyXG4kZ2l0aHViOiAjNDQ0O1xyXG4kZHJpYmJibGU6ICNlYTRjODk7XHJcbiRnb29nbGUtcGx1czogI2QzNDgzNjtcclxuJHlvdXR1YmU6ICNjYzE4MWU7XHJcbiRyZWRkaXQ6ICNmZjQ1MDA7XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gUHJlZGVmaW5lZCBncmFkaWVudHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIE1vZGFsIGdyYWRpZW50XHJcbiRtb2RhbC1nYTogIzZhODViNjtcclxuJG1vZGFsLWdiOiAjYmFjOGUwO1xyXG5cclxuJHdlYmtpdC1tb2RhbC1ncmFkaWVudDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsICRtb2RhbC1nYSAwJSwgJG1vZGFsLWdiIDEwMCUpO1xyXG4kbW9kYWwtZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJG1vZGFsLWdhIDAlLCAkbW9kYWwtZ2IgMTAwJSk7XHJcblxyXG4vLyBDb2FsXHJcbiRjb2FsLWE6ICRibHVlLWdyZXk7XHJcbiRjb2FsLWI6ICM0NDQ7XHJcblxyXG4kd2Via2l0LWNvYWwtZ3JhZGllbnQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAkY29hbC1hLCAkY29hbC1iKTsgLyogQ2hyb21lIDEwLTI1LCBTYWZhcmkgNS4xLTYgKi9cclxuJGNvYWwtZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgJGNvYWwtYSwgJGNvYWwtYik7IC8qIFczQywgSUUgMTArLyBFZGdlLCBGaXJlZm94IDE2KywgQ2hyb21lIDI2KywgT3BlcmEgMTIrLCBTYWZhcmkgNysgKi9cclxuXHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gUHJlZGVmaW5lZCBib3ggc2hhZG93c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuJGJhc2Utc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG5cclxuLy9PcmFuZ2UgYm94IHNoYWRvd1xyXG4kb3JhbmdlLXNoYWRvdy1mcm9tOiByZ2JhKDIzNywgMTY1LCAyMCwgMC40Mik7XHJcbiRvcmFuZ2Utc2hhZG93LXRvOiByZ2JhKDIzNywgMTY1LCAyMCwgMC4yKTtcclxuJG9yYW5nZS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJG9yYW5nZS1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJG9yYW5nZS1zaGFkb3ctdG8gIWltcG9ydGFudDtcclxuXHJcbi8vR3JlZW4gYm94IHNoYWRvd1xyXG4kZ3JlZW4tc2hhZG93LWZyb206IHJnYmEoMCwgMTc4LCAxMzcsIDAuNDIpO1xyXG4kZ3JlZW4tc2hhZG93LXRvOiByZ2JhKDAsIDE3OCwgMTM3LCAwLjIpO1xyXG4kZ3JlZW4tYm94LXNoYWRvdzogIDAgMTRweCAyNnB4IC0xMnB4ICRncmVlbi1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJGdyZWVuLXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9SZWQgYm94IHNoYWRvd1xyXG4kcmVkLXNoYWRvdy1mcm9tOiByZ2JhKDI1NSwgMTE0LCAxMTUsIDAuNDIpO1xyXG4kcmVkLXNoYWRvdy10bzogcmdiYSgyNTUsIDExNCwgMTE1LCAwLjIpO1xyXG4kcmVkLWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkcmVkLXNoYWRvdy1mcm9tLCAwIDRweCAyM3B4IDBweCAkYmFzZS1zaGFkb3csIDAgOHB4IDEwcHggLTVweCAkcmVkLXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9CbHVlIGJveCBzaGFkb3dcclxuJGJsdWUtc2hhZG93LWZyb206IHJnYmEoMywgMTU1LCAyMjksIDAuNDIpO1xyXG4kYmx1ZS1zaGFkb3ctdG86IHJnYmEoMywgMTU1LCAyMjksIDAuMik7XHJcbiRibHVlLWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkYmx1ZS1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJGJsdWUtc2hhZG93LXRvICFpbXBvcnRhbnQ7IiwiLyohIHRoZW1lcy9fbWFpbi5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5NYWluIHRoZW1lIHZhcmlhYmxlcyBhbmQgc3R5bGVzIChNYWluIHRoZW1lIGlzIHVzZWQgaW4gXCJTdGFydHVwIEtpdFwiLCBpbiBcIkxhbmRpbmcga2l0IHYxXCIgYW5kIGluIGFsbCBjb21wb25lbnRzIHBhZ2VzKVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBUaGVtZSBjb2xvciB2YXJpYWJsZXNcclxuMS4gVGhlbWUgZ3JhZGllbnRcclxuMi4gQm94IHNoYWRvd3NcclxuMy4gUGFnZWxvYWRlclxyXG40LiBUaGVtZSBzcGVjaWZpYyBIZXJvXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFRoZW1lIGNvbG9yIHZhcmlhYmxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kcHJpbWFyeTogIzRGQzFFQTtcclxuJHNlY29uZGFyeTogIzdGMDBGRjtcclxuJGFjY2VudDogIzdGMDBGRjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIFRoZW1lIGdyYWRpZW50XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiR3ZWJraXQtaGVyby1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc2Vjb25kYXJ5LCAkYWNjZW50KTtcclxuJGhlcm8tZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICRzZWNvbmRhcnksICRhY2NlbnQpO1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gQm94IHNoYWRvd3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLy9CYXNlIHNoYWRvd1xyXG4kYmFzZS1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcblxyXG4vL1ByaW1hcnkgYm94IHNoYWRvd1xyXG4kcHJpbWFyeS1zaGFkb3ctZnJvbTogcmdiYSg3OSwgMTkzLCAyMzQsIDAuNDIpO1xyXG4kcHJpbWFyeS1zaGFkb3ctdG86IHJnYmEoNzksIDE5MywgMjM0LCAwLjIpO1xyXG4kcHJpbWFyeS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJHByaW1hcnktc2hhZG93LWZyb20sIDAgNHB4IDIzcHggMHB4ICRiYXNlLXNoYWRvdywgMCA4cHggMTBweCAtNXB4ICRwcmltYXJ5LXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuLy9TZWNvbmRhcnkgYm94IHNoYWRvd1xyXG4kc2Vjb25kYXJ5LXNoYWRvdy1mcm9tOiByZ2JhKDEwMywgNTgsIDE4MywgMC40Mik7XHJcbiRzZWNvbmRhcnktc2hhZG93LXRvOiByZ2JhKDEwMywgNTgsIDE4MywgMC4yKTtcclxuJHNlY29uZGFyeS1ib3gtc2hhZG93OiAgMCAxNHB4IDI2cHggLTEycHggJHNlY29uZGFyeS1zaGFkb3ctZnJvbSwgMCA0cHggMjNweCAwcHggJGJhc2Utc2hhZG93LCAwIDhweCAxMHB4IC01cHggJHNlY29uZGFyeS1zaGFkb3ctdG8gIWltcG9ydGFudDtcclxuXHJcbi8vQWNjZW50IGJveCBzaGFkb3dcclxuJGFjY2VudC1zaGFkb3ctZnJvbTogcmdiYSgxMjcsIDAsIDI1NSwgMC40Mik7XHJcbiRhY2NlbnQtc2hhZG93LXRvOiByZ2JhKDEyNywgMCwgMjU1LCAwLjIpO1xyXG4kYWNjZW50LWJveC1zaGFkb3c6ICAwIDE0cHggMjZweCAtMTJweCAkYWNjZW50LXNoYWRvdy1mcm9tLCAwIDRweCAyM3B4IDBweCAkYmFzZS1zaGFkb3csIDAgOHB4IDEwcHggLTVweCAkYWNjZW50LXNoYWRvdy10byAhaW1wb3J0YW50O1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFBhZ2Vsb2FkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnBhZ2Vsb2FkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQ6ICRoZXJvLWdyYWRpZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFRoZW1lIHNwZWNpZmljIEhlcm9cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhlcm8sIC5zZWN0aW9uIHtcclxuICAgICYuaXMtdGhlbWUtc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3ZWJraXQtaGVyby1ncmFkaWVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVyby1ncmFkaWVudDtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiIsIi8qISBfbmF2YmFyLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk5hdmJhciByZWxhdGVkIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBSZXNldHNcclxuMS4gTmF2YmFyIHBsYWNlaG9sZGVyXHJcbjIuIEZpeGVkIHNvbGlkIG5hdmJhclxyXG4zLiBTdGF0aWMgbmF2YmFyXHJcbjQuIFNoYXJlZCBzdHlsZXNcclxuNS4gU3RpY2t5IGZhZGUgbmF2YmFyXHJcbjYuIExpZ2h0IGFuZCB0cmFuc3BhcmVudCBuYXZiYXJcclxuNy4gQmFzZSBzdHlsZXNcclxuOC4gSGVybyBoZWFkXHJcbjkuIEFjY291bnQgYXZhdGFyXHJcbjEwLiBTY3JvbGxuYXYgXHJcbjExLiBIYW1idXJnZXIgbWVudSBpY29uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFJlc2V0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIE5hdmJhciBwbGFjZWhvbGRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubmF2YmFyLXBsYWNlaG9sZGVyIHtcclxuICAgIHotaW5kZXg6IDk5OTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gRml4ZWQgc29saWQgbmF2YmFyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qLmZpeGVkLW5hdmJhci13cmFwcGVyIHtcclxud2lkdGg6IDEwMCU7XHJcbmhlaWdodDogNC42cmVtO1xyXG5iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbnBvc2l0aW9uOiBmaXhlZDtcclxudG9wOiAwO1xyXG5sZWZ0OiAwO1xyXG5ib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuei1pbmRleDogOTtcclxudHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbn0qL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gU3RhdGljIG5hdmJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubmF2YmFyLXdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQuNnJlbTtcclxuICAgIC8vYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XHJcbiAgICAmLmlzLXN0YXRpYyB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1zb2xpZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgfVxyXG4gICAgLy9DbG9uZWQgZml4ZWQgbmF2YmFyXHJcbiAgICAmLmlzLWNsb25lZCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy10cmFuc3BhcmVudCB7XHJcbiAgICAgICAgLm5hdmJhci1pdGVtLCAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICAmLmlzLXNsaWRlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuM3M7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCVcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLWJyYW5kIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgICAgICAgJi5saWdodC1sb2dvIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGFyay1sb2dvIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLWl0ZW0sIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAmLmlzLW1lbnUge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGksIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxLjZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuMzc1ZW07XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxLjEyNWVtO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICByaWdodDogMS41MjVlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3VzdG9tLWJ1cmdlciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIHdpZHRoOiA0LjZyZW07XHJcbiAgICB9XHJcbiAgICAvL0xpZ2h0IG5hdmJhclxyXG4gICAgJi5uYXZiYXItbGlnaHQge1xyXG4gICAgICAgIC5pY29uLWJveC10b2dnbGUge1xyXG4gICAgICAgICAgICBzcGFuIGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1pdGVtLCAubmF2YmFyLWxpbmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAmLmlzLXNsaWRlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2YmFyLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmhhcy1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAubmF2YmFyLWxpbms6YWZ0ZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDEuNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuMzc1ZW07XHJcbiAgICAgICAgICAgICAgICByaWdodDogMS4xMjVlbTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMS41MjVlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmF2YmFyLWJ1cmdlciB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm5hdmJhci1pbnZlcnNlIHtcclxuICAgICAgICAmLmlzLXJldmVyc2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgICAgICAgICAgLm5hdmJhci1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWJsdWUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICAgICAgLm5hdmJhci1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXB1cnBsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIC5uYXZiYXItbWVudS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgICAgIC5uYXZiYXItbWVudS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbi1ib3gtdG9nZ2xlIHtcclxuICAgICAgICAgICAgc3BhbiBpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZiYXItaXRlbSwgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1pdGVtIHtcclxuICAgICAgICAgICAgJi5oYXMtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLm5hdmJhci1saW5rOmFmdGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZiYXItbGluayB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxLjZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjM3NWVtO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuMTI1ZW07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDEuNTI1ZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1idXJnZXIge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci1kcm9wZG93biB7XHJcbiAgICAgICAgJi5pcy1tZWRpdW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZiYXItaXRlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQWN0aXZlIFRyYW5zcGFyZW50IG5hdmJhciBtb2RpZmllcnNcclxuICAgICYubmF2YmFyLWZhZGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgICAgICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICAmLmxpZ2h0LWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmRhcmstbG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFNoYXJlZCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm5hdmJhci13cmFwcGVyIHtcclxuICAgIC8vSW52ZXJ0ZWQgbmF2YmFyIGNvbG9yc1xyXG4gICAgJi5uYXYtcmV2ZXJzZSB7XHJcblxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBTdGlja3kgZmFkZSBuYXZiYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyoubmF2YmFyLXdyYXBwZXIubmF2YmFyLXN0aWNreSB7XHJcbndpZHRoOiAxMDAlO1xyXG5oZWlnaHQ6IDQuNnJlbTtcclxuYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbnBvc2l0aW9uOiBmaXhlZDtcclxudG9wOiAwO1xyXG5sZWZ0OiAwO1xyXG5ib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuei1pbmRleDogOTtcclxudHJhbnNpdGlvbjogYWxsIDAuM3M7Ki9cclxuLyomLm5hdmJhci1mYWRlIHtcclxuLy9iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5ib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbi5oZXJvLWhlYWQge1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5ib3gtc2hhZG93OiBpbmhlcml0O1xyXG4ubmF2IHtcclxuYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbn1cclxufVxyXG59Ki9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIExpZ2h0IGFuZCB0cmFuc3BhcmVudCBuYXZiYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyoubmF2YmFyLWZhZGUubmF2YmFyLWxpZ2h0LCAubmF2YmFyLW1pbmltYWwubmF2YmFyLWxpZ2h0IHtcclxuXHJcbi5uYXYtaXRlbS5pcy10YWIge1xyXG5jb2xvcjogJHdoaXRlO1xyXG4mLmlzLWFjdGl2ZSB7XHJcbmJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG5jb2xvcjogJHNtb2tlLXdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuaSB7XHJcbmNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgXHJcbn1cclxufVxyXG4ubmF2LWl0ZW0uaXMtdGFiOmhvdmVyIHtcclxuYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xyXG5jb2xvcjogJHNtb2tlLXdoaXRlO1xyXG59XHJcbi5uYXYtaWNvbi5pcy1hY3RpdmUtbGlnaHQgaSB7XHJcbmNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4ubmF2LWljb24ubmF2LWlubmUuaXMtYWN0aXZlLWxpZ2h0OmhvdmVyIGkge1xyXG5jb2xvcjogJHNtb2tlLXdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5hdi1pdGVtIHtcclxuLm1lbnUtdG9nZ2xlIC5pY29uLWJveC10b2dnbGUgc3BhbiBpIHtcclxuYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxufVxyXG5cclxuLm5hdi10b2dnbGUge1xyXG5zcGFuIHtcclxuYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG59XHJcbiY6aG92ZXIge1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG59XHJcbn0qL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gQmFzZSBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyoubmF2IHtcclxuLy9jb250YWluZXJzXHJcbi5jb250YWluZXIge1xyXG5taW4taGVpZ2h0OiA0cmVtO1xyXG59XHJcbi5jb250YWluZXIuYmlnIHtcclxubWluLWhlaWdodDogNC42cmVtO1xyXG59XHJcbi8vTmF2IGl0ZW1zXHJcbi5uYXYtaXRlbSB7XHJcbiYuaXMtdGFiIHtcclxuJjpob3ZlciB7XHJcbmJvcmRlci1ib3R0b20tY29sb3I6ICRwcmltYXJ5O1xyXG59XHJcbi8vQWN0aXZlIHN0YXRlXHJcbiYuaXMtYWN0aXZlIHtcclxuYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbmNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG59XHJcbi8vSWNvbiBpdGVtXHJcbiYubmF2LWljb24ge1xyXG5ib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbmkge1xyXG5jb2xvcjogJHRpdGxlLWdyZXk7XHJcbmZvbnQtc2l6ZTogMjBweDtcclxufVxyXG4mOmhvdmVyIGkge1xyXG5jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG4vL0FjdGl2ZSBzdGF0ZVxyXG4mLmlzLWFjdGl2ZSB7XHJcbmJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5pIHtcclxuY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbmZvbnQtc2l6ZTogMjBweDtcclxufVxyXG59XHJcbn1cclxufVxyXG4vL3Jlc3BvbnNpdmUgYmVoYXZpb3VyXHJcbiYuaXMtbWVudS1tb2JpbGUge1xyXG5kaXNwbGF5OiBub25lO1xyXG59XHJcbn1cclxuLy9SZXNwb25zaXZlIG1lbnUgdG9nZ2xlIChyaWdodClcclxuLm5hdi10b2dnbGUge1xyXG53aWR0aDogNjRweDtcclxuaGVpZ2h0OiA2NHB4O1xyXG5zcGFuIHtcclxuYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxud2lkdGg6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG4mLmlzLWFjdGl2ZSBzcGFuIHtcclxuYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbn1cclxuc3BhbjpudGgtY2hpbGQoMSkge1xyXG5tYXJnaW4tdG9wOiAtNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuc3BhbjpudGgtY2hpbGQoMikge1xyXG5tYXJnaW4tdG9wOiAxcHggIWltcG9ydGFudDtcclxufVxyXG5zcGFuOm50aC1jaGlsZCgzKSB7XHJcbm1hcmdpbi10b3A6IDdweCAhaW1wb3J0YW50O1xyXG59XHJcbiY6aG92ZXIge1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcbiYuaXMtYWN0aXZlIHtcclxuc3BhbjpudGgtY2hpbGQoMykge1xyXG5tYXJnaW4tdG9wOiA5cHggIWltcG9ydGFudDtcclxufVxyXG59XHJcbiY6YWN0aXZlLCAmOmZvY3VzIHtcclxub3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbn1cclxufSovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG44LiBIZXJvIGhlYWRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLyouaGVyby1oZWFkIHtcclxuYmFja2dyb3VuZDogJHdoaXRlO1xyXG4mLmhhcy1zaGFkb3cge1xyXG5ib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxufVxyXG59Ki9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjkuIEFjY291bnQgYXZhdGFyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5hY2NvdW50IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIC5uYXYtaXRlbSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBpbWcuYWNjb3VudC1hdmF0YXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JleTtcclxuICAgIH1cclxuICAgIGRpdiBhIHtcclxuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmV5ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBkaXYgYSBpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAzcHg7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDdweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyZXk7XHJcbiAgICB9XHJcbiAgICAuZHJvcE91dCB1bCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTAuIFNjcm9sbG5hdiAoY29tcG9uZW50IHBhZ2VzIHNweXNjcm9sbCBuYXYpXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zY3JvbGwtbmF2LXdyYXBwZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xyXG4gICAgLnRhYnMge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCBsaSBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCBsaTpob3ZlciBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCBsaSBhLnRoZXJlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIEhhbWJ1cmdlciBtZW51IGljb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm1lbnUtdG9nZ2xlICB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7IFxyXG4gICAgY29sb3I6ICM2NjY7IFxyXG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7IFxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyBcclxuICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNnB4OyBcclxuICAgIGN1cnNvcjogcG9pbnRlcjsgXHJcbiAgICBwYWRkaW5nOiAwOyBcclxuICAgIG1hcmdpbjogMCAxNHB4OyBcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDJweDtcclxuICAgIC5pY29uLWJveC10b2dnbGUgIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7IFxyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5wYXJlbnQ7IFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jazsgXHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICYuYWN0aXZlID4gc3Bhbi5yb3RhdGUge1xyXG5cclxuICAgICAgICAgICAgLyp0cmFuc2Zvcm0qL1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDkwZGVnKTtcclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmLmFjdGl2ZSA+IHNwYW4gPiBpLmljb24tbGluZS1jZW50ZXJ7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgXHJcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7IFxyXG4gICAgICAgICAgICBoZWlnaHQ6IDNweDsgXHJcbiAgICAgICAgICAgIGxlZnQ6IDcwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWN0aXZlID4gc3BhbiA+IGkuaWNvbi1saW5lLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTJweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgdG9wOiAxMnB4OyBcclxuICAgICAgICAgICAgLyp0cmFuc2Zvcm0qL1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgwcHgsIDBweCkgcm90YXRlKDEzNWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjdGl2ZSAgPiBzcGFuID4gaS5pY29uLWxpbmUtdG9wIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAtMnB4IDAgMCAtMTBweDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0b3A6IDEycHg7IFxyXG4gICAgICAgICAgICAvKnRyYW5zZm9ybSovXHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMHB4LCAwcHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICAtby10cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDBweCwgMHB4KSByb3RhdGUoNDVkZWcpO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24tbGluZS1jZW50ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgXHJcbiAgICAgICAgd2lkdGg6IDIwcHg7IFxyXG4gICAgICAgIGhlaWdodDogMnB4OyBcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdGl0bGUtZ3JleTsgXHJcbiAgICAgICAgbWFyZ2luOiAtMXB4IDAgMCAtMTBweDtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdG9wOiAxMXB4OyBcclxuXHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHRcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1saW5lLXRvcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICB3aWR0aDogMjBweDsgXHJcbiAgICAgICAgaGVpZ2h0OiAycHg7IFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0aXRsZS1ncmV5OyBcclxuICAgICAgICBtYXJnaW46IC0zcHggMCAwIC0xMHB4O1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB0b3A6IDdweDsgXHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHRcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbi1saW5lLWJvdHRvbSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcclxuICAgICAgICB3aWR0aDogMjBweDsgXHJcbiAgICAgICAgaGVpZ2h0OiAycHg7IFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICR0aXRsZS1ncmV5OyBcclxuICAgICAgICBtYXJnaW46IDJweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIHRvcDogMTRweDsgXHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UgO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSA7XHRcclxuICAgIH1cclxufSIsIi8qISBfc2VjdGlvbnMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuU2VjdGlvbnMgcmVsYXRlZCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2VjdGlvbnMgZ2VuZXJhbCBzdHlsZXNcclxuMS4gUXVpY2sgZmxleCBibG9ja1xyXG4yLiBEaXZpZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFNlY3Rpb25zIGdlbmVyYWwgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zZWN0aW9uIHtcclxuICAgIC8vU2VjdGlvbiBjb2xvcnNcclxuICAgICYuc2VjdGlvbi1saWdodC1ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1mZWF0dXJlLWdyZXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWN0aW9uLWdyZXk7XHJcbiAgICB9XHJcbiAgICAmLnNlY3Rpb24taGVhZGVyLWdyZXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItZ3JleTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1mZWF0dXJlLWdyZXktYWNjZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbi1ncmV5LWFjY2VudDtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgICYuc2VjdGlvbi1zZWNvbmRhcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcbiAgICAvL0JvcmRlcmVkIHNlY3Rpb25zXHJcbiAgICAmLmhhcy1ib3JkZXItYm90dG9tIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgIH1cclxuICAgICYuaGFzLWJvcmRlci10b3Age1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy9IZWxwZXJzXHJcbiAgICAmLmlzLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLm5vLW1hcmdpbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5zZWN0aW9uLWhhbGYge1xyXG4gICAgICAgIGhlaWdodDogNzV2aCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9TbGFudGVkIHNlY3Rpb25cclxuICAgICYuaXMtc2tld2VkLXNtIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoMGRlZywtM2RlZykgdHJhbnNsYXRlKDAsLTQ1cHgpO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcclxuICAgIH1cclxuICAgIC8vUmV2ZXJzZSBzbGFudCBvbiBjb250YWluZXJcclxuICAgIC5jb250YWluZXIge1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgJi5pcy1yZXZlcnNlLXNrZXdlZC1zbSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygwZGVnLDNkZWcpIHRyYW5zbGF0ZSgwLDQ1cHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNsYW50ZWQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ29udGVudCBzcGFjaW5nXHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIC8vU3BhY2luZyB3cmFwcGVyXHJcbiAgICAuYm90dG9tLXNwYWNlciB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9TZWN0aW9uIHRpdGxlIHdyYXBwZXJcclxuICAgIC5zZWN0aW9uLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICAgICAgLy9CYWNrZ3JvdW5kIG51bWJlcnMgYW5kIHN5bWJvbHNcclxuICAgICAgICAuYmctbnVtYmVyLCAuYmctc3ltYm9sIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgIHRvcDogLTE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2MHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNjBweDtcclxuICAgICAgICAgICAgLm1hdGVyaWFsLWljb25zIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9TbWFsbCBhYm92ZSBzdWJ0aXRsZVxyXG4gICAgICAgIC50b3Atc3VidGl0bGUge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9JY29uIHN1YnRpdGxlXHJcbiAgICAgICAgLmljb24tc3VidGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICYuaXMtb25lIGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDVweCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1tYW55IGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDVweCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1RpdGxlXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgICYuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VjdGlvbi1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4zcmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucXVpY2stZmVhdHVyZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAuYmctbnVtYmVyLCAuYmctc3ltYm9sIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xMDBweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cmVtO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmVhdHVyZS10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuMnJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLy9TaW5nbGUgaWNvbiBzdWJ0aXRsZVxyXG4gICAgLmljb24tc3VidGl0bGUgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG4gICAgLy9EZXRhaWxlZCBmZWF0dXJlIHN1YnRpdGxlXHJcbiAgICAuZGV0YWlsZWQtZmVhdHVyZS1zdWJ0aXRsZSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgIC8vRGl2aWRlclxyXG4gICAgLnRpdGxlLWRpdmlkZXIge1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICAkcHJpbWFyeTtcclxuICAgICAgICAmLmlzLXJpZ2h0IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtY2VudGVyZWQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0hlYWRsaW5lXHJcbiAgICBoMi5mZWF0dXJlLWhlYWRsaW5lIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vRmVhdHVyZSBkZXNjcmlwdGlvblxyXG4gICAgLnNlY3Rpb24tZmVhdHVyZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICRiYXNhbHRpYy1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy9NZWRpYSBpY29uIGJveFxyXG4gICAgLm1lZGlhLmljb24tYm94IHtcclxuICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm1lZGlhLWNvbnRlbnQgLmNvbnRlbnQgcCB7XHJcbiAgICAgICAgICAgIHNwYW4uaWNvbi1ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3Bhbi5pY29uLWJveC10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vRmxleC13cmFwcGVyXHJcbiAgICAuZmxleC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICYuZmxleC1jZW50ZXIge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mbGV4LXN0YXJ0IHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmZsZXgtZW5kIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBRdWljayBmbGV4IGJsb2NrXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5jb250ZW50LmNvbnRlbnQtZmxleCwgLmNvbnRlbnQtZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICYuY2VudGVyLWZsZXgge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIERpdmlkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmRpdmlkZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgIC5iZWZvcmUtZGl2aWRlciwgLmFmdGVyLWRpdmlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG4gICAgLmNoaWxkcmVuIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiIsIi8qISBfaGVyby5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IZXJvIHJlbGF0ZWQgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEhlcm8gZ2VuZXJhbCBzdHlsZXNcclxuMS4gSGVybyBib2R5IFxyXG4yLiBIZXJvIGZvb3RlclxyXG4zLiBQYXJhbGxheCBPdmVybGF5XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEhlcm8gZ2VuZXJhbCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhlcm8ge1xyXG4gICAgLy9IZWxwZXJzXHJcbiAgICAmLmlzLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL1ByaW1hcnkgYmFja2dyb3VuZFxyXG4gICAgJi5pcy10aGVtZS1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vU2Vjb25kYXJ5IGJhY2tncm91bmRcclxuICAgICYuaXMtdGhlbWUtc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BY2NlbnQgYmFja2dyb3VuZFxyXG4gICAgJi5pcy10aGVtZS1hY2NlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0luZm8gYmFja2dyb3VuZFxyXG4gICAgJi5pcy10aGVtZS1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vU3VjY2VzcyBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLXRoZW1lLXN1Y2Nlc3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vV2FybmluZyBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLXRoZW1lLXdhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0RhbmdlciBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLXRoZW1lLWRhbmdlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgICAudGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vRmVhdHVyZSBncmV5IGJhY2tncm91bmRcclxuICAgICYuaXMtZmVhdHVyZS1ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VjdGlvbi1ncmV5O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0xpZ2h0IGdyZXkgYmFja2dyb3VuZFxyXG4gICAgJi5pcy1saWdodC1ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgzMDlkZWcsICNkMGUwZWMgMCUsICNmNWY3ZmEgNzElLCB3aGl0ZSAxMDAlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTQxZGVnLCAjZDBlMGVjIDAlLCAjZjVmN2ZhIDcxJSwgd2hpdGUgMTAwJSk7XHJcbiAgICAgICAgLnRpdGxlLmRhcmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRpdGxlLnRoZW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ29hbCBiYWNrZ3JvdW5kXHJcbiAgICAmLmlzLWNvYWx7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvYWw7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEhlcm8gYm9keSBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmhlcm8tYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7XHJcbiAgICAvL3BhZ2UgdGl0bGUgc3R5bGVzXHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgICYubWFpbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYmlnLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBhZ2UtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tZWRpdW0tdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zbWFsbC10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1N1YnRpdGxlIHN0eWxlc1xyXG4gICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAmLnBhZ2Utc3VidGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1NtYWxsIGNsaWVudHMgbG9nbyB1bmRlciBoZXJvIGNhcHRpb25cclxuICAgIC5jbGllbnRzLXNtYWxsIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNlbnRlcmVkIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0hlbHBlcnNcclxuICAgICYuaXMtcmVsYXRpdmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gSGVybyBmb290ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oZXJvLWZvb3Qge1xyXG4gICAgaW1nLnBhcnRuZXItbG9nbyB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFBhcmFsbGF4IE92ZXJsYXlcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5wYXJhbGxheC1vdmVybGF5IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG59XHJcbiIsIi8qISBfZm9vdGVyLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkZvb3RlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gRGFyayBmb290ZXJcclxuMS4gTGlnaHQgRm9vdGVyXHJcbjIuIExpZ2h0IGxlZnQgRm9vdGVyXHJcbjMuIERhcmsgbGVmdCBGb290ZXJcclxuNC4gTGlnaHQgbWVkaXVtIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBEYXJrIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5mb290ZXIuZm9vdGVyLWRhcmsge1xyXG4gICAgYmFja2dyb3VuZDogJGJsdWUtZ3JleTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWxvZ28ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1jb2x1bW4ge1xyXG4gICAgICAgIC5mb290ZXItaGVhZGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo0MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsLmxpbmstbGlzdCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxldmVsLWl0ZW0gLmljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29weXJpZ2h0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTGlnaHQgRm9vdGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbmZvb3Rlci5mb290ZXItbGlnaHQge1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuY29sdW1ucyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICAuZm9vdGVyLWxvZ28ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1jb2x1bW4ge1xyXG4gICAgICAgIC5mb290ZXItaGVhZGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDo0MDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwubGluay1saXN0IHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sZXZlbC1pdGVtIC5pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb3B5cmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0Zvb3RlciBjb2x1bW5zIGFkanVzdG1lbnQgb24gbW9iaWxlXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmZvb3Rlci1jb2x1bW5zLmlzLWZsZXgtbW9iaWxlIHtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gTGlnaHQgbGVmdCBGb290ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuZm9vdGVyLmZvb3Rlci1saWdodC1sZWZ0IHtcclxuICAgIHBhZGRpbmc6IDVyZW0gMS41cmVtICFpbXBvcnRhbnQ7XHJcbiAgICAuZm9vdGVyLW5hdi1yaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5mb290ZXItbmF2LWxpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAubGV2ZWwtaXRlbSAuaWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICA6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vdG8ge1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxufVxyXG5cclxuLy9Nb2JpbGUgYWRqdXN0bWVudFxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5mb290ZXItbmF2LXJpZ2h0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIERhcmsgbGVmdCBGb290ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuZm9vdGVyLmZvb3Rlci1kYXJrLWxlZnQge1xyXG4gICAgcGFkZGluZzogNXJlbSAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICRibHVlLWdyZXk7XHJcbiAgICAuZm9vdGVyLW5hdi1yaWdodCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC5mb290ZXItbmF2LWxpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNtb2tlLXdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgLmxldmVsLWl0ZW0gLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb3RvIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gTGlnaHQgbWVkaXVtIGZvb3RlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5mb290ZXIuZm9vdGVyLWxpZ2h0LW1lZGl1bSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW0gIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAuc29jaWFsLWxpbmtzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1jb2x1bW4ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgICAgIC5jb2x1bW4taGVhZGVyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2x1bW4taXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb3RvIHtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbiAgICAuc21hbGwtZm9vdGVyLWxvZ28ge1xyXG4gICAgICAgIGhlaWdodDogMjhweDtcclxuICAgIH1cclxufSIsIi8qISBfYW5pbWF0aW9ucy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5Db3JlIGFuaW1hdGlvbiBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gRGVmYXVsdCBzZXR0aW5nc1xyXG4xLiBUcmFuc2xhdGUgTGVmdFxyXG4yLiBUcmFuc2xhdGUgRG93blxyXG4zLiBUcmFuc2xhdGUgVXBcclxuNC4gRmFkZSBJblxyXG41LiBGYWRlIEluIExlZnRcclxuNi4gRmFkZSBJbiBSaWdodFxyXG43LiBGYWRlIEluIFVwXHJcbjguIEZhZGUgSW4gRG93blxyXG45LiBGYWRlIE91dCBVcFxyXG4xMC4gTGV2aXRhdGVcclxuMTEuIEdlbGF0aW5lXHJcbjEyLiBVbnpvb21cclxuMTMuIERvdCBwdWxzYXRpb25cclxuMTQuIEJvdW5jeSBlbnRyYW5jZVxyXG4xNS4gU2NhbGUgaW4gXHJcbjE2LiBTY2FsZSBpbiBjaXJjbGVcclxuMTcuIFNjYWxlIG91dFxyXG4xOC4gUHVsc2F0ZVxyXG4xOS4gUHJlZGVmaW5lZCBhbmltYXRpb24gZGVsYXlzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIERlZmF1bHQgc2V0dGluZ3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmFuaW1hdGVkIHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gVHJhbnNsYXRlIExlZnRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0cmFuc2xhdGVMZWZ0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgdHJhbnNsYXRlTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi50cmFuc2xhdGVMZWZ0IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRyYW5zbGF0ZUxlZnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlTGVmdDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbiAgICB0cmFuc2l0aW9uOiAgICAgICAgIGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gVHJhbnNsYXRlIERvd25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyB0cmFuc2xhdGVEb3duIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIH1cclxufVxyXG5Aa2V5ZnJhbWVzIHRyYW5zbGF0ZURvd24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnRyYW5zbGF0ZURvd24ge1xyXG4gICAgLy8tbW96LWFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVEb3duO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdHJhbnNsYXRlRG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVEb3duO1xyXG4gICAgLy8tbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xyXG4gICAgLy8tbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIFRyYW5zbGF0ZSBVcFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIHRyYW5zbGF0ZVVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgdHJhbnNsYXRlVXAge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4udHJhbnNsYXRlVXAge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdHJhbnNsYXRlVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlVXA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xyXG4gICAgdHJhbnNpdGlvbjogICAgICAgICBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIEZhZGUgSW5cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5mYWRlSW4ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIEZhZGUgSW4gTGVmdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluTGVmdCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZmFkZUluTGVmdCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0OyAgICBcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNi4gRmFkZSBJbiBSaWdodFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluUmlnaHQge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLmZhZGVJblJpZ2h0IHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gRmFkZSBJbiBVcFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnByZUZhZGVJblVwIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcbi5mYWRlSW5VcCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIEZhZGUgSW4gRG93blxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZUluRG93biB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZmFkZUluRG93biB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBGYWRlIE91dCBVcFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4ucHJlRmFkZU91dFVwIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5mYWRlT3V0VXAge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBMZXZpdGF0ZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGxldml0YXRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH0gfVxyXG5cclxuQGtleWZyYW1lcyBsZXZpdGF0ZSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCk7IH1cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9IH1cclxuLy9TZXR0aW5nc1xyXG4ubGV2aXRhdGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGV2aXRhdGU7XHJcbiAgICBhbmltYXRpb24tbmFtZTogbGV2aXRhdGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcclxuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMS4gR2VsYXRpbmVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBnZWxhdGluZSB7XHJcbiAgICBmcm9tLCB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxyXG4gICAgMjUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSwgMS4xKTsgfVxyXG4gICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSwgMC45KTsgfVxyXG4gICAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUsIDEuMDUpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBnZWxhdGluZSB7XHJcbiAgICBmcm9tLCB0byB7IHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7IH1cclxuICAgIDI1JSB7IHRyYW5zZm9ybTogc2NhbGUoMC45LCAxLjEpOyB9XHJcbiAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMC45KTsgfVxyXG4gICAgNzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1LCAxLjA1KTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLmdlbGF0aW5lIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBnZWxhdGluZSAwLjZzO1xyXG4gICAgYW5pbWF0aW9uOiBnZWxhdGluZSAwLjZzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMi4gVW56b29tXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0tleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgdW56b29tIHtcclxuICAgIGZyb20sIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDApOyB9XHJcbiAgICAyNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45LCAxLjEpOyB9XHJcbiAgICA1MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xLCAwKTsgfVxyXG59XHJcbkBrZXlmcmFtZXMgdW56b29tIHtcclxuICAgIGZyb20sIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgxLCAwKTsgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjksIDEuMSk7IH1cclxuICAgIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xLCAwKTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnVuem9vbSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogdW56b29tIDAuN3M7XHJcbiAgICBhbmltYXRpb246IHVuem9vbSAwLjdzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMy4gRG90IHB1bHNhdGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIGRvdFB1bHNlIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuOCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiAgc2NhbGUoMS44KTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgZG90UHVsc2Uge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS44KTtcclxuICAgICAgICB0cmFuc2Zvcm06ICBzY2FsZSgxLjgpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjE0LiBCb3VuY3kgZW50cmFuY2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBlbnRyYW5jZSB7XHJcbiAgICBmcm9tIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbiAgICAyNSUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cclxuICAgIDUwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxyXG4gICAgNzUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XHJcbiAgICB0byB7IC13ZWJraXQtdHJhbnNmb3JtOiBub25lOyB9XHJcbn1cclxuQGtleWZyYW1lcyBlbnRyYW5jZSB7XHJcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG4gICAgMjUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxyXG4gICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxyXG4gICAgNzUlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxyXG4gICAgdG8geyB0cmFuc2Zvcm06IG5vbmU7IH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5lbnRyYW5jZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZW50cmFuY2UgMC44cztcclxuICAgIGFuaW1hdGlvbjogZW50cmFuY2UgMC44cztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTUuIFNjYWxlIGluIFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlSW4ge1xyXG4gICAgZnJvbSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgfVxyXG4gICAgdG8geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxufVxyXG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xyXG4gICAgZnJvbSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAgIHRvIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG59XHJcbi8vU2V0dGluZ3NcclxuLnNjYWxlSW4ge1xyXG4gICAgLyogLi4uICovXHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2NhbGVJbiAwLjVzO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZUluIDAuNXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xNi4gU2NhbGUgaW4gY2lyY2xlICh1c2VkIGZvciBtb2RhbCBwb3B1cClcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vS2V5ZnJhbWVzXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZUluQ2lyY2xlIHtcclxuICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH1cclxuICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDcpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBzY2FsZUluQ2lyY2xlIHtcclxuICAgIGZyb20geyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbiAgICB0byB7IHRyYW5zZm9ybTogc2NhbGUoNyk7IH1cclxufVxyXG4vL1NldHRpbmdzXHJcbi5zY2FsZUluQ2lyY2xlIHtcclxuICAgIC8qIC4uLiAqL1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlSW5DaXJjbGUgMC42cztcclxuICAgIGFuaW1hdGlvbjogc2NhbGVJbkNpcmNsZSAwLjZzO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTcuIFNjYWxlIG91dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9LZXlmcmFtZXNcclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlT3V0IHtcclxuICAgIGZyb20geyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAgIHRvIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuQGtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgICBmcm9tIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxyXG4gICAgdG8geyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XHJcbn1cclxuLy9TZXR0aW5nc1xyXG4uc2NhbGVPdXQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlT3V0IDAuNnM7XHJcbiAgICBhbmltYXRpb246IHNjYWxlT3V0IDAuNnM7XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xOC4gUHVsc2F0ZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNhdGUge1xyXG4gICAgMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEsIDAuMSk7IG9wYWNpdHk6IDAuMDt9XHJcbiAgICA1MCUge29wYWNpdHk6IDEuMDt9XHJcbiAgICAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yLCAxLjIpOyBvcGFjaXR5OiAwLjA7fVxyXG59XHJcblxyXG4ucHVsc2F0ZSB7XHJcbiAgICBhbmltYXRpb246IHB1bHNhdGUgMXMgZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgXHJcbiAgICBvcGFjaXR5OiAwLjA7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjE5LiBQcmVkZWZpbmVkIGRlbGF5c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmRlbGF5LTEge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzO1xyXG59XHJcbi5kZWxheS0yIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjVzO1xyXG59XHJcbi5kZWxheS0zIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjc1cztcclxufVxyXG4uZGVsYXktNCB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xyXG59XHJcbi5kZWxheS01IHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMS4yNXM7XHJcbn1cclxuLmRlbGF5LTYge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xyXG59XHJcbi5kZWxheS03IHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMS43NXM7XHJcbn1cclxuLmRlbGF5LTgge1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAyLjI1cztcclxufVxyXG4uZGVsYXktOSB7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDIuNXM7XHJcbn1cclxuLmRlbGF5LTEwIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogMi43NXM7XHJcbn1cclxuLmRlbGF5LTExIHtcclxuICAgIGFuaW1hdGlvbi1kZWxheTogM3M7XHJcbn0iLCIvKiEgX25hdmlnYXRpb24uc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuV2Vic2l0ZSBzaWRlYmFyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFdlYnNpdGUgc2lkZWJhclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBXZWJzaXRlIHNpZGViYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNpZGUtbmF2aWdhdGlvbi1tZW51IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgIHBvc2l0aW9uOmZpeGVkO1xyXG4gICAgdG9wOjA7XHJcbiAgICBib3R0b206MDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHdpZHRoOjMwMHB4O1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDFweCk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246d2lkdGggLjA1cyBsaW5lYXI7XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAuMDVzIGxpbmVhcjtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xyXG4gICAgei1pbmRleDoxMDAwO1xyXG4gICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgICAvL0NhdGVnb3JpZXMgc2lkZSBtZW51XHJcbiAgICAuY2F0ZWdvcnktbWVudS13cmFwcGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgdWwuY2F0ZWdvcmllcyB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICYuc3F1YXJlLWxvZ28ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuY2F0ZWdvcnktbGluayB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRzZWNvbmRhcnksIDUlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSAge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkc2Vjb25kYXJ5LCAxMCUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQm90dG9tIGF2YXRhclxyXG4gICAgICAgIC5hdXRob3Ige1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICBib3R0b206MDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tYWluLW1lbnUtYXV0aG9yIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vUmlnaHQgcGFydCBvZiB0aGUgc2lkZWJhclxyXG4gICAgLm5hdmlnYXRpb24tbWVudS13cmFwcGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHVsLm5hdmlnYXRpb24tbWVudSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0hlYWRlclxyXG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUtaGVhZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTIlO1xyXG4gICAgICAgICAgICAubWVudS10b2dnbGUgLmljb24tYm94LXRvZ2dsZSBzcGFuIGkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5uYXZpZ2F0aW9uLWNsb3NlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9NZW51IGFuZCBtZW51IGl0ZW1zXHJcbiAgICAgICAgLm5hdmlnYXRpb24tbWVudSBsaSBhIHNwYW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmlnYXRpb24tbWVudSBsaSBhICB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE4cHggMjVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJi5pcy1zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnBhcmVudC1saW5rIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgJi5oYXMtbmV3IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMThweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogcHVsc2F0ZSAxcyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgbGkgYTpob3ZlciAge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzaWRlYmFyLCA1JSk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBsaS5oYXMtY2hpbGRyZW4uYWN0aXZlLXNlY3Rpb24gYS5wYXJlbnQtbGluayB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRzZWNvbmRhcnksIDE1JSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgc3Bhbiwgc3BhbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbGlnaHRlbigkc2Vjb25kYXJ5LCAxNSUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkuaGFzLWNoaWxkcmVuIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgbGkuaGFzLWNoaWxkcmVuIHVsIGxpIGEuaXMtc3VibWVudSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2lkZWJhciwgNSUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYycHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5NSU7XHJcbiAgICAgICAgICAgICY6aG92ZXIsICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaGFzLW5ldy1mZWF0dXJlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcyLjAnO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmhhcy1uZXctdXBkYXRlIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcyLjEnO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgICAgIGxpLmhhcy1jaGlsZHJlbiB1bCBsaSBhOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MnB4O1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgbGkuaGFzLWNoaWxkcmVuLCBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmhhcy1jaGlsZHJlbiBzcGFuOjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxFMzE1XCI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkuYWN0aXZlLmhhcy1jaGlsZHJlbiBzcGFuOjphZnRlciB7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpLmFjdGl2ZS5oYXMtY2hpbGRyZW4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzaWRlYmFyLCA1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uYXZpZ2F0aW9uLW1lbnUgLmhhcy1jaGlsZHJlbiA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiEgX3BhZ2Vsb2FkZXIuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuUGFnZWxvYWRlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUGFnZWxvYWRlclxyXG4xLiBpbmZyYWxvYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBQYWdlbG9hZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5wYWdlbG9hZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgei1pbmRleDogOTk5OTk4O1xyXG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgZWFzZS1vdXQsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzIGVhc2Utb3V0O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcclxuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpO1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwYWdlLWxvYWRlci1pbm5lciAxLjVzIGluZmluaXRlIGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbjogcGFnZS1sb2FkZXItaW5uZXIgMS41cyBpbmZpbml0ZSBlYXNlLW91dDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcGFnZS1sb2FkZXItb3V0ZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluO1xyXG4gICAgICAgIGFuaW1hdGlvbjogcGFnZS1sb2FkZXItb3V0ZXIgMS41cyBpbmZpbml0ZSBlYXNlLWluO1xyXG4gICAgfVxyXG59XHJcbi8vbG9hZGVyIEtleWZyYW1lc1xyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcGFnZS1sb2FkZXItaW5uZXIge1xyXG4gICAgMCUsNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLWlubmVyIHtcclxuICAgIDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHBhZ2UtbG9hZGVyLW91dGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlLDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwYWdlLWxvYWRlci1vdXRlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSw0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEluZnJhbG9hZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pbmZyYWxvYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXM7XHJcbiAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk3O1xyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfYnV0dG9ucy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CdXR0b24gc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIE1haW4gYnV0dG9uIGNsYXNzXHJcbjEuIFNxdWFyZSBidXR0b25zXHJcbjIuIExpbmsgYnV0dG9uc1xyXG4zLiBQcmltYXJ5IGJ1dHRvblxyXG40LiBTZWNvbmRhcnkgYnV0dG9uXHJcbjUuIEFjY2VudCBidXR0b25cclxuNi4gU3VjY2VzcyBidXR0b25cclxuNy4gV2FybmluZyBidXR0b25cclxuOC4gRGFuZ2VyIGJ1dHRvblxyXG45LiBJbmZvIGJ1dHRvblxyXG4xMC4gU29jaWFsIGJ1dHRvbnNcclxuMTEuIFJpcHBsZSBlZmZlY3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gTWFpbiBidXR0b24gY2xhc3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgIC8vU2lnbiB1cCBidXR0b25zXHJcbiAgICAmLmJ1dHRvbi1zaWdudXAge1xyXG4gICAgICAgIHBhZGRpbmc6IDIycHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuYnRuLW91dGxpbmVkLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0NUQSBidXR0b25zXHJcbiAgICAmLmJ1dHRvbi1jdGEge1xyXG4gICAgICAgIHBhZGRpbmc6IDIycHggNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuYnRuLW91dGxpbmVkLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0xpbmUgaGVpZ2h0IGZpeCBjbGFzc1xyXG4gICAgJi5uby1saCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQWN0aW9uIGJ1dHRvblxyXG4gICAgJi5idXR0b24tYWN0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDQwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQnV0dG9uIHRleHQgYWxpZ25tZW50c1xyXG4gICAgJi5idG4tYWxpZ24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCAxM3B4IDZweCAxM3B4O1xyXG4gICAgfVxyXG4gICAgJi5idG4tYWxpZ24tbWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDE4cHggMTVweDtcclxuICAgIH1cclxuICAgICYuYnRuLWFsaWduLWxnIHtcclxuICAgICAgICBwYWRkaW5nOiA2cHggMTVweCAxOHB4IDE1cHg7XHJcbiAgICB9XHJcbiAgICAvL1VwcGVyY2FzZSBidXR0b25zXHJcbiAgICAmLmJ0bi11cHBlciB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuICAgIC8vUm91bmRlZCBidXR0b25zXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLy9Ib3ZlciByYWlzZWQgYnV0dG9uc1xyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTRweCAyNnB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC40MiksIDAgNHB4IDIzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgOHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMikgIWltcG9ydGFudDtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbiAgICAvL1JhaXNlZCBidXR0b25zXHJcbiAgICAmLmlzLXJhaXNlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxNHB4IDI2cHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjQyKSwgMCA0cHggMjNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9GYWRlIGJ1dHRvbnNcclxuICAgICYuYnRuLWZhZGU6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgIH1cclxuICAgIC8vT3V0bGluZWQgYnV0dG9uc1xyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vTGlnaHQgYnV0dG9uc1xyXG4gICAgICAgICYubGlnaHQtYnRuIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9ib2xkIG91dGxpbmVkIGJ1dHRvbnNcclxuICAgICAgICAmLmlzLWJvbGQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1BhZGRlZCBidXR0b25cclxuICAgICYuYnRuLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxM3B4IDE2cHggMTNweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9EZWZhdWx0IGJ1dHRvblxyXG4gICAgJi5kZWZhdWx0LWJ0biB7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9MaW5rIGJ1dHRvbnNcclxuICAgICYuaXMtbGluayB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0ljb24gYnV0dG9uc1xyXG4gICAgJi5oYXMtaWNvbi1yaWdodCBpIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxuICAgIH1cclxuICAgIC8vRGVmYXVsdCBib3JkZXJcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRlZmF1bHQtaW5wdXQ7XHJcbiAgICB9XHJcbiAgICAvL0J1dHRvbnMgd2l0aCBpY29uc1xyXG4gICAgaSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgIH1cclxuICAgICYuaGFzLWljb24ge1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuN3JlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWZ1bGx3aWR0aCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBTcXVhcmUgYnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLmJ0bi1zcXVhcmUge1xyXG4gICAgd2lkdGg6IDQ1cHg7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvL0J1dHRvbiBzaXplc1xyXG4gICAgJi5pcy1zbWFsbCB7XHJcbiAgICAgICAgd2lkdGg6IDM2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNnB4OyAgXHJcbiAgICB9XHJcbiAgICAmLmlzLW1lZGl1bSB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4OyAgXHJcbiAgICB9XHJcbiAgICAmLmlzLWxhcmdlIHtcclxuICAgICAgICB3aWR0aDogNjRweDtcclxuICAgICAgICBoZWlnaHQ6IDY0cHg7ICBcclxuICAgIH1cclxuICAgIC8vSWNvbiBzaXplc1xyXG4gICAgaSB7XHJcbiAgICAgICAgLy90b3A6IDVweDtcclxuICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1zbWFsbCBpIHtcclxuICAgICAgICAvL3RvcDogNHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICAgICYuaXMtbWVkaXVtIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIH1cclxuICAgICYuaXMtbGFyZ2UgaSB7XHJcbiAgICAgICAgLy90b3A6IDdweDtcclxuICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIExpbmsgYnV0dG9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLmlzLWxpbmsge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICYuYnRuLW1vcmUge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5jb2xvci1wcmltYXJ5IHtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstZ3JleSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gUHJpbWFyeSBidXR0b25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi5wcmltYXJ5LWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgICYucmFpc2VkOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkcHJpbWFyeS1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuOS41O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gU2Vjb25kYXJ5IGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLnNlY29uZGFyeS1idG4ge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRzZWNvbmRhcnktYm94LXNoYWRvdztcclxuICAgICAgICBvcGFjaXR5OiAwLjk1O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBBY2NlbnQgYnV0dG9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5idXR0b24uYWNjZW50LWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGFjY2VudC1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBTdWNjZXNzIGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLnN1Y2Nlc3MtYnRuIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRncmVlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGdyZWVuLWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRncmVlbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gV2FybmluZyBidXR0b25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi53YXJuaW5nLWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJG9yYW5nZS1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG44LiBEYW5nZXIgYnV0dG9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5idXR0b24uZGFuZ2VyLWJ0biB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHJlZC1ib3gtc2hhZG93O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICYuYnRuLW91dGxpbmVkIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBJbmZvIGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uYnV0dG9uLmluZm8tYnRuIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICRibHVlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5yYWlzZWQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRibHVlLWJveC1zaGFkb3c7XHJcbiAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgfVxyXG4gICAgJi5idG4tb3V0bGluZWQge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRibHVlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMC4gU29jaWFsIGJ1dHRvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmJ1dHRvbi5zb2NpYWwtYnRuIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAmLmZhY2Vib29rIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmFjZWJvb2s7XHJcbiAgICB9XHJcbiAgICAmLnR3aXR0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0d2l0dGVyO1xyXG4gICAgfVxyXG4gICAgJi5saW5rZWRpbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpbmtlZGluO1xyXG4gICAgfVxyXG4gICAgJi50dW1ibHIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0dW1ibHI7XHJcbiAgICB9XHJcbiAgICAmLmdpdGh1YiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdpdGh1YjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIFJpcHBsZSBlZmZlY3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnJpcHBsZSB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi5yaXBwbGUtZWZmZWN0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBhbmltYXRpb246IHJpcHBsZS1hbmltYXRpb24gMnM7XHJcbn1cclxuXHJcbi8vUmlwcGxlIGFuaW1hdGlvbiBrZXlmcmFtZXNcclxuQGtleWZyYW1lcyByaXBwbGUtYW5pbWF0aW9uIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgfVxyXG4gICAgdG8ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59IiwiLyohIF9jYXJkcy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DYXJkIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBGZWF0dXJlIGNhcmRcclxuMS4gRmxleCBjYXJkXHJcbjIuIHJvdW5kZWQgY2FyZHNcclxuMy4gRXZlbnQgY2FyZHNcclxuNC4gQnVsbWEgY2FyZHNcclxuNS4gUmVzc291cmNlIGNhcmRzXHJcbjYuIENhcmQgdmFyaWF0aW9uc1xyXG43LiBNZWRpYSBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBGZWF0dXJlIGNhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmZlYXR1cmUtY2FyZCB7XHJcbiAgICB3aWR0aDogMzAwcHg7XHJcbiAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XHJcbiAgICAvL3NpemVzXHJcbiAgICAmLmNhcmQtbWQge1xyXG4gICAgICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICB9XHJcbiAgICAmLmNhcmQtbGcge1xyXG4gICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICB9XHJcbiAgICAvL2JveCBzaGFkb3dzXHJcbiAgICAmLmNhcmQtc2hhZG93IHtcclxuICAgICAgICBib3gtc2hhZG93OiAgMHB4IDVweCA0M3B4IHJnYmEoMCwgMCwgMCwgMC4xOCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaG92ZXItaW5zZXQ6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLDE2MCwyNDEsMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLDIyMCwyNDcsMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgLy9ib3JkZXJzXHJcbiAgICAmLmxpZ2h0LWJvcmRlcmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1ICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG4gICAgLy90aXRsZVxyXG4gICAgLmNhcmQtdGl0bGUgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL0ljb25zIGFuZCBpbWFnZXNcclxuICAgIC5jYXJkLWljb24gaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuY2FyZC1pbWcgaW1nIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuICAgIC8vYWN0aW9uXHJcbiAgICAuY2FyZC1hY3Rpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAvL2Rlc2NyaXB0aW9uXHJcbiAgICAuY2FyZC1mZWF0dXJlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhc2FsdGljLWdyZXk7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtaW1nLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRiYXNhbHRpYy1ncmV5O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ib29rbWFyayBpIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBGbGV4IGNhcmRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmZsZXgtY2FyZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNtb2tlLXdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4xODc1cmVtO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgLy9oZWFkZXJcclxuICAgIC5mbGV4LWNhcmQtaGVhZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgLy9oZWFkZXIgZWxlbWVudHNcclxuICAgICAgICAuaGVhZGVyLWF2YXRhciB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaGVhZGVyLWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgLmhlYWRlci10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaGVhZGVyLXN1YnRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5oZWFkZXItY29udHJvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfS8vaGVhZGVyIGNvbG9yc1xyXG4gICAgICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAuaGVhZGVyLWluZm8gZGl2LCAuaGVhZGVyLWNvbnRyb2wgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAuaGVhZGVyLWluZm8gZGl2LCAuaGVhZGVyLWNvbnRyb2wgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAuaGVhZGVyLWluZm8gZGl2LCAuaGVhZGVyLWNvbnRyb2wgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgYm9keVxyXG4gICAgLmNhcmQtYm9keSB7XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAzMHB4O1xyXG4gICAgICAgICYuaXMtc21hbGwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtbGFyZ2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jYXJkIHRpdGxlIGgzXHJcbiAgICBoMy5jYXJkLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICAgIC8vY2FyZC1kZXNjcmlwdGlvblxyXG4gICAgLmNhcmQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICBjb2xvcjogIzc3NztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgYmFja2dvdW5kIGNvbG9yc1xyXG4gICAgJi5wcmltYXJ5LWNhcmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIC5jb250ZW50LCAuY29udGVudCBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zZWNvbmRhcnktY2FyZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAuY29udGVudCwgLmNvbnRlbnQgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjZW50LWNhcmQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgLmNvbnRlbnQsIC5jb250ZW50IGgyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgb3ZlcmZsb3dcclxuICAgICYuY2FyZC1vdmVyZmxvdyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vbGlnaHQgYm9yZGVyXHJcbiAgICAmLmxpZ2h0LWJvcmRlcmVkIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1ICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG4gICAgLy9ib3ggc2hhZG93IG9wdGlvbnNcclxuICAgICYuc2ltcGxlLXNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogLTFweCAzcHggMTBweCAwIHJnYmEoMCwwLDAsLjA2KTtcclxuICAgIH1cclxuICAgICYubGlnaHQtcmFpc2VkIHtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICB9XHJcbiAgICAmLnJhaXNlZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICB9XHJcbiAgICAmLmhvdmVyLXJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJi5ob3Zlci1pbnNldDpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAvL3RhYnMgaW5zaWRlIGNhcmRzXHJcbiAgICAudGFicyB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwLjdyZW07XHJcbiAgICB9XHJcbiAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5MHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuOHJlbSAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vSWNvbiBjYXJkIHZhcmlhdGlvblxyXG4gICAgJi5pY29uLWNhcmQge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4xKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogODBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tY2FyZC10ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0ljb24gY2FyZCBob3ZlclxyXG4gICAgJi5pY29uLWNhcmQtaG92ZXIge1xyXG4gICAgICAgIGhlaWdodDogMTcwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDEwcHggMTMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAtMXB4IDNweCAxMHB4IDAgcmdiYSgwLDAsMCwuMSk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtMTBweCk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC0xMHB4KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtMTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmlyc3QtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS9jaHJvbm8uc3ZnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQpLHVybCguLi9pbWFnZXMvaWxsdXN0cmF0aW9ucy9pY29ucy9sYW5kaW5nLXYxL2Nocm9uby5zdmcpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IC0yNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmQtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS90YWJsZXQtZG90cy5zdmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsLTgwcHggMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC4uL2ltYWdlcy9pbGx1c3RyYXRpb25zL2ljb25zL2xhbmRpbmctdjEvdGFibGV0LWRvdHMuc3ZnKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwtODBweCAtMjVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQsbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGhpcmQtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS9jb2cuc3ZnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsdHJhbnNwYXJlbnQsdHJhbnNwYXJlbnQpLHVybCguLi9pbWFnZXMvaWxsdXN0cmF0aW9ucy9pY29ucy9sYW5kaW5nLXYxL2NvZy5zdmcpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLC04MHB4IC0yNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdCxuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mb3VydGgtY2FyZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsaHNsYSgwLDAlLDEwMCUsLjY1KSxoc2xhKDAsMCUsMTAwJSwuNjUpKSx1cmwoLi4vaW1hZ2VzL2lsbHVzdHJhdGlvbnMvaWNvbnMvbGFuZGluZy12MS9wbGFuZS5zdmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsLTgwcHggMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvLDIwMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZyx0cmFuc3BhcmVudCx0cmFuc3BhcmVudCksdXJsKC4uL2ltYWdlcy9pbGx1c3RyYXRpb25zL2ljb25zL2xhbmRpbmctdjEvcGxhbmUuc3ZnKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwtODBweCAtMjVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywyMDBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQsbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UZXN0aW1vbmlhbCBjYXJkIHZhcmlhdGlvblxyXG4gICAgJi50ZXN0aW1vbmlhbC1jYXJkIHtcclxuICAgICAgICAvL3RpdGxlXHJcbiAgICAgICAgLnRlc3RpbW9uaWFsLXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy90ZXh0XHJcbiAgICAgICAgLnRlc3RpbW9uaWFsLXRleHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3VzZXIgbWV0YVxyXG4gICAgICAgIC51c2VyLWlkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmluZm8ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgLm5hbWV7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ2FyZCB3aXJoIG5hdmlnYXRpb24gcGlsbHNcclxuICAgIC5uYXZpZ2F0aW9uLXRhYnMge1xyXG4gICAgICAgICYub3V0bGluZWQtcGlsbHMgLnRhYnMudGFicy1oZWFkZXIge1xyXG4gICAgICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHVsIGxpIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LXdoaXRlO1xyXG4gICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9JY29uIGdyb3VwXHJcbiAgICAuaWNvbi1ncm91cCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Mb2dpbiBhbmQgcmVnaXN0cmF0aW9uIGNhcmRzXHJcbiAgICAmLmF1dGgtY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDQwcHggMjBweCA0MHB4O1xyXG4gICAgICAgIC5hdXRoLWNhcmQtaGVhZGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IC0yLjVyZW07XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5oZWFkZXItcHJpbWFyeSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkcHJpbWFyeS1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaGVhZGVyLXNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRzZWNvbmRhcnktYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmhlYWRlci1hY2NlbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYWNjZW50LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NhcmQgY29udGVudCBjb250YWluZXJcclxuICAgIC5jYXJkLWNvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmJvdHRvbS1hdmF0YXIge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFJvdW5kZWQgY2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mbG9hdGluZy1jaXJjbGUge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgcGFkZGluZy10b3A6IDIycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4wNik7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBsZWZ0OiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBFdmVudCBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmV2ZW50LWNhcmQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAzMjBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDMwMG1zIGVhc2UtaW47XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggOHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgICB9XHJcbiAgICAvL2V2ZW50IGRhdGVcclxuICAgIC5jYXJkLWRhdGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAvL2hlaWdodDogNjBweDtcclxuICAgICAgICAvL3dpZHRoOiAxMDBweDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIC5kYXRlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICAuZGF5IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgLy9tYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubW9udGgge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZXZlbnQgY2FyZCBpbWFnZSBjb250YWluZXJcclxuLmltZy1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZXZlbnQgY2FyZCB0ZXh0XHJcbi5jYXJkLXRleHQge1xyXG4gICAgYm90dG9tOiAtNDAlO1xyXG4gICAgLy9NZWRpYSBxdWVyaWVzIGFkanVzdG1lbnRzXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBib3R0b206IC03MSU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBib3R0b206IC01NSU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgYm90dG9tOiAtNjQlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MjBweCkge1xyXG4gICAgICAgIGJvdHRvbTogLTcwJTtcclxuICAgIH1cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHRyYW5zaXRpb246IGFsbCA0NTBtcyBjdWJpYy1iZXppZXIoMC42LCAwLjA2LCAwLjM0LCAwLjYxKTtcclxuICAgICYuaXMtY2xpY2tlZCwgLmV2ZW50LWNhcmQ6aG92ZXIgJiB7XHJcbiAgICAgICAgYm90dG9tOiAwJTtcclxuICAgIH1cclxuICAgIC8vYnV0dG9uXHJcbiAgICAuYnV0dG9uLmlzLWxpbmsgaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB0b3A6IDJweDtcclxuICAgIH1cclxuICAgIC8vdGV4dFxyXG4gICAgLnRleHQge1xyXG4gICAgICAgICYudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIC50ZXh0LWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAudGV4dC1zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRleHQtdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIC8vbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi50ZXh0LWRldGFpbHMge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50ZXh0LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRleHQtbGluayB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRhY2NlbnQsIDIwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIEJ1bG1hIGNhcmRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY2FyZCB7XHJcbiAgICAvL3NoYWRvd1xyXG4gICAgJi5jYXJkLXNoYWRvdyB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogIDBweCA1cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL2ltYWdlIHJhZGl1c1xyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIFJlc3NvdXJjZSBjYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uY2FyZC5yZXNzb3VyY2UtY2FyZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL2F2YXRhclxyXG4gICAgLnJlc3NvdXJjZS1hdmF0YXIgaW1nIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAxNXB4O1xyXG4gICAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbiAgICB9XHJcbiAgICAvL2ltYWdlXHJcbiAgICAuY2FyZC1pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZpZ3VyZSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICYuem9vbU91dCBpbWcge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnpvb21JbiBpbWcge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vb3ZlcmxheVxyXG4gICAgICAgIC5jYXJkLWltYWdlLW92ZXJsYXkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNjgsIDc5LCA5NiwgMC42KTtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgJi5wcmltYXJ5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY29udGVudFxyXG4gICAgLmNhcmQtY29udGVudCB7XHJcbiAgICAgICAgLm1lZGlhLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0JztcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXZhdGFyLXJvdW5kZWQgaW1nIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL1pvb20gRWZmZWN0c1xyXG4gICAgJjpob3ZlciAuY2FyZC1pbWFnZSBmaWd1cmUuem9vbU91dCBpbWcge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICAgICY6aG92ZXIgLmNhcmQtaW1hZ2UgZmlndXJlLnpvb21JbiBpbWcge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIENhcmQgdmFyaWF0aW9uc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uY2FyZCB7XHJcbiAgICAvL0dlbmVyYWwgc2V0dGluZ3NcclxuICAgICYuY2FyZC1mbG9hdGluZy13aWRlLCAmLmNhcmQtZmxvYXRpbmctYm94ZWQge1xyXG4gICAgICAgIG1hcmdpbjogNCU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vV2lkZSBpbWFnZSBjYXJkXHJcbiAgICAmLmNhcmQtZmxvYXRpbmctd2lkZSB7XHJcbiAgICAgICAgLmNhcmQtaW1hZ2UgZmlndXJlIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDgpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggMCByZ2JhKDAsMCwwLC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwwLDAsLjE5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0JveGVkIGltYWdlIGNhcmRcclxuICAgICYuY2FyZC1mbG9hdGluZy1ib3hlZCB7XHJcbiAgICAgICAgLnRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmQtaW1hZ2UgZmlndXJlIGltZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTQpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDE3cHggMCByZ2JhKDAsMCwwLC4yKSwgMCA2cHggMjBweCAwIHJnYmEoMCwwLDAsLjE5KTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmQtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gTWVkaWEgY2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm1lZGlhLWNhcmQge1xyXG4gICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAvL2ltYWdlXHJcbiAgICAubWVkaWEtY2FyZC1pbWFnZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICB9XHJcbiAgICAvL2NvbnRlbnRcclxuICAgIC5tY2FyZC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIC5tY2FyZC10aXRsZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWNhcmQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40IWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNC4yZW0haW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL21ldGFcclxuICAgIC5tY2FyZC1jb250cm9scyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLm1jYXJkLWF2YXRhciBpbWcge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1jYXJkLWluZm8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRpdiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZGl2IGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tY2FyZC1hY3Rpb25zIHtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29sdW1uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2JveGVzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkJveCBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2ltcGxlIGljb24gYm94XHJcbjEuIERpYW1vbmQgaWNvbiBib3hcclxuMi4gU3F1YXJlIGljb24gYm94XHJcbjMuIExvbmcgc2hhZG93IGljb24gYm94ZXNcclxuNC4gU2ltcGxlIGNvdW50ZXJcclxuNS4gQ2FyZCBjb3VudGVyXHJcbjYuIEljb24gY291bnRlclxyXG43LiBQYXJhbGxheCBjb3VudGVyXHJcbjguIFRlYW0gVjFcclxuOS4gVGVhbSBWNFxyXG4xMC4gVGVhbSBWNVxyXG4xMS4gVGVhbSBWNlxyXG4xMi4gQ2xpZW50IGdyaWRzXHJcbjEzLiBDZW50ZXJlZCBpbWFnZXMgY2Fyb3VzZWxcclxuMTQuIE11bHRpcGxlIGltYWdlcyBjYXJvdXNlbFxyXG4xNS4gU2luZ2xlIGltYWdlIGNhcm91c2VsXHJcbjE2LiBDdXN0b21lIHNsaWNrIG5hdmlnYXRpb24gYXJyb3dzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8vVmVuZG9yIHByZWZpeCBNaXhpblxyXG5AbWl4aW4gcHJlZml4KCRwcm9wLCAkdmFsKSB7XHJcbiAgICBAZWFjaCAkcHJlZml4IGluICctd2Via2l0LScsICctbW96LScsICctbXMtJywgJycge1xyXG4gICAgICAgICN7JHByZWZpeH0jeyRwcm9wfTogJHZhbDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gU2ltcGxlIGljb24gYm94XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pY29uLWJveCB7XHJcbiAgICAvL2ljb25cclxuICAgIC5ib3gtaWNvbiB7XHJcbiAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgfVxyXG4gICAgLy90aXRsZVxyXG4gICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuYm94LXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB9XHJcbiAgICAvL0NvbG9yc1xyXG4gICAgJi5wcmltYXJ5IHtcclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgLmJveC1pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmZvIHtcclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgLmJveC1pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRncmVlbjsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLmJveC1pY29uIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kYW5nZXIge1xyXG4gICAgICAgIC5ib3gtaWNvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ29tcGFjdCBzdHlsZVxyXG4gICAgJi5jb21wYWN0IHtcclxuICAgICAgICAvL2ljb25cclxuICAgICAgICAuYm94LWljb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3RleHRcclxuICAgICAgICAuYm94LXRleHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHggMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gRGlhbW9uZCBpY29uIGJveFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uZGlhbW9uZC1ib3gge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy93cmFwcGVyXHJcbiAgICAuZGlhbW9uZC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvL2RpYW1vbmRcclxuICAgIC5kaWFtb25kIHtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgbGVmdDogMTFweDtcclxuICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdGl0bGVcclxuICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIH1cclxuICAgIC8vdGV4dFxyXG4gICAgLmJveC10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG4gICAgLy9jb2xvcnNcclxuICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgLmRpYW1vbmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgIC5kaWFtb25kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJHNlY29uZGFyeS1ib3gtc2hhZG93OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjZW50IHtcclxuICAgICAgICAuZGlhbW9uZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NlbnQtYm94LXNoYWRvdzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmluZm8ge1xyXG4gICAgICAgIC5kaWFtb25kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRibHVlLWJveC1zaGFkb3c7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgLmRpYW1vbmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRncmVlbi1ib3gtc2hhZG93OyBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAuZGlhbW9uZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRvcmFuZ2UtYm94LXNoYWRvdzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRhbmdlciB7XHJcbiAgICAgICAgLmRpYW1vbmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkcmVkLWJveC1zaGFkb3c7IFxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBTcXVhcmUgaWNvbiBib3hcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLnNxdWFyZS1pY29uLWJveCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmOmhvdmVyIC5pY29uLWJveC13cmFwcGVyIC5pY29uLWJveDphZnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuICAgIC8vcm91bmRlZCBzdHlsZVxyXG4gICAgJi5yb3VuZGVkIHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3dyYXBwZXJcclxuICAgIC5pY29uLWJveC13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIC8vaWNvblxyXG4gICAgICAgIC5pY29uLWJveCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMTZweDtcclxuICAgICAgICAgICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3NnB4O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDoxO1xyXG4gICAgICAgICAgICAgICAgdG9wOi04cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0Oi04cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdGl0bGVcclxuICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuYm94LXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgfVxyXG4gICAgLy9jb2xvcnNcclxuICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRwcmltYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2Vjb25kYXJ5IHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkc2Vjb25kYXJ5LWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOjJweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGFjY2VudC1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbmZvIHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJsdWUtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAuaWNvbi1ib3gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRncmVlbi1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJGdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ib3gtdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYud2FybmluZyB7XHJcbiAgICAgICAgLmljb24tYm94IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJG9yYW5nZS1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoycHggc29saWQgJG9yYW5nZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kYW5nZXIge1xyXG4gICAgICAgIC5pY29uLWJveCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRyZWQtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6MnB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTG9uZyBzaGFkb3cgaWNvbiBib3hlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9WYXJpYWJsZXNcclxuJGljb24tY29sb3I6ICR3aGl0ZTsgICAgIFxyXG4kcHJpbWFyeS1ib3gtYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiRzZWNvbmRhcnktYm94LWJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiRhY2NlbnQtYm94LWJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiRpbmZvLWJveC1iYWNrZ3JvdW5kOiAkYmx1ZTtcclxuJHN1Y2Nlc3MtYm94LWJhY2tncm91bmQ6ICRncmVlbjtcclxuJHdhcm5pbmctYm94LWJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiRkYW5nZXItYm94LWJhY2tncm91bmQ6ICRyZWQ7XHJcbiRwcmltYXJ5LXNoYWRvdy1jb2xvcjogZGFya2VuKCRwcmltYXJ5LDE1JSk7ICBcclxuJHNlY29uZGFyeS1zaGFkb3ctY29sb3I6IGRhcmtlbigkc2Vjb25kYXJ5LDE1JSk7IFxyXG4kYWNjZW50LXNoYWRvdy1jb2xvcjogZGFya2VuKCRhY2NlbnQsMTUlKTsgXHJcbiRpbmZvLXNoYWRvdy1jb2xvcjogZGFya2VuKCRibHVlLDE1JSk7IFxyXG4kc3VjY2Vzcy1zaGFkb3ctY29sb3I6IGRhcmtlbigkZ3JlZW4sMTUlKTsgXHJcbiR3YXJuaW5nLXNoYWRvdy1jb2xvcjogZGFya2VuKCRvcmFuZ2UsMTUlKTsgXHJcbiRkYW5nZXItc2hhZG93LWNvbG9yOiBkYXJrZW4oJHJlZCwxNSUpOyBcclxuJGJveC1wcmltYXJ5LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuJGJveC1zZWNvbmRhcnktc2hhZG93OiAkc2Vjb25kYXJ5LWJveC1zaGFkb3c7XHJcbiRib3gtYWNjZW50LXNoYWRvdzogJGFjY2VudC1ib3gtc2hhZG93O1xyXG4kYm94LWluZm8tc2hhZG93OiAkYmx1ZS1ib3gtc2hhZG93O1xyXG4kYm94LXN1Y2Nlc3Mtc2hhZG93OiAkZ3JlZW4tYm94LXNoYWRvdztcclxuJGJveC13YXJuaW5nLXNoYWRvdzogJG9yYW5nZS1ib3gtc2hhZG93O1xyXG4kYm94LWRhbmdlci1zaGFkb3c6ICRyZWQtYm94LXNoYWRvdztcclxuJGxlbmd0aDogNzU7XHJcblxyXG4vL2xvbmcgc2hhZG93IG1peGluXHJcbkBtaXhpbiBsb25nLXNoYWRvdyAoJHNoYWRvdy1jb2xvciwgJGxlbmd0aCkge1xyXG4gICAgJGxpc3Q6ICgpO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbGVuZ3RoIHtcclxuICAgICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkc2hhZG93LWNvbG9yICRpK3B4ICRpK3B4LCBjb21tYSk7XHJcbiAgICB9XHJcbiAgICB0ZXh0LXNoYWRvdzogJGxpc3Q7XHJcbn1cclxuXHJcbi8vbG9uZyBzaGFkb3dcclxuLnNoYWRvdy1pY29uLWJveCBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgaGVpZ2h0OiAkbGVuZ3RoK3B4O1xyXG4gICAgd2lkdGg6ICRsZW5ndGgrcHg7XHJcbiAgICBjb2xvcjogJGljb24tY29sb3I7XHJcbiAgICBAaW5jbHVkZSBsb25nLXNoYWRvdyAoJHByaW1hcnktc2hhZG93LWNvbG9yLCAkbGVuZ3RoKTtcclxufVxyXG5cclxuLy9pY29uLWJveFxyXG4uc2hhZG93LWljb24tYm94IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHdpZHRoOiAkbGVuZ3RoK3B4O1xyXG4gICAgaGVpZ2h0OiAkbGVuZ3RoK3B4O1xyXG4gICAgZm9udC1zaXplOiAkbGVuZ3RoLzMrcHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGxlbmd0aCtweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWJveC1iYWNrZ3JvdW5kO1xyXG4gICAgQGluY2x1ZGUgcHJlZml4KGJvcmRlci1yYWRpdXMsIDEwcHgpO1xyXG4gICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtcHJpbWFyeS1zaGFkb3cpO1xyXG4gICAgLy9yb3VuZGVkIHN0eWxlXHJcbiAgICAmLnJvdW5kZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByZWZpeChib3JkZXItcmFkaXVzLCAxMDBweCk7XHJcbiAgICB9XHJcbiAgICAvL0NvbG9yc1xyXG4gICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtc2Vjb25kYXJ5LXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkc2Vjb25kYXJ5LXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtYWNjZW50LXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkYWNjZW50LXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5mby1ib3gtYmFja2dyb3VuZDtcclxuICAgICAgICBAaW5jbHVkZSBwcmVmaXgoYm94LXNoYWRvdywgJGJveC1pbmZvLXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkaW5mby1zaGFkb3ctY29sb3IsICRsZW5ndGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtc3VjY2Vzcy1zaGFkb3cpO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsb25nLXNoYWRvdyAoJHN1Y2Nlc3Mtc2hhZG93LWNvbG9yLCAkbGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXdhcm5pbmcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWJveC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIEBpbmNsdWRlIHByZWZpeChib3gtc2hhZG93LCAkYm94LXdhcm5pbmctc2hhZG93KTtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbG9uZy1zaGFkb3cgKCR3YXJuaW5nLXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1kYW5nZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYW5nZXItYm94LWJhY2tncm91bmQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KGJveC1zaGFkb3csICRib3gtZGFuZ2VyLXNoYWRvdyk7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvbmctc2hhZG93ICgkZGFuZ2VyLXNoYWRvdy1jb2xvciwgJGxlbmd0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vTG9uZyBzaGFkb3cgYm94IHRpdGxlXHJcbi5zaGFkb3ctdGl0bGUge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi8vTG9uZyBzaGFkb3cgYm94IHRleHRcclxuLnNoYWRvdy10ZXh0IHtcclxuICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gU2ltcGxlIGNvdW50ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaW1wbGUtY291bnRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvL251bWJlclxyXG4gICAgLmNvdW50ZXItbnVtYmVyIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgJi5pcy1ib2xkIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdGV4dFxyXG4gICAgLmNvdW50ZXItdGV4dCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9iYWNrZ3JvdW5kIGljb25cclxuICAgIC5iYWNrZ3JvdW5kLWljb24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICAgICAgdG9wOiAtMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMTtcclxuICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBDYXJkIGNvdW50ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJkLWNvdW50ZXIge1xyXG4gICAgLmZsZXgtY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLnJvdW5kLWljb24gaSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDEuMDUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NlbnQtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIC5jb3VudGVyLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2ljb25cclxuICAgIC5yb3VuZC1pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICBwYWRkaW5nOiAyMnB4O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtNDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcclxuICAgIH1cclxuICAgIC8vbnVtYmVyXHJcbiAgICAuY291bnRlci1udW1iZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XHJcbiAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL3RleHRcclxuICAgIC5jb3VudGVyLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBJY29uIGNvdW50ZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pY29uLWNvdW50ZXIge1xyXG4gICAgLy9pY29uXHJcbiAgICAuY291bnRlci1pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIC8vbnVtYmVyXHJcbiAgICAuY291bnRlci1udW1iZXIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuY291bnRlci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gUGFyYWxsYXggY291bnRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhcmFsbGF4LWNvdW50ZXIge1xyXG4gICAgLy9pY29uXHJcbiAgICAuY291bnRlci1pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICAvL251bWJlclxyXG4gICAgLmNvdW50ZXItbnVtYmVyIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuY291bnRlci10ZXh0IHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIFRlYW0gVjFcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50ZWFtLWNsYXNzaWMge1xyXG4gICAgLy9tZW1iZXIgaW1hZ2VcclxuICAgIC50ZWFtLW1lbWJlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL292ZXJsYXlcclxuICAgICAgICAuaXRlbS1vdmVybGF5IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAub3ZlcmxheS1xdW90ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDU1JTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1JTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgIC5xdW90ZS10ZXh0IGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zb2NpYWwtbGlua3Mge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgLjNzO1xyXG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuM3M7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcztcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIGEgaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0d2l0dGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkdHdpdHRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbjpudGgtY2hpbGQoMikgYSBpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpbmtlZGluO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlua2VkaW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHNwYW46bGFzdC1jaGlsZCBhIGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZHJpYmJibGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkcmliYmJsZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAuaXRlbS1vdmVybGF5ICB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciAub3ZlcmxheS1xdW90ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9tZXRhXHJcbiAgICAubWVtYmVyLW5hbWUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBMaWdodCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICAubGFzdC1uYW1lIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2lyY2xlZCBzb2NpYWwgaWNvbnNcclxuICAgICYuY2lyY2xlZCB7XHJcbiAgICAgICAgLnNvY2lhbC1saW5rcyB7XHJcbiAgICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQgYSBpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR0d2l0dGVyO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0d2l0dGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDIpIGEgaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlua2VkaW47XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxpbmtlZGluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW46bGFzdC1jaGlsZCBhIGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRyaWJiYmxlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkcmliYmJsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vU3F1YXJlIHNvY2lhbCBpY29uc1xyXG4gICAgJi5zcXVhcmVkIHtcclxuICAgICAgICAuc29jaWFsLWxpbmtzIHtcclxuICAgICAgICAgICAgc3BhbiBhIGkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCBhIGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHR3aXR0ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHR3aXR0ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbjpudGgtY2hpbGQoMikgYSBpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRsaW5rZWRpbjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbGlua2VkaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbjpsYXN0LWNoaWxkIGEgaTpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZHJpYmJibGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRyaWJiYmxlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBUZWFtIFY0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5tb2Rlcm4tdGVhbSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIC8vVGVhbSBtZW1iZXJcclxuICAgIC5tb2Rlcm4tdGVhbS1pdGVtIHtcclxuICAgICAgICAuaXRlbS13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaXRlbS1pbWcge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCAyNywgMTc0LCAuNyk7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vT3ZlcmxheVxyXG4gICAgICAgIC5vdmVybGF5LXdyYXBwZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgICAgLnNvY2lhbCB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9NZXRhXHJcbiAgICAgICAgLm1lbWJlci1pbmZvIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgICAgICAubWVtYmVyLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubWVtYmVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAuNWVtIDA7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIC5vdmVybGF5LXdyYXBwZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGN1YmljLWJlemllcigwLjcxLCAwLjA1LCAwLjI5LCAwLjkpIC4ycztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9DaXJjbGUgbWFzayBvdmVybGF5XHJcbiAgICAgICAgJi5jaXJjbGUtbWFzayAuaXRlbS1pbWc6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjUlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB0cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNpcmNsZS1tYXNrOmhvdmVyIC5pdGVtLWltZzpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSg0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjZzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL0N1cnRhaW4gbWFzayBvdmVybGF5XHJcbiAgICAgICAgJi5jdXJ0YWluLW1hc2sgLml0ZW0taW1nOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAxMCUsIDE1JSA5MCUsIDg1JSA5MCUpO1xyXG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDEwJSwgMTUlIDkwJSwgODUlIDkwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzLCAuNHM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC40cywgMHM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY3VydGFpbi1tYXNrOmhvdmVyIC5pdGVtLWltZzpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSg1KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjFzLCAwcztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjRzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3pvb20gZWZmZWN0XHJcbiAgICAgICAgJi56b29tLWVmZmVjdCAubWVtYmVyLWF2YXRhciB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKDAuNzEsIDAuMDUsIDAuMjksIDAuOSk7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuem9vbS1lZmZlY3Q6aG92ZXIgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vcm90YXRlIHpvb20gZWZmZWN0XHJcbiAgICAgICAgJi5yb3RhdGUtem9vbS1lZmZlY3QgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGN1YmljLWJlemllcigwLjcxLCAwLjA1LCAwLjI5LCAwLjkpO1xyXG4gICAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3RhdGUtem9vbS1lZmZlY3Q6aG92ZXIgLm1lbWJlci1hdmF0YXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgcm90YXRlKDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3pvb20gc2xpZGUgZWZmZWN0XHJcbiAgICAgICAgJi56b29tLXNsaWRlLWVmZmVjdCAubWVtYmVyLWF2YXRhciB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgY3ViaWMtYmV6aWVyKDAuNzEsIDAuMDUsIDAuMjksIDAuOSk7XHJcbiAgICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlKDAsIDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnpvb20tc2xpZGUtZWZmZWN0OmhvdmVyIC5tZW1iZXItYXZhdGFyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZSg0JSwgNCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTAuIFRlYW0gVjVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jYXJkLXRlYW0ge1xyXG4gICAgLy9jYXJkXHJcbiAgICAuY2FyZC10ZWFtLWl0ZW0ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgIC5mbGV4LWNhcmQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vYXZhdGFyXHJcbiAgICAgICAgLnRlYW0tYXZhdGFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzBweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vbWV0YVxyXG4gICAgICAgIC5tZW1iZXItaWQgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lbWJlci1pZCAucG9zaXRpb24ge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9zb2NpYWwgaWNvbnNcclxuICAgICAgICAuY2FyZC1zb2NpYWwtbGlua3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSBpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCBpIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEwcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwcHgpO1xyXG4gICAgICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjM1cztcclxuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMzVzO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zNXM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgJjpob3ZlciAuY2FyZC1zb2NpYWwtbGlua3MgYSBpIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTEuIFRlYW0gVjZcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mbGlwLWJveGVzIHtcclxuICAgIC8vRmxpcCBjYXJkXHJcbiAgICAuZmxpcC1ib3gge1xyXG4gICAgICAgIHBlcnNwZWN0aXZlOjUwMHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIC8vd3JhcHBlclxyXG4gICAgLmZsaXAtYm94LXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOmFsbCAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vZnJvbnRcclxuICAgICAgICAuZnJvbnQge1xyXG4gICAgICAgICAgICB6LWluZGV4OjI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDI1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9iYWNrXHJcbiAgICAgICAgLmJhY2sge1xyXG4gICAgICAgICAgICB6LWluZGV4OjE7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAyNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICAgICAgICAgIC5mbGlwLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMjJyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9zb2NpYWwgaWNvbnNcclxuICAgICAgICAgICAgLmZsaXAtc29jaWFsIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTE2cmVtO1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0FjdGl2ZSBzdGF0ZVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEyLiBDbGllbnQgZ3JpZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5ncmlkLWNsaWVudHMge1xyXG4gICAgLmNsaWVudCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgIH1cclxuICAgIC8vMyBjb2x1bW5zIGdyaWRcclxuICAgICYudGhyZWUtZ3JpZCB7XHJcbiAgICAgICAgLmNvbHVtbjpudGgtY2hpbGQoMiksIC5jb2x1bW46bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vNCBjb2x1bW5zIGdyaWRcclxuICAgICYuZm91ci1ncmlkIHtcclxuICAgICAgICAuY29sdW1uOm50aC1jaGlsZCgyKSwgLmNvbHVtbjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29sdW1uOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vNSBjb2x1bW5zIGdyaWRcclxuICAgICYuZml2ZS1ncmlkIHtcclxuICAgICAgICAuY29sdW1uOm50aC1jaGlsZCgyKSwgLmNvbHVtbjpudGgtY2hpbGQoMyksIC5jb2x1bW46bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbHVtbjpudGgtY2hpbGQoNSksIC5jb2x1bW46bnRoLWNoaWxkKDYpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaXMtc2VwYXJhdG9yIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTMuIENlbnRlcmVkIGltYWdlcyBjYXJvdXNlbFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmltYWdlLWNhcm91c2VsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogOTUwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICY6aG92ZXIgLnNsaWNrLWN1c3RvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIC8vaXRlbVxyXG4gICAgLmNhcm91c2VsLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLXdyYXBwZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAuc3RhY2stbG9nbyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1jdXN0b20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgJi5pcy1wcmV2IHtcclxuICAgICAgICAgICAgbGVmdDogLTQlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLW5leHQge1xyXG4gICAgICAgICAgICByaWdodDogLTQlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1kb3RzIHtcclxuICAgICAgICBib3R0b206IC02MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stcHJldjpiZWZvcmUsIC5zbGljay1uZXh0OmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xNC4gTXVsdGlwbGUgaW1hZ2VzIGNhcm91c2VsXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubXVsdGlwbGUtaW1hZ2UtY2Fyb3VzZWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiA5NTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgJjpob3ZlciAuc2xpY2stY3VzdG9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgLy9pdGVtXHJcbiAgICAuY2Fyb3VzZWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5zdGFjay1sb2dvIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTMwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1jdXN0b20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWRvdHMge1xyXG4gICAgICAgIGJvdHRvbTogLTYwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrLW5leHQ6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjE1LiBTaW5nbGUgaW1hZ2UgY2Fyb3VzZWxcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zaW5nbGUtaW1hZ2UtY2Fyb3VzZWwge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWF4LXdpZHRoOiA2NTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgJjpob3ZlciAuc2xpY2stY3VzdG9tIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgLy9pdGVtXHJcbiAgICAuY2Fyb3VzZWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Utd3JhcHBlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICY6aG92ZXIgLmNhcHRpb24ge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC44KTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMCUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGljay1jdXN0b20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgICAgYm90dG9tOiAtNjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMTYuIEN1c3RvbSBzbGljayBjYXJvdXNlbCBuYXZpZ2F0aW9uIGFycm93c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnNsaWNrLWN1c3RvbSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDQxJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDE0cHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuICAgIH1cclxuICAgIC8vcHJldmlvdXMgYXJyb3dcclxuICAgICYuaXMtcHJldiB7XHJcbiAgICAgICAgbGVmdDogLTZweDtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDJweDsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9uZXh0IGFycm93XHJcbiAgICAmLmlzLW5leHQge1xyXG4gICAgICAgIHJpZ2h0OiAtNnB4O1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBsZWZ0OiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfdGFicy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5OYXZpZ2F0aW9uIHRhYnMgYW5kIHBpbGxzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBUYWJzIG5hdlxyXG4xLiBOYXZpZ2F0aW9uIHRhYnNcclxuMi4gUGFydG5lciB0YWJzXHJcbjMuIFRhYmJlZCByZXZpZXdzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFRhYnMgbmF2XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFicy1uYXYge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vY29udGFpbmVyXHJcbiAgICAudGFicy1jb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLnRhYi1jb250ZW50IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjhweCAzM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFiLWNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250YWluZXIudHlwZS0yIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICAudGFicy1jb250YWluZXIudHlwZS0xIC50YWItY29udGVudCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMGUwO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAwIDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMTI7XHJcbiAgICB9XHJcbiAgICBsaS5hY3RpdmUgLnRhYi1yZXZpZXdzIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgbGkgYSwgdGFiLXJldmlld3Mge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcclxuICAgIH1cclxuICAgIGxpIGEge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiA3cHggMTVweDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDExO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM2NjY3NmI7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIGE6aG92ZXIsIGxpLmFjdGl2ZSBhIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHotaW5kZXg6IDExO1xyXG4gICAgfVxyXG4gICAgbGkgYSBpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gTmF2aWdhdGlvbiB0YWJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubmF2aWdhdGlvbi10YWJzIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvL25hdnRhYiBjb250ZW50XHJcbiAgICAubmF2dGFiLWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxOTBweDtcclxuICAgICAgICAmLm5hdnRhYi1tb2RhbCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2FjdGl2ZSBzdGF0ZVxyXG4gICAgLm5hdnRhYi1jb250ZW50LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAvL2ZhZGVkIHRhYnNcclxuICAgICYuYW5pbWF0ZWQtdGFicyB7XHJcbiAgICAgICAgLm5hdnRhYi1jb250ZW50IHtcclxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3RyYW5zbGF0ZWQgdGFic1xyXG4gICAgJi50cmFuc2xhdGVkLXRhYnMge1xyXG4gICAgICAgIC5uYXZ0YWItY29udGVudCB7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiB0cmFuc2xhdGVMZWZ0O1xyXG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gU2ltcGxlIHRhYnNcclxuICAgICYuc2ltcGxlLXRhYnMge1xyXG4gICAgICAgIC50YWJzIHVsIGxpIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzIHVsIGxpOmhvdmVyIGEge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaS5pcy1hY3RpdmUgYSAuaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvL2JveGVkIHRhYnNcclxuICAgICYuYm94ZWQtdGFicyB7XHJcbiAgICAgICAgLnRhYnMgdWwgbGkgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBwaWxsc1xyXG4gICAgJi5vdXRsaW5lZC1waWxscyB7XHJcbiAgICAgICAgJi5yb3VuZGVkLXBpbGxzIHtcclxuICAgICAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgYSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaSBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHhcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkuaXMtYWN0aXZlIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9mdWxsIHBpbGxzXHJcbiAgICAmLmZ1bGwtcGlsbHMge1xyXG4gICAgICAgICYucm91bmRlZCB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJzIGEge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwgbGkgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvL3BpbGxzIGNvbG9yc1xyXG4gICAgICAgICYucHJpbWFyeSB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHByaW1hcnktYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRzZWNvbmRhcnktYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgICAgIC50YWJzIHVsIGxpLmlzLWFjdGl2ZSBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhY2NlbnQtYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc3F1YXJlIHBpbGxzXHJcbiAgICAmLnNxdWFyZS1waWxscyB7XHJcbiAgICAgICAgLy9yb3VuZGVkIHN0eWxlXHJcbiAgICAgICAgJi5jaXJjbGUtcGlsbHMge1xyXG4gICAgICAgICAgICAudGFicyB1bCBsaSBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMgdWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaSBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNS41cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBjb2xvcjogIzlhOWE5YTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMiwgMjIyLCAyMjIsIDAuMyk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgICAgIDpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudGFicyB1bCBsaS5pcy1hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDM1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBQYXJ0bmVyIHRhYnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWJzIHtcclxuICAgICYucGFydG5lci10YWJzIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCBsaSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gVGFiYmVkIHJldmlld3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWItcmV2aWV3cyB7XHJcbiAgICBjb2xvcjogI2FhYTtcclxufSIsIi8qISBfdGVzdGltb25pYWxzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRlc3RpbW9uaWFsIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTaW1wbGUgdGVzdGltb25pYWxzXHJcbjEuIFZlcnRpY2FsIHRlc3RpbW9uaWFsc1xyXG4yLiBGbGF0IHRlc3RpbW9uaWFsc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBTaW1wbGUgdGVzdGltb25pYWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGVzdGltb25pYWxzLCAuZGVtbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC8vaXRlbVxyXG4gICAgLnRlc3RpbW9uaWFsLWl0ZW0ge1xyXG4gICAgICAgIG1hcmdpbjogNDBweDtcclxuICAgICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9hdmF0YXJcclxuICAgICAgICAudGVzdGltb25pYWwtYXZhdGFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL21ldGFcclxuICAgICAgICAudGVzdGltb25pYWwtbmFtZSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLTE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb250ZW50XHJcbiAgICAgICAgLnRlc3RpbW9uaWFsLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9QYWdpbmF0aW9uIGRvdHNcclxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xyXG4gICAgb3BhY2l0eTogLjc1O1xyXG4gICAgY29sb3I6ICRhY2NlbnQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gVmVydGljYWwgdGVzdGltb25pYWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udmVydGljYWwtdGVzdGltb25pYWxzIHtcclxuICAgIG1hcmdpbi10b3A6IDkwcHg7XHJcbiAgICAvL2l0ZW1cclxuICAgIC52dGVzdGltb25pYWwtaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggODBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2F2YXRhclxyXG4gICAgICAgIC52dC1hdmF0YXIge1xyXG4gICAgICAgICAgICBoZWlnaHQ6NTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY29udGVudFxyXG4gICAgICAgIC52dC1jb250ZW50IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIC52dC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC43ZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudnQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0YXItcmF0aW5nIHtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2FjdGl2ZSB0ZXN0aW1vbmlhbCBjYXJkXHJcbiAgICAuc2xpY2stY3VycmVudC5zbGljay1hY3RpdmUuc2xpY2stY2VudGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgIH1cclxuICAgIC8vZmFkZSBvdXQgbm9uIGFjdGl2ZSBjYXJkc1xyXG4gICAgLnNsaWNrLXNsaWRlIHtcclxuICAgICAgICAmOm5vdCguc2xpY2stY3VycmVudCkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjEgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIEZsYXQgdGVzdGltb25pYWxzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZmxhdC10ZXN0aW1vbmlhbHMge1xyXG4gICAgLy9pdGVtXHJcbiAgICAuZmxhdC10ZXN0aW1vbmlhbC1pdGVtIHtcclxuICAgICAgICBtYXJnaW46IDAgMjBweCA1MHB4IDIwcHg7XHJcbiAgICAgICAgLy9pbWFnZVxyXG4gICAgICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogIDBweCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2ltYWdlIG92ZXJsYXlcclxuICAgICAgICAgICAgLnNrZXdlZC1vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogOTUlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNDAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwMCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdZKDhkZWcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL0NvbnRlbnRcclxuICAgICAgICAudGVzdGltb25pYWwtdGV4dCB7XHJcbiAgICAgICAgICAgIC5xdW90ZWQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJhc2FsdGljLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNsaWVudC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNsaWVudC1wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29tcGFueSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mYS1xdW90ZS1sZWZ0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb2xvcnNcclxuICAgICAgICAmLnByaW1hcnkge1xyXG4gICAgICAgICAgICAuc2tld2VkLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNsaWVudC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZmEtcXVvdGUtbGVmdCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICAuc2tld2VkLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2xpZW50LW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZhLXF1b3RlLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICAuc2tld2VkLW92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2xpZW50LW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZhLXF1b3RlLWxlZnQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLyohIF9kaWFsb2dzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk1vZGFsIGRpYWxvZ3Mgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBCYXNlIG1vZGFsIGNsYXNzXHJcbjEuIE1vZGFsIGFjdGl2ZSBzdGF0ZVxyXG4yLiBNZWRpYSBxdWVyaWVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEJhc2UgbW9kYWwgY2xhc3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLm1vZGFsIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIC8vbW9kYWwgY29udGVudCBkZWZhdWx0IHN0eWxlc1xyXG4gICAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjRzO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB6LWluZGV4OiA5OSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9tb2RhbCBjbG9zZSBkZWZhdWx0IHN0eWxlc1xyXG4gICAgLm1vZGFsLWNsb3NlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC40cztcclxuICAgICAgICB6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIE1vZGFsIGFjdGl2ZSBzdGF0ZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubW9kYWwuaXMtYWN0aXZlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAvL21vZGFsIG92ZXJsYXlcclxuICAgIC5tb2RhbC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2Via2l0LW1vZGFsLWdyYWRpZW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRtb2RhbC1ncmFkaWVudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB3aWR0aDogMTAwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvIDtcclxuICAgICAgICBsZWZ0OiAwIDtcclxuICAgICAgICByaWdodDogMCA7XHJcbiAgICAgICAgdG9wOiAwIDtcclxuICAgICAgICBib3R0b206IDAgO1xyXG4gICAgICAgIHotaW5kZXg6IDk4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuc2NhbGVJbkNpcmNsZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoNyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9tb2RhbC1jb250ZW50XHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgLy9zY2FsZSBpbiBlbnRyYW5jZVxyXG4gICAgICAgICYuc2NhbGVJbiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jbG9zZSBidXR0b24gei1pbmRleFxyXG4gICAgLm1vZGFsLWNsb3NlIHtcclxuICAgICAgICB6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vaW1hZ2UgbW9kYWwgdmFyaWF0aW9uXHJcbiAgICAmLmltYWdlLW1vZGFsIHtcclxuICAgICAgICAubW9kYWwtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3ZWJraXQtY29hbC1ncmFkaWVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvYWwtZ3JhZGllbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmdhbGxlcnktaXRlbSBmaWd1cmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vTW9kYWwgY2FyZFxyXG4gICAgLm1vZGFsLWNhcmQge1xyXG4gICAgICAgIC5tb2RhbC1jYXJkLWhlYWQsIC5tb2RhbC1jYXJkLWZvb3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2hlYWRlclxyXG4gICAgICAgIC5tb2RhbC1jYXJkLWhlYWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9jbG9zZSBidXR0b25cclxuICAgICAgICAgICAgLmRlbGV0ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY2FyZCBib2R5XHJcbiAgICAgICAgLm1vZGFsLWNhcmQtYm9keTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tb2RhbC1jYXJkLWJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY2FyZCBmb290ZXJcclxuICAgICAgICAubW9kYWwtY2FyZC1mb290IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc21hbGwgbW9kYWxcclxuICAgICYubW9kYWwtc20ge1xyXG4gICAgICAgIC5tb2RhbC1jYXJkLWJvZHkge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2N1cnJlbnQgdGhlbWUgZ3JhZGllbnQgb3ZlcmxheSBjb2xvclxyXG4gICAgJi5tb2RhbC1oZXJvIHtcclxuICAgICAgICAubW9kYWwtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3ZWJraXQtaGVyby1ncmFkaWVudDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGhlcm8tZ3JhZGllbnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zdWNjZXNzIG92ZXJsYXlcclxuICAgICYubW9kYWwtc3VjY2VzcyB7XHJcbiAgICAgICAgLm1vZGFsLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9lcnJvciBvdmVybGF5XHJcbiAgICAmLm1vZGFsLWVycm9yIHtcclxuICAgICAgICAubW9kYWwtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy93YXJuaW5nIG92ZXJsYXlcclxuICAgICYubW9kYWwtd2FybmluZyB7XHJcbiAgICAgICAgLm1vZGFsLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaW5mbyBvdmVybGF5XHJcbiAgICAmLm1vZGFsLWluZm8ge1xyXG4gICAgICAgIC5tb2RhbC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9tZXNzYWdlIG1vZGFscyBpY29uXHJcbiAgICAubW9kYWwtc3ZnIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIE1lZGlhIHF1ZXJpZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vTW9iaWxlIGFkanV0bWVudFxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xyXG4gICAgLm1vZGFsLm1vZGFsLWxnIHtcclxuICAgICAgICAubW9kYWwtY2FyZCwgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogODAwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kYWwubW9kYWwtc20ge1xyXG4gICAgICAgIC5tb2RhbC1jYXJkLCAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKiEgX2Zvcm1zLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkZvcm0gaW5wdXRzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBSZXNldHNcclxuMS4gRm9ybSBsYWJlbHNcclxuMi4gVGV4dCBpbnB1dHNcclxuMy4gQ3VzdG9tIGlucHV0XHJcbjQuIFRleHRhcmVhc1xyXG41LiBJbnB1dCB3cmFwcGVyc1xyXG42LiBNYXRlcmlhbCBJbnB1dHNcclxuNy4gTmF0aXZlIHNlbGVjdCBib3hcclxuOC4gQXV0b2NvbXBsZXRlXHJcbjkuIGpRdWVyeSBkYXRlcGlja2VyXHJcbjEwLiBGaWxlIGlucHV0c1xyXG4xMS4gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXHJcbjEyLiBUYWdzIGlucHV0XHJcbjEzLiBUaW1lIHBpY2tlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBSZXNldHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pbnB1dCwgLnRleHRhcmVhLCBzZWxlY3Qge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBGb3JtIGxhYmVsc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZvcm0tbGFiZWwge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIGNvbG9yOiAkbXV0ZWQtZ3JleTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gVGV4dCBpbnB1dHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbmlucHV0LmlucHV0IHtcclxuICAgIGNvbG9yOiAkYmFzYWx0aWMtZ3JleTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcclxuICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XHJcbiAgICBib3JkZXItY29sb3I6ICRkZWZhdWx0LWlucHV0O1xyXG4gICAgZm9udC1zaXplOiAwLjlyZW07XHJcbiAgICAvL3NpemVzXHJcbiAgICAmLmlzLXNtYWxsIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIH1cclxuICAgICYuaXMtbWVkaXVtIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgIH1cclxuICAgICYuaXMtbGFyZ2Uge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgIGhlaWdodDogM3JlbTtcclxuICAgIH1cclxuICAgIC8vcm91bmRlZCBzdHlsZVxyXG4gICAgJi5yb3VuZGVkIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgIH1cclxuICAgIC8vZm9jdXMgY29sb3JzXHJcbiAgICAmLmlzLXByaW1hcnktZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXNlY29uZGFyeS1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjY2VudC1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH4gc3Bhbi5pY29uIGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWdyZXktZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2RlZmF1bHRcclxuICAgICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBDdXN0b20gaW5wdXRcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmlucHV0LmN1c3RvbS1pbnB1dCB7XHJcbiAgICBoZWlnaHQ6IDQ2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDZweDtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGJkYmRiICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFRleHRhcmVhc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG50ZXh0YXJlYS50ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogJGJhc2FsdGljLWdyZXk7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XHJcbiAgICAvL2ZvY3VzIGNvbG9yc1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgIH1cclxuICAgICYuaXMtcHJpbWFyeS1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc2Vjb25kYXJ5LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYWNjZW50LWZvY3VzOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfiBzcGFuLmljb24gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtZ3JleS1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtZGVmYXVsdC1mb2N1czpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGVmYXVsdC1pbnB1dDtcclxuICAgICAgICB+IHNwYW4uaWNvbiBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRkZWZhdWx0LWlucHV0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vZ3Jvd2luZyB0ZXh0YXJlYVxyXG4gICAgJi5pcy1ncm93IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9lbWJlZGVkIGJ1dHRvbiBpbnNpZGUgdGV4dGFyZWFcclxuICAgICYuaXMtYnV0dG9uIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcmVzaXplOiBub25lO1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcclxuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkZWZhdWx0LWlucHV0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkZWZhdWx0LWlucHV0O1xyXG4gICAgICAgIH1cclxuICAgICAgICArIC50ZXh0YXJlYS1idXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkZWZhdWx0LWlucHV0O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCA3cHggN3B4IDdweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNS4gSW5wdXQgd3JhcHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5maWVsZCB7XHJcbiAgICAuY29udHJvbCB7XHJcbiAgICAgICAgJi5kYXRlcGlja2VyLWNvbnRyb2wsICYudGltZXBpY2tlci1jb250cm9sIHtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL3ZhbGlkYXRpb25cclxuICAgICAgICAmLnJlcXVpcmVkIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vdmFsaWRhdGlvbiBpbmZvXHJcbiAgICAgICAgICAgIHNtYWxsLnZhbGlkYXRpb24taW5mbyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9zdWNjZXNzIHN0YXRlXHJcbiAgICAgICAgICAgICYuaGFzLXN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNtYWxsLnZhbGlkYXRpb24taW5mby5zdWNjZXNzIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnN1Y2Nlc3MgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2Vycm9yIHN0YXRlXHJcbiAgICAgICAgICAgICYuaGFzLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc21hbGwudmFsaWRhdGlvbi1pbmZvLmVycm9yIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5lcnJvciBpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNi4gTWF0ZXJpYWwgSW5wdXRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL01hdGVyaWFsIGNvbnRyb2xcclxuLmNvbnRyb2wtbWF0ZXJpYWwge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxyXG4gICAgbWFyZ2luLWJvdHRvbTozZW07XHJcbiAgICBpbnB1dCwgdGV4dGFyZWEge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vcHJpbWFyeSBjb2xvcnNcclxuICAgICYuaXMtcHJpbWFyeSB7XHJcbiAgICAgICAgaW5wdXQubWF0ZXJpYWwtaW5wdXQ6Zm9jdXMgfiBsYWJlbCwgaW5wdXQ6dmFsaWQgfiBsYWJlbCwgdGV4dGFyZWE6Zm9jdXMgfiBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhcjpiZWZvcmUsIC5iYXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXMtaWNvbiBpbnB1dDpmb2N1cyB+IGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3NlY29uZGFyeSBjb2xvcnNcclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBpbnB1dC5tYXRlcmlhbC1pbnB1dDpmb2N1cyB+IGxhYmVsLCBpbnB1dDp2YWxpZCB+IGxhYmVsLCB0ZXh0YXJlYTpmb2N1cyB+IGxhYmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXI6YmVmb3JlLCAuYmFyOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXMtaWNvbiBpbnB1dDpmb2N1cyB+IGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vYWNjZW50IGNvbG9yc1xyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGlucHV0Lm1hdGVyaWFsLWlucHV0OmZvY3VzIH4gbGFiZWwsIGlucHV0OnZhbGlkIH4gbGFiZWwsIHRleHRhcmVhOmZvY3VzIH4gbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhcjpiZWZvcmUsIC5iYXI6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhcy1pY29uIGlucHV0OmZvY3VzIH4gaSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9saWdodCBjb2xvcnNcclxuICAgICYuaXMtbGlnaHQge1xyXG4gICAgICAgIGlucHV0Lm1hdGVyaWFsLWlucHV0OmZvY3VzIH4gbGFiZWwsIGlucHV0OnZhbGlkIH4gbGFiZWwsIHRleHRhcmVhOmZvY3VzIH4gbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFyOmJlZm9yZSwgLmJhcjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXMtaWNvbiBpbnB1dDpmb2N1cyB+IGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9iYWlzYyBtYXRlcmlhbCBzdHlsZXNcclxuICAgIGlucHV0Lm1hdGVyaWFsLWlucHV0LCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LXNpemU6MThweDtcclxuICAgICAgICBwYWRkaW5nOjAuNjI1ZW0gIDAuNjI1ZW0gMC42MjVlbSAwLjMxMjVlbTtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIHdpZHRoOjE4Ljc1ZW07XHJcbiAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3V0bGluZTpub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vRmxvYXRpbmcgbGFiZWxcclxuICAgIGxhYmVsIHtcclxuICAgICAgICBmb250LWZhbWlseTonQXJpYWwnO1xyXG4gICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7IFxyXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czpub25lO1xyXG4gICAgICAgIGxlZnQ6MC4zMTI1ZW07XHJcbiAgICAgICAgdG9wOjAuNjI1ZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjowLjJzIGVhc2UgYWxsOyBcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246MC4ycyBlYXNlIGFsbDsgXHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOjAuMnMgZWFzZSBhbGw7XHJcbiAgICB9XHJcbiAgICBpbnB1dC5tYXRlcmlhbC1pbnB1dDpmb2N1cyB+IGxhYmVsLCBpbnB1dDp2YWxpZCB+IGxhYmVsLCB0ZXh0YXJlYTpmb2N1cyB+IGxhYmVsXHRcdHtcclxuICAgICAgICB0b3A6LTIwcHg7XHJcbiAgICAgICAgbGVmdDogLTJweDtcclxuICAgICAgICBmb250LXNpemU6MTJweDtcclxuICAgIH1cclxuICAgIC8vYm90dG9tIGJhclxyXG4gICAgLmJhciBcdHtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYXI6YmVmb3JlLCAuYmFyOmFmdGVyIFx0e1xyXG4gICAgICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICAgICAgaGVpZ2h0OjJweDsgXHJcbiAgICAgICAgd2lkdGg6MDtcclxuICAgICAgICBib3R0b206MHB4OyBcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHJcbiAgICAgICAgdHJhbnNpdGlvbjowLjJzIGVhc2UgYWxsOyBcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246MC4ycyBlYXNlIGFsbDsgXHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOjAuMnMgZWFzZSBhbGw7XHJcbiAgICB9XHJcbiAgICAuYmFyOmJlZm9yZSB7XHJcbiAgICAgICAgbGVmdDo1MCU7XHJcbiAgICB9XHJcbiAgICAuYmFyOmFmdGVyIHtcclxuICAgICAgICByaWdodDo1MCU7IFxyXG4gICAgfVxyXG4gICAgaW5wdXQubWF0ZXJpYWwtaW5wdXQ6Zm9jdXMgfiAuYmFyOmJlZm9yZSwgaW5wdXQubWF0ZXJpYWwtaW5wdXQ6Zm9jdXMgfiAuYmFyOmFmdGVyLCB0ZXh0YXJlYTpmb2N1cyB+IC5iYXI6YmVmb3JlLCB0ZXh0YXJlYTpmb2N1cyB+IC5iYXI6YWZ0ZXIge1xyXG4gICAgICAgIHdpZHRoOjUwJTtcclxuICAgIH1cclxuICAgIC8vd2l0aCBpY29uXHJcbiAgICAmLmhhcy1pY29uIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vdmFsaWRhdGlvblxyXG4gICAgJi5yZXF1aXJlZCB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHBsYWNlaG9sZGVyOyBcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc21hbGwudmFsaWRhdGlvbi1pbmZvIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vc3VjY2VzcyBzdGF0ZVxyXG4gICAgICAgICYuaGFzLXN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYmFyOmFmdGVyLCAuYmFyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuc3VjY2VzcyBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzbWFsbC52YWxpZGF0aW9uLWluZm8uc3VjY2VzcyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9lcnJvciBzdGF0ZVxyXG4gICAgICAgICYuaGFzLWVycm9yIHtcclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXI6YWZ0ZXIsIC5iYXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZXJyb3IgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJlZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzbWFsbC52YWxpZGF0aW9uLWluZm8uZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gTmF0aXZlIHNlbGVjdCBib3hcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vYmFzZSBjbGFzc1xyXG4uc2VsZWN0IHtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkcHJpbWFyeSwgMTAlKTtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlbGVjdDpub3QoLmlzLW11bHRpcGxlKTpub3QoLmlzLWxvYWRpbmcpOjphZnRlciB7XHJcbiAgICByaWdodDogMS41MjVlbTtcclxuICAgIHotaW5kZXg6IDQ7XHJcbiAgICBmb250LXNpemU6IC44cmVtO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJG11dGVkLWdyZXk7XHJcbiAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG59XHJcblxyXG4vL3dyYXBwZXIgc3R5bGVzXHJcbi5jb250cm9sLmhhcy1pY29ucy1sZWZ0IC5zZWxlY3Qge1xyXG4gICAgLy9ub3JtYWwgc2l6ZVxyXG4gICAgaSB7XHJcbiAgICAgICAgei1pbmRleDogMiAhaW1wb3J0YW50XHJcbiAgICB9XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xyXG4gICAgfVxyXG4gICAgLy9tZWRpdW0gc2l6ZVxyXG4gICAgJi5pcy1tZWRpdW0gIHtcclxuICAgICAgICBzZWxlY3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vbGFyZ2Ugc2l6ZVxyXG4gICAgJi5pcy1sYXJnZSAge1xyXG4gICAgICAgICsgLmljb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2VsZWN0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzLjNyZW07IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOC4gQXV0b2NvbXBsZXRlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0Jhc2UgY2xhc3NcclxuLmF1dG9jcGwge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLy9jb250YWluZXJcclxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgIHtcclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hdXRvLWNwbC1jb250cm9sIHtcclxuICAgIC5pY29uIHtcclxuICAgICAgICB0b3A6IDNweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbi8vdGVtcGxhdGUtd3JhcHBlclxyXG4udGVtcGxhdGUtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy9hdmF0YXJcclxuICAgIC5hdXRvY3BsLWF2YXRhciB7XHJcbiAgICAgICAgd2lkdGg6IDM2cHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHggIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy90ZXh0XHJcbiAgICAuZW50cnktdGV4dCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG45LiBqUXVlcnkgZGF0ZXBpY2tlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpLnBpY2tlZCxcclxuLmRhdGVwaWNrZXItcGFuZWwgPiB1bCA+IGxpLnBpY2tlZDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBGaWxlIGlucHV0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy93cmFwcGVyc1xyXG4uZmlsZS1pbnB1dC13cmFwcGVyIC5jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vaGlkZSBuYXRpdmUgaW5wdXRcclxuICAgIC5pbnB1dGZpbGUge1xyXG4gICAgICAgIHdpZHRoOiAwLjFweDtcclxuICAgICAgICBoZWlnaHQ6IDAuMXB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcbiAgICAvL0ZpbGUgaW5wdXQgbGFiZWxcclxuICAgIC5pbnB1dGZpbGUgKyBsYWJlbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjA1cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuNDVyZW0gMC44cmVtIDEuMjVyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgcHJlZml4KHRyYW5zaXRpb24sIGFsbCAuNHMpO1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpbXBsZS1maWxlLWlucHV0ICsgbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgIH1cclxuICAgIC5zaW1wbGUtZmlsZS1pbnB1dDpmb2N1cyArIGxhYmVsLFxyXG4gICAgLnNpbXBsZS1maWxlLWlucHV0Lmhhcy1mb2N1cyArIGxhYmVsLFxyXG4gICAgLnNpbXBsZS1maWxlLWlucHV0ICsgbGFiZWw6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGFjY2VudCwgNSUpO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCByZ2JhKDE0MywxNjAsMjQxLDAuMikgMCAwIDAgMXB4LCByZ2JhKDIxMywyMjAsMjQ3LDAuNTkpIDAgMTBweCAyMHB4O1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCByZ2JhKDE0MywxNjAsMjQxLDAuMikgMCAwIDAgMXB4LCByZ2JhKDIxMywyMjAsMjQ3LDAuNTkpIDAgMTBweCAyMHB4O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy9GaWVsZCBzdHlsZSBmaWxlIGlucHV0XHJcbi5maWVsZC1pbnB1dC13cmFwcGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAvL3dyYXBwZXJcclxuICAgIC5maWVsZC1pbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgICAgd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICB9XHJcbiAgICAvL2hpZGUgbmF0aXZlIGlucHV0XHJcbiAgICAuZmllbGQtaW5wdXQgPiBbdHlwZT0nZmlsZSddIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgLy9idXR0b25cclxuICAgIC5maWVsZC1pbnB1dCA+IC5idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG4gICAgLy9sYWJlbFxyXG4gICAgLmZpZWxkLWlucHV0ID4gLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICB9XHJcbiAgICAuZmllbGQtaW5wdXQuLWNob3NlbiA+IC5sYWJlbCB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjExLiBDaGVja2JveGVzIGFuZCByYWRpb3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcblxyXG4vL01hdGVyaWFsIENoZWNrYm94IHdyYXBwZXJcclxuLmxhYmVsLS1jaGVja2JveCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IC41cmVtO1xyXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEzNSUgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC03cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgfVxyXG59XHJcbi8vY2hlY2tib3hcclxuLm1kLWNoZWNrYm94IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTAuMzc1cmVtO1xyXG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDAuOXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcclxuICAgICAgICBib3JkZXI6IDEuNXB4IHNvbGlkICNjY2M7IFxyXG4gICAgfVxyXG4gICAgJjpjaGVja2VkOmJlZm9yZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgaGVpZ2h0OiAuNXJlbTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtMC4xMjVyZW07XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMXJlbTtcclxuICAgICAgICBoZWlnaHQ6IDFyZW07XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vQ2hlY2tlZCBhbmltYXRpb25cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlVXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYuMjVyZW0pO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2LjI1cmVtKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxufVxyXG5ALW1vei1rZXlmcmFtZXMgc2xpZGVVcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNi4yNXJlbSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYuMjVyZW0pO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc2xpZGVVcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNi4yNXJlbSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYuMjVyZW0pO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgfVxyXG59XHJcbi8vbW9iaWxlIGFkanVzdG1lbnRzXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xyXG4gICAgaW5wdXQubWQtY2hlY2tib3g6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL0Jhc2ljIENoZWNrYm94IGFuZCByYWRpb1xyXG4lY29udHJvbGxlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxZW07XHJcblxyXG4gICAgJjo6c2VsZWN0aW9uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIC8vZC1jaGVja2JveCwgYi1yYWRpb1xyXG4gICAgaW5wdXQuZC1jaGVja2JveCArIHNwYW4sIGlucHV0LmItcmFkaW8gKyBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIC41ZW0gMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG11dGVkLWdyZXk7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICB3aWR0aDogMmVtO1xyXG4gICAgICAgIGhlaWdodDogMmVtO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jaGVja2VkIHN0YXRlXHJcbiAgICBpbnB1dC5kLWNoZWNrYm94OmNoZWNrZWQgKyBzcGFuOjphZnRlciwgaW5wdXQuYi1yYWRpbzpjaGVja2VkICsgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgICAvL2hpZGUgbmF0aXZlIGlucHV0XHJcbiAgICBpbnB1dC5kLWNoZWNrYm94LCBpbnB1dC5iLXJhZGlvIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vY2hlY2tib3ggc3R5bGVcclxuLmNoZWNrYm94LXdyYXAge1xyXG4gICAgQGV4dGVuZCAlY29udHJvbGxlcjtcclxuICAgIC8vY2hlY2sgc3ltYm9sXHJcbiAgICBpbnB1dCArIHNwYW4ge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhJVVJQUTFSWlVFVWdjM1puSUZCVlFreEpReUFpTFM4dlZ6TkRMeTlFVkVRZ1UxWkhJREV1TVM4dlJVNGlJQ0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTlIY21Gd2FHbGpjeTlUVmtjdk1TNHhMMFJVUkM5emRtY3hNUzVrZEdRaVBqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaUlIZHBaSFJvUFNJMk5IQjRJaUJvWldsbmFIUTlJalkwY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTkNBMk5DSWdaVzVoWW14bExXSmhZMnRuY205MWJtUTlJbTVsZHlBd0lEQWdOalFnTmpRaUlIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQanhuUGp4d2IyeDVaMjl1SUhCdmFXNTBjejBpTVRNdU56QTNMRE15TGpJNU15QXhNaTR5T1RNc016TXVPRFUwSURJMExqSTVNeXcwTmlBeU5TNDNNRGNzTkRZZ05Ea3VOekEzTERJeExqZzFOQ0EwT0M0eU9UTXNNakF1TXpZMklESTFMRFF6TGpZeU15QWlMejQ4TDJjK1BDOXpkbWMrKSBuby1yZXBlYXQgY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjllbTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxLjllbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NoZWNrIHN5bWJvbCBtZWRpdW1cclxuICAgICYuaXMtbWVkaXVtIGlucHV0ICsgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEuNGVtO1xyXG4gICAgICAgIGhlaWdodDogMS40ZW07XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4SVVSUFExUlpVRVVnYzNabklGQlZRa3hKUXlBaUxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRpSUNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk5SGNtRndhR2xqY3k5VFZrY3ZNUzR4TDBSVVJDOXpkbWN4TVM1a2RHUWlQanh6ZG1jZ2RtVnljMmx2YmowaU1TNHhJaUJwWkQwaVRHRjVaWEpmTVNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlnZUQwaU1IQjRJaUI1UFNJd2NIZ2lJSGRwWkhSb1BTSTJOSEI0SWlCb1pXbG5hSFE5SWpZMGNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBMk5DQTJOQ0lnWlc1aFlteGxMV0poWTJ0bmNtOTFibVE5SW01bGR5QXdJREFnTmpRZ05qUWlJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4blBqeHdiMng1WjI5dUlIQnZhVzUwY3owaU1UTXVOekEzTERNeUxqSTVNeUF4TWk0eU9UTXNNek11T0RVMElESTBMakk1TXl3ME5pQXlOUzQzTURjc05EWWdORGt1TnpBM0xESXhMamcxTkNBME9DNHlPVE1zTWpBdU16WTJJREkxTERRekxqWXlNeUFpTHo0OEwyYytQQzl6ZG1jKykgbm8tcmVwZWF0IGNlbnRlcjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgICB3aWR0aDogMS4zZW07XHJcbiAgICAgICAgICAgIGhlaWdodDogMS4zZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jaGVjayBzeW1ib2wgc21hbGxcclxuICAgICYuaXMtc21hbGwgaW5wdXQgKyBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgICAgIGhlaWdodDogMWVtO1xyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0OElVUlBRMVJaVUVVZ2MzWm5JRkJWUWt4SlF5QWlMUzh2VnpOREx5OUVWRVFnVTFaSElERXVNUzh2UlU0aUlDSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OUhjbUZ3YUdsamN5OVRWa2N2TVM0eEwwUlVSQzl6ZG1jeE1TNWtkR1FpUGp4emRtY2dkbVZ5YzJsdmJqMGlNUzR4SWlCcFpEMGlUR0Y1WlhKZk1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJZ2VEMGlNSEI0SWlCNVBTSXdjSGdpSUhkcFpIUm9QU0kyTkhCNElpQm9aV2xuYUhROUlqWTBjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJOQ0EyTkNJZ1pXNWhZbXhsTFdKaFkydG5jbTkxYm1ROUltNWxkeUF3SURBZ05qUWdOalFpSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeG5Qanh3YjJ4NVoyOXVJSEJ2YVc1MGN6MGlNVE11TnpBM0xETXlMakk1TXlBeE1pNHlPVE1zTXpNdU9EVTBJREkwTGpJNU15dzBOaUF5TlM0M01EY3NORFlnTkRrdU56QTNMREl4TGpnMU5DQTBPQzR5T1RNc01qQXVNelkySURJMUxEUXpMall5TXlBaUx6NDhMMmMrUEM5emRtYyspIG5vLXJlcGVhdCBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgd2lkdGg6IDAuOWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDAuOWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9SYWRpbyBncm91cCBzdHlsZVxyXG4ucmFkaW8td3JhcCB7XHJcbiAgICBAZXh0ZW5kICVjb250cm9sbGVyO1xyXG4gICAgLy9iYXNlXHJcbiAgICBpbnB1dCArIHNwYW4ge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAuNTVlbTtcclxuICAgICAgICAgICAgd2lkdGg6IC43NWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IC43NWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vY2hlY2tlZCBzdGF0ZVxyXG4gICAgaW5wdXQ6Y2hlY2tlZCArIHNwYW46OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgLy9zaXplc1xyXG4gICAgJi5pcy1zbWFsbCBzcGFuIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNikgIWltcG9ydGFudDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjU0ZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLW1lZGl1bSBzcGFuIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgIWltcG9ydGFudDtcclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjU4ZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2NvbG9yc1xyXG4gICAgJi5pcy1wcmltYXJ5IHtcclxuICAgICAgICBpbnB1dDpjaGVja2VkICsgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXNlY29uZGFyeSB7XHJcbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIHNwYW46OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjY2VudCB7XHJcbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIHNwYW46OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMi4gVGFncyBpbnB1dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnRhZ3NpbnB1dCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDO1xyXG4gICAgYmFja2dyb3VuZDogI0ZGRjtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIHdpZHRoOiAzMDBweDtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgLnRhZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogNHB4IDhweDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgLy9mb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXEU1Q0QnO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICByaWdodDogNHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDVweCA1cHggMDtcclxuICAgICAgICBmb250LWZhbWlseTogaGVsdmV0aWNhO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogMCAwO1xyXG4gICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcbiAgICBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0OyBcclxuICAgIH1cclxufVxyXG5cclxuLnRhZ3NfY2xlYXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMDtcclxufVxyXG4ubm90X3ZhbGlkIHtcclxuICAgIGJhY2tncm91bmQ6ICNGQkQ4REIhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICM5MDExMUEhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xMy4gVGltZSBwaWNrZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi53aWNrZWRwaWNrZXJfX2NvbnRyb2xzIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufSIsIi8qISBfdGFibGVzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblRhYmxlIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDb21wYXJlIGRldmljZXMgdGFibGVcclxuMS4gZmVhdHVyZSBjb21wYXJpc29uIHRhYmxlXHJcbjIuIFJlc3BvbnNpdmUgdGFibGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gQ29tcGFyZSBkZXZpY2VzIHRhYmxlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFibGUuZGV2aWNlLXRhYmxlIHtcclxuICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG4gICAgdGggaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogLjc1ZW0gMWVtO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmVhdHVyZS1uYW1lIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICYuaW0taWNvbi1ZZXMge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAmLmltLWljb24tQ2xvc2Uge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgdGgge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBmZWF0dXJlIGNvbXBhcmlzb24gdGFibGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi50YWJsZS5jb21wYXJlLXRhYmxlIHtcclxuICAgIHRoLCB0ZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG4gICAgdGggaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogLjc1ZW0gMWVtO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmVhdHVyZS1uYW1lIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICYuZmEtY2hlY2sge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAmLmZhLWNsb3NlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIHRoIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZGJkYjtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFJlc3BvbnNpdmUgdGFibGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBib3JkZXItcmFkaXVzOiAuMmVtO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4wNik7XHJcbiAgICAvL2NvbG9yZWQgaGVhZGVyc1xyXG4gICAgJi5pcy1wcmltYXJ5IHRyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgICYuaXMtc2Vjb25kYXJ5IHRyOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQgdHI6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICB9XHJcbiAgICB0cjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICB0ciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2JmYmZiZjtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKG9kZCk6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbW9rZS13aGl0ZTtcclxuICAgIH1cclxuICAgIHRoIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLjVlbTtcclxuICAgIH1cclxuICAgIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41ZW07XHJcbiAgICB9XHJcbiAgICB0ZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10aCkgXCI6IFwiO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICMwMDA7XHJcbiAgICB9XHJcbiAgICB0aCwgdGQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogLjVlbSAxZW07XHJcbiAgICB9XHJcbiAgICAvL1Jlc3BvbnNpdmUgYmVoYXZpb3VyXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDFweCkge1xyXG4gICAgICAgIHRyOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcclxuICAgICAgICB0cjpob3Zlcjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LXdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZDpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAuMjVlbSAuNWVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aDpmaXJzdC1jaGlsZCwgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoOmxhc3QtY2hpbGQsIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKiEgX2xpc3RzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkxpc3Qgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFJlc2V0c1xyXG4xLiBCdWxsZXQgaWNvbiBsaXN0XHJcbjIuIFNvbGlkIGxpc3RcclxuMy4gSW5saW5lIGxpc3RcclxuNC4gTGlzdCBibG9ja3NcclxuNS4gTGV2ZWxzXHJcbjYuIFVzZXIgbGlzdFxyXG43LiBNZWRpYSBsaXN0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFJlc2V0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICAgIH1cclxuICAgIG9sIHtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgICB9XHJcbn1cclxudWwsIG9sIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gQnVsbGV0IGljb24gbGlzdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmljb24tYnVsbGV0LWxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjNlbTtcclxuICAgICAgICBwYWRkaW5nOiAzcHggMCAzcHggMS4zZW07XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwY1wiO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjNlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjdyZW07XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjNlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIFNvbGlkIGxpc3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zb2xpZC1saXN0IHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC5zb2xpZC1saXN0LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgLmxpc3QtYnVsbGV0IGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHRvcDogMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBJbmxpbmUgbGlzdFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmlubGluZS1saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGkuaW5saW5lLWJ1bGxldCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjRyZW07XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRmYWRlLWdyZXk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBMaXN0IGJsb2Nrc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmxpc3QtYmxvY2sge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgIGJveC1zaGFkb3c6IC0xcHggM3B4IDEwcHggMCByZ2JhKDAsMCwwLC4wNik7XHJcbiAgICAvL2l0ZW1cclxuICAgIGxpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29hbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9pdGVtIGFjdGl2ZSBzdGF0ZVxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmItYmFkZ2Uge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1hY3RpdmUgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL2JvcmRlcmVkIHN0eWxlXHJcbiAgICAmLmJvcmRlcmVkIHtcclxuICAgICAgICBsaTpub3QobGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL21pbmltYWwgc3R5bGVcclxuICAgICYubWluaW1hbCB7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3dpdGggYmFkZ2UgZmxvYXRpbmdcclxuICAgIC5iLWJhZGdlIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAvL2FsdGVybmF0ZSBjb2xvcnNcclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBsaS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYWNjZW50IHtcclxuICAgICAgICBsaS5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIExldmVsc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmxldmVsLm5hdi1sZXZlbCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgaSB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL2NlbnRlcmVkIGxldmVsXHJcbi5sZXZlbC5jZW50ZXJlZC1sZXZlbCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBVc2VyIGxpc3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi51c2VyLWxpc3Qge1xyXG4gICAgLy9saXN0IGl0ZW1cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIH1cclxuICAgIC8vYXZhdGFyXHJcbiAgICAudXNlci1saXN0LWF2YXRhciBpbWcge1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgIH1cclxuICAgIC8vbWV0YVxyXG4gICAgLnVzZXItbGlzdC1pbmZvIHtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAubmFtZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wb3NpdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vc3RhdHVzZXNcclxuICAgIC51c2VyLWxpc3Qtc3RhdHVzIHtcclxuICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgLy9jb2xvcnNcclxuICAgICAgICAmLmlzLW9mZmxpbmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZmFkZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLW9ubGluZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1idXN5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjcuIE1lZGlhIGxpc3RcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi51c2VyLW1lZGlhLWxpc3Qge1xyXG4gICAgLy9saXN0IGl0ZW1cclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIH1cclxuICAgIC8vYXZhdGFyXHJcbiAgICAubWVkaWEtbGVmdCAuaW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvL3N0YXR1c1xyXG4gICAgICAgIC5hdmF0YXItc3RhdHVzIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgICAgICAvL3N0YXR1cyBjb2xvcnNcclxuICAgICAgICAgICAgJi5pcy1vZmZsaW5lIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRmYWRlLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5pcy1vbmxpbmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtYnVzeSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9jb250ZW50XHJcbiAgICAubWVkaWEtY29udGVudCBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG59IiwiLyohIF9sYWJlbHMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQmFkZ2VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEJhZGdlc1xyXG4xLiBUYWdzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIEJhZGdlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5iLWJhZGdlIHtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1pbi13aWR0aDogMjBweDtcclxuICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogJG11dGVkLWdyZXk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAvL3JvdW5kZWQgc3R5bGVcclxuICAgICYucm91bmRlZCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjAwcHg7XHJcbiAgICB9XHJcbiAgICAvL291dGxpbmVkIHN0eWxlXHJcbiAgICAmLmJhZGdlLW91dGxpbmVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbXV0ZWQtZ3JleTtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL2NvbG9yc1xyXG4gICAgJi5pcy1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAmLmJhZGdlLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgJi5iYWRnZS1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWFjY2VudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAmLmJhZGdlLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZWVuO1xyXG4gICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtd2FybmluZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcclxuICAgICAgICAmLmJhZGdlLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRvcmFuZ2U7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtZGFuZ2VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgICAgICYuYmFkZ2Utb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHJlZDtcclxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1pbmZvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICAmLmJhZGdlLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBUYWdzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGFnIHtcclxuICAgIC8vcGFkZGluZy1ib3R0b206IDJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIC8vc3F1YXJlIHN0eWxlXHJcbiAgICAmLnNxdWFyZWQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9vdXRsaW5lZCBzdHlsZVxyXG4gICAgJi5pcy1vdXRsaW5lZCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbiAgICAvL2NvbG9yc1xyXG4gICAgJi5pcy1wcmltYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmLmlzLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtc3VjY2VzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgJi5pcy1vdXRsaW5lZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW47XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy13YXJuaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1kYW5nZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmLmlzLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtaW5mbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAmLmlzLW91dGxpbmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pcy1saWdodCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICYuaXMtb3V0bGluZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtbWVkaXVtIHtcclxuICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAzcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtbGFyZ2Uge1xyXG4gICAgICAgIC8vcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgc3Bhbi5kZWxldGUge1xyXG4gICAgICAgIHRvcDogMnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL1RhZ3Mgd2l0aCBhZGRvbnNcclxuLnRhZ3MuaGFzLWFkZG9ucyB7XHJcbiAgICBzcGFuOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgc3BhbjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgfVxyXG4gICAgJi5pcy1jZW50ZXJlZCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vdGFnIGdyb3VwIHdyYXBwZXJcclxuLmNvbnRyb2wudGFnLWdyb3VwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLy90YWcgd2l0aCBjbG9zZSBpY29uXHJcbi50YWcuaXMtZGVsZXRlIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDUwJTtcclxuICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2Ryb3Bkb3ducy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5Ecm9wZG93biBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gSG92ZXIgZHJvcGRvd25zXHJcbjEuIGpRdWVyeSBEcm9wZG93bnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gSG92ZXIgZHJvcGRvd25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5pcy1kcm9wIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vY2FyZXRcclxuICAgIGkuc2wtaWNvbi1hcnJvdy1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuZHJvcC1jYXJldCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgfVxyXG4gICAgLy9jb250YWluZXJcclxuICAgIC5kcm9wQ29udGFpbiB7XHJcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAzO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTE2NXB4OyAvKiAzLzQgb2Ygd2lkdGggKi9cclxuICAgICAgICB0b3A6IC01MDB2aDtcclxuICAgICAgICAvL2Ryb3Bkb3duXHJcbiAgICAgICAgLmRyb3BPdXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggMTBweCA0cHggcmdiYSgwLDAsMCwuMDQpO1xyXG4gICAgICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDEwcHggNHB4IHJnYmEoMCwwLDAsLjA0KTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCA0cHggcmdiYSgwLDAsMCwuMDQpO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZS1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vYXJyb3dcclxuICAgICAgICAuZHJvcE91dCAudHJpYW5nbGUge1xyXG4gICAgICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA4cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA4cHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgICAgICB0b3A6IC04cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vbWVudSBpdGVtc1xyXG4gICAgICAgIC5kcm9wT3V0IHVsIGxpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDEwcHggMTVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAzcHggMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICM3Nzc7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLW91dDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9pY29uc1xyXG4gICAgICAgICAgICBpLmRyb3AtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpLmRyb3AtaWNvbi5zbCB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9tZW51IGNvbnRhaW5lclxyXG4gICAgICAgIC5kcm9wT3V0IHVsIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgJi5iaWctaWNvbnMge1xyXG4gICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCAwIDEwcHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpLmltIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9kaXZpZGVyXHJcbiAgICAgICAgICAgIGxpLmRyb3Bkb3duLWRpdmlkZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9NZW51IGl0ZW0gaG92ZXIgY29sb3JzXHJcbiAgICAgICAgLmRyb3BPdXQge1xyXG4gICAgICAgICAgICAmLmlzLXByaW1hcnkgdWwgbGk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtc2Vjb25kYXJ5IHVsIGxpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaXMtYWNjZW50IHVsIGxpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9BY3RpdmUgc3RhdGVcclxuICAgICY6aG92ZXIgLmRyb3BDb250YWluIHtcclxuICAgICAgICB0b3A6IDMwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICY6aG92ZXIgLmRyb3BDb250YWluIC5kcm9wT3V0IHtcclxuXHJcbiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5VcCAwLjI3cyBlYXNlLW91dDtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgJi5kcm9wLXNtOmhvdmVyIC5kcm9wQ29udGFpbiB7XHJcbiAgICAgICAgdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNlbnRlcmVkIC5kcm9wQ29udGFpbiB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMTBweDsgLyogaGFsZiBvZiB3aWR0aCAqL1xyXG4gICAgfVxyXG4gICAgJi5pcy1yaWdodCAuZHJvcENvbnRhaW4ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTVweDsgLyogcXVhcnRlciBvZiB3aWR0aCAqL1xyXG4gICAgfVxyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgaS5zbC1pY29uLWFycm93LWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAycHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBqUXVlcnkgRHJvcGRvd25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uanEtZHJvcGRvd24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICB6LWluZGV4OiAxMDM5O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yN3M7XHJcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xyXG4gICAgLmpxLWRyb3Bkb3duLW1lbnUsIC5qcS1kcm9wZG93bi1wYW5lbCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2RkZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMTBweCA0cHggcmdiYSgwLDAsMCwuMDQpO1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5qcS1kcm9wZG93bi1wYW5lbCB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICAgICYuanEtZHJvcGRvd24tdGlwIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTZweDtcclxuICAgICAgICAgICAgbGVmdDogOXB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHdoaXRlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanEtZHJvcGRvd24tYW5jaG9yLXJpZ2h0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiA5cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanEtZHJvcGRvd24tYW5jaG9yLXJpZ2h0OmFmdGVyIHtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5qcS1kcm9wZG93bi1zY3JvbGwge1xyXG4gICAgICAgIC5qcS1kcm9wZG93bi1tZW51LCAuanEtZHJvcGRvd24tcGFuZWwge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxODBweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5qcS1kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDNweDtcclxuICAgICAgICB0ZXh0LWluZGVudDogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICB9XHJcbiAgICBsaSA+IGEsIGxhYmVsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZGNEY3O1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5qcS1kcm9wZG93bi1kaXZpZGVyIHtcclxuICAgICAgICBmb250LXNpemU6IDFweDtcclxuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2U1ZTVlNTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vQ3VzdG9taXphdGlvbnNcclxuLmpxLWRyb3Bkb3duIHtcclxuICAgIC8vZGVmYXVsdFxyXG4gICAgLmpxLWRyb3Bkb3duLW1lbnUgbGkgPiBhOmhvdmVyLCAuanEtZHJvcGRvd24gLmpxLWRyb3Bkb3duLW1lbnUgbGFiZWw6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgLy9wcmltYXJ5XHJcbiAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgIC5qcS1kcm9wZG93bi1tZW51IGxpID4gYTpob3ZlciwgLmpxLWRyb3Bkb3duIC5qcS1kcm9wZG93bi1tZW51IGxhYmVsOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zZWNvbmRhcnlcclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICAuanEtZHJvcGRvd24tbWVudSBsaSA+IGE6aG92ZXIsIC5qcS1kcm9wZG93biAuanEtZHJvcGRvd24tbWVudSBsYWJlbDpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9hY2NlbnRcclxuICAgICYuaXMtYWNjZW50IHtcclxuICAgICAgICAuanEtZHJvcGRvd24tbWVudSBsaSA+IGE6aG92ZXIsIC5qcS1kcm9wZG93biAuanEtZHJvcGRvd24tbWVudSBsYWJlbDpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyohIF9wcmljaW5nLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblByaWNpbmcgdGFibGVzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDbGFzc2ljIHByaWNpbmdcclxuMS4gTWluaW1hbCBwcmljaW5nXHJcbjIuIENsZWFuIHByaWNpbmdcclxuMy4gRmFuY3kgcHJpY2luZ1xyXG40LiBDb2xvcmVkIGhlYWRlcnMgcHJpY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDbGFzc2ljIHByaWNpbmdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jbGFzc2ljLXByaWNpbmcge1xyXG4gICAgLy90YWJsZVxyXG4gICAgLnByaWNpbmctdGFibGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAvL2NvbXBhcmF0aXZlIGxheW91dFxyXG4gICAgICAgICYuaXMtY29tcGFyYXRpdmUge1xyXG4gICAgICAgICAgICAucHJpY2luZy1wbGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL2hvcml6b250YWwgbGF5b3V0XHJcbiAgICAgICAgJi5pcy1ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgLnByaWNpbmctcGxhbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5wbGFuLWl0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc21va2Utd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uczogMjtcclxuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbnM6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgLW1vei1jb2x1bW5zOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDAuMXJlbTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL3ByaWNpbmcgcGxhblxyXG4gICAgICAgIC5wcmljaW5nLXBsYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMC4xcmVtIHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cztcclxuICAgICAgICAgICAgbWFyZ2luOiAwLjVlbTtcclxuICAgICAgICAgICAgLy9oZWFkZXJcclxuICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW07XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9pdGVtXHJcbiAgICAgICAgICAgIC5wbGFuLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNtb2tlLXdoaXRlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjc1ZW07XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL3ByaWNlXHJcbiAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbTtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vbnVtYmVyXHJcbiAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vY3VycmVuY3kgc3ltYm9sXHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2Zvb3RlclxyXG4gICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVlbTtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9QcmltYXJ5IHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtcHJpbWFyeSB7XHJcbiAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1ob3ZlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcHJpbWFyeSwgMi41JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1mb2N1c2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMC41ZW0gcmdiYSgkcHJpbWFyeSwgMC4yNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwcmltYXJ5LCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vU2Vjb25kYXJ5IHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICAgICAgICAgIC5wbGFuLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtYW1vdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtaG92ZXJlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgMi41JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1mb2N1c2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMC41ZW0gcmdiYSgkc2Vjb25kYXJ5LCAwLjI1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNlY29uZGFyeSwgNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQWNjZW50IHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtYWNjZW50IHtcclxuICAgICAgICAgICAgICAgIC5wbGFuLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtYW1vdW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tZm9vdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtaG92ZXJlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGFjY2VudCwgMi41JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1mb2N1c2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMC41ZW0gcmdiYSgkYWNjZW50LCAwLjI1KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGFjY2VudCwgNSUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vU3VjY2VzcyBzdHlsZVxyXG4gICAgICAgICAgICAmLmlzLXN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnBsYW4tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWFtb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWhvdmVyZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRncmVlbiwgMi41JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1mb2N1c2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMC41ZW0gcmdiYSgkZ3JlZW4sIDAuMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZ3JlZW4sIDUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vV2FybmluZyBzdHlsZVxyXG4gICAgICAgICAgICAmLmlzLXdhcm5pbmcge1xyXG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1ob3ZlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkb3JhbmdlLCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRvcmFuZ2UsIDAuMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkb3JhbmdlLCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9EYW5nZXIgc3R5bGVcclxuICAgICAgICAgICAgJi5pcy1kYW5nZXIge1xyXG4gICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4tcHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAucGxhbi1mb290ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1ob3ZlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCAyLjUlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmlzLWZvY3VzZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwLjVlbSByZ2JhKCRyZWQsIDAuMjUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9JbmZvIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZS1hbW91bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLXByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1ob3ZlcmVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmx1ZSwgMi41JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1mb2N1c2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMC41ZW0gcmdiYSgkYmx1ZSwgMC4yNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRibHVlLCA1JSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vQWN0aXZlIHN0YXRlIChGZWF0dXJlZCBzdGF0ZSlcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgcmdiYSgxNDMsMTYwLDI0MSwwLjIpIDAgMCAwIDFweCwgcmdiYSgyMTMsMjIwLDI0NywwLjU5KSAwIDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL1RhYmxldCBzZXRpbmdzXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC13aWR0aCA6IDEwMjRweCkge1xyXG4gICAgICAgIC5wcmljaW5nLXRhYmxlIHtcclxuICAgICAgICAgICAgLy9jb21wYXJhdGl2ZSBzdHlsZVxyXG4gICAgICAgICAgICAmLmlzLWNvbXBhcmF0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICYuaXMtZmVhdHVyZXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLnBsYW4taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogYXR0cihcImRhdGEtZmVhdHVyZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9ob3Jpem9udGFsIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgICAgICAgICAucHJpY2luZy1wbGFuIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLWl0ZW1zIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbW9rZS13aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uczogMjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW5zOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAtbW96LWNvbHVtbnM6IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IDAuMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5wbGFuLWZvb3RlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9Nb2JpbGUgc2V0aW5nc1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgLnByaWNpbmctdGFibGUge1xyXG4gICAgICAgICAgICAvL2NvbXBhcmF0aXZlIHN0eWxlXHJcbiAgICAgICAgICAgICYuaXMtY29tcGFyYXRpdmUge1xyXG4gICAgICAgICAgICAgICAgLnByaWNpbmctcGxhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWZlYXR1cmVzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAucGxhbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWF0dXJlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vaG9yaXpvbnRhbCBzdHlsZVxyXG4gICAgICAgICAgICAmLmlzLWhvcml6b250YWwge1xyXG4gICAgICAgICAgICAgICAgLnBsYW4taXRlbXMge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNpbmctcGxhbi5pcy1tb2JpbGUge1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIE1pbmltYWwgcHJpY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm1pbmltYWwtcHJpY2luZyB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZS1ncmV5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgLy93aWRlIGJveCBzdHlsZVxyXG4gICAgJi53aWRlLWJveCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAwO1xyXG4gICAgfVxyXG4gICAgLy9mZWF0dXJlZCBzdGF0ZVxyXG4gICAgJi5mZWF0dXJlZCB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlIC5wcmljZS1udW1iZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZSAucHJpY2UtY3VycmVuY3kge1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zZWNvbmRhcnkgYWNrZ3JvdW5kXHJcbiAgICAmLmJnLXNlY29uZGFyeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2Uge1xyXG4gICAgICAgICAgICAucHJpY2UtbnVtYmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLXBlcmlvZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuXHJcbiAgICAgICAgLnBsYW4tZmVhdHVyZXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vcGxhbiBkZWZpbml0aW9uXHJcbiAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgLy9wbGFuIHByaWNlXHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgLnByaWNlLWN1cnJlbmN5IHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1udW1iZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtcGVyaW9kIHtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9wbGFuIGZlYXR1cmVzXHJcbiAgICAucGxhbi1mZWF0dXJlcyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB1bCBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy93aWRlIGJveCBiYWNrZ3JvdW5kXHJcbi5taW5pbWFsLXByaWNpbmcud2lkZS1ib3gge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHBzOi8vdmlhLnBsYWNlaG9sZGVyLmNvbS8xMjgweDcyMCk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIENsZWFuIHByaWNpbmdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQ2xlYW4gcHJpY2luZyBiaWxsaW5nIHN3aXRjaFxyXG4ucGxhbi1jb250cm9scyB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIC8vQWN0aXZlIHN0YXRlXHJcbiAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vUGVyaW9kIHNlbGVjdFxyXG4ucGVyaW9kLXNlbGVjdCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBtYXgtd2lkdGg6IDI0NXB4O1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy9DbGVhbiBwcmljaW5nIHRhYmxlc1xyXG4uc2lkZS1wcmljaW5nIHtcclxuICAgIC8vY2FyZFxyXG4gICAgLnByaWNpbmctY2FyZCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjg3KTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgIC8vcG9wdWxhciBwbGFuIHN5bWJvbFxyXG4gICAgICAgIC5wb3B1bGFyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL2lubmVyIHNlY3Rpb25cclxuICAgICAgICAuaW5uZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAvL25hbWVcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9wcmljZVxyXG4gICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMuOGVtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTVlbTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHNtYWxsLmN1cnJlbmN5IHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC05MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNtYWxsOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vZmVhdHVyZXNcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUzLCAxNTMsIDE1MywgMC4zKTtcclxuICAgICAgICAgICAgICAgICAgICBiIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzQzQ4NTg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy90cmFuc3BhcmVudCB0YWJsZSBzdHlsZVxyXG4gICAgICAgICYudHJhbnNwYXJlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vc2hhZG93IG9uIGhvdmVyXHJcbiAgICAgICAgJi5jYXJkLXJhaXNlZDpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLDE2MCwyNDEsMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLDIyMCwyNDcsMC41OSkgMCAxMHB4IDIwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBGYW5jeSBwcmljaW5nXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZmFuY3ktcHJpY2luZyB7XHJcbiAgICAvL3ByaWNpbmcgY2FyZFxyXG4gICAgLmZhbmN5LXByaWNpbmctY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweCAxNXB4IDAgMTVweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcclxuICAgICAgICAgICAgLnBsYW4taWNvbiBpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLDE2MCwyNDEsMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLDIyMCwyNDcsMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy9wbGFuIG5hbWVcclxuICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9pY29uXHJcbiAgICAgICAgLnBsYW4taWNvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZhZGUtZ3JleTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vcHJpY2VcclxuICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgICAgc21hbGw6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNtYWxsOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvL2ZlYXR1cmVzXHJcbiAgICAgICAgLnBsYW4tZmVhdHVyZXMge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIC8vaXRlbVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggNDBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvL3NtYWxsIG51bWJlclxyXG4gICAgICAgICAgICAgICAgLmZlYXR1cmUtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICYudW5saW1pdGVkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vdGV4dFxyXG4gICAgICAgICAgICAgICAgLmZlYXR1cmUtY291bnQtdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vc3RyZWNoZWQgcGxhbiBzdHlsZVxyXG4gICAgICAgICYuc3RyZWNoZWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XHJcbiAgICAgICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGxhbi1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgc21hbGw6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFyZ2UtY291bnQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY29sb3JzXHJcbiAgICAgICAgJi5wcmltYXJ5IHtcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBsYW4taWNvbiBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGxhbi1mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgICAgICBsaSAubGFyZ2UtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBsYW4taWNvbiBpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wbGFuLWZlYXR1cmVzIHtcclxuICAgICAgICAgICAgICAgIGxpIC5sYXJnZS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY2NlbnQge1xyXG4gICAgICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wbGFuLWljb24gaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGxhbi1mZWF0dXJlcyB7XHJcbiAgICAgICAgICAgICAgICBsaSAubGFyZ2UtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBDb2xvcmVkIGhlYWRlcnMgcHJpY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmhlYWRlci1wcmljaW5nIHtcclxuICAgIC8vcHJpY2luZyBjYXJkXHJcbiAgICAuaGVhZGVyLXByaWNpbmctY2FyZCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHggMTVweCAwIDE1cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICAgICAgLy9wbGFuIG5hbWVcclxuICAgICAgICAucGxhbi1uYW1lIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2NhcmQtYm9keVxyXG4gICAgICAgIC5wcmljaW5nLWNhcmQtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRmYWRlLWdyZXk7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAvL3ByaWNlXHJcbiAgICAgICAgICAgIC5wbGFuLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgICAgICAgIHNtYWxsOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNtYWxsOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vZmVhdHVyZXNcclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUzLCAxNTMsIDE1MywgMC4zKTtcclxuICAgICAgICAgICAgICAgICAgICBiIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMzQzQ4NTg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vY29sb3JzXHJcbiAgICAgICAgJi5wcmltYXJ5IHtcclxuICAgICAgICAgICAgLnBsYW4tbmFtZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNlY29uZGFyeSB7XHJcbiAgICAgICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY2VudCB7XHJcbiAgICAgICAgICAgIC5wbGFuLW5hbWUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qISBfbWVzc2FnZXMuc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuTWVzc2FnZXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIE1lc3NhZ2VzXHJcbjEuIEdHcG9wb3ZlcnNcclxuMi4gR0d0b29sdGlwc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBNZXNzYWdlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4ubWVzc2FnZSB7XHJcbiAgICAvL2hlYWRlclxyXG4gICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkbXV0ZWQtZ3JleTtcclxuICAgIH1cclxuICAgIC8vcHJpbWFyeSBzdHlsZVxyXG4gICAgJi5tc2ctcHJpbWFyeSB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlLWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zZWNvbmRhcnkgc3R5bGVcclxuICAgICYubXNnLXNlY29uZGFyeSB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9hY2NlbnQgc3R5bGVcclxuICAgICYubXNnLWFjY2VudCB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGFjY2VudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhY2NlbnQ7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaW5mbyBzdHlsZVxyXG4gICAgJi5tc2ctaW5mbyB7XHJcbiAgICAgICAgLm1lc3NhZ2UtaGVhZGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlLWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3N1Y2Nlc3Mgc3R5bGVcclxuICAgICYubXNnLXN1Y2Nlc3Mge1xyXG4gICAgICAgIC5tZXNzYWdlLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2UtYm9keSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL3dhcm5pbmcgc3R5bGVcclxuICAgICYubXNnLXdhcm5pbmcge1xyXG4gICAgICAgIC5tZXNzYWdlLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlLWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vZGFuZ2VyIHN0eWxlXHJcbiAgICAmLm1zZy1kYW5nZXIge1xyXG4gICAgICAgIC5tZXNzYWdlLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZXNzYWdlLWJvZHkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaWNvbiBtZXNzYWdlc1xyXG4gICAgJi5pY29uLW1zZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vYm9keVxyXG4gICAgICAgIC5tZXNzYWdlLWJvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gM2VtIDFlbSAxLjVlbTtcclxuICAgICAgICAgICAgaDQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vaWNvblxyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogLTM1cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJG11dGVkLWdyZXk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy9jb2xvciBzdHlsZXNcclxuICAgICAgICAmLnByaW1hcnktbXNnIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZWNvbmRhcnktbXNnIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY2VudC1tc2cgaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5mby1tc2cgaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN1Y2Nlc3MtbXNnIGkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZy1tc2cgaSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGFuZ2VyLW1zZyBpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEdHcG9wb3ZlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5nZ3BvcG92ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDEwNjA7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWF4LXdpZHRoOiAyNzZweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZGVkZWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IHJnYmEoMTQzLCAxNjAsIDI0MSwgMC4yKSAwIDAgMCAxcHgsIHJnYmEoMjEzLCAyMjAsIDI0NywgMC41OSkgMCAxMHB4IDIwcHg7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCByZ2JhKDE0MywgMTYwLCAyNDEsIDAuMikgMCAwIDAgMXB4LCByZ2JhKDIxMywgMjIwLCAyNDcsIDAuNTkpIDAgMTBweCAyMHB4O1xyXG4gICAgJi5mYWRlIHtcclxuICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XHJcbiAgICAgICAgJi5pbiB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICAgICAgICA+IC5hcnJvdyB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTExcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmFycm93ID4gLmFmdGVyIHtcclxuICAgICAgICAgICAgYm90dG9tOiAxcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IFxyXG4gICAgICAgID4gLmFycm93IHtcclxuICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xMXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmFycm93ID4gLmFmdGVyIHtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcclxuICAgICAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAuYXJyb3cgLmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiKDI0NywgMjQ3LCAyNDcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IC5hcnJvdyB7XHJcbiAgICAgICAgICAgIHRvcDogLTExcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTk5O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yNSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gLmFycm93ID4gLmFmdGVyIHtcclxuICAgICAgICAgICAgdG9wOiAxcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuICAgICAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sZWZ0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbiAgICAgICAgPiAuYXJyb3cge1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgcmlnaHQ6IC0xMXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzk5OTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiAuYXJyb3cgPiAuYWZ0ZXIge1xyXG4gICAgICAgICAgICByaWdodDogMXB4O1xyXG4gICAgICAgICAgICBib3R0b206IC0xMHB4O1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucG9wb3Zlci10aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2VkZWRlZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxuICAgICAgICBjb2xvcjogIzQ0NEY2MDtcclxuICAgIH1cclxuICAgIC5wb3BvdmVyLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDlweCAxNHB4IDE1cHggMTRweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcclxuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgICAgICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgPiAuYXJyb3csIC5hcnJvdyA+IC5hZnRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgICA+IC5hcnJvdyB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMXB4O1xyXG4gICAgfVxyXG4gICAgLmFycm93ID4gLmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gR0d0b29sdGlwc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmdndG9vbHRpcCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxMDMwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICYuZmFkZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcclxuICAgICAgICAmLmluIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmluIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcclxuICAgIH1cclxuICAgICYudG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtMTVweDtcclxuICAgICAgICAuZ2d0b29sdGlwLWFycm93LCAuZ2d0b29sdGlwLWFycm93LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2d0b29sdGlwLWFycm93LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnJpZ2h0IHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAuZ2d0b29sdGlwLWFycm93LCAuZ2d0b29sdGlwLWFycm93LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzIyMiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweCA1cHggNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAuZ2d0b29sdGlwLWFycm93LCAuZ2d0b29sdGlwLWFycm93LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZ2d0b29sdGlwLWFycm93LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmxlZnQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcclxuICAgICAgICAuZ2d0b29sdGlwLWFycm93LCAuZ2d0b29sdGlwLWFycm93LXNoYWRvdyB7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICByaWdodDogMXB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogIzIyMiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmdndG9vbHRpcC1pbm5lciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMiAhaW1wb3J0YW50O1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNClcclxuICAgIH1cclxuICAgIC5nZ3Rvb2x0aXAtYXJyb3csIC5nZ3Rvb2x0aXAtYXJyb3ctc2hhZG93IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgfVxyXG59XHJcbiIsIi8qISBfY2hlY2tib3hlcy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5DaGVja2JveCBleHRlbnNpb24gXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIENoYXJzZXRcclxuMS4gQ29sb3JlZCBjaGVja2JveGVzIHN0eWxlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDaGFyc2V0XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIENvbG9yZWQgY2hlY2tib3hlcyBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLmItY2hlY2tib3gge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAvL2xhYmVsXHJcbiAgICBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDFweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGJkYmRiO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjFzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIGxlZnQ6IDNweDtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgY29sb3I6ICMzNjM2MzY7XHJcbiAgICB9XHJcbiAgICAvL2hpZGUgbmF0aXZlIGlucHV0XHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICAvL2NoZWNrZWQgc3RhdGVcclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcclxuICAgIH1cclxuICAgIC8vZGlzYWJsZWQgc3RhdGVcclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCxcclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWwge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuNjU7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGVzbW9rZTtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgfVxyXG4gICAgLy9jaXJjdWxhciBzdHlsZVxyXG4gICAgJi5pcy1jaXJjdWxhciBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB9XHJcbiAgICAvL2lubGluZSBzdHlsZVxyXG4gICAgJi5pcy1pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pbmxpbmUgKyAuaXMtaW5saW5lIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxuICAgIC8vY29sb3JzXHJcbiAgICAmLmlzLXByaW1hcnkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtcHJpbWFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5pcy1zZWNvbmRhcnkgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXNlY29uZGFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5pcy1hY2NlbnQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWFjY2VudCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWRhbmdlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtZGFuZ2VyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtaW5mbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1pbmZvIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtd2FybmluZyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtd2FybmluZyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXN1Y2Nlc3MgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1zdWNjZXNzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG4gICAgJi5pcy1kYXJrIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvYWw7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29hbDtcclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWRhcmsgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLnN0eWxlZDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gLnN0eWxlZDpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIC5zdHlsZWQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qISBfZXh0ZW5zaW9ucy13YWxsb3Auc2NzcyB8IEJ1bGtpdCB8IENTUyBOaW5qYSAqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuV2FsbG9wIHNsaWRlciBzdHlsZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gV2FsbG9wIFNjYWxlXHJcbjEuIFdhbGxvcCBmYWRlXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFdhbGxvcCBTY2FsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIHdhbGxvcC0tc2NhbGUuY3NzXHJcbiAqXHJcbiAqIEBmaWxlb3ZlcnZpZXcgU2NhbGUgYW5pbWF0aW9uIGZvciB3YWxsb3BcclxuICpcclxuICogQGF1dGhvciBQZWRybyBEdWFydGVcclxuICogQGF1dGhvciBodHRwOi8vcGVkcm9kdWFydGUubWUvd2FsbG9wXHJcbiAqL1xyXG5cclxuLldhbGxvcC0tc2NhbGUgLldhbGxvcC1pdGVtLS1oaWRlUHJldmlvdXMsXHJcbi5XYWxsb3AtLXNjYWxlIC5XYWxsb3AtaXRlbS0taGlkZU5leHQge1xyXG4gIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlT3V0IDM1MG1zIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpIGJvdGg7XHJcbiAgLW1vei1hbmltYXRpb246IHNjYWxlT3V0IDM1MG1zIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpIGJvdGg7XHJcbiAgLW1zLWFuaW1hdGlvbjogc2NhbGVPdXQgMzUwbXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSkgYm90aDtcclxuICBhbmltYXRpb246IHNjYWxlT3V0IDM1MG1zIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpIGJvdGg7XHJcbn1cclxuXHJcbi8qXHJcbiAgSW4gb3JkZXIgdG8gc2NhbGUgb3V0IHByb3Blcmx5IHdlIG5lZWQgdG8gbWFrZSBzdXJlXHJcbiAgdGhhdCB0aGUgaXRlbSB0aGF0IGlzIGdvaW5nIHRvIGJlIHRoZSBwcmV2aW91cyBvbmVcclxuICBoYXMgYSBoaWdlciB6LWluZGV4IHRoYXQgdGhlIG5leHQgb25lXHJcbiAqL1xyXG4gLldhbGxvcC0tc2NhbGUgLldhbGxvcC1pdGVtLS1oaWRlUHJldmlvdXMsXHJcbiAuV2FsbG9wLS1zY2FsZSAuV2FsbG9wLWl0ZW0tLWhpZGVOZXh0IHsgei1pbmRleDogMjsgfVxyXG4gLldhbGxvcC0tc2NhbGUgLldhbGxvcC1pdGVtLS1zaG93UHJldmlvdXMsXHJcbiAuV2FsbG9wLS1zY2FsZSAuV2FsbG9wLWl0ZW0tLXNob3dOZXh0IHsgei1pbmRleDogMTsgfVxyXG5cclxuLyo9PT09PT09PT09ICBTQ0FMRSBBTklNQVRJT05TICA9PT09PT09PT09Ki9cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlT3V0IHtcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNik7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS42KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS42KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS42KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5ALW1zLWtleWZyYW1lcyBzY2FsZU91dCB7XHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS42KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS42KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS42KTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNjYWxlT3V0IHtcclxuICAxMDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNik7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjYpO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gV2FsbG9wIEZhZGVcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbiAuV2FsbG9wLS1mYWRlIC5XYWxsb3AtaXRlbS0taGlkZVByZXZpb3VzLFxyXG4gLldhbGxvcC0tZmFkZSAuV2FsbG9wLWl0ZW0tLWhpZGVOZXh0IHtcclxuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlT3V0IDQ1MG1zIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KSBib3RoO1xyXG4gIC1tb3otYW5pbWF0aW9uOiBmYWRlT3V0IDQ1MG1zIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KSBib3RoO1xyXG4gIC1tcy1hbmltYXRpb246IGZhZGVPdXQgNDUwbXMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpIGJvdGg7XHJcbiAgYW5pbWF0aW9uOiBmYWRlT3V0IDQ1MG1zIGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KSBib3RoO1xyXG59XHJcblxyXG4vKlxyXG4gIEluIG9yZGVyIHRvIGZhZGUgb3V0IHByb3Blcmx5IHdlIG5lZWQgdG8gbWFrZSBzdXJlXHJcbiAgdGhhdCB0aGUgaXRlbSB0aGF0IGlzIGdvaW5nIHRvIGJlIHRoZSBwcmV2aW91cyBvbmVcclxuICBoYXMgYSBoaWdlciB6LWluZGV4IHRoYXQgdGhlIG5leHQgb25lXHJcbiAqL1xyXG4uV2FsbG9wLS1mYWRlIC5XYWxsb3AtaXRlbS0taGlkZVByZXZpb3VzLFxyXG4uV2FsbG9wLS1mYWRlIC5XYWxsb3AtaXRlbS0taGlkZU5leHQgeyB6LWluZGV4OiAyOyB9XHJcbi5XYWxsb3AtLWZhZGUgLldhbGxvcC1pdGVtLS1zaG93UHJldmlvdXMsXHJcbi5XYWxsb3AtLWZhZGUgLldhbGxvcC1pdGVtLS1zaG93TmV4dCB7IHotaW5kZXg6IDE7IH1cclxuXHJcbiAvKj09PT09PT09PT0gIEZBREUgQU5JTUFUSU9OUyAgPT09PT09PT09PSovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcbkAtbW96LWtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcbkAtbXMta2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwiLyohIF9kZXRhaWxzLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbk1pc2NlbGxhbmVvdXMgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZpZGVvIGVtYmVkXHJcbjEuIEltYWdlIGhvdmVyIGVmZmVjdHMgc2V0dXBcclxuMi4gSG92ZXIgZWZmZWN0cyBhbmQgdGVhbSBob3ZlciBlZmZlY3RzXHJcbjMuIE1hdGVyaWFsIGRlc2lnbiBib3ggc2hhZG93IGhlbHBlcnNcclxuNC4gRGFzaGJvYXJkIGxvZ2luIHN0eWxlIHN3aXRjaGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIFZpZGVvIGVtYmVkXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zaWRlLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICAuYmFja2dyb3VuZC13cmFwcGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgIC52aWRlby13cmFwcGVyIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC52aWRlby1vdmVybGF5IHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIC8qaGVpZ2h0OiAxMDAlOyovXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgICAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucGxheWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC02M3B4O1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgLmljb24tcGxheSBpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEltYWdlIGhvdmVyIGVmZmVjdHMgc2V0dXBcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vQmFzZSBzZXR1cFxyXG4uaW1hZ2UtZ3JpZCB7XHJcbiAgICAuaW1hZ2UtdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgfVxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyBcclxuICAgICAgICBib3gtc2hhZG93OiAgMHB4IDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAyMDAlO1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB3b3JkLXNwYWNpbmc6IC0wLjE1ZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjguNSU7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3NSUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIEhvdmVyIGVmZmVjdHMgYW5kIHRlYW0gaG92ZXIgZWZmZWN0c1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5maWd1cmUge1xyXG4gICAgLy8gUm91bmRlZCBjYXB0aW9uIG9uIGhvdmVyXHJcbiAgICAmLnJvdW5kLWNvcm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMDAwIDAlLCNmZmYgMTAwJSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzAwMCAwJSwjZmZmIDEwMCUpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAtMTBweCAwIDAgLTEwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlICsgMTBweCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxMHB4KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LDEwcHgsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwxMHB4LDApO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IC0xMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgOTAwcHggcmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC41LDAuNSwxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjUsMC41LDEpO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMS41ZW0gMDtcclxuICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsMjBweCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LDIwcHgsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmaWdjYXB0aW9uOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsMSwxKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaDIsIHAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsNXB4LDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCw1cHgsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29ybmVyIGNhcHRpb24gb24gaG92ZXJcclxuICAgICYuY29ybmVyZWQge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IC13ZWJraXQtY2FsYygxMDAlICsgNjBweCk7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwcHgsMCwwKSBzY2FsZSgxLjEyKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzBweCwwLDApIHNjYWxlKDEuMTIpO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMWVtIDEuMmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCkgc2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzLCB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDBweCwwLDApO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00MHB4LDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9UZWFtIHNlY3Rpb24gaG92ZXIgZWZmZWN0XHJcbiAgICAmLnRlYW0taG92ZXIge1xyXG4gICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMuNzVlbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgY29sb3I6ICMzYzRhNTA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDEwMCUsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgcC5pY29uLWxpbmtzIGEge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6ICMzYzRhNTA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgICAgICY6aG92ZXIgc3Bhbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xyXG4gICAgICAgICAgICBib3R0b206IDY1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbTtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDkwJTtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IFxyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyLCBwLmljb24tbGlua3MgYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IFxyXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgXHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7IFxyXG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgXHJcbiAgICAgICAgICAgIG9wYWNpdHk6IGluaGVyaXQ7IFxyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwMCUsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMDAlLDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwLmljb24tbGlua3MgYSBzcGFuOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1ncmV5O1xyXG4gICAgICAgICAgICBzcGVhazogbm9uZTtcclxuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pY29uLXR3aXR0ZXI6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwOTknO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24tbGlua2VkaW46OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZTEnO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24tZHJpYmJibGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxN2QnO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOmhvdmVyLCAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICMyNTJkMzE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgZmlnY2FwdGlvbiwgJjpob3ZlciBoMiwgJjpob3ZlciBwLmljb24tbGlua3MgYSB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIGgyIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcC5pY29uLWxpbmtzIGE6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAuaWNvbi1saW5rcyBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vVGVhbSBzZWN0aW9uIHNsYW50ZWQgaG92ZXIgZWZmZWN0XHJcbiAgICAmLnRlYW0tc2xhbnRlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzE2MjYzMztcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cztcclxuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDk1JTtcclxuICAgICAgICAgICAgbGVmdDogMTAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCkgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNDVzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjQ1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjQ1cywgdHJhbnNmb3JtIDAuNDVzO1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwwLDEsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwwLDEsMCk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tZW1iZXItcG9zaXRpb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxuICAgICAgICB9XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDIwcHgsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwyMHB4LDApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNWVtIDclIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICM1ZDUwNGY7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTcwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB3aWR0aDogYXV0bzsgXHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bzsgXHJcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyBcclxuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIGEgaSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cztcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsNTBweCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDUwcHgsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgaW1nIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIGgyIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgZmlnY2FwdGlvbjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICAgICAgICAvLy13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLDYwZGVnLDEsMCk7XHJcbiAgICAgICAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUzZCgwLDYwZGVnLDEsMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcCBpIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcCBhOm50aC1jaGlsZCgzKSBpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4wNXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgcCBhOm50aC1jaGlsZCgyKSBpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHAgYTpmaXJzdC1jaGlsZCBpIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIC5tZW1iZXItcG9zaXRpb24ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTWF0ZXJpYWwgZGVzaWduIGJveCBzaGFkb3cgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4uc2hhZG93LXotMSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMzcpO1xyXG59XHJcblxyXG4uc2hhZG93LXotMiB7XHJcbiAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuXHJcbi5zaGFkb3ctei0zIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMTNweCAyNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDdweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTkpO1xyXG59XHJcblxyXG4uc2hhZG93LXotNCB7XHJcbiAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKSwgMCAxNHB4IDEycHggMCByZ2JhKDAsIDAsIDAsIDAuMTcpO1xyXG59XHJcblxyXG4uc2hhZG93LXotNSB7XHJcbiAgICBib3gtc2hhZG93OiAwIDI3cHggNTVweCAwIHJnYmEoMCwgMCwgMCwgMC4zKSwgMCAxN3B4IDE3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gRGFzaGJvYXJkIGxvZ2luIHN0eWxlIHN3aXRjaGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5zd2l0Y2hlciB7XHJcbiAgICAuc3dpdGNoZXItYmxvY2sge1xyXG4gICAgICAgIHdpZHRoOiA0OHB4O1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbXV0ZWQtZ3JleTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAyMHB4O1xyXG4gICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAmLmlzLXByaW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1zZWNvbmRhcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjY2VudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIC5idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6MTVweDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAxM3B4O1xyXG4gICAgICAgICAgICBsZWZ0OiAzNSU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyohIF9hdXRoLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbkxvZ2luIGFuZCBTaWduIHVwIHNoYXJlZCBzdHlsZXMgXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIExvZ28gc2VjdGlvblxyXG4xLiBMYXlvdXRcclxuMi4gSGVybyBzZWN0aW9uc1xyXG4zLiBMaW5rc1xyXG40LiBNaXNjZWxsYW5lb3VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbioqKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIExvZ28gc2VjdGlvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4udG9wLWxvZ28ge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG59XHJcblxyXG4vL1RvcCB0ZXh0IGJlbG93IGxvZ29cclxuLmludHJvLXNlY3Rpb24ge1xyXG4gICAgLy9wYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgLmludHJvLXRleHQge1xyXG4gICAgICAgIC5pbnRyby10aXRsZSAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbnRyby1zdWIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIExheW91dFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9sb2dpbiBjb250cm9sIHNwYWNpbmdcclxuLmxvZ2luIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG5cclxuLy9TdXBwcmVzc2luZyBwYWRkaW5nXHJcbi5jb2x1bW4ubG9naW4tY29sdW1uIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy9XcmFwcGVyXHJcbi5sb2dpbi13cmFwcGVyIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAmLmlzLWdhcGxlc3M6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vL0xvZ2luIGhlcm9cclxuLmhlcm8ubG9naW4taGVybywgLmhlcm8uc2lnbnVwLWhlcm8ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOmF1dG87XHJcbn1cclxuXHJcbi8vU2lnbnVwIGhlcm9cclxuI3NpZ251cC1iYW5uZXIgLmhlcm8ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCdodHRwczovL3NvdXJjZS51bnNwbGFzaC5jb20vRFd1aTlEbWZDWEEvJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBIZXJvIHNlY3Rpb25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0hlcm8gdGl0bGVcclxuLmhlcm8tYmFubmVyIHtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjUlO1xyXG4gICAgfVxyXG4gICAgLnN1YnRpdGxlIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICB9XHJcbiAgICBpbWcubG9naW4tY2l0eSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxufVxyXG5cclxuLy9IZXJvIHRpdGxlXHJcbi5zaWdudXAtaGVybyB7XHJcbiAgICAudGl0bGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1JTtcclxuICAgIH1cclxuICAgIC5zdWJ0aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMiU7XHJcbiAgICB9XHJcbiAgICBpbWcubW9ja3VwIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAtMTUlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMDtcclxuICAgIH1cclxuICAgIC5hbHJlYWR5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gTGlua3NcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vU2lkZSBsaW5rcyAoZm9yZ290IHBhc3N3b3JkLCBkb24ndCBoYXZlIGFuIGFjY291bnQgZXRjLi4uKVxyXG4uZm9yZ290LCAubm8tYWNjb3VudCwgLnJldHVybiB7XHJcbiAgICBjb2xvcjogJHRpdGxlLWdyZXkgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxuICAgIH0gICBcclxuICAgICYuaXMtc2Vjb25kYXJ5IHtcclxuICAgICAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgJi5pcy1hY2NlbnQge1xyXG4gICAgICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vRm9yZ290IHBhc3N3b3JkXHJcbi5mb3Jnb3QtcGFzc3dvcmQgYSB7XHJcbiAgICBjb2xvcjogIzk1QTVBNjtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vTm8gYWNjb3VudFxyXG4ubm8tYWNjb3VudC1saW5rICB7XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJHRpdGxlLWdyZXk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBNaXNjZWxsYW5lb3VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL0ljb24gcG9zaXRpb25uaW5nXHJcbi5pY29uLnVzZXIsXHJcbi5pY29uLnBhc3N3b3JkIHtcclxuICAgIG1hcmdpbjogNXB4IDEwcHggMCAwO1xyXG59XHJcblxyXG4vL0NoZWNrYm94XHJcbi5jaGVja2JveC13cmFwIHtcclxuICAgIGNvbG9yOiAkdGl0bGUtZ3JleTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgfVxyXG59IiwiLyohIF9zdGFydHVwLnNjc3MgfCBCdWxraXQgfCBDU1MgTmluamEgKi9cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblN0YXJ0dXAgS2l0IFNDU1MgZmlsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBXYWxsb3AgZnVsbHNjcmVlbiBzbGlkZXJcclxuMS4gU2VjdGlvbiB0aXRsZVxyXG4yLiBJY29uIGJveFxyXG4zLiBJbWFnZXNcclxuNC4gUHVsc2F0aW5nIGRvdHMgYW5kIGN1c3RvbSB0b29sdGlwc1xyXG41LiBQcm9kdWN0IHBhZ2VcclxuNi4gQ2FyZHNcclxuNy4gVGVhbSBzZWN0aW9uXHJcbjguIFBhcmFsbGF4IGNvdW50ZXJzXHJcbjkuIFByaWNpbmdcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gV2FsbG9wIGZ1bGxzY3JlZW4gc2xpZGVyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi5XYWxsb3Age1xyXG4gICAgdG9wOiAtNjVweDtcclxuICAgIC5XYWxsb3AtbGlzdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLldhbGxvcC1pdGVtIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG4gICAgLldhbGxvcC1idXR0b25QcmV2aW91cywgLldhbGxvcC1idXR0b25OZXh0IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA0OCU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHotaW5kZXg6IDY7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50LFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5XYWxsb3AtYnV0dG9uUHJldmlvdXMge1xyXG4gICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAuV2FsbG9wLWJ1dHRvbk5leHQge1xyXG4gICAgICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLldhbGxvcC1vdmVybGF5IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFBhZ2luYXRpb24gKi9cclxuICAgIC5XYWxsb3AtcGFnaW5hdGlvbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogNDBweDtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICB9XHJcblxyXG4gICAgLldhbGxvcC1kb3Qge1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgd2lkdGg6IDEycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAgXHJcbiAgICAgICAgJjphY3RpdmUsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAgbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuV2FsbG9wLWRvdC0tY3VycmVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbiAgICAvL1NsaWRlciBjYXB0aW9uXHJcbiAgICAuV2FsbG9wLWNhcHRpb24td3JhcHBlciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogOTk7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC5jYXB0aW9uLWlubmVyIHtcclxuICAgICAgICAgICAgICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEzNXB4KTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwJTsqL1xyXG4gICAgICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjhyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5jYXB0aW9uLWRpdmlkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmNhcHRpb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9tYXgtd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5hY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVyby1mb290LmlzLXB1bGxlZCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNjVweDtcclxufVxyXG5cclxuLy9XYWxsb3Agc2xpZGVyIG1lZGlhIHF1ZXJ5IChtb2JpbGUpXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNhcHRpb24taW5uZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMzAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLmNhcHRpb24tZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjJyZW0gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcHRpb24tdGV4dCBzcGFuIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9XYWxsb3Agc2xpZGVyIG1lZGlhIHF1ZXJ5ICh0YWJsZXQgaW4gcG9ydHJhaXQgbW9kZSlcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkge1xyXG4gICAgLmNhcHRpb24taW5uZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiA0MHZoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLmNhcHRpb24tZGl2aWRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYXB0aW9uLXRleHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtdGFibGV0LXBhZGRlZCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gU2VjdGlvbiB0aXRsZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnRpdGxlLm1haW4tdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxufVxyXG5cclxuLnNlY3Rpb24tdGl0bGUtd3JhcHBlciB7XHJcbiAgICAuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgLnN1YnRpdGxlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyNSU7XHJcbiAgICAgICAgY29sb3I6ICR0aXRsZS1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1zdWJ0aXRsZSwgLnRpdGxlLmZlYXR1cmUtdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDVweCAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLnNlY3Rpb24tdGl0bGUtd3JhcHBlciB7XHJcbiAgICAgICAgLnN1YnRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyhQb3J0cmFpdCBtb2RlKVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aCA6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSB7XHJcbiAgICAuc2VjdGlvbi10aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAuc3VidGl0bGUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9QYXJhbGxheCB0aXRsZVxyXG4ucGFyYWxsYXgtdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhIEJvbGQnLCBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAyLjRyZW0gIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gSWNvbiBib3hcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zdGFydHVwLWljb24tYm94IHtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgfVxyXG4gICAgLmJveC10aXRsZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdOZXhhIExpZ2h0Jywgc2Fucy1zZXJpZjtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIH1cclxuICAgIC5ib3gtY29udGVudCB7XHJcbiAgICAgICAgY29sb3I6ICRtdXRlZC1ncmV5O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBJbWFnZXNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vRmVhdHVyZWQgaW1hZ2VzXHJcbi5mZWF0dXJlZC1zdmcge1xyXG4gICAgbWF4LXdpZHRoOiA0NTBweDtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuZmVhdHVyZWQtc3ZnIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gUHVsc2F0aW5nIGRvdHMgYW5kIGN1c3RvbSB0b29sdGlwc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9QdWxzYXRpbmcgZG90cyBvbiBsYXB0b3AgbW9ja3VwXHJcbi5tb2NrdXAtZG90cyB7XHJcbiAgICAuZG90IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB6LWluZGV4OiA1O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZG90UHVsc2UgMnMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmlyc3Qge1xyXG4gICAgICAgICAgICB0b3A6IDQyJTtcclxuICAgICAgICAgICAgbGVmdDogMjAlO1xyXG4gICAgICAgICAgICAmOmhvdmVyICsgLmRvdC10aXAudGlwLWZpcnN0IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2Vjb25kIHtcclxuICAgICAgICAgICAgdG9wOiA2NSU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDIwJTtcclxuICAgICAgICAgICAgJjpob3ZlciArIC5kb3QtdGlwLnRpcC1zZWNvbmQge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi50aGlyZCB7XHJcbiAgICAgICAgICAgIHRvcDogNTUlO1xyXG4gICAgICAgICAgICByaWdodDogMjAlO1xyXG4gICAgICAgICAgICAmOmhvdmVyICsgLmRvdC10aXAudGlwLXRoaXJkIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9DdXN0b20gdG9vbHRpcHNcclxuICAgIC5kb3QtdGlwIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4IDEwcHggMCAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgei1pbmRleDogNDtcclxuICAgICAgICAmLnRpcC1maXJzdCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAzOCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGlwLXNlY29uZCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA2MCU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudGlwLXRoaXJkIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgcmlnaHQ6IDI0JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIFByb2R1Y3QgcGFnZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9IZXJvIGVtYWlsIHNpZ251cFxyXG4uc2lnbnVwLWJsb2NrIHtcclxuICAgIC5wcm9kdWN0LWhlcm8ge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgLmlucHV0IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0MHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vL0hlcm8gZW1haWwgc2lnbnVwIG1lZGlhIHF1ZXJ5IChtb2JpbGUgYW5kIHRhYmxldClcclxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuc2lnbnVwLWNvbHVtbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNpZ251cC1ibG9jayB7XHJcbiAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBDYXJkc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9GZWF0dXJlIGNhcmRzXHJcbi5mZWF0dXJlLWNhcmQuaXMtc3RhcnR1cCB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vSW50ZWdyYXRpb25zIGNhcmRzXHJcbi5pbnRlZ3JhdGlvbi1jYXJkcyB7XHJcbiAgICAuZmVhdHVyZS1jYXJkIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC5icmFuZC1sb2dvIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC10aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtZmVhdHVyZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vQ1RBXHJcbi5jdGEtdGV4dCB7XHJcbiAgICBmb250LWZhbWlseTogJ05leGEgQm9sZCcsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi8vVmFsdWVzIGNhcmRzXHJcbi52YWx1ZXMtY2FyZHMge1xyXG4gICAgLmZlYXR1cmUtY2FyZCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMTBweDtcclxuICAgIH1cclxuICAgIC5jYXJkLWZlYXR1cmUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOTUlO1xyXG4gICAgfVxyXG4gICAgLmNhcmQtaWNvbiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICAgICAgaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtbWluaW1hbCB7XHJcbiAgICAgICAgcGFkZGluZzogMCA4JTtcclxuICAgICAgICBpIHtcclxuICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC41cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmVhdHVyZS1jYXJkOmhvdmVyIHtcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vVmFsdWVzIGNhcmRzIG1lZGlhIHF1ZXJ5IChtb2JpbGUpXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG4gICAgLnZhbHVlcy1jYXJkcy5pcy1taW5pbWFsIHtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vU3RhcnR1cCBjb250YWN0IHBhZ2UgY2FyZHNcclxuLmNvbnRhY3QtY2FyZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5pY29uIGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1pbmZvIHtcclxuICAgICAgICBtYXJnaW46IDAgMzBweDtcclxuICAgICAgICAuY29udGFjdC1uYW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRhY3QtZGV0YWlscyB7XHJcbiAgICAgICAgICAgIC5kZXRhaWxzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWdyZXkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gVGVhbSBzZWN0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1RlYW0gc2VjdGlvblxyXG4ubW9kZXJuLXRlYW0uc3RhcnR1cC10ZWFtIHtcclxuICAgIC5tb2Rlcm4tdGVhbS1pdGVtIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgICAgIC5pdGVtLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZmFkZS1ncmV5O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAxMHB4IDRweCByZ2JhKDAsMCwwLC4wNCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pdGVtLWltZyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDc5LCAxOTMsIDIzNCwgLjgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIgLml0ZW0taW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIgaSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsdWUtZ3JleTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy9UZWFtIHNlY3Rpb24gbWVkaWEgcXVlcnkgKG1vYmlsZSBvbmx5KVxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5tb2Rlcm4tdGVhbS1pdGVtIHtcclxuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgI2dvb2dsZS1tYXAge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIFBhcmFsbGF4IGNvdW50ZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vL1BhcmFsbGF4IGNvdW50ZXJzIGljb25zXHJcbi5wYXJhbGxheC1jb3VudGVyLmlzLXByaW1hcnkgaSB7XHJcbiAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOS4gUHJpY2luZ1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByaWNpbmctcGxhbiB7XHJcbiAgICAucGxhbi1oZWFkZXIge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJywgc2Fucy1zZXJpZjtcclxuICAgICAgICBjb2xvcjogJG11dGVkLWdyZXk7XHJcbiAgICB9XHJcbn0iLCIvKiEgX2xheW91dC11dGlscy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5CdWxraXQgdXRpbHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKipcclxuVEFCTEUgT0YgQ09OVEVOVFNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUmVzZXRzIGFuZCBiYXNlIHNldHVwXHJcbjEuIEJhY2sgdG8gdG9wIGJ1dHRvblxyXG4yLiBQcm9ncmVzcyBiYXJzXHJcbjMuIElucHV0IHBsYWNlaG9sZGVyc1xyXG40LiBXaW5kb3cgc2Nyb2xsYmFyXHJcbjUuIERlbW8gbGluayBjb2xvcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gUmVzZXRzIGFuZCBiYXNlIHNldHVwXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCxcIlNlZ29lIFVJXCIsUm9ib3RvLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmLFwiQXBwbGUgQ29sb3IgRW1vamlcIixcIlNlZ29lIFVJIEVtb2ppXCIsXCJTZWdvZSBVSSBTeW1ib2xcIjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuYSwgYTphY3RpdmUsIGksIGk6YWN0aXZlLCBkaXYsIGRpdjphY3RpdmUsIGRpdjpmb2N1cywgc3Bhbjpmb2N1cywgc3BhbjphY3RpdmUsIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ1dHRvbi5pcy1hY3RpdmUsIC5idXR0b246YWN0aXZlLCAuYnV0dG9uOmZvY3VzIHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudFxyXG59XHJcblxyXG5zZWN0aW9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05leGEgTGlnaHQnO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy90ZXh0L25leGEvTmV4YUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvdGV4dC9uZXhhL05leGFMaWdodC50dGZcIikgIGZvcm1hdChcInRydWV0eXBlXCIpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTmV4YSBCb2xkJztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy90ZXh0L25leGEvTmV4YUJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy90ZXh0L25leGEvTmV4YUJvbGQudHRmXCIpICBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEJhY2sgdG8gdG9wIGJ1dHRvblxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuI2JhY2t0b3RvcCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3R0b206IDI1cHg7XHJcbiAgICBtYXJnaW46IDAgMjVweCAwIDA7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgdHJhbnNpdGlvbjogMC4zNXM7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcclxufVxyXG5cclxuI2JhY2t0b3RvcC52aXNpYmxlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuXHJcbn1cclxuXHJcbiNiYWNrdG90b3AudmlzaWJsZSBhOmhvdmVyIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwLjk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5O1xyXG59XHJcblxyXG4jYmFja3RvdG9wIGEge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlcjogMCBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogNDZweDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JleTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMjZweFxyXG59XHJcblxyXG5ib2R5ICNiYWNrdG90b3AgYSB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbiNiYWNrdG90b3AgYTphZnRlciB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY29udGVudDogXCJcXGYxMDZcIjtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTU1JSk7XHJcbn1cclxuXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4yLiBQcm9ncmVzcyBiYXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucHJvZ3Jlc3Mge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByb2dyZXNzLnByaW1hcnk6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByb2dyZXNzLnNlY29uZGFyeTo6LW1vei1wcm9ncmVzcy1iYXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gSW5wdXQgcGxhY2Vob2xkZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXHJcbiAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG59XHJcbjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICBjb2xvcjogJHBsYWNlaG9sZGVyO1xyXG59XHJcbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgIGNvbG9yOiAkcGxhY2Vob2xkZXI7XHJcbn1cclxuOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgY29sb3I6ICRwbGFjZWhvbGRlcjtcclxufVxyXG5cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIFdpbmRvdyBzY3JvbGxiYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCBodG1sOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgYm9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbn1cclxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIGh0bWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLCBib2R5Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMilcclxufSIsIi8qISBfaGVscGVycy5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5IZWxwZXIgY2xhc3NlcyAobXVzdCBhbHdheXMgYmUgYXQgdGhlIGVuZCBvZiB0aGUgY29yZSBpbXBvcnRzKVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqKlxyXG5UQUJMRSBPRiBDT05URU5UU1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDb2xvciBoZWxwZXJzXHJcbjEuIFR5cG9ncmFwaHkgaGVscGVyc1xyXG4yLiBEaXNwbGF5IGhlbHBlcnNcclxuMy4gUGFkZGluZyBoZWxwZXJzXHJcbjQuIE1hcmdpbiBoZWxwZXJzXHJcbjUuIFNpemluZyBoZWxwZXJzXHJcbjYuIFBvc2l0aW9uIGhlbHBlcnNcclxuNy4gU3RhdGVzIGhlbHBlcnNcclxuOC4gT3ZlcmZsb3cgaGVscGVyc1xyXG45LiBJY29uIGhlbHBlcnNcclxuMTAuIEltYWdlIGhlbHBlcnNcclxuMTEuIFJlc3BvbnNpdmUgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4qKiovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4wLiBDb2xvciBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29sb3ItcHJpbWFyeSB7XHJcbiAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvbG9yLXNlY29uZGFyeSB7XHJcbiAgICBjb2xvcjogJHNlY29uZGFyeSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY29sb3ItYWNjZW50IHtcclxuICAgIGNvbG9yOiAkYWNjZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb2xvci1yZWQge1xyXG4gICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJvcmRlci1saWdodCB7XHJcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGFyay10ZXh0IHtcclxuICAgIGNvbG9yOiAkYmx1ZS1ncmV5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5saWdodC10ZXh0IHtcclxuICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByaW1hcnktdGV4dCB7XHJcbiAgICBjb2xvcjogJHByaW1hcnkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY29uZGFyeS10ZXh0IHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hY2NlbnQtdGV4dCB7XHJcbiAgICBjb2xvcjogJGFjY2VudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW5mby10ZXh0IHtcclxuICAgIGNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3VjY2Vzcy10ZXh0IHtcclxuICAgIGNvbG9yOiAkZ3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLndhcm5pbmctdGV4dCB7XHJcbiAgICBjb2xvcjogJG9yYW5nZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGFuZ2VyLXRleHQge1xyXG4gICAgY29sb3I6ICRyZWQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRhcmstYmcge1xyXG4gICAgYmFja2dyb3VuZDogJGNvYWwgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxpZ2h0LWJnIHtcclxuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBUeXBvZ3JhcGh5IGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb250LXctNDAwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcclxufVxyXG4uZm9udC13LTUwMCB7XHJcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmZvbnQtdy02MDAge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG59XHJcbi50ZXh0LWRlY29yYXRpb24tbm9uZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtdXBwZXIge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udGV4dC1ib2xkIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRleHQtYm9sZGVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcclxufVxyXG4uZm9udC1zaXplLW5vcm1hbCB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuXHJcbi5mb250LXNpemUtMngge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG59XHJcblxyXG4uaXMtc2l6ZS0xIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxufVxyXG5cclxuLmlzLXNpemUtMiB7XHJcbiAgICBmb250LXNpemU6IDIuNXJlbTtcclxufVxyXG5cclxuLmlzLXNpemUtMyB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbn1cclxuXHJcbi5pcy1zaXplLTQge1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbn1cclxuXHJcbi5pcy1zaXplLTUge1xyXG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG59XHJcblxyXG4uaXMtc2l6ZS02IHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuLmlzLXNpemUtNyB7XHJcbiAgICBmb250LXNpemU6IDAuNzVyZW07XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIERpc3BsYXkgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy9xdWljayBmbGV4XHJcbi5pcy1mbGV4IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAmLmlzLXN0YXJ0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB9XHJcbiAgICAmLmlzLWNlbnRlciB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLmlzLWVuZCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgICYuaXMtdmNlbnRlciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuLy9CbG9jayBkaXNwbGF5XHJcbi5pcy1ibG9jayB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uei1pbmRleC0yIHtcclxuICAgIHotaW5kZXg6IDIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnotaW5kZXgtMTAxIHtcclxuICAgIHotaW5kZXg6IDEwMSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4zLiBQYWRkaW5nIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uby1wYWRkaW5nIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tcGFkZGluZy10b3Age1xyXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tcGFkZGluZy1ib3R0b20ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tcGFkZGluZy1yaWdodCB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLm5vLXBhZGRpbmctbGVmdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBhZGRpbmctMTAge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG4ucGFkZGluZy0xNSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcbi5wYWRkaW5nLTIwIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuLnBhZGRpbmctMjUge1xyXG4gICAgcGFkZGluZzogMjVweDtcclxufVxyXG4ucGFkZGluZy0zMCB7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG59XHJcbi5wYWRkaW5nLTQwIHtcclxuICAgIHBhZGRpbmc6IDQwcHg7XHJcbn1cclxuLnBhZGRpbmctNTAge1xyXG4gICAgcGFkZGluZzogNTBweDtcclxufVxyXG4ucGFkZGluZy02MCB7XHJcbiAgICBwYWRkaW5nOiA2MHB4O1xyXG59XHJcbi5wYWRkaW5nLTcwIHtcclxuICAgIHBhZGRpbmc6IDcwcHg7XHJcbn1cclxuLnBhZGRpbmctODAge1xyXG4gICAgcGFkZGluZzogODBweDtcclxufVxyXG4ucGFkZGluZy05MCB7XHJcbiAgICBwYWRkaW5nOiA5MHB4O1xyXG59XHJcbi5wYWRkaW5nLTEwMCB7XHJcbiAgICBwYWRkaW5nOiAxMDBweDtcclxufVxyXG4ucHQtNSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG59XHJcbi5wdC0xMCB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG4ucHQtMjAge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbn1cclxuLnB0LTMwIHtcclxuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG59XHJcbi5wdC00MCB7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxufVxyXG4ucHQtNTAge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbn1cclxuLnB0LTYwIHtcclxuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG59XHJcbi5wdC03MCB7XHJcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcclxufVxyXG4ucHQtODAge1xyXG4gICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbn1cclxuLnBiLTUge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxufVxyXG4ucGItMTAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuLnBiLTIwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG59XHJcbi5wYi0zMCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxufVxyXG4ucGItNDAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbn1cclxuLnBiLTUwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG59XHJcbi5wYi02MCB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxufVxyXG4ucGItNzAge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbn1cclxuLnBiLTgwIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG59XHJcbi5wbC01IHtcclxuICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG59XHJcbi5wbC0xMCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuLnBsLTIwIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG4ucGwtMzAge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG59XHJcbi5wbC00MCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbn1cclxuLnBsLTUwIHtcclxuICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxufVxyXG4ucGwtNjAge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG59XHJcbi5wbC03MCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XHJcbn1cclxuLnBsLTgwIHtcclxuICAgIHBhZGRpbmctbGVmdDogODBweDtcclxufVxyXG4ucHItNSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbn1cclxuLnByLTEwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuLnByLTIwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbn1cclxuLnByLTMwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XHJcbn1cclxuLnByLTQwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbn1cclxuLnByLTUwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbn1cclxuLnByLTYwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XHJcbn1cclxuLnByLTcwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XHJcbn1cclxuLnByLTgwIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XHJcbn1cclxuXHJcbi5odWdlLXB0IHtcclxuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxufVxyXG5cclxuLmh1Z2UtcGIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG59XHJcblxyXG4uZ2lhbnQtcGIge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBNYXJnaW4gaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm5vLW1hcmdpbiB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tbWFyZ2luLWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tbWFyZ2luLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5uby1tYXJnaW4tdG9wIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxufVxyXG4ubm8tbWFyZ2luLWJvdHRvbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hcmdpbi14LWF1dG8ge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4ubXItYXV0byB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4ubWwtYXV0byB7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyZ2luLTEwIHtcclxuICAgIG1hcmdpbjogMTBweDtcclxufVxyXG4ubWFyZ2luLTIwIHtcclxuICAgIG1hcmdpbjogMjBweDtcclxufVxyXG4ubWFyZ2luLTI1IHtcclxuICAgIG1hcmdpbjogMjVweDtcclxufVxyXG4ubWFyZ2luLTMwIHtcclxuICAgIG1hcmdpbjogMzBweDtcclxufVxyXG4ubWFyZ2luLTQwIHtcclxuICAgIG1hcmdpbjogNDBweDtcclxufVxyXG4ubWFyZ2luLTUwIHtcclxuICAgIG1hcmdpbjogNTBweDtcclxufVxyXG4ubWFyZ2luLTYwIHtcclxuICAgIG1hcmdpbjogNjBweDtcclxufVxyXG4ubWFyZ2luLTcwIHtcclxuICAgIG1hcmdpbjogNzBweDtcclxufVxyXG4ubWFyZ2luLTgwIHtcclxuICAgIG1hcmdpbjogODBweDtcclxufVxyXG4ubWFyZ2luLTkwIHtcclxuICAgIG1hcmdpbjogOTBweDtcclxufVxyXG4ubWFyZ2luLTEwMCB7XHJcbiAgICBtYXJnaW46IDEwMHB4O1xyXG59XHJcbi5tdC01IHtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG4ubXQtMTAge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG4ubXQtMjAge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG4ubXQtMzAge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG4ubXQtNDAge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4ubXQtNTAge1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxufVxyXG4ubXQtNjAge1xyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxufVxyXG4ubXQtNzAge1xyXG4gICAgbWFyZ2luLXRvcDogNzBweDtcclxufVxyXG4ubXQtODAge1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxufVxyXG4ubXQtMTIwIHtcclxuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xyXG59XHJcbi5tYi01IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG4ubWItMTAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG4ubWItMjAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG4ubWItMzAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG4ubWItNDAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxufVxyXG4ubWItNTAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG4ubWItNjAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxufVxyXG4ubWItNzAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxufVxyXG4ubWItODAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxufVxyXG4ubWwtNSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcbi5tbC0xMCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG4ubWwtMjAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuLm1sLTMwIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG59XHJcbi5tbC00MCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcclxufVxyXG4ubWwtNTAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbn1cclxuLm1sLTYwIHtcclxuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG59XHJcbi5tbC03MCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcclxufVxyXG4ubWwtODAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XHJcbn1cclxuLm1yLTUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuLm1yLTEwIHtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG4ubXItMjAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcbi5tci0zMCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbn1cclxuLm1yLTQwIHtcclxuICAgIG1hcmdpbi1yaWdodDogNDBweDtcclxufVxyXG4ubXItNTAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG59XHJcbi5tci02MCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XHJcbn1cclxuLm1yLTcwIHtcclxuICAgIG1hcmdpbi1yaWdodDogNzBweDtcclxufVxyXG4ubXItODAge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBTaXppbmcgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLndpZHRoLTQwIHtcclxuICAgIHdpZHRoOiA0MHB4IWltcG9ydGFudDtcclxufVxyXG5cclxuLndpZHRoLTEwMCB7XHJcbiAgICB3aWR0aDogMTAwcHghaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2lkdGgtMjUwIHtcclxuICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGVpZ2h0LTMwIHtcclxuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGVpZ2h0LTYwIHtcclxuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5oZWlnaHQtNjAge1xyXG4gICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmhlaWdodC03MCB7XHJcbiAgICBoZWlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxufVxyXG4uaGVpZ2h0LTgwIHtcclxuICAgIGhlaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5oZWlnaHQtOTAge1xyXG4gICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjYuIFBvc2l0aW9uIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5wdWxsLXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG4ucHVsbC1sZWZ0IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uaXMtZml4ZWQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gU3RhdGVzIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pcy1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXMtdmhpZGRlbiB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmlzLWRpc2FibGVkIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdHVjayB7XHJcbiAgICBwb3NpdGlvbjpmaXhlZCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XHJcbiAgICBhbmltYXRpb24tbmFtZTogdHJhbnNsYXRlRG93bjtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOC4gT3ZlcmZsb3cgaGVscGVyc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLm92ZXJmbG93LWF1dG8ge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOS4gSWNvbiBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW0sIC5zbCwgLm1hdGVyaWFsLWljb25zIHtcclxuICAgICYuaXMtaWNvbi14cyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjhyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtaWNvbi1tZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgICYuaXMtaWNvbi0yeCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pY29uLTN4IHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbiAgICAmLmlzLWljb24tNHgge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgIH1cclxuICAgICYuaXMtZ2lnYW50aWMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEwLiBJbWFnZSBoZWxwZXJzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaW1nLWNpcmNsZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAwcHg7XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjExLiBSZXNwb25zaXZlIGhlbHBlcnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLm1vYmlsZS1wYWRkaW5nLTIwIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICB9XHJcbiAgICAubW9iaWxlLXBhZGRpbmctNDAge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAuaGFzLXRleHQtY2VudGVyZWQtbW9iaWxlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxufSIsIi8qISBfcmVzcG9uc2l2ZS5zY3NzIHwgQnVsa2l0IHwgQ1NTIE5pbmphICovXHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5HZW5lcmFsIHJlc3BvbnNpdmUgc3R5bGVzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKioqXHJcblRBQkxFIE9GIENPTlRFTlRTXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjAuIG1heC13aWR0aCA3NjdweFxyXG4xLiBtYXgtd2lkdGggNzY4cHhcclxuMi4gQmV0d2VlbiA3NjhweCBhbmQgMTAyNHB4IHBvcnRyYWl0IG9yaWVudGF0aW9uXHJcbjMuIG1heC13aWR0aCAxMDA3cHhcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuKioqL1xyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMC4gbWF4LXdpZHRoIDc2N3B4XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC8vc2VjdGlvbiB0aXRsZVxyXG4gICAgLnNlY3Rpb24tdGl0bGUtd3JhcHBlciB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBtYXgtd2lkdGggNzY4cHhcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xyXG5cclxuICAgIC8vTmF2IGl0ZW1zXHJcbiAgICAubmF2LWl0ZW0uaXMtdGFiIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICB9XHJcbiAgICAubmF2IC5uYXYtaXRlbS5pcy10YWIuaXMtYWN0aXZlLCAubmF2LW1lbnUuaXMtYWN0aXZlIC5uYXYtaXRlbS5pcy10YWIuaXMtYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubmF2LWl0ZW0ubmF2LWlubmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBhLm5hdi1pdGVtLmlzLW5vdC1tb2JpbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5uYXYtaXRlbS5pcy1tZW51LW1vYmlsZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzdhN2E3YSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm5hdmJhciB7XHJcbiAgICAgICAgJi5uYXZiYXItbGlnaHQge1xyXG4gICAgICAgICAgICAmLmlzLWRhcmstbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyO1xyXG4gICAgICAgICAgICAgICAgLm5hdmJhci1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1tZW51IHtcclxuICAgICAgICAgICAgLm5hdmJhci1saW5rLCAubmF2YmFyLWl0ZW0sIC5uYXZiYXItZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNC42cmVtO1xyXG4gICAgfVxyXG4gICAgLmN1c3RvbS1idXJnZXJ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm5hdmJhci1idXJnZXIge1xyXG4gICAgICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIHdpZHRoOiA0LjZyZW07XHJcbiAgICB9XHJcbiAgICAvL0Zvb3RlciBzb2NpYWwgaWNvbnNcclxuICAgIC5sZXZlbC1sZWZ0LmxldmVsLXNvY2lhbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLmxldmVsLWl0ZW06bGFzdC1jaGlsZCAuaWNvbiBpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9NYWluIGhlcm8gYmFja2dyb3VuZCBwb3NpdGlvblxyXG4gICAgI21haW4taGVybyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA1NSUgIWltcG9ydGFudFxyXG4gICAgfVxyXG4gICAgLy9NYWluIHRpdGxlXHJcbiAgICAvKi50aXRsZS5tYWluLXRpdGxlIHtcclxuICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbn0qL1xyXG4gICAgLy9QYXJhbGxheCBvdmVybGF5XHJcbiAgICAucGFyYWxsYXgtb3ZlcmxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLy9TZWN0aW9uIHRpdGxlXHJcbiAgICAudGl0bGUuc2VjdGlvbi10aXRsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL21vY2t1cCBhbmQgaGVybyBmb3IgY29tcG9uZW50cyBzZWN0aW9uc1xyXG4gICAgLmhlcm8uaXMtZnVsbGhlaWdodC5pcy1oYWxmZWQtbW9iaWxlIHtcclxuICAgICAgICBoZWlnaHQ6IDM1dmggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAvL0NsaWVudCBncmlkc1xyXG4gICAgLnRocmVlLWdyaWQsIC5mb3VyLWdyaWQsIC5maXZlLWdyaWQge1xyXG4gICAgICAgIC5jb2x1bW4ge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vQ2Fyb3VzZWxzXHJcbiAgICAuc2luZ2xlLWltYWdlLWNhcm91c2VsIC5pbWFnZS13cmFwcGVyIGltZyB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNpbmdsZS1pbWFnZS1jYXJvdXNlbCAuaW1hZ2Utd3JhcHBlciAuY2FwdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC8vVmlkZW8gYmFja2dyb3VuZFxyXG4gICAgLnZpZGVvLWNhcHRpb24ge1xyXG4gICAgICAgIGxlZnQ6IDUlO1xyXG4gICAgfVxyXG4gICAgLy9tZW51IHRvZ2dsZXMgdmlzaWJpbGl0eSBvbiBtb2JpbGVcclxuICAgICNuYXZpZ2F0aW9uLXRyaWdnZXIsIC5uYXZpZ2F0aW9uLWNsb3NlIHtcclxuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAvL0RhcmtlbiB0cmFuc3BhcmVudCBuYXZiYXIgd2hlbiByZXNwb25zaXZlIG1lbnUgaXMgb3BlbiBvbiBtb2JpbGUgKG9ubHkgaWYgaXQgaXMgYSBsaWdodCBuYXZiYXIpXHJcbiAgICAubmF2YmFyLXdyYXBwZXIubmF2YmFyLWZhZGUubmF2YmFyLWxpZ2h0Lm1vYmlsZS1tZW51LWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm5hdi1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5uYXYtaW5uZXIuaXMtbWVudS1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci13cmFwcGVyLm5hdmJhci1mYWRlLm1vYmlsZS1tZW51LWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4xLiBCZXR3ZWVuIDc2OHB4IGFuZCAxMDI0cHggcG9ydHJhaXQgb3JpZW50YXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGggOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoIDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIHsgXHJcbiAgICAvL3RhYmxldCBwb3J0cmFpdCBvcmllbnRhdGlvbiBhZGp1c3RtZW50c1xyXG4gICAgLmNvbHVtbnMge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTAlO1xyXG4gICAgICAgICYuaXMtdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLW5vdC10YWJsZXQtcG9ydHJhaXQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIG1heC13aWR0aCAxMDA3cHhcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDdweCkge1xyXG4gICAgLy9TbGlkZSBkZXNjcmlwdGlvbiBwYWRkaW5nXHJcbiAgICAuY29sdW1uLnNsaWRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC8vQWNjb3VudFxyXG4gICAgLmFjY291bnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAvL01lZGlhIGNhcmQgc2V0dGluZ3NcclxuICAgIC5tZWRpYS1jYXJkIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNvbHVtbi5pcy00Lm1lZGlhLXN0cmV0Y2gge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm1lZGlhLWNhcmQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWNhcmQtY29udHJvbHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNC4gVGFibGV0IExhbmRzY2FwZVxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aCA6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGggOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb24gOiBsYW5kc2NhcGUpIHtcclxuICAgIFxyXG4gICAgLm5hdmJhci1icmFuZCB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIGhlaWdodDogNC42cmVtO1xyXG4gICAgICAgIC5jdXN0b20tYnVyZ2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvL0RhcmtlbiB0cmFuc3BhcmVudCBuYXZiYXIgd2hlbiByZXNwb25zaXZlIG1lbnUgaXMgb3BlbiBvbiBtb2JpbGUgKG9ubHkgaWYgaXQgaXMgYSBsaWdodCBuYXZiYXIpXHJcbiAgICAubmF2YmFyLXdyYXBwZXIubmF2YmFyLWZhZGUubmF2YmFyLWxpZ2h0Lm1vYmlsZS1tZW51LWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLm5hdi1tZW51LmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIC5uYXYtaW5uZXIuaXMtbWVudS1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5hdmJhci13cmFwcGVyLm5hdmJhci1mYWRlLm1vYmlsZS1tZW51LWRhcmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm5hdmJhciB7XHJcbiAgICAgICAgJi5uYXZiYXItbGlnaHQge1xyXG4gICAgICAgICAgICAmLmlzLWRhcmstbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyO1xyXG4gICAgICAgICAgICAgICAgLm5hdmJhci1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhcjtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm5hdmJhci1tZW51IHtcclxuICAgICAgICAgICAgLm5hdmJhci1saW5rLCAubmF2YmFyLWl0ZW0sIC5uYXZiYXItZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5hdmJhci1saW5rIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDQzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICNzaWdudXAtYnRuLCAjc2lnbnVwLWJ0bi1hbHQgIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXB0aW9uLWlubmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbGVmdDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Il19 */
