@charset "UTF-8";
/* ================================================================================
    style
================================================================================ */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
* {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

body {
    line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    text-decoration: none;
}

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}

input, select {
    vertical-align: middle;
}

img {
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    -webkit-backface-visibility: hidden;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

@media all and (-ms-high-contrast: none) {
    *::-ms-backdrop, main {
        display: block;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ////////////////////////////////////////////////////////////////////////////////
//
//     default.css
//
//////////////////////////////////////////////////////////////////////////////// */
/* ================================================================================
    Import Base files
================================================================================ */
@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    dom / cmn_images
================================================================================ */
html, body {
    width: 100%;
    height: 100%;
    zoom: 1.0;
}

body {
    -webkit-text-size-adjust: 100%;
}

pre, code, kbd, samp, tt {
    font-family: monospace;
    *font-size: 108%;
    line-height: 100%;
}

section {
    position: relative;
}

a {
    position: relative;
    text-decoration: none;
    cursor: pointer;
}

table {
    font-size: inherit;
    font: 100%;
    width: 100%;
    border-collapse: collapse;
}

li {
    position: relative;
    line-height: 1em;
}

/* ================================================================================
    classes
================================================================================ */
/* basic
------------------------------------------------------------ */
#__bs_notify__ {
    display: none !important;
}

.abs {
    position: absolute;
}

.hide {
    visibility: hidden;
}

.show {
    visibility: visible;
}

.bold {
    font-weight: bold;
}

.left {
    float: left;
}

.right {
    float: right;
}

.nowrap {
    white-space: nowrap;
}

.cs {
    pointer-events: none;
}

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

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

.inline-block {
    display: inline-block;
}

/* float
------------------------------------------------------------ */
.float {
    display: block;
}

.float:before, .float:after {
    content: " ";
    display: table;
}

.float:after {
    clear: both;
}

/* flexbox
------------------------------------------------------------ */
.flex {
    -js-display: flex;
    display: block;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex > * {
    justify-content: flex-start;
}

.flex-dl {
    display: flex;
    flex-wrap: wrap;
}

/* other
------------------------------------------------------------ */
.js-switching {
    /* js用予約語 */
}

.js-100vh {
    /* js用予約語 */
}

.src {
    /* js用予約語 */
}

.onload-in {
    /* js用予約語 */
}

.late-in {
    /* js用予約語 */
}

.late-anim {
    /* js用予約語 */
}

.late-in-group {
    /* js用予約語 */
}

.accordion-btn {
    /* js用予約語 */
}

.accordion-body {
    /* js用予約語 */
}

.none-justify {
    /* 予約語 */
}

.trans {
    -webkit-transition: all 0.25s ease;
    -moz-transition: all 0.25s ease;
    -ms-transition: all 0.25s ease;
    transition: all 0.25s ease;
}

.table-cell {
    display: table;
}

.table-cell .cell {
    display: table-cell;
}

.fit {
    width: 100%;
}

.pcshow {
    display: block;
}

.spshow {
    display: none;
}

a.cs {
    pointer-events: none;
}

.txt:not(.none) > p {
    text-align: justify;
    text-justify: inter-ideograph;
}

.none-justify {
    text-align: left !important;
}

@media only screen and (max-width: 767px) {
    .pcshow {
        display: none;
    }
    .spshow {
        display: block;
    }
    .sp100 {
        width: 100%;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================

    DOM

================================================================================ */
html, body {
    position: relative;
    width: 100%;
}

body {
    position: relative;
    -webkit-print-color-adjust: exact;
    -webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
}

@media only screen and (max-width: 767px) {
    html, body {
        min-width: 100%;
    }
    body {
        min-width: 100%;
    }
}

/* ================================================================================

    Font

================================================================================ */
body {
    font-weight: 400;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック  Medium", meiryo, sans-serif;
}

body p {
    font-size: 14px;
    line-height: 28px;
    font-weight: 400;
    letter-spacing: 0;
    color: #333;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "游ゴシック  Medium", meiryo, sans-serif;
}

body p span {
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    color: inherit;
    font-family: inherit;
}

@media only screen and (max-width: 767px) {
    body p {
        font-size: 14px;
        line-height: 25px;
        letter-spacing: 0;
    }
}

/* ================================================================================

    Colors

================================================================================ */
.color--main {
    color: #004898;
}

.color--white {
    color: #fff;
}

.color--black {
    color: #000;
}

/* ================================================================================

    Layout

================================================================================ */
[class*=inner] {
    position: relative;
    margin: 0 auto;
}

.inner800 {
    width: 800px;
}

.inner900 {
    width: 900px;
}

.inner920 {
    width: 920px;
}

.inner1000 {
    width: 1000px;
}

.inner1080 {
    width: 1080px;
}

@media only screen and (max-width: 767px) {
    [class*=inner] {
        width: auto;
        margin: auto;
    }
}

/* ================================================================================

    onload-in & .late-in

================================================================================ */
.late-in {
    opacity: 0;
    -webkit-transition: all 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.late-in.transX {
    transform: translateX(30px);
}

.late-in.transX.in {
    transform: translate(0);
}

.late-in.transY {
    transform: translateY(30px);
}

.late-in.transY.in {
    transform: translate(0);
}

.late-in.slow {
    -webkit-transition: all 1.25s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 1.25s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.late-in.in {
    opacity: 1;
}

.late-in-group > * {
    opacity: 0;
    transform: translateY(30px);
    -webkit-transition: all 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.late-in-group > *.in {
    opacity: 1;
    transform: translateY(0);
}

@media only screen and (max-width: 767px) {
    .late-in.translateY {
        transform: translateY(60px);
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    header
================================================================================ */
header {
    z-index: 999;
    position: fixed;
    width: 100%;
    min-width: 1280px;
    top: 0;
    left: 0;
    height: 100px;
    background: #fff;
    border-bottom: 1px solid #e7e7e7;
}

header .left {
    padding: 30px 0 0 50px;
}

header .left #header-logo img {
    height: 34px;
}

header .right.pcshow {
    padding: 30px 50px 0 0;
}

header .right.pcshow ul {
    border-left: 1px solid #bababa;
}

header .right.pcshow li {
    border-right: 1px solid #bababa;
}

header .right.pcshow a {
    display: block;
    padding: 15px 0 0;
    width: 150px;
    height: 70px;
    text-align: center;
}

header .right.pcshow a p {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    color: #333;
    font-family: "Noto Serif JP", serif;
}

header .right.pcshow a:before {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 2px;
    background: #004898;
    opacity: 0;
}

@media screen and (min-width: 768px) {
    header .right.pcshow a {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    header .right.pcshow a:before, header .right.pcshow a p {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    header .right.pcshow a:hover {
        padding-top: 20px;
    }
    header .right.pcshow a:hover p {
        color: #004898;
    }
    header .right.pcshow a:hover:before {
        opacity: 1;
    }
    header .right.pcshow a.hover p {
        color: #004898;
    }
    header .right.pcshow a.hover:before {
        opacity: 1;
    }
}

@media only screen and (max-width: 767px) {
    header {
        min-width: auto;
        height: 60px;
    }
    header .left {
        padding: 18px 0 0 20px;
    }
    header .left #header-logo img {
        height: 22px;
    }
}

/* ================================================================================
    #menu-btn
================================================================================ */
#menu-btn {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    background: #004898;
}

#menu-btn .icon {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

#menu-btn .icon span, #menu-btn .icon:before, #menu-btn .icon:after {
    z-index: 2;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 22px;
    height: 2px;
    background: #fff;
    -webkit-transition: all 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 0.15s cubic-bezier(0.39, 0.575, 0.565, 1);
}

#menu-btn .icon:before {
    transform: translate(0, -8px);
}

#menu-btn .icon:after {
    transform: translate(0, 8px);
}

#menu-btn.open {
    background: #009fa8;
}

#menu-btn.open .icon span {
    width: 0;
}

#menu-btn.open .icon:before {
    transform: rotate(45deg) translate(0, 0);
}

#menu-btn.open .icon:after {
    transform: rotate(-45deg) translate(0, 0);
}

/* ================================================================================
    #menu
================================================================================ */
#menu {
    display: none;
    opacity: 0;
}

#menu {
    z-index: 888;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 60px;
    width: 100%;
    height: 100%;
}

#menu.open {
    display: block;
    opacity: 0;
}

#menu #menu-overlay {
    z-index: 666;
    position: relative;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #e8f4f5;
}

#menu #menu-list {
    position: relative;
    z-index: 777;
    display: block;
    padding: 40px 40px 30px;
    width: 100%;
    height: 100%;
    overflow-y: scroll;
}

#menu #menu-list #menu-body .col {
    width: 100%;
}

#menu #menu-list #menu-body .col:nth-of-type(n+2) {
    margin: 30px 0 0;
}

#menu #menu-list #menu-body .col .ttl {
    padding: 0 0 15px;
    border-bottom: 1px solid #bababa;
}

#menu #menu-list #menu-body .col .ttl a, #menu #menu-list #menu-body .col .ttl p {
    font-size: 17px;
    line-height: 1em;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

#menu #menu-list #menu-body .col .ttl a {
    display: inline-block;
}

#menu #menu-list #menu-body .col .ttl a:after {
    position: absolute;
    top: 0;
    right: -22px;
    bottom: 0;
    margin: auto;
    content: '';
    position: absolute;
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: 1px solid #004898;
    border-right: 1px solid #004898;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

#menu #menu-list #menu-body .col .list {
    margin: 15px 0 0;
    padding: 0 0 0 20px;
}

#menu #menu-list #menu-body .col .list li:nth-of-type(n+2) {
    margin: 10px 0 0;
}

#menu #menu-list #menu-body .col .list a {
    display: inline-block;
    padding: 0 0 0 30px;
}

#menu #menu-list #menu-body .col .list a:before {
    content: '';
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 20px;
    height: 1px;
    background: #004898;
}

#menu #menu-list #menu-body .col .list a p {
    font-size: 13px;
    line-height: 17px;
    font-weight: 500;
    letter-spacing: 0.025em;
    font-family: "Noto Serif JP", serif;
}

#menu #menu-list #menu-body .col .list a.blank:after {
    content: '';
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    margin: auto;
    width: 22px;
    height: 16px;
    background: url(../img/common/icon_blank_02.svg) no-repeat 0 0;
    background-size: 100% auto;
    pointer-events: none;
}

/* ================================================================================
    #menu
================================================================================ */
#submenu {
    display: none;
    z-index: 999;
    position: fixed;
    top: 100px;
    right: 50px;
}

#submenu .submenu {
    padding: 30px 0 30px 40px;
    width: 605px;
    min-height: 80px;
    background: #e8f4f5;
    border: 1px solid #bababa;
    border-top: none !important;
}

#submenu .submenu#nav01 li:nth-of-type(n+2) {
    margin-left: 25px;
}

#submenu .submenu#nav02 li:nth-of-type(odd) {
    width: 180px;
}

#submenu .submenu#nav02 li:nth-of-type(even) {
    width: calc(100% - 180px);
}

#submenu .submenu#nav02 li:nth-of-type(n+3) {
    margin-top: 15px;
}

#submenu .submenu#nav02 li.mg-none {
    margin-left: 0 !important;
}

#submenu .submenu a {
    display: inline-block;
    padding: 0 0 0 30px;
}

#submenu .submenu a:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 25px;
    height: 1px;
    background: #004898;
}

#submenu .submenu a p {
    font-size: 14px;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
}

#submenu .submenu a.blank:after {
    content: '';
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    margin: auto;
    width: 22px;
    height: 16px;
    background: url(../img/common/icon_blank_02.svg) no-repeat 0 0;
    background-size: 100% auto;
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    #submenu .submenu a p, #submenu .submenu a:before {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    #submenu .submenu a:hover p {
        color: #009fa8;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    footer
================================================================================ */
footer {
    margin: 140px 0 0;
}

footer .upper {
    background: #e8f4f5;
}

footer .upper .seg {
    border-top: 1px solid #d4dedf;
}

footer .upper .seg:nth-of-type(1) {
    padding: 50px 0 40px;
}

footer .upper .seg:nth-of-type(1) .col {
    width: 31.5%;
}

footer .upper .seg:nth-of-type(1) .col:nth-of-type(n+2) {
    margin-left: 2.75%;
}

footer .upper .seg:nth-of-type(1) .col .ttl {
    padding: 0 0 20px;
    border-bottom: 1px solid #bababa;
}

footer .upper .seg:nth-of-type(1) .col .ttl p {
    font-size: 20px;
    line-height: 1em;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

footer .upper .seg:nth-of-type(1) .col .list {
    margin: 25px 0 0;
    padding: 0 0 0 20px;
}

footer .upper .seg:nth-of-type(1) .col .list li:nth-of-type(n+2) {
    margin: 20px 0 0;
}

footer .upper .seg:nth-of-type(1) .col .list a {
    display: inline-block;
    padding: 0 0 0 35px;
}

footer .upper .seg:nth-of-type(1) .col .list a:before {
    content: '';
    position: absolute;
    top: 0.5em;
    left: 0;
    width: 25px;
    height: 1px;
    background: #004898;
}

footer .upper .seg:nth-of-type(1) .col .list a p {
    font-size: 14px;
    line-height: 18px;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
}

footer .upper .seg:nth-of-type(1) .col .list a.blank:after {
    content: '';
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    margin: auto;
    width: 22px;
    height: 16px;
    background: url(../img/common/icon_blank_02.svg) no-repeat 0 0;
    background-size: 100% auto;
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    footer .upper .seg:nth-of-type(1) .col .list a {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .upper .seg:nth-of-type(1) .col .list a p, footer .upper .seg:nth-of-type(1) .col .list a:before {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .upper .seg:nth-of-type(1) .col .list a:hover:before {
        left: 15px;
        width: 10px;
        height: 10px;
        background: #009fa8;
    }
}

footer .upper .seg:nth-of-type(2) {
    padding: 30px 0 0;
}

footer .upper .seg:nth-of-type(2) .list li:nth-of-type(n+2) {
    margin-left: 18px;
    padding-left: 18px;
    border-left: 1px solid #bababa;
}

footer .upper .seg:nth-of-type(2) .list a {
    display: inline-block;
}

footer .upper .seg:nth-of-type(2) .list a p {
    font-size: 12px;
    line-height: 1em;
    font-weight: 400;
    letter-spacing: 0;
}

@media screen and (min-width: 768px) {
    footer .upper .seg:nth-of-type(2) .list a:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #009fa8;
        opacity: 0;
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .upper .seg:nth-of-type(2) .list a p {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .upper .seg:nth-of-type(2) .list a:hover:before {
        bottom: -6px;
        opacity: 1;
    }
    footer .upper .seg:nth-of-type(2) .list a:hover p {
        color: #009fa8;
    }
}

footer .upper .seg:nth-of-type(2) .btn {
    margin: 40px 0 0;
}

footer .upper .seg:nth-of-type(2) .btn a {
    display: block;
    margin: auto 0 auto auto;
    padding: 25px 0 0;
    width: 300px;
    height: 60px;
    background: #009fa8;
    text-align: center;
}

footer .upper .seg:nth-of-type(2) .btn a p {
    z-index: 2;
    position: relative;
    font-size: 12px;
    line-height: 1em;
    font-weight: 500;
    color: #fff;
}

footer .upper .seg:nth-of-type(2) .btn a .icon {
    z-index: 2;
    position: absolute;
    top: 12px;
    right: 20px;
    bottom: 0;
    margin: auto;
    content: '';
    position: absolute;
    display: inline-block;
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
    footer .upper .seg:nth-of-type(2) .btn a:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 0;
        background: #004898;
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .upper .seg:nth-of-type(2) .btn a:hover:before {
        height: 100%;
    }
}

footer .lower {
    padding: 0 0 50px;
    background: #004898;
}

footer .lower .col-left {
    padding: 50px 0 0;
    width: 480px;
}

footer .lower .col-left #footer-logo img {
    height: 54px;
}

footer .lower .col-right {
    width: calc(100% - 480px);
}

footer .lower .col-right .list ul {
    border-left: 1px solid #6993c2;
}

footer .lower .col-right .list li {
    width: 25%;
    border-right: 1px solid #6993c2;
}

footer .lower .col-right .list li a {
    display: block;
    padding: 30px 0 0;
    height: 70px;
    text-align: center;
}

footer .lower .col-right .list li a p {
    font-size: 12px;
    line-height: 1em;
    font-weight: 500;
    color: #fff;
}

footer .lower .col-right .list li a.blank:after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 22px;
    height: 16px;
    background: url(../img/common/icon_blank_01.svg) no-repeat 0 0;
    background-size: 100% auto;
}

@media screen and (min-width: 768px) {
    footer .lower .col-right .list li a {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .lower .col-right .list li a p {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    footer .lower .col-right .list li a:hover {
        padding-top: 25px;
        background: #e8f4f5;
    }
    footer .lower .col-right .list li a:hover p {
        color: #004898;
    }
}

@media only screen and (max-width: 1024px) {
    footer {
        margin: 80px 0 0;
    }
    footer .upper .seg:nth-of-type(1) {
        padding: 40px 40px 30px;
    }
    footer .upper .seg:nth-of-type(1) .col {
        width: 100%;
    }
    footer .upper .seg:nth-of-type(1) .col:nth-of-type(n+2) {
        margin: 30px 0 0;
    }
    footer .upper .seg:nth-of-type(1) .col .ttl {
        padding: 0 0 15px;
    }
    footer .upper .seg:nth-of-type(1) .col .ttl p {
        font-size: 17px;
        line-height: 1em;
    }
    footer .upper .seg:nth-of-type(1) .col .list {
        margin: 15px 0 0;
    }
    footer .upper .seg:nth-of-type(1) .col .list li:nth-of-type(n+2) {
        margin: 15px 0 0;
    }
    footer .upper .seg:nth-of-type(1) .col .list a {
        padding: 0 0 0 30px;
    }
    footer .upper .seg:nth-of-type(1) .col .list a:before {
        width: 20px;
    }
    footer .upper .seg:nth-of-type(1) .col .list a p {
        font-size: 13px;
        line-height: 17px;
        letter-spacing: 0.025em;
    }
    footer .upper .seg:nth-of-type(2) {
        padding: 25px 0 0;
    }
    footer .upper .seg:nth-of-type(2) .list li {
        width: 100%;
        text-align: center;
    }
    footer .upper .seg:nth-of-type(2) .list li:nth-of-type(n+2) {
        margin: 10px 0 0;
        padding-left: 0;
        border-left: none;
    }
    footer .upper .seg:nth-of-type(2) .list a p {
        font-size: 12px;
        line-height: 18px;
    }
    footer .upper .seg:nth-of-type(2) .btn {
        margin: 30px 0 0;
    }
    footer .upper .seg:nth-of-type(2) .btn a {
        margin: auto;
        padding: 20px 0 0;
        width: 165px;
        height: 50px;
    }
    footer .upper .seg:nth-of-type(2) .btn a p {
        font-size: 10px;
        line-height: 1em;
    }
    footer .upper .seg:nth-of-type(2) .btn a .icon {
        position: absolute;
        top: 10px;
        right: 15px;
        bottom: 0;
        margin: auto;
        content: '';
        position: absolute;
        display: inline-block;
        width: 10px;
        height: 10px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
    footer .lower {
        padding: 0 20px 40px;
    }
    footer .lower .col-left {
        order: 2;
        padding: 45px 0 0;
        width: 100%;
    }
    footer .lower .col-left #footer-logo {
        text-align: center;
    }
    footer .lower .col-left #footer-logo img {
        height: 44px;
    }
    footer .lower .col-right {
        order: 1;
        width: 100%;
    }
    footer .lower .col-right .list li a {
        padding: 15px 0 0;
        height: 70px;
    }
    footer .lower .col-right .list li a p {
        font-size: 11px;
        line-height: 15px;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ////////////////////////////////////////////////////////////////////////////////

    modaal.js

//////////////////////////////////////////////////////////////////////////////// */
.modal-btn:focus {
    outline: none;
}

.modaal-window {
    display: none;
}

.modaal-wrapper {
    z-index: 99999 !important;
}

.modaal-inner-wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.modaal-overlay {
    z-index: 88888 !important;
}

.modaal-content-container {
    padding: 30px 0 100px;
}

.modaal-container {
    box-shadow: none;
    width: auto;
    max-width: none !important;
    background: none !important;
    pointer-events: none;
}

.modal-body {
    position: relative;
    pointer-events: visible;
}

.modal-body.type--movie .inside {
    width: 900px;
}

.modal-body.type--movie .inside .video {
    position: relative;
    display: block;
    padding-bottom: 56.25%;
    width: 100%;
    height: auto;
    background: #000;
}

.modal-body.type--movie .inside .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
}

.modal-body .modal-inline--close {
    position: absolute;
    right: 0;
    bottom: -80px;
    left: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    cursor: pointer;
}

.modal-body .modal-inline--close:before, .modal-body .modal-inline--close:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 40px;
    height: 2px;
    background: #df3252;
}

.modal-body .modal-inline--close:before {
    transform: rotate(45deg);
}

.modal-body .modal-inline--close:after {
    transform: rotate(-45deg);
}

@media only screen and (max-width: 767px) {
    .modaal-inner-wrapper {
        padding-left: 10px;
        padding-right: 10px;
    }
    .modal-body.type--movie .inside {
        width: calc(100vw - 60px);
    }
    .modal-body .modal-inline--close {
        position: absolute;
        right: 0;
        bottom: -40px;
        left: 0;
        margin: auto;
        width: 15px;
        height: 15px;
    }
    .modal-body .modal-inline--close:before, .modal-body .modal-inline--close:after {
        width: 20px;
        height: 2px;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/**
 * @see https://www.nxworld.net/tips/15-useful-css-snippets-in-form-style.html
 */
/* init & reset
------------------------------------------------------------ */
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    vertical-align: middle;
    font-size: inherit;
    color: inherit;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input::-ms-clear,
input::-ms-reveal {
    visibility: hidden;
}

select::-ms-expand {
    display: none;
}

button {
    cursor: pointer;
}

textarea {
    resize: vertical;
    min-height: 200px;
}

/* :focus
------------------------------------------------------------ */
input[type="text"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: #009fa8 !important;
}

input[type="checkbox"]:focus + label,
input[type="radio"]:focus + label {
    color: #009fa8;
}

input[type="checkbox"]:focus + label:before,
input[type="radio"]:focus + label:before {
    border-color: #009fa8;
}

button[type="submit"]:focus,
input[type="submit"]:focus {
    border: 5px solid #009fa8 !important;
}

label,
input[type="email"],
input[type="text"],
textarea {
    font-size: 13px;
    line-height: 1.8em;
    font-weight: 400;
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
}

input[type="email"],
input[type="text"],
textarea {
    border: 1px solid #fff;
}

@media only screen and (max-width: 767px) {
    label,
    input[type="email"],
    input[type="text"],
    textarea {
        font-size: 13px;
        line-height: 1.8em;
    }
}

/* input[type="text"]
------------------------------------------------------------ */
input[type="email"],
input[type="text"] {
    padding: 10px 13px;
    width: 100%;
    height: auto;
    background: #fff;
}

@media only screen and (max-width: 767px) {
    input[type="email"],
    input[type="text"] {
        padding: 5px 8px;
    }
}

/* textarea
------------------------------------------------------------ */
textarea {
    padding: 10px 13px;
    width: 100%;
    height: auto;
    resize: vertical;
    background: #fff;
    min-height: 200px;
}

@media only screen and (max-width: 767px) {
    textarea {
        padding: 5px 8px;
    }
}

/* input[type="radio"]
------------------------------------------------------------ */
input[type="radio"],
input[type="checkbox"] {
    opacity: 0;
    position: absolute;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 2px 2px 2px 28px;
    cursor: pointer;
}

input[type="radio"] + label:before, input[type="radio"] + label:after,
input[type="checkbox"] + label:before,
input[type="checkbox"] + label:after {
    content: '';
    position: absolute;
    display: inline-block;
}

input[type="radio"] + label:before,
input[type="checkbox"] + label:before {
    top: 50%;
    left: 0;
    width: 20px;
    height: 20px;
    margin-top: -9px;
    background: #fff;
    border: 1px solid #bababa;
}

input[type="radio"]:checked + label:after,
input[type="checkbox"]:checked + label:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2px;
    margin: auto;
    width: 17px;
    height: 14px;
    background: url(../img/contact/icon_checkmark.svg) no-repeat 0 0;
    background-size: 100% auto !important;
}

/* input[type="submit"]
------------------------------------------------------------ */
input[type="submit"] {
    display: inline-block;
    width: 360px;
    margin: 0 auto;
    cursor: pointer;
    background: #004898;
    font-size: 24px;
    line-height: 60px;
    color: #fff;
    text-align: center;
    letter-spacing: 0.15em;
    -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
}

input[type="submit"]:hover {
    background: rgba(0, 72, 152, 0.7);
}

@media only screen and (max-width: 767px) {
    input[type="submit"] {
        width: 60%;
        font-size: 14px;
        line-height: 40px;
    }
}

/* .select select
------------------------------------------------------------ */
.select {
    display: inline-block;
    position: relative;
}

.select:before {
    z-index: 1;
    content: '';
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    margin: auto;
    width: 12px;
    height: 10px;
    background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #bababa 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #bababa 50.5%) no-repeat top right/50% 100%;
}

.select select {
    border: 1px solid #bababa;
    background: #fff;
}

.select select:focus {
    border-color: #004898 !important;
}

@media only screen and (max-width: 767px) {
    .select {
        display: inline-block;
        position: relative;
    }
    .select:before {
        z-index: 1;
        content: '';
        position: absolute;
        top: 3px;
        right: 8px;
        bottom: 0;
        margin: auto;
        width: 6px;
        height: 5px;
        border-style: solid;
        border-width: 5px 3px 0 3px;
        border-color: #bababa transparent transparent transparent;
    }
}

/* ================================================================================

    #wrapper / main

================================================================================ */
#wrapper {
    position: relative;
    width: 100%;
    min-width: 1280px;
    height: auto;
    padding-top: 100px;
}

@media only screen and (max-width: 767px) {
    #wrapper {
        width: auto;
        height: auto;
        min-width: 100%;
        padding-top: 60px;
    }
}

/* ================================================================================

    body

================================================================================ */
.accordion-body {
    display: none;
}

body.page-child.customer.info #mv {
    background: url(../img/customer/info_mv_pc.jpg) no-repeat center;
}

body.page-child.customer.internet #mv {
    background: url(../img/customer/internet_mv_pc.jpg) no-repeat center;
}

body.page-child.company.message #mv {
    background: url(../img/company/message_mv_pc.jpg) no-repeat center;
}

body.page-child.company.profile #mv {
    background: url(../img/company/profile_mv_pc.jpg) no-repeat center;
}

body.page-child.company.office #mv {
    background: url(../img/company/office_mv_pc.jpg) no-repeat center;
}

body.page-child.company.group #mv {
    background: url(../img/company/group_mv_pc.jpg) no-repeat center;
}

body.page-child.contact #mv {
    background: url(../img/contact/top_mv_pc.jpg) no-repeat center;
}

body.page-parent main, body.page-child main {
    padding: 40px 0 0;
}

body.page-parent main #mv, body.page-child main #mv {
    position: relative;
    margin: 0 auto 60px;
    width: 1080px;
    height: 200px;
    background-size: cover !important;
    overflow: hidden;
}

body.page-parent main #mv #h1, body.page-child main #mv #h1 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.page-parent main #mv #h1 .set > *, body.page-child main #mv #h1 .set > * {
    display: inline-block;
}

body.page-parent main #mv #h1 .set h1, body.page-child main #mv #h1 .set h1 {
    font-size: 32px;
    line-height: 1em;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 767px) {
    body.page-child.customer.info #mv {
        background: url(../img/customer/info_mv_sp.jpg) no-repeat center;
    }
    body.page-child.customer.internet #mv {
        background: url(../img/customer/internet_mv_sp.jpg) no-repeat center;
    }
    body.page-child.company.message #mv {
        background: url(../img/company/message_mv_sp.jpg) no-repeat center;
    }
    body.page-child.company.profile #mv {
        background: url(../img/company/profile_mv_sp.jpg) no-repeat center;
    }
    body.page-child.company.office #mv {
        background: url(../img/company/office_mv_sp.jpg) no-repeat center;
    }
    body.page-child.company.group #mv {
        background: url(../img/company/group_mv_sp.jpg) no-repeat center;
    }
    body.page-child.contact #mv {
        background: url(../img/contact/top_mv_sp.jpg) no-repeat center;
    }
    body.page-parent.more main,
    body.page-parent.news main, body.page-child.more main,
    body.page-child.news main {
        padding: 50px 0 0;
    }
    body.page-parent main, body.page-child main {
        padding: 0;
    }
    body.page-parent main #mv, body.page-child main #mv {
        margin: 0 0 50px;
        padding-bottom: 26.66%;
        width: 100%;
        height: auto;
    }
    body.page-parent main #mv #h1, body.page-child main #mv #h1 {
        height: 100%;
    }
    body.page-parent main #mv #h1 .set > *, body.page-child main #mv #h1 .set > * {
        display: block;
    }
    body.page-parent main #mv #h1 .set h1, body.page-child main #mv #h1 .set h1 {
        font-size: 22px;
        line-height: 29px;
        text-align: center;
    }
}

/* ================================================================================

    btn

================================================================================ */
@media screen and (min-width: 768px) {
    .link--underline:hover {
        text-decoration: underline;
    }
}

/* ================================================================================

    decoration

================================================================================ */
@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    body.home
================================================================================ */
@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.25);
    }
}

body.home main {
    opacity: 0;
}

body.home main.onload-in {
    animation: animOpacity 1s cubic-bezier(0.39, 0.575, 0.565, 1) 0s 1 forwards;
}

body.home main #mv {
    position: relative;
    width: 100%;
    background: #fff;
}

body.home main #mv .swiper-container {
    overflow: hidden;
}

body.home main #mv .swiper-container .swiper-slide-active .slide-img,
body.home main #mv .swiper-container .swiper-slide-duplicate-active .slide-img,
body.home main #mv .swiper-container .swiper-slide-prev .slide-img {
    animation: zoomUp 10s linear 0s 1 normal both;
}

body.home main #mv #h1 {
    z-index: 100;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    margin: auto;
    width: 760px;
    height: 160px;
}

