/*!**********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/DetailProduits.css ***!
  \**********************************************************************************************************************/
:root {
    --greenMH: #21C366;
    --greyMH: #D5D5D5;
    --blueMH: #0076BA;
    --grisTextMH: #5E5E5E;
}

/*
* {
*    margin: 0;
*    padding: 0;
*    border: 0;
*    outline: 0;
*    font-size: 100%;
*    vertical-align: baseline;
*    background: transparent;
*}
*/

button{
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}

body.price-is-loading * {
    cursor: wait !important;
}

body{
    margin: 0;
}
.hidden {
    display: none !important;
}
p, h1{
    color: var(--grisTextMH);
}

#LetsGoLaMaxiDiv{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
    justify-content: center;
    max-width: 1600px;
    min-width: 1000px;
}

.gallery {
    display: flex;
    flex-wrap: wrap;
    width: 50%;
    margin: 0 0 0 0;
    padding: 50px 0 0 0;
    justify-content: center;
    align-content: flex-start;
    top: 0;
    /*z-index: 100; !* Ensure it stays on top *!*/
    height: fit-content; /* Adjust height to content to prevent empty space */
}

.gallery__thumbnails {
    display: flex;
    flex-direction: column;
    margin-right: 10px;
}

.gallery__thumbnail {
    width: 110px;
    height: 110px;
    margin-bottom: 20px;
    cursor: pointer;
}

.gallery__main {
    width: 500px;
    height: 500px;
}

.gallery__image {
    width: 100%;
    height: auto;
}

.selectedImg{
    border: 1px solid var(--greyMH);
    border-radius: 10px;
}

.description{
    width: 80%;
    border: 1px solid var(--greyMH);
    padding: 0 30px;
    border-radius: 25px;
}

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

.description .topicHead{
    position: relative; /* pour positionner l'image facilement */
    display: flex;
    justify-content: center; /* centre le texte horizontalement */
    align-items: center; /* centre verticalement le texte */
    margin: 16px 0 16px 0;
    cursor : pointer;
}

.description .topicHead .fleche {
    position: absolute;
    right: 20px;
    width: 30px;
    height: 30px;
    /*rotate: 90deg;*/
    /*background-color : #D6D6D6; */
}

.description ul{
    list-style-type: none;
    padding: 0; /* Remove padding */
}

.contactlink a{
    color: var(--greenMH);
    text-decoration: none;
    font-weight: bold;
}

.contactlink a:hover{
    border-bottom: 2px solid var(--greenMH);
}

.modalContentSuccessDivGDT{
    position : absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fefefe;
    left : 0;
    right: 0;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 30px;
    /*width: 70%;*/
    width: 850px;
    max-width: 1100px;
    height: 75vh;
    overflow: auto; /*Permet de scroll si écran trop petit*/

}

.btnCloseGDT{
    opacity: .3;
    /* cursor: pointer; */
    display: flex;
    margin: 7px 10px -7px auto;
    position: relative;
}

.btnCloseGDT:hover{
    opacity: 1;
}

.btnCloseTuto{
    opacity: .3;
    /* cursor: pointer; */
    display: flex;
    margin: 7px 10px -7px auto;
    position: relative;
}

.btnCloseTuto:hover{
    opacity: 1;
}

.btnOpenGDT{
    display: block;
    margin: 0 auto 15px auto;
    color: var(--blueMH);
    font-size: 12px;
    border-bottom: 1px solid var(--blueMH);
}


h1{
    font-size: 30pt;
    font-weight: normal;
    margin-bottom : 15px;
}
#prixTotal, #prixTotalDefault{
    font-size: 20px;
    font-weight: normal;
    margin-bottom: 0 !important;
}

.divTuto{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 10px;
}

.btnOpenTuto{
    color: var(--greenMH) !important;
    font-weight: bold !important;
    text-decoration: none !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    font-size: inherit !important;
    cursor: pointer;
}

.btnOpenTuto:hover{
    box-shadow: 0 2px 0 0 var(--greenMH) !important;
}

.aide{
    font-size: 14px;
    color: var(--grisTextMH);
    margin: 12px 0 10px 0;
}

.checkBoxCouleur:not(#SamePersoCheckbox){
    display: none;
}

.testBdDtoJs{
    margin: 50px 50px;
    width: 40%;
}
.inputColorLabel {
    /*float: left;*/
    /*display: flex;*/
    /*align-items: center;*/
    /*justify-content: center;*/
    /*line-height: 2.0em;*/
    /*width: 2.0em;*/
    /*height: 1.8em;*/
    /*margin-right: 5px;*/
    /*overflow: hidden;*/
    /*border-radius: 15px;*/
    /*border : 1px solid blue;*/

    display: inline-block;
    position: relative;
    cursor: pointer;
    width: 1.7em;
    margin-right: 10px;
}

.inputColorLabel .inputColorSpan {
    /*text-align: center;*/
    /*width: 2.0em;*/
    /*height: 1.7em;*/
    /*!*padding: 5px 0;*!*/
    /*display: block;*/
    /*border-radius: 15px ;*/
    /*!*border : 1px solid black;*!*/
    /*cursor: pointer;*/

    display: inline-block;
    width: 2.0em; /* adjust the size of the swatch */
    height: 1.7em;
    border-radius: 15px;
    /*border: 1px solid #ccc;*/
    margin-right: 10px;
}

.inputColorSpan::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: inherit;
    border-radius: inherit;
}
.checkBoxCouleur:checked +.inputColorSpan {
    border-color: var(--greenMH);
    box-shadow: 0 0 0 2px var(--greenMH);
}



#ColorList{
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 25px;
}

.divSwitch{
    display: none;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 25px;
}

.switch {
    display: inline-block;
    height: 1.7em;
    position: relative;
    width: 50px;
}

.switch input {
    display:none;
}

.slider {
    background-color: #ccc;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .4s;
}

.slider:before {
    background-color: #fff;
    bottom: 4px;
    content: "";
    height: 1.2em;
    left: 4px;
    position: absolute;
    transition: .4s;
    width: 1.2em;
}

input:checked + .slider {
    background-color: var(--greenMH);
}

input:checked + .slider:before {
    transform: translateX(23px);
}

.slider.round {
    border-radius: 34px;
}

.slider.round:before {
    border-radius: 50%;
}

.divSwitch span{
    max-width: 80%;
    margin-left: 15px;
    color: var(--grisTextMH);

}

#recapCouleurChoisies {
    /*border : 2px solid grey;*/
    /*border-radius: 10px;*/
    /*height: 60px;*/
    /*margin-top: 15px;*/
    display: flex;
    flex-wrap: wrap;
    position:relative;
    top:1px;
}

#recapCouleurChoisies{
    display: none;
}

#recapCouleurChoisies p {
    margin-bottom: 10px;
}

#recapCouleurChoisies label span{
    cursor: pointer;
}

.ContainerCouleurSelect{
    /*margin-top: 9px;*/
    border-radius: 0 15px 15px 15px;
    border : 1px solid var(--greyMH);
    display: none;
}

.ContainerCouleurSelect .aide{
    text-align: center;

}

.divInputTaille{
    margin-top: 3%;
    margin-bottom: 2%;
    display: flex;
    flex-wrap: wrap;
    /*margin-left: 3%;*/
    justify-content: center;
    align-items: center;
}

.divInputTaille label {
    font-size: 14px;
    background-color: black;
    color: white;
    width: 100%;
    text-align: center;
    border-radius: 10px 10px 0 0;
    border-top: 4px solid black;
}

.divTaille{
    display: flex;
    width: 73px;
    flex-wrap: wrap;
    margin: 0 5px 0 5px;
    justify-content: center;
}

.divTaille .tailleUnique{
    width: 110px !important;
}

.divTaillePastille{
    display: flex;
    width: 2.0em;
    height: 1.7em;
    flex-wrap: wrap;
    margin: 0 10px 0px 5px;
    justify-content: center;
    border-radius: 15px;
}



input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {/*Remove Arrows*/
    -webkit-appearance: none;
    margin: 0;
}
input[type=number] {
    border : 1px solid grey;
    text-align: center;
    width: 4.0em;
    height: 1.5em;
    border-radius: 0 0 10px 10px;
}

/*Stylisation des boutons de marquage */
.techniqueDeMarquage {
    display: flex;
    margin-top: 3%;
    justify-content: center;
}

.marquageCboxe, .marquageCboxe-indispo{
    margin: 20px;
    background-color: white;
    border : 1px solid white;
    border-radius: 15px;
    float: left;
    /*overflow: hidden;*/
}


.marquageCboxe label, .marquageCboxe-indispo label {

    float: left;
    line-height: 2.0em;
    width: 10.0em;
    height: 2.0em;
    /*cursor: pointer;*/
}

.marquageCboxe-indispo label{
    cursor: default;
}

.marquageCboxe span{
    padding: 3px 0;
    text-align: center;
    display: block;
    border : 1px solid #ABB2BB;
    border-radius: 15px;
}

.marquageCboxe-indispo span{
    padding: 3px 0;
    text-align: center;
    color: var(--greyMH);
    display: block;
    border : 1px solid #ABB2BB;
    border-radius: 15px;
}

.marquageCboxe-indispo .spanSerigIndispo{
    border: none;
    font-size: small;
    position: relative;
    bottom: 5px;
    line-height: 0;
}


.marquageCboxe span:hover{
    border: 1px solid var(--greenMH);
    color: var(--greenMH);
    /*background-color: rgb(33, 195, 102,0.05);*/
}

.marquageCboxe label input, .marquageCboxe-indispo label input {
    display : none;
    position : absolute;
}

.marquageCboxe input:checked + span {
    background-color: var(--greenMH);
    color : white;
    border : 1px solid white;
}
/* //////////////////////////////*/




.persoZone, .persoZoneGDT {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    padding-top: 10px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow:  hidden; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.persoZone, .persoZoneTuto {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1000; /* Sit on top */
    padding-top: 10px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow:  hidden; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

.persoZoneTuto img{
    width: 50%;
}

/*.persoZone input[type=file] {*/
/*    display: none;*/
/*}*/

/*.Taille{*/
/*    position: relative;*/
/*    width: 100%;*/
/*    border: 1px solid dimgrey;*/
/*    background-color: grey;*/
/*}*/

/*.affPrix {*/
/*    position : relative;*/
/*    width: 100%;*/
/*    height: 3%;*/
/*    text-align: center;*/
/*    margin : 7% 30%;*/
/*    padding-top: 3%;*/
/*    padding-bottom: 3%;*/
/*    border : 1px solid red;*/
/*    background-color: red;*/
/*}*/

.PrixTaille{
    display : grid;
    width: 100%;
    grid-template-columns: 10% 50% 30% 10%;
    /*grid-template-rows: 20% 20% 10% 28% 27%;*/
    grid-template-rows: 30px 35px 15px 60px;
    /*grid-template-columns: minmax(5px, 10%) minmax(100px, 50%) minmax(60px, 30%) minmax(5px, 10%);*/
    /*grid-template-rows: minmax(20px, 20%) minmax(20px, 20%) minmax(20px, 10%) minmax(40px, 28%) minmax(100px, 27%);*/
    /*border : 1px solid red;*/
    align-items: stretch;
    grid-auto-rows: minmax(20px, 1fr);
    grid-auto-columns: minmax(20px, 1fr);
}

#divPrix{
    width: 65%;
    /*justify-self: stretch;*/
    grid-column-start: 2;
    grid-column-end: 3;
    grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--greyMH);
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    border-radius: 10px 0 0 10px;
    padding-left: 10px;
}

