/*!**********************************************************************************************************************!*\
  !*** 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;
}
p, h1{
    color: var(--grisTextMH);
}

html {
}

#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{
    margin-bottom: 15px;
    color: var(--blueMH);
    font-size: 12px;
    border-bottom: 1px solid var(--blueMH);
}

.btnOpenGDT:hover{
    /* Identique à btnOpenTuto qui n'a pas de hover spécifique dans le CSS */
}

h1{
    font-size: 30pt;
    font-weight: normal;
    margin-bottom : 15px;
}
#prixTotal, #prixTotalDefault{
    font-size: 20px;
    font-weight: normal;
    /*padding-bottom: 15px;*/
}

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

.btnOpenTuto{
    color: var(--blueMH);
    font-size: 12px;
    border-bottom: 1px solid var(--blueMH);
}

.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;
}

.divTaillePastile{
    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: none;
    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: none;
    flex-wrap: wrap;
    /*height: 320px;*/
    justify-content: center;
    margin-top: 3%;
    padding-bottom: 5%;
    /*aspect-ratio: 5/3;*/
    height: auto;
}
.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;
}

#saveToCart{
    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;*/
    /*font-size: larger;*/
}

#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;*/
    font-size: larger;
    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;
    overflow-x: auto;
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
    background-color: white;
    cursor: grab;
}

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

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

.carousel-container:active {
    cursor: grabbing;
}

.carousel {
    display: flex;
    width: max-content;
    padding: 20px 0;
}

.card {
    flex: 0 0 350px;
    box-sizing: border-box;
    padding: 15px 20px;
    background: #f8f8f8;
    border: 1px solid #f8f8f8;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin: 0 10px;
    height: 250px;
    overflow: hidden;
    transition: height 0.3s ease;
    position: relative;
}

.card.expanded {
    height: auto;
    overflow: visible;
    z-index: 10;
}

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

.review-text {
    font-size: 14px;
    line-height: 1.5;
    color: #5E5E5E; /* Valeur de var(--greyTextMH) */
    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;
}

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

.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 (min-width: 768px) {
    .card {
        flex: 0 0 320px;
    }
}

@media (min-width: 1024px) {
    .card {
        flex: 0 0 350px;
    }
}