body.home main #top-news .ttl {
    text-align: center;
}

body.home main #top-news .ttl img {
    width: 280px;
}

body.home main #top-news .list ul {
    padding: 40px 0;
    border-top: 1px solid #c5c5c5;
    border-bottom: 1px solid #c5c5c5;
}

body.home main #top-news .list li {
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.home main #top-news .list li:nth-of-type(n+2) {
    margin-top: 10px;
}

body.home main #top-news .list li .dt {
    width: 130px;
}

body.home main #top-news .list li .dt p {
    font-weight: bold;
}

body.home main #top-news .list li .dd {
    width: calc(100% - 130px);
}

body.home main #top-news .list li .dd a:link {
    color: #004898;
}

body.home main #top-news .list li .dd a:visited {
    color: #004898;
}

body.home main #top-news .list li .dd a:hover {
    text-decoration: underline;
}

body.home main #top-news .list li .dd .fb {
    font-weight: bold;
}

body.home main #top-news .list li .dd p.topmgn {
    margin: 10px 0 0 0;
}

body.home main #top-menu {
    margin: 120px 0 0;
}

body.home main #top-menu .list li {
    width: 48.14%;
}

body.home main #top-menu .list li:nth-of-type(even) {
    margin-left: 3.72%;
}

body.home main #top-menu .list li:nth-of-type(n+3) {
    margin-top: 60px;
}

body.home main #top-menu .list li a {
    display: block;
    text-align: center;
}

body.home main #top-menu .list li a .txt-set {
    margin: 20px 0 0;
}

body.home main #top-menu .list li a .txt-set .ttl p {
    font-size: 30px;
    line-height: 1em;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

body.home main #top-menu .list li a .txt-set .txt {
    margin: 15px 0 0;
}

body.home main #top-menu .list li a .txt-set .txt p {
    font-size: 16px;
    line-height: 1em;
    font-weight: 400;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
}

body.home main #top-menu .list li a .viewmore {
    position: relative;
    display: block;
    margin: 20px auto 0;
    padding: 30px 0 0;
}

body.home main #top-menu .list li a .viewmore:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 1px;
    height: 30px;
    background: #004898;
}

body.home main #top-menu .list li a .viewmore p {
    display: block;
    margin: auto;
    width: 180px;
    height: 40px;
    background: #fff;
    border: 1px solid #004898;
    font-size: 14px;
    line-height: 38px;
    font-weight: 500;
    color: #004898;
    font-family: "Noto Serif JP", serif;
}

@media screen and (min-width: 768px) {
    body.home main #top-menu .list li a .viewmore {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.home main #top-menu .list li a .viewmore:before, body.home main #top-menu .list li a .viewmore p {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.home main #top-menu .list li a:hover .viewmore:before {
        background: #009fa8;
    }
    body.home main #top-menu .list li a:hover .viewmore p {
        border-color: #009fa8;
        background: #009fa8;
        color: #fff;
    }
}

body.home main #top-contact {
    margin: 140px 0 0;
}

body.home main #top-contact .h2 {
    position: relative;
    padding: 60px 0 0;
    text-align: center;
}

body.home main #top-contact .h2:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 1px;
    height: 50px;
    background: #009fa8;
}

body.home main #top-contact .h2 h2 {
    font-size: 30px;
    line-height: 1em;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
}

body.home main #top-contact .h2 .txt {
    margin: 15px 0 0;
}

body.home main #top-contact .h2 .txt p {
    font-size: 16px;
    line-height: 1em;
    font-weight: 400;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
}

body.home main #top-contact .list {
    margin: 40px 0 0;
}

body.home main #top-contact .list li {
    width: 31.48%;
}

body.home main #top-contact .list li:nth-of-type(n+2) {
    margin-left: 2.78%;
}

body.home main #top-contact .list li a {
    display: block;
    border: 1px solid #bababa;
}

@media screen and (min-width: 768px) {
    body.home main #top-contact .list li a:before {
        content: '';
        position: absolute;
        top: 2.5%;
        left: 2.5%;
        width: 95%;
        height: 95%;
        border: 2px solid #009fa8;
        opacity: 0;
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.home main #top-contact .list li a:hover:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
    }
}

@media only screen and (max-width: 767px) {
    body.home main #mv #h1 {
        width: 335px;
        height: 110px;
    }
    body.home main #top-news {
        margin: 15px 0 0;
        padding: 0 20px;
    }
    body.home main #top-news .ttl img {
        width: 140px;
    }
    body.home main #top-news .list ul {
        padding: 15px 0;
    }
    body.home main #top-news .list li:nth-of-type(n+2) {
        margin-top: 10px;
    }
    body.home main #top-news .list li p {
        font-size: 13px;
        line-height: 20px;
        letter-spacing: 0;
        text-align: justify;
        text-justify: inter-ideograph;
    }
    body.home main #top-news .list li .dt {
        width: 27%;
    }
    body.home main #top-news .list li .dd {
        width: 73%;
    }
    body.home main #top-news .list li .dd p.topmgn {
        margin: 10px 0 0 0;
    }
    body.home main #top-menu {
        margin: 50px 0 0;
        padding: 0 40px;
    }
    body.home main #top-menu .list li {
        width: 100%;
    }
    body.home main #top-menu .list li:nth-of-type(even) {
        margin-left: 0;
    }
    body.home main #top-menu .list li:nth-of-type(n+2) {
        margin-top: 30px;
    }
    body.home main #top-menu .list li a .txt-set {
        margin: 15px 0 0;
    }
    body.home main #top-menu .list li a .txt-set .ttl p {
        font-size: 21px;
        line-height: 1em;
    }
    body.home main #top-menu .list li a .txt-set .txt {
        margin: 10px 0 0;
    }
    body.home main #top-menu .list li a .txt-set .txt p {
        font-size: 13px;
        line-height: 18px;
        letter-spacing: 0.025em;
    }
    body.home main #top-menu .list li a .viewmore {
        margin: 10px auto 0;
        padding: 20px 0 0;
    }
    body.home main #top-menu .list li a .viewmore:before {
        height: 20px;
    }
    body.home main #top-menu .list li a .viewmore p {
        width: 120px;
        height: 30px;
        font-size: 11px;
        line-height: 28px;
    }
    body.home main #top-contact {
        margin: 60px 0 0;
        padding: 0 40px;
    }
    body.home main #top-contact .h2 h2 {
        font-size: 26px;
        line-height: 1em;
    }
    body.home main #top-contact .h2 .txt {
        margin: 10px 0 0;
    }
    body.home main #top-contact .h2 .txt p {
        font-size: 14px;
        letter-spacing: 0.025em;
    }
    body.home main #top-contact .list {
        margin: 30px 0 0;
    }
    body.home main #top-contact .list li {
        width: 100%;
    }
    body.home main #top-contact .list li:nth-of-type(n+2) {
        margin: 20px 0 0;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    body.company
================================================================================ */
body.company main #company-body .basic-list ul {
    border-top: 1px solid #bababa;
}

body.company main #company-body .basic-list ul > li {
    padding: 30px 0;
    border-bottom: 1px solid #bababa;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.company main #company-body .basic-list ul > li .dt p {
    font-weight: bold;
    letter-spacing: 0;
}

body.company main #company-body .basic-list ul > li .dt, body.company main #company-body .basic-list ul > li .dd {
    position: relative;
}

body.company main #company-body .basic-list ul > li p {
    font-size: 16px;
    line-height: 32px;
    letter-spacing: 0.05em;
    text-align: justify;
    text-justify: inter-ideograph;
}

body.company main #company-body .basic-list ul > li p.small {
    font-size: 13px;
}

@media only screen and (max-width: 767px) {
    body.company main #company-body {
        padding: 0 20px;
    }
    body.company main #company-body .basic-list ul > li {
        padding: 15px 0;
    }
    body.company main #company-body .basic-list ul > li p {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 0.025em;
    }
    body.company main #company-body .basic-list ul > li p.small {
        font-size: 12px;
    }
}

/* ================================================================================
    body.company.message
================================================================================ */
body.company.message main #mv {
    margin-bottom: 140px;
    height: 530px;
    overflow: visible;
}

body.company.message main #mv #h1 {
    width: 100%;
    height: 100%;
}

body.company.message main #mv #h1 h1 {
    position: absolute;
    right: 65px;
    bottom: 0;
    transform: translateY(80px);
    width: 490px;
    height: 461px;
}

body.company.message main #company-body .txt p {
    font-size: 16px;
    line-height: 34px;
    letter-spacing: 0.05em;
}

@media only screen and (max-width: 767px) {
    body.company.message main #mv {
        margin-bottom: 100px;
        padding-bottom: 66.666% !important;
        height: auto;
    }
    body.company.message main #mv #h1 h1 {
        position: absolute;
        top: 0;
        right: 20px;
        transform: translateY(23.43%);
        width: 190px;
        height: 256px;
    }
    body.company.message main #company-body .txt p {
        font-size: 14px;
        line-height: 26px;
        letter-spacing: 0.025em;
    }
}

/* ================================================================================
    body.company.profile
================================================================================ */
body.company.profile main #company-body .basic-list ul > li .dt {
    width: 15.55%;
}

body.company.profile main #company-body .basic-list ul > li .dd {
    width: 84.45%;
}

body.company.profile main #company-body .basic-list ul > li .map {
    position: relative;
    margin: 25px 0 0;
    width: 100%;
    padding-bottom: 39.47%;
    background: #333;
}

body.company.profile main #company-body .basic-list ul > li .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 767px) {
    body.company.profile main #company-body .basic-list ul > li .dt {
        width: 25.37%;
    }
    body.company.profile main #company-body .basic-list ul > li .dd {
        width: 74.63%;
    }
    body.company.profile main #company-body .basic-list ul > li .map {
        margin: 15px 0 0;
        width: 100%;
        padding-bottom: 100%;
    }
}

/* ================================================================================
    body.company.office
================================================================================ */
body.company.office main #company-body .basic-list ul > li .dt {
    width: 16.66%;
}

body.company.office main #company-body .basic-list ul > li .dd {
    width: 83.34%;
}

body.company.office main #company-body .basic-list ul > li p {
    line-height: 26px;
}

body.company.office main #company-body .basic-list ul > li .btn a {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    display: inline-block;
    width: 120px;
    height: 40px;
    background: #6691c1;
    border-radius: 999px;
}

body.company.office main #company-body .basic-list ul > li .btn a p {
    font-size: 16px;
    line-height: 38px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    text-align: center;
}

@media screen and (min-width: 768px) {
    body.company.office main #company-body .basic-list ul > li .btn a {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.company.office main #company-body .basic-list ul > li .btn a:hover {
        background: #004898;
    }
}

@media only screen and (max-width: 767px) {
    body.company.office main #company-body .basic-list ul > li .dt {
        width: 32.83%;
    }
    body.company.office main #company-body .basic-list ul > li .dd {
        width: 67.17%;
    }
    body.company.office main #company-body .basic-list ul > li p {
        line-height: 24px;
    }
    body.company.office main #company-body .basic-list ul > li .btn {
        margin: 10px 0 0;
    }
    body.company.office main #company-body .basic-list ul > li .btn a {
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        margin: auto;
        width: 100px;
        height: 30px;
    }
    body.company.office main #company-body .basic-list ul > li .btn a p {
        font-size: 13px;
        line-height: 28px;
        letter-spacing: 0.025em;
    }
}

/* ================================================================================
    body.company.group
================================================================================ */
body.company.group main #company-body .basic-list ul > li .dt {
    width: 30%;
}

body.company.group main #company-body .basic-list ul > li .dd {
    width: 70%;
}

@media only screen and (max-width: 767px) {
    body.company.group main #company-body .basic-list ul > li .dt {
        width: 35.82%;
    }
    body.company.group main #company-body .basic-list ul > li .dd {
        width: 64.18%;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    body.customer
================================================================================ */
body.customer main .h2 {
    padding: 20px 30px;
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    border-left: 2px solid #004898;
    border-right: 2px solid #009fa8;
}

body.customer main .h2 h2 {
    font-size: 24px;
    line-height: 1em;
    font-weight: 600;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
    text-align: justify;
    text-justify: inter-ideograph;
}

body.customer main .h3 {
    position: relative;
    padding: 0 0 0 60px;
}

body.customer main .h3:before, body.customer main .h3:after {
    content: '';
    width: 22px;
    height: 22px;
}

body.customer main .h3:before {
    position: absolute;
    top: 0;
    left: 0;
    background: #004898;
}

body.customer main .h3:after {
    position: absolute;
    top: 0;
    left: 22px;
    background: #009fa8;
}

body.customer main .h3 h3 {
    font-size: 22px;
    line-height: 1em;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 767px) {
    body.customer main .h2 {
        padding: 15px 20px;
    }
    body.customer main .h2 h2 {
        font-size: 16px;
        line-height: 24px;
    }
    body.customer main .h3 {
        padding: 0 0 0 55px;
    }
    body.customer main .h3:before, body.customer main .h3:after {
        width: 20px;
        height: 20px;
    }
    body.customer main .h3:after {
        position: absolute;
        top: 0;
        left: 20px;
    }
    body.customer main .h3 h3 {
        transform: translateY(-0.1em);
        margin-bottom: -0.1em;
        font-size: 17px;
        line-height: 22px;
    }
}

/* ================================================================================
    body.customer.info
================================================================================ */
body.customer.info main #info-body .block:nth-of-type(n+2) {
    margin-top: 80px;
}

body.customer.info main #info-body .block:nth-of-type(1) .txt + .h3 {
    margin: 60px 0 0;
}

body.customer.info main #info-body .sets {
    margin-top: 30px;
}

body.customer.info main #info-body .set:nth-of-type(n+2) {
    margin-top: 60px;
}

body.customer.info main #info-body .h4 {
    position: relative;
    padding: 0 0 0 70px;
}

body.customer.info main #info-body .h4:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 60px;
    height: 1px;
    background: #004898;
}

body.customer.info main #info-body .h4 h4 {
    font-size: 18px;
    line-height: 1em;
    font-weight: 600;
    color: #004898;
}

body.customer.info main #info-body .txt p + p {
    margin: 25px 0 0;
}

body.customer.info main #info-body .txt a {
    font-weight: 400;
}

body.customer.info main #info-body .txt p.bold {
    font-size: 16px;
    line-height: 28px;
    font-weight: 600;
}

body.customer.info main #info-body .txt p.small {
    font-size: 14px;
    line-height: 28px;
}

body.customer.info main #info-body .btn a {
    margin: auto;
    padding: 0 0 0 25px;
    width: 300px;
    height: 50px;
    border: 1px solid #004898;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.customer.info main #info-body .btn a:before {
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
    content: '';
    position: absolute;
    display: inline-block;
    width: 10px;
    height: 10px;
    border-top: 1px solid #009fa8;
    border-right: 1px solid #009fa8;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

body.customer.info main #info-body .btn a p {
    font-size: 16px;
    line-height: 1em;
    font-weight: 500;
    color: #004898;
    font-family: "Noto Serif JP", serif;
}

@media screen and (min-width: 768px) {
    body.customer.info main #info-body .btn a {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.customer.info main #info-body .btn a:before, body.customer.info main #info-body .btn a p {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.customer.info main #info-body .btn a:hover {
        background: #009fa8;
    }
    body.customer.info main #info-body .btn a:hover:before {
        right: 20px;
        border-color: #fff;
    }
    body.customer.info main #info-body .btn a:hover p {
        color: #fff;
    }
}

body.customer.info main #info-body .basic-list {
    margin: 30px 0 0;
}

body.customer.info main #info-body .basic-list ul {
    border-top: 1px solid #bababa;
}

body.customer.info main #info-body .basic-list ul > li {
    padding: 20px 0;
    border-bottom: 1px solid #bababa;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.customer.info main #info-body .basic-list ul > li .dt {
    width: 480px;
}

body.customer.info main #info-body .basic-list ul > li .dt p {
    font-weight: bold;
}

body.customer.info main #info-body .basic-list ul > li .dd {
    width: calc(100% - 480px);
}

body.customer.info main #info-body .basic-list ul > li p {
    font-size: 16px;
    line-height: 1em;
    letter-spacing: 0.05em;
}

@media only screen and (max-width: 767px) {
    body.customer.info main #info-body {
        padding: 0 20px;
    }
    body.customer.info main #info-body .block:nth-of-type(n+2) {
        margin-top: 50px;
    }
    body.customer.info main #info-body .block:nth-of-type(1) .txt + .h3 {
        margin: 25px 0 0;
    }
    body.customer.info main #info-body .sets {
        margin-top: 20px;
    }
    body.customer.info main #info-body .set:nth-of-type(n+2) {
        margin-top: 30px;
    }
    body.customer.info main #info-body .h4 h4 {
        font-size: 16px;
        line-height: 1em;
    }
    body.customer.info main #info-body .txt p + p {
        margin: 20px 0 0;
    }
    body.customer.info main #info-body .txt p.bold {
        font-size: 14px;
        line-height: 25px;
    }
    body.customer.info main #info-body .txt p.small {
        font-size: 14px;
        line-height: 25px;
    }
    body.customer.info main #info-body .btn a {
        padding: 0 0 0 20px;
        width: 250px;
        height: 40px;
    }
    body.customer.info main #info-body .btn a:before {
        position: absolute;
        top: 0;
        right: 15px;
        bottom: 0;
        margin: auto;
        content: '';
        position: absolute;
        display: inline-block;
        width: 8px;
        height: 8px;
        border-top: 1px solid #009fa8;
        border-right: 1px solid #009fa8;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }
    body.customer.info main #info-body .btn a p {
        font-size: 14px;
        line-height: 1em;
    }
    body.customer.info main #info-body .basic-list {
        margin: 20px 0 0;
    }
    body.customer.info main #info-body .basic-list ul > li {
        padding: 15px 0;
    }
    body.customer.info main #info-body .basic-list ul > li .dt {
        width: 200px;
    }
    body.customer.info main #info-body .basic-list ul > li .dd {
        width: calc(100% - 200px);
    }
    body.customer.info main #info-body .basic-list ul > li p {
        font-size: 14px;
        line-height: 18px;
        letter-spacing: 0;
    }
}

/* ================================================================================
    body.customer.internet
================================================================================ */
body.customer.internet main #internet-body .block:nth-of-type(n+2) {
    margin-top: 80px;
}

body.customer.internet main #internet-body .h2 {
    margin-bottom: 60px;
}

body.customer.internet main #internet-body .set {
    padding: 30px 40px 40px;
    border: 1px solid #c6c6c6;
}

body.customer.internet main #internet-body .set:nth-of-type(n+2) {
    margin-top: 60px;
}

body.customer.internet main #internet-body .set .logo {
    margin: 0 0 30px;
    text-align: center;
}

body.customer.internet main #internet-body .set .logo img {
    height: 50px;
}

body.customer.internet main #internet-body .set .h3 {
    margin-bottom: 20px;
}

body.customer.internet main #internet-body .set ul > li:nth-of-type(n+2) {
    margin-top: 30px;
}

body.customer.internet main #internet-body .set ol > li {
    width: 47.56%;
}

body.customer.internet main #internet-body .set ol > li:nth-of-type(even) {
    margin-left: 4.88%;
}

body.customer.internet main #internet-body .set ol > li:nth-of-type(n+3) {
    margin-top: 30px;
}

body.customer.internet main #internet-body .set .caption p,
body.customer.internet main #internet-body .set .more p {
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0;
    text-align: justify;
    text-justify: inter-ideograph;
}

body.customer.internet main #internet-body .set .caption {
    margin-top: 15px;
}

body.customer.internet main #internet-body .set .more {
    margin-top: 30px;
}

body.customer.internet main #internet-body .single {
    padding: 0 105px;
}

body.customer.internet main #internet-body a {
    display: block;
}

@media screen and (min-width: 768px) {
    body.customer.internet main #internet-body a {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.customer.internet main #internet-body a:hover {
        opacity: 0.65;
    }
}

@media only screen and (max-width: 767px) {
    body.customer.internet main #internet-body {
        padding: 0 20px;
    }
    body.customer.internet main #internet-body .block:nth-of-type(n+2) {
        margin-top: 50px;
    }
    body.customer.internet main #internet-body .h2 {
        margin-bottom: 30px;
    }
    body.customer.internet main #internet-body .set {
        padding: 25px 20px 30px;
    }
    body.customer.internet main #internet-body .set:nth-of-type(n+2) {
        margin-top: 30px;
    }
    body.customer.internet main #internet-body .set .logo {
        margin: 0 0 25px;
    }
    body.customer.internet main #internet-body .set .logo img {
        height: 25px;
    }
    body.customer.internet main #internet-body .set .h3 {
        margin-bottom: 10px;
    }
    body.customer.internet main #internet-body .set ul > li:nth-of-type(n+2) {
        margin-top: 20px;
    }
    body.customer.internet main #internet-body .set ol > li {
        width: 100%;
    }
    body.customer.internet main #internet-body .set ol > li:nth-of-type(even) {
        margin-left: 0;
    }
    body.customer.internet main #internet-body .set ol > li:nth-of-type(n+2) {
        margin-top: 20px;
    }
    body.customer.internet main #internet-body .set .caption p,
    body.customer.internet main #internet-body .set .more p {
        font-size: 13px;
        line-height: 22px;
    }
    body.customer.internet main #internet-body .set .caption {
        margin-top: 10px;
    }
    body.customer.internet main #internet-body .set .more {
        margin-top: 15px;
    }
    body.customer.internet main #internet-body .single {
        padding: 0;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    body.contact
================================================================================ */
body.contact main #contact-banners .flex {
    justify-content: center !important;
}

body.contact main #contact-banners .col {
    width: 340px;
}

body.contact main #contact-banners .col:nth-of-type(2) {
    margin-left: 10px;
}

body.contact main #contact-banners .col a {
    display: block;
    border: 1px solid #bababa;
}

@media screen and (min-width: 768px) {
    body.contact main #contact-banners .col a:before {
        content: '';
        position: absolute;
        top: 2.5%;
        left: 2.5%;
        width: 95%;
        height: 95%;
        border: 2px solid #009fa8;
        opacity: 0;
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.contact main #contact-banners .col a:hover:before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 1;
    }
}

body.contact main #contact-body {
    margin: 80px 0 0;
}

body.contact main #contact-body .h2 {
    margin: 0 0 60px;
    padding: 70px 0 0;
    text-align: center;
    /*&:hover{
                    opacity : 0.5;
                }*/
}

body.contact main #contact-body .h2:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    width: 54px;
    height: 51px;
    background: url(../img/contact/icon_contact.svg) no-repeat 0 0;
    background-size: 100% auto !important;
}

body.contact main #contact-body .h2 h2 {
    font-size: 34px;
    line-height: 1em;
    font-weight: 500;
    color: #004898;
    font-family: "Noto Serif JP", serif;
    /*text-decoration       : underline 1px solid;
                    text-underline-offset : 5px;*/
}

body.contact main #contact-body #form-body {
    background: #f3f3f3;
}

body.contact main #contact-body #form-body ul > li {
    padding: 30px 40px 30px 30px;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.contact main #contact-body #form-body ul > li:nth-of-type(n+2) {
    border-top: 1px solid #dcdcdc;
}

body.contact main #contact-body #form-body ul > li.must .dt p:before {
    content: '必須';
    background: #009fa8;
    color: #fff;
}

body.contact main #contact-body #form-body ul > li.free .dt p:before {
    content: '任意';
    background: #fff;
    border: 1px solid #666;
    color: #666;
}

body.contact main #contact-body #form-body ul > li .dt {
    padding: 10px 0 0;
    width: 33.3%;
}

body.contact main #contact-body #form-body ul > li .dt p {
    position: relative;
    display: inline-block;
    font-size: 14px;
    line-height: 24px;
    font-weight: 700;
}

body.contact main #contact-body #form-body ul > li .dt p:before {
    position: absolute;
    top: 0;
    right: -65px;
    width: 50px;
    height: 24px;
    border-radius: 5px;
    text-align: center;
    font-size: 13px;
    line-height: 22px;
    font-weight: 700;
}

body.contact main #contact-body #form-body ul > li .dd {
    width: 66.7%;
}

body.contact main #contact-body #form-captcha {
    margin: 50px 0 0;
    text-align: center;
}

body.contact main #contact-body #form-captcha .dummy img {
    height: 99px;
}

body.contact main #contact-body #form-submit,
body.contact main #contact-body #form-back-submit {
    margin: 50px 0 0;
    text-align: center;
}

body.contact main #contact-body #form-submit .col2,
body.contact main #contact-body #form-back-submit .col2 {
    width: 700px;
}

body.contact main #contact-body #form-submit .col2 li,
body.contact main #contact-body #form-back-submit .col2 li {
    width: 48.57%;
}

body.contact main #contact-body #form-submit .col2 li:nth-of-type(2),
body.contact main #contact-body #form-back-submit .col2 li:nth-of-type(2) {
    margin-left: 2.86%;
}

body.contact main #contact-body #form-submit .col2 li button,
body.contact main #contact-body #form-back-submit .col2 li button {
    width: 100%;
}

body.contact main #contact-body #form-submit button,
body.contact main #contact-body #form-back-submit button {
    position: relative;
    width: 540px;
    height: 80px;
    border: 2px solid #004898;
    background: #004898;
    border-radius: 999px;
}

body.contact main #contact-body #form-submit button.color--white,
body.contact main #contact-body #form-back-submit button.color--white {
    background: #fff;
}

body.contact main #contact-body #form-submit button.color--white:before,
body.contact main #contact-body #form-back-submit button.color--white:before {
    position: absolute;
    top: 0;
    right: nul;
    bottom: 0;
    left: 30px;
    margin: auto;
    content: '';
    position: absolute;
    display: inline-block;
    width: 14px;
    height: 14px;
    border-top: 1px solid #004898;
    border-right: 1px solid #004898;
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
}

body.contact main #contact-body #form-submit button.color--white:after,
body.contact main #contact-body #form-back-submit button.color--white:after {
    display: none;
}

body.contact main #contact-body #form-submit button.color--white p,
body.contact main #contact-body #form-back-submit button.color--white p {
    color: #004898;
}

body.contact main #contact-body #form-submit button p,
body.contact main #contact-body #form-back-submit button p {
    font-size: 18px;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0.025em;
    color: #fff;
    font-family: "Noto Serif JP", serif;
}

body.contact main #contact-body #form-submit button:after,
body.contact main #contact-body #form-back-submit button:after {
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    margin: auto;
    content: '';
    position: absolute;
    display: inline-block;
    width: 14px;
    height: 14px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (min-width: 768px) {
    body.contact main #contact-body #form-submit button,
    body.contact main #contact-body #form-back-submit button {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.contact main #contact-body #form-submit button p, body.contact main #contact-body #form-submit button:before, body.contact main #contact-body #form-submit button:after,
    body.contact main #contact-body #form-back-submit button p,
    body.contact main #contact-body #form-back-submit button:before,
    body.contact main #contact-body #form-back-submit button:after {
        -webkit-transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
        transition: all 0.18s cubic-bezier(0.39, 0.575, 0.565, 1);
    }
    body.contact main #contact-body #form-submit button:hover,
    body.contact main #contact-body #form-back-submit button:hover {
        background: #009fa8;
    }
    body.contact main #contact-body #form-submit button:hover p,
    body.contact main #contact-body #form-back-submit button:hover p {
        color: #fff;
    }
    body.contact main #contact-body #form-submit button:hover:before,
    body.contact main #contact-body #form-back-submit button:hover:before {
        left: 25px;
        border-color: #fff;
    }
    body.contact main #contact-body #form-submit button:hover:after,
    body.contact main #contact-body #form-back-submit button:hover:after {
        right: 25px;
        border-color: #fff;
    }
}

body.contact main #contact-body #form-submit .read-privacy,
body.contact main #contact-body #form-back-submit .read-privacy {
    margin: 30px 0 0;
}

body.contact main #contact-body #form-submit .read-privacy p,
body.contact main #contact-body #form-back-submit .read-privacy p {
    font-size: 14px;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0.025em;
    font-family: "Noto Serif JP", serif;
}

@media only screen and (max-width: 767px) {
    body.contact main #contact-banners {
        padding: 0 40px;
    }
    body.contact main #contact-banners .col {
        width: 100%;
    }
    body.contact main #contact-banners .col:nth-of-type(2) {
        margin: 10px 0 0;
    }
    body.contact main #contact-body {
        margin: 40px 0 0;
        padding: 0 20px;
    }
    body.contact main #contact-body .h2 {
        margin: 0 0 30px;
        padding: 35px 0 0;
    }
    body.contact main #contact-body .h2:before {
        width: 27px;
        height: 26px;
    }
    body.contact main #contact-body .h2 h2 {
        font-size: 21px;
        line-height: 1em;
    }
    body.contact main #contact-body #form-body ul > li {
        padding: 15px 20px;
    }
    body.contact main #contact-body #form-body ul > li:last-of-type {
        padding-bottom: 20px;
    }
    body.contact main #contact-body #form-body ul > li .dt {
        padding: 0;
        width: 100%;
    }
    body.contact main #contact-body #form-body ul > li .dt p {
        font-size: 14px;
        line-height: 20px;
    }
    body.contact main #contact-body #form-body ul > li .dt p:before {
        position: absolute;
        top: 0;
        right: -50px;
        width: 40px;
        height: 20px;
        font-size: 11px;
        line-height: 18px;
    }
    body.contact main #contact-body #form-body ul > li .dd {
        margin: 10px 0 0;
        width: 100%;
    }
    body.contact main #contact-body #form-captcha {
        margin: 30px 0 0;
    }
    body.contact main #contact-body #form-captcha .dummy img {
        height: 69px;
    }
    body.contact main #contact-body #form-submit,
    body.contact main #contact-body #form-back-submit {
        margin: 30px 0 0;
    }
    body.contact main #contact-body #form-submit .inline-block,
    body.contact main #contact-body #form-back-submit .inline-block {
        display: block !important;
    }
    body.contact main #contact-body #form-submit .col2,
    body.contact main #contact-body #form-back-submit .col2 {
        width: 100%;
    }
    body.contact main #contact-body #form-submit .col2 li,
    body.contact main #contact-body #form-back-submit .col2 li {
        width: 100%;
    }
    body.contact main #contact-body #form-submit .col2 li:nth-of-type(n+2),
    body.contact main #contact-body #form-back-submit .col2 li:nth-of-type(n+2) {
        margin: 10px 0 0;
    }
    body.contact main #contact-body #form-submit button,
    body.contact main #contact-body #form-back-submit button {
        width: 100%;
        height: 60px;
    }
    body.contact main #contact-body #form-submit button.color--white:before,
    body.contact main #contact-body #form-back-submit button.color--white:before {
        left: 25px;
        width: 12px;
        height: 12px;
    }
    body.contact main #contact-body #form-submit button p,
    body.contact main #contact-body #form-back-submit button p {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 0.01em;
    }
    body.contact main #contact-body #form-submit button:after,
    body.contact main #contact-body #form-back-submit button:after {
        right: 25px;
        width: 12px;
        height: 12px;
    }
    body.contact main #contact-body #form-submit .read-privacy,
    body.contact main #contact-body #form-back-submit .read-privacy {
        margin: 20px 0 0;
    }
    body.contact main #contact-body #form-submit .read-privacy p,
    body.contact main #contact-body #form-back-submit .read-privacy p {
        font-size: 13px;
        letter-spacing: 0;
    }
}