.affPrix2{
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3;
    background-color: var(--greyMH);
    width: 35%;
    border-radius: 0 10px 10px 0;

}

.affPrix{
    grid-column-start: 3;
    grid-column-end: 4;
    grid-row-start: 2;
    grid-row-end: 3;
    /*background-color: var(--greyMH);*/
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}

#divTaille{
    width: 65%;
    justify-self: stretch;
    grid-column-start: 2;
    grid-column-end: 2;
    grid-row-start: 4;
    /*grid-row-end: end;*/
    background-color: var(--greyMH);
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    border-radius: 10px 0 0 10px;
    padding-left: 10px;
}
.affTaille{
    width: 35%;
    grid-column-start: 3;
    grid-column-end: 3;
    grid-row-start: 4;
    /*grid-row-end: end;*/
    background-color: var(--greyMH);
    /*align-self: center;*/
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    border-radius: 0 10px 10px 0;
}

.divButton{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-content: flex-end;
}
.modalContent{
    position : absolute;
    display : flex;
    background-color: #fefefe;
    left : 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 30px;
    /*width: 70%;*/
    /*width: 1070px;*/
    width: 1000px;
    max-width: 1100px;
    /*height: 90vh;*/
    height: 630px;
    overflow: hidden;

}
.close:hover,
.close:focus {
    cursor: pointer;
}
.TestKonva {
    overflow: clip;
    border: 1px solid var(--greyMH);
    border-radius: 10px;
    width: 680px;
    /*height: 630px;*/
    height: 590px;
    /* margin-left: 6%; */
}

.InfoButtons{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    /*height: 630px;*/
    height: 590px;

}

.divAidePerso{
    border-radius: 10px;
    padding: 10px;
    background-color: rgba(33,195,102,0.10);
}

.divAidePerso.bandeau{
    width: 90%;
    margin: 0 auto 50px auto;
    padding: 10px 30px;
}

.divAidePerso p {
    color: black;
}

.divAidePerso .strong{
    font-weight: 600;
}

.divAidePerso .smaller{
    font-size: 14px;
}

/*button {*/
/*    background-color: grey;*/
/*}*/


.changeButton {
    display: none;
}
.changeButtonLabel {
    display: none;
    margin-left: 10%;
    border: 2px solid var(--blueMH);
    border-radius: 15px;
    position: relative;
    /*top: 45%;*/
    height: 40px;
    /*width: 85%;*/
    text-align: center;
}
.changeButtonLabel:hover{
    cursor: pointer;
}

.changeButtonLabel > span{
    /*border: 2px solid blue;*/
    border-radius: 15px;
    position: relative;
    top: 28%;
    padding: 10px 70px;
    font-size: 14px;
    color: var(--blueMH);
}

.saveButton{
    position: relative;
    border : none;
    background-color: var(--greenMH);
    color: white;
    text-decoration: none;
    border-radius: 10px;
    height: 40px;
    /*top: 28%;*/
    margin-left: 10%;
    /*width: 87%;*/
    margin-top: 20px;

    width: 100%;
    /*font-size: 14px;*/
}

.saveButton:hover{
    cursor: pointer;
    background-color: #1eb05c;
}

.cancel{
    position: relative;
    border : none;
    background-color: #000000;
    color: white;
    text-decoration: none;
    border-radius: 10px;
    height: 40px;
    /*top: 11%;*/
    margin-left: 10%;
    /*width: 87%;*/
    width: 100%;
    margin-top: 20px;
    /*font-size: 14px;*/
}
.cancel:hover{
    cursor: pointer;
}

/*@media  (max-width: 1000px){*/
/*    .divPosition{*/
/*        display: flex;*/
/*        flex-wrap: wrap;*/
/*        height: 240px;*/
/*        justify-content: center;*/
/*        margin-top: 3%;*/
/*        padding-bottom: 5%;*/
/*    }*/
/*}*/
.divPosition{
    display: flex;
    flex-wrap: wrap;
    /*height: 320px;*/
    justify-content: center;
    margin-top: 3%;
    padding-bottom: 5%;
    /*aspect-ratio: 5/3;*/
    height: auto;
}

.divPosition .aide {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
}
.cat{
    display : inline-block;
    width : 25%;
    /*height: 45%;*/
    /*height : 180px;*/
    border-radius: 15px;
    border: 1px dashed var(--greyMH);
    margin : 10px 8px 10px 8px;
    overflow: hidden;
    position : relative;
    aspect-ratio: 90/100;
}
.cat:hover{
    border: 1px solid var(--greenMH);
}

.cat input[type="file"]{
    display: none;
}

.cat .buttonLabel {
    display: none;
    position : absolute;
    width : 70%;
    text-align: center;
    padding : 10px 10px 10px 10px;
    top: 50%;
    left : 50%;
    -ms-transform: translateY(-50%);
    transform: translate(-50%,-50%);
    background-color : var(--greenMH);
    border-radius : 15px;
    z-index: 1;
    color : white;
    font-size: 13px;
    box-shadow: 0.1rem 0.1rem 0.2em rgba(0,0,0,0.1);
    transition: transform .1s;
}

.cat .buttonLabel:hover{
    background-color: #1eb05c;
}
.cat .colorLabel {
    position : relative;
    float: left;
    /*line-height: 3.0em;*/
    width: 100%;
    height: 100%;
    text-align: center;
}



/*.cat button {*/
/*    !*border: 3px solid var(--greenMH);*!*/
/*    display: inline;*/
/*    position: absolute;*/
/*    width: 20%;*/
/*    height: 20%;*/
/*    bottom: 5%;*/
/*}*/

.modButton{
    /*display: inline;*/
    /*position: absolute;*/
    /*width: 20%;*/
    /*height: 20%;*/
    /*bottom: 5%;*/
    transition: transform 0.2s;
}
.modButton:hover{
    cursor: pointer;
    transform: scale(1.1);
}


.clearButton{
    transition: transform 0.2s;
}

.clearButton:hover{
    cursor: pointer;
    transform: scale(1.1);
}



.cat label span {
    position: relative;
    top : 84%;
    font-size: 12px;
    color: #5E5E5E;
}

.cat label input {
    position: absolute;
    display : none;
    width : 100%;
    color: black !important;
}
.cat label:hover{
    cursor: pointer;
}

.button:hover{
    box-shadow: 2px 2px var(--greenMH);
    font-size: 17px;
    cursor: pointer;
}

.cat img {
    position : absolute;
    width : 100%;
    height: auto;
    left: 0px;
    z-index: auto;
}

.cat .miniatureUpldImg {
    display: none;
    position : absolute;
    width: 70%;
    height: 70%;
    top: 20px;
    left: 50%;
    background-color: rgba(33,195,102,0.10);
    transform: translateX(-50%);
    border : 1px solid var(--greenMH);
    border-radius: 10px;
}

.atc-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

#saveToCart{
    display: block;
    width: 50%;
    height: 5%;
    cursor: pointer;
    background-color: var(--greenMH);
    color: white;
    margin: 20px auto;
    border-radius: 10px;
    border: none;
    /*transition: .2s ease;*/
    /*font-size: larger;*/
}

#saveToCart.btn-grayed {
    opacity: 0.5;
    cursor: not-allowed;
}

#saveToCartTooltip {
    display: none;
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 280px;
    background-color: #FFF3CD;
    color: #856404;
    border: 1px solid #FFEAA7;
    font-size: 13px;
    text-align: center;
    padding: 8px 12px;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    z-index: 10;
    white-space: normal;
}

#saveToCartTooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 6px;
    border-style: solid;
    border-color: #FFEAA7 transparent transparent transparent;
}

#saveToCartTooltip.visible {
    display: block;
}

#saveToCart:hover{
    background-color: #1eb05c;
}

.modalContentSuccessDiv{

    position : absolute;
    display : flex;
    background-color: #fefefe;
    left : 0;
    right: 0;
    margin: auto;
    padding: 20px;
    border: 1px solid #888;
    border-radius: 30px;
    width: 50%;
    height: 60%;
    overflow: hidden;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
}


.modalContentSuccessDiv p{
    font-size: xx-large;
    margin: 20% 0 15% 0;
}

/*.modalContentSuccessDiv button{*/
/*    background-color: var(--greenMH);*/
/*    border: none;*/
/*    border-color: var(--greenMH);*/
/*    color: #fefefe;*/
/*    font-size: large;*/
/*    height: 10%;*/
/*    width: 30%;*/
/*    margin-bottom: 2%;*/
/*    border-radius: 18px;*/
/*    cursor: pointer;*/
/*}*/

#goToCart{
    display: inline-block;
    padding: 2% 10%;
    font-size: larger;
    background-color: var(--greenMH);
    color: white;
    text-decoration: none;
    border-radius: 10px;
    transition: background-color 0.3s ease;
    margin-bottom : 2%;
}

#goToCart:hover{
    transform: scale(1.1);
    background-color: #1eb05c;
}

#loadingAddToCart{
    display: none;
    width: 50%;
    height: 5%;
    cursor: pointer;
    background-color: var(--greenMH);
    color: white;
    margin: 20px auto;
    border-radius: 10px;
    border: none;
    /*transition: .2s ease;*/
    justify-content: center;
    align-items: center;
}
.loader {
    border: 3px solid var(--greyMH); /* Light grey */
    border-top: 3px solid var(--grisTextMH); /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/* resp */
.PrixTaille{
    display:flex;
    flex-wrap:wrap;
    column-gap:0px;
    row-gap:20px!important;
}
.divButton {
    align-items: flex-end;
    margin-top: auto;
}
.PrixTaille > div{
    padding: 10px!important;
    line-height: 1.4;
}
/*.PrixTaille > div:nth-child(odd){*/
/*    width:65%*/
/*}*/
/*.PrixTaille > div:nth-child(even){*/
/*    width:35%;*/
/*}*/
.InfoButtons{
    align-items: baseline;
    padding-left: 20px;
}
.divButton label ,
.divButton button {
    margin:0px;
}
.divButton button {
    margin:15px 0px 0px 0px!important;
}
.divInputTaille {
    /*display: flex;*/
    /*gap: 20px;*/
}

.divInputTaille > div:not(.divTaillePastile) {
    /*width: calc(17% - 20px);*/
    display: flex;
    /*width: calc(25% / 2);*/
    margin: 0px 5px 0px 5px;
}

.divInputTaille > div input {
    width: 100%;
}

.modalContentSuccessDiv p:first-child {
    font-size: 25px;
    margin-bottom: 20px;
    width: 100%;
    margin-top: 40px;
}
div#addToCartSuccessDiv .modalContentSuccessDiv {
    display: flex;
    overflow: auto;
    min-height: 240px;
    height: unset;
    text-align:center;
    position: absolute;
    padding-bottom: 40px;
    top: 50%;
    transform: translateY(-50%);
}
a#goToCart{
    text-align:center;
    margin-bottom:20px;
    width:50%;
    padding:10px 30px;
    border-radius:5px;
}