@media only screen and (max-width: 1024px){
    .carousel-container{
        margin: auto;
    }
    .card{
        flex: 0 0 250px;
    }
}

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

    .card {
        scroll-snap-align: center;
        flex: 0 0 280px;
    }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX2Nzc19EZXRhaWxQcm9kdWl0c19jc3MtYXNzZXRzX2Nzc19jYXJvdXNlbF9hdmlzX2Nzcy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFDSSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixxQkFBcUI7QUFDekI7O0FBRUE7Ozs7Ozs7Ozs7Q0FVQzs7QUFFRDtJQUNJLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0lBQ2IsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFNBQVM7QUFDYjtBQUNBO0lBQ0ksYUFBYTtBQUNqQjtBQUNBO0lBQ0ksd0JBQXdCO0FBQzVCOztBQUVBO0FBQ0E7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFdBQVc7SUFDWCxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGlCQUFpQjtJQUNqQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFVBQVU7SUFDVixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsTUFBTTtJQUNOLDZDQUE2QztJQUM3QyxtQkFBbUIsRUFBRSxvREFBb0Q7QUFDN0U7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksK0JBQStCO0lBQy9CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFVBQVU7SUFDViwrQkFBK0I7SUFDL0IsZUFBZTtJQUNmLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQixF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Y2s6Ly8vLi9hc3NldHMvY3NzL2Nhcm91c2VsX2F2aXMuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcclxuICAgIC0tZ3JlZW5NSDogIzIxQzM2NjtcclxuICAgIC0tZ3JleU1IOiAjRDVENUQ1O1xyXG4gICAgLS1ibHVlTUg6ICMwMDc2QkE7XHJcbiAgICAtLWdyaXNUZXh0TUg6ICM1RTVFNUU7XHJcbn1cclxuXHJcbi8qXHJcbioge1xyXG4qICAgIG1hcmdpbjogMDtcclxuKiAgICBwYWRkaW5nOiAwO1xyXG4qICAgIGJvcmRlcjogMDtcclxuKiAgICBvdXRsaW5lOiAwO1xyXG4qICAgIGZvbnQtc2l6ZTogMTAwJTtcclxuKiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbip9XHJcbiovXHJcblxyXG5idXR0b257XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG91dGxpbmU6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmJvZHkucHJpY2UtaXMtbG9hZGluZyAqIHtcclxuICAgIGN1cnNvcjogd2FpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5e1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcbi5oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5wLCBoMXtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmlzVGV4dE1IKTtcclxufVxyXG5cclxuaHRtbCB7XHJcbn1cclxuXHJcbiNMZXRzR29MYU1heGlEaXZ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1heC13aWR0aDogMTYwMHB4O1xyXG4gICAgbWluLXdpZHRoOiAxMDAwcHg7XHJcbn1cclxuXHJcbi5nYWxsZXJ5IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgbWFyZ2luOiAwIDAgMCAwO1xyXG4gICAgcGFkZGluZzogNTBweCAwIDAgMDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcclxuICAgIHRvcDogMDtcclxuICAgIC8qei1pbmRleDogMTAwOyAhKiBFbnN1cmUgaXQgc3RheXMgb24gdG9wICohKi9cclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IC8qIEFkanVzdCBoZWlnaHQgdG8gY29udGVudCB0byBwcmV2ZW50IGVtcHR5IHNwYWNlICovXHJcbn1cclxuXHJcbi5nYWxsZXJ5X190aHVtYm5haWxzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uZ2FsbGVyeV9fdGh1bWJuYWlsIHtcclxuICAgIHdpZHRoOiAxMTBweDtcclxuICAgIGhlaWdodDogMTEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZ2FsbGVyeV9fbWFpbiB7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgICBoZWlnaHQ6IDUwMHB4O1xyXG59XHJcblxyXG4uZ2FsbGVyeV9faW1hZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5zZWxlY3RlZEltZ3tcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWdyZXlNSCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcblxyXG4uZGVzY3JpcHRpb257XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JleU1IKTtcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbiAudGl0cmV7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbiAudG9waWNIZWFke1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBwb3VyIHBvc2l0aW9ubmVyIGwnaW1hZ2UgZmFjaWxlbWVudCAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvKiBjZW50cmUgbGUgdGV4dGUgaG9yaXpvbnRhbGVtZW50ICovXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyAvKiBjZW50cmUgdmVydGljYWxlbWVudCBsZSB0ZXh0ZSAqL1xyXG4gICAgbWFyZ2luOiAxNnB4IDAgMTZweCAwO1xyXG4gICAgY3Vyc29yIDogcG9pbnRlcjtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIC50b3BpY0hlYWQgLmZsZWNoZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgLypyb3RhdGU6IDkwZGVnOyovXHJcbiAgICAvKmJhY2tncm91bmQtY29sb3IgOiAjRDZENkQ2OyAqL1xyXG59XHJcblxyXG4uZGVzY3JpcHRpb24gdWx7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwOyAvKiBSZW1vdmUgcGFkZGluZyAqL1xyXG59XHJcblxyXG4uY29udGFjdGxpbmsgYXtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uY29udGFjdGxpbmsgYTpob3ZlcntcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB2YXIoLS1ncmVlbk1IKTtcclxufVxyXG5cclxuLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXZHRFR7XHJcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICAgIGxlZnQgOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAvKndpZHRoOiA3MCU7Ki9cclxuICAgIHdpZHRoOiA4NTBweDtcclxuICAgIG1heC13aWR0aDogMTEwMHB4O1xyXG4gICAgaGVpZ2h0OiA3NXZoO1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qUGVybWV0IGRlIHNjcm9sbCBzaSDDqWNyYW4gdHJvcCBwZXRpdCovXHJcblxyXG59XHJcblxyXG4uYnRuQ2xvc2VHRFR7XHJcbiAgICBvcGFjaXR5OiAuMztcclxuICAgIC8qIGN1cnNvcjogcG9pbnRlcjsgKi9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDdweCAxMHB4IC03cHggYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJ0bkNsb3NlR0RUOmhvdmVye1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLmJ0bkNsb3NlVHV0b3tcclxuICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgLyogY3Vyc29yOiBwb2ludGVyOyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogN3B4IDEwcHggLTdweCBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uYnRuQ2xvc2VUdXRvOmhvdmVye1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLmJ0bk9wZW5HRFR7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgY29sb3I6IHZhcigtLWJsdWVNSCk7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmx1ZU1IKTtcclxufVxyXG5cclxuLmJ0bk9wZW5HRFQ6aG92ZXJ7XHJcbiAgICAvKiBJZGVudGlxdWUgw6AgYnRuT3BlblR1dG8gcXVpIG4nYSBwYXMgZGUgaG92ZXIgc3DDqWNpZmlxdWUgZGFucyBsZSBDU1MgKi9cclxufVxyXG5cclxuaDF7XHJcbiAgICBmb250LXNpemU6IDMwcHQ7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luLWJvdHRvbSA6IDE1cHg7XHJcbn1cclxuI3ByaXhUb3RhbCwgI3ByaXhUb3RhbERlZmF1bHR7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgLypwYWRkaW5nLWJvdHRvbTogMTVweDsqL1xyXG59XHJcblxyXG4uZGl2VHV0b3tcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG59XHJcblxyXG4uYnRuT3BlblR1dG97XHJcbiAgICBjb2xvcjogdmFyKC0tYmx1ZU1IKTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ibHVlTUgpO1xyXG59XHJcblxyXG4uYWlkZXtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiB2YXIoLS1ncmlzVGV4dE1IKTtcclxuICAgIG1hcmdpbjogMTJweCAwIDEwcHggMDtcclxufVxyXG5cclxuLmNoZWNrQm94Q291bGV1cjpub3QoI1NhbWVQZXJzb0NoZWNrYm94KXtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi50ZXN0QmREdG9Kc3tcclxuICAgIG1hcmdpbjogNTBweCA1MHB4O1xyXG4gICAgd2lkdGg6IDQwJTtcclxufVxyXG4uaW5wdXRDb2xvckxhYmVsIHtcclxuICAgIC8qZmxvYXQ6IGxlZnQ7Ki9cclxuICAgIC8qZGlzcGxheTogZmxleDsqL1xyXG4gICAgLyphbGlnbi1pdGVtczogY2VudGVyOyovXHJcbiAgICAvKmp1c3RpZnktY29udGVudDogY2VudGVyOyovXHJcbiAgICAvKmxpbmUtaGVpZ2h0OiAyLjBlbTsqL1xyXG4gICAgLyp3aWR0aDogMi4wZW07Ki9cclxuICAgIC8qaGVpZ2h0OiAxLjhlbTsqL1xyXG4gICAgLyptYXJnaW4tcmlnaHQ6IDVweDsqL1xyXG4gICAgLypvdmVyZmxvdzogaGlkZGVuOyovXHJcbiAgICAvKmJvcmRlci1yYWRpdXM6IDE1cHg7Ki9cclxuICAgIC8qYm9yZGVyIDogMXB4IHNvbGlkIGJsdWU7Ki9cclxuXHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMS43ZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5pbnB1dENvbG9yTGFiZWwgLmlucHV0Q29sb3JTcGFuIHtcclxuICAgIC8qdGV4dC1hbGlnbjogY2VudGVyOyovXHJcbiAgICAvKndpZHRoOiAyLjBlbTsqL1xyXG4gICAgLypoZWlnaHQ6IDEuN2VtOyovXHJcbiAgICAvKiEqcGFkZGluZzogNXB4IDA7KiEqL1xyXG4gICAgLypkaXNwbGF5OiBibG9jazsqL1xyXG4gICAgLypib3JkZXItcmFkaXVzOiAxNXB4IDsqL1xyXG4gICAgLyohKmJvcmRlciA6IDFweCBzb2xpZCBibGFjazsqISovXHJcbiAgICAvKmN1cnNvcjogcG9pbnRlcjsqL1xyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAyLjBlbTsgLyogYWRqdXN0IHRoZSBzaXplIG9mIHRoZSBzd2F0Y2ggKi9cclxuICAgIGhlaWdodDogMS43ZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgLypib3JkZXI6IDFweCBzb2xpZCAjY2NjOyovXHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5pbnB1dENvbG9yU3Bhbjo6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XHJcbn1cclxuLmNoZWNrQm94Q291bGV1cjpjaGVja2VkICsuaW5wdXRDb2xvclNwYW4ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1ncmVlbk1IKTtcclxufVxyXG5cclxuXHJcblxyXG4jQ29sb3JMaXN0e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5kaXZTd2l0Y2h7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnN3aXRjaCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDEuN2VtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbn1cclxuXHJcbi5zd2l0Y2ggaW5wdXQge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4uc2xpZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiAuNHM7XHJcbn1cclxuXHJcbi5zbGlkZXI6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3R0b206IDRweDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDEuMmVtO1xyXG4gICAgbGVmdDogNHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdHJhbnNpdGlvbjogLjRzO1xyXG4gICAgd2lkdGg6IDEuMmVtO1xyXG59XHJcblxyXG5pbnB1dDpjaGVja2VkICsgLnNsaWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxufVxyXG5cclxuaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXI6YmVmb3JlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyM3B4KTtcclxufVxyXG5cclxuLnNsaWRlci5yb3VuZCB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzNHB4O1xyXG59XHJcblxyXG4uc2xpZGVyLnJvdW5kOmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi5kaXZTd2l0Y2ggc3BhbntcclxuICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3Jpc1RleHRNSCk7XHJcblxyXG59XHJcblxyXG4jcmVjYXBDb3VsZXVyQ2hvaXNpZXMge1xyXG4gICAgLypib3JkZXIgOiAycHggc29saWQgZ3JleTsqL1xyXG4gICAgLypib3JkZXItcmFkaXVzOiAxMHB4OyovXHJcbiAgICAvKmhlaWdodDogNjBweDsqL1xyXG4gICAgLyptYXJnaW4tdG9wOiAxNXB4OyovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB0b3A6MXB4O1xyXG59XHJcblxyXG4jcmVjYXBDb3VsZXVyQ2hvaXNpZXN7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jcmVjYXBDb3VsZXVyQ2hvaXNpZXMgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4jcmVjYXBDb3VsZXVyQ2hvaXNpZXMgbGFiZWwgc3BhbntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLkNvbnRhaW5lckNvdWxldXJTZWxlY3R7XHJcbiAgICAvKm1hcmdpbi10b3A6IDlweDsqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAxNXB4IDE1cHggMTVweDtcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCB2YXIoLS1ncmV5TUgpO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLkNvbnRhaW5lckNvdWxldXJTZWxlY3QgLmFpZGV7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG59XHJcblxyXG4uZGl2SW5wdXRUYWlsbGV7XHJcbiAgICBtYXJnaW4tdG9wOiAzJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8qbWFyZ2luLWxlZnQ6IDMlOyovXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kaXZJbnB1dFRhaWxsZSBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAxMHB4IDAgMDtcclxuICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCBibGFjaztcclxufVxyXG5cclxuLmRpdlRhaWxsZXtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB3aWR0aDogNzNweDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMCA1cHggMCA1cHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmRpdlRhaWxsZSAudGFpbGxlVW5pcXVle1xyXG4gICAgd2lkdGg6IDExMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaXZUYWlsbGVQYXN0aWxle1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAyLjBlbTtcclxuICAgIGhlaWdodDogMS43ZW07XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDAgMTBweCAwcHggNXB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG59XHJcblxyXG5cclxuXHJcbmlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7LypSZW1vdmUgQXJyb3dzKi9cclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkIGdyZXk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB3aWR0aDogNC4wZW07XHJcbiAgICBoZWlnaHQ6IDEuNWVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDEwcHggMTBweDtcclxufVxyXG5cclxuLypTdHlsaXNhdGlvbiBkZXMgYm91dG9ucyBkZSBtYXJxdWFnZSAqL1xyXG4udGVjaG5pcXVlRGVNYXJxdWFnZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luLXRvcDogMyU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLm1hcnF1YWdlQ2JveGUsIC5tYXJxdWFnZUNib3hlLWluZGlzcG97XHJcbiAgICBtYXJnaW46IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIC8qb3ZlcmZsb3c6IGhpZGRlbjsqL1xyXG59XHJcblxyXG5cclxuLm1hcnF1YWdlQ2JveGUgbGFiZWwsIC5tYXJxdWFnZUNib3hlLWluZGlzcG8gbGFiZWwge1xyXG5cclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuMGVtO1xyXG4gICAgd2lkdGg6IDEwLjBlbTtcclxuICAgIGhlaWdodDogMi4wZW07XHJcbiAgICAvKmN1cnNvcjogcG9pbnRlcjsqL1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZS1pbmRpc3BvIGxhYmVse1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZSBzcGFue1xyXG4gICAgcGFkZGluZzogM3B4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCAjQUJCMkJCO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxufVxyXG5cclxuLm1hcnF1YWdlQ2JveGUtaW5kaXNwbyBzcGFue1xyXG4gICAgcGFkZGluZzogM3B4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JleU1IKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyIDogMXB4IHNvbGlkICNBQkIyQkI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZS1pbmRpc3BvIC5zcGFuU2VyaWdJbmRpc3Bve1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgZm9udC1zaXplOiBzbWFsbDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvdHRvbTogNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbn1cclxuXHJcblxyXG4ubWFycXVhZ2VDYm94ZSBzcGFuOmhvdmVye1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICBjb2xvcjogdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICAvKmJhY2tncm91bmQtY29sb3I6IHJnYigzMywgMTk1LCAxMDIsMC4wNSk7Ki9cclxufVxyXG5cclxuLm1hcnF1YWdlQ2JveGUgbGFiZWwgaW5wdXQsIC5tYXJxdWFnZUNib3hlLWluZGlzcG8gbGFiZWwgaW5wdXQge1xyXG4gICAgZGlzcGxheSA6IG5vbmU7XHJcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG59XHJcblxyXG4ubWFycXVhZ2VDYm94ZSBpbnB1dDpjaGVja2VkICsgc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGNvbG9yIDogd2hpdGU7XHJcbiAgICBib3JkZXIgOiAxcHggc29saWQgd2hpdGU7XHJcbn1cclxuLyogLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vKi9cclxuXHJcblxyXG5cclxuXHJcbi5wZXJzb1pvbmUsIC5wZXJzb1pvbmVHRFQge1xyXG4gICAgZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cclxuICAgIHBvc2l0aW9uOiBmaXhlZDsgLyogU3RheSBpbiBwbGFjZSAqL1xyXG4gICAgei1pbmRleDogMTAwMDsgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7IC8qIExvY2F0aW9uIG9mIHRoZSBib3ggKi9cclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xyXG4gICAgaGVpZ2h0OiAxMDAlOyAvKiBGdWxsIGhlaWdodCAqL1xyXG4gICAgb3ZlcmZsb3c6ICBoaWRkZW47IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7IC8qIEJsYWNrIHcvIG9wYWNpdHkgKi9cclxufVxyXG5cclxuLnBlcnNvWm9uZSwgLnBlcnNvWm9uZVR1dG8ge1xyXG4gICAgZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cclxuICAgIHBvc2l0aW9uOiBmaXhlZDsgLyogU3RheSBpbiBwbGFjZSAqL1xyXG4gICAgei1pbmRleDogMTAwMDsgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7IC8qIExvY2F0aW9uIG9mIHRoZSBib3ggKi9cclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xyXG4gICAgaGVpZ2h0OiAxMDAlOyAvKiBGdWxsIGhlaWdodCAqL1xyXG4gICAgb3ZlcmZsb3c6ICBoaWRkZW47IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7IC8qIEJsYWNrIHcvIG9wYWNpdHkgKi9cclxufVxyXG5cclxuLnBlcnNvWm9uZVR1dG8gaW1ne1xyXG4gICAgd2lkdGg6IDUwJTtcclxufVxyXG5cclxuLyoucGVyc29ab25lIGlucHV0W3R5cGU9ZmlsZV0geyovXHJcbi8qICAgIGRpc3BsYXk6IG5vbmU7Ki9cclxuLyp9Ki9cclxuXHJcbi8qLlRhaWxsZXsqL1xyXG4vKiAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ki9cclxuLyogICAgd2lkdGg6IDEwMCU7Ki9cclxuLyogICAgYm9yZGVyOiAxcHggc29saWQgZGltZ3JleTsqL1xyXG4vKiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyovXHJcbi8qfSovXHJcblxyXG4vKi5hZmZQcml4IHsqL1xyXG4vKiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlOyovXHJcbi8qICAgIHdpZHRoOiAxMDAlOyovXHJcbi8qICAgIGhlaWdodDogMyU7Ki9cclxuLyogICAgdGV4dC1hbGlnbjogY2VudGVyOyovXHJcbi8qICAgIG1hcmdpbiA6IDclIDMwJTsqL1xyXG4vKiAgICBwYWRkaW5nLXRvcDogMyU7Ki9cclxuLyogICAgcGFkZGluZy1ib3R0b206IDMlOyovXHJcbi8qICAgIGJvcmRlciA6IDFweCBzb2xpZCByZWQ7Ki9cclxuLyogICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOyovXHJcbi8qfSovXHJcblxyXG4uUHJpeFRhaWxsZXtcclxuICAgIGRpc3BsYXkgOiBncmlkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwJSA1MCUgMzAlIDEwJTtcclxuICAgIC8qZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyMCUgMjAlIDEwJSAyOCUgMjclOyovXHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDMwcHggMzVweCAxNXB4IDYwcHg7XHJcbiAgICAvKmdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDVweCwgMTAlKSBtaW5tYXgoMTAwcHgsIDUwJSkgbWlubWF4KDYwcHgsIDMwJSkgbWlubWF4KDVweCwgMTAlKTsqL1xyXG4gICAgLypncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgyMHB4LCAyMCUpIG1pbm1heCgyMHB4LCAyMCUpIG1pbm1heCgyMHB4LCAxMCUpIG1pbm1heCg0MHB4LCAyOCUpIG1pbm1heCgxMDBweCwgMjclKTsqL1xyXG4gICAgLypib3JkZXIgOiAxcHggc29saWQgcmVkOyovXHJcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgIGdyaWQtYXV0by1yb3dzOiBtaW5tYXgoMjBweCwgMWZyKTtcclxuICAgIGdyaWQtYXV0by1jb2x1bW5zOiBtaW5tYXgoMjBweCwgMWZyKTtcclxufVxyXG5cclxuI2RpdlByaXh7XHJcbiAgICB3aWR0aDogNjUlO1xyXG4gICAgLypqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7Ki9cclxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyO1xyXG4gICAgZ3JpZC1jb2x1bW4tZW5kOiAzO1xyXG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDI7XHJcbiAgICBncmlkLXJvdy1lbmQ6IDM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmV5TUgpO1xyXG4gICAgLyphbGlnbi1zZWxmOiBjZW50ZXI7Ki9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4IDAgMCAxMHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uYWZmUHJpeDJ7XHJcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMztcclxuICAgIGdyaWQtY29sdW1uLWVuZDogNDtcclxuICAgIGdyaWQtcm93LXN0YXJ0OiAyO1xyXG4gICAgZ3JpZC1yb3ctZW5kOiAzO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JleU1IKTtcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xyXG5cclxufVxyXG5cclxuLmFmZlByaXh7XHJcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMztcclxuICAgIGdyaWQtY29sdW1uLWVuZDogNDtcclxuICAgIGdyaWQtcm93LXN0YXJ0OiAyO1xyXG4gICAgZ3JpZC1yb3ctZW5kOiAzO1xyXG4gICAgLypiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmV5TUgpOyovXHJcbiAgICAvKmFsaWduLXNlbGY6IGNlbnRlcjsqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuI2RpdlRhaWxsZXtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICBqdXN0aWZ5LXNlbGY6IHN0cmV0Y2g7XHJcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcclxuICAgIGdyaWQtY29sdW1uLWVuZDogMjtcclxuICAgIGdyaWQtcm93LXN0YXJ0OiA0O1xyXG4gICAgLypncmlkLXJvdy1lbmQ6IGVuZDsqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JleU1IKTtcclxuICAgIC8qYWxpZ24tc2VsZjogY2VudGVyOyovXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweCAwIDAgMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxufVxyXG4uYWZmVGFpbGxle1xyXG4gICAgd2lkdGg6IDM1JTtcclxuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xyXG4gICAgZ3JpZC1jb2x1bW4tZW5kOiAzO1xyXG4gICAgZ3JpZC1yb3ctc3RhcnQ6IDQ7XHJcbiAgICAvKmdyaWQtcm93LWVuZDogZW5kOyovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmV5TUgpO1xyXG4gICAgLyphbGlnbi1zZWxmOiBjZW50ZXI7Ki9cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDEwcHggMTBweCAwO1xyXG59XHJcblxyXG4uZGl2QnV0dG9ue1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuLm1vZGFsQ29udGVudHtcclxuICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5IDogZmxleDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XHJcbiAgICBsZWZ0IDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4ODg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgLyp3aWR0aDogNzAlOyovXHJcbiAgICAvKndpZHRoOiAxMDcwcHg7Ki9cclxuICAgIHdpZHRoOiAxMDAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcclxuICAgIC8qaGVpZ2h0OiA5MHZoOyovXHJcbiAgICBoZWlnaHQ6IDYzMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbn1cclxuLmNsb3NlOmhvdmVyLFxyXG4uY2xvc2U6Zm9jdXMge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5UZXN0S29udmEge1xyXG4gICAgb3ZlcmZsb3c6IGNsaXA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5TUgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIHdpZHRoOiA2ODBweDtcclxuICAgIC8qaGVpZ2h0OiA2MzBweDsqL1xyXG4gICAgaGVpZ2h0OiA1OTBweDtcclxuICAgIC8qIG1hcmdpbi1sZWZ0OiA2JTsgKi9cclxufVxyXG5cclxuLkluZm9CdXR0b25ze1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLypoZWlnaHQ6IDYzMHB4OyovXHJcbiAgICBoZWlnaHQ6IDU5MHB4O1xyXG5cclxufVxyXG5cclxuLmRpdkFpZGVQZXJzb3tcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywxOTUsMTAyLDAuMTApO1xyXG59XHJcblxyXG4uZGl2QWlkZVBlcnNvLmJhbmRlYXV7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gNTBweCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG59XHJcblxyXG4uZGl2QWlkZVBlcnNvIHAge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4uZGl2QWlkZVBlcnNvIC5zdHJvbmd7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uZGl2QWlkZVBlcnNvIC5zbWFsbGVye1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4vKmJ1dHRvbiB7Ki9cclxuLyogICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTsqL1xyXG4vKn0qL1xyXG5cclxuXHJcbi5jaGFuZ2VCdXR0b24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uY2hhbmdlQnV0dG9uTGFiZWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ibHVlTUgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8qdG9wOiA0NSU7Ki9cclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIC8qd2lkdGg6IDg1JTsqL1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5jaGFuZ2VCdXR0b25MYWJlbDpob3ZlcntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmNoYW5nZUJ1dHRvbkxhYmVsID4gc3BhbntcclxuICAgIC8qYm9yZGVyOiAycHggc29saWQgYmx1ZTsqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMjglO1xyXG4gICAgcGFkZGluZzogMTBweCA3MHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6IHZhcigtLWJsdWVNSCk7XHJcbn1cclxuXHJcbi5zYXZlQnV0dG9ue1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyIDogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuTUgpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIC8qdG9wOiAyOCU7Ki9cclxuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XHJcbiAgICAvKndpZHRoOiA4NyU7Ki9cclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvKmZvbnQtc2l6ZTogMTRweDsqL1xyXG59XHJcblxyXG4uc2F2ZUJ1dHRvbjpob3ZlcntcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZWIwNWM7XHJcbn1cclxuXHJcbi5jYW5jZWx7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXIgOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAvKnRvcDogMTElOyovXHJcbiAgICBtYXJnaW4tbGVmdDogMTAlO1xyXG4gICAgLyp3aWR0aDogODclOyovXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAvKmZvbnQtc2l6ZTogMTRweDsqL1xyXG59XHJcbi5jYW5jZWw6aG92ZXJ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qQG1lZGlhICAobWF4LXdpZHRoOiAxMDAwcHgpeyovXHJcbi8qICAgIC5kaXZQb3NpdGlvbnsqL1xyXG4vKiAgICAgICAgZGlzcGxheTogZmxleDsqL1xyXG4vKiAgICAgICAgZmxleC13cmFwOiB3cmFwOyovXHJcbi8qICAgICAgICBoZWlnaHQ6IDI0MHB4OyovXHJcbi8qICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsqL1xyXG4vKiAgICAgICAgbWFyZ2luLXRvcDogMyU7Ki9cclxuLyogICAgICAgIHBhZGRpbmctYm90dG9tOiA1JTsqL1xyXG4vKiAgICB9Ki9cclxuLyp9Ki9cclxuLmRpdlBvc2l0aW9ue1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8qaGVpZ2h0OiAzMjBweDsqL1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tdG9wOiAzJTtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1JTtcclxuICAgIC8qYXNwZWN0LXJhdGlvOiA1LzM7Ki9cclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG4uY2F0e1xyXG4gICAgZGlzcGxheSA6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoIDogMjUlO1xyXG4gICAgLypoZWlnaHQ6IDQ1JTsqL1xyXG4gICAgLypoZWlnaHQgOiAxODBweDsqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1ncmV5TUgpO1xyXG4gICAgbWFyZ2luIDogMTBweCA4cHggMTBweCA4cHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcclxuICAgIGFzcGVjdC1yYXRpbzogOTAvMTAwO1xyXG59XHJcbi5jYXQ6aG92ZXJ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmVlbk1IKTtcclxufVxyXG5cclxuLmNhdCBpbnB1dFt0eXBlPVwiZmlsZVwiXXtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5jYXQgLmJ1dHRvbkxhYmVsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gICAgd2lkdGggOiA3MCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nIDogMTBweCAxMHB4IDEwcHggMTBweDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdCA6IDUwJTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvciA6IHZhcigtLWdyZWVuTUgpO1xyXG4gICAgYm9yZGVyLXJhZGl1cyA6IDE1cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgY29sb3IgOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGJveC1zaGFkb3c6IDAuMXJlbSAwLjFyZW0gMC4yZW0gcmdiYSgwLDAsMCwwLjEpO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcztcclxufVxyXG5cclxuLmNhdCAuYnV0dG9uTGFiZWw6aG92ZXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWViMDVjO1xyXG59XHJcbi5jYXQgLmNvbG9yTGFiZWwge1xyXG4gICAgcG9zaXRpb24gOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgLypsaW5lLWhlaWdodDogMy4wZW07Ki9cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5cclxuXHJcbi8qLmNhdCBidXR0b24geyovXHJcbi8qICAgICEqYm9yZGVyOiAzcHggc29saWQgdmFyKC0tZ3JlZW5NSCk7KiEqL1xyXG4vKiAgICBkaXNwbGF5OiBpbmxpbmU7Ki9cclxuLyogICAgcG9zaXRpb246IGFic29sdXRlOyovXHJcbi8qICAgIHdpZHRoOiAyMCU7Ki9cclxuLyogICAgaGVpZ2h0OiAyMCU7Ki9cclxuLyogICAgYm90dG9tOiA1JTsqL1xyXG4vKn0qL1xyXG5cclxuLm1vZEJ1dHRvbntcclxuICAgIC8qZGlzcGxheTogaW5saW5lOyovXHJcbiAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTsqL1xyXG4gICAgLyp3aWR0aDogMjAlOyovXHJcbiAgICAvKmhlaWdodDogMjAlOyovXHJcbiAgICAvKmJvdHRvbTogNSU7Ki9cclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xyXG59XHJcbi5tb2RCdXR0b246aG92ZXJ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbn1cclxuXHJcblxyXG4uY2xlYXJCdXR0b257XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcclxufVxyXG5cclxuLmNsZWFyQnV0dG9uOmhvdmVye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG59XHJcblxyXG5cclxuXHJcbi5jYXQgbGFiZWwgc3BhbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3AgOiA4NCU7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogIzVFNUU1RTtcclxufVxyXG5cclxuLmNhdCBsYWJlbCBpbnB1dCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5IDogbm9uZTtcclxuICAgIHdpZHRoIDogMTAwJTtcclxuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG59XHJcbi5jYXQgbGFiZWw6aG92ZXJ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5idXR0b246aG92ZXJ7XHJcbiAgICBib3gtc2hhZG93OiAycHggMnB4IHZhcigtLWdyZWVuTUgpO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uY2F0IGltZyB7XHJcbiAgICBwb3NpdGlvbiA6IGFic29sdXRlO1xyXG4gICAgd2lkdGggOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgei1pbmRleDogYXV0bztcclxufVxyXG5cclxuLmNhdCAubWluaWF0dXJlVXBsZEltZyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiA3MCU7XHJcbiAgICBoZWlnaHQ6IDcwJTtcclxuICAgIHRvcDogMjBweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzMsMTk1LDEwMiwwLjEwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIGJvcmRlciA6IDFweCBzb2xpZCB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbiNzYXZlVG9DYXJ0e1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBoZWlnaHQ6IDUlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JlZW5NSCk7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAvKnRyYW5zaXRpb246IC4ycyBlYXNlOyovXHJcbiAgICAvKmZvbnQtc2l6ZTogbGFyZ2VyOyovXHJcbn1cclxuXHJcbiNzYXZlVG9DYXJ0OmhvdmVye1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlYjA1YztcclxufVxyXG5cclxuLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXZ7XHJcblxyXG4gICAgcG9zaXRpb24gOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXkgOiBmbGV4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuICAgIGxlZnQgOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcclxuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgaGVpZ2h0OiA2MCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcblxyXG4ubW9kYWxDb250ZW50U3VjY2Vzc0RpdiBwe1xyXG4gICAgZm9udC1zaXplOiB4eC1sYXJnZTtcclxuICAgIG1hcmdpbjogMjAlIDAgMTUlIDA7XHJcbn1cclxuXHJcbi8qLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXYgYnV0dG9ueyovXHJcbi8qICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyZWVuTUgpOyovXHJcbi8qICAgIGJvcmRlcjogbm9uZTsqL1xyXG4vKiAgICBib3JkZXItY29sb3I6IHZhcigtLWdyZWVuTUgpOyovXHJcbi8qICAgIGNvbG9yOiAjZmVmZWZlOyovXHJcbi8qICAgIGZvbnQtc2l6ZTogbGFyZ2U7Ki9cclxuLyogICAgaGVpZ2h0OiAxMCU7Ki9cclxuLyogICAgd2lkdGg6IDMwJTsqL1xyXG4vKiAgICBtYXJnaW4tYm90dG9tOiAyJTsqL1xyXG4vKiAgICBib3JkZXItcmFkaXVzOiAxOHB4OyovXHJcbi8qICAgIGN1cnNvcjogcG9pbnRlcjsqL1xyXG4vKn0qL1xyXG5cclxuI2dvVG9DYXJ0e1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogMiUgMTAlO1xyXG4gICAgZm9udC1zaXplOiBsYXJnZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcclxuICAgIG1hcmdpbi1ib3R0b20gOiAyJTtcclxufVxyXG5cclxuI2dvVG9DYXJ0OmhvdmVye1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlYjA1YztcclxufVxyXG5cclxuI2xvYWRpbmdBZGRUb0NhcnR7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGhlaWdodDogNSU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbk1IKTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIC8qdHJhbnNpdGlvbjogLjJzIGVhc2U7Ki9cclxuICAgIGZvbnQtc2l6ZTogbGFyZ2VyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcbi5sb2FkZXIge1xyXG4gICAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tZ3JleU1IKTsgLyogTGlnaHQgZ3JleSAqL1xyXG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWdyaXNUZXh0TUgpOyAvKiBCbHVlICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcblxyXG5cclxuLyogcmVzcCAqL1xyXG4uUHJpeFRhaWxsZXtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtd3JhcDp3cmFwO1xyXG4gICAgY29sdW1uLWdhcDowcHg7XHJcbiAgICByb3ctZ2FwOjIwcHghaW1wb3J0YW50O1xyXG59XHJcbi5kaXZCdXR0b24ge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgbWFyZ2luLXRvcDogYXV0bztcclxufVxyXG4uUHJpeFRhaWxsZSA+IGRpdntcclxuICAgIHBhZGRpbmc6IDEwcHghaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG4vKi5Qcml4VGFpbGxlID4gZGl2Om50aC1jaGlsZChvZGQpeyovXHJcbi8qICAgIHdpZHRoOjY1JSovXHJcbi8qfSovXHJcbi8qLlByaXhUYWlsbGUgPiBkaXY6bnRoLWNoaWxkKGV2ZW4peyovXHJcbi8qICAgIHdpZHRoOjM1JTsqL1xyXG4vKn0qL1xyXG4uSW5mb0J1dHRvbnN7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuLmRpdkJ1dHRvbiBsYWJlbCAsXHJcbi5kaXZCdXR0b24gYnV0dG9uIHtcclxuICAgIG1hcmdpbjowcHg7XHJcbn1cclxuLmRpdkJ1dHRvbiBidXR0b24ge1xyXG4gICAgbWFyZ2luOjE1cHggMHB4IDBweCAwcHghaW1wb3J0YW50O1xyXG59XHJcbi5kaXZJbnB1dFRhaWxsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgLypnYXA6IDIwcHg7Ki9cclxufVxyXG5cclxuLmRpdklucHV0VGFpbGxlID4gZGl2Om5vdCguZGl2VGFpbGxlUGFzdGlsZSkge1xyXG4gICAgLyp3aWR0aDogY2FsYygxNyUgLSAyMHB4KTsqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC8qd2lkdGg6IGNhbGMoMjUlIC8gMik7Ki9cclxuICAgIG1hcmdpbjogMHB4IDVweCAwcHggNXB4O1xyXG59XHJcblxyXG4uZGl2SW5wdXRUYWlsbGUgPiBkaXYgaW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tb2RhbENvbnRlbnRTdWNjZXNzRGl2IHA6Zmlyc3QtY2hpbGQge1xyXG4gICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG5kaXYjYWRkVG9DYXJ0U3VjY2Vzc0RpdiAubW9kYWxDb250ZW50U3VjY2Vzc0RpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtaW4taGVpZ2h0OiAyNDBweDtcclxuICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuYSNnb1RvQ2FydHtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbToyMHB4O1xyXG4gICAgd2lkdGg6NTAlO1xyXG4gICAgcGFkZGluZzoxMHB4IDMwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOjVweDtcclxufVxyXG5cclxuI2NvbnRpbnVlU2hvcHBpbmd7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XHJcbn1cclxuXHJcbiNjb250aW51ZVNob3BwaW5nOmhvdmVye1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuLmRlc2NyaXB0aW9uIHtcclxuXHJcbiAgICBtYXJnaW46IDBweCBhdXRvIDUwcHggYXV0bztcclxufVxyXG4uR3VpZGVEZXNUYWlsbGVzLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXZHRFQge1xyXG4gICAgaGVpZ2h0OiB1bnNldDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcbmEjZ29Ub0NhcnQ6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSFpbXBvcnRhbnQ7XHJcbn1cclxuZGl2I2FkZFRvQ2FydFN1Y2Nlc3NEaXYgLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXYge1xyXG4gICAgd2lkdGg6IDQwJTtcclxufVxyXG5cclxuLmRpdlZpZGV7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuICAgIC5nYWxsZXJ5e1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICB9XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpe1xyXG4gICAgLmRpdklucHV0VGFpbGxlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBnYXA6IDEwcHggMDtcclxuICAgIH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNjZweCkgYW5kIChtaW4td2lkdGg6IDEwMjVweCl7XHJcbiAgICAuZ2FsbGVyeV9fbWFpbiB7XHJcbiAgICAgICAgd2lkdGg6IDM5MXB4O1xyXG4gICAgICAgIGhlaWdodDogMzkxcHg7XHJcbiAgICB9XHJcbiAgICAubW9kYWxDb250ZW50IHtcclxuICAgICAgICB3aWR0aDogMTAxMHB4O1xyXG5cclxuICAgIH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7XHJcbiAgICBkaXYjYWRkVG9DYXJ0U3VjY2Vzc0RpdiAubW9kYWxDb250ZW50U3VjY2Vzc0RpdiB7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0byA1MHB4IGF1dG87XHJcbiAgICB9XHJcbiAgICAuVGVzdEtvbnZhIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLyogLlRlc3RLb252YTo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgIHdpZHRoOiAxZW07XHJcbiAgICB9XHJcbiAgICAuVGVzdEtvbnZhOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwwLDAsMC4zKTtcclxuICAgIH1cclxuICAgIC5UZXN0S29udmE6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxYzM2NjtcclxuICAgICAgb3V0bGluZTogMXB4IHNvbGlkICMyMWMzNjZcdDtcclxuICAgIH1cclxuICAgIC5rb252YWpzLWNvbnRlbnQ6YmVmb3JlLCAua29udmFqcy1jb250ZW50OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnU3dpcGUgdG8gc2Nyb2xsJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICBib3R0b206IC0yMHB4O1xyXG4gICAgfVxyXG4gICAgLmtvbnZhanMtY29udGVudDpiZWZvcmUge1xyXG4gICAgICAgIGxlZnQ6IGluaXRhbFx0O1xyXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgKi9cclxuICAgIGJ1dHRvbiNzYXZlVG9DYXJ0e1xyXG4gICAgICAgIHBhZGRpbmc6MTVweCAzMHB4IWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOjEwcHg7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbntcclxuICAgICAgICBsaW5lLWhlaWdodDoxLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRlY2huaXF1ZURlTWFycXVhZ2V7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoNzUlICsgMzJweCk7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLm1hcnF1YWdlQ2JveGUsIC5tYXJxdWFnZUNib3hlLWluZGlzcG97XHJcbiAgICAgICAgd2lkdGg6NDglO1xyXG4gICAgICAgIG1hcmdpbjowcHg7XHJcbiAgICB9XHJcbiAgICAubWFycXVhZ2VDYm94ZSBzcGFuICwgLm1hcnF1YWdlQ2JveGUtaW5kaXNwbyBzcGFue1xyXG4gICAgICAgIGhlaWdodDo1MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAubWFycXVhZ2VDYm94ZSBzcGFuIHtcclxuICAgICAgICBoZWlnaHQ6NTBweDtcclxuICAgICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OmNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczpDZW50ZXI7XHJcbiAgICB9XHJcbiAgICAubWFycXVhZ2VDYm94ZSBsYWJlbCwgLm1hcnF1YWdlQ2JveGUtaW5kaXNwbyBsYWJlbHtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICB9XHJcbiAgICBkaXYjTGV0c0dvTGFNYXhpRGl2e1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggNTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgIH1cclxuICAgIC5kaXYjTGV0c0dvTGFNYXhpRGl2e1xyXG4gICAgICAgIGZsZXgtd3JhcDp3cmFwO1xyXG4gICAgfVxyXG4gICAgLmdhbGxlcnkgLCAudGVzdEJkRHRvSnMgLCAuZGVzY3JpcHRpb257XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBtYXJnaW46IDBweDtcclxuICAgIH1cclxuICAgIC50ZXN0QmREdG9KcyBoMXtcclxuICAgICAgICBtYXJnaW4tdG9wOjBweDtcclxuICAgIH1cclxuICAgIC5nYWxsZXJ5X190aHVtYm5haWxze1xyXG4gICAgICAgIHdpZHRoOjIwJTtcclxuICAgICAgICBtYXJnaW46MHB4O1xyXG4gICAgfVxyXG4gICAgLmdhbGxlcnlfX21haW57XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXJnaW46MHB4O1xyXG4gICAgICAgIGhlaWdodDogdW5zZXQhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm1vZGFsQ29udGVudHtcclxuICAgICAgICAvKndpZHRoOjEwMCU7Ki9cclxuICAgICAgICBtaW4td2lkdGg6dW5zZXQ7XHJcbiAgICAgICAgLyptYXgtd2lkdGg6IDEwMCU7Ki9cclxuICAgICAgICBwYWRkaW5nOjIwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgZmxleC13cmFwOndyYXA7XHJcbiAgICAgICAgLyp3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7Ki9cclxuICAgICAgICB3aWR0aDo3MTBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xyXG4gICAgfVxyXG4gICAgLmtvbnZhanMtY29udGVudHtcclxuICAgICAgICBtYXJnaW46YXV0bztcclxuICAgIH1cclxuICAgIC5kaXZCdXR0b257XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuSW5mb0J1dHRvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MzBweDtcclxuICAgICAgICBoZWlnaHQ6dW5zZXQhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xyXG4gICAgfVxyXG4gICAgLmRpdkJ1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDoyMHB4IWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5kaXZCdXR0b24gbGFiZWwgLFxyXG4gICAgLmRpdkJ1dHRvbiBidXR0b257XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuICAgIGltZy5pbWdTd2VhdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuR3VpZGVEZXNUYWlsbGVzLm1vZGFsQ29udGVudFN1Y2Nlc3NEaXZHRFQge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuICAgIC5HdWlkZURlc1RhaWxsZXMubW9kYWxDb250ZW50U3VjY2Vzc0RpdkdEVCBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOjIwcHg7XHJcbiAgICB9XHJcbiAgICAjbG9hZGluZ0FkZFRvQ2FydHtcclxuICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6MTVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOjdweDtcclxuICAgIH1cclxuICAgIFxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTM0cHgpe1xyXG4gICAgLmdhbGxlcnlfX3RodW1ibmFpbCB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgfVxyXG5cclxuICAgICNMZXRzR29MYU1heGlEaXZ7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsQ29udGVudHtcclxuICAgICAgICB3aWR0aDpjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuVGVzdEtvbnZhIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5JbmZvQnV0dG9uc3tcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaXZBaWRlUGVyc297XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICAuUHJpeFRhaWxsZXtcclxuICAgICAgICByb3ctZ2FwOiA1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuZGl2QnV0dG9ue1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDo1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5kaXZCdXR0b24gYnV0dG9ue1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuZ2FsbGVyeV9fdGh1bWJuYWlsc3tcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjpyb3c7XHJcbiAgICAgICAgb3ZlcmZsb3c6YXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBvcmRlcjoyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MjBweDtcclxuICAgIH1cclxuICAgIC5nYWxsZXJ5X190aHVtYm5haWxzOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICBoZWlnaHQ6N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRyYWNrICovXHJcbiAgICAuZ2FsbGVyeV9fdGh1bWJuYWlsczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWVlZWU7XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGFuZGxlICovXHJcbiAgICAuZ2FsbGVyeV9fdGh1bWJuYWlsczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyMWMzNjY7XHJcbiAgICB9XHJcblxyXG4gICAgLyogSGFuZGxlIG9uIGhvdmVyICovXHJcbiAgICAuZ2FsbGVyeV9fdGh1bWJuYWlsczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMyMWMzNjY7XHJcbiAgICB9XHJcbiAgICBoMXtcclxuICAgICAgICBmb250LXNpemU6MzBweDtcclxuICAgIH1cclxuICAgIC5nYWxsZXJ5X19tYWlue1xyXG4gICAgICAgIG9yZGVyOjE7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuICAgIC5kZXNjcmlwdGlvbntcclxuICAgICAgICBvcmRlcjozO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4IGF1dG87XHJcbiAgICB9XHJcbiAgICAudGVjaG5pcXVlRGVNYXJxdWFnZXtcclxuICAgICAgICBmbGV4LXdyYXA6d3JhcDtcclxuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAzMHB4IGF1dG87XHJcbiAgICAgICAgZ2FwOjE1cHg7XHJcbiAgICB9XHJcbiAgICAuQ29udGFpbmVyQ291bGV1clNlbGVjdHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLnRlY2huaXF1ZURlTWFycXVhZ2UgPiBkaXZ7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAuZGl2SW5wdXRUYWlsbGUge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpdklucHV0VGFpbGxlLmZyb20tY3JlYXRlLXRhYmxlYXUge1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgfVxyXG4gICAgLmRpdklucHV0VGFpbGxlID4gLnRhaWxsZXMtZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgIGdhcDogMTBweCA1cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpdlRhaWxsZSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiA3MHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogODBweDtcclxuICAgICAgICAvKndpZHRoOiA4MHB4ICFpbXBvcnRhbnQ7Ki9cclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpdlRhaWxsZSAudGFpbGxlVW5pcXVle1xyXG4gICAgICAgIHdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXR7XHJcblxyXG4gICAgICAgIHdpZHRoOmNhbGMoNTAlIC0gMTBweCk7XHJcbiAgICAgICAgbWFyZ2luOjBweDtcclxuICAgIH1cclxuICAgIC5kaXZQb3NpdGlvbntcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6MjBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgLmNhdCAuYnV0dG9uTGFiZWx7XHJcbiAgICAgICAgd2lkdGg6OTAlO1xyXG4gICAgICAgIHBhZGRpbmc6MTBweCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAubW9kYWxDb250ZW50U3VjY2Vzc0RpdntcclxuICAgICAgICB3aWR0aDo5MCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOjkwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5cclxuLyogLS0tIFRvb2x0aXAgZm9yIENvbG9yIFN3YXRjaGVzIC0tLSAqL1xyXG4uaW5wdXRDb2xvckxhYmVsIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogVGhpcyBpcyBuZWNlc3NhcnkgZm9yIHRvb2x0aXAgcG9zaXRpb25pbmcgKi9cclxufVxyXG5cclxuLmlucHV0Q29sb3JMYWJlbDpob3Zlcjo6YmVmb3JlLFxyXG4uaW5wdXRDb2xvckxhYmVsOmhvdmVyOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyAvKiBBZGQgYSBzbWFsbCBkZWxheSBiZWZvcmUgc2hvd2luZyAqL1xyXG59XHJcblxyXG4uaW5wdXRDb2xvckxhYmVsOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApOyAvKiBHZXQgY29udGVudCBmcm9tIHRoZSBkYXRhLXRvb2x0aXAgYXR0cmlidXRlICovXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDE1MCU7IC8qIFBvc2l0aW9uIGFib3ZlIHRoZSBlbGVtZW50ICovXHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIFxyXG4gICAgLyogSGlkZSBieSBkZWZhdWx0ICovXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uaW5wdXRDb2xvckxhYmVsOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogY2FsYygxNTAlIC0gMTBweCk7IC8qIFBvc2l0aW9uIHRoZSBhcnJvdyBjb3JyZWN0bHkgKi9cclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHJcbiAgICBib3JkZXItd2lkdGg6IDVweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItY29sb3I6ICMzMzMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IC8qIEFycm93IHBvaW50aW5nIGRvd24gKi9cclxuXHJcbiAgICAvKiBIaWRlIGJ5IGRlZmF1bHQgKi9cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi8qIC0tLSBHZW5lcmljIFRvb2x0aXAgLS0tICovXHJcbi50b29sdGlwLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogMTBweDsgLyogU3BhY2UgYmV0d2VlbiB0ZXh0IGFuZCBpY29uICovXHJcbn1cclxuXHJcbi50b29sdGlwLWljb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG59XHJcblxyXG4udG9vbHRpcC1pY29uOmhvdmVyOjpiZWZvcmUsXHJcbi50b29sdGlwLWljb246aG92ZXI6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XHJcbn1cclxuXHJcbi50b29sdGlwLWljb246OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDE1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgLyogQWxsb3dzIG11bHRpbGluZSB0b29sdGlwcyAqL1xyXG4gICAgd2lkdGg6IDI1MHB4OyAvKiBBZGp1c3Qgd2lkdGggYXMgbmVlZGVkICovXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi50b29sdGlwLWljb246OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiBjYWxjKDE1MCUgLSAxMHB4KTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIGJvcmRlci13aWR0aDogNXB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogIzMzMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcclxuICAgIFxyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuXHJcbi8qIFNwaW5uZXIgZm9yIHByaWNlIGxvYWRpbmcgKi9cclxuLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtaW4taGVpZ2h0OiAxLjJlbTsgLyogRW5zdXJlIGNvbnRhaW5lciBoYXMgaGVpZ2h0IGV2ZW4gd2hlbiBlbXB0eSAqL1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbn1cclxuXHJcbi5wcmljZS1jb250YWluZXIuaGVhZFByaWNle1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuLnByaWNlLXNwaW5uZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQgKi9cclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmM2YzZjM7IC8qIExpZ2h0IGdyZXkgKi9cclxuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjMzQ5OGRiOyAvKiBCbHVlICovXHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAvKiBDZW50ZXJpbmcgaW5zaWRlIHRoZSBjb250YWluZXIgKi9cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogLThweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW4ge1xyXG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5cclxuLyogTG9naWMgdG8gc2hvdy9oaWRlIGJhc2VkIG9uIGJvZHkgY2xhc3MgKi9cclxuYm9keS5wcmljZS1pcy1sb2FkaW5nIC5wcmljZS1zcGlubmVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbmJvZHkucHJpY2UtaXMtbG9hZGluZyAuYWZmUHJpeCB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IC8qIEhpZGUgcHJpY2UgdGV4dCBidXQga2VlcCBzcGFjZSAqL1xyXG59XHJcbi8qIFN0eWxlcyBwb3VyIGxlIHRpdHJlIGRlIGNvbGxlY3Rpb24gKGltcG9ydO+/vXMgZGUgaG9tZSkgKi9cclxuLmRpdlRpdHJlQ29sbGVjdGlvbiB7XHJcbiAgICBtYXJnaW46IDgwcHggMCAxMHB4IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbmgyLk5vdHJlQ29sbGVjdGlvbiB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgY29sb3I6IHZhcigtLWdyaXNUZXh0TUgpO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuZGl2VGl0cmVDb2xsZWN0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIH1cclxuICAgIGgyLk5vdHJlQ29sbGVjdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBTdHlsZSBwb3VyIGxhIHBvcC11cCBtb2JpbGUgKi9cclxuLm1vYmlsZS1wYy1wb3B1cC1vdmVybGF5IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgICB6LWluZGV4OiAxMDAwMTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLm1vYmlsZS1wYy1wb3B1cC1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICB3aWR0aDogODUlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNXB4IHJnYmEoMCwwLDAsMC4yKTtcclxufVxyXG5cclxuLm1vYmlsZS1wYy1wb3B1cC1jb250ZW50IGgzIHtcclxuICAgIGNvbG9yOiAjMjFDMzY2OyAvKiB2YXIoLS1ncmVlbk1IKSAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubW9iaWxlLXBjLXBvcHVwLWNvbnRlbnQgcCB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGNvbG9yOiAjNUU1RTVFO1xyXG59XHJcblxyXG4jY2xvc2UtcG9wdXAtYnRuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMUMzNjY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcbiAgICAubW9iaWxlLXBjLXBvcHVwLW92ZXJsYXkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG4iLCIvKiBTdHlsZXMgcG91ciBsZSBjYXJvdXNlbCBkJ2F2aXMgTXlIb29kaWVzICovXHJcblxyXG4uY2Fyb3VzZWwtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG87XHJcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGN1cnNvcjogZ3JhYjtcclxufVxyXG5cclxuLmNhcm91c2VsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNhcm91c2VsLWNvbnRhaW5lciB7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XHJcbn1cclxuXHJcbi5jYXJvdXNlbC1jb250YWluZXI6YWN0aXZlIHtcclxuICAgIGN1cnNvcjogZ3JhYmJpbmc7XHJcbn1cclxuXHJcbi5jYXJvdXNlbCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgICBmbGV4OiAwIDAgMzUwcHg7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmOGY4Zjg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgaGVpZ2h0OiAyNTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY2FyZC5leHBhbmRlZCB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4ucmV2aWV3LXN0YXJzIHtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG59XHJcblxyXG4ucmV2aWV3LXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIGNvbG9yOiAjNUU1RTVFOyAvKiBWYWxldXIgZGUgdmFyKC0tZ3JleVRleHRNSCkgKi9cclxuICAgIG1hcmdpbjogMCAwIDEwcHggMCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDY7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmNhcmQuZXhwYW5kZWQgLnJldmlldy10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiB1bnNldDtcclxufVxyXG5cclxuLnJlYWQtbW9yZS1idG4ge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uY2FyZCAubm9tIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIG1hcmdpbiA6IGF1dG8gMCAwIDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcclxufVxyXG5cclxuLnZlcmlmaWVkLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIGdhcDogOHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi52ZXJpZmllZC1iYWRnZSB7XHJcbiAgICB3aWR0aDogMThweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbn1cclxuXHJcbi52ZXJpZmllZC10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1cmVtO1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzVFNUU1RTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuY2FyZCB7XHJcbiAgICAgICAgZmxleDogMCAwIDMyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAuY2FyZCB7XHJcbiAgICAgICAgZmxleDogMCAwIDM1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCl7XHJcbiAgICAuY2Fyb3VzZWwtY29udGFpbmVye1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC5jYXJke1xyXG4gICAgICAgIGZsZXg6IDAgMCAyNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCl7XHJcbiAgICAuY2Fyb3VzZWwtY29udGFpbmVyIHtcclxuICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZCB7XHJcbiAgICAgICAgc2Nyb2xsLXNuYXAtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmbGV4OiAwIDAgMjgwcHg7XHJcbiAgICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/