/* ================================================================================
    body.contact.top
================================================================================ */
body.contact.top main #contact-body .dd .col {
    width: 48.2%;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.contact.top main #contact-body .dd .col:nth-of-type(2) {
    margin-left: 3.6%;
}

body.contact.top main #contact-body .dd .col label {
    width: 35px;
    font-size: 14px;
    line-height: 1em;
    font-weight: 400;
}

body.contact.top main #contact-body .dd .col input[type="text"] {
    width: calc(100% - 35px);
}

body.contact.top main #contact-body .dd .checkboxes {
    padding: 8px 0 0;
}

body.contact.top main #contact-body .dd .checkboxes > *:nth-of-type(2) {
    margin-left: 35px;
}

body.contact.top main #contact-body .dd .size--s {
    width: 150px;
}

@media only screen and (max-width: 767px) {
    body.contact.top main #contact-body .dd .col label {
        width: 30px;
        font-size: 12px;
        line-height: 1em;
    }
    body.contact.top main #contact-body .dd .col input[type="text"] {
        width: calc(100% - 30px);
    }
    body.contact.top main #contact-body .dd .checkboxes {
        padding: 0;
    }
    body.contact.top main #contact-body .dd .checkboxes > *:nth-of-type(2) {
        margin-left: 25px;
    }
    body.contact.top main #contact-body .dd .size--s {
        width: 125px;
    }
}

/* ================================================================================
    body.contact.confirm
================================================================================ */
body.contact.confirm main #contact-body #form-body ul > li .dd {
    padding-top: 10px;
}

body.contact.confirm main #contact-body #form-body .confirm-txt p {
    font-size: 14px;
    line-height: 28px;
    text-align: justify;
    text-justify: inter-ideograph;
}

body.contact.confirm main #contact-body #form-body .alert-txt p {
    color: #ff0000;
    font-weight: bold;
}

@media only screen and (max-width: 767px) {
    body.contact.confirm main #contact-body #form-body ul > li .dd {
        padding-top: 0;
    }
    body.contact.confirm main #contact-body #form-body .confirm-txt p {
        font-size: 13px;
        line-height: 20px;
    }
}

/* ================================================================================
    body.contact.thanks
================================================================================ */
body.contact.thanks main #thanks-message {
    padding: 40px 40px;
    border: 1px solid #d4dedf;
    text-align: center;
}

body.contact.thanks main #thanks-message .txt > *:nth-of-type(n+2) {
    margin-top: 15px;
}

body.contact.thanks main #thanks-message .txt p {
    font-size: 16px;
    line-height: 1.6em;
}

body.contact.thanks main #thanks-message .txt .bold {
    font-size: 18px;
}

@media only screen and (max-width: 767px) {
    body.contact.thanks main #thanks-message .txt p {
        font-size: 14px;
        line-height: 25px;
    }
    body.contact.thanks main #thanks-message .txt .bold {
        font-size: 16px;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    body.more
================================================================================ */
body.more main #none-mv {
    margin: 0 0 80px;
}

body.more main #none-mv #h1 {
    height: 140px;
    text-align: center;
    background: #e8f4f5;
    border-top: 1px solid #ccdaea;
    border-bottom: 1px solid #ccdaea;
    border-left: 4px solid #004898;
    border-right: 4px solid #009fa8;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.more main #none-mv #h1 h1 {
    font-size: 28px;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
}

body.more main #more-body .block:nth-of-type(n+2) {
    margin: 80px 0 0;
}

body.more main #more-body .h2 {
    padding: 20px 30px;
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    border-left: 2px solid #004898;
    border-right: 2px solid #009fa8;
}

body.more main #more-body .h2 h2 {
    font-size: 24px;
    line-height: 1.2em;
    font-weight: 600;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
    text-align: justify;
    text-justify: inter-ideograph;
}

body.more main #more-body .h3 {
    position: relative;
    padding: 0 0 0 60px;
}

body.more main #more-body .h3:before, body.more main #more-body .h3:after {
    content: '';
    width: 22px;
    height: 22px;
}

body.more main #more-body .h3:before {
    position: absolute;
    top: 0;
    left: 0;
    background: #004898;
}

body.more main #more-body .h3:after {
    position: absolute;
    top: 0;
    left: 22px;
    background: #009fa8;
}

body.more main #more-body .h3 h3 {
    font-size: 22px;
    line-height: 1em;
    font-weight: 400;
}

body.more main #more-body .h4 {
    padding: 0 0 10px;
    border-bottom: 1px solid #e7e7e7;
}

body.more main #more-body .h4 h4 {
    font-size: 18px;
    line-height: 1em;
    font-weight: 600;
}

body.more main #more-body li > p,
body.more main #more-body .txt > p,
body.more main #more-body .line > p {
    text-align: justify;
    text-justify: inter-ideograph;
}

body.more main #more-body .p-size-small p {
    font-size: 12px;
    line-height: 20px;
}

body.more main #more-body .items {
    margin: 60px 0 0;
}

body.more main #more-body .items .item:nth-of-type(n+2) {
    margin: 50px 0 0;
}

body.more main #more-body .sets {
    margin: 50px 0 0;
}

body.more main #more-body .sets .set:nth-of-type(n+2) {
    margin: 50px 0 0;
}

body.more main #more-body .sets .txt-body {
    margin: 15px 0 0;
}

body.more main #more-body .lines .line:nth-of-type(n+2) {
    margin: 30px 0 0;
}

body.more main #more-body .txt-body {
    margin: 30px 0 0;
}

body.more main #more-body .indent--type01 > * {
    margin-left: 0.9em;
    text-indent: -0.9em;
}

body.more main #more-body .indent--type02 > * {
    margin-left: 2.7em;
    text-indent: -2.7em;
}

body.more main #more-body .indent--type03 > * {
    margin-left: 0.8em;
    text-indent: -0.8em;
}

body.more main #more-body .indent--type04 > * {
    margin-left: 1.1em;
    text-indent: -1.1em;
}

body.more main #more-body .indent--type05 > * {
    margin-left: 0.55em;
    text-indent: -0.55em;
}

body.more main #more-body .txt + * {
    margin: 30px 0 0;
}

body.more main #more-body .table + * {
    margin: 15px 0 0;
}

body.more main #more-body .list + * {
    margin: 30px 0 0;
}

body.more main #more-body .table th, body.more main #more-body .table td {
    padding: 20px 25px;
    border: 1px solid #ccc;
    text-align: left;
}

@media only screen and (max-width: 767px) {
    body.more main {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.more main #none-mv {
        margin: 0 0 50px;
    }
    body.more main #none-mv #h1 {
        height: 100px;
    }
    body.more main #none-mv #h1 h1 {
        font-size: 19px;
        line-height: 26px;
    }
    body.more main #more-body .block:nth-of-type(n+2) {
        margin: 40px 0 0;
    }
    body.more main #more-body .h2 {
        padding: 15px 20px;
    }
    body.more main #more-body .h2 h2 {
        font-size: 16px;
        line-height: 24px;
    }
    body.more main #more-body .h3 {
        padding: 0 0 0 55px;
    }
    body.more main #more-body .h3:before, body.more main #more-body .h3:after {
        width: 20px;
        height: 20px;
    }
    body.more main #more-body .h3:after {
        position: absolute;
        top: 0;
        left: 20px;
    }
    body.more main #more-body .h3 h3 {
        font-size: 17px;
        line-height: 22px;
    }
    body.more main #more-body .h4 h4 {
        font-size: 15px;
        line-height: 1em;
    }
    body.more main #more-body .items {
        margin: 40px 0 0;
    }
    body.more main #more-body .items .item:nth-of-type(n+2) {
        margin: 35px 0 0;
    }
    body.more main #more-body .sets {
        margin: 30px 0 0;
    }
    body.more main #more-body .sets .set:nth-of-type(n+2) {
        margin: 30px 0 0;
    }
    body.more main #more-body .sets .txt-body {
        margin: 15px 0 0;
    }
    body.more main #more-body .txt-body {
        margin: 20px 0 0;
    }
    body.more main #more-body .indent--type01 > * {
        margin-left: 0.75em;
        text-indent: -0.75em;
    }
    body.more main #more-body .indent--type02 > * {
        margin-left: 2.7em;
        text-indent: -2.7em;
    }
    body.more main #more-body .indent--type03 > * {
        margin-left: 0.8em;
        text-indent: -0.8em;
    }
    body.more main #more-body .indent--type04 > * {
        margin-left: 1.2em;
        text-indent: -1.2em;
    }
    body.more main #more-body .indent--type05 > * {
        margin-left: 0.55em;
        text-indent: -0.55em;
    }
    body.more main #more-body .txt + * {
        margin: 20px 0 0;
    }
    body.more main #more-body .table + * {
        margin: 10px 0 0;
    }
    body.more main #more-body .table th, body.more main #more-body .table td {
        padding: 10px 15px;
    }
}

/* ================================================================================
    body.more.policy-invitation
================================================================================ */
body.more.policy-invitation main #more-body #bottom-text .txt {
    padding: 30px 30px;
    background: #eee;
}

body.more.policy-invitation main #more-body #bottom-text .txt p {
    font-size: 14px;
    line-height: 1em;
    font-weight: 600;
}

@media only screen and (max-width: 767px) {
    body.more.policy-invitation main #more-body #bottom-text .txt {
        padding: 15px 15px;
    }
    body.more.policy-invitation main #more-body #bottom-text .txt p {
        font-size: 14px;
        line-height: 25px;
    }
}

/* ================================================================================
    body.more.policy-marketing
================================================================================ */
body.more.policy-marketing main #more-body .prologue .txt {
    margin: 30px 0 0;
}

body.more.policy-marketing main #more-body .table th {
    width: 140px;
}

body.more.policy-marketing main #more-body .table th p {
    line-height: 20px;
}

@media only screen and (max-width: 767px) {
    body.more.policy-marketing main #more-body .prologue .txt {
        margin: 20px 0 0;
    }
    body.more.policy-marketing main #more-body .table th {
        width: auto;
    }
    body.more.policy-marketing main #more-body .table th p {
        white-space: nowrap;
    }
}

/* ================================================================================
    body.more.kpi
================================================================================ */
body.more.kpi main #more-body .block:nth-of-type(2) .col-left {
    width: 570px;
}

body.more.kpi main #more-body .block:nth-of-type(2) .col-right {
    width: calc(100% - 570px);
}

body.more.kpi main #more-body .table01 th, body.more.kpi main #more-body .table01 td {
    padding: 5px 20px;
}

body.more.kpi main #more-body .table01 thead th {
    background: #f1f1f1;
    text-align: center;
}

body.more.kpi main #more-body .table01 thead th p {
    line-height: 1em;
}

body.more.kpi main #more-body .table01 tbody td:nth-of-type(2) {
    text-align: center;
}

body.more.kpi main #more-body .table02 {
    margin: 40px 0 0;
}

body.more.kpi main #more-body .table02 th {
    white-space: nowrap;
}

body.more.kpi main #more-body .table02 thead th {
    padding: 5px 10px;
    background: #f1f1f1;
    text-align: center;
    vertical-align: middle;
}

body.more.kpi main #more-body .table02 tbody th,
body.more.kpi main #more-body .table02 tbody td {
    padding: 15px 15px;
}

body.more.kpi main #more-body .table02 tbody th {
    width: 280px;
}

body.more.kpi main #more-body .table02 tbody td {
    text-align: right;
}

body.more.kpi main #more-body .table02 .align--right {
    margin: 15px 0 0;
}

body.more.kpi main #more-body .table02 .align--right p {
    font-size: 12px;
    line-height: 1em;
}

body.more.kpi main #more-body .table03 th, body.more.kpi main #more-body .table03 td {
    padding: 10px 20px;
}

body.more.kpi main #more-body .table03 th {
    width: 280px;
}

@media only screen and (max-width: 767px) {
    body.more.kpi main #more-body .block:nth-of-type(2) .col-left,
    body.more.kpi main #more-body .block:nth-of-type(2) .col-right {
        width: 100%;
    }
    body.more.kpi main #more-body .block:nth-of-type(2) .col-right {
        margin: 10px 0 0;
    }
    body.more.kpi main #more-body .table01 th {
        padding: 10px 10px;
    }
    body.more.kpi main #more-body .table01 td:nth-of-type(1) {
        width: 50%;
    }
    body.more.kpi main #more-body .table02 {
        margin: 30px 0 0;
        padding: 0 0 15px;
        overflow-x: scroll;
    }
    body.more.kpi main #more-body .table02 tbody th,
    body.more.kpi main #more-body .table02 tbody td {
        padding: 10px 10px;
    }
    body.more.kpi main #more-body .table02 .align--right {
        margin: 10px 0 0;
    }
    body.more.kpi main #more-body .table02 .align--right p {
        white-space: nowrap;
    }
    body.more.kpi main #more-body .table03 {
        /*table{ writing-mode : vertical-lr; }*/
    }
    body.more.kpi main #more-body .table03 th, body.more.kpi main #more-body .table03 td {
        padding: 10px 10px;
        /*writing-mode   : horizontal-tb;*/
        vertical-align: middle;
    }
    body.more.kpi main #more-body .table03 th {
        width: auto;
    }
}

/* ================================================================================
    body.more.policy-security
================================================================================ */
body.more.policy-security main #more-body .icon img {
    height: 88px;
}

body.more.policy-security main #more-body .icon + .txt {
    margin: 30px 0 0;
}

@media only screen and (max-width: 767px) {
    body.more.policy-security main #more-body .icon + .txt {
        margin: 15px 0 0;
    }
}

@keyframes toRightBg {
    0% {
        left: 0;
        width: 0;
        opacity: 0;
    }
    50% {
        left: 0;
        width: 100%;
        opacity: 1;
    }
    90% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
    100% {
        left: 100%;
        width: 0;
        opacity: 1;
    }
}

@keyframes toRightBgSwitch {
    50% {
        opacity: 0;
    }
    55% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacity {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes animOpacityTranslateX {
    0% {
        opacity: 0;
        transform: translateX(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateXminus {
    0% {
        opacity: 0;
        transform: translateX(-30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animOpacityTranslateY {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes animScaleUp {
    0% {
        will-change: filter;
        transform: scale(0);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes animOnloadIn01 {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }
    100% {
        opacity: 100%;
        transform: translateY(0);
    }
}

@keyframes animOnloadIn02 {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes animOnloadIn03 {
    0% {
        opacity: 0;
        transform: scale(0);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}

@media only screen and (max-width: 767px) {
    @keyframes animOnloadIn03 {
        0% {
            opacity: 0;
            transform: scale(0);
        }
        100% {
            opacity: 1;
            transform: scale(1);
        }
    }
}

/* ================================================================================
    body.news
================================================================================ */
body.news main #none-mv {
    margin: 0 0 80px;
}

body.news main #none-mv #h1 {
    height: 140px;
    text-align: center;
    background: #e8f4f5;
    border-top: 1px solid #ccdaea;
    border-bottom: 1px solid #ccdaea;
    border-left: 4px solid #004898;
    border-right: 4px solid #009fa8;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

body.news main #none-mv #h1 h1 {
    font-size: 28px;
    line-height: 1em;
    font-weight: 500;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
}

body.news main #news-body .block:nth-of-type(n+2) {
    margin: 80px 0 0;
}

body.news main #news-body .h2 {
    padding: 20px 30px;
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
    border-left: 2px solid #004898;
    border-right: 2px solid #009fa8;
}

body.news main #news-body .h2 h2 {
    font-size: 24px;
    line-height: 1em;
    font-weight: 600;
    letter-spacing: 0;
    font-family: "Noto Serif JP", serif;
    text-align: justify;
    text-justify: inter-ideograph;
}

body.news main #news-body .txt-body {
    margin-top: 30px;
}

body.news main #news-body .txt-body > *:nth-child(n+2) {
    margin: 20px 0 0;
}

body.news main #news-body .txt-body .txt a {
    color: #004898;
}

@media screen and (min-width: 768px) {
    body.news main #news-body .txt-body .txt a:hover {
        text-decoration: underline;
    }
}

@media only screen and (max-width: 767px) {
    body.news main {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.news main #none-mv {
        margin: 0 0 50px;
    }
    body.news main #none-mv #h1 {
        height: 100px;
    }
    body.news main #none-mv #h1 h1 {
        font-size: 19px;
        line-height: 26px;
    }
    body.news main #news-body .block:nth-of-type(n+2) {
        margin: 40px 0 0;
    }
    body.news main #news-body .h2 {
        padding: 15px 20px;
    }
    body.news main #news-body .h2 h2 {
        font-size: 16px;
        line-height: 24px;
    }
    body.news main #news-body .txt-body {
        margin-top: 15px;
    }
    body.news main #news-body .txt-body > *:nth-child(n+2) {
        margin: 20px 0 0;
    }
    body.news main #news-body .txt-body .txt a {
        color: #004898;
    }
}