#continueShopping{
    text-decoration: none;
    color: black;
    border-bottom: 1px solid black;
}

#continueShopping:hover{
    font-weight: bold;
}
.description {

    margin: 0px auto 50px auto;
}
.GuideDesTailles.modalContentSuccessDivGDT {
    height: unset;
    top: 50%;
    transform: translateY(-50%);
}
a#goToCart:hover {
    transform: scale(1)!important;
}
div#addToCartSuccessDiv .modalContentSuccessDiv {
    width: 40%;
}

.divVide{
    height: 50px;
}

@media only screen and (min-width: 1025px){
    .gallery{
        position: sticky;
    }
}
@media only screen and (max-width: 1400px) and (min-width: 1025px){
    .divInputTaille {
        max-width: 280px;
        margin-left: auto;
        margin-right: auto;
        gap: 10px 0;
    }
}
@media only screen and (max-width: 1366px) and (min-width: 1025px){
    .gallery__main {
        width: 391px;
        height: 391px;
    }
    .modalContent {
        width: 1010px;

    }
}
@media only screen and (max-width: 1024px){
    div#addToCartSuccessDiv .modalContentSuccessDiv {
        width: 90%;
    }

    .description {
        width: calc(100% - 100px);
        margin: 0px auto 50px auto;
    }
    .TestKonva {
        width: 100% !important;
        height: auto;
        margin: 0;
        overflow-x: hidden;
    }
    /* .TestKonva::-webkit-scrollbar {
        width: 1em;
    }
    .TestKonva::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    }
    .TestKonva::-webkit-scrollbar-thumb {
      background-color: #21c366;
      outline: 1px solid #21c366	;
    }
    .konvajs-content:before, .konvajs-content:after {
        content: 'Swipe to scroll';
        position: absolute;
        left: 10px;
        bottom: -20px;
    }
    .konvajs-content:before {
        left: inital	;
        right: 10px;
    }
    */
    button#saveToCart{
        padding:15px 30px!important;
        border-radius:10px;
        width:100%;
    }
    .description{
        line-height:1.4;
    }

    .techniqueDeMarquage{
        justify-content:space-between;
        width: calc(75% + 32px);
        margin: auto;
    }
    .marquageCboxe, .marquageCboxe-indispo{
        width:48%;
        margin:0px;
    }
    .marquageCboxe span , .marquageCboxe-indispo span{
        height:50px;
        padding:0px;
        border-radius: 10px;
    }
    .marquageCboxe span {
        height:50px;
        display:flex;
        justify-content:center;
        align-items:Center;
    }
    .marquageCboxe label, .marquageCboxe-indispo label{
        width:100%;
        height: unset;
    }
    div#LetsGoLaMaxiDiv{
        padding: 20px 50px;
        width: 100%;
        min-width: unset;
        flex-direction: column-reverse;
    }
    .div#LetsGoLaMaxiDiv{
        flex-wrap:wrap;
    }
    .gallery , .testBdDtoJs , .description{
        width:100%;
        margin: 0px;
    }
    .testBdDtoJs h1{
        margin-top:0px;
    }
    .gallery__thumbnails{
        width:20%;
        margin:0px;
    }
    .gallery__main{
        width: 80%;
        margin:0px;
        height: unset!important;
    }
    .modalContent{
        /*width:100%;*/
        min-width:unset;
        /*max-width: 100%;*/
        padding:20px;
        overflow: auto;
        flex-wrap:wrap;
        /*width: calc(100% - 40px);*/
        width:710px;
        max-width: calc(100% - 40px);
    }
    .konvajs-content{
        margin:auto;
    }
    .divButton{
        align-content: flex-start!important;
    }
    .InfoButtons {
        margin-top:30px;
        height:unset!important;
        padding-left: 2px;
    }
    .divButton {
        margin-top:20px!important;
    }
    .divButton label ,
    .divButton button{
        width:100%;
    }
    img.imgSweat {
        width: 100%;
    }
    .GuideDesTailles.modalContentSuccessDivGDT {
        width: 95%;
        padding: 10px;
    }
    .GuideDesTailles.modalContentSuccessDivGDT h2 {
        margin: 0px;
        font-size:20px;
    }
    #loadingAddToCart{
        width:100%;
        padding:15px;
        border-radius:7px;
    }
    
}
@media only screen and (max-width: 934px){
    .gallery__thumbnail {
        width: 25%;
        height: unset;
    }

    #LetsGoLaMaxiDiv{
        padding: 20px 20px !important;
    }

    .modalContent{
        width:calc(100% - 40px);
        max-width:100%;
    }

    .TestKonva {
        width: 100% !important;
    }

    .InfoButtons{
        margin-top: 15px !important;
        align-content: flex-start !important;
    }

    .divAidePerso{
        margin-top: 15px;
    }

    .PrixTaille{
        row-gap: 5px !important;
    }

    .divButton{
        margin-top: 15px !important;
        align-content: flex-start;
        gap:5px !important;
    }
    .divButton button{
        margin: 0 !important;
    }


    .gallery__thumbnails{
        flex-direction:row;
        overflow:auto;
        width: 100%;
        order:2;
        margin-bottom:20px;
    }
    .gallery__thumbnails::-webkit-scrollbar {
        width: 7px;
        height:7px;
    }

    /* Track */
    .gallery__thumbnails::-webkit-scrollbar-track {
        background: #eeeeee;
    }

    /* Handle */
    .gallery__thumbnails::-webkit-scrollbar-thumb {
        background: #21c366;
    }

    /* Handle on hover */
    .gallery__thumbnails::-webkit-scrollbar-thumb:hover {
        background: #21c366;
    }
    h1{
        font-size:30px;
    }
    .gallery__main{
        order:1;
        width:100%;
    }
    .description{
        order:3;
        width: calc(100% - 40px);
        margin: 0 auto 20px auto;
    }
    .techniqueDeMarquage{
        flex-wrap:wrap;
        margin: 30px auto 30px auto;
        gap:15px;
    }
    .ContainerCouleurSelect{
        padding: 15px;
    }



    .techniqueDeMarquage > div{
        width:100%;
    }

    .divInputTaille {
        align-items: center;
        gap: 5px;
    }

    .divInputTaille.from-create-tableau {
        flex-wrap: nowrap;
    }
    .divInputTaille > .tailles-grid-container {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 10px 5px;
        width: 100% !important;
        margin: 0;
    }

    .divTaille {
        min-width: 70px;
        max-width: 80px;
        /*width: 80px !important;*/
        margin: 0;
    }

    .divTaille .tailleUnique{
        width: 110px !important;
    }

    .cat{

        width:calc(50% - 10px);
        margin:0px;
    }
    .divPosition{
        justify-content:space-between;
        gap:20px;
        padding-bottom: 0px;
    }
    .cat .buttonLabel{
        width:90%;
        padding:10px!important;
    }
    .modalContentSuccessDiv{
        width:90%;
        max-width:90%;
        text-align: center;
    }

}


/* --- Tooltip for Color Swatches --- */
.inputColorLabel {
    position: relative; /* This is necessary for tooltip positioning */
}

.inputColorLabel:hover::before,
.inputColorLabel:hover::after {
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
    transition-delay: 0.3s; /* Add a small delay before showing */
}

.inputColorLabel::before {
    content: attr(data-tooltip); /* Get content from the data-tooltip attribute */
    position: absolute;
    bottom: 150%; /* Position above the element */
    left: 50%;
    transform: translateX(-50%);
    
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    white-space: nowrap;
    
    /* Hide by default */
    display: none;
    opacity: 0;
    z-index: 10;
}

.inputColorLabel::after {
    content: '';
    position: absolute;
    bottom: calc(150% - 10px); /* Position the arrow correctly */
    left: 50%;
    transform: translateX(-50%);

    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent; /* Arrow pointing down */

    /* Hide by default */
    display: none;
    opacity: 0;
    z-index: 10;
}

/* --- Generic Tooltip --- */
.tooltip-container {
    display: flex;
    align-items: center;
    gap: 10px; /* Space between text and icon */
}

.tooltip-icon {
    position: relative;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: bold;
    color: #555;
}

.tooltip-icon:hover::before,
.tooltip-icon:hover::after {
    display: block;
    opacity: 1;
    transition: opacity 0.2s ease-in-out;
    transition-delay: 0.3s;
}

.tooltip-icon::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 14px;
    white-space: pre-wrap; /* Allows multiline tooltips */
    width: 250px; /* Adjust width as needed */
    text-align: center;
    
    display: none;
    opacity: 0;
    z-index: 10;
}

.tooltip-icon::after {
    content: '';
    position: absolute;
    bottom: calc(150% - 10px);
    left: 50%;
    transform: translateX(-50%);
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
    
    display: none;
    opacity: 0;
    z-index: 10;
}


/* Spinner for price loading */
.price-container {
    position: relative;
    min-height: 1.2em; /* Ensure container has height even when empty */
    display: inline-block;
    vertical-align: middle;

}

.price-container.headPrice{
    width: 100%;
}
.price-spinner {
    display: none; /* Hidden by default */
    border: 3px solid #f3f3f3; /* Light grey */
    border-top: 3px solid #3498db; /* Blue */
    border-radius: 50%;
    width: 20px;
    height: 20px;
    animation: spin 1s linear infinite;
    /* Centering inside the container */
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -8px;
    margin-left: -8px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Logic to show/hide based on body class */
body.price-is-loading .price-spinner {
    display: block;
}
body.price-is-loading .affPrix {
    visibility: hidden; /* Hide price text but keep space */
}
/* Styles pour le titre de collection (import�s de home) */
.divTitreCollection {
    margin: 80px 0 10px 0;
    display: flex;
    justify-content: center;
}

h2.NotreCollection {
    font-size: 18px;
    font-weight: normal;
    color: var(--grisTextMH);
}

@media only screen and (max-width: 767px) {
    .divTitreCollection {
        margin: 20px 0;
    }
    h2.NotreCollection {
        margin-bottom: 0px;
        padding: 0px 20px;
        margin-top: 40px;
        text-align: center;
    }
}

/* Style pour la pop-up mobile */
.mobile-pc-popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 10001;
    justify-content: center;
    align-items: center;
}

.mobile-pc-popup-content {
    background-color: white;
    padding: 30px;
    border-radius: 10px;
    width: 85%;
    max-width: 400px;
    text-align: center;
    position: relative;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.mobile-pc-popup-content h3 {
    color: #21C366; /* var(--greenMH) */
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: bold;
}

.mobile-pc-popup-content p {
    font-size: 15px;
    line-height: 1.4;
    margin-bottom: 20px;
    color: #5E5E5E;
}

#close-popup-btn {
    background-color: #21C366;
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 10px;
    font-weight: bold;
    cursor: pointer;
    width: 100%;
}

@media (min-width: 769px) {
    .mobile-pc-popup-overlay {
        display: none !important;
    }
}

/*!*********************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/css/carousel_avis.css ***!
  \*********************************************************************************************************************/
/* Styles pour le carousel d'avis MyHoodies */

.carousel-container {
    position: relative;
    width: 100%;
    margin: 40px 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    background-color: transparent;
    cursor: grab;
    display: block !important;
    min-height: 320px; /* Force une hauteur minimale */
    z-index: 1;
}