@media only screen and (max-width: 767px) and (min-width: 768px) {
    body.news main #news-body .txt-body .txt a:hover {
        text-decoration: underline;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2Nzcy9zdHlsZS5jc3MiLCJzb3VyY2VzIjpbImFzc2V0cy9jc3Mvc3R5bGUuc2NzcyIsImNvcmUvX3Jlc2V0LnNjc3MiLCJjb3JlL192YXJpYWJsZS5zY3NzIiwiYXNzZXRzL2Nzcy9fYmFzZV9kZWZhdWx0LnNjc3MiLCJhc3NldHMvY3NzL19iYXNlX2NvbW1vbi5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX21vZGFhbC5zY3NzIiwibGF5b3V0L19mb3JtLnNjc3MiLCJhc3NldHMvY3NzL19zdHlsZV9ob21lLnNjc3MiLCJhc3NldHMvY3NzL19zdHlsZV9jb21wYW55LnNjc3MiLCJhc3NldHMvY3NzL19zdHlsZV9jdXN0b21lci5zY3NzIiwiYXNzZXRzL2Nzcy9fc3R5bGVfY29udGFjdC5zY3NzIiwiYXNzZXRzL2Nzcy9fc3R5bGVfbW9yZS5zY3NzIiwiYXNzZXRzL2Nzcy9fc3R5bGVfbmV3cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwidXRmLThcIjtcblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBzdHlsZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpbXBvcnQgXCIuLi8uLi9jb3JlL19yZXNldC5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vY29yZS9fdmFyaWFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImJhc2VfZGVmYXVsdFwiO1xuQGltcG9ydCBcImJhc2VfY29tbW9uXCI7XG5cbkBpbXBvcnQgXCJzdHlsZV9ob21lXCI7XG5AaW1wb3J0IFwic3R5bGVfY29tcGFueVwiO1xuQGltcG9ydCBcInN0eWxlX2N1c3RvbWVyXCI7XG5AaW1wb3J0IFwic3R5bGVfY29udGFjdFwiO1xuQGltcG9ydCBcInN0eWxlX21vcmVcIjtcbkBpbXBvcnQgXCJzdHlsZV9uZXdzXCI7IiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vLyBAc2VlIGh0dHBzOi8vcWlpdGEuY29tL01vcmlzX01rLUlJL2l0ZW1zLzE3ZTlhNzI1YWFkYThmOTZmMjNlXG5cbi8qXG5odG1sNWRvY3Rvci5jb20gUmVzZXQgU3R5bGVzaGVldFxudjEuNi4xXG5MYXN0IFVwZGF0ZWQ6IDIwMTAtMDktMTdcbkF1dGhvcjogUmljaGFyZCBDbGFyayAtIGh0dHA6Ly9yaWNoY2xhcmtkZXNpZ24uY29tXG5Ud2l0dGVyOiBAcmljaF9jbGFya1xuKi9cblxuKntcbiAgICAvL2JhY2tmYWNlLXZpc2liaWxpdHkgICAgICAgICA6IGhpZGRlbjtcbiAgICAvLy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSA6IGhpZGRlbjtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nICAgICAgOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZyAgICAgOiBncmF5c2NhbGU7XG59XG5cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hYmJyLCBhZGRyZXNzLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzYW1wLFxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsIHZhcixcbmIsIGksXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlb3tcbiAgICBtYXJnaW4gICAgICAgICA6IDA7XG4gICAgcGFkZGluZyAgICAgICAgOiAwO1xuICAgIGJvcmRlciAgICAgICAgIDogMDtcbiAgICBvdXRsaW5lICAgICAgICA6IDA7XG4gICAgZm9udC1zaXplICAgICAgOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduIDogYmFzZWxpbmU7XG4gICAgYmFja2dyb3VuZCAgICAgOiB0cmFuc3BhcmVudDtcbn1cblxuYm9keXtcbiAgICBsaW5lLWhlaWdodCA6IDE7XG59XG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb257XG4gICAgZGlzcGxheSA6IGJsb2NrO1xufVxuXG5vbCwgdWx7XG4gICAgbGlzdC1zdHlsZSA6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsIHF7XG4gICAgcXVvdGVzIDogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlcntcbiAgICBjb250ZW50IDogJyc7XG4gICAgY29udGVudCA6IG5vbmU7XG59XG5cbmF7XG4gICAgbWFyZ2luICAgICAgICAgIDogMDtcbiAgICBwYWRkaW5nICAgICAgICAgOiAwO1xuICAgIGZvbnQtc2l6ZSAgICAgICA6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ24gIDogYmFzZWxpbmU7XG4gICAgYmFja2dyb3VuZCAgICAgIDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uIDogbm9uZTtcbiAgICAvL291dGxpbmU6IG5vbmU7XG59XG5cbmluc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogI2ZmOTtcbiAgICBjb2xvciAgICAgICAgICAgIDogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb24gIDogbm9uZTtcbn1cblxubWFya3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogI2ZmOTtcbiAgICBjb2xvciAgICAgICAgICAgIDogIzAwMDtcbiAgICBmb250LXN0eWxlICAgICAgIDogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0ICAgICAgOiBib2xkO1xufVxuXG5kZWx7XG4gICAgdGV4dC1kZWNvcmF0aW9uIDogbGluZS10aHJvdWdoO1xufVxuXG5hYmJyW3RpdGxlXSwgZGZuW3RpdGxlXXtcbiAgICBib3JkZXItYm90dG9tIDogMXB4IGRvdHRlZDtcbiAgICBjdXJzb3IgICAgICAgIDogaGVscDtcbn1cblxudGFibGV7XG4gICAgYm9yZGVyLWNvbGxhcHNlIDogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmcgIDogMDtcbn1cblxuaHJ7XG4gICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgIGhlaWdodCAgICAgOiAxcHg7XG4gICAgYm9yZGVyICAgICA6IDA7XG4gICAgYm9yZGVyLXRvcCA6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIG1hcmdpbiAgICAgOiAxZW0gMDtcbiAgICBwYWRkaW5nICAgIDogMDtcbn1cblxuaW5wdXQsIHNlbGVjdHtcbiAgICB2ZXJ0aWNhbC1hbGlnbiA6IG1pZGRsZTtcbn1cblxuaW1ne1xuICAgIHZlcnRpY2FsLWFsaWduICAgICAgICAgICAgICA6IHRvcDtcbiAgICBmb250LXNpemUgICAgICAgICAgICAgICAgICAgOiAwO1xuICAgIGxpbmUtaGVpZ2h0ICAgICAgICAgICAgICAgICA6IDA7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5IDogaGlkZGVuO1xuXG59XG5cbiosICo6YmVmb3JlLCAqOmFmdGVye1xuICAgIC13ZWJraXQtYm94LXNpemluZyA6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nICAgIDogYm9yZGVyLWJveDtcbiAgICAtbXMtYm94LXNpemluZyAgICAgOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmcgICAgICAgICA6IGJvcmRlci1ib3g7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpe1xuICAgICo6Oi1tcy1iYWNrZHJvcCwgbWFpbnsgZGlzcGxheSA6IGJsb2NrOyB9XG59IiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gZGVidWdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyRERUJVRyA6IHRydWU7XG4kREVCVUcgOiBmYWxzZTtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQG1peGluXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRjb2xvck1haW4gICAgICAgICAgICA6ICMwMDQ4OTg7XG4kY29sb3JCbGFjayAgICAgICAgICAgOiAjMzMzO1xuJGNvbG9yR3JheSAgICAgICAgICAgIDogI2JhYmFiYTtcbiRjb2xvckdyZWVuICAgICAgICAgICA6ICMwMDlmYTg7XG4kZGFtbXlSZWQgICAgICAgICAgICAgOiByZ2JhKDI1NSwgMCwgMCwgMC4yKTtcblxuXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vIGZvbnRcbi8vXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGZvbnRGYW1pbHlHb3RoaWMgICAgIDogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnSGVsdmV0aWNhIE5ldWUnLCAnSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvTicsICfmuLjjgrTjgrfjg4Pjgq8gIE1lZGl1bScsIG1laXJ5bywgc2Fucy1zZXJpZjtcbiRmb250RmFtaWx5TWluY2hvICAgICA6ICdUaW1lcyBOZXcgUm9tYW4nLCAn44OS44Op44Ku44OO5piO5pydIFBybycsICdIaXJhZ2lubyBNaW5jaG8gUHJvJywgJ+a4uOaYjuacnScsIFl1TWluY2hvLCAnSEdT5piO5pydRScsICfvvK3vvLMg77yw5piO5pydJywgJ01TIFBNaW5jaG8nLCBzZXJpZjtcbiRmb250RmFtaWx5Tm90b1NhbnMgICA6ICdOb3RvIFNhbnMgSlAnLCBzYW5zLXNlcmlmO1xuJGZvbnRGYW1pbHlOb3RvU2VyaWYgIDogJ05vdG8gU2VyaWYgSlAnLCBzZXJpZjtcbiRmb250RmFtaWx5UG9wcGlucyAgICA6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcblxuQG1peGluIGZvbnRHb3RoaWN7IGZvbnQtZmFtaWx5IDogJGZvbnRGYW1pbHlHb3RoaWM7IH1cbkBtaXhpbiBmb250TWluY2hveyBmb250LWZhbWlseSA6ICRmb250RmFtaWx5TWluY2hvOyB9XG5AbWl4aW4gZm9udE5vdG9TYW5zeyBmb250LWZhbWlseSA6ICRmb250RmFtaWx5Tm90b1NhbnM7IH1cbkBtaXhpbiBmb250Tm90b1NhbnN7IGZvbnQtZmFtaWx5IDogJGZvbnRGYW1pbHlOb3RvU2FuczsgfVxuQG1peGluIGZvbnROb3RvU2VyaWZ7IGZvbnQtZmFtaWx5IDogJGZvbnRGYW1pbHlOb3RvU2VyaWY7IH1cbkBtaXhpbiBmb250UG9wcGluc3sgZm9udC1mYW1pbHkgOiAkZm9udEZhbWlseVBvcHBpbnM7IH1cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQG5hbWUgICAgICAgIGZvbnQuY3NzXG4vLyBAbGljZW5zZSAgICAgQlNEIC0gaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0yLUNsYXVzZVxuLy9cbi8vIEJlc3QgcHJhY3RpY2VzIGZvciB1c2luZyBmb250LXdlaWdodHNcbi8vIEBzZWUgaHR0cHM6Ly93d3cud2VidHlwZS5jb20vaW5mby9hcnRpY2xlcy9mb250cy13ZWlnaHRzL1xuLy8gMTAwICAgIEV4dHJhIExpZ2h0IG9yIFVsdHJhIExpZ2h0XG4vLyAyMDAgICAgTGlnaHQgb3IgVGhpblxuLy8gMzAwICAgIEJvb2sgb3IgRGVtaVxuLy8gNDAwICAgIE5vcm1hbCBvciBSZWd1bGFyXG4vLyA1MDAgICAgTWVkaXVtXG4vLyA2MDAgICAgU2VtaWJvbGQsIERlbWlib2xkLCBEZW1pXG4vLyA3MDAgICAgQm9sZFxuLy8gODAwICAgIEJsYWNrLCBFeHRyYSBCb2xkIG9yIEhlYXZ5XG4vLyA5MDAgICAgRXh0cmEgQmxhY2ssIEZhdCwgUG9zdGVyIG9yIFVsdHJhIEJsYWNrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGZvbnR3ZWlnaHRFeHRyYUxpZ2h0IDogMTAwO1xuJGZvbnR3ZWlnaHRUaGluICAgICAgIDogMjAwO1xuJGZvbnR3ZWlnaHRMaWdodCAgICAgIDogMzAwO1xuJGZvbnR3ZWlnaHRCb29rICAgICAgIDogMzAwO1xuJGZvbnR3ZWlnaHREZW1pTGlnaHQgIDogMzAwO1xuJGZvbnR3ZWlnaHRSZWd1bGFyICAgIDogNDAwO1xuJGZvbnR3ZWlnaHROb3JtYWwgICAgIDogNDAwO1xuJGZvbnR3ZWlnaHRNZWRpdW0gICAgIDogNTAwO1xuJGZvbnR3ZWlnaHRTZW1pQm9sZCAgIDogNjAwO1xuJGZvbnR3ZWlnaHREZW1pICAgICAgIDogNjAwO1xuJGZvbnR3ZWlnaHRCb2xkICAgICAgIDogNzAwO1xuJGZvbnR3ZWlnaHRCbGFjayAgICAgIDogODAwO1xuXG5AbWl4aW4ga2VybmluZ1BhbHR7XG4gICAgLW1vei1mb250LWZlYXR1cmUtc2V0dGluZ3MgICAgOiBcInBhbHRcIjtcbiAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncyA6IFwicGFsdFwiO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyAgICAgICAgIDogXCJwYWx0XCI7XG59XG5cbkBtaXhpbiBmb250cygkc2l6ZSwgJGhlaWdodDoxZW0sICR3YWl0Om51bGwsICRsZXR0ZXJzcGFjaW5nOm51bGwsICRjb2xvcjpudWxsLCAkZm9udGZhbWlseTpudWxsKXtcbiAgICBmb250LXNpemUgOiAkc2l6ZTtcbiAgICBAaWYgJGhlaWdodCAhPSBudWxseyBsaW5lLWhlaWdodCA6ICRoZWlnaHQ7IH1cbiAgICBAaWYgJHdhaXQgIT0gbnVsbHsgZm9udC13ZWlnaHQgOiAkd2FpdDsgfVxuICAgIEBpZiAkbGV0dGVyc3BhY2luZyAhPSBudWxseyBsZXR0ZXItc3BhY2luZyA6ICRsZXR0ZXJzcGFjaW5nOyB9XG4gICAgQGlmICRjb2xvciAhPSBudWxseyBjb2xvciA6ICRjb2xvcjsgfVxuICAgIEBpZiAkZm9udGZhbWlseSAhPSBudWxseyBmb250LWZhbWlseSA6ICRmb250ZmFtaWx5OyB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGVhc2luZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRlYXNlICAgICAgICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjI1LCAwLjEsIDAuMjUsIDEpO1xuJGxpbmVhciAgICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAsIDAsIDEsIDEpO1xuJGVhc2VJbiAgICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDEsIDEpO1xuJGVhc2VPdXQgICAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpO1xuJGVhc2VJbk91dCAgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xuXG4kZWFzZUluU2luZSAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTtcbiRlYXNlT3V0U2luZSAgICAgICAgICA6IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xuJGVhc2VJbk91dFNpbmUgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTtcbiRlYXNlSW5RdWFkICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7XG4kZWFzZU91dFF1YWQgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4kZWFzZUluT3V0UXVhZCAgICAgICAgOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG5cbiRlYXNlSW5DdWJpYyAgICAgICAgICA6IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuJGVhc2VPdXRDdWJpYyAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4kZWFzZUluT3V0Q3ViaWMgICAgICAgOiBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4kZWFzZUluUXVhcnQgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiRlYXNlT3V0UXVhcnQgICAgICAgICA6IGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4kZWFzZUluT3V0UXVhcnQgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuXG4kZWFzZUluUXVpbnQgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiRlYXNlT3V0UXVpbnQgICAgICAgICA6IGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKTtcbiRlYXNlSW5PdXRRdWludCAgICAgICA6IGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbiRlYXNlSW5FeHBvICAgICAgICAgICA6IGN1YmljLWJlemllcigwLjk1LCAwLjA1LCAwLjc5NSwgMC4wMzUpO1xuJGVhc2VPdXRFeHBvICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuJGVhc2VJbk91dEV4cG8gICAgICAgIDogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpO1xuXG4kZWFzZUluQ2lyYyAgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSk7XG4kZWFzZU91dENpcmMgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiRlYXNlSW5PdXRDaXJjICAgICAgICA6IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUsIDAuODYpO1xuJGVhc2VJbkJhY2sgICAgICAgICAgIDogY3ViaWMtYmV6aWVyKDAuNiwgLTAuMjgsIDAuNzM1LCAwLjA0NSk7XG4kZWFzZU91dEJhY2sgICAgICAgICAgOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG4kZWFzZUluT3V0QmFjayAgICAgICAgOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbi8vW2V4XSAuZWxlbWVudHMgeyB0cmFuc2l0aW9uOiBhbGwgLjVzICRlYXNlSW5DdWJpYzsgfVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZWRpYVF1ZXJ5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJHNtYWxsICAgICAgICAgICAgICAgIDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweClcIjtcbiRtaWRkbGUgICAgICAgICAgICAgICA6IFwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KVwiO1xuJHBjICAgICAgICAgICAgICAgICAgIDogXCJvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxMTk5cHgpXCI7XG4kb3ZlciAgICAgICAgICAgICAgICAgOiBcIm9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEyMDBweClcIjtcbiRzcE92ZXIgICAgICAgICAgICAgICA6IFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweClcIjtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2l6ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRzaXplRnVsbCAgICAgICAgICAgICA6IDE5MjBweDtcbiRzaXplQ29sdW1uICAgICAgICAgICA6IDE3MjRweDtcbiRzaXplQm9va2xldCAgICAgICAgICA6IDE1MjhweDtcblxuXG4vLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vICBtaXhpblxuLy9cbi8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kRGVsYXlJbnRlcnZhbCAgICAgICAgOiAwLjE7XG5AbWl4aW4gbWdBdXRvKCl7XG4gICAgbWFyZ2luIDogMCBhdXRvO1xuICAgIEBjb250ZW50O1xufVxuXG5AbWl4aW4gZmxvYXQoKXtcbiAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlcnsgY29udGVudCA6IFwiIFwiOyBkaXNwbGF5IDogdGFibGU7IH1cbiAgICAmOmFmdGVyeyBjbGVhciA6IGJvdGg7IH1cbn1cblxuQG1peGluIGNsZWFyRmxvYXQoKXtcbiAgICAubGVmdCxcbiAgICAucmlnaHR7IGZsb2F0IDogbm9uZTsgbWFyZ2luIDogYXV0bzsgfVxufVxuXG4vLyBAc2VlIGh0dHBzOi8va2FtaW5hcmltYWdhemluZS5jb20vd2ViLzIwMTcvMTIvMTIvc2FzcyVFMyU4MSVBNyVFMyU4MiU4OCVFMyU4MSU4RiVFNCVCRCVCRiVFMyU4MSVBMyVFMyU4MSVBNiVFMyU4MSU4NCVFMyU4MiU4Qm1peGluJUUzJTgyJTkyJUU3JUI0JUI5JUU0JUJCJThCJUUzJTgxJTk3JUUzJTgxJUJFJUUzJTgxJTk5L1xuQG1peGluIGFic29sdXRlKCR0b3A6bnVsbCwgJHJpZ2h0Om51bGwsICRib3R0b206bnVsbCwgJGxlZnQ6bnVsbCwgJG1nQXV0bzpudWxsKXtcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xuICAgIEBpZiAkdG9wICE9IG51bGx7IHRvcCA6ICR0b3A7IH1cbiAgICBAaWYgJHJpZ2h0ICE9IG51bGx7IHJpZ2h0IDogJHJpZ2h0OyB9XG4gICAgQGlmICRib3R0b20gIT0gbnVsbHsgYm90dG9tIDogJGJvdHRvbTsgfVxuICAgIEBpZiAkbGVmdCAhPSBudWxseyBsZWZ0IDogJGxlZnQ7IH1cbiAgICBAaWYgJG1nQXV0byAhPSBudWxseyBtYXJnaW4gOiAkbWdBdXRvOyB9XG5cbn1cblxuQG1peGluIGFic29sdXRlVEwoKXsgcG9zaXRpb24gOiBhYnNvbHV0ZTsgdG9wIDogMDsgbGVmdCA6IDA7IH1cblxuQG1peGluIGFic29sdXRlVFIoKXsgcG9zaXRpb24gOiBhYnNvbHV0ZTsgdG9wIDogMDsgcmlnaHQgOiAwOyB9XG5cbkBtaXhpbiBhYnNvbHV0ZVRDKCl7IHBvc2l0aW9uIDogYWJzb2x1dGU7IHRvcCA6IDA7IHJpZ2h0IDogMDsgbGVmdCA6IDA7IG1hcmdpbiA6IGF1dG87IH1cblxuQG1peGluIGFic29sdXRlQkwoKXsgcG9zaXRpb24gOiBhYnNvbHV0ZTsgYm90dG9tIDogMDsgbGVmdCA6IDA7IH1cblxuQG1peGluIGFic29sdXRlQlIoKXsgcG9zaXRpb24gOiBhYnNvbHV0ZTsgYm90dG9tIDogMDsgcmlnaHQgOiAwOyB9XG5cbkBtaXhpbiBhYnNvbHV0ZUJDKCl7IHBvc2l0aW9uIDogYWJzb2x1dGU7IGJvdHRvbSA6IDA7IHJpZ2h0IDogMDsgbGVmdCA6IDA7IG1hcmdpbiA6IGF1dG87IH1cblxuQG1peGluIGFic29sdXRlQ0woKXsgcG9zaXRpb24gOiBhYnNvbHV0ZTsgdG9wIDogMDsgYm90dG9tIDogMDsgbGVmdCA6IDA7IG1hcmdpbiA6IGF1dG87IH1cblxuQG1peGluIGFic29sdXRlQ0MoKXsgcG9zaXRpb24gOiBhYnNvbHV0ZTsgdG9wIDogMDsgYm90dG9tIDogMDsgcmlnaHQgOiAwOyBsZWZ0IDogMDsgbWFyZ2luIDogYXV0bzsgfVxuXG5AbWl4aW4gYWJzb2x1dGVDUigpeyBwb3NpdGlvbiA6IGFic29sdXRlOyB0b3AgOiAwOyBib3R0b20gOiAwOyByaWdodCA6IDA7IG1hcmdpbiA6IGF1dG87IH1cblxuQG1peGluIGFic29sdXRlQ2xlYXIoKXsgcG9zaXRpb24gOiByZWxhdGl2ZTsgdG9wIDogYXV0bzsgYm90dG9tIDogYXV0bzsgcmlnaHQgOiBhdXRvOyBsZWZ0IDogYXV0bzsgbWFyZ2luIDogYXV0bzsgfVxuXG5AbWl4aW4gbGV0dGVyU3BhY2luZygkbnVtKXsgbGV0dGVyLXNwYWNpbmcgOiAkbnVtOyB0ZXh0LWluZGVudCA6ICRudW07IH1cblxuQG1peGluIG50aFRvcE1hcmdpblplcm8oKXtcbiAgICAmOm50aC1vZi10eXBlKDEpeyBtYXJnaW4gOiAwOyB9XG59XG5cblxuLy8gQHNlZSBodHRwczovL3RhY3MtcG9ydC50ZWNoL2Jsb2cvY3NzL2Jsb2ctMjYxL1xuQG1peGluIGZsZXgoJGp1c3RpZnk6c3RhcnQsICRhbGlnbjpzdGFydCwgJHdyYXA6d3JhcCwgJHdyYXBfYWxpZ246MCwgJGNvbHVtbjowKXtcbiAgICBkaXNwbGF5IDogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXkgOiAtbW96LWJveDtcbiAgICBkaXNwbGF5IDogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheSA6IGZsZXg7XG5cbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnTmsLTlubPmlrnlkJHmj4PjgYjvvIjnrKzkuIDlvJXmlbDvvIlcbiAgICBAaWYgJGp1c3RpZnkgPT0gc3RhcnR7IC8vIOW3puaPg+OBiFxuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudCA6IGZsZXgtc3RhcnQ7IC1tcy1mbGV4LXBhY2sgOiBzdGFydDsganVzdGlmeS1jb250ZW50IDogZmxleC1zdGFydDtcbiAgICB9IEBlbHNlIGlmICRqdXN0aWZ5ID09IGVuZHsgLy8g5Y+z5o+D44GIXG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogZmxleC1lbmQ7IC1tcy1mbGV4LXBhY2sgOiBlbmQ7IGp1c3RpZnktY29udGVudCA6IGZsZXgtZW5kO1xuICAgIH0gQGVsc2UgaWYgJGp1c3RpZnkgPT0gY2VudGVyeyAvLyDkuK3lpK7mj4PjgYhcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7IC1tcy1mbGV4LXBhY2sgOiBjZW50ZXI7IGp1c3RpZnktY29udGVudCA6IGNlbnRlcjtcbiAgICB9IEBlbHNlIGlmICRqdXN0aWZ5ID09IGJldHdlZW57IC8vIOS4oeerr+mFjee9rlxuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudCA6IHNwYWNlLWJldHdlZW47IC1tcy1mbGV4LXBhY2sgOiBqdXN0aWZ5OyBqdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1iZXR3ZWVuO1xuICAgIH0gQGVsc2UgaWYgJGp1c3RpZnkgPT0gYXJvdW5keyAvLyDlnYfnrYnphY3nva5cbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1hcm91bmQ7IC1tcy1mbGV4LXBhY2sgOiBkaXN0cmlidXRlOyBqdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuXG4gICAgLy8gYWxpZ24taXRlbXPlnoLnm7TmlrnlkJHmj4PjgYjvvIjnrKzkuozlvJXmlbDvvIlcbiAgICBAaWYgJGFsaWduID09IHN0YXJ0eyAvLyDkuIrmj4PjgYhcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtcyA6IGZsZXgtc3RhcnQ7IC1tcy1mbGV4LWFsaWduIDogc3RhcnQ7IGFsaWduLWl0ZW1zIDogZmxleC1zdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBlbmR7IC8vIOS4i+aPg+OBiFxuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zIDogZmxleC1lbmQ7IC1tcy1mbGV4LWFsaWduIDogZW5kOyBhbGlnbi1pdGVtcyA6IGZsZXgtZW5kO1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09IGNlbnRlcnsgLy8g5Lit5aSu5o+D44GIXG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXMgOiBjZW50ZXI7IC1tcy1mbGV4LWFsaWduIDogY2VudGVyOyBhbGlnbi1pdGVtcyA6IGNlbnRlcjtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBiYXNlbGluZXsgLy8g44OZ44O844K544Op44Kk44OzXG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXMgOiBiYXNlbGluZTsgLW1zLWZsZXgtYWxpZ24gOiBiYXNlbGluZTsgYWxpZ24taXRlbXMgOiBiYXNlbGluZTtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSBzdHJldGNoeyAvLyDpq5jjgZXmj4PjgYhcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtcyA6IHN0cmV0Y2g7IC1tcy1mbGV4LWFsaWduIDogc3RyZXRjaDsgYWxpZ24taXRlbXMgOiBzdHJldGNoO1xuICAgIH1cblxuICAgIC8vIGZsZXgtd3JhcOWtkOimgee0oOOBruaKmOOCiui/lOOBl+ioreWumu+8iOesrOS4ieW8leaVsO+8iVxuICAgIEBpZiAkd3JhcCA9PSBub3dyYXB7IC8vIOaKmOOCiui/lOOBl+OBl+OBquOBhFxuICAgICAgICAtd2Via2l0LWZsZXgtd3JhcCA6IG5vd3JhcDsgLW1zLWZsZXgtd3JhcCA6IG5vd3JhcDsgZmxleC13cmFwIDogbm93cmFwO1xuICAgIH0gQGVsc2UgaWYgJHdyYXAgPT0gd3JhcHsgLy8g5LiK44GL44KJ5LiLXG4gICAgICAgIC13ZWJraXQtZmxleC13cmFwIDogd3JhcDsgLW1zLWZsZXgtd3JhcCA6IHdyYXA7IGZsZXgtd3JhcCA6IHdyYXA7XG4gICAgfSBAZWxzZSBpZiAkd3JhcCA9PSByZXZlcnNleyAvLyDkuIvjgYvjgonkuIpcbiAgICAgICAgLXdlYmtpdC1mbGV4LXdyYXAgOiB3cmFwLXJldmVyc2U7IC1tcy1mbGV4LXdyYXAgOiB3cmFwLXJldmVyc2U7IGZsZXgtd3JhcCA6IHdyYXAtcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAvLyBhbGlnbi1jb250ZW506KSH5pWw6KGM6Kit5a6a77yI56ys5Zub5byV5pWw77yJXG4gICAgQGlmICR3cmFwX2FsaWduID09IHN0YXJ0eyAvLyDkuIrmj4PjgYhcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50IDogZmxleC1zdGFydDsgLW1zLWZsZXgtbGluZS1wYWNrIDogc3RhcnQ7IGFsaWduLWNvbnRlbnQgOiBmbGV4LXN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJHdyYXBfYWxpZ24gPT0gZW5keyAvLyDkuIvmj4PjgYhcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50IDogZmxleC1lbmQ7IC1tcy1mbGV4LWxpbmUtcGFjayA6IGVuZDsgYWxpZ24tY29udGVudCA6IGZsZXgtZW5kO1xuICAgIH0gQGVsc2UgaWYgJHdyYXBfYWxpZ24gPT0gY2VudGVyeyAvLyDkuK3lpK7mj4PjgYhcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50IDogY2VudGVyOyAtbXMtZmxleC1saW5lLXBhY2sgOiBjZW50ZXI7IGFsaWduLWNvbnRlbnQgOiBjZW50ZXI7XG4gICAgfSBAZWxzZSBpZiAkd3JhcF9hbGlnbiA9PSBiZXR3ZWVueyAvLyDkuKHnq6/phY3nva5cbiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50IDogc3BhY2UtYmV0d2VlbjsgLW1zLWZsZXgtbGluZS1wYWNrIDoganVzdGlmeTsgYWxpZ24tY29udGVudCA6IHNwYWNlLWJldHdlZW47XG4gICAgfSBAZWxzZSBpZiAkd3JhcF9hbGlnbiA9PSBhcm91bmR7IC8vIOWdh+etiemFjee9rlxuICAgICAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQgOiBzcGFjZS1hcm91bmQ7IC1tcy1mbGV4LWxpbmUtcGFjayA6IGRpc3RyaWJ1dGU7IGFsaWduLWNvbnRlbnQgOiBzcGFjZS1hcm91bmQ7XG4gICAgfSBAZWxzZSBpZiAkd3JhcF9hbGlnbiA9PSBzdHJldGNoeyAvLyDpq5jjgZXmj4PjgYhcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1jb250ZW50IDogc3RyZXRjaDsgLW1zLWZsZXgtbGluZS1wYWNrIDogc3RyZXRjaDsgYWxpZ24tY29udGVudCA6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLy8g57im5Lim44Gz77yI56ys5LqU5byV5pWw77yJXG4gICAgQGlmICRjb2x1bW4gPT0gMXsgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbiA6IGNvbHVtbjsgLW1zLWZsZXgtZGlyZWN0aW9uIDogY29sdW1uOyBmbGV4LWRpcmVjdGlvbiA6IGNvbHVtbjsgfVxufVxuXG5AbWl4aW4gd3JpdGluZ1ZlcnRpY2Fse1xuICAgIC13ZWJraXQtd3JpdGluZy1tb2RlIDogdmVydGljYWwtcmw7XG4gICAgLW1zLXdyaXRpbmctbW9kZSAgICAgOiB0Yi1ybDtcbiAgICB3cml0aW5nLW1vZGUgICAgICAgICA6IHZlcnRpY2FsLXJsO1xufVxuXG5AbWl4aW4gd3JpdGluZ1ZlcnRpY2FsQ2xlYXJ7XG4gICAgLXdlYmtpdC13cml0aW5nLW1vZGUgOiBob3Jpem9udGFsLXRiO1xuICAgIC1tcy13cml0aW5nLW1vZGUgICAgIDogbHItdGI7XG4gICAgd3JpdGluZy1tb2RlICAgICAgICAgOiBob3Jpem9udGFsLXRiO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyB0ZXh0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHRleHRJbmRlbnQoJG1hcmdpbjoxLjJlbSl7XG4gICAgbWFyZ2luLWxlZnQgOiAkbWFyZ2luO1xuICAgIHRleHQtaW5kZW50IDogLSRtYXJnaW47XG59XG5cbkBtaXhpbiB0ZXh0SnVzdGlmeSgpe1xuICAgIHRleHQtYWxpZ24gICA6IGp1c3RpZnk7XG4gICAgdGV4dC1qdXN0aWZ5IDogaW50ZXItaWRlb2dyYXBoO1xuICAgIC8vd29yZC1icmVhayAgIDogYnJlYWstYWxsO1xufVxuXG5AbWl4aW4gdGV4dEp1c3RpZnlDbGVhcigpe1xuICAgIHRleHQtYWxpZ24gICA6IGxlZnQ7XG4gICAgdGV4dC1qdXN0aWZ5IDogYXV0bztcbiAgICAvL3dvcmQtYnJlYWsgICA6IG5vcm1hbDtcbn1cblxuQG1peGluIHRleHRTaGFkb3coJHNpemUsICRjb2xvcil7XG4gICAgdGV4dC1zaGFkb3cgOiAkY29sb3IgMXB4IDFweCAkc2l6ZSxcbiAgICAkY29sb3IgLTFweCAxcHggJHNpemUsXG4gICAgJGNvbG9yIDFweCAtMXB4ICRzaXplLFxuICAgICRjb2xvciAtMXB4IC0xcHggJHNpemU7XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGJhY2tncm91bmRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gYmcoJHVybCwgJGNvbG9yOm51bGwpe1xuICAgIEBpZiAkY29sb3J7IGJhY2tncm91bmQgOiAkY29sb3IgdXJsKCR1cmwpIG5vLXJlcGVhdCAwIDA7IH0gQGVsc2V7IGJhY2tncm91bmQgOiB1cmwoJHVybCkgbm8tcmVwZWF0IDAgMDsgfVxuICAgIEBjb250ZW50O1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZWNvcmF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIGljb25MaW5lQXJyb3coJGNvbG9yOiAjMDAwLCAkd2VpZ2h0OiAxcHgsICRkaXJlY3Rpb246IHJpZ2h0LCAkc2l6ZTogOHB4KXtcbiAgICBjb250ZW50ICAgICAgOiAnJztcbiAgICBwb3NpdGlvbiAgICAgOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5ICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGggICAgICAgIDogJHNpemU7XG4gICAgaGVpZ2h0ICAgICAgIDogJHNpemU7XG4gICAgYm9yZGVyLXRvcCAgIDogJHdlaWdodCBzb2xpZCAkY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0IDogJHdlaWdodCBzb2xpZCAkY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0e1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHJvdGF0ZSgoNDUgKiA1KStkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtICAgICA6IHJvdGF0ZSgoNDUgKiA1KStkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0gICAgICAgICA6IHJvdGF0ZSgoNDUgKiA1KStkZWcpO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB0b3B7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtIDogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0gICAgIDogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybSAgICAgICAgIDogcm90YXRlKC00NWRlZyk7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGJvdHRvbXtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0gOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybSAgICAgOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtICAgICAgICAgOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9IEBlbHNle1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSA6IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm0gICAgIDogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtICAgICAgICAgOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuQG1peGluIGljb25UcmlhbmdsZSgkY29sb3I6ICMwMDAsICRzaXplVzogNiwgJHNpemVIOiA0KXtcbiAgICBjb250ZW50ICAgICA6ICcnO1xuICAgIHBvc2l0aW9uICAgIDogYWJzb2x1dGU7XG4gICAgZGlzcGxheSAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGggICAgICAgOiAwO1xuICAgIGhlaWdodCAgICAgIDogMDtcbiAgICBib3JkZXIgICAgICA6ICRzaXplSCtweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdCA6ICRzaXplVytweCBzb2xpZCAkY29sb3I7XG59XG5cbkBtaXhpbiB0ZXh0U2hhZG93R2xvdygkeDo0cHgsICR5OjRweCwgJHNpemU6MXB4LCAkY29sb3I6IzAwMCwgJGFscGhhOjAuNil7XG4gICAgdGV4dC1zaGFkb3cgOiAkeCAkeSAkc2l6ZSByZ2JhKCRjb2xvciwgJGFscGhhKSxcbiAgICAgICAgICAgICgtJHgpICR5ICRzaXplIHJnYmEoJGNvbG9yLCAkYWxwaGEpLFxuICAgICR4ICgtJHkpICRzaXplIHJnYmEoJGNvbG9yLCAkYWxwaGEpLFxuICAgICAgICAgICAgKC0keCkgKC0keSkgJHNpemUgcmdiYSgkY29sb3IsICRhbHBoYSk7XG5cbn1cblxuQG1peGluIGRvdWJsZUFycm93KCl7XG4gICAgcGFkZGluZyA6IDAgMCAwIDIwcHg7XG4gICAgJjpiZWZvcmUsICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQgICAgICAgICAgIDogJyc7XG4gICAgICAgIHRvcCAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgYm90dG9tICAgICAgICAgICAgOiAwO1xuICAgICAgICBtYXJnaW4gICAgICAgICAgICA6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uICAgICAgICAgIDogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoICAgICAgICAgICAgIDogN3B4O1xuICAgICAgICBoZWlnaHQgICAgICAgICAgICA6IDdweDtcbiAgICAgICAgYm9yZGVyLXRvcCAgICAgICAgOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJpZ2h0ICAgICAgOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0gOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0gICAgICAgICA6IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICAgICY6YmVmb3JleyBsZWZ0IDogMDsgfVxuICAgICY6YWZ0ZXJ7IGxlZnQgOiA0cHg7IH1cbiAgICAmOmhvdmVyeyB0ZXh0LWRlY29yYXRpb24gOiB1bmRlcmxpbmU7IH1cbn1cblxuLy8gYm9yZGVy44K/44Kk44OX44Gv5Y+v5aSJ44Gr44Gq44KJ44Gq44GE44Gu44GnIGxpbmVhci1ncmFkaWVudCDku5Xmp5hcbi8vIEBzZWUgaHR0cHM6Ly9xaWl0YS5jb20va2l3ci9pdGVtcy9mMzkwMTc0NDE5ODY0MGQyYzRhMFxuQG1peGluIGdyYWRpZW50VHJpYW5nbGUoJHR5cGUsICRjb2xvcjojMDAwKXtcbiAgICBAaWYgJHR5cGUgPT0gdG9we1xuICAgICAgICBiYWNrZ3JvdW5kIDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA1MCUsICRjb2xvciA1MC41JSkgbm8tcmVwZWF0IHRvcCBsZWZ0LzUwJSAxMDAlLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTAlLCAkY29sb3IgNTAuNSUpIG5vLXJlcGVhdCB0b3AgcmlnaHQvNTAlIDEwMCU7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gYm90dG9tKXtcbiAgICAgICAgYmFja2dyb3VuZCA6IGxpbmVhci1ncmFkaWVudCh0byB0b3AgcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTAlLCAkY29sb3IgNTAuNSUpIG5vLXJlcGVhdCB0b3AgbGVmdC81MCUgMTAwJSxcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHRvcCBsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUwJSwgJGNvbG9yIDUwLjUlKSBuby1yZXBlYXQgdG9wIHJpZ2h0LzUwJSAxMDAlO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IGxlZnQpe1xuICAgICAgICBiYWNrZ3JvdW5kIDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA1MCUsICRjb2xvciA1MC41JSkgbm8tcmVwZWF0IGJvdHRvbSBsZWZ0LzEwMCUgNTAlLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUwJSwgJGNvbG9yIDUwLjUlKSBuby1yZXBlYXQgdG9wIHJpZ2h0LzEwMCUgNTAlO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IHJpZ2h0KXtcbiAgICAgICAgYmFja2dyb3VuZCA6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA1MCUsICRjb2xvciA1MC41JSkgbm8tcmVwZWF0IHRvcCBsZWZ0LzEwMCUgNTAlLFxuICAgICAgICBsaW5lYXItZ3JhZGllbnQodG8gdG9wIGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTAlLCAkY29sb3IgNTAuNSUpIG5vLXJlcGVhdCBib3R0b20gcmlnaHQvMTAwJSA1MCU7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gdG9wTGVmdCl7XG4gICAgICAgIGJhY2tncm91bmQgOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wIGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTAlLCAkY29sb3IgNTAuNSUpIG5vLXJlcGVhdCB0b3AgbGVmdC8xMDAlIDEwMCVcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSB0b3BSaWdodCl7XG4gICAgICAgIGJhY2tncm91bmQgOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUwJSwgJGNvbG9yIDUwLjUlKSBuby1yZXBlYXQgdG9wIGxlZnQvMTAwJSAxMDAlXG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gYm90dG9tTGVmdCl7XG4gICAgICAgIGJhY2tncm91bmQgOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNTAlLCAkY29sb3IgNTAuNSUpIG5vLXJlcGVhdCB0b3AgbGVmdC8xMDAlIDEwMCVcbiAgICB9IEBlbHNlIGlmICgkdHlwZSA9PSBib3R0b21SaWdodCl7XG4gICAgICAgIGJhY2tncm91bmQgOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUwJSwgJGNvbG9yIDUwLjUlKSBuby1yZXBlYXQgdG9wIGxlZnQvMTAwJSAxMDAlXG4gICAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUcmFuc2l0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQG1peGluIHRyYW5zKCRzZWM6MC4xOCwgJGVhc2U6JGVhc2VPdXRTaW5lKXtcbiAgICAvLy13ZWJraXQtdHJhbnNpdGlvbiA6IGFsbCAkc2VjK3MgZWFzZS1vdXQ7XG4gICAgLy8tbW96LXRyYW5zaXRpb24gICAgOiBhbGwgJHNlYytzIGVhc2Utb3V0O1xuICAgIC8vLW8tdHJhbnNpdGlvbiAgICAgIDogYWxsICRzZWMrcyBlYXNlLW91dDtcbiAgICAvLy1tcy10cmFuc2l0aW9uICAgICA6IGFsbCAkc2VjK3MgZWFzZS1vdXQ7XG4gICAgLy90cmFuc2l0aW9uICAgICAgICAgOiBhbGwgJHNlYytzIGVhc2Utb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbiA6IGFsbCAkc2VjK3MgJGVhc2U7XG4gICAgdHJhbnNpdGlvbiAgICAgICAgIDogYWxsICRzZWMrcyAkZWFzZTtcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gaG92ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL0BtaXhpbiBob3ZlckJvYXJkZXIoJHNpemUsICRjb2xvcil7XG4vLyAgICAmOmJlZm9yZXtcbi8vICAgICAgICB6LWluZGV4IDogNTtcbi8vICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZVRMO1xuLy8gICAgICAgIGNvbnRlbnQgOiAnJztcbi8vICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4vLyAgICAgICAgd2lkdGggICA6IDEwMCU7XG4vLyAgICAgICAgaGVpZ2h0ICA6IDEwMCU7XG4vLyAgICAgICAgYm9yZGVyICA6IDAgc29saWQgJGNvbG9yO1xuLy8gICAgICAgIEBpbmNsdWRlIHRyYW5zKDAuMSk7XG4vLyAgICB9XG4vLyAgICAmOmhvdmVyOmJlZm9yZXsgYm9yZGVyIDogJHNpemUgc29saWQgJGNvbG9yOyB9XG4vL31cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8ga2V5ZnJhbWVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGtleWZyYW1lcyB0b1JpZ2h0Qmd7XG4gICAgMCV7IGxlZnQgOiAwOyB3aWR0aCA6IDA7IG9wYWNpdHkgOiAwOyB9XG4gICAgNTAleyBsZWZ0IDogMDsgd2lkdGggOiAxMDAlOyBvcGFjaXR5IDogMTsgfVxuICAgIDkwJXsgbGVmdCA6IDEwMCU7IHdpZHRoIDogMDsgb3BhY2l0eSA6IDE7IH1cbiAgICAxMDAleyBsZWZ0IDogMTAwJTsgd2lkdGggOiAwOyBvcGFjaXR5IDogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHRvUmlnaHRCZ1N3aXRjaHtcbiAgICA1MCV7IG9wYWNpdHkgOiAwOyB9XG4gICAgNTUleyBvcGFjaXR5IDogMTsgfVxuICAgIDEwMCV7IG9wYWNpdHkgOiAxOyB9XG59XG5cbkBtaXhpbiByZXNldEFuaW1PcGFjaXR5e1xuICAgIG9wYWNpdHkgOiAwO1xufVxuXG5AbWl4aW4gcmVzZXRBbmltT3BhY2l0eVRyYW5zbGF0ZVh7XG4gICAgb3BhY2l0eSAgIDogMDtcbiAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVYKDMwcHgpO1xufVxuXG5AbWl4aW4gcmVzZXRBbmltT3BhY2l0eVRyYW5zbGF0ZVhtaW51c3tcbiAgICBvcGFjaXR5ICAgOiAwO1xuICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgoLTMwcHgpO1xufVxuXG5AbWl4aW4gcmVzZXRBbmltT3BhY2l0eVRyYW5zbGF0ZVl7XG4gICAgb3BhY2l0eSAgIDogMDtcbiAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDMwcHgpO1xufVxuXG5AbWl4aW4gcmVzZXRTY2FsZVVwe1xuICAgIHdpbGwtY2hhbmdlIDogZmlsdGVyO1xuICAgIHRyYW5zZm9ybSAgIDogc2NhbGUoMCk7XG59XG5cbkBrZXlmcmFtZXMgYW5pbU9wYWNpdHl7XG4gICAgMCV7IEBpbmNsdWRlIHJlc2V0QW5pbU9wYWNpdHk7IH1cbiAgICAxMDAleyBvcGFjaXR5IDogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1PcGFjaXR5VHJhbnNsYXRlWHtcbiAgICAwJXsgQGluY2x1ZGUgcmVzZXRBbmltT3BhY2l0eVRyYW5zbGF0ZVg7IH1cbiAgICAxMDAleyBvcGFjaXR5IDogMTsgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1PcGFjaXR5VHJhbnNsYXRlWG1pbnVze1xuICAgIDAleyBAaW5jbHVkZSByZXNldEFuaW1PcGFjaXR5VHJhbnNsYXRlWG1pbnVzOyB9XG4gICAgMTAwJXsgb3BhY2l0eSA6IDE7IHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBhbmltT3BhY2l0eVRyYW5zbGF0ZVl7XG4gICAgMCV7IEBpbmNsdWRlIHJlc2V0QW5pbU9wYWNpdHlUcmFuc2xhdGVZOyB9XG4gICAgMTAwJXsgb3BhY2l0eSA6IDE7IHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyBhbmltU2NhbGVVcHtcbiAgICAwJXsgQGluY2x1ZGUgcmVzZXRTY2FsZVVwOyB9XG4gICAgMTAwJXsgdHJhbnNmb3JtIDogc2NhbGUoMSk7IH1cbn1cblxuQGtleWZyYW1lcyBhbmltT25sb2FkSW4wMXtcbiAgICAwJXtcbiAgICAgICAgb3BhY2l0eSAgIDogMDtcbiAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgyMHB4KTtcbiAgICB9XG4gICAgMTAwJXtcbiAgICAgICAgb3BhY2l0eSAgIDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbU9ubG9hZEluMDJ7XG4gICAgMCV7XG4gICAgICAgIG9wYWNpdHkgICA6IDA7XG4gICAgICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICAgIH1cbiAgICAxMDAle1xuICAgICAgICBvcGFjaXR5ICAgOiAxO1xuICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBhbmltT25sb2FkSW4wM3tcbiAgICAwJXtcbiAgICAgICAgb3BhY2l0eSAgIDogMDtcbiAgICAgICAgdHJhbnNmb3JtIDogc2NhbGUoMCk7XG4gICAgfVxuICAgIDEwMCV7XG4gICAgICAgIG9wYWNpdHkgICA6IDE7XG4gICAgICAgIHRyYW5zZm9ybSA6IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBAa2V5ZnJhbWVzIGFuaW1PbmxvYWRJbjAze1xuICAgICAgICAwJXtcbiAgICAgICAgICAgIG9wYWNpdHkgICA6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiBzY2FsZSgwKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAle1xuICAgICAgICAgICAgb3BhY2l0eSAgIDogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybSA6IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy9cbi8vICAgICBkZWZhdWx0LmNzc1xuLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgSW1wb3J0IEJhc2UgZmlsZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaW1wb3J0IFwiLi4vLi4vY29yZS9fdmFyaWFibGUuc2Nzc1wiO1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgZG9tIC8gY21uX2ltYWdlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwsIGJvZHl7IHdpZHRoIDogMTAwJTsgaGVpZ2h0IDogMTAwJTsgem9vbSA6IDEuMDsgfVxuYm9keXsgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0IDogMTAwJTsgfVxucHJlLCBjb2RlLCBrYmQsIHNhbXAsIHR0e1xuICAgIGZvbnQtZmFtaWx5IDogbW9ub3NwYWNlO1xuICAgICpmb250LXNpemUgIDogMTA4JTtcbiAgICBsaW5lLWhlaWdodCA6IDEwMCU7XG59XG5zZWN0aW9ueyBwb3NpdGlvbiA6IHJlbGF0aXZlOyB9XG5heyBwb3NpdGlvbiA6IHJlbGF0aXZlOyB0ZXh0LWRlY29yYXRpb24gOiBub25lOyBjdXJzb3IgOiBwb2ludGVyOyB9XG50YWJsZXsgZm9udC1zaXplIDogaW5oZXJpdDsgZm9udCA6IDEwMCU7IHdpZHRoIDogMTAwJTsgYm9yZGVyLWNvbGxhcHNlIDogY29sbGFwc2U7IH1cbmxpeyBwb3NpdGlvbiA6IHJlbGF0aXZlOyBsaW5lLWhlaWdodCA6IDFlbTsgfVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgY2xhc3Nlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogYmFzaWNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI19fYnNfbm90aWZ5X197IGRpc3BsYXkgOiBub25lICFpbXBvcnRhbnQ7IH1cbi5hYnN7IHBvc2l0aW9uIDogYWJzb2x1dGU7IH1cbi5oaWRleyB2aXNpYmlsaXR5IDogaGlkZGVuOyB9XG4uc2hvd3sgdmlzaWJpbGl0eSA6IHZpc2libGU7IH1cbi5ib2xkeyBmb250LXdlaWdodCA6IGJvbGQ7IH1cbi5sZWZ0eyBmbG9hdCA6IGxlZnQ7IH1cbi5yaWdodHsgZmxvYXQgOiByaWdodDsgfVxuLm5vd3JhcHsgd2hpdGUtc3BhY2UgOiBub3dyYXA7IH1cbi5jc3sgcG9pbnRlci1ldmVudHMgOiBub25lOyB9XG4uYWxpZ24tLXJpZ2h0eyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLmFsaWduLS1jZW50ZXJ7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLmlubGluZS1ibG9ja3sgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cblxuXG4vKiBmbG9hdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZmxvYXR7IGRpc3BsYXkgOiBibG9jazsgfVxuLmZsb2F0OmJlZm9yZSwgLmZsb2F0OmFmdGVyeyBjb250ZW50IDogXCIgXCI7IGRpc3BsYXkgOiB0YWJsZTsgfVxuLmZsb2F0OmFmdGVyeyBjbGVhciA6IGJvdGg7IH1cblxuXG4vKiBmbGV4Ym94XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mbGV4e1xuICAgIC1qcy1kaXNwbGF5ICAgICAgIDogZmxleDtcbiAgICBkaXNwbGF5ICAgICAgICAgICA6IGJsb2NrO1xuICAgIGRpc3BsYXkgICAgICAgICAgIDogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheSAgICAgICAgICAgOiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheSAgICAgICAgICAgOiAtbW96LWJveDtcbiAgICBkaXNwbGF5ICAgICAgICAgICA6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXkgICAgICAgICAgIDogZmxleDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcCA6IHdyYXA7XG4gICAgLW1zLWZsZXgtd3JhcCAgICAgOiB3cmFwO1xuICAgIGZsZXgtd3JhcCAgICAgICAgIDogd3JhcDtcbn1cbi5mbGV4eyAtd2Via2l0LWZsZXgtd3JhcCA6IHdyYXA7IGZsZXgtd3JhcCA6IHdyYXA7IH1cbi5mbGV4ID4gKnsganVzdGlmeS1jb250ZW50IDogZmxleC1zdGFydDsgfVxuLmZsZXgtZGx7IGRpc3BsYXkgOiBmbGV4OyBmbGV4LXdyYXAgOiB3cmFwOyB9XG5cbi8vLmZsZXh7XG4vLyAgICAvLyDnrKwy5byV5pWwOm1hcmdpbi1sZWZ0IOesrDPlvJXmlbA6bWFyZ2luLXRvcCDjga/lgIvliKXjgavmjIflrppcbi8vICAgICYuZ3JpZDEgPiAqeyBAaW5jbHVkZSBmbGV4Q29sdW0oMSwgMCUsIDAlKTsgfVxuLy8gICAgJi5ncmlkMiA+ICp7IEBpbmNsdWRlIGZsZXhDb2x1bSgyLCAwJSwgMCUpOyB9XG4vLyAgICAmLmdyaWQzID4gKnsgQGluY2x1ZGUgZmxleENvbHVtKDMsIDAlLCAwJSk7IH1cbi8vICAgICYuZ3JpZDQgPiAqeyBAaW5jbHVkZSBmbGV4Q29sdW0oNCwgMCUsIDAlKTsgfVxuLy8gICAgJi5ncmlkNSA+ICp7IEBpbmNsdWRlIGZsZXhDb2x1bSg1LCAwJSwgMCUpOyB9XG4vLyAgICAmLmdyaWQ2ID4gKnsgQGluY2x1ZGUgZmxleENvbHVtKDYsIDAlLCAwJSk7IH1cbi8vICAgICYuZ3JpZDcgPiAqeyBAaW5jbHVkZSBmbGV4Q29sdW0oNywgMCUsIDAlKTsgfVxuLy8gICAgJi5ncmlkOCA+ICp7IEBpbmNsdWRlIGZsZXhDb2x1bSg4LCAwJSwgMCUpOyB9XG4vLyAgICAmLmdyaWQ5ID4gKnsgQGluY2x1ZGUgZmxleENvbHVtKDksIDAlLCAwJSk7IH1cbi8vICAgICYuZ3JpZDEwID4gKnsgQGluY2x1ZGUgZmxleENvbHVtKDEwLCAwJSwgMCUpOyB9XG4vL31cbi8vLmZsZXhib3guYmV0d2VlbnsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cblxuLyogb3RoZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmpzLXN3aXRjaGluZ3sgLyoganPnlKjkuojntIToqp4gKi8gfVxuLmpzLTEwMHZoeyAvKiBqc+eUqOS6iOe0hOiqniAqLyB9XG4uc3JjeyAvKiBqc+eUqOS6iOe0hOiqniAqLyB9XG4ub25sb2FkLWlueyAvKiBqc+eUqOS6iOe0hOiqniAqLyB9XG4ubGF0ZS1pbnsgLyoganPnlKjkuojntIToqp4gKi8gfVxuLmxhdGUtYW5pbXsgLyoganPnlKjkuojntIToqp4gKi8gfVxuLmxhdGUtaW4tZ3JvdXB7IC8qIGpz55So5LqI57SE6KqeICovIH1cbi5hY2NvcmRpb24tYnRueyAvKiBqc+eUqOS6iOe0hOiqniAqLyB9XG4uYWNjb3JkaW9uLWJvZHl7IC8qIGpz55So5LqI57SE6KqeICovIH1cbi5ub25lLWp1c3RpZnl7IC8qIOS6iOe0hOiqniAqLyB9XG4udHJhbnN7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uIDogYWxsIDAuMjVzIGVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uICAgIDogYWxsIDAuMjVzIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb24gICAgIDogYWxsIDAuMjVzIGVhc2U7XG4gICAgdHJhbnNpdGlvbiAgICAgICAgIDogYWxsIDAuMjVzIGVhc2U7XG59XG4udGFibGUtY2VsbHsgZGlzcGxheSA6IHRhYmxlOyB9XG4udGFibGUtY2VsbCAuY2VsbHsgZGlzcGxheSA6IHRhYmxlLWNlbGw7IH1cbi5maXR7IHdpZHRoIDogMTAwJTsgfVxuLnBjc2hvd3sgZGlzcGxheSA6IGJsb2NrOyB9XG4uc3BzaG93eyBkaXNwbGF5IDogbm9uZTsgfVxuXG5hLmNzeyBwb2ludGVyLWV2ZW50cyA6IG5vbmU7fVxuLnR4dDpub3QoLm5vbmUpID4gcHsgQGluY2x1ZGUgdGV4dEp1c3RpZnk7IH1cbi5ub25lLWp1c3RpZnl7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIC5wY3Nob3d7IGRpc3BsYXkgOiBub25lOyB9XG4gICAgLnNwc2hvd3sgZGlzcGxheSA6IGJsb2NrOyB9XG4gICAgLnNwMTAweyB3aWR0aCA6IDEwMCU7IH1cbn0iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29yZS9fdmFyaWFibGUuc2Nzc1wiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgRE9NXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kbWluLXdpZHRoIDogMTI4MHB4O1xuaHRtbCwgYm9keXtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIHdpZHRoICAgIDogMTAwJTtcbiAgICAvL2hlaWdodCAgIDogMTAwJTtcbiAgICAvL21pbi13aWR0aCA6ICRtaW4td2lkdGg7XG59XG5cbmJvZHl7XG4gICAgcG9zaXRpb24gICAgICAgICAgICAgICAgICAgOiByZWxhdGl2ZTtcblxuICAgIC8vIEBzZWUgaHR0cDovL2hhY2tub3RlLmpwL2FyY2hpdmVzLzExNDYwL1xuICAgIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0IDogZXhhY3Q7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmcgOiB0b3VjaDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3QgICA6IDEwMCU7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmcgICAgOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZyAgICAgOiBhbnRpYWxpYXNlZDtcbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBodG1sLCBib2R5eyBtaW4td2lkdGggOiAxMDAlOyB9XG4gICAgYm9keXsgbWluLXdpZHRoIDogMTAwJTsgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBGb250XG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5e1xuICAgIEBpbmNsdWRlIGZvbnRzKG51bGwsIG51bGwsICRmb250d2VpZ2h0UmVndWxhciwgbnVsbCwgJGNvbG9yQmxhY2ssICRmb250RmFtaWx5R290aGljKTtcbiAgICBwe1xuICAgICAgICBAaW5jbHVkZSBmb250cygxNHB4LCAyOHB4LCAkZm9udHdlaWdodFJlZ3VsYXIsIDAsICRjb2xvckJsYWNrLCAkZm9udEZhbWlseUdvdGhpYyk7XG4gICAgICAgIHNwYW57XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250cyhpbmhlcml0LCBpbmhlcml0LCBpbmhlcml0LCBpbmhlcml0LCBpbmhlcml0LCBpbmhlcml0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5e1xuICAgICAgICBweyBAaW5jbHVkZSBmb250cygxNHB4LCAyNXB4LCBudWxsLCAwKTsgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgQ29sb3JzXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29sb3J7XG4gICAgJi0tbWFpbnsgY29sb3IgOiAkY29sb3JNYWluOyB9XG4gICAgJi0td2hpdGV7IGNvbG9yIDogI2ZmZjsgfVxuICAgICYtLWJsYWNreyBjb2xvciA6ICMwMDA7IH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgTGF5b3V0XG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPWlubmVyXXsgcG9zaXRpb24gOiByZWxhdGl2ZTsgbWFyZ2luIDogMCBhdXRvOyB9XG5cbi5pbm5lcntcbiAgICAmODAweyB3aWR0aCA6IDgwMHB4OyB9XG4gICAgJjkwMHsgd2lkdGggOiA5MDBweDsgfVxuICAgICY5MjB7IHdpZHRoIDogOTIwcHg7IH1cbiAgICAmMTAwMHsgd2lkdGggOiAxMDAwcHg7IH1cbiAgICAmMTA4MHsgd2lkdGggOiAxMDgwcHg7IH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBbY2xhc3MqPWlubmVyXXsgd2lkdGggOiBhdXRvOyBtYXJnaW4gOiBhdXRvOyB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIG9ubG9hZC1pbiAmIC5sYXRlLWluXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AaWYgJERFQlVHICE9IHRydWV7XG4gICAgLmxhdGUtaW57XG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFucygwLjYsICRlYXNlT3V0U2luZSk7XG5cbiAgICAgICAgJi50cmFuc1h7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVYKDMwcHgpO1xuICAgICAgICAgICAgJi5pbnsgdHJhbnNmb3JtIDogdHJhbnNsYXRlKDApOyB9XG4gICAgICAgIH1cbiAgICAgICAgJi50cmFuc1l7XG4gICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgICAgICAgICAgJi5pbnsgdHJhbnNmb3JtIDogdHJhbnNsYXRlKDApOyB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsb3d7IEBpbmNsdWRlIHRyYW5zKDEuMjUpOyB9XG4gICAgICAgICYuaW57XG4gICAgICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgfVxuICAgICAgICAmLWdyb3Vwe1xuICAgICAgICAgICAgPiAqe1xuICAgICAgICAgICAgICAgIG9wYWNpdHkgICA6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgzMHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFucygwLjYsICRlYXNlT3V0U2luZSk7XG4gICAgICAgICAgICAgICAgJi5pbntcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgIDogMTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGx9e1xuICAgICAgICAubGF0ZS1pbi50cmFuc2xhdGVZeyB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDYwcHgpOyB9XG4gICAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICBJbXBvcnQgQmFzZSBGaWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCIuLi8uLi9sYXlvdXQvX2hlYWRlclwiO1xuQGltcG9ydCBcIi4uLy4uL2xheW91dC9fZm9vdGVyXCI7XG5AaW1wb3J0IFwiLi4vLi4vbGF5b3V0L19tb2RhYWxcIjtcbkBpbXBvcnQgXCIuLi8uLi9sYXlvdXQvX2Zvcm1cIjtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgI3dyYXBwZXIgLyBtYWluXG5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jd3JhcHBlcntcbiAgICBwb3NpdGlvbiAgICA6IHJlbGF0aXZlO1xuICAgIHdpZHRoICAgICAgIDogMTAwJTtcbiAgICBtaW4td2lkdGggICA6ICRtaW4td2lkdGg7XG4gICAgaGVpZ2h0ICAgICAgOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wIDogMTAwcHg7XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgI3dyYXBwZXJ7XG4gICAgICAgIHdpZHRoICAgICAgIDogYXV0bztcbiAgICAgICAgaGVpZ2h0ICAgICAgOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGggICA6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wIDogNjBweDtcbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGJvZHlcblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBpZiAkREVCVUcgIT0gdHJ1ZXtcbiAgICAuYWNjb3JkaW9uLWJvZHl7IGRpc3BsYXkgOiBub25lOyB9XG59XG5cbmJvZHl7XG4gICAgJi5wYWdlLWNoaWxkLmN1c3RvbWVyLmluZm8gI212eyBiYWNrZ3JvdW5kIDogdXJsKC4uL2ltZy9jdXN0b21lci9pbmZvX212X3BjLmpwZykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgICYucGFnZS1jaGlsZC5jdXN0b21lci5pbnRlcm5ldCAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2N1c3RvbWVyL2ludGVybmV0X212X3BjLmpwZykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuXG4gICAgJi5wYWdlLWNoaWxkLmNvbXBhbnkubWVzc2FnZSAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2NvbXBhbnkvbWVzc2FnZV9tdl9wYy5qcGcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cbiAgICAmLnBhZ2UtY2hpbGQuY29tcGFueS5wcm9maWxlICNtdnsgYmFja2dyb3VuZCA6IHVybCguLi9pbWcvY29tcGFueS9wcm9maWxlX212X3BjLmpwZykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgICYucGFnZS1jaGlsZC5jb21wYW55Lm9mZmljZSAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2NvbXBhbnkvb2ZmaWNlX212X3BjLmpwZykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgICYucGFnZS1jaGlsZC5jb21wYW55Lmdyb3VwICNtdnsgYmFja2dyb3VuZCA6IHVybCguLi9pbWcvY29tcGFueS9ncm91cF9tdl9wYy5qcGcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cblxuICAgICYucGFnZS1jaGlsZC5jb250YWN0ICNtdnsgYmFja2dyb3VuZCA6IHVybCguLi9pbWcvY29udGFjdC90b3BfbXZfcGMuanBnKSBuby1yZXBlYXQgY2VudGVyOyB9XG5cblxuICAgICYucGFnZS1wYXJlbnQsXG4gICAgJi5wYWdlLWNoaWxke1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgcGFkZGluZyA6IDQwcHggMCAwO1xuICAgICAgICAgICAgI212e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgICA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbiAgICAgICAgICA6IDAgYXV0byA2MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgICA6IDEwODBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQgICAgICAgICAgOiAyMDBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiBjb3ZlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93ICAgICAgICA6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAjaDF7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlVEM7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoY2VudGVyLCBjZW50ZXIpO1xuICAgICAgICAgICAgICAgICAgICAuc2V0e1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+ICp7IGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGgxeyBAaW5jbHVkZSBmb250cygzMnB4LCAxZW0sICRmb250d2VpZ2h0TWVkaXVtLCBudWxsLCBudWxsLCAkZm9udEZhbWlseU5vdG9TZXJpZik7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5e1xuICAgICAgICAmLnBhZ2UtY2hpbGQuY3VzdG9tZXIuaW5mbyAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2N1c3RvbWVyL2luZm9fbXZfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyOyB9XG4gICAgICAgICYucGFnZS1jaGlsZC5jdXN0b21lci5pbnRlcm5ldCAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2N1c3RvbWVyL2ludGVybmV0X212X3NwLmpwZykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuXG4gICAgICAgICYucGFnZS1jaGlsZC5jb21wYW55Lm1lc3NhZ2UgI212eyBiYWNrZ3JvdW5kIDogdXJsKC4uL2ltZy9jb21wYW55L21lc3NhZ2VfbXZfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyOyB9XG4gICAgICAgICYucGFnZS1jaGlsZC5jb21wYW55LnByb2ZpbGUgI212eyBiYWNrZ3JvdW5kIDogdXJsKC4uL2ltZy9jb21wYW55L3Byb2ZpbGVfbXZfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyOyB9XG4gICAgICAgICYucGFnZS1jaGlsZC5jb21wYW55Lm9mZmljZSAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2NvbXBhbnkvb2ZmaWNlX212X3NwLmpwZykgbm8tcmVwZWF0IGNlbnRlcjsgfVxuICAgICAgICAmLnBhZ2UtY2hpbGQuY29tcGFueS5ncm91cCAjbXZ7IGJhY2tncm91bmQgOiB1cmwoLi4vaW1nL2NvbXBhbnkvZ3JvdXBfbXZfc3AuanBnKSBuby1yZXBlYXQgY2VudGVyOyB9XG5cbiAgICAgICAgJi5wYWdlLWNoaWxkLmNvbnRhY3QgI212eyBiYWNrZ3JvdW5kIDogdXJsKC4uL2ltZy9jb250YWN0L3RvcF9tdl9zcC5qcGcpIG5vLXJlcGVhdCBjZW50ZXI7IH1cblxuICAgICAgICAmLnBhZ2UtcGFyZW50LFxuICAgICAgICAmLnBhZ2UtY2hpbGR7XG4gICAgICAgICAgICAmLm1vcmUgbWFpbixcbiAgICAgICAgICAgICYubmV3cyBtYWlueyBwYWRkaW5nIDogNTBweCAwIDA7IH1cbiAgICAgICAgICAgIG1haW57XG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IDA7XG4gICAgICAgICAgICAgICAgI212e1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4gICAgICAgICA6IDAgMCA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbSA6IDI2LjY2JTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICAgICAgOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgICAgICA6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICNoMXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAuc2V0e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYgPiAqeyBkaXNwbGF5IDogYmxvY2s7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMjJweCwgMjlweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGJ0blxuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpbmt7XG4gICAgJi0tdW5kZXJsaW5le1xuICAgICAgICBAbWVkaWEgI3skc3BPdmVyfXtcbiAgICAgICAgICAgICY6aG92ZXJ7IHRleHQtZGVjb3JhdGlvbiA6IHVuZGVybGluZTsgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy5idG57XG4vLyAgICAmLS1iYXNpYyxcbi8vICAgICYtLWNpcmNsZXtcbi8vICAgICAgICBhe1xuLy8gICAgICAgICAgICBkaXNwbGF5IDogaW5saW5lLWJsb2NrO1xuLy8gICAgICAgICAgICBtYXJnaW4gIDogYXV0bztcbi8vICAgICAgICAgICAgQGluY2x1ZGUgZmxleChjZW50ZXIsIGNlbnRlcik7XG4vLyAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuLy8gICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4vLyAgICAgICAgICAgICAgICAgICAgY29udGVudCAgICAgICA6ICcnO1xuLy8gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlVEw7XG4vLyAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICAgICA6IDEwMCU7XG4vLyAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDEwMCU7XG4vLyAgICAgICAgICAgICAgICAgICAgYm9yZGVyICAgICAgICA6IDJweCBzb2xpZCAkY29sb3JZZWxsb3c7XG4vLyAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1cyA6IDk5OXB4O1xuLy8gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgICAgICAgOiAwO1xuLy8gICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgICAgcCwgJjpiZWZvcmV7IEBpbmNsdWRlIHRyYW5zKCk7IH1cbi8vICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4vLyAgICAgICAgICAgICAgICAgICAgcHsgY29sb3IgOiAkY29sb3JZZWxsb3c7IH1cbi8vICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbi8vICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoNXB4LCBudWxsLCBudWxsLCA1cHgpO1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgIDogY2FsYygxMDAlIC0gMTBweCk7XG4vLyAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgOiBjYWxjKDEwMCUgLSAxMHB4KTtcbi8vICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSA6IDE7XG4vLyAgICAgICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy8gICAgJi0tYmFzaWN7XG4vLyAgICAgICAgYXtcbi8vICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDUwcHg7XG4vLyAgICAgICAgICAgIGJhY2tncm91bmQgICAgOiAkY29sb3JCbHVlRGFyaztcbi8vICAgICAgICAgICAgYm9yZGVyLXJhZGl1cyA6IDk5OXB4O1xuLy8gICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxNnB4LCAxZW0sICRmb250d2VpZ2h0Qm9sZCwgMC4wNWVtLCAjZmZmKTsgfVxuLy8gICAgICAgICAgICAmOmFmdGVye1xuLy8gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgMjVweCwgMCwgbnVsbCwgYXV0byk7XG4vLyAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uTGluZUFycm93KCRjb2xvclllbGxvdywgM3B4LCByaWdodCwgMTJweCk7XG4vLyAgICAgICAgICAgIH1cbi8vICAgICAgICB9XG4vLyAgICB9XG4vLyAgICAmLS1jaXJjbGV7XG4vLyAgICAgICAgYXtcbi8vICAgICAgICAgICAgd2lkdGggICAgICAgICA6IDE0MHB4O1xuLy8gICAgICAgICAgICBoZWlnaHQgICAgICAgIDogMTQwcHg7XG4vLyAgICAgICAgICAgIGJhY2tncm91bmQgICAgOiAkY29sb3JCbHVlRGFyaztcbi8vICAgICAgICAgICAgYm9yZGVyLXJhZGl1cyA6IDk5OXB4O1xuLy8gICAgICAgICAgICBwe1xuLy8gICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbi8vICAgICAgICAgICAgICAgIHBhZGRpbmcgIDogMCAyMHB4IDAgMDtcbi8vICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDE2cHgsIDFlbSwgJGZvbnR3ZWlnaHRCb2xkLCAwLjA1ZW0sICNmZmYpO1xuLy8gICAgICAgICAgICAgICAgJjphZnRlcntcbi8vICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLCAwLCAwLCBudWxsLCBhdXRvKTtcbi8vICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uTGluZUFycm93KCRjb2xvclllbGxvdywgM3B4LCByaWdodCwgMTJweCk7XG4vLyAgICAgICAgICAgICAgICB9XG4vLyAgICAgICAgICAgIH1cbi8vICAgICAgICB9XG4vLyAgICB9XG4vL31cblxuLy9AbWVkaWEgI3skc21hbGx9e1xuLy8gICAgLmJ0bntcbi8vICAgICAgICAmLS1iYXNpY3tcbi8vICAgICAgICAgICAgYXtcbi8vICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgICAgICA6IDAgMCAwIDIwcHg7XG4vLyAgICAgICAgICAgICAgICBoZWlnaHQgICAgICAgICAgOiA0MHB4O1xuLy8gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50IDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTNweCwgbnVsbCwgbnVsbCwgMC4wMjVlbSk7IH1cbi8vICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4vLyAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgMjBweCwgMCwgbnVsbCwgYXV0byk7XG4vLyAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbkxpbmVBcnJvdygkY29sb3JZZWxsb3csIDJweCwgcmlnaHQsIDEwcHgpO1xuLy8gICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgfVxuLy8gICAgICAgICYtLWNpcmNsZXtcbi8vICAgICAgICAgICAgYXtcbi8vICAgICAgICAgICAgICAgIHdpZHRoICA6IDcwcHg7XG4vLyAgICAgICAgICAgICAgICBoZWlnaHQgOiA3MHB4O1xuLy8gICAgICAgICAgICAgICAgcHtcbi8vICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAxMHB4IDAgMDtcbi8vICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cyg5cHgsIG51bGwsIG51bGwsIDAuMDNlbSk7XG4vLyAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbi8vICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbkxpbmVBcnJvdygkY29sb3JZZWxsb3csIDJweCwgcmlnaHQsIDdweCk7XG4vLyAgICAgICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICAgICAgfVxuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy99XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIGRlY29yYXRpb25cblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vLmRlY297XG4vLyAgICAmLS10dGwtY2VudGVye1xuLy8gICAgICAgIG1hcmdpbiAgICAgICAgOiAwIDAgNjBweDtcbi8vICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICRjb2xvck1haW47XG4vLyAgICAgICAgdGV4dC1hbGlnbiAgICA6IGNlbnRlcjtcbi8vICAgICAgICAmLm5vbmV7IG1hcmdpbi1ib3R0b20gOiAwOyB9XG4vLyAgICAgICAgJiA+ICp7XG4vLyAgICAgICAgICAgIGRpc3BsYXkgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4vLyAgICAgICAgICAgIHBhZGRpbmcgICAgICAgOiAwIDAgMTBweDtcbi8vICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMzZweCwgMWVtLCAkZm9udHdlaWdodEJvbGQsIDAuMDVlbSwgJGNvbG9yQmx1ZURhcmspO1xuLy8gICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICRjb2xvckJsdWVEYXJrO1xuLy8gICAgICAgIH1cbi8vICAgIH1cbi8vfVxuLy9cbi8vQG1lZGlhICN7JHNtYWxsfXtcbi8vICAgIC5kZWNve1xuLy8gICAgICAgICYtLXR0bC1jZW50ZXJ7XG4vLyAgICAgICAgICAgIG1hcmdpbiA6IDAgMCAzMHB4O1xuLy8gICAgICAgICAgICAmID4gKntcbi8vICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwIDAgMTBweDtcbi8vICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDIwcHgsIG51bGwsIG51bGwsIDAuMDI1ZW0pO1xuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy99XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5AaW1wb3J0IFwiLi4vY29yZS9fdmFyaWFibGUuc2Nzc1wiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmhlYWRlcntcbiAgICB6LWluZGV4ICAgICAgIDogOTk5O1xuICAgIHBvc2l0aW9uICAgICAgOiBmaXhlZDtcbiAgICB3aWR0aCAgICAgICAgIDogMTAwJTtcbiAgICBtaW4td2lkdGggICAgIDogJG1pbi13aWR0aDtcbiAgICB0b3AgICAgICAgICAgIDogMDtcbiAgICBsZWZ0ICAgICAgICAgIDogMDtcbiAgICBoZWlnaHQgICAgICAgIDogMTAwcHg7XG4gICAgYmFja2dyb3VuZCAgICA6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbSA6IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIC5sZWZ0e1xuICAgICAgICBwYWRkaW5nIDogMzBweCAwIDAgNTBweDtcbiAgICAgICAgI2hlYWRlci1sb2dvIGltZ3sgaGVpZ2h0IDogMzRweDsgfVxuICAgIH1cbiAgICAucmlnaHQucGNzaG93e1xuICAgICAgICBwYWRkaW5nIDogMzBweCA1MHB4IDAgMDtcbiAgICAgICAgdWx7IGJvcmRlci1sZWZ0IDogMXB4IHNvbGlkICRjb2xvckdyYXk7IH1cbiAgICAgICAgbGl7IGJvcmRlci1yaWdodCA6IDFweCBzb2xpZCAkY29sb3JHcmF5OyB9XG4gICAgICAgIGF7XG4gICAgICAgICAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nICAgIDogMTVweCAwIDA7XG4gICAgICAgICAgICB3aWR0aCAgICAgIDogMTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQgICAgIDogNzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxNHB4LCAxOHB4LCAkZm9udHdlaWdodE1lZGl1bSwgbnVsbCwgJGNvbG9yQmxhY2ssICRmb250RmFtaWx5Tm90b1NlcmlmKTsgfVxuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlQkM7XG4gICAgICAgICAgICAgICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGNvbG9yTWFpbjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5ICAgIDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zKCk7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsIHB7IEBpbmNsdWRlIHRyYW5zKCk7IH1cbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcCA6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHB7IGNvbG9yIDogJGNvbG9yTWFpbiB9XG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JleyBvcGFjaXR5IDogMTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLmhvdmVye1xuICAgICAgICAgICAgICAgICAgICBweyBjb2xvciA6ICRjb2xvck1haW4gfVxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgb3BhY2l0eSA6IDE7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgaGVhZGVye1xuICAgICAgICBtaW4td2lkdGggOiBhdXRvO1xuICAgICAgICBoZWlnaHQgICAgOiA2MHB4O1xuICAgICAgICAubGVmdHtcbiAgICAgICAgICAgIHBhZGRpbmcgOiAxOHB4IDAgMCAyMHB4O1xuICAgICAgICAgICAgI2hlYWRlci1sb2dvIGltZ3sgaGVpZ2h0IDogMjJweDsgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgI21lbnUtYnRuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI21lbnUtYnRue1xuICAgIHBvc2l0aW9uICAgOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgd2lkdGggICAgICA6IDYwcHg7XG4gICAgaGVpZ2h0ICAgICA6IDYwcHg7XG4gICAgYmFja2dyb3VuZCA6ICRjb2xvck1haW47XG4gICAgLmljb257XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlQ0M7XG4gICAgICAgIHNwYW4sXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgei1pbmRleCAgICA6IDI7XG4gICAgICAgICAgICBjb250ZW50ICAgIDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXkgICAgOiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDAsIDAsIDAsIDAsIGF1dG8pO1xuICAgICAgICAgICAgd2lkdGggICAgICA6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQgICAgIDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFucygwLjE1KTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZXsgdHJhbnNmb3JtIDogdHJhbnNsYXRlKDAsIC04cHgpOyB9XG4gICAgICAgICY6YWZ0ZXJ7IHRyYW5zZm9ybSA6IHRyYW5zbGF0ZSgwLCA4cHgpOyB9XG4gICAgfVxuICAgICYub3BlbntcbiAgICAgICAgYmFja2dyb3VuZCA6ICRjb2xvckdyZWVuO1xuICAgICAgICAuaWNvbntcbiAgICAgICAgICAgIHNwYW57IHdpZHRoIDogMDsgfVxuICAgICAgICAgICAgJjpiZWZvcmV7IHRyYW5zZm9ybSA6IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDAsIDApOyB9XG4gICAgICAgICAgICAmOmFmdGVyeyB0cmFuc2Zvcm0gOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICNtZW51XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuI21lbnV7IGRpc3BsYXkgOiBub25lOyBvcGFjaXR5IDogMDsgfVxuXG4jbWVudXtcbiAgICB6LWluZGV4ICAgICA6IDg4ODtcbiAgICBwb3NpdGlvbiAgICA6IGZpeGVkO1xuICAgIHRvcCAgICAgICAgIDogMDtcbiAgICBsZWZ0ICAgICAgICA6IDA7XG4gICAgcGFkZGluZy10b3AgOiA2MHB4O1xuICAgIHdpZHRoICAgICAgIDogMTAwJTtcbiAgICBoZWlnaHQgICAgICA6IDEwMCU7XG5cbiAgICAmLm9wZW57XG4gICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgb3BhY2l0eSA6IDA7XG4gICAgfVxuXG4gICAgI21lbnUtb3ZlcmxheXtcbiAgICAgICAgei1pbmRleCAgICA6IDY2NjtcbiAgICAgICAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlVEw7XG4gICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICBoZWlnaHQgICAgIDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZCA6IHJnYmEoI2U4ZjRmNSwgMSk7XG4gICAgfVxuXG4gICAgI21lbnUtbGlzdHtcbiAgICAgICAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4ICAgIDogNzc3O1xuICAgICAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgICAgIHBhZGRpbmcgICAgOiA0MHB4IDQwcHggMzBweDtcbiAgICAgICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgICAgIGhlaWdodCAgICAgOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15IDogc2Nyb2xsO1xuXG4gICAgICAgICNtZW51LWJvZHl7XG4gICAgICAgICAgICAuY29se1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luIDogMzBweCAwIDA7IH1cbiAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgICAgICAgICAgLnR0bHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAgICAgICA6IDAgMCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICRjb2xvckdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGEsIHB7IEBpbmNsdWRlIGZvbnRzKDE3cHgsIDFlbSwgJGZvbnR3ZWlnaHRNZWRpdW0sIG51bGwsIG51bGwsICRmb250RmFtaWx5Tm90b1NlcmlmKTsgfVxuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgLTIycHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb25MaW5lQXJyb3coJGNvbG9yTWFpbiwgMXB4LCByaWdodCwgMTJweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3R7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbiAgOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDAgMCAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDEwcHggMCAwOyB9XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IDogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDAgMCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50ICAgIDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMC41ZW0sIG51bGwsIG51bGwsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRjb2xvck1haW47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxM3B4LCAxN3B4LCAkZm9udHdlaWdodE1lZGl1bSwgMC4wMjVlbSwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmJsYW5re1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLCAtMzBweCwgMCwgbnVsbCwgYXV0byk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgICA6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgICAgICA6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICAgICA6IHVybCguLi9pbWcvY29tbW9uL2ljb25fYmxhbmtfMDIuc3ZnKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiAxMDAlIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgI21lbnVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4jc3VibWVudXtcbiAgICBkaXNwbGF5ICA6IG5vbmU7XG4gICAgei1pbmRleCAgOiA5OTk7XG4gICAgcG9zaXRpb24gOiBmaXhlZDtcbiAgICB0b3AgICAgICA6IDEwMHB4O1xuICAgIHJpZ2h0ICAgIDogNTBweDtcbiAgICAuc3VibWVudXtcbiAgICAgICAgcGFkZGluZyAgICA6IDMwcHggMCAzMHB4IDQwcHg7XG4gICAgICAgIHdpZHRoICAgICAgOiA2MDVweDtcbiAgICAgICAgbWluLWhlaWdodCA6IDgwcHg7XG4gICAgICAgIGJhY2tncm91bmQgOiAjZThmNGY1O1xuICAgICAgICBib3JkZXIgICAgIDogMXB4IHNvbGlkICRjb2xvckdyYXk7XG4gICAgICAgIGJvcmRlci10b3AgOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICYjbmF2e1xuICAgICAgICAgICAgJjAxe1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi1sZWZ0IDogMjVweDsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYwMntcbiAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpeyB3aWR0aCA6IDE4MHB4OyB9XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbil7IHdpZHRoIDogY2FsYygxMDAlIC0gMTgwcHgpOyB9XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobiszKXsgbWFyZ2luLXRvcCA6IDE1cHg7IH1cbiAgICAgICAgICAgICAgICAgICAgJi5tZy1ub25leyBtYXJnaW4tbGVmdCA6IDAgIWltcG9ydGFudDsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhe1xuICAgICAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmcgOiAwIDAgMCAzMHB4O1xuICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlQ0w7XG4gICAgICAgICAgICAgICAgd2lkdGggICAgICA6IDI1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGNvbG9yTWFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE0cHgsIDFlbSwgJGZvbnR3ZWlnaHRNZWRpdW0sIDAsIG51bGwsICRmb250RmFtaWx5Tm90b1NlcmlmKTsgfVxuICAgICAgICAgICAgJi5ibGFua3tcbiAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50ICAgICAgICAgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgLTMwcHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgICAgOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgICAgICAgOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiB1cmwoLi4vaW1nL2NvbW1vbi9pY29uX2JsYW5rXzAyLnN2Zykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplIDogMTAwJSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50cyAgOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgIHAsICY6YmVmb3JleyBAaW5jbHVkZSB0cmFucygpOyB9XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgcHsgY29sb3IgOiAkY29sb3JHcmVlbjsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgXCIuLi9jb3JlL192YXJpYWJsZS5zY3NzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgZm9vdGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuZm9vdGVye1xuICAgIG1hcmdpbiA6IDE0MHB4IDAgMDtcbiAgICAudXBwZXJ7XG4gICAgICAgIGJhY2tncm91bmQgOiAjZThmNGY1O1xuICAgICAgICAuc2Vne1xuICAgICAgICAgICAgYm9yZGVyLXRvcCA6IDFweCBzb2xpZCAjZDRkZWRmO1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogNTBweCAwIDQwcHg7XG4gICAgICAgICAgICAgICAgLmNvbHtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4tbGVmdCA6IDIuNzUlOyB9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMzEuNSU7XG4gICAgICAgICAgICAgICAgICAgIC50dGx7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nICAgICAgIDogMCAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICRjb2xvckdyYXk7XG4gICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygyMHB4LCAxZW0sICRmb250d2VpZ2h0TWVkaXVtLCBudWxsLCBudWxsLCAkZm9udEZhbWlseU5vdG9TZXJpZik7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiAgOiAyNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwIDAgMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGk6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luIDogMjBweCAwIDA7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAwIDAgMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLjVlbSwgbnVsbCwgbnVsbCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgIDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGNvbG9yTWFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTRweCwgMThweCwgJGZvbnR3ZWlnaHRNZWRpdW0sIDAuMDVlbSwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5ibGFua3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgICAgICAgICA6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgLTMwcHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICAgICAgIDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgICAgICA6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiB1cmwoLi4vaW1nL2NvbW1vbi9pY29uX2JsYW5rXzAyLnN2Zykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDEwMCUgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNwT3Zlcn17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAsICY6YmVmb3JleyBAaW5jbHVkZSB0cmFucygpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ICAgICAgIDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgIDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgIDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGNvbG9yR3JlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAzMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICAgICAgbGk6bnRoLW9mLXR5cGUobisyKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0ICA6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQgOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQgIDogMXB4IHNvbGlkICRjb2xvckdyYXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxMnB4LCAxZW0sICRmb250d2VpZ2h0UmVndWxhciwgMCwgbnVsbCk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50ICAgIDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKG51bGwsIG51bGwsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRjb2xvckdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ICAgIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgdHJhbnMoKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tICA6IC02cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweyBjb2xvciA6ICRjb2xvckdyZWVuOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5idG57XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDQwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luICAgICA6IGF1dG8gMCBhdXRvIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nICAgIDogMjVweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgIDogMzAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgIDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXggIDogMjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDEycHgsIDFlbSwgJGZvbnR3ZWlnaHRNZWRpdW0sIG51bGwsICNmZmYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb257XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleCA6IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMTJweCwgMjBweCwgMCwgbnVsbCwgYXV0byk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbkxpbmVBcnJvdygjZmZmLCAxcHgsIHRvcCwgMTJweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc3BPdmVyfXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZUJMO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgaGVpZ2h0IDogMTAwJTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubG93ZXJ7XG4gICAgICAgIHBhZGRpbmcgICAgOiAwIDAgNTBweDtcbiAgICAgICAgYmFja2dyb3VuZCA6ICRjb2xvck1haW47XG4gICAgICAgIC5jb2wtbGVmdHtcbiAgICAgICAgICAgIHBhZGRpbmcgOiA1MHB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoICAgOiA0ODBweDtcbiAgICAgICAgICAgICNmb290ZXItbG9nbyBpbWd7IGhlaWdodCA6IDU0cHg7IH1cbiAgICAgICAgfVxuICAgICAgICAuY29sLXJpZ2h0e1xuICAgICAgICAgICAgd2lkdGggOiBjYWxjKDEwMCUgLSA0ODBweCk7XG4gICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICB1bHsgYm9yZGVyLWxlZnQgOiAxcHggc29saWQgIzY5OTNjMjsgfVxuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodCA6IDFweCBzb2xpZCAjNjk5M2MyO1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSAgICA6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAgICA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDcwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTJweCwgMWVtLCAkZm9udHdlaWdodE1lZGl1bSwgbnVsbCwgI2ZmZik7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICYuYmxhbmt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCAgICAgICAgIDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKG51bGwsIDAsIDAsIDAsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgICAgOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgICAgICAgOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICAgOiB1cmwoLi4vaW1nL2NvbW1vbi9pY29uX2JsYW5rXzAxLnN2Zykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplIDogMTAwJSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgdHJhbnMoKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wIDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgOiAjZThmNGY1O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBweyBjb2xvciA6ICRjb2xvck1haW47IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRtaWRkbGV9e1xuICAgIGZvb3RlcntcbiAgICAgICAgbWFyZ2luIDogODBweCAwIDA7XG4gICAgICAgIC51cHBlcntcbiAgICAgICAgICAgIC5zZWd7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDQwcHggNDBweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAuY29se1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4gOiAzMHB4IDAgMDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnR0bHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTdweCk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5saXN0e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDE1cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDE1cHggMCAwOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDAgMCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JleyB3aWR0aCA6IDIwcHg7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTNweCwgMTdweCwgbnVsbCwgMC4wMjVlbSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDI1cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobisyKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luICAgICAgIDogMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdCA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0ICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDEycHgsIDE4cHgpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmJ0bntcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4gIDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggICA6IDE2NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDEwcHgpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmljb257XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDEwcHgsIDE1cHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uTGluZUFycm93KCNmZmYsIDFweCwgdG9wLCAxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxvd2Vye1xuICAgICAgICAgICAgcGFkZGluZyA6IDAgMjBweCA0MHB4O1xuICAgICAgICAgICAgLmNvbC1sZWZ0e1xuICAgICAgICAgICAgICAgIG9yZGVyICAgOiAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgOiA0NXB4IDAgMDtcbiAgICAgICAgICAgICAgICB3aWR0aCAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICAjZm9vdGVyLWxvZ297XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGltZ3sgaGVpZ2h0IDogNDRweDsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2wtcmlnaHR7XG4gICAgICAgICAgICAgICAgb3JkZXIgOiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgIDogNzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxMXB4LCAxNXB4KTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgXCIuLi9jb3JlL192YXJpYWJsZS5zY3NzXCI7XG5cbi8qIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBtb2RhYWwuanNcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gKi9cbi5tb2RhbC1idG46Zm9jdXN7IG91dGxpbmUgOiBub25lOyB9XG5cbi5tb2RhYWx7XG4gICAgJi13aW5kb3d7IGRpc3BsYXkgOiBub25lOyB9XG4gICAgJi13cmFwcGVyeyB6LWluZGV4IDogOTk5OTkgIWltcG9ydGFudDsgfVxuICAgICYtaW5uZXItd3JhcHBlcnsgcGFkZGluZy1sZWZ0IDogMCAhaW1wb3J0YW50OyBwYWRkaW5nLXJpZ2h0IDogMCAhaW1wb3J0YW50OyB9XG4gICAgJi1vdmVybGF5eyB6LWluZGV4IDogODg4ODggIWltcG9ydGFudDsgfVxuICAgICYtY29udGVudC1jb250YWluZXJ7IHBhZGRpbmcgOiAzMHB4IDAgMTAwcHg7IH1cbiAgICAmLWNvbnRhaW5lcntcbiAgICAgICAgYm94LXNoYWRvdyAgICAgOiBub25lO1xuICAgICAgICB3aWR0aCAgICAgICAgICA6IGF1dG87XG4gICAgICAgIG1heC13aWR0aCAgICAgIDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kICAgICA6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgcG9pbnRlci1ldmVudHMgOiBub25lO1xuICAgIH1cbn1cblxuLm1vZGFsLWJvZHl7XG4gICAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcbiAgICBwb2ludGVyLWV2ZW50cyA6IHZpc2libGU7XG5cbiAgICAvLy5pbnNpZGV7XG4gICAgLy8gICAgbWFyZ2luICAgICA6IGF1dG87XG4gICAgLy8gICAgcGFkZGluZyAgICA6IDYwcHggNjBweDtcbiAgICAvLyAgICB3aWR0aCAgICAgIDogMTAwMHB4O1xuICAgIC8vICAgIGJhY2tncm91bmQgOiAjZmZmO1xuICAgIC8vICAgIGJveC1zaGFkb3cgOiAwIDAgMjFweCA0cHggcmdiYSgjMDAwLCAwLjE5KTtcbiAgICAvL31cblxuICAgICYudHlwZS0tbW92aWV7XG4gICAgICAgIC5pbnNpZGV7XG4gICAgICAgICAgICB3aWR0aCA6IDkwMHB4O1xuICAgICAgICAgICAgLnZpZGVve1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgIDogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheSAgICAgICAgOiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbSA6IDU2LjI1JTtcbiAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICAgOiBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICAgIDogIzAwMDtcbiAgICAgICAgICAgICAgICBpZnJhbWV7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlVEw7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQgOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1pbmxpbmUtLWNsb3Nle1xuICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZShudWxsLCAwLCAtODBweCwgMCwgYXV0byk7XG4gICAgICAgIHdpZHRoICA6IDMwcHg7XG4gICAgICAgIGhlaWdodCA6IDMwcHg7XG4gICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVye1xuICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgMCwgMCwgMCwgYXV0byk7XG4gICAgICAgICAgICB3aWR0aCAgICAgIDogNDBweDtcbiAgICAgICAgICAgIGhlaWdodCAgICAgOiAycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kIDogI2RmMzI1MjtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZXsgdHJhbnNmb3JtIDogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAmOmFmdGVyeyB0cmFuc2Zvcm0gOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICAubW9kYWFsLWlubmVyLXdyYXBwZXJ7XG4gICAgICAgIHBhZGRpbmctbGVmdCAgOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0IDogMTBweDtcbiAgICB9XG5cbiAgICAubW9kYWwtYm9keXtcbiAgICAgICAgLy8uaW5zaWRle1xuICAgICAgICAvLyAgICBwYWRkaW5nIDogMjVweCAxNXB4O1xuICAgICAgICAvLyAgICB3aWR0aCAgIDogMTAwJTtcbiAgICAgICAgLy99XG5cbiAgICAgICAgJi50eXBlLS1tb3ZpZXtcbiAgICAgICAgICAgIC5pbnNpZGV7XG4gICAgICAgICAgICAgICAgd2lkdGggOiBjYWxjKDEwMHZ3IC0gNjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9kYWwtaW5saW5lLS1jbG9zZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKG51bGwsIDAsIC00MHB4LCAwLCBhdXRvKTtcbiAgICAgICAgICAgIHdpZHRoICA6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQgOiAxNXB4O1xuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgd2lkdGggIDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQgOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gIEltcG9ydCBCYXNlIEZpbGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcIi4uL2NvcmUvX3ZhcmlhYmxlLnNjc3NcIjtcblxuXG4vKipcbiAqIEBzZWUgaHR0cHM6Ly93d3cubnh3b3JsZC5uZXQvdGlwcy8xNS11c2VmdWwtY3NzLXNuaXBwZXRzLWluLWZvcm0tc3R5bGUuaHRtbFxuICovXG5cbi8qIGluaXQgJiByZXNldFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4kYm9yZGVyQ29sb3IgOiAjYmFiYWJhO1xuXG5AbWl4aW4gcGxhY2Vob2xkZXJDb2xvcigkY29sb3Ipe1xuICAgICY6cGxhY2Vob2xkZXItc2hvd257IGNvbG9yIDogJGNvbG9yOyB9XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcnsgY29sb3IgOiAkY29sb3I7IH1cbiAgICAmOi1tb3otcGxhY2Vob2xkZXJ7IGNvbG9yIDogJGNvbG9yOyBvcGFjaXR5IDogMTsgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXJ7IGNvbG9yIDogJGNvbG9yOyBvcGFjaXR5IDogMTsgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyeyBjb2xvciA6ICRjb2xvcjsgfVxufVxuXG5AbWl4aW4gY2hhbmdlRm9ybUJvcmRlckNvbG9yKCRjb2xvcil7XG4gICAgaW5wdXQsIGJ1dHRvbiwgdGV4dGFyZWF7XG4gICAgICAgIGJvcmRlci1jb2xvciA6ICRjb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuaW5wdXQsIGJ1dHRvbiwgdGV4dGFyZWEsIHNlbGVjdHtcbiAgICBtYXJnaW4gICAgICAgICAgICAgOiAwO1xuICAgIHBhZGRpbmcgICAgICAgICAgICA6IDA7XG4gICAgYmFja2dyb3VuZCAgICAgICAgIDogbm9uZTtcbiAgICBib3JkZXIgICAgICAgICAgICAgOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXMgICAgICA6IDA7XG4gICAgdmVydGljYWwtYWxpZ24gICAgIDogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZSAgICAgICAgICA6IGluaGVyaXQ7XG4gICAgY29sb3IgICAgICAgICAgICAgIDogaW5oZXJpdDtcbiAgICBvdXRsaW5lICAgICAgICAgICAgOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZSA6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlICAgIDogbm9uZTtcbiAgICBhcHBlYXJhbmNlICAgICAgICAgOiBub25lO1xufVxuXG5pbnB1dDo6LW1zLWNsZWFyLFxuaW5wdXQ6Oi1tcy1yZXZlYWx7XG4gICAgdmlzaWJpbGl0eSA6IGhpZGRlbjtcbn1cblxuc2VsZWN0OjotbXMtZXhwYW5ke1xuICAgIGRpc3BsYXkgOiBub25lO1xufVxuXG5idXR0b257IGN1cnNvciA6IHBvaW50ZXI7IH1cblxudGV4dGFyZWF7XG4gICAgcmVzaXplICAgICA6IHZlcnRpY2FsO1xuICAgIG1pbi1oZWlnaHQgOiAyMDBweDtcbn1cblxuXG4vKiA6Zm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1c3tcbiAgICBib3JkZXItY29sb3IgOiAkY29sb3JHcmVlbiAhaW1wb3J0YW50O1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXN7XG4gICAgJiArIGxhYmVse1xuICAgICAgICBjb2xvciA6ICRjb2xvckdyZWVuO1xuICAgICAgICAmOmJlZm9yZXsgYm9yZGVyLWNvbG9yIDogJGNvbG9yR3JlZW47IH1cbiAgICB9XG59XG5cbmJ1dHRvblt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1c3tcbiAgICBib3JkZXIgOiA1cHggc29saWQgJGNvbG9yR3JlZW4gIWltcG9ydGFudDtcbn1cblxuXG5sYWJlbCxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxudGV4dGFyZWF7XG4gICAgQGluY2x1ZGUgZm9udHMoMTNweCwgMS44ZW0sICRmb250d2VpZ2h0UmVndWxhciwgbnVsbCwgJGNvbG9yQmxhY2ssICRmb250RmFtaWx5Tm90b1NhbnMpO1xufVxuXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbnRleHRhcmVhe1xuICAgIGJvcmRlciA6IDFweCBzb2xpZCAjZmZmO1xufVxuXG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgbGFiZWwsXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIHRleHRhcmVhe1xuICAgICAgICBAaW5jbHVkZSBmb250cygxM3B4LCAxLjhlbSwgbnVsbCwgbnVsbCk7XG4gICAgfVxufVxuXG5cbi8qIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJde1xuICAgIHBhZGRpbmcgICAgOiAxMHB4IDEzcHg7XG4gICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgaGVpZ2h0ICAgICA6IGF1dG87XG4gICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgLy9ib3JkZXIgIDogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl17XG4gICAgICAgIHBhZGRpbmcgOiA1cHggOHB4O1xuICAgICAgICAvL2JvcmRlciA6IDFweCBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgfVxufVxuXG5cbi8qIHRleHRhcmVhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnRleHRhcmVhe1xuICAgIHBhZGRpbmcgICAgOiAxMHB4IDEzcHg7XG4gICAgd2lkdGggICAgICA6IDEwMCU7XG4gICAgaGVpZ2h0ICAgICA6IGF1dG87XG4gICAgcmVzaXplICAgICA6IHZlcnRpY2FsO1xuICAgIC8vYm9yZGVyICAgICA6IDFweCBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgbWluLWhlaWdodCA6IDIwMHB4O1xufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIHRleHRhcmVhe1xuICAgICAgICBwYWRkaW5nIDogNXB4IDhweDtcbiAgICAgICAgLy9ib3JkZXIgOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuICAgIH1cbn1cblxuXG4vKiBpbnB1dFt0eXBlPVwicmFkaW9cIl1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJde1xuICAgIC8vIEBzZWUgaHR0cHM6Ly9heWFrYS13ZWJsb2cuY29tL3Byb2dyYW1taW5nL2h0bWwtY3NzLXByb2dyYW1taW5nL2NoZWNrYm94X3JhZGlvL1xuICAgIC8vZGlzcGxheSA6IG5vbmU7XG4gICAgb3BhY2l0eSAgOiAwO1xuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgJiArIGxhYmVse1xuICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5ICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luICAgOiAwO1xuICAgICAgICBwYWRkaW5nICA6IDJweCAycHggMnB4IDI4cHg7XG4gICAgICAgIGN1cnNvciAgIDogcG9pbnRlcjtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50ICA6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXkgIDogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgdG9wICAgICAgICA6IDUwJTtcbiAgICAgICAgICAgIGxlZnQgICAgICAgOiAwO1xuICAgICAgICAgICAgd2lkdGggICAgICA6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQgICAgIDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3AgOiAtOXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXIgICAgIDogMXB4IHNvbGlkICRib3JkZXJDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWR7XG4gICAgICAgIC8vJiArIGxhYmVsOmJlZm9yZXsgYmFja2dyb3VuZCA6ICRib3JkZXJDb2xvcjsgfVxuICAgICAgICAmICsgbGFiZWw6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50ICAgICAgICAgOiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDAsIG51bGwsIDAsIDJweCwgYXV0byk7XG4gICAgICAgICAgICB3aWR0aCAgICAgICAgICAgOiAxN3B4O1xuICAgICAgICAgICAgaGVpZ2h0ICAgICAgICAgIDogMTRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQgICAgICA6IHVybCguLi9pbWcvY29udGFjdC9pY29uX2NoZWNrbWFyay5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemUgOiAxMDAlIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiBpbnB1dFt0eXBlPVwic3VibWl0XCJdXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl17XG4gICAgZGlzcGxheSAgICAgICAgOiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGggICAgICAgICAgOiAzNjBweDtcbiAgICBtYXJnaW4gICAgICAgICA6IDAgYXV0bztcbiAgICBjdXJzb3IgICAgICAgICA6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZCAgICAgOiAkY29sb3JNYWluO1xuICAgIGZvbnQtc2l6ZSAgICAgIDogMjRweDtcbiAgICBsaW5lLWhlaWdodCAgICA6IDYwcHg7XG4gICAgY29sb3IgICAgICAgICAgOiAjZmZmO1xuICAgIHRleHQtYWxpZ24gICAgIDogY2VudGVyO1xuICAgIGxldHRlci1zcGFjaW5nIDogMC4xNWVtO1xuICAgIEBpbmNsdWRlIHRyYW5zKCk7XG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZCA6IHJnYmEoJGNvbG9yTWFpbiwgMC43KTtcbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcbiAgICAgICAgd2lkdGggICAgICAgOiA2MCU7XG4gICAgICAgIGZvbnQtc2l6ZSAgIDogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQgOiA0MHB4O1xuICAgIH1cbn1cblxuXG4vKiAuc2VsZWN0IHNlbGVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2VsZWN0e1xuICAgIGRpc3BsYXkgIDogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmV7XG4gICAgICAgIHotaW5kZXggOiAxO1xuICAgICAgICBjb250ZW50IDogJyc7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDAsIDE1cHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICB3aWR0aCAgIDogMTJweDtcbiAgICAgICAgaGVpZ2h0ICA6IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50VHJpYW5nbGUoYm90dG9tLCAkYm9yZGVyQ29sb3IpO1xuICAgIH1cbiAgICBzZWxlY3R7XG4gICAgICAgIGJvcmRlciAgICAgOiAxcHggc29saWQgJGJvcmRlckNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kIDogI2ZmZjtcbiAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRjb2xvck1haW4gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICAuc2VsZWN0e1xuICAgICAgICBkaXNwbGF5ICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICB6LWluZGV4ICAgICAgOiAxO1xuICAgICAgICAgICAgY29udGVudCAgICAgIDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgzcHgsIDhweCwgMCwgbnVsbCwgYXV0byk7XG4gICAgICAgICAgICB3aWR0aCAgICAgICAgOiA2cHg7XG4gICAgICAgICAgICBoZWlnaHQgICAgICAgOiA1cHg7XG4gICAgICAgICAgICBib3JkZXItc3R5bGUgOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aCA6IDVweCAzcHggMCAzcHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3IgOiAkYm9yZGVyQ29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29yZS9fdmFyaWFibGUuc2Nzc1wiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuaG9tZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgem9vbVVwe1xuICAgIDAleyB0cmFuc2Zvcm0gOiBzY2FsZSgxKTsgfVxuICAgIDEwMCV7IHRyYW5zZm9ybSA6IHNjYWxlKDEuMjUpOyB9XG59XG5cbmJvZHkuaG9tZXtcbiAgICBAaWYgJERFQlVHICE9IHRydWV7XG4gICAgICAgIG1haW57XG4gICAgICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgICAgICYub25sb2FkLWlue1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbiA6IGFuaW1PcGFjaXR5IDFzICRlYXNlT3V0U2luZSAwcyAxIGZvcndhcmRzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIG1haW57XG4gICAgICAgICNtdntcbiAgICAgICAgICAgIHBvc2l0aW9uICAgOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNmZmY7XG4gICAgICAgICAgICAuc3dpcGVyLWNvbnRhaW5lcntcbiAgICAgICAgICAgICAgICBvdmVyZmxvdyA6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgIC8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2RkcnlvLXRoZS1lbmNvZGVyL3Blbi95TEJibXhFXG4gICAgICAgICAgICAgICAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnNsaWRlLWltZyxcbiAgICAgICAgICAgICAgICAuc3dpcGVyLXNsaWRlLWR1cGxpY2F0ZS1hY3RpdmUgLnNsaWRlLWltZyxcbiAgICAgICAgICAgICAgICAuc3dpcGVyLXNsaWRlLXByZXYgLnNsaWRlLWltZ3tcbiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uIDogem9vbVVwIDEwcyBsaW5lYXIgMHMgMSBub3JtYWwgYm90aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNoMXtcbiAgICAgICAgICAgICAgICB6LWluZGV4IDogMTAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKG51bGwsIDAsIC0xcHgsIDAsIGF1dG8pO1xuICAgICAgICAgICAgICAgIHdpZHRoICAgOiA3NjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQgIDogMTYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjdG9wLW5ld3N7XG4gICAgICAgICAgICAudHRse1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaW1neyB3aWR0aCA6IDI4MHB4OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubGlzdHtcbiAgICAgICAgICAgICAgICB1bHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAgICAgICA6IDQwcHggMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcCAgICA6IDFweCBzb2xpZCAjYzVjNWM1O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNjNWM1YzU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiAxMHB4OyB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoKTtcbiAgICAgICAgICAgICAgICAgICAgLmR0e1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiAxMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7IGZvbnQtd2VpZ2h0IDogYm9sZDsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5kZHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDogY2FsYygxMDAlIC0gMTMwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYTpsaW5re2NvbG9yOiAjMDA0ODk4O31cbiAgICAgICAgICAgICAgICAgICAgICAgIGE6dmlzaXRlZHtjb2xvcjogIzAwNDg5ODt9XG4gICAgICAgICAgICAgICAgICAgICAgICBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICAgICAgICAgICAgICAgICAgICAgIC5mYntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHAudG9wbWdue21hcmdpbjogMTBweCAwIDAgMDt9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN0b3AtbWVudXtcbiAgICAgICAgICAgIG1hcmdpbiA6IDEyMHB4IDAgMDtcbiAgICAgICAgICAgIC5saXN0e1xuICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4peyBtYXJnaW4tbGVmdCA6IDMuNzIlOyB9XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobiszKXsgbWFyZ2luLXRvcCA6IDYwcHg7IH1cbiAgICAgICAgICAgICAgICAgICAgd2lkdGggOiA0OC4xNCU7XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLnR4dC1zZXR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnR0bCBweyBAaW5jbHVkZSBmb250cygzMHB4LCAxZW0sICRmb250d2VpZ2h0TWVkaXVtLCBudWxsLCBudWxsLCAkZm9udEZhbWlseU5vdG9TZXJpZik7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudHh0e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4gOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTZweCwgMWVtLCAkZm9udHdlaWdodFJlZ3VsYXIsIDAuMDVlbSwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLnZpZXdtb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSAgOiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4gICA6IDIwcHggYXV0byAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgIDogMzBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgICAgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGVUQztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICA6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiAgICAgOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgIDogMTgwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyICAgICA6IDFweCBzb2xpZCAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cygxNHB4LCAzOHB4LCAkZm9udHdlaWdodE1lZGl1bSwgbnVsbCwgJGNvbG9yTWFpbiwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNwT3Zlcn17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnZpZXdtb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgcHsgQGluY2x1ZGUgdHJhbnMoKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmlld21vcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgYmFja2dyb3VuZCA6ICRjb2xvckdyZWVuOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRjb2xvckdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICA6ICRjb2xvckdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yICAgICAgICA6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjdG9wLWNvbnRhY3R7XG4gICAgICAgICAgICBtYXJnaW4gOiAxNDBweCAwIDA7XG4gICAgICAgICAgICAuaDJ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb24gICA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgOiA2MHB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50ICAgIDogJyc7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlVEM7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGNvbG9yR3JlZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGgyeyBAaW5jbHVkZSBmb250cygzMHB4LCAxZW0sICRmb250d2VpZ2h0TWVkaXVtLCBudWxsLCBudWxsLCAkZm9udEZhbWlseU5vdG9TZXJpZik7IH1cbiAgICAgICAgICAgICAgICAudHh0e1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4gOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTZweCwgMWVtLCAkZm9udHdlaWdodFJlZ3VsYXIsIDAuMDVlbSwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpc3R7XG4gICAgICAgICAgICAgICAgbWFyZ2luIDogNDBweCAwIDA7XG4gICAgICAgICAgICAgICAgbGl7XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luLWxlZnQgOiAyLjc4JTsgfVxuICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IDMxLjQ4JTtcbiAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlciAgOiAxcHggc29saWQgI2JhYmFiYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50IDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDIuNSUsIG51bGwsIG51bGwsIDIuNSUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgIDogOTUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgIDogOTUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXIgIDogMnB4IHNvbGlkICRjb2xvckdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLCBudWxsLCBudWxsLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5LmhvbWV7XG4gICAgICAgIG1haW57XG4gICAgICAgICAgICAjbXZ7XG4gICAgICAgICAgICAgICAgI2gxe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgOiAzMzVweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMTEwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjdG9wLW5ld3N7XG4gICAgICAgICAgICAgICAgbWFyZ2luICA6IDE1cHggMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgLnR0bHtcbiAgICAgICAgICAgICAgICAgICAgaW1neyB3aWR0aCA6IDE0MHB4OyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5saXN0e1xuICAgICAgICAgICAgICAgICAgICB1bHsgcGFkZGluZyA6IDE1cHggMDsgfVxuICAgICAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luLXRvcCA6IDEwcHg7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTNweCwgMjBweCwgbnVsbCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dEp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZHR7IHdpZHRoIDogMjclOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuZGR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiA3MyU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcC50b3BtZ257bWFyZ2luOiAxMHB4IDAgMCAwO31cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3RvcC1tZW51e1xuICAgICAgICAgICAgICAgIG1hcmdpbiAgOiA1MHB4IDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCA0MHB4O1xuICAgICAgICAgICAgICAgIC5saXN0e1xuICAgICAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbil7IG1hcmdpbi1sZWZ0IDogMDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4tdG9wIDogMzBweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudHh0LXNldHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogMTVweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50dGwgcHsgQGluY2x1ZGUgZm9udHMoMjFweCk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnR4dHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTNweCwgMThweCwgbnVsbCwgMC4wMjVlbSk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmlld21vcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiAgOiAxMHB4IGF1dG8gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDIwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgaGVpZ2h0IDogMjBweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTFweCwgMjhweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI3RvcC1jb250YWN0e1xuICAgICAgICAgICAgICAgIG1hcmdpbiAgOiA2MHB4IDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCA0MHB4O1xuICAgICAgICAgICAgICAgIC5oMntcbiAgICAgICAgICAgICAgICAgICAgaDJ7IEBpbmNsdWRlIGZvbnRzKDI2cHgpOyB9XG4gICAgICAgICAgICAgICAgICAgIC50eHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4gOiAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE0cHgsIG51bGwsIG51bGwsIDAuMDI1ZW0pOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpc3R7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luIDogMjBweCAwIDA7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb3JlL192YXJpYWJsZS5zY3NzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5jb21wYW55XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jb21wYW55e1xuICAgIG1haW57XG4gICAgICAgICNjb21wYW55LWJvZHl7XG4gICAgICAgICAgICAuYmFzaWMtbGlzdHtcbiAgICAgICAgICAgICAgICB1bHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcCA6IDFweCBzb2xpZCAjYmFiYWJhO1xuICAgICAgICAgICAgICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nICAgICAgIDogMzBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbSA6IDFweCBzb2xpZCAjYmFiYWJhO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLmR0IHB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQgICAgOiBib2xkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5kdCwgLmRkeyBwb3NpdGlvbiA6IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDE2cHgsIDMycHgsIG51bGwsIDAuMDVlbSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dEp1c3RpZnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5zbWFsbHsgZm9udC1zaXplIDogMTNweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIGJvZHkuY29tcGFueXtcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNjb21wYW55LWJvZHl7XG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAuYmFzaWMtbGlzdHtcbiAgICAgICAgICAgICAgICAgICAgdWx7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cygxNHB4LCAyNHB4LCBudWxsLCAwLjAyNWVtKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5zbWFsbHsgZm9udC1zaXplIDogMTJweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuY29tcGFueS5tZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jb21wYW55Lm1lc3NhZ2V7XG4gICAgbWFpbntcbiAgICAgICAgI212e1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IDE0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDUzMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3cgICAgICA6IHZpc2libGU7XG4gICAgICAgICAgICAjaDF7XG4gICAgICAgICAgICAgICAgd2lkdGggIDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQgOiAxMDAlO1xuICAgICAgICAgICAgICAgIGgxe1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZShudWxsLCA2NXB4LCAwLCBudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSg4MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgIDogNDkwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICA6IDQ2MXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNjb21wYW55LWJvZHl7XG4gICAgICAgICAgICAudHh0IHB7IEBpbmNsdWRlIGZvbnRzKDE2cHgsIDM0cHgsIG51bGwsIDAuMDVlbSk7IH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5LmNvbXBhbnkubWVzc2FnZXtcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNtdntcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tICA6IDEwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tIDogNjYuNjY2JSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGhlaWdodCAgICAgICAgIDogYXV0bztcbiAgICAgICAgICAgICAgICAjaDF7XG4gICAgICAgICAgICAgICAgICAgIGgxe1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgMjBweCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKDIzLjQzJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgOiAxOTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICA6IDI1NnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAjY29tcGFueS1ib2R5e1xuICAgICAgICAgICAgICAgIC50eHQgcHsgQGluY2x1ZGUgZm9udHMoMTRweCwgMjZweCwgbnVsbCwgMC4wMjVlbSk7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuY29tcGFueS5wcm9maWxlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jb21wYW55LnByb2ZpbGV7XG4gICAgbWFpbntcbiAgICAgICAgI2NvbXBhbnktYm9keXtcbiAgICAgICAgICAgIC5iYXNpYy1saXN0IHVsID4gbGl7XG4gICAgICAgICAgICAgICAgLmR0eyB3aWR0aCA6IDE1LjU1JTsgfVxuICAgICAgICAgICAgICAgIC5kZHsgd2lkdGggOiA4NC40NSU7IH1cbiAgICAgICAgICAgICAgICAubWFwe1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgICA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4gICAgICAgICA6IDI1cHggMCAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tIDogMzkuNDclO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICA6ICRjb2xvckJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBpZnJhbWV7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZVRMO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0IDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5jb21wYW55LnByb2ZpbGV7XG4gICAgICAgIG1haW57XG4gICAgICAgICAgICAjY29tcGFueS1ib2R5e1xuICAgICAgICAgICAgICAgIC5iYXNpYy1saXN0IHVsID4gbGl7XG4gICAgICAgICAgICAgICAgICAgIC5kdHsgd2lkdGggOiAyNS4zNyU7IH1cbiAgICAgICAgICAgICAgICAgICAgLmRkeyB3aWR0aCA6IDc0LjYzJTsgfVxuICAgICAgICAgICAgICAgICAgICAubWFwe1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luICAgICAgICAgOiAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuY29tcGFueS5vZmZpY2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LmNvbXBhbnkub2ZmaWNle1xuICAgIG1haW57XG4gICAgICAgICNjb21wYW55LWJvZHl7XG4gICAgICAgICAgICAuYmFzaWMtbGlzdCB1bCA+IGxpe1xuICAgICAgICAgICAgICAgIC5kdHsgd2lkdGggOiAxNi42NiU7IH1cbiAgICAgICAgICAgICAgICAuZGR7IHdpZHRoIDogODMuMzQlOyB9XG4gICAgICAgICAgICAgICAgcHsgbGluZS1oZWlnaHQgOiAyNnB4OyB9XG4gICAgICAgICAgICAgICAgLmJ0bntcbiAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlQ1I7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5ICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICAgICA6IDEyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgIDogIzY2OTFjMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgOiA5OTlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTZweCwgMzhweCwgJGZvbnR3ZWlnaHRCb2xkLCAwLjA1ZW0sICNmZmYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc3BPdmVyfXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFucygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7IGJhY2tncm91bmQgOiAkY29sb3JNYWluOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5jb21wYW55Lm9mZmljZXtcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNjb21wYW55LWJvZHl7XG4gICAgICAgICAgICAgICAgLmJhc2ljLWxpc3QgdWwgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgLmR0eyB3aWR0aCA6IDMyLjgzJTsgfVxuICAgICAgICAgICAgICAgICAgICAuZGR7IHdpZHRoIDogNjcuMTclOyB9XG4gICAgICAgICAgICAgICAgICAgIHB7IGxpbmUtaGVpZ2h0IDogMjRweDsgfVxuICAgICAgICAgICAgICAgICAgICAuYnRue1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogMTBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlQ2xlYXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxM3B4LCAyOHB4LCBudWxsLCAwLjAyNWVtKTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5jb21wYW55Lmdyb3VwXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jb21wYW55Lmdyb3Vwe1xuICAgIG1haW57XG4gICAgICAgICNjb21wYW55LWJvZHl7XG4gICAgICAgICAgICAuYmFzaWMtbGlzdCB1bCA+IGxpe1xuICAgICAgICAgICAgICAgIC5kdHsgd2lkdGggOiAzMCU7IH1cbiAgICAgICAgICAgICAgICAuZGR7IHdpZHRoIDogNzAlOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5jb21wYW55Lmdyb3Vwe1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgI2NvbXBhbnktYm9keXtcbiAgICAgICAgICAgICAgICAuYmFzaWMtbGlzdCB1bCA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAuZHR7IHdpZHRoIDogMzUuODIlOyB9XG4gICAgICAgICAgICAgICAgICAgIC5kZHsgd2lkdGggOiA2NC4xOCU7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb3JlL192YXJpYWJsZS5zY3NzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5jdXN0b21lclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkuY3VzdG9tZXJ7XG4gICAgbWFpbntcbiAgICAgICAgLmgye1xuICAgICAgICAgICAgcGFkZGluZyAgICAgICA6IDIwcHggMzBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AgICAgOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0ICAgOiAycHggc29saWQgJGNvbG9yTWFpbjtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodCAgOiAycHggc29saWQgJGNvbG9yR3JlZW47XG4gICAgICAgICAgICBoMntcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cygyNHB4LCAxZW0sICRmb250d2VpZ2h0U2VtaUJvbGQsIDAsIG51bGwsICRmb250RmFtaWx5Tm90b1NlcmlmKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0SnVzdGlmeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oM3tcbiAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nICA6IDAgMCAwIDYwcHg7XG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgY29udGVudCA6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoICAgOiAyMnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodCAgOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmV7IEBpbmNsdWRlIGFic29sdXRlKDAsIG51bGwsIG51bGwsIDApOyBiYWNrZ3JvdW5kIDogJGNvbG9yTWFpbjsgfVxuICAgICAgICAgICAgJjphZnRlcnsgQGluY2x1ZGUgYWJzb2x1dGUoMCwgbnVsbCwgbnVsbCwgMjJweCk7IGJhY2tncm91bmQgOiAkY29sb3JHcmVlbjsgfVxuICAgICAgICAgICAgaDN7IEBpbmNsdWRlIGZvbnRzKDIycHgsIDFlbSwgJGZvbnR3ZWlnaHRTZW1pQm9sZCwgbnVsbCwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5jdXN0b21lcntcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgIC5oMntcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMTVweCAyMHB4O1xuICAgICAgICAgICAgICAgIGgyeyBAaW5jbHVkZSBmb250cygxNnB4LCAyNHB4KTsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaDN7XG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IDAgMCAwIDU1cHg7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlcnsgQGluY2x1ZGUgYWJzb2x1dGUoMCwgbnVsbCwgbnVsbCwgMjBweCk7IH1cbiAgICAgICAgICAgICAgICBoM3tcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTAuMWVtKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbSA6IC0wLjFlbTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTdweCwgMjJweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5jdXN0b21lci5pbmZvXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jdXN0b21lci5pbmZve1xuICAgIG1haW57XG4gICAgICAgICNpbmZvLWJvZHl7XG4gICAgICAgICAgICAuYmxvY2t7XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4tdG9wIDogODBweDsgfVxuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSl7XG4gICAgICAgICAgICAgICAgICAgIC50eHQgKyAuaDN7IG1hcmdpbiA6IDYwcHggMCAwOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNldHN7IG1hcmdpbi10b3AgOiAzMHB4OyB9XG4gICAgICAgICAgICAuc2V0Om50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiA2MHB4OyB9XG5cbiAgICAgICAgICAgIC5oNHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgIDogMCAwIDAgNzBweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZUNMO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgIDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICA6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRjb2xvck1haW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGg0eyBAaW5jbHVkZSBmb250cygxOHB4LCAxZW0sICRmb250d2VpZ2h0U2VtaUJvbGQsIG51bGwsICRjb2xvck1haW4pOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50eHR7XG4gICAgICAgICAgICAgICAgcCArIHB7IG1hcmdpbiA6IDI1cHggMCAwOyB9XG4gICAgICAgICAgICAgICAgYXsgZm9udC13ZWlnaHQgOiAkZm9udHdlaWdodFJlZ3VsYXI7IH1cbiAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAmLmJvbGR7IEBpbmNsdWRlIGZvbnRzKDE2cHgsIDI4cHgsICRmb250d2VpZ2h0U2VtaUJvbGQpOyB9XG4gICAgICAgICAgICAgICAgICAgICYuc21hbGx7IEBpbmNsdWRlIGZvbnRzKDE0cHgsIDI4cHgpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRue1xuICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbiAgOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAwIDAgMjVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICA6IDMwMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgIDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyICA6IDFweCBzb2xpZCAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KHN0YXJ0LCBjZW50ZXIpO1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDAsIDMwcHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbkxpbmVBcnJvdygkY29sb3JHcmVlbiwgMXB4LCByaWdodCwgMTBweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTZweCwgMWVtLCAkZm9udHdlaWdodE1lZGl1bSwgbnVsbCwgJGNvbG9yTWFpbiwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCBweyBAaW5jbHVkZSB0cmFucygpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQgICAgICAgIDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHsgY29sb3IgOiAjZmZmOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5iYXNpYy1saXN0e1xuICAgICAgICAgICAgICAgIG1hcmdpbiA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgIHVse1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wIDogMXB4IHNvbGlkICNiYWJhYmE7XG4gICAgICAgICAgICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgICAgOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNiYWJhYmE7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZHR7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiA0ODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBweyBmb250LXdlaWdodCA6IGJvbGQ7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5kZHsgd2lkdGggOiBjYWxjKDEwMCUgLSA0ODBweCk7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE2cHgsIDFlbSwgbnVsbCwgMC4wNWVtKTsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIGJvZHkuY3VzdG9tZXIuaW5mb3tcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNpbmZvLWJvZHl7XG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IDAgMjBweDtcblxuICAgICAgICAgICAgICAgIC5ibG9ja3tcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4tdG9wIDogNTBweDsgfVxuICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDEpe1xuICAgICAgICAgICAgICAgICAgICAgICAgLnR4dCArIC5oM3sgbWFyZ2luIDogMjVweCAwIDA7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2V0c3sgbWFyZ2luLXRvcCA6IDIwcHg7IH1cbiAgICAgICAgICAgICAgICAuc2V0Om50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiAzMHB4OyB9XG5cbiAgICAgICAgICAgICAgICAuaDR7XG4gICAgICAgICAgICAgICAgICAgIGg0eyBAaW5jbHVkZSBmb250cygxNnB4KTsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50eHR7XG4gICAgICAgICAgICAgICAgICAgIHAgKyBweyBtYXJnaW4gOiAyMHB4IDAgMDsgfVxuICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgJi5ib2xkeyBAaW5jbHVkZSBmb250cygxNHB4LCAyNXB4KTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5zbWFsbHsgQGluY2x1ZGUgZm9udHMoMTRweCwgMjVweCk7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5idG57XG4gICAgICAgICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAwIDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgOiAyNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgMTVweCwgMCwgbnVsbCwgYXV0byk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbkxpbmVBcnJvdygkY29sb3JHcmVlbiwgMXB4LCByaWdodCwgOHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE0cHgpOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYmFzaWMtbGlzdHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHVse1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAxNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmR0eyB3aWR0aCA6IDIwMHB4OyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRkeyB3aWR0aCA6IGNhbGMoMTAwJSAtIDIwMHB4KTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE0cHgsIDE4cHgsIG51bGwsIDApOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBib2R5LmN1c3RvbWVyLmludGVybmV0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jdXN0b21lci5pbnRlcm5ldHtcbiAgICBtYWlue1xuICAgICAgICAjaW50ZXJuZXQtYm9keXtcbiAgICAgICAgICAgIC5ibG9jazpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4tdG9wIDogODBweDsgfVxuICAgICAgICAgICAgLmgyeyBtYXJnaW4tYm90dG9tIDogNjBweDsgfVxuICAgICAgICAgICAgLnNldHtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiA2MHB4OyB9XG4gICAgICAgICAgICAgICAgcGFkZGluZyA6IDMwcHggNDBweCA0MHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlciAgOiAxcHggc29saWQgI2M2YzZjNjtcbiAgICAgICAgICAgICAgICAubG9nb3tcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luICAgICA6IDAgMCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBpbWd7IGhlaWdodCA6IDUwcHg7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmgzeyBtYXJnaW4tYm90dG9tIDogMjBweDsgfVxuICAgICAgICAgICAgICAgIHVse1xuICAgICAgICAgICAgICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiAzMHB4OyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb2x7XG4gICAgICAgICAgICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbil7IG1hcmdpbi1sZWZ0IDogNC44OCU7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobiszKXsgbWFyZ2luLXRvcCA6IDMwcHg7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDogNDcuNTYlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jYXB0aW9uLFxuICAgICAgICAgICAgICAgIC5tb3Jle1xuICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTRweCwgMjRweCwgbnVsbCwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0SnVzdGlmeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY2FwdGlvbnsgbWFyZ2luLXRvcCA6IDE1cHg7IH1cbiAgICAgICAgICAgICAgICAubW9yZXsgbWFyZ2luLXRvcCA6IDMwcHg7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zaW5nbGV7IHBhZGRpbmcgOiAwIDEwNXB4OyB9XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICAgICAgICAgICAgICBAbWVkaWEgI3skc3BPdmVyfXtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnMoKTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3Zlcnsgb3BhY2l0eSA6IDAuNjU7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5jdXN0b21lci5pbnRlcm5ldHtcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNpbnRlcm5ldC1ib2R5e1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgLmJsb2NrOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiA1MHB4OyB9XG4gICAgICAgICAgICAgICAgLmgyeyBtYXJnaW4tYm90dG9tIDogMzBweDsgfVxuICAgICAgICAgICAgICAgIC5zZXR7XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luLXRvcCA6IDMwcHg7IH1cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDI1cHggMjBweCAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAubG9nb3tcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDAgMCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1neyBoZWlnaHQgOiAyNXB4OyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmgzeyBtYXJnaW4tYm90dG9tIDogMTBweDsgfVxuICAgICAgICAgICAgICAgICAgICB1bHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiAyMHB4OyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb2x7XG4gICAgICAgICAgICAgICAgICAgICAgICAmID4gbGl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKXsgbWFyZ2luLWxlZnQgOiAwOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4tdG9wIDogMjBweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY2FwdGlvbixcbiAgICAgICAgICAgICAgICAgICAgLm1vcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxM3B4LCAyMnB4KTsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5jYXB0aW9ueyBtYXJnaW4tdG9wIDogMTBweDsgfVxuICAgICAgICAgICAgICAgICAgICAubW9yZXsgbWFyZ2luLXRvcCA6IDE1cHg7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnNpbmdsZXsgcGFkZGluZyA6IDA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5AaW1wb3J0IFwiLi4vLi4vY29yZS9fdmFyaWFibGUuc2Nzc1wiO1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuY29udGFjdFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkuY29udGFjdHtcbiAgICBtYWlue1xuICAgICAgICAjY29udGFjdC1iYW5uZXJze1xuICAgICAgICAgICAgLmZsZXh7IGp1c3RpZnktY29udGVudCA6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgICAuY29se1xuICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMil7IG1hcmdpbi1sZWZ0IDogMTBweDsgfVxuICAgICAgICAgICAgICAgIHdpZHRoIDogMzQwcHg7XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXIgIDogMXB4IHNvbGlkICNiYWJhYmE7XG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAjeyRzcE92ZXJ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCA6ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDIuNSUsIG51bGwsIG51bGwsIDIuNSUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgOiA5NSU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICA6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXIgIDogMnB4IHNvbGlkICRjb2xvckdyZWVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLCBudWxsLCBudWxsLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjY29udGFjdC1ib2R5e1xuICAgICAgICAgICAgbWFyZ2luIDogODBweCAwIDA7XG4gICAgICAgICAgICAuaDJ7XG4gICAgICAgICAgICAgICAgbWFyZ2luICAgICA6IDAgMCA2MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgOiA3MHB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50ICAgICAgICAgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGVUQztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICAgICAgICAgIDogNTRweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICAgIDogNTFweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgICAgIDogdXJsKC4uL2ltZy9jb250YWN0L2ljb25fY29udGFjdC5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZSA6IDEwMCUgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoMntcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMzRweCwgMWVtLCAkZm9udHdlaWdodE1lZGl1bSwgbnVsbCwgJGNvbG9yTWFpbiwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpO1xuICAgICAgICAgICAgICAgICAgICAvKnRleHQtZGVjb3JhdGlvbiAgICAgICA6IHVuZGVybGluZSAxcHggc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldCA6IDVweDsqL1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvKiY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAwLjU7XG4gICAgICAgICAgICAgICAgfSovXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNmb3JtLWJvZHl7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICNmM2YzZjM7XG4gICAgICAgICAgICAgICAgdWwgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzIpeyBib3JkZXItdG9wIDogMXB4IHNvbGlkICNkY2RjZGM7IH1cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDMwcHggNDBweCAzMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoKTtcbiAgICAgICAgICAgICAgICAgICAgJi5tdXN0IC5kdCBwOmJlZm9yZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgICAgOiAn5b+F6aCIJztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yICAgICAgOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuZnJlZSAuZHQgcDpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50ICAgIDogJ+S7u+aEjyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlciAgICAgOiAxcHggc29saWQgIzY2NjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yICAgICAgOiAjNjY2O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5kdHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgOiAzMy4zJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5ICA6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cygxNHB4LCAyNHB4LCAkZm9udHdlaWdodEJvbGQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLCAtNjVweCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgICAgICAgIDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1cyA6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbiAgICA6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTNweCwgMjJweCwgJGZvbnR3ZWlnaHRCb2xkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmRke1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiA2Ni43JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI2Zvcm0tY2FwdGNoYXtcbiAgICAgICAgICAgICAgICBtYXJnaW4gICAgIDogNTBweCAwIDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAuZHVtbXkgaW1neyBoZWlnaHQgOiA5OXB4OyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNmb3JtLXN1Ym1pdCxcbiAgICAgICAgICAgICNmb3JtLWJhY2stc3VibWl0e1xuICAgICAgICAgICAgICAgIG1hcmdpbiAgICAgOiA1MHB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduIDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLmNvbDJ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogNzAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKXsgbWFyZ2luLWxlZnQgOiAyLjg2JTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiA0OC41NyU7XG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b257IHdpZHRoIDogMTAwJTsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgIDogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiA1NDBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDgwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlciAgICAgICAgOiAycHggc29saWQgJGNvbG9yTWFpbjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgICA6ICRjb2xvck1haW47XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgOiA5OTlweDtcblxuICAgICAgICAgICAgICAgICAgICAmLmNvbG9yLS13aGl0ZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUoMCwgbnVsLCAwLCAzMHB4LCBhdXRvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBpY29uTGluZUFycm93KCRjb2xvck1haW4sIDFweCwgbGVmdCwgMTRweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyeyBkaXNwbGF5IDogbm9uZTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcHsgY29sb3IgOiAkY29sb3JNYWluOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxOHB4LCAxZW0sICRmb250d2VpZ2h0TWVkaXVtLCAwLjAyNWVtLCAjZmZmLCAkZm9udEZhbWlseU5vdG9TZXJpZik7IH1cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlKDAsIDMwcHgsIDAsIG51bGwsIGF1dG8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbkxpbmVBcnJvdygjZmZmLCAxcHgsIHJpZ2h0LCAxNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgI3skc3BPdmVyfXtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwLFxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyeyBAaW5jbHVkZSB0cmFucygpOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkY29sb3JHcmVlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBweyBjb2xvciA6ICNmZmY7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZXsgbGVmdCA6IDI1cHg7IGJvcmRlci1jb2xvciA6ICNmZmY7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyeyByaWdodCA6IDI1cHg7IGJvcmRlci1jb2xvciA6ICNmZmY7IH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZWFkLXByaXZhY3l7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxNHB4LCAxZW0sICRmb250d2VpZ2h0TWVkaXVtLCAwLjAyNWVtLCBudWxsLCAkZm9udEZhbWlseU5vdG9TZXJpZik7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5jb250YWN0e1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgI2NvbnRhY3QtYmFubmVyc3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCA0MHB4O1xuICAgICAgICAgICAgICAgIC5jb2x7XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMil7IG1hcmdpbiA6IDEwcHggMCAwOyB9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNjb250YWN0LWJvZHl7XG4gICAgICAgICAgICAgICAgbWFyZ2luICA6IDQwcHggMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgLmgye1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4gIDogMCAwIDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAzNXB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgOiAyN3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMjZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoMnsgQGluY2x1ZGUgZm9udHMoMjFweCk7IH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjZm9ybS1ib2R5e1xuICAgICAgICAgICAgICAgICAgICB1bCA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGV7IHBhZGRpbmctYm90dG9tIDogMjBweDsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDE1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5kdHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cygxNHB4LCAyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZSgwLCAtNTBweCwgbnVsbCwgbnVsbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDExcHgsIDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLmRke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAjZm9ybS1jYXB0Y2hhe1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4gOiAzMHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgLmR1bW15IGltZ3sgaGVpZ2h0IDogNjlweDsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICNmb3JtLXN1Ym1pdCxcbiAgICAgICAgICAgICAgICAjZm9ybS1iYWNrLXN1Ym1pdHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogMzBweCAwIDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLmlubGluZS1ibG9ja3sgZGlzcGxheSA6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgICAgICAgICAgLmNvbDJ7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDEwcHggMCAwOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IDYwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuY29sb3ItLXdoaXRle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ICAgOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxNHB4LCAyMHB4LCBudWxsLCAwLjAxZW0pOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0ICA6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQgOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnJlYWQtcHJpdmFjeXtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDIwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTNweCwgbnVsbCwgbnVsbCwgMCk7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuY29udGFjdC50b3Bcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5LmNvbnRhY3QudG9we1xuICAgIG1haW57XG4gICAgICAgICNjb250YWN0LWJvZHl7XG4gICAgICAgICAgICAuZGR7XG4gICAgICAgICAgICAgICAgLmNvbHtcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKXsgbWFyZ2luLWxlZnQgOiAzLjYlOyB9XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoIDogNDguMiU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoc3RhcnQsIGNlbnRlcik7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVse1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGggOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTRweCwgMWVtLCAkZm9udHdlaWdodFJlZ3VsYXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdeyB3aWR0aCA6IGNhbGMoMTAwJSAtIDM1cHgpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jaGVja2JveGVze1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogOHB4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgJiA+ICo6bnRoLW9mLXR5cGUoMil7IG1hcmdpbi1sZWZ0IDogMzVweDsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc2l6ZS0tc3sgd2lkdGggOiAxNTBweDsgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIGJvZHkuY29udGFjdC50b3B7XG4gICAgICAgIG1haW57XG4gICAgICAgICAgICAjY29udGFjdC1ib2R5e1xuICAgICAgICAgICAgICAgIC5kZHtcbiAgICAgICAgICAgICAgICAgICAgLmNvbHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVse1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoIDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250cygxMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdeyB3aWR0aCA6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrYm94ZXN7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICYgPiAqOm50aC1vZi10eXBlKDIpeyBtYXJnaW4tbGVmdCA6IDI1cHg7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuc2l6ZS0tc3sgd2lkdGggOiAxMjVweDsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkuY29udGFjdC5jb25maXJtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5jb250YWN0LmNvbmZpcm17XG4gICAgbWFpbntcbiAgICAgICAgI2NvbnRhY3QtYm9keXtcbiAgICAgICAgICAgICNmb3JtLWJvZHl7XG4gICAgICAgICAgICAgICAgdWwgPiBsaXtcbiAgICAgICAgICAgICAgICAgICAgLmRkeyBwYWRkaW5nLXRvcCA6IDEwcHg7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNvbmZpcm0tdHh0e1xuICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udHMoMTRweCwgMjhweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0SnVzdGlmeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYWxlcnQtdHh0e1xuICAgICAgICAgICAgICAgICAgICBwe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgICAgICAgOiAjZmYwMDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQgOiBib2xkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIGJvZHkuY29udGFjdC5jb25maXJte1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgI2NvbnRhY3QtYm9keXtcbiAgICAgICAgICAgICAgICAjZm9ybS1ib2R5e1xuICAgICAgICAgICAgICAgICAgICB1bCA+IGxpe1xuICAgICAgICAgICAgICAgICAgICAgICAgLmRkeyBwYWRkaW5nLXRvcCA6IDA7IH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY29uZmlybS10eHR7XG4gICAgICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxM3B4LCAyMHB4KTsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5jb250YWN0LnRoYW5rc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkuY29udGFjdC50aGFua3N7XG4gICAgbWFpbntcbiAgICAgICAgI3RoYW5rcy1tZXNzYWdle1xuICAgICAgICAgICAgcGFkZGluZyAgICA6IDQwcHggNDBweDtcbiAgICAgICAgICAgIGJvcmRlciAgICAgOiAxcHggc29saWQgI2Q0ZGVkZjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICAudHh0e1xuICAgICAgICAgICAgICAgICYgPiAqOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbi10b3AgOiAxNXB4OyB9XG4gICAgICAgICAgICAgICAgcHsgQGluY2x1ZGUgZm9udHMoMTZweCwgMS42ZW0pOyB9XG4gICAgICAgICAgICAgICAgLmJvbGR7IGZvbnQtc2l6ZSA6IDE4cHg7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5LmNvbnRhY3QudGhhbmtze1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgI3RoYW5rcy1tZXNzYWdle1xuICAgICAgICAgICAgICAgIC50eHR7XG4gICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE0cHgsIDI1cHgpOyB9XG4gICAgICAgICAgICAgICAgICAgIC5ib2xkeyBmb250LXNpemUgOiAxNnB4OyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb3JlL192YXJpYWJsZS5zY3NzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5tb3JlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5tb3Jle1xuICAgIG1haW57XG4gICAgICAgICNub25lLW12e1xuICAgICAgICAgICAgbWFyZ2luIDogMCAwIDgwcHg7XG4gICAgICAgICAgICAjaDF7XG4gICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDE0MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gICAgOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgICA6ICNlOGY0ZjU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcCAgICA6IDFweCBzb2xpZCAjY2NkYWVhO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgI2NjZGFlYTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdCAgIDogNHB4IHNvbGlkICRjb2xvck1haW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0ICA6IDRweCBzb2xpZCAkY29sb3JHcmVlbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICAgICAgICBoMXsgQGluY2x1ZGUgZm9udHMoMjhweCwgMWVtLCAkZm9udHdlaWdodE1lZGl1bSwgMCwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjbW9yZS1ib2R5e1xuICAgICAgICAgICAgLmJsb2NrOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDgwcHggMCAwOyB9XG5cbiAgICAgICAgICAgIC5oMntcbiAgICAgICAgICAgICAgICBwYWRkaW5nICAgICAgIDogMjBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AgICAgOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQgICA6IDJweCBzb2xpZCAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodCAgOiAycHggc29saWQgJGNvbG9yR3JlZW47XG4gICAgICAgICAgICAgICAgaDJ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDI0cHgsIDEuMmVtLCAkZm9udHdlaWdodFNlbWlCb2xkLCAwLCBudWxsLCAkZm9udEZhbWlseU5vdG9TZXJpZik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRleHRKdXN0aWZ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmgze1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZyAgOiAwIDAgMCA2MHB4O1xuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgOiAnJztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggICA6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCAgOiAyMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmJlZm9yZXsgQGluY2x1ZGUgYWJzb2x1dGUoMCwgbnVsbCwgbnVsbCwgMCk7IGJhY2tncm91bmQgOiAkY29sb3JNYWluOyB9XG4gICAgICAgICAgICAgICAgJjphZnRlcnsgQGluY2x1ZGUgYWJzb2x1dGUoMCwgbnVsbCwgbnVsbCwgMjJweCk7IGJhY2tncm91bmQgOiAkY29sb3JHcmVlbjsgfVxuICAgICAgICAgICAgICAgIGgzeyBAaW5jbHVkZSBmb250cygyMnB4LCAxZW0sICRmb250d2VpZ2h0UmVndWxhcik7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmg0e1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgICAgOiAwIDAgMTBweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgICAgICAgICAgaDR7IEBpbmNsdWRlIGZvbnRzKDE4cHgsIDFlbSwgJGZvbnR3ZWlnaHRTZW1pQm9sZCk7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkgPiBwLFxuICAgICAgICAgICAgLnR4dCA+IHAsXG4gICAgICAgICAgICAubGluZSA+IHB7IEBpbmNsdWRlIHRleHRKdXN0aWZ5OyB9XG5cbiAgICAgICAgICAgIC5wLXNpemUtc21hbGwgcHsgQGluY2x1ZGUgZm9udHMoMTJweCwgMjBweCk7IH1cblxuICAgICAgICAgICAgLml0ZW1ze1xuICAgICAgICAgICAgICAgIG1hcmdpbiA6IDYwcHggMCAwO1xuICAgICAgICAgICAgICAgIC5pdGVtOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDUwcHggMCAwOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXRze1xuICAgICAgICAgICAgICAgIG1hcmdpbiA6IDUwcHggMCAwO1xuICAgICAgICAgICAgICAgIC5zZXQ6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luIDogNTBweCAwIDA7IH1cbiAgICAgICAgICAgICAgICAudHh0LWJvZHl7IG1hcmdpbiA6IDE1cHggMCAwOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5lc3tcbiAgICAgICAgICAgICAgICAubGluZTpudGgtb2YtdHlwZShuKzIpeyBtYXJnaW4gOiAzMHB4IDAgMDsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHh0LWJvZHl7IG1hcmdpbiA6IDMwcHggMCAwOyB9XG5cbiAgICAgICAgICAgIC5pbmRlbnR7XG4gICAgICAgICAgICAgICAgJi0tdHlwZTAxID4gKnsgQGluY2x1ZGUgdGV4dEluZGVudCgwLjllbSk7IH0vLyDjg7tcbiAgICAgICAgICAgICAgICAmLS10eXBlMDIgPiAqeyBAaW5jbHVkZSB0ZXh0SW5kZW50KDIuN2VtKTsgfS8vIO+8iOazqDHvvIlcbiAgICAgICAgICAgICAgICAmLS10eXBlMDMgPiAqeyBAaW5jbHVkZSB0ZXh0SW5kZW50KDAuOGVtKTsgfS8vIDEuXG4gICAgICAgICAgICAgICAgJi0tdHlwZTA0ID4gKnsgQGluY2x1ZGUgdGV4dEluZGVudCgxLjFlbSk7IH0vLyAoMSlcbiAgICAgICAgICAgICAgICAmLS10eXBlMDUgPiAqeyBAaW5jbHVkZSB0ZXh0SW5kZW50KDAuNTVlbSk7IH0vLyDigLtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnR4dCArICp7IG1hcmdpbiA6IDMwcHggMCAwOyB9XG4gICAgICAgICAgICAudGFibGUgKyAqeyBtYXJnaW4gOiAxNXB4IDAgMDsgfVxuICAgICAgICAgICAgLmxpc3QgKyAqeyBtYXJnaW4gOiAzMHB4IDAgMDsgfVxuXG4gICAgICAgICAgICAudGFibGV7XG4gICAgICAgICAgICAgICAgdGgsIHRke1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nICAgIDogMjBweCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXIgICAgIDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5Lm1vcmV7XG4gICAgICAgIG1haW57XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQgIDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodCA6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICNub25lLW12e1xuICAgICAgICAgICAgICAgIG1hcmdpbiA6IDAgMCA1MHB4O1xuICAgICAgICAgICAgICAgICNoMXtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGgxeyBAaW5jbHVkZSBmb250cygxOXB4LCAyNnB4KTsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgI21vcmUtYm9keXtcbiAgICAgICAgICAgICAgICAuYmxvY2s6bnRoLW9mLXR5cGUobisyKXsgbWFyZ2luIDogNDBweCAwIDA7IH1cblxuICAgICAgICAgICAgICAgIC5oMntcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDE1cHggMjBweDtcbiAgICAgICAgICAgICAgICAgICAgaDJ7IEBpbmNsdWRlIGZvbnRzKDE2cHgsIDI0cHgpOyB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmgze1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nIDogMCAwIDAgNTVweDtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCAgOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyeyBAaW5jbHVkZSBhYnNvbHV0ZSgwLCBudWxsLCBudWxsLCAyMHB4KTsgfVxuICAgICAgICAgICAgICAgICAgICBoM3sgQGluY2x1ZGUgZm9udHMoMTdweCwgMjJweCk7IH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuaDR7XG4gICAgICAgICAgICAgICAgICAgIGg0eyBAaW5jbHVkZSBmb250cygxNXB4KTsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pdGVtc3tcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogNDBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIC5pdGVtOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDM1cHggMCAwOyB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNldHN7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAuc2V0Om50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDMwcHggMCAwOyB9XG4gICAgICAgICAgICAgICAgICAgIC50eHQtYm9keXsgbWFyZ2luIDogMTVweCAwIDA7IH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudHh0LWJvZHl7IG1hcmdpbiA6IDIwcHggMCAwOyB9XG5cbiAgICAgICAgICAgICAgICAuaW5kZW50e1xuICAgICAgICAgICAgICAgICAgICAmLS10eXBlMDEgPiAqeyBAaW5jbHVkZSB0ZXh0SW5kZW50KDAuNzVlbSk7IH0vLyDjg7tcbiAgICAgICAgICAgICAgICAgICAgJi0tdHlwZTAyID4gKnsgQGluY2x1ZGUgdGV4dEluZGVudCgyLjcwZW0pOyB9Ly8g77yI5rOoMe+8iVxuICAgICAgICAgICAgICAgICAgICAmLS10eXBlMDMgPiAqeyBAaW5jbHVkZSB0ZXh0SW5kZW50KDAuOGVtKTsgfS8vIDEuXG4gICAgICAgICAgICAgICAgICAgICYtLXR5cGUwNCA+ICp7IEBpbmNsdWRlIHRleHRJbmRlbnQoMS4yZW0pOyB9Ly8gKDEpXG4gICAgICAgICAgICAgICAgICAgICYtLXR5cGUwNSA+ICp7IEBpbmNsdWRlIHRleHRJbmRlbnQoMC41NWVtKTsgfS8vIOKAu1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50eHQgKyAqeyBtYXJnaW4gOiAyMHB4IDAgMDsgfVxuICAgICAgICAgICAgICAgIC50YWJsZSArICp7IG1hcmdpbiA6IDEwcHggMCAwOyB9XG5cbiAgICAgICAgICAgICAgICAudGFibGV7XG4gICAgICAgICAgICAgICAgICAgIHRoLCB0ZHsgcGFkZGluZyA6IDEwcHggMTVweDsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkubW9yZS5wb2xpY3ktaW52aXRhdGlvblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkubW9yZS5wb2xpY3ktaW52aXRhdGlvbntcbiAgICBtYWlue1xuICAgICAgICAjbW9yZS1ib2R5e1xuICAgICAgICAgICAgI2JvdHRvbS10ZXh0e1xuICAgICAgICAgICAgICAgIC50eHR7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgOiAzMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAjZWVlO1xuICAgICAgICAgICAgICAgICAgICBweyBAaW5jbHVkZSBmb250cygxNHB4LCAxZW0sICRmb250d2VpZ2h0U2VtaUJvbGQpOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIGJvZHkubW9yZS5wb2xpY3ktaW52aXRhdGlvbntcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNtb3JlLWJvZHl7XG4gICAgICAgICAgICAgICAgI2JvdHRvbS10ZXh0e1xuICAgICAgICAgICAgICAgICAgICAudHh0e1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDE0cHgsIDI1cHgpOyB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBib2R5Lm1vcmUucG9saWN5LW1hcmtldGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkubW9yZS5wb2xpY3ktbWFya2V0aW5ne1xuICAgIG1haW57XG4gICAgICAgICNtb3JlLWJvZHl7XG4gICAgICAgICAgICAucHJvbG9ndWV7XG4gICAgICAgICAgICAgICAgLnR4dHsgbWFyZ2luIDogMzBweCAwIDA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50YWJsZXtcbiAgICAgICAgICAgICAgICB0aHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggOiAxNDBweDtcbiAgICAgICAgICAgICAgICAgICAgcHsgbGluZS1oZWlnaHQgOiAyMHB4OyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgI3skc21hbGx9e1xuICAgIGJvZHkubW9yZS5wb2xpY3ktbWFya2V0aW5ne1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgI21vcmUtYm9keXtcbiAgICAgICAgICAgICAgICAucHJvbG9ndWV7XG4gICAgICAgICAgICAgICAgICAgIC50eHR7IG1hcmdpbiA6IDIwcHggMCAwOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50YWJsZXtcbiAgICAgICAgICAgICAgICAgICAgdGh7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCA6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBweyB3aGl0ZS1zcGFjZSA6IG5vd3JhcDsgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5tb3JlLmtwaVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmJvZHkubW9yZS5rcGl7XG4gICAgbWFpbntcbiAgICAgICAgI21vcmUtYm9keXtcbiAgICAgICAgICAgIC5ibG9jazpudGgtb2YtdHlwZSgyKXtcbiAgICAgICAgICAgICAgICAuY29sLWxlZnR7IHdpZHRoIDogNTcwcHg7IH1cbiAgICAgICAgICAgICAgICAuY29sLXJpZ2h0eyB3aWR0aCA6IGNhbGMoMTAwJSAtIDU3MHB4KTsgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFibGUwMXtcbiAgICAgICAgICAgICAgICB0aCwgdGR7IHBhZGRpbmcgOiA1cHggMjBweDsgfVxuICAgICAgICAgICAgICAgIHRoZWFkIHRoe1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogI2YxZjFmMTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbiA6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcHsgbGluZS1oZWlnaHQgOiAxZW07IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGJvZHkgdGQ6bnRoLW9mLXR5cGUoMil7IHRleHQtYWxpZ24gOiBjZW50ZXI7IH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRhYmxlMDJ7XG4gICAgICAgICAgICAgICAgbWFyZ2luIDogNDBweCAwIDA7XG4gICAgICAgICAgICAgICAgdGh7IHdoaXRlLXNwYWNlIDogbm93cmFwOyB9XG4gICAgICAgICAgICAgICAgdGhlYWQgdGh7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgICAgIDogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICAgIDogI2YxZjFmMTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbiAgICAgOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduIDogbWlkZGxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0Ym9keSB0aCxcbiAgICAgICAgICAgICAgICB0Ym9keSB0ZHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDE1cHggMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGJvZHl7XG4gICAgICAgICAgICAgICAgICAgIHRoeyB3aWR0aCA6IDI4MHB4OyB9XG4gICAgICAgICAgICAgICAgICAgIHRkeyB0ZXh0LWFsaWduIDogcmlnaHQ7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFsaWduLS1yaWdodHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luIDogMTVweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHB7IEBpbmNsdWRlIGZvbnRzKDEycHgsIDFlbSk7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJsZTAze1xuICAgICAgICAgICAgICAgIHRoLCB0ZHsgcGFkZGluZyA6IDEwcHggMjBweDsgfVxuICAgICAgICAgICAgICAgIHRoeyB3aWR0aCA6IDI4MHB4OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5tb3JlLmtwaXtcbiAgICAgICAgbWFpbntcbiAgICAgICAgICAgICNtb3JlLWJvZHl7XG4gICAgICAgICAgICAgICAgLmJsb2NrOm50aC1vZi10eXBlKDIpe1xuICAgICAgICAgICAgICAgICAgICAuY29sLWxlZnQsXG4gICAgICAgICAgICAgICAgICAgIC5jb2wtcmlnaHR7IHdpZHRoIDogMTAwJTsgfVxuICAgICAgICAgICAgICAgICAgICAuY29sLXJpZ2h0eyBtYXJnaW4gOiAxMHB4IDAgMDsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50YWJsZTAxe1xuICAgICAgICAgICAgICAgICAgICB0aHsgcGFkZGluZyA6IDEwcHggMTBweDsgfVxuICAgICAgICAgICAgICAgICAgICB0ZDpudGgtb2YtdHlwZSgxKXsgd2lkdGggOiA1MCU7IH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGFibGUwMntcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luICAgICA6IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nICAgIDogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93LXggOiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgIHRib2R5IHRoLFxuICAgICAgICAgICAgICAgICAgICB0Ym9keSB0ZHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmFsaWduLS1yaWdodHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbiA6IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcHsgd2hpdGUtc3BhY2UgOiBub3dyYXAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRhYmxlMDN7XG4gICAgICAgICAgICAgICAgICAgIC8qdGFibGV7IHdyaXRpbmctbW9kZSA6IHZlcnRpY2FsLWxyOyB9Ki9cbiAgICAgICAgICAgICAgICAgICAgdGgsIHRke1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZyAgICAgICAgOiAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAvKndyaXRpbmctbW9kZSAgIDogaG9yaXpvbnRhbC10YjsqL1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ24gOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGh7IHdpZHRoIDogYXV0bzsgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIGJvZHkubW9yZS5wb2xpY3ktc2VjdXJpdHlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ib2R5Lm1vcmUucG9saWN5LXNlY3VyaXR5e1xuICAgIG1haW57XG4gICAgICAgICNtb3JlLWJvZHl7XG4gICAgICAgICAgICAuaWNvbntcbiAgICAgICAgICAgICAgICBpbWd7IGhlaWdodCA6IDg4cHg7IH1cbiAgICAgICAgICAgICAgICAmICsgLnR4dHsgbWFyZ2luIDogMzBweCAwIDA7IH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsfXtcbiAgICBib2R5Lm1vcmUucG9saWN5LXNlY3VyaXR5e1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgI21vcmUtYm9keXtcbiAgICAgICAgICAgICAgICAuaWNvbntcbiAgICAgICAgICAgICAgICAgICAgJiArIC50eHR7IG1hcmdpbiA6IDE1cHggMCAwOyB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgXCIuLi8uLi9jb3JlL192YXJpYWJsZS5zY3NzXCI7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgYm9keS5uZXdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYm9keS5uZXdze1xuICAgIG1haW57XG4gICAgICAgICNub25lLW12e1xuICAgICAgICAgICAgbWFyZ2luIDogMCAwIDgwcHg7XG4gICAgICAgICAgICAjaDF7XG4gICAgICAgICAgICAgICAgaGVpZ2h0ICAgICAgICA6IDE0MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gICAgOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCAgICA6ICNlOGY0ZjU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcCAgICA6IDFweCBzb2xpZCAjY2NkYWVhO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20gOiAxcHggc29saWQgI2NjZGFlYTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdCAgIDogNHB4IHNvbGlkICRjb2xvck1haW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0ICA6IDRweCBzb2xpZCAkY29sb3JHcmVlbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KGNlbnRlciwgY2VudGVyKTtcbiAgICAgICAgICAgICAgICBoMXsgQGluY2x1ZGUgZm9udHMoMjhweCwgMWVtLCAkZm9udHdlaWdodE1lZGl1bSwgMCwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpOyB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjbmV3cy1ib2R5e1xuICAgICAgICAgICAgLmJsb2NrOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDgwcHggMCAwOyB9XG5cbiAgICAgICAgICAgIC5oMntcbiAgICAgICAgICAgICAgICBwYWRkaW5nICAgICAgIDogMjBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AgICAgOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tIDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQgICA6IDJweCBzb2xpZCAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodCAgOiAycHggc29saWQgJGNvbG9yR3JlZW47XG4gICAgICAgICAgICAgICAgaDJ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRzKDI0cHgsIDFlbSwgJGZvbnR3ZWlnaHRTZW1pQm9sZCwgMCwgbnVsbCwgJGZvbnRGYW1pbHlOb3RvU2VyaWYpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0SnVzdGlmeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50eHQtYm9keXtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wIDogMzBweDtcbiAgICAgICAgICAgICAgICAmID4gKjpudGgtY2hpbGQobisyKXsgbWFyZ2luIDogMjBweCAwIDA7IH1cbiAgICAgICAgICAgICAgICAudHh0e1xuICAgICAgICAgICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgOiAkY29sb3JNYWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNwT3Zlcn17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcnsgdGV4dC1kZWNvcmF0aW9uIDogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSAjeyRzbWFsbH17XG4gICAgYm9keS5uZXdze1xuICAgICAgICBtYWlue1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0ICA6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQgOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAjbm9uZS1tdntcbiAgICAgICAgICAgICAgICBtYXJnaW4gOiAwIDAgNTBweDtcbiAgICAgICAgICAgICAgICAjaDF7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCA6IDEwMHB4O1xuICAgICAgICAgICAgICAgICAgICBoMXsgQGluY2x1ZGUgZm9udHMoMTlweCwgMjZweCk7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNuZXdzLWJvZHl7XG4gICAgICAgICAgICAgICAgLmJsb2NrOm50aC1vZi10eXBlKG4rMil7IG1hcmdpbiA6IDQwcHggMCAwOyB9XG5cbiAgICAgICAgICAgICAgICAuaDJ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmcgOiAxNXB4IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGgyeyBAaW5jbHVkZSBmb250cygxNnB4LCAyNHB4KTsgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50eHQtYm9keXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcCA6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICYgPiAqOm50aC1jaGlsZChuKzIpeyBtYXJnaW4gOiAyMHB4IDAgMDsgfVxuICAgICAgICAgICAgICAgICAgICAudHh0e1xuICAgICAgICAgICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA6ICRjb2xvck1haW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhICN7JHNwT3Zlcn17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXJ7IHRleHQtZGVjb3JhdGlvbiA6IHVuZGVybGluZTsgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUE7O21GQUVtRjtBQ0FuRjs7Ozs7O0VBTUU7QUFFRixBQUFBLENBQUMsQ0FBQTtJQUdHLHNCQUFzQixFQUFRLFdBQVc7SUFDekMsdUJBQXVCLEVBQU8sU0FBUztDQUMxQzs7QUFFRCxBQUFBLElBQUksRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU07QUFDckMsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxDQUFDLEVBQUUsQUFBQSxVQUFVLEVBQUUsQUFBQSxHQUFHO0FBQzFDLEFBQUEsSUFBSSxFQUFFLEFBQUEsT0FBTyxFQUFFLEFBQUEsSUFBSSxFQUFFLEFBQUEsSUFBSTtBQUN6QixBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEVBQUUsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLENBQUMsRUFBRSxBQUFBLElBQUk7QUFDcEMsQUFBQSxLQUFLLEVBQUUsQUFBQSxNQUFNLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxHQUFHLEVBQUUsQUFBQSxHQUFHO0FBQzVCLEFBQUEsQ0FBQyxFQUFFLEFBQUEsQ0FBQztBQUNKLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRSxFQUFFLEFBQUEsRUFBRTtBQUN0QixBQUFBLFFBQVEsRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLEtBQUssRUFBRSxBQUFBLE1BQU07QUFDN0IsQUFBQSxLQUFLLEVBQUUsQUFBQSxPQUFPLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFLEVBQUUsQUFBQSxFQUFFO0FBQy9DLEFBQUEsT0FBTyxFQUFFLEFBQUEsS0FBSyxFQUFFLEFBQUEsTUFBTSxFQUFFLEFBQUEsT0FBTyxFQUFFLEFBQUEsVUFBVSxFQUFFLEFBQUEsTUFBTTtBQUNuRCxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLE1BQU0sRUFBRSxBQUFBLElBQUksRUFBRSxBQUFBLEdBQUcsRUFBRSxBQUFBLE9BQU8sRUFBRSxBQUFBLE9BQU87QUFDbkQsQUFBQSxJQUFJLEVBQUUsQUFBQSxJQUFJLEVBQUUsQUFBQSxLQUFLLEVBQUUsQUFBQSxLQUFLLENBQUE7SUFDcEIsTUFBTSxFQUFXLENBQUM7SUFDbEIsT0FBTyxFQUFVLENBQUM7SUFDbEIsTUFBTSxF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 */