.carousel-container::-webkit-scrollbar {
    display: none;
}

.carousel-container {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.carousel {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    padding: 20px 0;
    margin: 0;
    width: auto !important;
    min-width: 100%;
}

.card {
    flex: 0 0 320px !important; /* Largeur fixe forcée */
    width: 320px !important;
    min-width: 320px !important;
    box-sizing: border-box;
    padding: 15px 20px;
    background: #f8f8f8;
    border: 1px solid #eee;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 10px;
    max-height: 250px;
    overflow: hidden;
    transition: max-height 0.4s ease;
    position: relative;
}

/* Étoiles */
.review-stars {
    width: 100px;
    height: auto;
    margin-bottom: 10px;
    object-fit: contain;
}

/* Texte de l'avis */
.review-text {
    font-size: 14px;
    line-height: 1.5;
    color: #5E5E5E;
    margin: 0 0 10px 0 !important;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.card.expanded .review-text {
    display: block;
    -webkit-line-clamp: unset;
}

.card.expanded {
    max-height: 600px;
}

.read-more-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 13px;
    padding: 0;
    margin-bottom: 10px;
    display: none;
    text-decoration: underline;
    color: #0076BA;
}

.card .nom {
    font-weight: 700;
    color: #000;
    margin : auto 0 0 0;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.verified-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    width: 100%;
}

.verified-badge {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

.verified-text {
    font-size: 12px;
    letter-spacing: 0.05rem;
    margin: 0 !important;
    color: #5E5E5E;
}

@media only screen and (max-width: 1024px){
    .card {
        flex: 0 0 280px !important;
        width: 280px !important;
        min-width: 280px !important;
    }
}

@media only screen and (max-width: 767px){
    .carousel-container {
        scroll-snap-type: x mandatory;
    }

    .card {
        scroll-snap-align: center;
        scroll-snap-stop: always;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX2Nzc19EZXRhaWxQcm9kdWl0c19jc3MtYXNzZXRzX2Nzc19jYXJvdXNlbF9hdmlzX2Nzcy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFDSSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixxQkFBcUI7QUFDekI7O0FBRUE7Ozs7Ozs7Ozs7Q0FVQzs7QUFFRDtJQUNJLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0lBQ2IsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFNBQVM7QUFDYjtBQUNBO0lBQ0ksd0JBQXdCO0FBQzVCO0FBQ0E7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFVBQVU7SUFDVixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsTUFBTTtJQUNOLDZDQUE2QztJQUM3QyxtQkFBbUIsRUFBRSxvREFBb0Q7QUFDN0U7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksK0JBQStCO0lBQy9CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFVBQVU7SUFDViwrQkFBK0I7SUFDL0IsZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQixFQUFFLHdDQUF3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QkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixlQUFlO0lBQ2YsZUFBZTtJQUNmLFVBQVU7SUFDVixtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLDJCQUEyQjtJQUMzQixRQUFRO0lBQ1IsV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsdUJBQXVCO0lBQ3ZCLG9CQUFvQjtJQUNwQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0k7UUFDSSwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtJQUMvQjtBQUNKOztBQUVBO0lBQ0k7UUFDSSw2QkFBNkI7SUFDakM7O0lBRUE7UUFDSSx5QkFBeUI7UUFDekIsd0JBQXdCO0lBQzVCO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL0RldGFpbFByb2R1aXRzLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Nhcm91c2VsX2F2aXMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcclxuICAgIC0tZ3JlZW5NSDogIzIxQzM2NjtcclxuICAgIC0tZ3JleU1IOiAjRDVENUQ1O1xyXG4gICAgLS1ibHVlTUg6ICMwMDc2QkE7XHJcbiAgICAtLWdyaXNUZXh0TUg6ICM1RTVFNUU7XHJcbn1cclxuXHJcbi8qXHJcbioge1xyXG4qICAgIG1hcmdpbjogMDtcclxuKiAgICBwYWRkaW5nOiAwO1xyXG4qICAgIGJvcmRlcjogMDtcclxuKiAgICBvdXRsaW5lOiAwO1xyXG4qICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuKiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbip9XHJcbiovXHJcblxyXG5idXR0b257XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG91dGxpbmU6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmJvZHkucHJpY2UtaXMtbG9hZGluZyAqIHtcclxuICAgIGN1cnNvcjogd2FpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5e1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbi5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbnAsIGgxe1xyXG4gICAgY29sb3I6IHZhcigtLWdyaXNUZXh0TUgpO1xyXG59XHJcblxyXG4jTGV0c0dvTGFNYXhpRGl2e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXgtd2lkdGg6IDE2MDBweDtcclxuICAgIG1pbi13aWR0aDogMTAwMHB4O1xyXG59XHJcblxyXG4uZ2FsbGVyeSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIG1hcmdpbjogMCAwIDAgMDtcclxuICAgIHBhZGRpbmc6IDUwcHggMCAwIDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAvKnotaW5kZXg6IDEwMDsgISogRW5zdXJlIGl0IHN0YXlzIG9uIHRvcCAqISovXHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50OyAvKiBBZGp1c3QgaGVpZ2h0IHRvIGNvbnRlbnQgdG8gcHJldmVudCBlbXB0eSBzcGFjZSAqL1xyXG59XHJcblxyXG4uZ2FsbGVyeV9fdGh1bWJuYWlscyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmdhbGxlcnlfX3RodW1ibmFpbCB7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmdhbGxlcnlfX21haW4ge1xyXG4gICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxufVxyXG5cclxuLmdhbGxlcnlfX2ltYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc2VsZWN0ZWRJbWd7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5TUgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9ue1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXlNSCk7XHJcbiAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG59XHJcblxyXG4uZGVzY3JpcHRpb24gLnRpdHJle1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZGVzY3JpcHRpb24gLnRvcGljSGVhZHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogcG91ciBwb3NpdGlvbm5lciBsJ2ltYWdlIGZhY2lsZW1lbnQgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgLyogY2VudHJlIGxlIHRleHRlIGhvcml6b250YWxlbWVudCAqL1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLyogY2VudHJlIHZlcnRpY2FsZW1lbnQgbGUgdGV4dGUgKi9cclxuICAgIG1hcmdpbjogMTZweCAwIDE2cHggMDtcclxuICAgIGN1cnNvciA6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbiAudG9waWNIZWFkIC5mbGVjaGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIC8qcm90YXRlOiA5MGRlZzsqL1xyXG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yIDogI0Q2RDZENjsgKi9cclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHVse1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDsgLyogUmVtb3ZlIHBhZGRpbmcgKi9cclxufVxyXG5cclxuLmNvbnRhY3RsaW5rIGF7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmNvbnRhY3RsaW5rIGE6aG92ZXJ7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdmFyKC0tZ3JlZW5NSCk7XHJcbn1cclxuXHJcbi5tb2RhbENvbnRlbnRTdWNjZXNzRGl2R0RUe1xyXG4gICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XHJcbiAgICBsZWZ0IDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgLyp3aWR0aDogNzAlOyovXHJcbiAgICB3aWR0aDogODUwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcclxuICAgIGhlaWdodDogNzV2aDtcclxuICAgIG92ZXJmbG93OiBhdXRvOyAvKlBlcm1ldCBkZSBzY3JvbGwgc2kgw6ljcmFuIHRyb3AgcGV0aXQqL1xyXG5cclxufVxyXG5cclxuLmJ0bkNsb3NlR0RUe1xyXG4gICAgb3BhY2l0eTogLjM7XHJcbiAgICAvKiBjdXJzb3I6IHBvaW50ZXI7ICovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWFyZ2luOiA3cHggMTBweCAtN3B4IGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5idG5DbG9zZUdEVDpob3ZlcntcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5idG5DbG9zZVR1dG97XHJcbiAgICBvcGFjaXR5OiAuMztcclxuICAgIC8qIGN1cnNvcjogcG9pbnRlcjsgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDdweCAxMHB4IC03cHggYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJ0bkNsb3NlVHV0bzpob3ZlcntcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5idG5PcGVuR0RUe1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0byAxNXB4IGF1dG87XHJcbiAgICBjb2xvcjogdmFyKC0tYmx1ZU1IKTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ibHVlTUgpO1xyXG59XHJcblxyXG5cclxuaDF7XHJcbiAgICBmb250LXNpemU6IDMwcHQ7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luLWJvdHRvbSA6IDE1cHg7XHJcbn1cclxuI3ByaXhUb3RhbCwgI3ByaXhUb3RhbERlZmF1bHR7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGl2VHV0b3tcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmJ0bk9wZW5UdXRve1xyXG4gICAgY29sb3I6IHZhcigtLWdyZWVuTUgpICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYnRuT3BlblR1dG86aG92ZXJ7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAwIDAgdmFyKC0tZ3JlZW5NSCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFpZGV7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3Jpc1RleHRNSCk7XHJcbiAgICBtYXJnaW46IDEycHggMCAxMHB4IDA7XHJcbn1cclxuXHJcbi5jaGVja0JveENvdWxldXI6bm90KCNTYW1lUGVyc29DaGVja2JveCl7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4udGVzdEJkRHRvSnN7XHJcbiAgICBtYXJnaW46IDUwcHggNTBweDtcclxuICAgIHdpZHRoOiA0MCU7XHJcbn1cclxuLmlucHV0Q29sb3JMYWJlbCB7XHJcbiAgICAvKmZsb2F0OiBsZWZ0OyovXHJcbiAgICAvKmRpc3BsYXk6IGZsZXg7Ki9cclxuICAgIC8qYWxpZ24taXRlbXM6IGNlbnRlcjsqL1xyXG4gICAgLypqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsqL1xyXG4gICAgLypsaW5lLWhlaWdodDogMi4wZW07Ki9cclxuICAgIC8qd2lkdGg6IDIuMGVtOyovXHJcbiAgICAvKmhlaWdodDogMS44ZW07Ki9cclxuICAgIC8qbWFyZ2luLXJpZ2h0OiA1cHg7Ki9cclxuICAgIC8qb3ZlcmZsb3c6IGhpZGRlbjsqL1xyXG4gICAgLypib3JkZXItcmFkaXVzOiAxNXB4OyovXHJcbiAgICAvKmJvcmRlciA6IDFweCBzb2xpZCBibHVlOyovXHJcblxyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDEuN2VtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uaW5wdXRDb2xvckxhYmVsIC5pbnB1dENvbG9yU3BhbiB7XHJcbiAgICAvKnRleHQtYWxpZ246IGNlbnRlcjsqL1xyXG4gICAgLyp3aWR0aDogMi4wZW07Ki9cclxuICAgIC8qaGVpZ2h0OiAxLjdlbTsqL1xyXG4gICAgLyohKnBhZGRpbmc6IDVweCAwOyohKi9cclxuICAgIC8qZGlzcGxheTogYmxvY2s7Ki9cclxuICAgIC8qYm9yZGVyLXJhZGl1czogMTVweCA7Ki9cclxuICAgIC8qISpib3JkZXIgOiAxcHggc29saWQgYmxhY2s7KiEqL1xyXG4gICAgLypjdXJzb3I6IHBvaW50ZXI7Ki9cclxuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMi4wZW07IC8qIGFkanVzdCB0aGUgc2l6ZSBvZiB0aGUgc3dhdGNoICovXHJcbiAgICBoZWlnaHQ6IDEuN2VtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIC8qYm9yZGVyOiAxcHggc29saWQgI2NjYzsqL1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uaW5wdXRDb2xvclNwYW46OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xyXG59XHJcbi5jaGVja0JveENvdWxldXI6Y2hlY2tlZCArLmlucHV0Q29sb3JTcGFuIHtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKC0tZ3JlZW5NSCk7XHJcbn1cclxuXHJcblxyXG5cclxuI0NvbG9yTGlzdHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG59XHJcblxyXG4uZGl2U3dpdGNoe1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5zd2l0Y2gge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiAxLjdlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG59XHJcblxyXG4uc3dpdGNoIGlucHV0IHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuLnNsaWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNpdGlvbjogLjRzO1xyXG59XHJcblxyXG4uc2xpZGVyOmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm90dG9tOiA0cHg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiAxLjJlbTtcclxuICAgIGxlZnQ6IDRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb246IC40cztcclxuICAgIHdpZHRoOiAxLjJlbTtcclxufVxyXG5cclxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW5NSCk7XHJcbn1cclxuXHJcbmlucHV0OmNoZWNrZWQgKyAuc2xpZGVyOmJlZm9yZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjNweCk7XHJcbn1cclxuXHJcbi5zbGlkZXIucm91bmQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzRweDtcclxufVxyXG5cclxuLnNsaWRlci5yb3VuZDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG59XHJcblxyXG4uZGl2U3dpdGNoIHNwYW57XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgY29sb3I6IHZhcigtLWdyaXNUZXh0TUgpO1xyXG5cclxufVxyXG5cclxuI3JlY2FwQ291bGV1ckNob2lzaWVzIHtcclxuICAgIC8qYm9yZGVyIDogMnB4IHNvbGlkIGdyZXk7Ki9cclxuICAgIC8qYm9yZGVyLXJhZGl1czogMTBweDsqL1xyXG4gICAgLypoZWlnaHQ6IDYwcHg7Ki9cclxuICAgIC8qbWFyZ2luLXRvcDogMTVweDsqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgdG9wOjFweDtcclxufVxyXG5cclxuI3JlY2FwQ291bGV1ckNob2lzaWVze1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuI3JlY2FwQ291bGV1ckNob2lzaWVzIHAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuI3JlY2FwQ291bGV1ckNob2lzaWVzIGxhYmVsIHNwYW57XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5Db250YWluZXJDb3VsZXVyU2VsZWN0e1xyXG4gICAgLyptYXJnaW4tdG9wOiA5cHg7Ki9cclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTVweCAxNXB4IDE1cHg7XHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgdmFyKC0tZ3JleU1IKTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5Db250YWluZXJDb3VsZXVyU2VsZWN0IC5haWRle1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxufVxyXG5cclxuLmRpdklucHV0VGFpbGxle1xyXG4gICAgbWFyZ2luLXRvcDogMyU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvKm1hcmdpbi1sZWZ0OiAzJTsqL1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZGl2SW5wdXRUYWlsbGUgbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwIDA7XHJcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgYmxhY2s7XHJcbn1cclxuXHJcbi5kaXZUYWlsbGV7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDczcHg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDAgNXB4IDAgNXB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kaXZUYWlsbGUgLnRhaWxsZVVuaXF1ZXtcclxuICAgIHdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGl2VGFpbGxlUGFzdGlsbGV7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDIuMGVtO1xyXG4gICAgaGVpZ2h0OiAxLjdlbTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMCAxMHB4IDBweCA1cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbn1cclxuXHJcblxyXG5cclxuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXHJcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHsvKlJlbW92ZSBBcnJvd3MqL1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbmlucHV0W3R5cGU9bnVtYmVyXSB7XHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgZ3JleTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiA0LjBlbTtcclxuICAgIGhlaWdodDogMS41ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMTBweCAxMHB4O1xyXG59XHJcblxyXG4vKlN0eWxpc2F0aW9uIGRlcyBib3V0b25zIGRlIG1hcnF1YWdlICovXHJcbi50ZWNobmlxdWVEZU1hcnF1YWdlIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAzJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZSwgLm1hcnF1YWdlQ2JveGUtaW5kaXNwb3tcclxuICAgIG1hcmdpbjogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgLypvdmVyZmxvdzogaGlkZGVuOyovXHJcbn1cclxuXHJcblxyXG4ubWFycXVhZ2VDYm94ZSBsYWJlbCwgLm1hcnF1YWdlQ2JveGUtaW5kaXNwbyBsYWJlbCB7XHJcblxyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMi4wZW07XHJcbiAgICB3aWR0aDogMTAuMGVtO1xyXG4gICAgaGVpZ2h0OiAyLjBlbTtcclxuICAgIC8qY3Vyc29yOiBwb2ludGVyOyovXHJcbn1cclxuXHJcbi5tYXJxdWFnZUNib3hlLWluZGlzcG8gbGFiZWx7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi5tYXJxdWFnZUNib3hlIHNwYW57XHJcbiAgICBwYWRkaW5nOiAzcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkICNBQkIyQkI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZS1pbmRpc3BvIHNwYW57XHJcbiAgICBwYWRkaW5nOiAzcHggMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmV5TUgpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgI0FCQjJCQjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbn1cclxuXHJcbi5tYXJxdWFnZUNib3hlLWluZGlzcG8gLnNwYW5TZXJpZ0luZGlzcG97XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IHNtYWxsO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm90dG9tOiA1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxufVxyXG5cclxuXHJcbi5tYXJxdWFnZUNib3hlIHNwYW46aG92ZXJ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIC8qYmFja2dyb3VuZC1jb2xvcjogcmdiKDMzLCAxOTUsIDEwMiwwLjA1KTsqL1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZSBsYWJlbCBpbnB1dCwgLm1hcnF1YWdlQ2JveGUtaW5kaXNwbyBsYWJlbCBpbnB1dCB7XHJcbiAgICBkaXNwbGF5IDogbm9uZTtcclxuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5tYXJxdWFnZUNib3hlIGlucHV0OmNoZWNrZWQgKyBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuTUgpO1xyXG4gICAgY29sb3IgOiB3aGl0ZTtcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCB3aGl0ZTtcclxufVxyXG4vKiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8qL1xyXG5cclxuXHJcblxyXG5cclxuLnBlcnNvWm9uZSwgLnBlcnNvWm9uZUdEVCB7XHJcbiAgICBkaXNwbGF5OiBub25lOyAvKiBIaWRkZW4gYnkgZGVmYXVsdCAqL1xyXG4gICAgcG9zaXRpb246IGZpeGVkOyAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiAxMDAwOyAvKiBTaXQgb24gdG9wICovXHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgLyogTG9jYXRpb24gb2YgdGhlIGJveCAqL1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoICovXHJcbiAgICBoZWlnaHQ6IDEwMCU7IC8qIEZ1bGwgaGVpZ2h0ICovXHJcbiAgICBvdmVyZmxvdzogIGhpZGRlbjsgLyogRW5hYmxlIHNjcm9sbCBpZiBuZWVkZWQgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC40KTsgLyogQmxhY2sgdy8gb3BhY2l0eSAqL1xyXG59XHJcblxyXG4ucGVyc29ab25lLCAucGVyc29ab25lVHV0byB7XHJcbiAgICBkaXNwbGF5OiBub25lOyAvKiBIaWRkZW4gYnkgZGVmYXVsdCAqL1xyXG4gICAgcG9zaXRpb246IGZpeGVkOyAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiAxMDAwOyAvKiBTaXQgb24gdG9wICovXHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgLyogTG9jYXRpb24gb2YgdGhlIGJveCAqL1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlOyAvKiBGdWxsIHdpZHRoICovXHJcbiAgICBoZWlnaHQ6IDEwMCU7IC8qIEZ1bGwgaGVpZ2h0ICovXHJcbiAgICBvdmVyZmxvdzogIGhpZGRlbjsgLyogRW5hYmxlIHNjcm9sbCBpZiBuZWVkZWQgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC40KTsgLyogQmxhY2sgdy8gb3BhY2l0eSAqL1xyXG59XHJcblxyXG4ucGVyc29ab25lVHV0byBpbWd7XHJcbiAgICB3aWR0aDogNTAlO1xyXG59XHJcblxyXG4vKi5wZXJzb1pvbmUgaW5wdXRbdHlwZT1maWxlXSB7Ki9cclxuLyogICAgZGlzcGxheTogbm9uZTsqL1xyXG4vKn0qL1xyXG5cclxuLyouVGFpbGxleyovXHJcbi8qICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsqL1xyXG4vKiAgICB3aWR0aDogMTAwJTsqL1xyXG4vKiAgICBib3JkZXI6IDFweCBzb2xpZCBkaW1ncmV5OyovXHJcbi8qICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7Ki9cclxuLyp9Ki9cclxuXHJcbi8qLmFmZlByaXggeyovXHJcbi8qICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7Ki9cclxuLyogICAgd2lkdGg6IDEwMCU7Ki9cclxuLyogICAgaGVpZ2h0OiAzJTsqL1xyXG4vKiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ki9cclxuLyogICAgbWFyZ2luIDogNyUgMzAlOyovXHJcbi8qICAgIHBhZGRpbmctdG9wOiAzJTsqL1xyXG4vKiAgICBwYWRkaW5nLWJvdHRvbTogMyU7Ki9cclxuLyogICAgYm9yZGVyIDogMXB4IHNvbGlkIHJlZDsqL1xyXG4vKiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Ki9cclxuLyp9Ki9cclxuXHJcbi5Qcml4VGFpbGxle1xyXG4gICAgZGlzcGxheSA6IGdyaWQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAlIDUwJSAzMCUgMTAlO1xyXG4gICAgLypncmlkLXRlbXBsYXRlLXJvd3M6IDIwJSAyMCUgMTAlIDI4JSAyNyU7Ki9cclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMzBweCAzNXB4IDE1cHggNjBweDtcclxuICAgIC8qZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNXB4LCAxMCUpIG1pbm1heCgxMDBweCwgNTAlKSBtaW5tYXgoNjBweCwgMzAlKSBtaW5tYXgoNXB4LCAxMCUpOyovXHJcbiAgICAvKmdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDIwcHgsIDIwJSkgbWlubWF4KDIwcHgsIDIwJSkgbWlubWF4KDIwcHgsIDEwJSkgbWlubWF4KDQwcHgsIDI4JSkgbWlubWF4KDEwMHB4LCAyNyUpOyovXHJcbiAgICAvKmJvcmRlciA6IDFweCBzb2xpZCByZWQ7Ki9cclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gICAgZ3JpZC1hdXRvLXJvd3M6IG1pbm1heCgyMHB4LCAxZnIpO1xyXG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgyMHB4LCAxZnIpO1xyXG59XHJcblxyXG4jZGl2UHJpeHtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICAvKmp1c3RpZnktc2VsZjogc3RyZXRjaDsqL1xyXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XHJcbiAgICBncmlkLWNvbHVtbi1lbmQ6IDM7XHJcbiAgICBncmlkLXJvdy1zdGFydDogMjtcclxuICAgIGdyaWQtcm93LWVuZDogMztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZXlNSCk7XHJcbiAgICAvKmFsaWduLXNlbGY6IGNlbnRlcjsqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbi5hZmZQcml4MntcclxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xyXG4gICAgZ3JpZC1jb2x1bW4tZW5kOiA0O1xyXG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XHJcbiAgICBncmlkLXJvdy1lbmQ6IDM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmV5TUgpO1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XHJcblxyXG59XHJcblxyXG4uYWZmUHJpeHtcclxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xyXG4gICAgZ3JpZC1jb2x1bW4tZW5kOiA0O1xyXG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XHJcbiAgICBncmlkLXJvdy1lbmQ6IDM7XHJcbiAgICAvKmJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZXlNSCk7Ki9cclxuICAgIC8qYWxpZ24tc2VsZjogY2VudGVyOyovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4jZGl2VGFpbGxle1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcclxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xyXG4gICAgZ3JpZC1jb2x1bW4tZW5kOiAyO1xyXG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDQ7XHJcbiAgICAvKmdyaWQtcm93LWVuZDogZW5kOyovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmV5TUgpO1xyXG4gICAgLyphbGlnbi1zZWxmOiBjZW50ZXI7Ki9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG59XHJcbi5hZmZUYWlsbGV7XHJcbiAgICB3aWR0aDogMzUlO1xyXG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDM7XHJcbiAgICBncmlkLWNvbHVtbi1lbmQ6IDM7XHJcbiAgICBncmlkLXJvdy1zdGFydDogNDtcclxuICAgIC8qZ3JpZC1yb3ctZW5kOiBlbmQ7Ki9cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZXlNSCk7XHJcbiAgICAvKmFsaWduLXNlbGY6IGNlbnRlcjsqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTBweCAxMHB4IDA7XHJcbn1cclxuXHJcbi5kaXZCdXR0b257XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcclxufVxyXG4ubW9kYWxDb250ZW50e1xyXG4gICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXkgOiBmbGV4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICAgIGxlZnQgOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAvKndpZHRoOiA3MCU7Ki9cclxuICAgIC8qd2lkdGg6IDEwNzBweDsqL1xyXG4gICAgd2lkdGg6IDEwMDBweDtcclxuICAgIG1heC13aWR0aDogMTEwMHB4O1xyXG4gICAgLypoZWlnaHQ6IDkwdmg7Ki9cclxuICAgIGhlaWdodDogNjMwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxufVxyXG4uY2xvc2U6aG92ZXIsXHJcbi5jbG9zZTpmb2N1cyB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLlRlc3RLb252YSB7XHJcbiAgICBvdmVyZmxvdzogY2xpcDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXlNSCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgd2lkdGg6IDY4MHB4O1xyXG4gICAgLypoZWlnaHQ6IDYzMHB4OyovXHJcbiAgICBoZWlnaHQ6IDU5MHB4O1xyXG4gICAgLyogbWFyZ2luLWxlZnQ6IDYlOyAqL1xyXG59XHJcblxyXG4uSW5mb0J1dHRvbnN7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvKmhlaWdodDogNjMwcHg7Ki9cclxuICAgIGhlaWdodDogNTkwcHg7XHJcblxyXG59XHJcblxyXG4uZGl2QWlkZVBlcnNve1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMzLDE5NSwxMDIsMC4xMCk7XHJcbn1cclxuXHJcbi5kaXZBaWRlUGVyc28uYmFuZGVhdXtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbn1cclxuXHJcbi5kaXZBaWRlUGVyc28gcCB7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi5kaXZBaWRlUGVyc28gLnN0cm9uZ3tcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5kaXZBaWRlUGVyc28gLnNtYWxsZXJ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi8qYnV0dG9uIHsqL1xyXG4vKiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyovXHJcbi8qfSovXHJcblxyXG5cclxuLmNoYW5nZUJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5jaGFuZ2VCdXR0b25MYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWJsdWVNSCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLyp0b3A6IDQ1JTsqL1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgLyp3aWR0aDogODUlOyovXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuLmNoYW5nZUJ1dHRvbkxhYmVsOmhvdmVye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2hhbmdlQnV0dG9uTGFiZWwgPiBzcGFue1xyXG4gICAgLypib3JkZXI6IDJweCBzb2xpZCBibHVlOyovXHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAyOCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDcwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogdmFyKC0tYmx1ZU1IKTtcclxufVxyXG5cclxuLnNhdmVCdXR0b257XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXIgOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgLyp0b3A6IDI4JTsqL1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcclxuICAgIC8qd2lkdGg6IDg3JTsqL1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8qZm9udC1zaXplOiAxNHB4OyovXHJcbn1cclxuXHJcbi5zYXZlQnV0dG9uOmhvdmVye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlYjA1YztcclxufVxyXG5cclxuLmNhbmNlbHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlciA6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIC8qdG9wOiAxMSU7Ki9cclxuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XHJcbiAgICAvKndpZHRoOiA4NyU7Ki9cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC8qZm9udC1zaXplOiAxNHB4OyovXHJcbn1cclxuLmNhbmNlbDpob3ZlcntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLypAbWVkaWEgIChtYXgtd2lkdGg6IDEwMDBweCl7Ki9cclxuLyogICAgLmRpdlBvc2l0aW9ueyovXHJcbi8qICAgICAgICBkaXNwbGF5OiBmbGV4OyovXHJcbi8qICAgICAgICBmbGV4LXdyYXA6IHdyYXA7Ki9cclxuLyogICAgICAgIGhlaWdodDogMjQwcHg7Ki9cclxuLyogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyovXHJcbi8qICAgICAgICBtYXJnaW4tdG9wOiAzJTsqL1xyXG4vKiAgICAgICAgcGFkZGluZy1ib3R0b206IDUlOyovXHJcbi8qICAgIH0qL1xyXG4vKn0qL1xyXG4uZGl2UG9zaXRpb257XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLypoZWlnaHQ6IDMyMHB4OyovXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDMlO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDUlO1xyXG4gICAgLyphc3BlY3QtcmF0aW86IDUvMzsqL1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uZGl2UG9zaXRpb24gLmFpZGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcbi5jYXR7XHJcbiAgICBkaXNwbGF5IDogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGggOiAyNSU7XHJcbiAgICAvKmhlaWdodDogNDUlOyovXHJcbiAgICAvKmhlaWdodCA6IDE4MHB4OyovXHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLWdyZXlNSCk7XHJcbiAgICBtYXJnaW4gOiAxMHB4IDhweCAxMHB4IDhweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xyXG4gICAgYXNwZWN0LXJhdGlvOiA5MC8xMDA7XHJcbn1cclxuLmNhdDpob3ZlcntcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZWVuTUgpO1xyXG59XHJcblxyXG4uY2F0IGlucHV0W3R5cGU9XCJmaWxlXCJde1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNhdCAuYnV0dG9uTGFiZWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XHJcbiAgICB3aWR0aCA6IDcwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmcgOiAxMHB4IDEwcHggMTBweCAxMHB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0IDogNTAlO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDogdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICBib3JkZXItcmFkaXVzIDogMTVweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBjb2xvciA6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgYm94LXNoYWRvdzogMC4xcmVtIDAuMXJlbSAwLjJlbSByZ2JhKDAsMCwwLDAuMSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjFzO1xyXG59XHJcblxyXG4uY2F0IC5idXR0b25MYWJlbDpob3ZlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZWIwNWM7XHJcbn1cclxuLmNhdCAuY29sb3JMYWJlbCB7XHJcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAvKmxpbmUtaGVpZ2h0OiAzLjBlbTsqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG5cclxuLyouY2F0IGJ1dHRvbiB7Ki9cclxuLyogICAgISpib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1ncmVlbk1IKTsqISovXHJcbi8qICAgIGRpc3BsYXk6IGlubGluZTsqL1xyXG4vKiAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ki9cclxuLyogICAgd2lkdGg6IDIwJTsqL1xyXG4vKiAgICBoZWlnaHQ6IDIwJTsqL1xyXG4vKiAgICBib3R0b206IDUlOyovXHJcbi8qfSovXHJcblxyXG4ubW9kQnV0dG9ue1xyXG4gICAgLypkaXNwbGF5OiBpbmxpbmU7Ki9cclxuICAgIC8qcG9zaXRpb246IGFic29sdXRlOyovXHJcbiAgICAvKndpZHRoOiAyMCU7Ki9cclxuICAgIC8qaGVpZ2h0OiAyMCU7Ki9cclxuICAgIC8qYm90dG9tOiA1JTsqL1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XHJcbn1cclxuLm1vZEJ1dHRvbjpob3ZlcntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxufVxyXG5cclxuXHJcbi5jbGVhckJ1dHRvbntcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG59XHJcblxyXG4uY2xlYXJCdXR0b246aG92ZXJ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuXHJcblxyXG5cclxuLmNhdCBsYWJlbCBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcCA6IDg0JTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjNUU1RTVFO1xyXG59XHJcblxyXG4uY2F0IGxhYmVsIGlucHV0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXkgOiBub25lO1xyXG4gICAgd2lkdGggOiAxMDAlO1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuLmNhdCBsYWJlbDpob3ZlcntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmJ1dHRvbjpob3ZlcntcclxuICAgIGJveC1zaGFkb3c6IDJweCAycHggdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jYXQgaW1nIHtcclxuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XHJcbiAgICB3aWR0aCA6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB6LWluZGV4OiBhdXRvO1xyXG59XHJcblxyXG4uY2F0IC5taW5pYXR1cmVVcGxkSW1nIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIGhlaWdodDogNzAlO1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywxOTUsMTAyLDAuMTApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkIHZhcigtLWdyZWVuTUgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLmF0Yy13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4jc2F2ZVRvQ2FydHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGhlaWdodDogNSU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC8qdHJhbnNpdGlvbjogLjJzIGVhc2U7Ki9cclxuICAgIC8qZm9udC1zaXplOiBsYXJnZXI7Ki9cclxufVxyXG5cclxuI3NhdmVUb0NhcnQuYnRuLWdyYXllZCB7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4jc2F2ZVRvQ2FydFRvb2x0aXAge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogY2FsYygxMDAlICsgOHB4KTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGM0NEO1xyXG4gICAgY29sb3I6ICM4NTY0MDQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZFQUE3O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG4jc2F2ZVRvQ2FydFRvb2x0aXA6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYm9yZGVyLXdpZHRoOiA2cHg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjRkZFQUE3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4jc2F2ZVRvQ2FydFRvb2x0aXAudmlzaWJsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuI3NhdmVUb0NhcnQ6aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWViMDVjO1xyXG59XHJcblxyXG4ubW9kYWxDb250ZW50U3VjY2Vzc0RpdntcclxuXHJcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gICAgZGlzcGxheSA6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgbGVmdCA6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBoZWlnaHQ6IDYwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG5cclxuXHJcbi5tb2RhbENvbnRlbnRTdWNjZXNzRGl2IHB7XHJcbiAgICBmb250LXNpemU6IHh4LWxhcmdlO1xyXG4gICAgbWFyZ2luOiAyMCUgMCAxNSUgMDtcclxufVxyXG5cclxuLyoubW9kYWxDb250ZW50U3VjY2Vzc0RpdiBidXR0b257Ki9cclxuLyogICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW5NSCk7Ki9cclxuLyogICAgYm9yZGVyOiBub25lOyovXHJcbi8qICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZ3JlZW5NSCk7Ki9cclxuLyogICAgY29sb3I6ICNmZWZlZmU7Ki9cclxuLyogICAgZm9udC1zaXplOiBsYXJnZTsqL1xyXG4vKiAgICBoZWlnaHQ6IDEwJTsqL1xyXG4vKiAgICB3aWR0aDogMzAlOyovXHJcbi8qICAgIG1hcmdpbi1ib3R0b206IDIlOyovXHJcbi8qICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7Ki9cclxuLyogICAgY3Vyc29yOiBwb2ludGVyOyovXHJcbi8qfSovXHJcblxyXG4jZ29Ub0NhcnR7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAyJSAxMCU7XHJcbiAgICBmb250LXNpemU6IGxhcmdlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuTUgpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xyXG4gICAgbWFyZ2luLWJvdHRvbSA6IDIlO1xyXG59XHJcblxyXG4jZ29Ub0NhcnQ6aG92ZXJ7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWViMDVjO1xyXG59XHJcblxyXG4jbG9hZGluZ0FkZFRvQ2FydHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgaGVpZ2h0OiA1JTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuTUgpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLyp0cmFuc2l0aW9uOiAuMnMgZWFzZTsqL1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5sb2FkZXIge1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tZ3JleU1IKTsgLyogTGlnaHQgZ3JleSAqL1xyXG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWdyaXNUZXh0TUgpOyAvKiBCbHVlICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcblxyXG5cclxuLyogcmVzcCAqL1xyXG4uUHJpeFRhaWxsZXtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtd3JhcDp3cmFwO1xyXG4gICAgY29sdW1uLWdhcDowcHg7XHJcbiAgICByb3ctZ2FwOjIwcHghaW1wb3J0YW50O1xyXG59XHJcbi5kaXZCdXR0b24ge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgbWFyZ2luLXRvcDogYXV0bztcclxufVxyXG4uUHJpeFRhaWxsZSA+IGRpdntcclxuICAgIHBhZGRpbmc6IDEwcHghaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG4vKi5Qcml4VGFpbGxlID4gZGl2Om50aC1jaGlsZChvZGQpeyovXHJcbi8qICAgIHdpZHRoOjY1JSovXHJcbi8qfSovXHJcbi8qLlByaXhUYWlsbGUgPiBkaXY6bnRoLWNoaWxkKGV2ZW4peyovXHJcbi8qICAgIHdpZHRoOjM1JTsqL1xyXG4vKn0qL1xyXG4uSW5mb0J1dHRvbnN7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuLmRpdkJ1dHRvbiBsYWJlbCAsXHJcbi5kaXZCdXR0b24gYnV0dG9uIHtcclxuICAgIG1hcmdpbjowcHg7XHJcbn1cclxuLmRpdkJ1dHRvbiBidXR0b24ge1xyXG4gICAgbWFyZ2luOjE1cHggMHB4IDBweCAwcHghaW1wb3J0YW50O1xyXG59XHJcbi5kaXZJbnB1dFRhaWxsZSB7XHJcbiAgICAvKmRpc3BsYXk6IGZsZXg7Ki9cclxuICAgIC8qZ2FwOiAyMHB4OyovXHJcbn1cclxuXHJcbi5kaXZJbnB1dFRhaWxsZSA+IGRpdjpub3QoLmRpdlRhaWxsZVBhc3RpbGUpIHtcclxuICAgIC8qd2lkdGg6IGNhbGMoMTclIC0gMjBweCk7Ki9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvKndpZHRoOiBjYWxjKDI1JSAvIDIpOyovXHJcbiAgICBtYXJnaW46IDBweCA1cHggMHB4IDVweDtcclxufVxyXG5cclxuLmRpdklucHV0VGFpbGxlID4gZGl2IGlucHV0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubW9kYWxDb250ZW50U3VjY2Vzc0RpdiBwOmZpcnN0LWNoaWxkIHtcclxuICAgIGZvbnQtc2l6ZTogMjVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbn1cclxuZGl2I2FkZFRvQ2FydFN1Y2Nlc3NEaXYgLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgbWluLWhlaWdodDogMjQwcHg7XHJcbiAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcbmEjZ29Ub0NhcnR7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgIHdpZHRoOjUwJTtcclxuICAgIHBhZGRpbmc6MTBweCAzMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czo1cHg7XHJcbn1cclxuXHJcbiNjb250aW51ZVNob3BwaW5ne1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xyXG59XHJcblxyXG4jY29udGludWVTaG9wcGluZzpob3ZlcntcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbi5kZXNjcmlwdGlvbiB7XHJcblxyXG4gICAgbWFyZ2luOiAwcHggYXV0byA1MHB4IGF1dG87XHJcbn1cclxuLkd1aWRlRGVzVGFpbGxlcy5tb2RhbENvbnRlbnRTdWNjZXNzRGl2R0RUIHtcclxuICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5hI2dvVG9DYXJ0OmhvdmVyIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkhaW1wb3J0YW50O1xyXG59XHJcbmRpdiNhZGRUb0NhcnRTdWNjZXNzRGl2IC5tb2RhbENvbnRlbnRTdWNjZXNzRGl2IHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbn1cclxuXHJcbi5kaXZWaWRle1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCl7XHJcbiAgICAuZ2FsbGVyeXtcclxuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQwMHB4KSBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuICAgIC5kaXZJbnB1dFRhaWxsZSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgZ2FwOiAxMHB4IDA7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzY2cHgpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG4gICAgLmdhbGxlcnlfX21haW4ge1xyXG4gICAgICAgIHdpZHRoOiAzOTFweDtcclxuICAgICAgICBoZWlnaHQ6IDM5MXB4O1xyXG4gICAgfVxyXG4gICAgLm1vZGFsQ29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMTBweDtcclxuXHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpe1xyXG4gICAgZGl2I2FkZFRvQ2FydFN1Y2Nlc3NEaXYgLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXYge1xyXG4gICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xyXG4gICAgICAgIG1hcmdpbjogMHB4IGF1dG8gNTBweCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLlRlc3RLb252YSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC8qIC5UZXN0S29udmE6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICB3aWR0aDogMWVtO1xyXG4gICAgfVxyXG4gICAgLlRlc3RLb252YTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgICB9XHJcbiAgICAuVGVzdEtvbnZhOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMWMzNjY7XHJcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAjMjFjMzY2XHQ7XHJcbiAgICB9XHJcbiAgICAua29udmFqcy1jb250ZW50OmJlZm9yZSwgLmtvbnZhanMtY29udGVudDphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJ1N3aXBlIHRvIHNjcm9sbCc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgYm90dG9tOiAtMjBweDtcclxuICAgIH1cclxuICAgIC5rb252YWpzLWNvbnRlbnQ6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiBpbml0YWxcdDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgIH1cclxuICAgICovXHJcbiAgICBidXR0b24jc2F2ZVRvQ2FydHtcclxuICAgICAgICBwYWRkaW5nOjE1cHggMzBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czoxMHB4O1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb257XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6MS40O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZWNobmlxdWVEZU1hcnF1YWdle1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDc1JSArIDMycHgpO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC5tYXJxdWFnZUNib3hlLCAubWFycXVhZ2VDYm94ZS1pbmRpc3Bve1xyXG4gICAgICAgIHdpZHRoOjQ4JTtcclxuICAgICAgICBtYXJnaW46MHB4O1xyXG4gICAgfVxyXG4gICAgLm1hcnF1YWdlQ2JveGUgc3BhbiAsIC5tYXJxdWFnZUNib3hlLWluZGlzcG8gc3BhbntcclxuICAgICAgICBoZWlnaHQ6NTBweDtcclxuICAgICAgICBwYWRkaW5nOjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLm1hcnF1YWdlQ2JveGUgc3BhbiB7XHJcbiAgICAgICAgaGVpZ2h0OjUwcHg7XHJcbiAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6Q2VudGVyO1xyXG4gICAgfVxyXG4gICAgLm1hcnF1YWdlQ2JveGUgbGFiZWwsIC5tYXJxdWFnZUNib3hlLWluZGlzcG8gbGFiZWx7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgfVxyXG4gICAgZGl2I0xldHNHb0xhTWF4aURpdntcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDUwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICB9XHJcbiAgICAuZGl2I0xldHNHb0xhTWF4aURpdntcclxuICAgICAgICBmbGV4LXdyYXA6d3JhcDtcclxuICAgIH1cclxuICAgIC5nYWxsZXJ5ICwgLnRlc3RCZER0b0pzICwgLmRlc2NyaXB0aW9ue1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICB9XHJcbiAgICAudGVzdEJkRHRvSnMgaDF7XHJcbiAgICAgICAgbWFyZ2luLXRvcDowcHg7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeV9fdGh1bWJuYWlsc3tcclxuICAgICAgICB3aWR0aDoyMCU7XHJcbiAgICAgICAgbWFyZ2luOjBweDtcclxuICAgIH1cclxuICAgIC5nYWxsZXJ5X19tYWlue1xyXG4gICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgbWFyZ2luOjBweDtcclxuICAgICAgICBoZWlnaHQ6IHVuc2V0IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5tb2RhbENvbnRlbnR7XHJcbiAgICAgICAgLyp3aWR0aDoxMDAlOyovXHJcbiAgICAgICAgbWluLXdpZHRoOnVuc2V0O1xyXG4gICAgICAgIC8qbWF4LXdpZHRoOiAxMDAlOyovXHJcbiAgICAgICAgcGFkZGluZzoyMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIGZsZXgtd3JhcDp3cmFwO1xyXG4gICAgICAgIC8qd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyovXHJcbiAgICAgICAgd2lkdGg6NzEwcHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgIH1cclxuICAgIC5rb252YWpzLWNvbnRlbnR7XHJcbiAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICB9XHJcbiAgICAuZGl2QnV0dG9ue1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLkluZm9CdXR0b25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjMwcHg7XHJcbiAgICAgICAgaGVpZ2h0OnVuc2V0IWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICAgIH1cclxuICAgIC5kaXZCdXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MjBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuZGl2QnV0dG9uIGxhYmVsICxcclxuICAgIC5kaXZCdXR0b24gYnV0dG9ue1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcbiAgICBpbWcuaW1nU3dlYXQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLkd1aWRlRGVzVGFpbGxlcy5tb2RhbENvbnRlbnRTdWNjZXNzRGl2R0RUIHtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuR3VpZGVEZXNUYWlsbGVzLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXZHRFQgaDIge1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgfVxyXG4gICAgI2xvYWRpbmdBZGRUb0NhcnR7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBwYWRkaW5nOjE1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czo3cHg7XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkzNHB4KXtcclxuICAgIC5nYWxsZXJ5X190aHVtYm5haWwge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcclxuICAgIH1cclxuXHJcbiAgICAjTGV0c0dvTGFNYXhpRGl2e1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbENvbnRlbnR7XHJcbiAgICAgICAgd2lkdGg6Y2FsYygxMDAlIC0gNDBweCk7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLlRlc3RLb252YSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuSW5mb0J1dHRvbnN7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuZGl2QWlkZVBlcnNve1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLlByaXhUYWlsbGV7XHJcbiAgICAgICAgcm93LWdhcDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpdkJ1dHRvbntcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBnYXA6NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuZGl2QnV0dG9uIGJ1dHRvbntcclxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmdhbGxlcnlfX3RodW1ibmFpbHN7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246cm93O1xyXG4gICAgICAgIG92ZXJmbG93OmF1dG87XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3JkZXI6MjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjIwcHg7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeV9fdGh1bWJuYWlsczo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIHdpZHRoOiA3cHg7XHJcbiAgICAgICAgaGVpZ2h0OjdweDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBUcmFjayAqL1xyXG4gICAgLmdhbGxlcnlfX3RodW1ibmFpbHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEhhbmRsZSAqL1xyXG4gICAgLmdhbGxlcnlfX3RodW1ibmFpbHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMjFjMzY2O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIEhhbmRsZSBvbiBob3ZlciAqL1xyXG4gICAgLmdhbGxlcnlfX3RodW1ibmFpbHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMjFjMzY2O1xyXG4gICAgfVxyXG4gICAgaDF7XHJcbiAgICAgICAgZm9udC1zaXplOjMwcHg7XHJcbiAgICB9XHJcbiAgICAuZ2FsbGVyeV9fbWFpbntcclxuICAgICAgICBvcmRlcjoxO1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb257XHJcbiAgICAgICAgb3JkZXI6MztcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnRlY2huaXF1ZURlTWFycXVhZ2V7XHJcbiAgICAgICAgZmxleC13cmFwOndyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMzBweCBhdXRvO1xyXG4gICAgICAgIGdhcDoxNXB4O1xyXG4gICAgfVxyXG4gICAgLkNvbnRhaW5lckNvdWxldXJTZWxlY3R7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC50ZWNobmlxdWVEZU1hcnF1YWdlID4gZGl2e1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpdklucHV0VGFpbGxlIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaXZJbnB1dFRhaWxsZS5mcm9tLWNyZWF0ZS10YWJsZWF1IHtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgIH1cclxuICAgIC5kaXZJbnB1dFRhaWxsZSA+IC50YWlsbGVzLWdyaWQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBnYXA6IDEwcHggNXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kaXZUYWlsbGUge1xyXG4gICAgICAgIG1pbi13aWR0aDogNzBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgLyp3aWR0aDogODBweCAhaW1wb3J0YW50OyovXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kaXZUYWlsbGUgLnRhaWxsZVVuaXF1ZXtcclxuICAgICAgICB3aWR0aDogMTEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuY2F0e1xyXG5cclxuICAgICAgICB3aWR0aDpjYWxjKDUwJSAtIDEwcHgpO1xyXG4gICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICB9XHJcbiAgICAuZGl2UG9zaXRpb257XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOjIwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcclxuICAgIH1cclxuICAgIC5jYXQgLmJ1dHRvbkxhYmVse1xyXG4gICAgICAgIHdpZHRoOjkwJTtcclxuICAgICAgICBwYWRkaW5nOjEwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXZ7XHJcbiAgICAgICAgd2lkdGg6OTAlO1xyXG4gICAgICAgIG1heC13aWR0aDo5MCU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8qIC0tLSBUb29sdGlwIGZvciBDb2xvciBTd2F0Y2hlcyAtLS0gKi9cclxuLmlucHV0Q29sb3JMYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciB0b29sdGlwIHBvc2l0aW9uaW5nICovXHJcbn1cclxuXHJcbi5pbnB1dENvbG9yTGFiZWw6aG92ZXI6OmJlZm9yZSxcclxuLmlucHV0Q29sb3JMYWJlbDpob3Zlcjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4zczsgLyogQWRkIGEgc21hbGwgZGVsYXkgYmVmb3JlIHNob3dpbmcgKi9cclxufVxyXG5cclxuLmlucHV0Q29sb3JMYWJlbDo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10b29sdGlwKTsgLyogR2V0IGNvbnRlbnQgZnJvbSB0aGUgZGF0YS10b29sdGlwIGF0dHJpYnV0ZSAqL1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAxNTAlOyAvKiBQb3NpdGlvbiBhYm92ZSB0aGUgZWxlbWVudCAqL1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBcclxuICAgIC8qIEhpZGUgYnkgZGVmYXVsdCAqL1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLmlucHV0Q29sb3JMYWJlbDo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IGNhbGMoMTUwJSAtIDEwcHgpOyAvKiBQb3NpdGlvbiB0aGUgYXJyb3cgY29ycmVjdGx5ICovXHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcblxyXG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyAvKiBBcnJvdyBwb2ludGluZyBkb3duICovXHJcblxyXG4gICAgLyogSGlkZSBieSBkZWZhdWx0ICovXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4vKiAtLS0gR2VuZXJpYyBUb29sdGlwIC0tLSAqL1xyXG4udG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDEwcHg7IC8qIFNwYWNlIGJldHdlZW4gdGV4dCBhbmQgaWNvbiAqL1xyXG59XHJcblxyXG4udG9vbHRpcC1pY29uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzU1NTtcclxufVxyXG5cclxuLnRvb2x0aXAtaWNvbjpob3Zlcjo6YmVmb3JlLFxyXG4udG9vbHRpcC1pY29uOmhvdmVyOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzO1xyXG59XHJcblxyXG4udG9vbHRpcC1pY29uOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAxNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7IC8qIEFsbG93cyBtdWx0aWxpbmUgdG9vbHRpcHMgKi9cclxuICAgIHdpZHRoOiAyNTBweDsgLyogQWRqdXN0IHdpZHRoIGFzIG5lZWRlZCAqL1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4udG9vbHRpcC1pY29uOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogY2FsYygxNTAlIC0gMTBweCk7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBib3JkZXItd2lkdGg6IDVweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICBcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcblxyXG4vKiBTcGlubmVyIGZvciBwcmljZSBsb2FkaW5nICovXHJcbi5wcmljZS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWluLWhlaWdodDogMS4yZW07IC8qIEVuc3VyZSBjb250YWluZXIgaGFzIGhlaWdodCBldmVuIHdoZW4gZW1wdHkgKi9cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG59XHJcblxyXG4ucHJpY2UtY29udGFpbmVyLmhlYWRQcmljZXtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5wcmljZS1zcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7IC8qIEhpZGRlbiBieSBkZWZhdWx0ICovXHJcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZjNmM2YzOyAvKiBMaWdodCBncmV5ICovXHJcbiAgICBib3JkZXItdG9wOiAzcHggc29saWQgIzM0OThkYjsgLyogQmx1ZSAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgLyogQ2VudGVyaW5nIGluc2lkZSB0aGUgY29udGFpbmVyICovXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLThweDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzcGluIHtcclxuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuXHJcbi8qIExvZ2ljIHRvIHNob3cvaGlkZSBiYXNlZCBvbiBib2R5IGNsYXNzICovXHJcbmJvZHkucHJpY2UtaXMtbG9hZGluZyAucHJpY2Utc3Bpbm5lciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5ib2R5LnByaWNlLWlzLWxvYWRpbmcgLmFmZlByaXgge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyAvKiBIaWRlIHByaWNlIHRleHQgYnV0IGtlZXAgc3BhY2UgKi9cclxufVxyXG4vKiBTdHlsZXMgcG91ciBsZSB0aXRyZSBkZSBjb2xsZWN0aW9uIChpbXBvcnTvv71zIGRlIGhvbWUpICovXHJcbi5kaXZUaXRyZUNvbGxlY3Rpb24ge1xyXG4gICAgbWFyZ2luOiA4MHB4IDAgMTBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG5oMi5Ob3RyZUNvbGxlY3Rpb24ge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmlzVGV4dE1IKTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmRpdlRpdHJlQ29sbGVjdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICB9XHJcbiAgICBoMi5Ob3RyZUNvbGxlY3Rpb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgICAgICBwYWRkaW5nOiAwcHggMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLyogU3R5bGUgcG91ciBsYSBwb3AtdXAgbW9iaWxlICovXHJcbi5tb2JpbGUtcGMtcG9wdXAtb3ZlcmxheSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG4gICAgei1pbmRleDogMTAwMDE7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5tb2JpbGUtcGMtcG9wdXAtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjVweCByZ2JhKDAsMCwwLDAuMik7XHJcbn1cclxuXHJcbi5tb2JpbGUtcGMtcG9wdXAtY29udGVudCBoMyB7XHJcbiAgICBjb2xvcjogIzIxQzM2NjsgLyogdmFyKC0tZ3JlZW5NSCkgKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm1vYmlsZS1wYy1wb3B1cC1jb250ZW50IHAge1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBjb2xvcjogIzVFNUU1RTtcclxufVxyXG5cclxuI2Nsb3NlLXBvcHVwLWJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFDMzY2O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgcGFkZGluZzogMTJweCAyNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xyXG4gICAgLm1vYmlsZS1wYy1wb3B1cC1vdmVybGF5IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLyogU3R5bGVzIHBvdXIgbGUgY2Fyb3VzZWwgZCdhdmlzIE15SG9vZGllcyAqL1xyXG5cclxuLmNhcm91c2VsLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogNDBweCAwO1xyXG4gICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0bztcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY3Vyc29yOiBncmFiO1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDMyMHB4OyAvKiBGb3JjZSB1bmUgaGF1dGV1ciBtaW5pbWFsZSAqL1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmNhcm91c2VsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNhcm91c2VsLWNvbnRhaW5lciB7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcbn1cclxuXHJcbi5jYXJvdXNlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG4gICAgZmxleC13cmFwOiBub3dyYXAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jYXJkIHtcclxuICAgIGZsZXg6IDAgMCAzMjBweCAhaW1wb3J0YW50OyAvKiBMYXJnZXVyIGZpeGUgZm9yY8OpZSAqL1xyXG4gICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4td2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNHMgZWFzZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLyogw4l0b2lsZXMgKi9cclxuLnJldmlldy1zdGFycyB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxufVxyXG5cclxuLyogVGV4dGUgZGUgbCdhdmlzICovXHJcbi5yZXZpZXctdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgY29sb3I6ICM1RTVFNUU7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4IDAgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA2O1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jYXJkLmV4cGFuZGVkIC5yZXZpZXctdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC13ZWJraXQtbGluZS1jbGFtcDogdW5zZXQ7XHJcbn1cclxuXHJcbi5jYXJkLmV4cGFuZGVkIHtcclxuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xyXG59XHJcblxyXG4ucmVhZC1tb3JlLWJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBjb2xvcjogIzAwNzZCQTtcclxufVxyXG5cclxuLmNhcmQgLm5vbSB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBtYXJnaW4gOiBhdXRvIDAgMCAwO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbn1cclxuXHJcbi52ZXJpZmllZC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBnYXA6IDhweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udmVyaWZpZWQtYmFkZ2Uge1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG59XHJcblxyXG4udmVyaWZpZWQtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICM1RTVFNUU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KXtcclxuICAgIC5jYXJkIHtcclxuICAgICAgICBmbGV4OiAwIDAgMjgwcHggIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMjgwcHggIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xyXG4gICAgLmNhcm91c2VsLWNvbnRhaW5lciB7XHJcbiAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcmQge1xyXG4gICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xyXG4gICAgfVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/