@charset "UTF-8";
/* Functions sass */
/********************************************************************/
/*********** Fonction qui genere un svg background-image ************/
/********************************************************************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/* Variables des icones */
/******************************************************************************/
/******************************************************************************/
/*********************** SVG OPTIONS D'EXPORT *********************************/
/******************************************************************************/
/******************************************************************************/
/*
	Options d'export pour rendre les SVG background-image compatibles avec IE11

	Fichier AI > Exporter la selection > paramètres (format) > SVG
		Attributs de présentation
		SVG
		Incorporer
		Noms de calques
		2
		Minimifier
		Responsive

	+ ajout de l'attribut preserveAspectRatio="xMinYMid"

	Si probleme de svg avec poplyline ou line > ouvrir le svg dans ai > selection de l'icone > Objet > tracé > Vectoriser le contour
*/
/********************/
/******* IMPORT *****/
/********************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/********************/
/******* LAYOUT *****/
/********************/
/* The_chevron */
/* OK */
/* Formulaires */
/* OK */
/* OK */
/* Slick slider */
/* OK */
/* OK */
/* OK */
/* Boutons */
/* Bouton LIEN */
/* OK */
/* Bouton ALL */
/* Bouton TXT */
/* OK */
/* Btn close */
/* OK */
/* Arrow back */
/* OK */
/* Arrow reinit */
/* OK */
/* Header */
/* Menu principal N1 actif */
/* Menu principal N2 */
/* Loupe */
/* OK */
/* Micro */
/* OK */
/* Mon compte */
/* Accès au favoris */
/* Je voudrais */
/* Footer */
/* Go to top */
/* OK */
/* Newsletter */
/* Contact */
/* OK */
/* OK */
/* OK */
/* Footer reseaux sociaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Fil d'ariane */
/* OK */
/* Share / bloc note / maj */
/* OK */
/* OK */
/* Reseaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Alerte */
/* OK */
/********************/
/***** HOME PAGE ****/
/********************/
/* Vidéo play/pause */
/* Je voudrais */
/* Title */
/* Triangle gris en background */
/* OK */
/* OK */
/* Carte interactive */
/* OK */
/* OK */
/********************/
/***** PAGE TYPE ****/
/********************/
/* Liste a puces  */
/* OK */
/* Citation  */
/* OK */
/* Accordeons */
/* OK */
/* Colonne contextuelle */
/* Bloc geoloc */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Telechargements */
/* OK */
/* OK */
/* OK */
/********************/
/***** PAGE LISTE ***/
/********************/
/* Image par defaut */
/* OK */
/* Btn afficher la carte */
/* OK */
/* Btn afficher la liste */
/* OK */
/* Filtres */
/* OK */
/* OK */
/* OK */
/* Localisation */
/* OK */
/*****************************/
/***** PAGE DE RECHERCHE *****/
/*****************************/
/* Pagination */
/* OK */
/* OK */
/* OK */
/* OK */
/*****************************/
/***** PAGE DETAIL / POPIN ***/
/*****************************/
/*****************************/
/**** CARTE INTERACTIVE ******/
/*****************************/
/* Filtres */
/* OK */
/* OK */
/*****************************/
/********* DASHBOARD *********/
/*****************************/
/* Tuiles */
/* Old */
/* Button */
/* Fonts */
/* Custom mixins */
/* ************************************************** */
/* ********************* MIXINS ********************* */
/* ************************************************** */
/* Button */
/* Bouton slick */
/* Degrade */
/* Shadow */
/* Btn_all */
/**
 * Foundation for Sites
 * Version 6.9.0
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************* FRONT EDITING ******************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
.t3-frontend-editing__ce {
  -ms-flex: 1 1 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  padding: 0;
}

.t3-frontend-editing__ce > * {
  -ms-flex: 0 0 100%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
  padding: 0;
}

/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* RESET **********************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/********************************** FONTS ***************************************/
/********************************************************************************/
/* Quand on rajoute le CSS dans le template de base : penser à changer les font-family par $regular / $semibold / $bold */
/********************************************************************************/
/****************************** NORMALISATION ***********************************/
/********************************************************************************/
/* Init foundation */
p {
  font-size: inherit;
  line-height: inherit;
}

* {
  border: 0;
  padding: 0;
  margin: 0;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-weight: normal;
}

html {
  width: 100%;
  height: 100%;
}

body {
  background: #ffffff;
  color: #000000;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1.4;
  text-align: left; /* Retourne en haut de page quand on ouvre une popin  height:100%;*/
  width: 100%;
}

html.is-reveal-open.zf-has-scroll {
  overflow: hidden;
} /* enlève la barre de scroll sur le html quand une popin est ouverte */
p, ul li, ol li, main p, main ul li, main ol li {
  font-size: 1.8em;
  line-height: 1.4;
}

p, ul, ol, main p, main ul, main ol {
  margin-bottom: 2.5rem;
}

a, main a {
  text-decoration: none;
  color: var(--cim_primary_color);
}

a:is(:hover, :focus), main a:is(:hover, :focus) {
  text-decoration: none;
  color: var(--cim_primary_color);
}

a, a svg *, button, button *, .button, .button * {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

a img, :link img, :visited img {
  border: none;
}

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

iframe {
  max-width: 100%;
}

/* gmap v3 fix bug */
.gm-style img, .gmnoscreen img, .gmnoprint img {
  max-width: none !important;
}

strong, b {
  font-weight: normal;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

i, em {
  font-style: italic;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif !important;
}

strong em, strong i, em strong, i strong, b em, b i, em b, i b {
  font-style: italic;
  font-weight: normal;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

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

sub, sup {
  font-size: 0.6em;
  font-family: inherit;
  font-weight: inherit;
  padding: 0 0.2rem;
}

font {
  font: inherit;
}

/*** EFFET SELECTION TXT ***/
::-moz-selection {
  background: #000000;
  color: #ffffff;
}
::selection {
  background: #000000;
  color: #ffffff;
}

::-moz-selection {
  background: #000000;
  color: #ffffff;
}

/*** CUSTOM SCROLLBAR ***/
@media only screen and (min-width: 64em) {
  :not(html):not(body)::-webkit-scrollbar {
    background: #ffffff;
    border-radius: 1.5rem;
    width: 1.5rem;
  }
  :not(html):not(body)::-webkit-scrollbar-corner {
    background: #e2e2e2;
    border-radius: 1.5rem;
  }
  :not(html):not(body)::-webkit-scrollbar-thumb {
    background: hsla(var(--cim_fourth_color_h), var(--cim_fourth_color_s), var(--cim_fourth_color_l), 0.6);
    border: 0.4rem solid #ffffff;
    border-radius: 1.5rem;
  }
  :not(html):not(body)::-webkit-scrollbar-thumb:hover {
    background: hsla(var(--cim_fourth_color_h), var(--cim_fourth_color_s), var(--cim_fourth_color_l), 0.8);
  }
  :not(html):not(body)::-webkit-scrollbar-thumb:active {
    background: hsla(var(--cim_fourth_color_h), var(--cim_fourth_color_s), var(--cim_fourth_color_l), 1);
  }
}
/********************************************************************************/
/************************************ LOADER ************************************/
/********************************************************************************/
.delay_0_4 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.delay_0_5 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.delay_0_6 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.delay_0_7 {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.delay_0_8 {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.delay_0_9 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.delay_1 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.delay_1_1 {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.delay_1_2 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.delay_1_3 {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.delay_1_4 {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.delay_1_5 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.delay_1_6 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.delay_1_7 {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.delay_1_8 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.delay_1_9 {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.delay_2 {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

.delay_2_1 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.delay_2_2 {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}

.delay_2_3 {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

.delay_2_4 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.delay_2_5 {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}

.delay_2_6 {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

.delay_2_7 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

.delay_2_8 {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}

.delay_2_9 {
  -webkit-transition-delay: 2.9s;
          transition-delay: 2.9s;
}

.delay_3 {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.delay_3_1 {
  -webkit-transition-delay: 3.1s;
          transition-delay: 3.1s;
}

.delay_3_2 {
  -webkit-transition-delay: 3.2s;
          transition-delay: 3.2s;
}

.delay_3_3 {
  -webkit-transition-delay: 3.3s;
          transition-delay: 3.3s;
}

.delay_3_4 {
  -webkit-transition-delay: 3.4s;
          transition-delay: 3.4s;
}

.delay_3_5 {
  -webkit-transition-delay: 3.5s;
          transition-delay: 3.5s;
}

.delay_3_6 {
  -webkit-transition-delay: 3.6s;
          transition-delay: 3.6s;
}

.delay_3_7 {
  -webkit-transition-delay: 3.7s;
          transition-delay: 3.7s;
}

.delay_3_8 {
  -webkit-transition-delay: 3.8s;
          transition-delay: 3.8s;
}

.delay_3_9 {
  -webkit-transition-delay: 3.9s;
          transition-delay: 3.9s;
}

.reveal-overlay.load-popin {
  display: block;
  z-index: 1008 !important;
}

.reveal-overlay.load-popin > .sk-circle {
  margin: 0 auto;
  width: 5rem;
  height: 100%;
  position: relative;
  top: 50%;
  z-index: 1008;
}

.reveal-overlay.load-popin .sk-circle .sk-child {
  top: 0;
  height: 5rem;
}

.reveal-overlay.load-popin .sk-circle .sk-child::before {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #ffffff;
}

#loader_filters {
  position: fixed;
  top: 40%;
  left: 40%;
  z-index: 701;
  visibility: hidden;
}

#second_display #loader_filters {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: visible;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
}

#second_display #loader_filters .sk-circle {
  margin: 0 auto;
  width: 100%;
  height: 100%;
  position: relative;
}

#second_display #loader_filters .sk-circle .sk-child::before {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #ffffff;
}

#second_display #loader_filters .sk-circle .sk-child {
  height: 5rem;
  top: 50%;
}

.sk-circle.qual {
  float: right;
  margin: 0 2rem 0 0;
  width: 4rem;
  height: 4rem;
}

.sk-circle.qual.no {
  position: absolute;
  float: none;
  margin: 0;
  right: -5rem;
  top: 0;
}

.sk-circle.qual .sk-child::before {
  height: 0.6rem;
  width: 0.6rem;
  background-color: #ffffff;
}

.sk-circle {
  margin: 10rem auto;
  width: 5rem;
  height: 5rem;
  position: relative;
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  border-radius: 100%;
  background-color: var(--cim_primary_color);
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
          animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.sk-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
}

.sk-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
      -ms-transform: rotate(60deg);
          transform: rotate(60deg);
}

.sk-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.sk-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
      -ms-transform: rotate(120deg);
          transform: rotate(120deg);
}

.sk-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
      -ms-transform: rotate(150deg);
          transform: rotate(150deg);
}

.sk-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

.sk-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
      -ms-transform: rotate(210deg);
          transform: rotate(210deg);
}

.sk-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
      -ms-transform: rotate(240deg);
          transform: rotate(240deg);
}

.sk-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
}

.sk-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
      -ms-transform: rotate(300deg);
          transform: rotate(300deg);
}

.sk-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
      -ms-transform: rotate(330deg);
          transform: rotate(330deg);
}

.sk-circle .sk-circle2::before {
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s;
}

.sk-circle .sk-circle3::before {
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}

.sk-circle .sk-circle4::before {
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s;
}

.sk-circle .sk-circle5::before {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}

.sk-circle .sk-circle6::before {
  -webkit-animation-delay: -0.7s;
          animation-delay: -0.7s;
}

.sk-circle .sk-circle7::before {
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s;
}

.sk-circle .sk-circle8::before {
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
}

.sk-circle .sk-circle9::before {
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}

.sk-circle .sk-circle10::before {
  -webkit-animation-delay: -0.3s;
          animation-delay: -0.3s;
}

.sk-circle .sk-circle11::before {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}

.sk-circle .sk-circle12::before {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.wrap_result.opacity #second_display, .wrap_result.opacity #first_display {
  opacity: 0;
}

#searchLoader {
  position: absolute;
  bottom: -3rem;
  left: 50%;
  font-size: inherit;
}

.loader, .loader::before, .loader::after {
  border-radius: 1rem;
  width: 2rem;
  height: 2rem;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
          animation: load7 1.8s infinite ease-in-out;
}

.loader {
  margin: 0 auto;
  font-size: 9rem;
  position: relative;
  text-indent: -99999em;
  -webkit-animation-delay: 0.16s;
          animation-delay: 0.16s;
}

.loader::before, .loader::after {
  content: "";
  position: absolute;
  top: 0;
}

.loader::before {
  left: -3rem;
}

.loader::after {
  left: 3rem;
  -webkit-animation-delay: 0.32s;
          animation-delay: 0.32s;
}

/*** LOADER COLOR ***/
@-webkit-keyframes load7 {
  0% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
  65% {
    -webkit-box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
            box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
  }
  100% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
}
@keyframes load7 {
  0% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
  65% {
    -webkit-box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
            box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
  }
  100% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
}
.cs-loader {
  width: calc(100% - 3rem);
  height: 100%;
  top: 0;
  left: 1.5rem;
  position: absolute;
  z-index: 9;
  visibility: visible;
  background: rgba(0, 0, 0, 0.6);
}

.cs-loader-inner {
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  top: 30rem;
  position: absolute;
  padding: 0 10rem;
  color: #ffffff;
  text-align: center;
}

.cs-loader-inner div {
  color: #ffffff;
  font-size: 2rem;
  opacity: 0;
  display: inline-block;
}

.cs-loader-inner div:nth-child(6) {
  -webkit-animation: lol 3s infinite ease-in-out;
          animation: lol 3s infinite ease-in-out;
}

.cs-loader-inner div:nth-child(5) {
  -webkit-animation: lol 3s 100ms infinite ease-in-out;
          animation: lol 3s 100ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(4) {
  -webkit-animation: lol 3s 200ms infinite ease-in-out;
          animation: lol 3s 200ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(3) {
  -webkit-animation: lol 3s 300ms infinite ease-in-out;
          animation: lol 3s 300ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(2) {
  -webkit-animation: lol 3s 400ms infinite ease-in-out;
          animation: lol 3s 400ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(1) {
  -webkit-animation: lol 3s 500ms infinite ease-in-out;
          animation: lol 3s 500ms infinite ease-in-out;
}

@-webkit-keyframes lol {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30rem);
            transform: translateX(-30rem);
  }
  33% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  66% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(30rem);
            transform: translateX(30rem);
  }
}

@keyframes lol {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30rem);
            transform: translateX(-30rem);
  }
  33% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  66% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(30rem);
            transform: translateX(30rem);
  }
}
/********************************************************************************/
/************************************ TYPO 3 ************************************/
/********************************************************************************/
/*** DEFAULT STYLES FOR EXTENSION "TX_CSSSTYLEDCONTENT" ***/
/* Headers */
.csc-header-alignment-center {
  text-align: center;
}

.csc-header-alignment-right {
  text-align: right;
}

.csc-header-alignment-left {
  text-align: left;
}

div.csc-textpic-responsive, div.csc-textpic-responsive * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Clear floats after csc-textpic and after csc-textpic-imagerow */
div.csc-textpic, div.csc-textpic div.csc-textpic-imagerow, ul.csc-uploads li {
  overflow: hidden;
}

/* Set padding for tables */
div.csc-textpic .csc-textpic-imagewrap table {
  border-collapse: collapse;
  border-spacing: 0;
}

div.csc-textpic .csc-textpic-imagewrap table tr td {
  padding: 0;
  vertical-align: top;
}

/* Captions */
div.csc-textpic-caption-c .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-c {
  text-align: center;
}

div.csc-textpic-caption-r .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-r {
  text-align: right;
}

div.csc-textpic-caption-l .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-l {
  text-align: left;
}

/* Float the columns */
div.csc-textpic div.csc-textpic-imagecolumn {
  float: left;
}

/* Border just around the image */
div.csc-textpic-border div.csc-textpic-imagewrap img {
  border: 0.2rem solid #797676;
  padding: 0;
}

div.csc-textpic .csc-textpic-imagewrap img {
  border: none;
  display: block;
  width: 100%;
}

/* Space below each image (also in-between rows) */
div.csc-textpic .csc-textpic-imagewrap .csc-textpic-image {
  margin-bottom: 1rem;
}

div.csc-textpic .csc-textpic-imagewrap .csc-textpic-imagerow-last .csc-textpic-image {
  margin-bottom: 0;
}

/* colSpace around image columns, except for last column */
div.csc-textpic-imagecolumn, td.csc-textpic-imagecolumn .csc-textpic-image {
  margin-right: 1rem;
}

div.csc-textpic-imagecolumn.csc-textpic-lastcol, td.csc-textpic-imagecolumn.csc-textpic-lastcol .csc-textpic-image {
  margin-right: 0;
}

/* Add margin from image-block to text (in case of "Text & Images") */
div.csc-textpic-intext-left .csc-textpic-imagewrap,
div.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap {
  margin-right: 1rem;
}

div.csc-textpic-intext-right .csc-textpic-imagewrap,
div.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap {
  margin-left: 1rem;
}

/*** POSITIONING OF IMAGES ***/
/* Center (above or below) */
div.csc-textpic-center .csc-textpic-imagewrap, div.csc-textpic-center figure.csc-textpic-imagewrap {
  overflow: hidden;
}

div.csc-textpic-center .csc-textpic-center-outer {
  position: relative;
  float: right;
  right: 50%;
}

div.csc-textpic-center .csc-textpic-center-inner {
  position: relative;
  float: right;
  right: -50%;
}

/* Right (above or below) */
div.csc-textpic-right .csc-textpic-imagewrap {
  float: right;
  width: 100%;
}

div.csc-textpic-right div.csc-textpic-text {
  clear: right;
}

/* Left (above or below) */
div.csc-textpic-left .csc-textpic-imagewrap {
  float: left;
}

div.csc-textpic-left div.csc-textpic-text {
  clear: left;
}

/* Left (in text) */
div.csc-textpic-intext-left .csc-textpic-imagewrap {
  float: left;
}

/* Right (in text) */
div.csc-textpic-intext-right .csc-textpic-imagewrap {
  float: right;
}

/* Right (in text, no wrap around) */
div.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap {
  float: right;
}

/* Left (in text, no wrap around) */
div.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap {
  float: left;
}

div.csc-textpic div.csc-textpic-imagerow-last, div.csc-textpic div.csc-textpic-imagerow-none div.csc-textpic-last {
  margin-bottom: 0;
}

/*** BROWSER FIXES: ***/
/* Fix for unordered and ordered list with image "In text, left" */
.csc-textpic-intext-left ol, .csc-textpic-intext-left ul {
  padding-left: 4rem;
  overflow: auto;
}

/*** TEXTMEDIA ***/
.csc-textmedia,
.csc-textmedia-gallery {
  overflow: hidden;
}

.csc-textmedia-gallery-column {
  float: left;
}

.csc-textmedia-gallery-column {
  margin-right: 1rem;
}

.csc-textmedia-gallery-column:last-child {
  margin-right: 0;
}

.csc-textmedia-gallery-row {
  overflow: hidden;
  margin-bottom: 1rem;
}

.csc-textmedia-gallery-row:last-child {
  margin-bottom: 0;
}

.csc-textmedia-above .csc-textmedia-gallery {
  margin-bottom: 1rem;
}

.csc-textmedia-above-right .csc-textmedia-gallery {
  float: right;
}

.csc-textmedia-above-left .csc-textmedia-gallery {
  float: left;
}

.csc-textmedia-above .csc-textmedia-text {
  clear: both;
}

.csc-textmedia-above-center .csc-textmedia-gallery-outer,
.csc-textmedia-below-center .csc-textmedia-gallery-outer {
  position: relative;
  float: right;
  right: 50%;
}

.csc-textmedia-above-center .csc-textmedia-gallery-inner,
.csc-textmedia-below-center .csc-textmedia-gallery-inner {
  position: relative;
  float: right;
  right: -50%;
}

.csc-textmedia-below .csc-textmedia-gallery {
  margin-top: 1rem;
}

.csc-textmedia-below-right .csc-textmedia-gallery {
  float: right;
}

.csc-textmedia-below-left .csc-textmedia-gallery {
  float: left;
}

.csc-textmedia-inside-right .csc-textmedia-gallery {
  float: right;
  margin-left: 1rem;
}

.csc-textmedia-inside-left .csc-textmedia-gallery {
  float: left;
  margin-right: 1rem;
}

.csc-textmedia-beside-right .csc-textmedia-gallery {
  float: right;
  margin-left: 1rem;
}

.csc-textmedia-beside-right .csc-textmedia-text {
  overflow: hidden;
}

.csc-textmedia-beside-left .csc-textmedia-gallery {
  float: left;
  margin-right: 1rem;
}

.csc-textmedia-beside-left .csc-textmedia-text {
  overflow: hidden;
}

/*** UPLOADS ***/
.ce-uploads {
  margin: 0;
  padding: 0;
}

.ce-uploads li {
  list-style: none outside none;
  margin: 1em 0;
}

.ce-uploads img {
  float: left;
  margin-right: 1em;
  vertical-align: top;
}

.ce-uploads span {
  display: block;
}

/*** TABLE ***/
.contenttable {
  width: 100%;
  max-width: 100%;
}

.contenttable th, .contenttable td {
  padding: 0.5em 0.75em;
  vertical-align: top;
}

.contenttable thead th {
  font-weight: bold; /*border-bottom:0.2rem solid $cim_light_gray;*/
}

.contenttable th, .contenttable td {
  border-top: 0.1rem solid #e2e2e2;
}

.contenttable-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.contenttable-bordered th, .contenttable-bordered td {
  border: 0.1rem solid #e2e2e2;
}

/*** SPACE ***/
.csc-space-before-extra-small {
  margin-top: 1em;
}

.csc-space-before-small {
  margin-top: 2em;
}

.csc-space-before-semibold {
  margin-top: 3em;
}

.csc-space-before-large {
  margin-top: 4em;
}

.csc-space-before-extra-large {
  margin-top: 5em;
}

.csc-space-after-extra-small {
  margin-bottom: 1em;
}

.csc-space-after-small {
  margin-bottom: 2em;
}

.csc-space-after-semibold {
  margin-bottom: 3em;
}

.csc-space-after-large {
  margin-bottom: 4em;
}

.csc-space-after-extra-large {
  margin-bottom: 5em;
}

/*** FRAME ***/
.csc-frame-ruler-before::before {
  content: "";
  display: block;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-bottom: 2em;
}

.csc-frame-ruler-after::after {
  content: "";
  display: block;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-top: 2em;
}

.csc-frame-indent {
  margin-left: 15%;
  margin-right: 15%;
}

.csc-frame-indent-left {
  margin-left: 33%;
}

.csc-frame-indent-right {
  margin-right: 33%;
}

/*** DEFAULT STYLES FOR EXTENSION "TX_FRONTEND" ***/
.ce-align-left {
  text-align: left;
}

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

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

.ce-table td, .ce-table th {
  vertical-align: top;
}

.ce-textpic {
  margin-bottom: 3rem;
}

.ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div {
  overflow: hidden;
}

.ce-left .ce-gallery, .ce-column {
  float: left;
}

.ce-center .ce-outer {
  position: relative;
  float: right;
  right: 50%;
}

.ce-center .ce-inner {
  position: relative;
  float: right;
  right: -50%;
}

.ce-right .ce-gallery {
  float: right;
}

.ce-gallery figure {
  display: table;
  margin: 0;
}

.ce-gallery figcaption {
  display: table-caption;
  caption-side: bottom;
}

.ce-gallery img {
  display: block;
}

.ce-gallery iframe {
  border-width: 0;
}

.ce-border img, .ce-border iframe {
  border: 0.2rem solid #797676;
  padding: 0;
}

.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {
  margin-bottom: 1rem;
}

.ce-intext.ce-right .ce-gallery {
  margin-left: 1rem;
}

.ce-intext.ce-left .ce-gallery {
  margin-right: 1rem;
}

.ce-below .ce-gallery {
  margin-top: 1rem;
}

.ce-column {
  margin-right: 1rem;
}

.ce-column:last-child {
  margin-right: 0;
}

.ce-row {
  margin-bottom: 1rem;
}

.ce-row:last-child {
  margin-bottom: 0;
}

.ce-above .ce-bodytext {
  clear: both;
}

.ce-intext.ce-left ol, .ce-intext.ce-left ul {
  padding-left: 4rem;
  overflow: auto;
}

.ce-bodytext > *:last-child {
  margin-bottom: 0;
}

.ce-bodytext > *:first-child, .ce-bodytext > header > *:first-child {
  margin-top: 0;
}

/*** HEADLINE ***/
.ce-headline-left {
  text-align: left;
}

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

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

/*** UPLOADS ***/
.ce-uploads {
  margin: 0;
  padding: 0;
}

.ce-uploads li {
  list-style: none outside none;
  margin: 1em 0;
}

.ce-uploads img {
  float: left;
  padding-right: 1em;
  vertical-align: top;
}

.ce-uploads span {
  display: block;
}

/*** TABLE ***/
.ce-table {
  width: 100%;
  max-width: 100%;
}

.ce-table th, .ce-table td {
  padding: 0.5em 0.75em;
  vertical-align: top;
}

.ce-table thead th {
  border-bottom: 0.2rem solid #e2e2e2;
}

.ce-table th, .ce-table td {
  border-top: 0.1rem solid #e2e2e2;
}

.ce-table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.ce-table-bordered th, .ce-table-bordered td {
  border: 0.1rem solid #e2e2e2;
}

/*** SPACE ***/
.frame-space-before-extra-small {
  margin-top: 1em;
}

.frame-space-before-small {
  margin-top: 2em;
}

.frame-space-before-semibold {
  margin-top: 3em;
}

.frame-space-before-large {
  margin-top: 4em;
}

.frame-space-before-extra-large {
  margin-top: 5em;
}

.frame-space-after-extra-small {
  margin-bottom: 1em;
}

.frame-space-after-small {
  margin-bottom: 2em;
}

.frame-space-after-semibold {
  margin-bottom: 3em;
}

.frame-space-after-large {
  margin-bottom: 4em;
}

.frame-space-after-extra-large {
  margin-bottom: 5em;
}

/*** FRAME ***/
.frame-ruler-before::before {
  content: "";
  display: block;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-bottom: 2em;
}

.frame-ruler-after::after {
  content: "";
  display: block;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-top: 2em;
}

.frame-indent {
  margin-left: 15%;
  margin-right: 15%;
}

.frame-indent-left {
  margin-left: 33%;
}

.frame-indent-right {
  margin-right: 33%;
}

/*** DEBUG ***/
.extbase-debugger-top {
  color: red;
  font-weight: bold;
  background: #000000;
}

.extbase-debugger-tree input {
  width: 14px !important;
}

.extbase-debugger-center .extbase-debug-type {
  color: pink;
}

.extbase-debugger-center .extbase-debug-string {
  color: salmon;
}

/********************************************************************************/
/******************************* FORMULAIRES ************************************/
/********************************************************************************/
.content_page form {
  margin-bottom: 3rem;
}

legend, .like_legend {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 3.6em;
  line-height: 1.2em;
  margin: 0 0 2rem 0;
  float: none;
  width: 100%;
}

fieldset + fieldset legend {
  padding-top: 2rem;
}

legend.show-for-sr {
  margin: 0;
  display: initial;
}

/*#col_left_inner fieldset, #col_left_inner_popin fieldset*/
.content_page fieldset {
  min-width: 100%;
  max-width: 100%;
}

.ligne_form, .csc-mailform-field, .powermail_fieldwrap {
  margin: 0 0 3rem 0;
  clear: both;
}

.ligne_form[data-sectionduplicator] .ligne_form {
  margin-bottom: 1rem;
}

.ligne_form.creneau {
  margin-top: 1rem;
  padding-left: 2.5rem;
}

.ligne_form.creneau label {
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
}

.ligne_form.creneau select {
  margin-top: 0.5rem;
}

/* labels */
label, .input-group-label, .powermail_label.powermail_radio_legend, .powermail_label, .label, .like_label {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  padding: 0;
}

ul li label {
  font-size: 1em;
  line-height: 1em;
}

.like_label {
  color: #000000;
  font-size: 1.6em;
  line-height: 1.4;
  margin-bottom: 0;
  text-transform: initial;
}

/* Labels dans popin filtres du moteur page liste // si differents du skin general */
/*#filters label, #filters .input-group-label, #filters .powermail_label.powermail_radio_legend, #filters .powermail_label, #filters .label {}*/
/* affichage texte simple - skin comme label ou p */
.powermail_fieldwrap_type_text .powermail_field {
  font-size: 1.6em;
  line-height: 1.4;
}

/* champs */
input[type=file] {
  font-size: 1.4em;
  cursor: pointer;
}

input, select, textarea, [type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color] {
  border: 0;
  border-bottom: 1px solid #b1b1b1;
}

input::-webkit-input-placeholder {
  color: #000000;
}

input::-moz-placeholder {
  color: #000000;
  opacity: 1 !important;
}

input:-moz-placeholder {
  color: #000000;
  opacity: 1 !important;
}

input:-ms-input-placeholder {
  color: #000000;
}

input[placeholder] {
  color: #000000;
  opacity: 1 !important;
}

textarea:focus, select:focus, [type=file]:focus, [type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus {
  border: 0;
  border-bottom: 0.1rem solid var(--cim_primary_color);
}

/* Champs dans popin filtres du moteur page liste // si differents du skin general */
/*#filters input, #filters select, #filters textarea, #filters [type='text'], #filters [type='password'], #filters [type='date'], #filters [type='datetime'], #filters [type='datetime-local'], #filters [type='month'], #filters [type='week'], #filters [type='email'], #filters [type='number'], #filters [type='search'], #filters [type='tel'], #filters [type='time'], #filters [type='url'], #filters [type='color'] {background-color:$cim_black;}*/
textarea, textarea[rows] {
  max-width: 100%;
  min-width: 100%;
  height: 10rem;
  -webkit-transition: 0.3s ease-in-out, height 0s;
  transition: 0.3s ease-in-out, height 0s;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: right 1.8rem center;
  background-size: 1.8rem auto;
  text-overflow: "";
  text-indent: 0.01rem;
  margin-bottom: 0;
}

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

button {
  cursor: pointer;
}

/* miniature file */
.content_page .ligne_form.file .file_inner input[type=file] {
  height: auto;
  width: auto;
}

.content_page .ligne_form.file .file_inner > * {
  display: inline-block;
}

.miniatures, .content_page .miniatures {
  margin: 1rem 1rem 0 0;
  max-width: 100%;
}

.miniatures li, .content_page ul.miniatures li {
  background-image: none;
  background-color: #e2e2e2;
  padding: 0.5rem;
  display: inline-block;
  vertical-align: top;
  margin: 0 1rem 1rem 0;
  height: 15rem;
}

.miniatures li img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: auto;
}

/* checkbox / radio */
input[type=checkbox], input[type=radio] {
  vertical-align: top;
  padding: 0;
  margin: 0.4rem;
  border: 0;
  width: auto;
  background: none;
  -webkit-appearance: initial;
}

.ligne_form.checkbox, .ligne_form.radio {
  margin: 0;
}

.powermail_fieldwrap_type_check > .powermail_field, .powermail_fieldwrap_type_radio > .powermail_field {
  padding-top: 0.5rem;
}

.ligne_form.checkbox, .ligne_form.radio, .powermail_fieldwrap_type_check .checkbox label, .powermail_fieldwrap_type_radio .radio label {
  position: relative;
}

.ligne_form.checkbox label, .ligne_form.radio label, .powermail_fieldwrap_type_check .checkbox label, .powermail_fieldwrap_type_radio .radio label {
  padding: 0.1rem 0 0.1rem 3rem;
}

.iradio, .icheckbox {
  position: absolute;
  top: 0.6rem;
}

.iradio {
  left: 0.1rem;
  border-radius: 50%;
}

.icheckbox {
  left: 0;
}

*:is(.icheckbox_minimal, .iradio_minimal) {
  background-size: 19.8rem 1.8rem;
  background-repeat: no-repeat;
}

/* range */
.slider .slider-handle[aria-controls=sliderOutput2] {
  left: 20%;
}

.slider-handle {
  width: 2em;
  height: 2rem;
  border-radius: 2rem;
}

.slider-handle input {
  position: absolute;
  top: 100%;
  left: -50%;
  width: auto;
  height: 3rem;
  padding: 0.5rem 0 0 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  background-color: transparent !important;
  overflow: hidden;
  border: 0;
  border-radius: 0;
}

.slider-handle span {
  position: absolute;
  top: 100%;
  right: -60%;
  padding: 0.8rem 0 0 0.5rem;
  font-size: 1.2em;
  line-height: 1.5;
}

.slider-fill {
  background: var(--cim_primary_color);
}

.slider-handle {
  background-color: #ffffff;
  border: 0.2rem solid var(--cim_primary_color);
}

.slider-handle:hover {
  background-color: var(--cim_primary_color);
}

/* submit */
.powermail_fieldwrap.powermail_fieldwrap_type_submit::after {
  content: "";
  clear: both;
  display: block;
}

div.btn_submit {
  margin: 0;
  padding: 1.5rem 0 0 0;
}

input:is([type=submit], [type=button]), .powermail_confirmation input[type=submit] {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  border: 0.1rem solid #000000;
  border-radius: 4.8rem;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.6rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  padding: 0.5em 1em;
}
[data-whatinput=mouse] input:is([type=submit], [type=button]), [data-whatinput=mouse] .powermail_confirmation input[type=submit] {
  outline: 0;
}
input:is([type=submit], [type=button]), input:is([type=submit], [type=button]).disabled, input:is([type=submit], [type=button])[disabled], input:is([type=submit], [type=button]).disabled:hover, input:is([type=submit], [type=button])[disabled]:hover, input:is([type=submit], [type=button]).disabled:focus, input:is([type=submit], [type=button])[disabled]:focus, .powermail_confirmation input[type=submit], .powermail_confirmation input[type=submit].disabled, .powermail_confirmation input[type=submit][disabled], .powermail_confirmation input[type=submit].disabled:hover, .powermail_confirmation input[type=submit][disabled]:hover, .powermail_confirmation input[type=submit].disabled:focus, .powermail_confirmation input[type=submit][disabled]:focus {
  background-color: #ffffff;
  color: #000000;
}
input:is([type=submit], [type=button]):hover, input:is([type=submit], [type=button]):focus, .powermail_confirmation input[type=submit]:hover, .powermail_confirmation input[type=submit]:focus {
  background-color: #000000;
  color: #000000;
}
input:is([type=submit], [type=button]), .powermail_confirmation input[type=submit] {
  position: relative;
  width: auto;
  -webkit-appearance: none !important;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  border: 0.1rem solid #000000;
}

input:is([type=submit], [type=button]):is(:hover, :focus), .powermail_confirmation input[type=submit]:is(:hover, :focus) {
  color: #ffffff;
  background-color: #000000;
}

/* Champs dans popin filtres du moteur page liste // si differents du skin general : */
/* Combobox */
.custom-combobox {
  display: block;
  position: relative;
}

.custom-combobox .custom-combobox-input {
  padding: 0.7rem 1rem 0.7rem 0;
  width: 100%;
  font-size: 1.8em;
  line-height: 1.4;
  color: #797676;
}

.custom-combobox .custom-combobox-input:focus {
  outline: none;
}

.custom-combobox .custom-combobox-toggle {
  width: 5rem;
  height: calc(100% - 0.2rem);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: right 1.8rem center;
  background-size: 1.8rem auto;
  text-overflow: "";
  text-indent: 0.01rem;
  position: absolute;
  right: 0.1rem;
  top: 0.1rem;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.custom-combobox-input::-webkit-input-placeholder {
  color: #797676;
}

.custom-combobox-input::-moz-placeholder {
  color: #797676;
}

.custom-combobox-input:-moz-placeholder {
  color: #797676;
}

.custom-combobox-input:-ms-input-placeholder {
  color: #797676;
}

.custom-combobox-input[placeholder] {
  color: #797676;
}

.ui-autocomplete {
  z-index: 1005;
  max-width: calc(80rem - 13rem) !important;
  max-width: 33rem !important;
  width: 30vw !important;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-autocomplete li {
  font-size: 1.6rem;
  border: 0.1rem solid #e2e2e2;
  border-top: 0;
}

.ui-autocomplete li div {
  cursor: pointer;
  padding: 0.5rem 1rem;
}

.ui-autocomplete li:nth-child(even) {
  background-color: #ffffff;
}

.ui-autocomplete li:nth-child(odd) {
  background-color: rgb(238.75, 238.75, 238.75);
}

.ui-autocomplete .ui-state-active, .ui-autocomplete .ui-widget-content .ui-state-active, .ui-autocomplete .ui-widget-header .ui-state-active, .ui-autocomplete a.ui-button:active, .ui-autocomplete .ui-button:active, .ui-autocomplete .ui-button.ui-state-active:hover {
  background: #e2e2e2;
}

.ui-tooltip {
  padding: 1rem;
  position: absolute;
  z-index: 9999;
  max-width: 30rem;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  border-radius: 0;
  font-size: 1.2rem;
}

body .ui-tooltip {
  border-width: 2px;
}

/* Password */
.view_password {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #e2e2e2 no-repeat center center/2.5rem auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 28.26'%3E%3Cpath d='M26.09,1.09c-13.81,0-25,14.13-25,14.13s11.19,14.13,25,14.13,25-14.13,25-14.13S39.9,1.09,26.09,1.09Zm0,24.13a10,10,0,1,1,10-10A10,10,0,0,1,26.09,25.22Z' transform='translate(-1.09 -1.09)' fill='%23000000'/%3E%3Ccircle cx='25' cy='14.13' r='5' fill='%23000000'/%3E%3C/svg%3E");
  text-indent: -9999rem;
  border-radius: 50%;
  background-size: 1.5rem auto;
  overflow: hidden;
}

.view_password:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 28.26'%3E%3Cpath d='M26.09,1.09c-13.81,0-25,14.13-25,14.13s11.19,14.13,25,14.13,25-14.13,25-14.13S39.9,1.09,26.09,1.09Zm0,24.13a10,10,0,1,1,10-10A10,10,0,0,1,26.09,25.22Z' transform='translate(-1.09 -1.09)' fill='%23ffffff'/%3E%3Ccircle cx='25' cy='14.13' r='5' fill='%23ffffff'/%3E%3C/svg%3E");
  background-color: #000000;
}

/************************* ANIMATE LABEL **************************************/
.ligne_form.focusin textarea, .ligne_form.focusin select, .ligne_form.focusin input,
.powermail_fieldwrap_type_textarea.focusin textarea, .powermail_fieldwrap_type_input.focusin input, .powermail_fieldwrap_date.focusin input,
.powermail_fieldwrap_textarea.focusin textarea, .powermail_fieldwrap_input.focusin input {
  outline: none;
  border-width: 0.1rem;
  border-style: solid; /*box-shadow:0 0 0 0.2rem var(--cim_primary_color);*/
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

/* champs obligatoires */
.mandatory, .femanager_new .control-label span {
  text-transform: none;
  color: #000000;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-size: 1.2rem;
  padding: 0 0.8rem;
}

/* champs desactives */
input[type=submit][disabled] {
  background: #cacaca !important;
}

input[type=text][disabled] {
  background: #cacaca !important;
}

.input-group {
  margin-bottom: 0;
}

.input-group > :first-child {
  border-radius: 0;
}

.input-group-label, .input-group-label > :first-child {
  border-radius: 0;
  border: 0;
  background-color: #e2e2e2;
  height: 4rem;
  white-space: initial;
}

/* message d'erreur */
/* erreurs */
.parsley-errors-list {
  padding: 0 !important;
  margin: 0 !important;
}

.parsley-required, .parsley-custom-error-message {
  color: #cc4b37 !important;
  font-size: 1.4rem !important;
  font-weight: normal !important;
  margin: 1rem 0 0 0 !important;
  padding: 0 0 0 0.5rem !important;
  list-style: none !important;
  line-height: 1.2;
  border-left: 0.2rem solid #cc4b37 !important;
  background: none !important;
}

.parsley-required:not(:first-child), .parsley-custom-error-message:not(:first-child) {
  margin-top: 0.5rem !important;
}

.parsley-required::before, .parsley-custom-error-message::before {
  display: none !important;
}

.checkbox_absolute .ligne_form.checkbox .parsley-errors-list.filled {
  position: absolute;
  top: -3.5rem;
}

/* Message error */
form .error {
  margin: 2rem 0;
}

form .error p {
  color: #cc4b37;
  margin-bottom: 0;
}

.content_page .powermail_message_error {
  padding: 0;
  margin-bottom: 2.5rem;
}

.content_page .powermail_message_error li {
  padding: 0;
  list-style-image: none;
  color: #cc4b37;
}

.powermail_field_error {
  -webkit-box-shadow: 0 0 0.2rem #cc4b37;
          box-shadow: 0 0 0.2rem #cc4b37;
  border: 0.1rem solid #cc4b37;
}

.powermail_message.powermail_message_error li {
  padding-left: 1rem !important;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  line-height: 1.8em;
}

.powermail_message.powermail_message_error li::before, .powermail_message.powermail_message_error li::after {
  border-color: #cc4b37 !important;
}

/* msg validation reception / page validation infos */
.powermail_create, .powermail_confirmation {
  background: none;
  padding: 2.5rem 0;
}

.powermail_confirmation form {
  padding: 0;
  background: transparent;
  max-width: 100%;
  margin: 0;
}

.powermail_confirmation .powermail_confirmation_form, .powermail_confirmation .powermail_confirmation_submit {
  height: auto;
  margin: 2rem 0 0 0;
}

.powermail_confirmation .powermail_confirmation_form {
  float: left;
}

/* page de confirmation */
#page .powermail_confirmation h4 {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

dl.powermail_all {
  margin: 0 0 2rem 0;
  font-size: 1.6em;
  line-height: 1.4em;
}

dl.powermail_all dt {
  margin: 0 1.5rem 1.5rem 0;
  float: left;
  clear: left;
  font-weight: normal;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

dl.powermail_all dd {
  margin: 0 0 1.5rem 0;
  float: left;
  width: auto;
}

/* Champs suivant */
.powermail_confirmation input[type=submit].powermail_confirmation_form {
  float: left;
}

.powermail_confirmation input[type=submit].powermail_confirmation_submit {
  float: right;
}

div.tx_powermail_pi1_fieldwrap_html_check label {
  width: 2.5rem;
  margin-top: 0.2rem;
}

.tx_powermail_pi1_fieldwrap_html_check input {
  width: 2.5rem;
  margin-top: 0.5rem;
}

.tx_powermail_pi1_fieldwrap_html_submitgraphic {
  text-align: center;
}

.tx_powermail_pi1_fieldwrap_html_submitgraphic input {
  float: none;
  width: 9.8rem;
  border: 0;
}

/********************************************************************************/
/******************************* DATE PICKER ************************************/
/********************************************************************************/
body .datepicker.dropdown-menu {
  border-radius: 0;
  padding: 1rem;
}

body .datepicker.dropdown-menu table thead, body .datepicker.dropdown-menu table tbody, body .datepicker.dropdown-menu table tfoot {
  border: 0;
}

body .datepicker td span.active, body .datepicker td.active.day, body .datepicker td.active.year {
  color: #ffffff;
}

body .datepicker td span.active, body .datepicker td.active.day, body .datepicker td.active.year {
  background: var(--cim_primary_color);
}

body .datepicker td, body .datepicker th {
  width: 3.3rem;
  height: 3.3rem;
  font-size: 1.4rem;
}

body .datepicker thead {
  color: #000000;
}

/********************************************************************************/
/**************************** CLASSES GENERIQUES ********************************/
/********************************************************************************/
.radius {
  border-radius: 0;
}

.shadow {
  -webkit-box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.2);
}

.shadow_inset {
  -webkit-box-shadow: inset 0 0.1rem 0 0 rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 0.1rem 0 0 rgba(0, 0, 0, 0.1);
}

.overlay { /* couleur a definir */
  background: rgba(0, 0, 0, 0.9);
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.seph1 {
  font-size: 0.1rem;
  height: 0.1rem;
  clear: both;
}

.clear {
  clear: both;
  height: 0;
}

span.clear {
  display: block;
}

.display_none {
  display: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

body.overflow {
  overflow: hidden;
}

.large-2_5, .medium-2_5, .small-2_5 {
  -ms-flex: 0 0 20%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 20%;
          flex: 0 0 20%;
  max-width: 20%;
}

.maju {
  text-transform: uppercase;
}

.default_img {
  background: #ffffff no-repeat center center/70% auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128.81' height='69.079' viewBox='0 0 128.81 69.079'%3E%3Cg transform='translate(-616.201 -826.461)'%3E%3Cpath d='M102.186,20.342H62.623L82.337,57.1Z' transform='translate(598.202 806.119)' fill='%23af0623'/%3E%3Crect width='18.782' height='69.079' transform='translate(616.201 826.461)' fill='%23af0623'/%3E%3Cpath d='M89.675,77.91H74.356L57.637,47V87.978h50.086V46.342Z' transform='translate(597.925 807.561)' fill='%23af0623'/%3E%3Crect width='18.782' height='69.079' transform='translate(726.229 826.461)' fill='%23af0623'/%3E%3C/g%3E%3C/svg%3E");
  max-width: 100%;
  width: 100%;
  height: 100%;
  aspect-ratio: inherit;
  border-radius: inherit;
  min-height: inherit; /*pour les dev, a suppr pdt phase int*/
  min-height: auto;
  -webkit-box-shadow: inset 0 0 0 0.1rem #e2e2e2;
          box-shadow: inset 0 0 0 0.1rem #e2e2e2;
}

#page.list .default_img, #page.carto_tpl .default_img {
  height: auto;
  aspect-ratio: 210/200;
}

.adresse, .horaires, .mail, .website, .tel, .gmap {
  padding: 0 0 0 4.4rem;
  min-height: 3.2rem;
  background: transparent no-repeat left 0/3.2rem auto;
}

.adresse span {
  display: block;
}

/********************************************************************************/
/****************** BOUTONS LIENS, BOUTONS, BOUTONS CLOSE ***********************/
/********************************************************************************/
/*** BOUTON LIEN ***/
.btn_lien, .content_page .btn_lien {
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 0;
}
.btn_lien > *, .content_page .btn_lien > * {
  text-transform: uppercase;
  color: #ffffff;
  padding: 0.8rem 2.2rem;
  background-color: var(--cim_primary_color);
  border-radius: 3.6rem;
  border: 0.1rem solid var(--cim_primary_color);
  display: inline-block;
  -webkit-box-shadow: none;
          box-shadow: none;
  letter-spacing: 0.1em;
}
.btn_lien > * span, .content_page .btn_lien > * span {
  font-family: inherit;
}
.btn_lien:is(:hover, :focus) > *, .content_page .btn_lien:is(:hover, :focus) > * {
  color: #000000;
  background-color: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn_lien.white > *, .content_page .btn_lien.white > * {
  background-color: #ffffff;
  color: #000000;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M14.333,10.333h-4v4H9v-4H5V9H9V5h1.333V9h4Z' transform='translate(-1.667 -1.667)' fill='%23000000'/%3E%3Cpath d='M0,0H16V16H0Z' fill='none'/%3E%3C/svg%3E");
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.btn_lien.white:is(:hover, :focus) span, .content_page .btn_lien.white:is(:hover, :focus) span {
  background-color: var(--cim_primary_color);
  color: #ffffff;
}
.btn_lien.black > *, .content_page .btn_lien.black > * {
  background-color: #000000;
  color: #ffffff;
  border-color: #ffffff;
}
.btn_lien.black:is(:hover, :focus) span, .content_page .btn_lien.black:is(:hover, :focus) span {
  background-color: #ffffff;
  color: #000000;
}
.btn_lien.picto_right, .content_page .btn_lien.picto_right {
  font-size: 1.6rem;
  line-height: 1;
}
.btn_lien.picto_right > *, .content_page .btn_lien.picto_right > * {
  padding-right: 4.2rem;
  background-repeat: no-repeat;
  background-size: 1.6rem auto;
  background-position: right 2.2rem center;
}
.btn_lien.picto_right:is(:hover, :focus) span, .content_page .btn_lien.picto_right:is(:hover, :focus) span {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M14.333,10.333h-4v4H9v-4H5V9H9V5h1.333V9h4Z' transform='translate(-1.667 -1.667)' fill='%23ffffff'/%3E%3Cpath d='M0,0H16V16H0Z' fill='none'/%3E%3C/svg%3E");
}

/*** BOUTON ALL ***/
.btn_all, .content_page .btn_all,
.btn_back, .content_page .btn_back {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 0;
}
.btn_all > *, .content_page .btn_all > *,
.btn_back > *, .content_page .btn_back > * {
  color: #000000;
  background-color: #ffffff;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  padding: 1.8rem 5rem;
  border: 0.2rem solid var(--cim_primary_color);
  display: inline-block;
  position: relative;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn_all > * span, .content_page .btn_all > * span,
.btn_back > * span, .content_page .btn_back > * span {
  background-repeat: no-repeat;
  font-family: inherit;
}
.btn_all > a:is(:hover, :focus), .content_page .btn_all > a:is(:hover, :focus),
.btn_back > a:is(:hover, :focus), .content_page .btn_back > a:is(:hover, :focus) {
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #ffffff;
  background-color: var(--cim_primary_color);
}
.btn_all > a:is(:hover, :focus) span, .content_page .btn_all > a:is(:hover, :focus) span,
.btn_back > a:is(:hover, :focus) span, .content_page .btn_back > a:is(:hover, :focus) span {
  color: inherit;
}

/*** BOUTON ADD ***/
/*** BOUTON TXT ***/
.btn_txt, .content_page .btn_txt {
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: 0;
}
.btn_txt > *, .content_page .btn_txt > * {
  text-transform: uppercase;
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: inherit;
  transition: inherit;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.btn_txt > * span, .content_page .btn_txt > * span {
  font-family: inherit;
}
.btn_txt > a:is(:hover, :focus), .content_page .btn_txt > a:is(:hover, :focus) {
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--cim_primary_color);
}
.btn_txt > a:is(:hover, :focus) span, .content_page .btn_txt > a:is(:hover, :focus) span {
  color: inherit;
}

/*** BOUTON CALL TO ACTION ***/
.call_to_action_container {
  margin: 3rem 0;
}

/*** BOUTON RETOUR ***/
.btn_back_container {
  margin-bottom: 6rem;
}

.btn_back span:before, .content_page .btn_back span:before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 1rem;
  height: 0.8rem;
  top: calc(50% - 0.2rem);
  margin-right: 1.5rem;
  vertical-align: middle;
}

/*** BOUTONS BUTTON ***/
.button span {
  font-family: inherit;
  -webkit-transition: none;
  transition: none;
}

.button:is(:hover, :focus) {
  color: #ffffff;
}

/*** BALISES <p> COMME UN BUTTON ***/
.button_like, .content_page .button_like {
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 0;
  display: inline-block;
}
.button_like > *, .content_page .button_like > * {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  border: 0.1rem solid #000000;
  border-radius: 4.8rem;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.6rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  padding: 0.5em 1em;
}
[data-whatinput=mouse] .button_like > *, [data-whatinput=mouse] .content_page .button_like > * {
  outline: 0;
}
.button_like > *, .button_like > *.disabled, .button_like > *[disabled], .button_like > *.disabled:hover, .button_like > *[disabled]:hover, .button_like > *.disabled:focus, .button_like > *[disabled]:focus, .content_page .button_like > *, .content_page .button_like > *.disabled, .content_page .button_like > *[disabled], .content_page .button_like > *.disabled:hover, .content_page .button_like > *[disabled]:hover, .content_page .button_like > *.disabled:focus, .content_page .button_like > *[disabled]:focus {
  background-color: #ffffff;
  color: #000000;
}
.button_like > *:hover, .button_like > *:focus, .content_page .button_like > *:hover, .content_page .button_like > *:focus {
  background-color: #000000;
  color: #000000;
}
.button_like > *, .content_page .button_like > * {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0.1rem solid #000000;
  -webkit-transition: inherit;
  transition: inherit;
}
.button_like > * span, .content_page .button_like > * span {
  font-family: inherit;
}
.button_like a:is(:hover, :focus), .button_like:is(:hover, :focus) span, .content_page .button_like a:is(:hover, :focus), .content_page .button_like:is(:hover, :focus) span {
  color: #ffffff; /*background-color:transparent; border-color:$cim_black;*/
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*** BOUTONS DOCUMENTS ***/
.btn_kiosque, .content_page .btn_kiosque, .slick-track .btn_kiosque {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.btn_kiosque:not(:last-child), .content_page .btn_kiosque:not(:last-child), .slick-track .btn_kiosque:not(:last-child) {
  margin-right: 3rem;
}
.btn_kiosque a, .content_page .btn_kiosque a, .slick-track .btn_kiosque a {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1em;
  line-height: 1;
  padding: 0;
  background-color: transparent;
  border: 0;
  display: inline-block;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: inherit;
  transition: inherit;
}
.btn_kiosque a::before, .content_page .btn_kiosque a::before, .slick-track .btn_kiosque a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 3.4rem;
  height: 3.4rem;
  margin-right: 0.8rem;
  background: #ffffff no-repeat center center/1.8rem auto;
  border-radius: 50%;
  border: 0.1rem solid var(--cim_primary_color);
}
.btn_kiosque.telecharger a::before, .content_page .btn_kiosque.telecharger a::before, .slick-track .btn_kiosque.telecharger a::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M13,10.5H10.75V3H9.25v7.5H7l3,3ZM4,15v1.5H16V15Z' transform='translate(-1 -0.75)' fill='%23ffffff'/%3E%3Cpath d='M0,0H18V18H0Z' fill='none'/%3E%3C/svg%3E");
}
.btn_kiosque.feuilleter a::before, .content_page .btn_kiosque.feuilleter a::before, .slick-track .btn_kiosque.feuilleter a::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M0,0H18V18H0Z' fill='none'/%3E%3Cg transform='translate(0.75 3)'%3E%3Cpath d='M16,4H2.5A1.5,1.5,0,0,0,1,5.5v9.75a1.5,1.5,0,0,0,1.5,1.5H16a1.5,1.5,0,0,0,1.5-1.5V5.5A1.5,1.5,0,0,0,16,4ZM2.5,15.25V5.5h6v9.75Zm13.5,0H10V5.5h6Z' transform='translate(-1 -4)' fill='%23ffffff'/%3E%3Crect width='4.5' height='1.125' transform='translate(9.75 4.125)' fill='%23ffffff'/%3E%3Crect width='4.5' height='1.125' transform='translate(9.75 6)' fill='%23ffffff'/%3E%3Crect width='4.5' height='1.125' transform='translate(9.75 7.875)' fill='%23ffffff'/%3E%3C/g%3E%3C/svg%3E");
}
.btn_kiosque.telecharger a:is(:hover, :focus)::before, .content_page .btn_kiosque.telecharger a:is(:hover, :focus)::before, .slick-track .btn_kiosque.telecharger a:is(:hover, :focus)::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M13,10.5H10.75V3H9.25v7.5H7l3,3ZM4,15v1.5H16V15Z' transform='translate(-1 -0.75)' fill='%230061AE'/%3E%3Cpath d='M0,0H18V18H0Z' fill='none'/%3E%3C/svg%3E");
}
.btn_kiosque.feuilleter a:is(:hover, :focus)::before, .content_page .btn_kiosque.feuilleter a:is(:hover, :focus)::before, .slick-track .btn_kiosque.feuilleter a:is(:hover, :focus)::before {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='M0,0H18V18H0Z' fill='none'/%3E%3Cg transform='translate(0.75 3)'%3E%3Cpath d='M16,4H2.5A1.5,1.5,0,0,0,1,5.5v9.75a1.5,1.5,0,0,0,1.5,1.5H16a1.5,1.5,0,0,0,1.5-1.5V5.5A1.5,1.5,0,0,0,16,4ZM2.5,15.25V5.5h6v9.75Zm13.5,0H10V5.5h6Z' transform='translate(-1 -4)' fill='%230061AE'/%3E%3Crect width='4.5' height='1.125' transform='translate(9.75 4.125)' fill='%230061AE'/%3E%3Crect width='4.5' height='1.125' transform='translate(9.75 6)' fill='%230061AE'/%3E%3Crect width='4.5' height='1.125' transform='translate(9.75 7.875)' fill='%230061AE'/%3E%3C/g%3E%3C/svg%3E");
}
.btn_kiosque a:is(:hover, :focus), .content_page .btn_kiosque a:is(:hover, :focus), .slick-track .btn_kiosque a:is(:hover, :focus) {
  color: #000000 !important;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn_kiosque a:is(:hover, :focus)::before, .content_page .btn_kiosque a:is(:hover, :focus)::before, .slick-track .btn_kiosque a:is(:hover, :focus)::before {
  background-color: var(--cim_primary_color);
}

/*** BOUTONS CLOSE ***/
/*** BTN CLOSE (version petite croix "X" sans fond) ***/
.btn_close {
  width: 3.5rem;
  height: 3.5rem;
  border: 0;
  border-radius: 50%;
  z-index: 5;
  position: absolute;
  right: 0;
  top: 0;
  outline: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.6rem auto;
  border: 0.1rem solid #000000;
}
.btn_close:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M0,0H26V26H0Z' fill='none'/%3E%3Cpath d='M19.465,6.457,18.008,5l-5.776,5.776L6.457,5,5,6.457l5.776,5.776L5,18.008l1.457,1.457,5.776-5.776,5.776,5.776,1.457-1.457-5.776-5.776Z' transform='translate(0.767 0.767)' fill='%23ffffff'/%3E%3C/svg%3E");
}
.btn_close span {
  display: none;
}

/*** CLOSE BUTTON FOUNDATION ***/
.close-button {
  width: 5.2rem;
  height: 5.2rem;
  border: 0;
  border-radius: 50%;
  z-index: 5;
  position: absolute;
  right: 0;
  top: 0;
  outline: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.6rem auto;
  border: 0.1rem solid #000000;
}
.close-button:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M0,0H26V26H0Z' fill='none'/%3E%3Cpath d='M19.465,6.457,18.008,5l-5.776,5.776L6.457,5,5,6.457l5.776,5.776L5,18.008l1.457,1.457,5.776-5.776,5.776,5.776,1.457-1.457-5.776-5.776Z' transform='translate(0.767 0.767)' fill='%23ffffff'/%3E%3C/svg%3E");
  border-color: var(--cim_primary_color);
}
.close-button span {
  display: none;
}

/*** CLOSE BUTTON FOUNDATION (dans popin) ***/
.reveal .close-button span {
  display: none;
}

/*** CLOSE BUTTON FOUNDATION (dans popin fullscreen) ***/
/*** CLOSE BUTTON ADVANCED ("FERMER + croix" ou "TEXTE + croix") ***/
.close-advanced {
  padding: 0.8rem;
}
.close-advanced .title {
  text-transform: uppercase;
  color: var(--cim_primary_color);
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  line-height: 1em;
  text-align: left;
  padding-bottom: 1rem;
  position: relative;
  display: inline-block;
  vertical-align: top;
  word-break: break-word;
  margin-bottom: 1rem;
}
.close-advanced .title::after {
  content: "";
  width: 0.8rem;
  height: 0.2rem;
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--cim_primary_color);
}
.close-advanced .inner {
  color: var(--cim_primary_color);
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto;
  display: block;
  position: relative;
  left: initial;
  background-color: transparent;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: background-color 0s linear 0.13s;
  transition: background-color 0s linear 0.13s;
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
}
.close-advanced .inner::before, .close-advanced .inner::after {
  content: "";
  display: block;
  width: 2.8rem;
  height: 0.2rem;
  background-color: var(--cim_primary_color);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.close-advanced .inner::before {
  -webkit-transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  -webkit-transform: translate3d(-50%, 1rem, 0) rotate(45deg);
          transform: translate3d(-50%, 1rem, 0) rotate(45deg);
}
.close-advanced .inner::after {
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  -webkit-transform: translate3d(-50%, 1rem, 0) rotate(-45deg);
          transform: translate3d(-50%, 1rem, 0) rotate(-45deg);
}
.close-advanced:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
}

/* Dans popin */
.reveal .close-advanced {
  font-size: 1.4em;
  background-color: #000000;
}

.reveal .close-advanced:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvYXBwX3Jlc2V0LmNzcyIsInNjc3MvZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwic2Nzcy9jdXN0b20vX2Z1bmN0aW9ucy5zY3NzIiwic2Nzcy9jdXN0b20vX2NpbV9zZXR0aW5nc19jb2xvcnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fc2V0dGluZ3Muc2NzcyIsInNjc3MvY3VzdG9tL19jaW1faWNvbnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsInNjc3MvYXBwX3Jlc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNnRWhCLG1CQUFBO0FDaEVBLHFFQUFBO0FBQ0EscUVBQUE7QUFDQSxxRUFBQTtBRGlFQSwwQkFBQTtBRW5FQSx1REFBQTtBQUNBLHVEQUFBO0FBQ0EsdURBQUE7QUFLQyxvQkFBQTtBQU9DLHNDQUFBO0FDWkYsdURBQUE7QUFDQSx1REFBQTtBQUNBLHVEQUFBO0FBRUMsMERBQUE7QUFJQSx3REFBQTtBQUtBLGNBQUE7QUFLQSxvQkFBQTtBQWNELHVEQUFBO0FBQ0EsdURBQUE7QUFDQSx1REFBQTtBQUVDLGVBQUE7QUFDQyxzQkFBQTtBQU9ELGFBQUE7QUFDQyx1QkFBQTtBQU9BLGdEQUFBO0FBT0QsY0FBQTtBQUNFLGlDQUFBO0FBT0QsdUJBQUE7QUFPRCxzQkFBQTtBQUNDLHNCQUFBO0FBT0EsZ0NBQUE7QUFPQSw0RUFBQTtBSHJCRix5QkFBQTtBSXRFQSwrRUFBQTtBQUNBLCtFQUFBO0FBQ0EsK0VBQUE7QUFDQSwrRUFB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c0JBQUE7QVI2VnRGOztBUTdWOEc7RUFBWSw4QkFBQTtVQUFBLHNCQUFBO0FSaVcxSDs7QVFqV2tKO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUnFXOUo7O0FRcldzTDtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJ5V2xNOztBUXpXME47RUFBVSw0QkFBQTtVQUFBLG9CQUFBO0FSNldwTzs7QVE3VzBQO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUmlYdFE7O0FRalg4UjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJxWDFTOztBUXJYa1U7RUFBWSw4QkFBQTtVQUFBLHNCQUFBO0FSeVg5VTs7QVF6WHNXO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUjZYbFg7O0FRN1gwWTtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJpWXRaOztBUWpZOGE7RUFBWSw4QkFBQTtVQUFBLHNCQUFBO0FScVkxYjs7QVFyWWtkO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUnlZOWQ7O0FRellzZjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI2WWxnQjs7QVE3WTBoQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJpWnRpQjs7QVFqWjhqQjtFQUFVLDRCQUFBO1VBQUEsb0JBQUE7QVJxWnhrQjs7QVFyWjhsQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJ5WjFtQjs7QVF6WmtvQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI2WjlvQjs7QVE3WnNxQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJpYWxyQjs7QVFqYTBzQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJxYXR0Qjs7QVFyYTh1QjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJ5YTF2Qjs7QVF6YWt4QjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI2YTl4Qjs7QVE3YXN6QjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJpYmwwQjs7QVFqYjAxQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJxYnQyQjs7QVFyYjgzQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJ5YjE0Qjs7QVF6Yms2QjtFQUFV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LHNCQUFBO0VBQXVCLG1CQUFBO0FScTREck87QVFwNERLO0VBQWUsV0FBQTtFQUFZLGFBQUE7RUFBYyxjQUFBO0VBQWUsa0JBQUE7RUFBbUIsT0FBQTtFQUFRLFNBQUE7RUFBVSxvQ0FBQTtBUjY0RGxHO0FRMzRESztFQUNDLCtCQUFBO0VBQWdDLGFBQUE7RUFBYyxjQUFBO0VBQWUsY0FBQTtFQUFlLGNBQUE7RUFBZSxrQkFBQTtFQUFtQixhQUFBO0VBQWMsNkJBQUE7RUFBOEIsdUJBQUE7TUFBQSxtQkFBQTtVQUFBLGVBQUE7RUFBZ0Isb0RBQUE7RUFBQSw0Q0FBQTtFQUE0QywrQkFBQTtVQUFBLHVCQUFBO0FSdTVENU47QVFyNURNO0VBQXFCLFdBQUE7RUFBWSxjQUFBO0VBQWUsYUFBQTtFQUFjLGNBQUE7RUFBZSwwQ0FBQTtFQUEyQyxrQkFBQTtFQUFtQixNQUFBO0VBQU8sU0FBQTtFQUFVLG1DQUFBO01BQUEsK0JBQUE7VUFBQSwyQkFBQTtBUmc2RGxLO0FRLzVETTtFQUFXLGdKQUFBO0VBQUEsd0lBQUE7RUFBQSxnSUFBQTtFQUFBLG1NQUFBO0VBQWdILDJEQUFBO1VBQUEsbURBQUE7QVJtNkRqSTtBUWw2RE07RUFBVSwwSUFBQTtFQUFBLGtJQUFBO0VBQUEsMEhBQUE7RUFBQSw2TEFBQTtFQUEyRyw0REFBQTtVQUFBLG9EQUFBO0FSczZEM0g7QVFuNkRLO0VBQXNCLDBDQUFBO0FSczZEM0I7O0FRbjZESSxlQUFBO0FBQ0M7RUFBeUIsZ0JBQUE7RUFBaUIseUJKanNCakM7QUp5bUZkOztBUXY2REs7RUFBNEMsMENBQUE7QVIyNkRqRCIsImZpbGUiOiJzY3NzL2FwcF9yZXNldC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogRnVuY3Rpb25zIHNhc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiBGb25jdGlvbiBxdWkgZ2VuZXJlIHVuIHN2ZyBiYWNrZ3JvdW5kLWltYWdlICoqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFZhcmlhYmxlcyBkZSBjb3VsZXVycyAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqIENPVUxFVVJTICoqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQ291bGV1cnMgcHJvamV0ICovXG4vKiB1dGlsaXPDqXMgZGFucyBzZXR0aW5ncyBGb3VuZGF0aW9uICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqIENPVUxFVVJTIEhPUlMgQ0lNXyogKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBiYXNpcXVlcyAodmFyaWFibGVzIHV0aWxpc2VlcyBkYW5zIFNldHRpbmdzKSAqL1xuLyogTnVhbmNlcyBkZSBncmlzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBEYXNoYm9hcmQgKi9cbi8qIFJlc2VhdXggc29jaWF1eCAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKiBDT05GSUcgKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyoqKiBMQVlPVVQgKioqL1xuLyogSGF1dGV1ciBkdSBoZWFkZXIgKi9cbi8qKiogSE9NRSAqKiovXG4vKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cbi8qIE1hcmdpbiBuw6lnYXRpdmUgYXUgZGVzc3VzIGRlcyBhY2PDqHMgcmFwaWRlcyAqL1xuLyoqKiBFRElUTyAqKiovXG4vKiBNYXJnaW4gYm90dG9tIHNvdXMgbGVzIGJsb2NzICovXG4vKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cbi8qKiogUEFHRSBERSBMSVNURSAqKiovXG4vKiBIYXV0ZXVyIGR1IG1vdGV1ciAqL1xuLyogUGFkZGluZyBhdSBkZXNzdXMgZHUgbW90ZXVyICovXG4vKiBSZXN1bHRhdHMgLSBlc3BhY2UgZW50cmUgbW90ZXVyOmJvdHRvbSBldCB2aWduZXR0ZTp0b3AgZGUgcGFnZSBkZSBsaXN0ZSAqL1xuLyogVmFyaWFibGVzIGRlcyBpY29uZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqIFNWRyBPUFRJT05TIEQnRVhQT1JUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblx0T3B0aW9ucyBkJ2V4cG9ydCBwb3VyIHJlbmRyZSBsZXMgU1ZHIGJhY2tncm91bmQtaW1hZ2UgY29tcGF0aWJsZXMgYXZlYyBJRTExXG5cblx0RmljaGllciBBSSA+IEV4cG9ydGVyIGxhIHNlbGVjdGlvbiA+IHBhcmFtw6h0cmVzIChmb3JtYXQpID4gU1ZHXG5cdFx0QXR0cmlidXRzIGRlIHByw6lzZW50YXRpb25cblx0XHRTVkdcblx0XHRJbmNvcnBvcmVyXG5cdFx0Tm9tcyBkZSBjYWxxdWVzXG5cdFx0MlxuXHRcdE1pbmltaWZpZXJcblx0XHRSZXNwb25zaXZlXG5cblx0KyBham91dCBkZSBsJ2F0dHJpYnV0IHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiXG5cblx0U2kgcHJvYmxlbWUgZGUgc3ZnIGF2ZWMgcG9wbHlsaW5lIG91IGxpbmUgPiBvdXZyaXIgbGUgc3ZnIGRhbnMgYWkgPiBzZWxlY3Rpb24gZGUgbCdpY29uZSA+IE9iamV0ID4gdHJhY8OpID4gVmVjdG9yaXNlciBsZSBjb250b3VyXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKiogSU1QT1JUICoqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKiogQ09VTEVVUlMgKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBwcm9qZXQgKi9cbi8qIHV0aWxpc8OpcyBkYW5zIHNldHRpbmdzIEZvdW5kYXRpb24gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKiogQ09VTEVVUlMgSE9SUyBDSU1fKiAqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIGJhc2lxdWVzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIERhc2hib2FyZCAqL1xuLyogUmVzZWF1eCBzb2NpYXV4ICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqIENPTkZJRyAqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKioqIExBWU9VVCAqKiovXG4vKiBIYXV0ZXVyIGR1IGhlYWRlciAqL1xuLyoqKiBIT01FICoqKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXG4vKioqIEVESVRPICoqKi9cbi8qIE1hcmdpbiBib3R0b20gc291cyBsZXMgYmxvY3MgKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyoqKiBQQUdFIERFIExJU1RFICoqKi9cbi8qIEhhdXRldXIgZHUgbW90ZXVyICovXG4vKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cbi8qIFJlc3VsdGF0cyAtIGVzcGFjZSBlbnRyZSBtb3RldXI6Ym90dG9tIGV0IHZpZ25ldHRlOnRvcCBkZSBwYWdlIGRlIGxpc3RlICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKiBMQVlPVVQgKioqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaGVfY2hldnJvbiAqL1xuLyogT0sgKi9cbi8qIEZvcm11bGFpcmVzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIFNsaWNrIHNsaWRlciAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogQm91dG9ucyAqL1xuLyogQm91dG9uIExJRU4gKi9cbi8qIE9LICovXG4vKiBCb3V0b24gQUxMICovXG4vKiBCb3V0b24gVFhUICovXG4vKiBPSyAqL1xuLyogQnRuIGNsb3NlICovXG4vKiBPSyAqL1xuLyogQXJyb3cgYmFjayAqL1xuLyogT0sgKi9cbi8qIEFycm93IHJlaW5pdCAqL1xuLyogT0sgKi9cbi8qIEhlYWRlciAqL1xuLyogTWVudSBwcmluY2lwYWwgTjEgYWN0aWYgKi9cbi8qIE1lbnUgcHJpbmNpcGFsIE4yICovXG4vKiBMb3VwZSAqL1xuLyogT0sgKi9cbi8qIE1pY3JvICovXG4vKiBPSyAqL1xuLyogTW9uIGNvbXB0ZSAqL1xuLyogQWNjw6hzIGF1IGZhdm9yaXMgKi9cbi8qIEplIHZvdWRyYWlzICovXG4vKiBGb290ZXIgKi9cbi8qIEdvIHRvIHRvcCAqL1xuLyogT0sgKi9cbi8qIE5ld3NsZXR0ZXIgKi9cbi8qIENvbnRhY3QgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIEZvb3RlciByZXNlYXV4IHNvY2lhdXggKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogRmlsIGQnYXJpYW5lICovXG4vKiBPSyAqL1xuLyogU2hhcmUgLyBibG9jIG5vdGUgLyBtYWogKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogUmVzZWF1eCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBBbGVydGUgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogSE9NRSBQQUdFICoqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBWaWTDqW8gcGxheS9wYXVzZSAqL1xuLyogSmUgdm91ZHJhaXMgKi9cbi8qIFRpdGxlICovXG4vKiBUcmlhbmdsZSBncmlzIGVuIGJhY2tncm91bmQgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogQ2FydGUgaW50ZXJhY3RpdmUgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgVFlQRSAqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogTGlzdGUgYSBwdWNlcyAgKi9cbi8qIE9LICovXG4vKiBDaXRhdGlvbiAgKi9cbi8qIE9LICovXG4vKiBBY2NvcmRlb25zICovXG4vKiBPSyAqL1xuLyogQ29sb25uZSBjb250ZXh0dWVsbGUgKi9cbi8qIEJsb2MgZ2VvbG9jICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIFRlbGVjaGFyZ2VtZW50cyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgTElTVEUgKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogSW1hZ2UgcGFyIGRlZmF1dCAqL1xuLyogT0sgKi9cbi8qIEJ0biBhZmZpY2hlciBsYSBjYXJ0ZSAqL1xuLyogT0sgKi9cbi8qIEJ0biBhZmZpY2hlciBsYSBsaXN0ZSAqL1xuLyogT0sgKi9cbi8qIEZpbHRyZXMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIExvY2FsaXNhdGlvbiAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBQQUdFIERFIFJFQ0hFUkNIRSAqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhZ2luYXRpb24gKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBERVRBSUwgLyBQT1BJTiAqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiBDQVJURSBJTlRFUkFDVElWRSAqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGaWx0cmVzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKiogREFTSEJPQVJEICoqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFR1aWxlcyAqL1xuLyogT2xkICovXG4vKiBCdXR0b24gKi9cbi8qIEZvbnRzICovXG4vKiBDdXN0b20gbWl4aW5zICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqIE1JWElOUyAqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBCdXR0b24gKi9cbi8qIEJvdXRvbiBzbGljayAqL1xuLyogRGVncmFkZSAqL1xuLyogU2hhZG93ICovXG4vKiBCdG5fYWxsICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuOS4wXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZST05UIEVESVRJTkcgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnQzLWZyb250ZW5kLWVkaXRpbmdfX2NlIHtcbiAgLW1zLWZsZXg6IDEgMSAwO1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4udDMtZnJvbnRlbmQtZWRpdGluZ19fY2UgPiAqIHtcbiAgLW1zLWZsZXg6IDAgMCAxMDAlO1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFJFU0VUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGT05UUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBRdWFuZCBvbiByYWpvdXRlIGxlIENTUyBkYW5zIGxlIHRlbXBsYXRlIGRlIGJhc2UgOiBwZW5zZXIgw6AgY2hhbmdlciBsZXMgZm9udC1mYW1pbHkgcGFyICRyZWd1bGFyIC8gJHNlbWlib2xkIC8gJGJvbGQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTk9STUFMSVNBVElPTiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEluaXQgZm91bmRhdGlvbiAqL1xucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbioge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9yZWd1bGFyXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5odG1sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X3JlZ3VsYXJcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8qIFJldG91cm5lIGVuIGhhdXQgZGUgcGFnZSBxdWFuZCBvbiBvdXZyZSB1bmUgcG9waW4gIGhlaWdodDoxMDAlOyovXG4gIHdpZHRoOiAxMDAlO1xufVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufSAvKiBlbmzDqHZlIGxhIGJhcnJlIGRlIHNjcm9sbCBzdXIgbGUgaHRtbCBxdWFuZCB1bmUgcG9waW4gZXN0IG91dmVydGUgKi9cbnAsIHVsIGxpLCBvbCBsaSwgbWFpbiBwLCBtYWluIHVsIGxpLCBtYWluIG9sIGxpIHtcbiAgZm9udC1zaXplOiAxLjhlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxucCwgdWwsIG9sLCBtYWluIHAsIG1haW4gdWwsIG1haW4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbmEsIG1haW4gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuYTppcyg6aG92ZXIsIDpmb2N1cyksIG1haW4gYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG5cbmEsIGEgc3ZnICosIGJ1dHRvbiwgYnV0dG9uICosIC5idXR0b24sIC5idXR0b24gKiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG5hIGltZywgOmxpbmsgaW1nLCA6dmlzaXRlZCBpbWcge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIGdtYXAgdjMgZml4IGJ1ZyAqL1xuLmdtLXN0eWxlIGltZywgLmdtbm9zY3JlZW4gaW1nLCAuZ21ub3ByaW50IGltZyB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5zdHJvbmcsIGIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuaSwgZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfcmVndWxhclwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG5zdHJvbmcgZW0sIHN0cm9uZyBpLCBlbSBzdHJvbmcsIGkgc3Ryb25nLCBiIGVtLCBiIGksIGVtIGIsIGkgYiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnN1Yiwgc3VwIHtcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwIDAuMnJlbTtcbn1cblxuZm9udCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qKiogRUZGRVQgU0VMRUNUSU9OIFRYVCAqKiovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qKiogQ1VTVE9NIFNDUk9MTEJBUiAqKiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgOm5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICB9XG4gIDpub3QoaHRtbCk6bm90KGJvZHkpOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICB9XG4gIDpub3QoaHRtbCk6bm90KGJvZHkpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogaHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAwLjYpO1xuICAgIGJvcmRlcjogMC40cmVtIHNvbGlkICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICB9XG4gIDpub3QoaHRtbCk6bm90KGJvZHkpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogaHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAwLjgpO1xuICB9XG4gIDpub3QoaHRtbCk6bm90KGJvZHkpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IGhzbGEodmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9oKSwgdmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9zKSwgdmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9sKSwgMSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogTE9BREVSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5kZWxheV8wXzQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xufVxuXG4uZGVsYXlfMF81IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbn1cblxuLmRlbGF5XzBfNiB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7XG59XG5cbi5kZWxheV8wXzcge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjdzO1xufVxuXG4uZGVsYXlfMF84IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC44cztcbn1cblxuLmRlbGF5XzBfOSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuOXM7XG59XG5cbi5kZWxheV8xIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG59XG5cbi5kZWxheV8xXzEge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjFzO1xufVxuXG4uZGVsYXlfMV8yIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS4ycztcbn1cblxuLmRlbGF5XzFfMyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuM3M7XG59XG5cbi5kZWxheV8xXzQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjRzO1xufVxuXG4uZGVsYXlfMV81IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS41cztcbn1cblxuLmRlbGF5XzFfNiB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuNnM7XG59XG5cbi5kZWxheV8xXzcge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjdzO1xufVxuXG4uZGVsYXlfMV84IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS44cztcbn1cblxuLmRlbGF5XzFfOSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuOXM7XG59XG5cbi5kZWxheV8yIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMnM7XG59XG5cbi5kZWxheV8yXzEge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjFzO1xufVxuXG4uZGVsYXlfMl8yIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi4ycztcbn1cblxuLmRlbGF5XzJfMyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuM3M7XG59XG5cbi5kZWxheV8yXzQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjRzO1xufVxuXG4uZGVsYXlfMl81IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi41cztcbn1cblxuLmRlbGF5XzJfNiB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuNnM7XG59XG5cbi5kZWxheV8yXzcge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjdzO1xufVxuXG4uZGVsYXlfMl84IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi44cztcbn1cblxuLmRlbGF5XzJfOSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuOXM7XG59XG5cbi5kZWxheV8zIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogM3M7XG59XG5cbi5kZWxheV8zXzEge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzLjFzO1xufVxuXG4uZGVsYXlfM18yIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMy4ycztcbn1cblxuLmRlbGF5XzNfMyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMuM3M7XG59XG5cbi5kZWxheV8zXzQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzLjRzO1xufVxuXG4uZGVsYXlfM181IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMy41cztcbn1cblxuLmRlbGF5XzNfNiB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMuNnM7XG59XG5cbi5kZWxheV8zXzcge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzLjdzO1xufVxuXG4uZGVsYXlfM184IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMy44cztcbn1cblxuLmRlbGF5XzNfOSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMuOXM7XG59XG5cbi5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDggIWltcG9ydGFudDtcbn1cblxuLnJldmVhbC1vdmVybGF5LmxvYWQtcG9waW4gPiAuc2stY2lyY2xlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHotaW5kZXg6IDEwMDg7XG59XG5cbi5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIC5zay1jaXJjbGUgLnNrLWNoaWxkIHtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDVyZW07XG59XG5cbi5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIC5zay1jaXJjbGUgLnNrLWNoaWxkOjpiZWZvcmUge1xuICB3aWR0aDogMC44cmVtO1xuICBoZWlnaHQ6IDAuOHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuI2xvYWRlcl9maWx0ZXJzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDQwJTtcbiAgbGVmdDogNDAlO1xuICB6LWluZGV4OiA3MDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuI3NlY29uZF9kaXNwbGF5ICNsb2FkZXJfZmlsdGVycyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbiNzZWNvbmRfZGlzcGxheSAjbG9hZGVyX2ZpbHRlcnMgLnNrLWNpcmNsZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNzZWNvbmRfZGlzcGxheSAjbG9hZGVyX2ZpbHRlcnMgLnNrLWNpcmNsZSAuc2stY2hpbGQ6OmJlZm9yZSB7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC44cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4jc2Vjb25kX2Rpc3BsYXkgI2xvYWRlcl9maWx0ZXJzIC5zay1jaXJjbGUgLnNrLWNoaWxkIHtcbiAgaGVpZ2h0OiA1cmVtO1xuICB0b3A6IDUwJTtcbn1cblxuLnNrLWNpcmNsZS5xdWFsIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMnJlbSAwIDA7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDRyZW07XG59XG5cbi5zay1jaXJjbGUucXVhbC5ubyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcmlnaHQ6IC01cmVtO1xuICB0b3A6IDA7XG59XG5cbi5zay1jaXJjbGUucXVhbCAuc2stY2hpbGQ6OmJlZm9yZSB7XG4gIGhlaWdodDogMC42cmVtO1xuICB3aWR0aDogMC42cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uc2stY2lyY2xlIHtcbiAgbWFyZ2luOiAxMHJlbSBhdXRvO1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiA1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNoaWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNoaWxkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxNSU7XG4gIGhlaWdodDogMTUlO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIGFuaW1hdGlvbjogc2stY2lyY2xlQm91bmNlRGVsYXkgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dCBib3RoO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGUyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGUzIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU1IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTIwZGVnKTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlNiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE1MGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU4IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjEwZGVnKTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlOSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDI0MGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTEwIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlMTEge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMDBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGUxMiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDMzMGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTI6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTEuMXM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTM6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU0OjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjlzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU1OjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjhzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU2OjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjdzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU3OjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjZzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU4OjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjVzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU5OjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjRzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGUxMDo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zcztcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlMTE6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMnM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTEyOjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjFzO1xufVxuXG5Aa2V5ZnJhbWVzIHNrLWNpcmNsZUJvdW5jZURlbGF5IHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi53cmFwX3Jlc3VsdC5vcGFjaXR5ICNzZWNvbmRfZGlzcGxheSwgLndyYXBfcmVzdWx0Lm9wYWNpdHkgI2ZpcnN0X2Rpc3BsYXkge1xuICBvcGFjaXR5OiAwO1xufVxuXG4jc2VhcmNoTG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zcmVtO1xuICBsZWZ0OiA1MCU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuLmxvYWRlciwgLmxvYWRlcjo6YmVmb3JlLCAubG9hZGVyOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbjogbG9hZDcgMS44cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmxvYWRlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDlyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OWVtO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMTZzO1xufVxuXG4ubG9hZGVyOjpiZWZvcmUsIC5sb2FkZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG59XG5cbi5sb2FkZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IC0zcmVtO1xufVxuXG4ubG9hZGVyOjphZnRlciB7XG4gIGxlZnQ6IDNyZW07XG4gIGFuaW1hdGlvbi1kZWxheTogMC4zMnM7XG59XG5cbi8qKiogTE9BREVSIENPTE9SICoqKi9cbkBrZXlmcmFtZXMgbG9hZDcge1xuICAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAyZW0gMCAtMS4zZW0gdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICB9XG4gIDY1JSB7XG4gICAgYm94LXNoYWRvdzogMCAyLjVlbSAwIDAgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICB9XG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6IDAgMmVtIDAgLTEuM2VtIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgfVxufVxuLmNzLWxvYWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5jcy1sb2FkZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDMwcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDAgMTByZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jcy1sb2FkZXItaW5uZXIgZGl2IHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoNikge1xuICBhbmltYXRpb246IGxvbCAzcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDUpIHtcbiAgYW5pbWF0aW9uOiBsb2wgM3MgMTAwbXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCg0KSB7XG4gIGFuaW1hdGlvbjogbG9sIDNzIDIwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoMykge1xuICBhbmltYXRpb246IGxvbCAzcyAzMDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgYW5pbWF0aW9uOiBsb2wgM3MgNDAwbXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCgxKSB7XG4gIGFuaW1hdGlvbjogbG9sIDNzIDUwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGxvbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzByZW0pO1xuICB9XG4gIDMzJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgNjYlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHJlbSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogVFlQTyAzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKiogREVGQVVMVCBTVFlMRVMgRk9SIEVYVEVOU0lPTiBcIlRYX0NTU1NUWUxFRENPTlRFTlRcIiAqKiovXG4vKiBIZWFkZXJzICovXG4uY3NjLWhlYWRlci1hbGlnbm1lbnQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3NjLWhlYWRlci1hbGlnbm1lbnQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNzYy1oZWFkZXItYWxpZ25tZW50LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5kaXYuY3NjLXRleHRwaWMtcmVzcG9uc2l2ZSwgZGl2LmNzYy10ZXh0cGljLXJlc3BvbnNpdmUgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIENsZWFyIGZsb2F0cyBhZnRlciBjc2MtdGV4dHBpYyBhbmQgYWZ0ZXIgY3NjLXRleHRwaWMtaW1hZ2Vyb3cgKi9cbmRpdi5jc2MtdGV4dHBpYywgZGl2LmNzYy10ZXh0cGljIGRpdi5jc2MtdGV4dHBpYy1pbWFnZXJvdywgdWwuY3NjLXVwbG9hZHMgbGkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBTZXQgcGFkZGluZyBmb3IgdGFibGVzICovXG5kaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCB0YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5kaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCB0YWJsZSB0ciB0ZCB7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIENhcHRpb25zICovXG5kaXYuY3NjLXRleHRwaWMtY2FwdGlvbi1jIC5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1jYXB0aW9uLWMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1jYXB0aW9uLXIgLmNzYy10ZXh0cGljLWNhcHRpb24sIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWNhcHRpb24tciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5kaXYuY3NjLXRleHRwaWMtY2FwdGlvbi1sIC5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1jYXB0aW9uLWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKiBGbG9hdCB0aGUgY29sdW1ucyAqL1xuZGl2LmNzYy10ZXh0cGljIGRpdi5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBCb3JkZXIganVzdCBhcm91bmQgdGhlIGltYWdlICovXG5kaXYuY3NjLXRleHRwaWMtYm9yZGVyIGRpdi5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgaW1nIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzc5NzY3NjtcbiAgcGFkZGluZzogMDtcbn1cblxuZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgaW1nIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIFNwYWNlIGJlbG93IGVhY2ggaW1hZ2UgKGFsc28gaW4tYmV0d2VlbiByb3dzKSAqL1xuZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWltYWdlcm93LWxhc3QgLmNzYy10ZXh0cGljLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogY29sU3BhY2UgYXJvdW5kIGltYWdlIGNvbHVtbnMsIGV4Y2VwdCBmb3IgbGFzdCBjb2x1bW4gKi9cbmRpdi5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbiwgdGQuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4gLmNzYy10ZXh0cGljLWltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG5kaXYuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4uY3NjLXRleHRwaWMtbGFzdGNvbCwgdGQuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4uY3NjLXRleHRwaWMtbGFzdGNvbCAuY3NjLXRleHRwaWMtaW1hZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qIEFkZCBtYXJnaW4gZnJvbSBpbWFnZS1ibG9jayB0byB0ZXh0IChpbiBjYXNlIG9mIFwiVGV4dCAmIEltYWdlc1wiKSAqL1xuZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAsXG5kaXYuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQgLmNzYy10ZXh0cGljLWltYWdld3JhcCxcbmRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLyoqKiBQT1NJVElPTklORyBPRiBJTUFHRVMgKioqL1xuLyogQ2VudGVyIChhYm92ZSBvciBiZWxvdykgKi9cbmRpdi5jc2MtdGV4dHBpYy1jZW50ZXIgLmNzYy10ZXh0cGljLWltYWdld3JhcCwgZGl2LmNzYy10ZXh0cGljLWNlbnRlciBmaWd1cmUuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZGl2LmNzYy10ZXh0cGljLWNlbnRlciAuY3NjLXRleHRwaWMtY2VudGVyLW91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHJpZ2h0OiA1MCU7XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1jZW50ZXIgLmNzYy10ZXh0cGljLWNlbnRlci1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICByaWdodDogLTUwJTtcbn1cblxuLyogUmlnaHQgKGFib3ZlIG9yIGJlbG93KSAqL1xuZGl2LmNzYy10ZXh0cGljLXJpZ2h0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5kaXYuY3NjLXRleHRwaWMtcmlnaHQgZGl2LmNzYy10ZXh0cGljLXRleHQge1xuICBjbGVhcjogcmlnaHQ7XG59XG5cbi8qIExlZnQgKGFib3ZlIG9yIGJlbG93KSAqL1xuZGl2LmNzYy10ZXh0cGljLWxlZnQgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG5kaXYuY3NjLXRleHRwaWMtbGVmdCBkaXYuY3NjLXRleHRwaWMtdGV4dCB7XG4gIGNsZWFyOiBsZWZ0O1xufVxuXG4vKiBMZWZ0IChpbiB0ZXh0KSAqL1xuZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLyogUmlnaHQgKGluIHRleHQpICovXG5kaXYuY3NjLXRleHRwaWMtaW50ZXh0LXJpZ2h0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIFJpZ2h0IChpbiB0ZXh0LCBubyB3cmFwIGFyb3VuZCkgKi9cbmRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIExlZnQgKGluIHRleHQsIG5vIHdyYXAgYXJvdW5kKSAqL1xuZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0LW5vd3JhcCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbmRpdi5jc2MtdGV4dHBpYyBkaXYuY3NjLXRleHRwaWMtaW1hZ2Vyb3ctbGFzdCwgZGl2LmNzYy10ZXh0cGljIGRpdi5jc2MtdGV4dHBpYy1pbWFnZXJvdy1ub25lIGRpdi5jc2MtdGV4dHBpYy1sYXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyoqKiBCUk9XU0VSIEZJWEVTOiAqKiovXG4vKiBGaXggZm9yIHVub3JkZXJlZCBhbmQgb3JkZXJlZCBsaXN0IHdpdGggaW1hZ2UgXCJJbiB0ZXh0LCBsZWZ0XCIgKi9cbi5jc2MtdGV4dHBpYy1pbnRleHQtbGVmdCBvbCwgLmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IHVsIHtcbiAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqKiBURVhUTUVESUEgKioqL1xuLmNzYy10ZXh0bWVkaWEsXG4uY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW4ge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW4ge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5jc2MtdGV4dG1lZGlhLWdhbGxlcnktY29sdW1uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWdhbGxlcnktcm93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1yb3c6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWFib3ZlIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1hYm92ZS1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY3NjLXRleHRtZWRpYS1hYm92ZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNzYy10ZXh0bWVkaWEtYWJvdmUgLmNzYy10ZXh0bWVkaWEtdGV4dCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY3NjLXRleHRtZWRpYS1hYm92ZS1jZW50ZXIgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1vdXRlcixcbi5jc2MtdGV4dG1lZGlhLWJlbG93LWNlbnRlciAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LW91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHJpZ2h0OiA1MCU7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWFib3ZlLWNlbnRlciAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LWlubmVyLFxuLmNzYy10ZXh0bWVkaWEtYmVsb3ctY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcmlnaHQ6IC01MCU7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWJlbG93IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1iZWxvdy1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uY3NjLXRleHRtZWRpYS1iZWxvdy1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNzYy10ZXh0bWVkaWEtaW5zaWRlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1pbnNpZGUtbGVmdCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmNzYy10ZXh0bWVkaWEtYmVzaWRlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1iZXNpZGUtcmlnaHQgLmNzYy10ZXh0bWVkaWEtdGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jc2MtdGV4dG1lZGlhLWJlc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1iZXNpZGUtbGVmdCAuY3NjLXRleHRtZWRpYS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyoqKiBVUExPQURTICoqKi9cbi5jZS11cGxvYWRzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2UtdXBsb2FkcyBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xuICBtYXJnaW46IDFlbSAwO1xufVxuXG4uY2UtdXBsb2FkcyBpbWcge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jZS11cGxvYWRzIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqKiBUQUJMRSAqKiovXG4uY29udGVudHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbnRlbnR0YWJsZSB0aCwgLmNvbnRlbnR0YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNvbnRlbnR0YWJsZSB0aGVhZCB0aCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyAvKmJvcmRlci1ib3R0b206MC4ycmVtIHNvbGlkICRjaW1fbGlnaHRfZ3JheTsqL1xufVxuXG4uY29udGVudHRhYmxlIHRoLCAuY29udGVudHRhYmxlIHRkIHtcbiAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkICNlMmUyZTI7XG59XG5cbi5jb250ZW50dGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLmNvbnRlbnR0YWJsZS1ib3JkZXJlZCB0aCwgLmNvbnRlbnR0YWJsZS1ib3JkZXJlZCB0ZCB7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICNlMmUyZTI7XG59XG5cbi8qKiogU1BBQ0UgKioqL1xuLmNzYy1zcGFjZS1iZWZvcmUtZXh0cmEtc21hbGwge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5jc2Mtc3BhY2UtYmVmb3JlLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4uY3NjLXNwYWNlLWJlZm9yZS1zZW1pYm9sZCB7XG4gIG1hcmdpbi10b3A6IDNlbTtcbn1cblxuLmNzYy1zcGFjZS1iZWZvcmUtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0ZW07XG59XG5cbi5jc2Mtc3BhY2UtYmVmb3JlLWV4dHJhLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNWVtO1xufVxuXG4uY3NjLXNwYWNlLWFmdGVyLWV4dHJhLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uY3NjLXNwYWNlLWFmdGVyLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4uY3NjLXNwYWNlLWFmdGVyLXNlbWlib2xkIHtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuXG4uY3NjLXNwYWNlLWFmdGVyLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNGVtO1xufVxuXG4uY3NjLXNwYWNlLWFmdGVyLWV4dHJhLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNWVtO1xufVxuXG4vKioqIEZSQU1FICoqKi9cbi5jc2MtZnJhbWUtcnVsZXItYmVmb3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmNzYy1mcmFtZS1ydWxlci1hZnRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLmNzYy1mcmFtZS1pbmRlbnQge1xuICBtYXJnaW4tbGVmdDogMTUlO1xuICBtYXJnaW4tcmlnaHQ6IDE1JTtcbn1cblxuLmNzYy1mcmFtZS1pbmRlbnQtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAzMyU7XG59XG5cbi5jc2MtZnJhbWUtaW5kZW50LXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAzMyU7XG59XG5cbi8qKiogREVGQVVMVCBTVFlMRVMgRk9SIEVYVEVOU0lPTiBcIlRYX0ZST05URU5EXCIgKioqL1xuLmNlLWFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2UtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2UtYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNlLXRhYmxlIHRkLCAuY2UtdGFibGUgdGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uY2UtdGV4dHBpYyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbi5jZS10ZXh0cGljLCAuY2UtaW1hZ2UsIC5jZS1ub3dyYXAgLmNlLWJvZHl0ZXh0LCAuY2UtZ2FsbGVyeSwgLmNlLXJvdywgLmNlLXVwbG9hZHMgbGksIC5jZS11cGxvYWRzIGRpdiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jZS1sZWZ0IC5jZS1nYWxsZXJ5LCAuY2UtY29sdW1uIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jZS1jZW50ZXIgLmNlLW91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHJpZ2h0OiA1MCU7XG59XG5cbi5jZS1jZW50ZXIgLmNlLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHJpZ2h0OiAtNTAlO1xufVxuXG4uY2UtcmlnaHQgLmNlLWdhbGxlcnkge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jZS1nYWxsZXJ5IGZpZ3VyZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW46IDA7XG59XG5cbi5jZS1nYWxsZXJ5IGZpZ2NhcHRpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxuLmNlLWdhbGxlcnkgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jZS1nYWxsZXJ5IGlmcmFtZSB7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuLmNlLWJvcmRlciBpbWcsIC5jZS1ib3JkZXIgaWZyYW1lIHtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgIzc5NzY3NjtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNlLWludGV4dC5jZS1yaWdodCAuY2UtZ2FsbGVyeSwgLmNlLWludGV4dC5jZS1sZWZ0IC5jZS1nYWxsZXJ5LCAuY2UtYWJvdmUgLmNlLWdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uY2UtaW50ZXh0LmNlLXJpZ2h0IC5jZS1nYWxsZXJ5IHtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5jZS1pbnRleHQuY2UtbGVmdCAuY2UtZ2FsbGVyeSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmNlLWJlbG93IC5jZS1nYWxsZXJ5IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmNlLWNvbHVtbiB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmNlLWNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uY2Utcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmNlLXJvdzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNlLWFib3ZlIC5jZS1ib2R5dGV4dCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY2UtaW50ZXh0LmNlLWxlZnQgb2wsIC5jZS1pbnRleHQuY2UtbGVmdCB1bCB7XG4gIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5jZS1ib2R5dGV4dCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jZS1ib2R5dGV4dCA+ICo6Zmlyc3QtY2hpbGQsIC5jZS1ib2R5dGV4dCA+IGhlYWRlciA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKioqIEhFQURMSU5FICoqKi9cbi5jZS1oZWFkbGluZS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNlLWhlYWRsaW5lLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNlLWhlYWRsaW5lLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qKiogVVBMT0FEUyAqKiovXG4uY2UtdXBsb2FkcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmNlLXVwbG9hZHMgbGkge1xuICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgbm9uZTtcbiAgbWFyZ2luOiAxZW0gMDtcbn1cblxuLmNlLXVwbG9hZHMgaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNlLXVwbG9hZHMgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqIFRBQkxFICoqKi9cbi5jZS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jZS10YWJsZSB0aCwgLmNlLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uY2UtdGFibGUgdGhlYWQgdGgge1xuICBib3JkZXItYm90dG9tOiAwLjJyZW0gc29saWQgI2UyZTJlMjtcbn1cblxuLmNlLXRhYmxlIHRoLCAuY2UtdGFibGUgdGQge1xuICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgI2UyZTJlMjtcbn1cblxuLmNlLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi5jZS10YWJsZS1ib3JkZXJlZCB0aCwgLmNlLXRhYmxlLWJvcmRlcmVkIHRkIHtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2UyZTJlMjtcbn1cblxuLyoqKiBTUEFDRSAqKiovXG4uZnJhbWUtc3BhY2UtYmVmb3JlLWV4dHJhLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZnJhbWUtc3BhY2UtYmVmb3JlLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4uZnJhbWUtc3BhY2UtYmVmb3JlLXNlbWlib2xkIHtcbiAgbWFyZ2luLXRvcDogM2VtO1xufVxuXG4uZnJhbWUtc3BhY2UtYmVmb3JlLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNGVtO1xufVxuXG4uZnJhbWUtc3BhY2UtYmVmb3JlLWV4dHJhLWxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNWVtO1xufVxuXG4uZnJhbWUtc3BhY2UtYWZ0ZXItZXh0cmEtc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5mcmFtZS1zcGFjZS1hZnRlci1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmZyYW1lLXNwYWNlLWFmdGVyLXNlbWlib2xkIHtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuXG4uZnJhbWUtc3BhY2UtYWZ0ZXItbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA0ZW07XG59XG5cbi5mcmFtZS1zcGFjZS1hZnRlci1leHRyYS1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDVlbTtcbn1cblxuLyoqKiBGUkFNRSAqKiovXG4uZnJhbWUtcnVsZXItYmVmb3JlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogMC4xcmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmZyYW1lLXJ1bGVyLWFmdGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4uZnJhbWUtaW5kZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgbWFyZ2luLXJpZ2h0OiAxNSU7XG59XG5cbi5mcmFtZS1pbmRlbnQtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAzMyU7XG59XG5cbi5mcmFtZS1pbmRlbnQtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDMzJTtcbn1cblxuLyoqKiBERUJVRyAqKiovXG4uZXh0YmFzZS1kZWJ1Z2dlci10b3Age1xuICBjb2xvcjogcmVkO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cblxuLmV4dGJhc2UtZGVidWdnZXItdHJlZSBpbnB1dCB7XG4gIHdpZHRoOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5leHRiYXNlLWRlYnVnZ2VyLWNlbnRlciAuZXh0YmFzZS1kZWJ1Zy10eXBlIHtcbiAgY29sb3I6IHBpbms7XG59XG5cbi5leHRiYXNlLWRlYnVnZ2VyLWNlbnRlciAuZXh0YmFzZS1kZWJ1Zy1zdHJpbmcge1xuICBjb2xvcjogc2FsbW9uO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGT1JNVUxBSVJFUyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uY29udGVudF9wYWdlIGZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuXG5sZWdlbmQsIC5saWtlX2xlZ2VuZCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMy42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmZpZWxkc2V0ICsgZmllbGRzZXQgbGVnZW5kIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG59XG5cbmxlZ2VuZC5zaG93LWZvci1zciB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogaW5pdGlhbDtcbn1cblxuLyojY29sX2xlZnRfaW5uZXIgZmllbGRzZXQsICNjb2xfbGVmdF9pbm5lcl9wb3BpbiBmaWVsZHNldCovXG4uY29udGVudF9wYWdlIGZpZWxkc2V0IHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5saWduZV9mb3JtLCAuY3NjLW1haWxmb3JtLWZpZWxkLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCB7XG4gIG1hcmdpbjogMCAwIDNyZW0gMDtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5saWduZV9mb3JtW2RhdGEtc2VjdGlvbmR1cGxpY2F0b3JdIC5saWduZV9mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmxpZ25lX2Zvcm0uY3JlbmVhdSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMi41cmVtO1xufVxuXG4ubGlnbmVfZm9ybS5jcmVuZWF1IGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9yZWd1bGFyXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xufVxuXG4ubGlnbmVfZm9ybS5jcmVuZWF1IHNlbGVjdCB7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuLyogbGFiZWxzICovXG5sYWJlbCwgLmlucHV0LWdyb3VwLWxhYmVsLCAucG93ZXJtYWlsX2xhYmVsLnBvd2VybWFpbF9yYWRpb19sZWdlbmQsIC5wb3dlcm1haWxfbGFiZWwsIC5sYWJlbCwgLmxpa2VfbGFiZWwge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnVsIGxpIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5saWtlX2xhYmVsIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuXG4vKiBMYWJlbHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsICovXG4vKiNmaWx0ZXJzIGxhYmVsLCAjZmlsdGVycyAuaW5wdXQtZ3JvdXAtbGFiZWwsICNmaWx0ZXJzIC5wb3dlcm1haWxfbGFiZWwucG93ZXJtYWlsX3JhZGlvX2xlZ2VuZCwgI2ZpbHRlcnMgLnBvd2VybWFpbF9sYWJlbCwgI2ZpbHRlcnMgLmxhYmVsIHt9Ki9cbi8qIGFmZmljaGFnZSB0ZXh0ZSBzaW1wbGUgLSBza2luIGNvbW1lIGxhYmVsIG91IHAgKi9cbi5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfdGV4dCAucG93ZXJtYWlsX2ZpZWxkIHtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogY2hhbXBzICovXG5pbnB1dFt0eXBlPWZpbGVdIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3R5cGU9dGV4dF0sIFt0eXBlPXBhc3N3b3JkXSwgW3R5cGU9ZGF0ZV0sIFt0eXBlPWRhdGV0aW1lXSwgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLCBbdHlwZT1tb250aF0sIFt0eXBlPXdlZWtdLCBbdHlwZT1lbWFpbF0sIFt0eXBlPW51bWJlcl0sIFt0eXBlPXNlYXJjaF0sIFt0eXBlPXRlbF0sIFt0eXBlPXRpbWVdLCBbdHlwZT11cmxdLCBbdHlwZT1jb2xvcl0ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjFiMWIxO1xufVxuXG5pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuaW5wdXRbcGxhY2Vob2xkZXJdIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxudGV4dGFyZWE6Zm9jdXMsIHNlbGVjdDpmb2N1cywgW3R5cGU9ZmlsZV06Zm9jdXMsIFt0eXBlPXRleHRdOmZvY3VzLCBbdHlwZT1wYXNzd29yZF06Zm9jdXMsIFt0eXBlPWRhdGVdOmZvY3VzLCBbdHlwZT1kYXRldGltZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lLWxvY2FsXTpmb2N1cywgW3R5cGU9bW9udGhdOmZvY3VzLCBbdHlwZT13ZWVrXTpmb2N1cywgW3R5cGU9ZW1haWxdOmZvY3VzLCBbdHlwZT1udW1iZXJdOmZvY3VzLCBbdHlwZT1zZWFyY2hdOmZvY3VzLCBbdHlwZT10ZWxdOmZvY3VzLCBbdHlwZT10aW1lXTpmb2N1cywgW3R5cGU9dXJsXTpmb2N1cywgW3R5cGU9Y29sb3JdOmZvY3VzIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4vKiBDaGFtcHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsICovXG4vKiNmaWx0ZXJzIGlucHV0LCAjZmlsdGVycyBzZWxlY3QsICNmaWx0ZXJzIHRleHRhcmVhLCAjZmlsdGVycyBbdHlwZT0ndGV4dCddLCAjZmlsdGVycyBbdHlwZT0ncGFzc3dvcmQnXSwgI2ZpbHRlcnMgW3R5cGU9J2RhdGUnXSwgI2ZpbHRlcnMgW3R5cGU9J2RhdGV0aW1lJ10sICNmaWx0ZXJzIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCAjZmlsdGVycyBbdHlwZT0nbW9udGgnXSwgI2ZpbHRlcnMgW3R5cGU9J3dlZWsnXSwgI2ZpbHRlcnMgW3R5cGU9J2VtYWlsJ10sICNmaWx0ZXJzIFt0eXBlPSdudW1iZXInXSwgI2ZpbHRlcnMgW3R5cGU9J3NlYXJjaCddLCAjZmlsdGVycyBbdHlwZT0ndGVsJ10sICNmaWx0ZXJzIFt0eXBlPSd0aW1lJ10sICNmaWx0ZXJzIFt0eXBlPSd1cmwnXSwgI2ZpbHRlcnMgW3R5cGU9J2NvbG9yJ10ge2JhY2tncm91bmQtY29sb3I6JGNpbV9ibGFjazt9Ki9cbnRleHRhcmVhLCB0ZXh0YXJlYVtyb3dzXSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwcmVtO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0LCBoZWlnaHQgMHM7XG59XG5cbnNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuOHJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMS44cmVtIGF1dG87XG4gIHRleHQtb3ZlcmZsb3c6IFwiXCI7XG4gIHRleHQtaW5kZW50OiAwLjAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIG1pbmlhdHVyZSBmaWxlICovXG4uY29udGVudF9wYWdlIC5saWduZV9mb3JtLmZpbGUgLmZpbGVfaW5uZXIgaW5wdXRbdHlwZT1maWxlXSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jb250ZW50X3BhZ2UgLmxpZ25lX2Zvcm0uZmlsZSAuZmlsZV9pbm5lciA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5taW5pYXR1cmVzLCAuY29udGVudF9wYWdlIC5taW5pYXR1cmVzIHtcbiAgbWFyZ2luOiAxcmVtIDFyZW0gMCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5taW5pYXR1cmVzIGxpLCAuY29udGVudF9wYWdlIHVsLm1pbmlhdHVyZXMgbGkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwO1xuICBoZWlnaHQ6IDE1cmVtO1xufVxuXG4ubWluaWF0dXJlcyBsaSBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbn1cblxuLyogY2hlY2tib3ggLyByYWRpbyAqL1xuaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwLjRyZW07XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogaW5pdGlhbDtcbn1cblxuLmxpZ25lX2Zvcm0uY2hlY2tib3gsIC5saWduZV9mb3JtLnJhZGlvIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrID4gLnBvd2VybWFpbF9maWVsZCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyA+IC5wb3dlcm1haWxfZmllbGQge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xufVxuXG4ubGlnbmVfZm9ybS5jaGVja2JveCwgLmxpZ25lX2Zvcm0ucmFkaW8sIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgLmNoZWNrYm94IGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIC5yYWRpbyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpZ25lX2Zvcm0uY2hlY2tib3ggbGFiZWwsIC5saWduZV9mb3JtLnJhZGlvIGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIC5jaGVja2JveCBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyAucmFkaW8gbGFiZWwge1xuICBwYWRkaW5nOiAwLjFyZW0gMCAwLjFyZW0gM3JlbTtcbn1cblxuLmlyYWRpbywgLmljaGVja2JveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwLjZyZW07XG59XG5cbi5pcmFkaW8ge1xuICBsZWZ0OiAwLjFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmljaGVja2JveCB7XG4gIGxlZnQ6IDA7XG59XG5cbio6aXMoLmljaGVja2JveF9taW5pbWFsLCAuaXJhZGlvX21pbmltYWwpIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxOS44cmVtIDEuOHJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLyogcmFuZ2UgKi9cbi5zbGlkZXIgLnNsaWRlci1oYW5kbGVbYXJpYS1jb250cm9scz1zbGlkZXJPdXRwdXQyXSB7XG4gIGxlZnQ6IDIwJTtcbn1cblxuLnNsaWRlci1oYW5kbGUge1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG59XG5cbi5zbGlkZXItaGFuZGxlIGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IC01MCU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDNyZW07XG4gIHBhZGRpbmc6IDAuNXJlbSAwIDAgMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnNsaWRlci1oYW5kbGUgc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogLTYwJTtcbiAgcGFkZGluZzogMC44cmVtIDAgMCAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5zbGlkZXItZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuLnNsaWRlci1oYW5kbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG5cbi5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4vKiBzdWJtaXQgKi9cbi5wb3dlcm1haWxfZmllbGR3cmFwLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9zdWJtaXQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5kaXYuYnRuX3N1Ym1pdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMS41cmVtIDAgMCAwO1xufVxuXG5pbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKSwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICMwMDAwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDQuOHJlbTtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuNWVtIDFlbTtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSksIFtkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgb3V0bGluZTogMDtcbn1cbmlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKS5kaXNhYmxlZCwgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSlbZGlzYWJsZWRdLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKS5kaXNhYmxlZDpob3ZlciwgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSlbZGlzYWJsZWRdOmhvdmVyLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKS5kaXNhYmxlZDpmb2N1cywgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSlbZGlzYWJsZWRdOmZvY3VzLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0sIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9c3VibWl0XS5kaXNhYmxlZCwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdW2Rpc2FibGVkXSwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdLmRpc2FibGVkOmhvdmVyLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdOmhvdmVyLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0uZGlzYWJsZWQ6Zm9jdXMsIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9c3VibWl0XVtkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmhvdmVyLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwMDAwMDtcbn1cblxuaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6aXMoOmhvdmVyLCA6Zm9jdXMpLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF06aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi8qIENoYW1wcyBkYW5zIHBvcGluIGZpbHRyZXMgZHUgbW90ZXVyIHBhZ2UgbGlzdGUgLy8gc2kgZGlmZmVyZW50cyBkdSBza2luIGdlbmVyYWwgOiAqL1xuLyogQ29tYm9ib3ggKi9cbi5jdXN0b20tY29tYm9ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtaW5wdXQge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbSAwLjdyZW0gMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNzk3Njc2O1xufVxuXG4uY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtdG9nZ2xlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMC4ycmVtKTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjhyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuOHJlbSBhdXRvO1xuICB0ZXh0LW92ZXJmbG93OiBcIlwiO1xuICB0ZXh0LWluZGVudDogMC4wMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMC4xcmVtO1xuICB0b3A6IDAuMXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tLWNvbWJvYm94LWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi5jdXN0b20tY29tYm9ib3gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc5NzY3Njtcbn1cblxuLmN1c3RvbS1jb21ib2JveC1pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi5jdXN0b20tY29tYm9ib3gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi5jdXN0b20tY29tYm9ib3gtaW5wdXRbcGxhY2Vob2xkZXJdIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi51aS1hdXRvY29tcGxldGUge1xuICB6LWluZGV4OiAxMDA1O1xuICBtYXgtd2lkdGg6IGNhbGMoODByZW0gLSAxM3JlbSkgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAzM3JlbSAhaW1wb3J0YW50O1xuICB3aWR0aDogMzB2dyAhaW1wb3J0YW50O1xufVxuXG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi51aS1hdXRvY29tcGxldGUgbGkge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2UyZTJlMjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLnVpLWF1dG9jb21wbGV0ZSBsaSBkaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuXG4udWktYXV0b2NvbXBsZXRlIGxpOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi51aS1hdXRvY29tcGxldGUgbGk6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4Ljc1LCAyMzguNzUsIDIzOC43NSk7XG59XG5cbi51aS1hdXRvY29tcGxldGUgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLCAudWktYXV0b2NvbXBsZXRlIGEudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlMmUyZTI7XG59XG5cbi51aS10b29sdGlwIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXgtd2lkdGg6IDMwcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbmJvZHkgLnVpLXRvb2x0aXAge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLyogUGFzc3dvcmQgKi9cbi52aWV3X3Bhc3N3b3JkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJhY2tncm91bmQ6ICNlMmUyZTIgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMi41cmVtIGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUwIDI4LjI2JyUzRSUzQ3BhdGggZD0nTTI2LjA5LDEuMDljLTEzLjgxLDAtMjUsMTQuMTMtMjUsMTQuMTNzMTEuMTksMTQuMTMsMjUsMTQuMTMsMjUtMTQuMTMsMjUtMTQuMTNTMzkuOSwxLjA5LDI2LjA5LDEuMDlabTAsMjQuMTNhMTAsMTAsMCwxLDEsMTAtMTBBMTAsMTAsMCwwLDEsMjYuMDksMjUuMjJaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMS4wOSAtMS4wOSknIGZpbGw9JyUyMzAwMDAwMCcvJTNFJTNDY2lyY2xlIGN4PScyNScgY3k9JzE0LjEzJyByPSc1JyBmaWxsPSclMjMwMDAwMDAnLyUzRSUzQy9zdmclM0VcIik7XG4gIHRleHQtaW5kZW50OiAtOTk5OXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbSBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udmlld19wYXNzd29yZDppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MCAyOC4yNiclM0UlM0NwYXRoIGQ9J00yNi4wOSwxLjA5Yy0xMy44MSwwLTI1LDE0LjEzLTI1LDE0LjEzczExLjE5LDE0LjEzLDI1LDE0LjEzLDI1LTE0LjEzLDI1LTE0LjEzUzM5LjksMS4wOSwyNi4wOSwxLjA5Wm0wLDI0LjEzYTEwLDEwLDAsMSwxLDEwLTEwQTEwLDEwLDAsMCwxLDI2LjA5LDI1LjIyWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTEuMDkgLTEuMDkpJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQ2NpcmNsZSBjeD0nMjUnIGN5PScxNC4xMycgcj0nNScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiBBTklNQVRFIExBQkVMICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmxpZ25lX2Zvcm0uZm9jdXNpbiB0ZXh0YXJlYSwgLmxpZ25lX2Zvcm0uZm9jdXNpbiBzZWxlY3QsIC5saWduZV9mb3JtLmZvY3VzaW4gaW5wdXQsXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHRhcmVhLmZvY3VzaW4gdGV4dGFyZWEsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfaW5wdXQuZm9jdXNpbiBpbnB1dCwgLnBvd2VybWFpbF9maWVsZHdyYXBfZGF0ZS5mb2N1c2luIGlucHV0LFxuLnBvd2VybWFpbF9maWVsZHdyYXBfdGV4dGFyZWEuZm9jdXNpbiB0ZXh0YXJlYSwgLnBvd2VybWFpbF9maWVsZHdyYXBfaW5wdXQuZm9jdXNpbiBpbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci13aWR0aDogMC4xcmVtO1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKmJveC1zaGFkb3c6MCAwIDAgMC4ycmVtIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsqL1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxuLyogY2hhbXBzIG9ibGlnYXRvaXJlcyAqL1xuLm1hbmRhdG9yeSwgLmZlbWFuYWdlcl9uZXcgLmNvbnRyb2wtbGFiZWwgc3BhbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9yZWd1bGFyXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgcGFkZGluZzogMCAwLjhyZW07XG59XG5cbi8qIGNoYW1wcyBkZXNhY3RpdmVzICovXG5pbnB1dFt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZDogI2NhY2FjYSAhaW1wb3J0YW50O1xufVxuXG5pbnB1dFt0eXBlPXRleHRdW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2EgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtbGFiZWwgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gIGhlaWdodDogNHJlbTtcbiAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG59XG5cbi8qIG1lc3NhZ2UgZCdlcnJldXIgKi9cbi8qIGVycmV1cnMgKi9cbi5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLnBhcnNsZXktcmVxdWlyZWQsIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICNjYzRiMzcgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDFyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAwIDAgMC41cmVtICFpbXBvcnRhbnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYm9yZGVyLWxlZnQ6IDAuMnJlbSBzb2xpZCAjY2M0YjM3ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBhcnNsZXktcmVxdWlyZWQ6bm90KDpmaXJzdC1jaGlsZCksIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYXJzbGV5LXJlcXVpcmVkOjpiZWZvcmUsIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jaGVja2JveF9hYnNvbHV0ZSAubGlnbmVfZm9ybS5jaGVja2JveCAucGFyc2xleS1lcnJvcnMtbGlzdC5maWxsZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMuNXJlbTtcbn1cblxuLyogTWVzc2FnZSBlcnJvciAqL1xuZm9ybSAuZXJyb3Ige1xuICBtYXJnaW46IDJyZW0gMDtcbn1cblxuZm9ybSAuZXJyb3IgcCB7XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29udGVudF9wYWdlIC5wb3dlcm1haWxfbWVzc2FnZV9lcnJvciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmNvbnRlbnRfcGFnZSAucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3IgbGkge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLnBvd2VybWFpbF9maWVsZF9lcnJvciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjJyZW0gI2NjNGIzNztcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2NjNGIzNztcbn1cblxuLnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG4ucG93ZXJtYWlsX21lc3NhZ2UucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3IgbGk6OmJlZm9yZSwgLnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNyAhaW1wb3J0YW50O1xufVxuXG4vKiBtc2cgdmFsaWRhdGlvbiByZWNlcHRpb24gLyBwYWdlIHZhbGlkYXRpb24gaW5mb3MgKi9cbi5wb3dlcm1haWxfY3JlYXRlLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDIuNXJlbSAwO1xufVxuXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBmb3JtIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9mb3JtLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9zdWJtaXQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMnJlbSAwIDAgMDtcbn1cblxuLnBvd2VybWFpbF9jb25maXJtYXRpb24gLnBvd2VybWFpbF9jb25maXJtYXRpb25fZm9ybSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBwYWdlIGRlIGNvbmZpcm1hdGlvbiAqL1xuI3BhZ2UgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaDQge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuZGwucG93ZXJtYWlsX2FsbCB7XG4gIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xufVxuXG5kbC5wb3dlcm1haWxfYWxsIGR0IHtcbiAgbWFyZ2luOiAwIDEuNXJlbSAxLjVyZW0gMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuZGwucG93ZXJtYWlsX2FsbCBkZCB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qIENoYW1wcyBzdWl2YW50ICovXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9mb3JtIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9c3VibWl0XS5wb3dlcm1haWxfY29uZmlybWF0aW9uX3N1Ym1pdCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuZGl2LnR4X3Bvd2VybWFpbF9waTFfZmllbGR3cmFwX2h0bWxfY2hlY2sgbGFiZWwge1xuICB3aWR0aDogMi41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG59XG5cbi50eF9wb3dlcm1haWxfcGkxX2ZpZWxkd3JhcF9odG1sX2NoZWNrIGlucHV0IHtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4udHhfcG93ZXJtYWlsX3BpMV9maWVsZHdyYXBfaHRtbF9zdWJtaXRncmFwaGljIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udHhfcG93ZXJtYWlsX3BpMV9maWVsZHdyYXBfaHRtbF9zdWJtaXRncmFwaGljIGlucHV0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiA5LjhyZW07XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFURSBQSUNLRVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuYm9keSAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuYm9keSAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRhYmxlIHRoZWFkLCBib2R5IC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGFibGUgdGJvZHksIGJvZHkgLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB0YWJsZSB0Zm9vdCB7XG4gIGJvcmRlcjogMDtcbn1cblxuYm9keSAuZGF0ZXBpY2tlciB0ZCBzcGFuLmFjdGl2ZSwgYm9keSAuZGF0ZXBpY2tlciB0ZC5hY3RpdmUuZGF5LCBib2R5IC5kYXRlcGlja2VyIHRkLmFjdGl2ZS55ZWFyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbmJvZHkgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUsIGJvZHkgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgYm9keSAuZGF0ZXBpY2tlciB0ZC5hY3RpdmUueWVhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuYm9keSAuZGF0ZXBpY2tlciB0ZCwgYm9keSAuZGF0ZXBpY2tlciB0aCB7XG4gIHdpZHRoOiAzLjNyZW07XG4gIGhlaWdodDogMy4zcmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuYm9keSAuZGF0ZXBpY2tlciB0aGVhZCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTU0VTIEdFTkVSSVFVRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjhyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5zaGFkb3dfaW5zZXQge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ub3ZlcmxheSB7IC8qIGNvdWxldXIgYSBkZWZpbmlyICovXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5zZXBoMSB7XG4gIGZvbnQtc2l6ZTogMC4xcmVtO1xuICBoZWlnaHQ6IDAuMXJlbTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDA7XG59XG5cbnNwYW4uY2xlYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRpc3BsYXlfbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuYm9keS5vdmVyZmxvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5sYXJnZS0yXzUsIC5tZWRpdW0tMl81LCAuc21hbGwtMl81IHtcbiAgLW1zLWZsZXg6IDAgMCAyMCU7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4ubWFqdSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5kZWZhdWx0X2ltZyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvNzAlIGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyOC44MScgaGVpZ2h0PSc2OS4wNzknIHZpZXdCb3g9JzAgMCAxMjguODEgNjkuMDc5JyUzRSUzQ2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTYxNi4yMDEgLTgyNi40NjEpJyUzRSUzQ3BhdGggZD0nTTEwMi4xODYsMjAuMzQySDYyLjYyM0w4Mi4zMzcsNTcuMVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDU5OC4yMDIgODA2LjExOSknIGZpbGw9JyUyM2FmMDYyMycvJTNFJTNDcmVjdCB3aWR0aD0nMTguNzgyJyBoZWlnaHQ9JzY5LjA3OScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNjE2LjIwMSA4MjYuNDYxKScgZmlsbD0nJTIzYWYwNjIzJy8lM0UlM0NwYXRoIGQ9J004OS42NzUsNzcuOTFINzQuMzU2TDU3LjYzNyw0N1Y4Ny45NzhoNTAuMDg2VjQ2LjM0MlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDU5Ny45MjUgODA3LjU2MSknIGZpbGw9JyUyM2FmMDYyMycvJTNFJTNDcmVjdCB3aWR0aD0nMTguNzgyJyBoZWlnaHQ9JzY5LjA3OScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNzI2LjIyOSA4MjYuNDYxKScgZmlsbD0nJTIzYWYwNjIzJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBtaW4taGVpZ2h0OiBpbmhlcml0OyAvKnBvdXIgbGVzIGRldiwgYSBzdXBwciBwZHQgcGhhc2UgaW50Ki9cbiAgbWluLWhlaWdodDogYXV0bztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMC4xcmVtICNlMmUyZTI7XG59XG5cbiNwYWdlLmxpc3QgLmRlZmF1bHRfaW1nLCAjcGFnZS5jYXJ0b190cGwgLmRlZmF1bHRfaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDIxMC8yMDA7XG59XG5cbi5hZHJlc3NlLCAuaG9yYWlyZXMsIC5tYWlsLCAud2Vic2l0ZSwgLnRlbCwgLmdtYXAge1xuICBwYWRkaW5nOiAwIDAgMCA0LjRyZW07XG4gIG1pbi1oZWlnaHQ6IDMuMnJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGxlZnQgMC8zLjJyZW0gYXV0bztcbn1cblxuLmFkcmVzc2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqIEJPVVRPTiBMSUVOICoqKi9cbi5idG5fbGllbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnRuX2xpZW4gPiAqLCAuY29udGVudF9wYWdlIC5idG5fbGllbiA+ICoge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMC44cmVtIDIuMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiAzLjZyZW07XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG59XG4uYnRuX2xpZW4gPiAqIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJ0bl9saWVuID4gKiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uYnRuX2xpZW46aXMoOmhvdmVyLCA6Zm9jdXMpID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW46aXMoOmhvdmVyLCA6Zm9jdXMpID4gKiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bl9saWVuLndoaXRlID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ud2hpdGUgPiAqIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ3BhdGggZD0nTTE0LjMzMywxMC4zMzNoLTR2NEg5di00SDVWOUg5VjVoMS4zMzNWOWg0WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTEuNjY3IC0xLjY2NyknIGZpbGw9JyUyMzAwMDAwMCcvJTNFJTNDcGF0aCBkPSdNMCwwSDE2VjE2SDBaJyBmaWxsPSdub25lJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuLmJ0bl9saWVuLndoaXRlOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fbGllbi53aGl0ZTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnRuX2xpZW4uYmxhY2sgPiAqLCAuY29udGVudF9wYWdlIC5idG5fbGllbi5ibGFjayA+ICoge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xufVxuLmJ0bl9saWVuLmJsYWNrOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fbGllbi5ibGFjazppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ0bl9saWVuLnBpY3RvX3JpZ2h0LCAuY29udGVudF9wYWdlIC5idG5fbGllbi5waWN0b19yaWdodCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5idG5fbGllbi5waWN0b19yaWdodCA+ICosIC5jb250ZW50X3BhZ2UgLmJ0bl9saWVuLnBpY3RvX3JpZ2h0ID4gKiB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMnJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjZyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMi4ycmVtIGNlbnRlcjtcbn1cbi5idG5fbGllbi5waWN0b19yaWdodDppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ucGljdG9fcmlnaHQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NwYXRoIGQ9J00xNC4zMzMsMTAuMzMzaC00djRIOXYtNEg1VjlIOVY1aDEuMzMzVjloNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xLjY2NyAtMS42NjcpJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQ3BhdGggZD0nTTAsMEgxNlYxNkgwWicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLyoqKiBCT1VUT04gQUxMICoqKi9cbi5idG5fYWxsLCAuY29udGVudF9wYWdlIC5idG5fYWxsLFxuLmJ0bl9iYWNrLCAuY29udGVudF9wYWdlIC5idG5fYmFjayB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5idG5fYWxsID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCA+ICosXG4uYnRuX2JhY2sgPiAqLCAuY29udGVudF9wYWdlIC5idG5fYmFjayA+ICoge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiAxLjhyZW0gNXJlbTtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG5fYWxsID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gKiBzcGFuLFxuLmJ0bl9iYWNrID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYmFjayA+ICogc3BhbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmJ0bl9hbGwgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCA+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpLFxuLmJ0bl9iYWNrID4gYTppcyg6aG92ZXIsIDpmb2N1cyksIC5jb250ZW50X3BhZ2UgLmJ0bl9iYWNrID4gYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuLmJ0bl9hbGwgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3Bhbixcbi5idG5fYmFjayA+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJ0bl9iYWNrID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKioqIEJPVVRPTiBBREQgKioqL1xuLyoqKiBCT1VUT04gVFhUICoqKi9cbi5idG5fdHh0LCAuY29udGVudF9wYWdlIC5idG5fdHh0IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnRuX3R4dCA+ICosIC5jb250ZW50X3BhZ2UgLmJ0bl90eHQgPiAqIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbn1cbi5idG5fdHh0ID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fdHh0ID4gKiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uYnRuX3R4dCA+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpLCAuY29udGVudF9wYWdlIC5idG5fdHh0ID4gYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuLmJ0bl90eHQgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fdHh0ID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKioqIEJPVVRPTiBDQUxMIFRPIEFDVElPTiAqKiovXG4uY2FsbF90b19hY3Rpb25fY29udGFpbmVyIHtcbiAgbWFyZ2luOiAzcmVtIDA7XG59XG5cbi8qKiogQk9VVE9OIFJFVE9VUiAqKiovXG4uYnRuX2JhY2tfY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbn1cblxuLmJ0bl9iYWNrIHNwYW46YmVmb3JlLCAuY29udGVudF9wYWdlIC5idG5fYmFjayBzcGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG4gIHRvcDogY2FsYyg1MCUgLSAwLjJyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXG4uYnV0dG9uIHNwYW4ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbjppcyg6aG92ZXIsIDpmb2N1cykge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoqKiBCQUxJU0VTIDxwPiBDT01NRSBVTiBCVVRUT04gKioqL1xuLmJ1dHRvbl9saWtlLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5idXR0b25fbGlrZSA+ICosIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiA0LjhyZW07XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b25fbGlrZSA+ICosIFtkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqIHtcbiAgb3V0bGluZTogMDtcbn1cbi5idXR0b25fbGlrZSA+ICosIC5idXR0b25fbGlrZSA+ICouZGlzYWJsZWQsIC5idXR0b25fbGlrZSA+ICpbZGlzYWJsZWRdLCAuYnV0dG9uX2xpa2UgPiAqLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uX2xpa2UgPiAqW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbl9saWtlID4gKi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbl9saWtlID4gKltkaXNhYmxlZF06Zm9jdXMsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKiwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqLmRpc2FibGVkLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSA+ICpbZGlzYWJsZWRdLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSA+ICouZGlzYWJsZWQ6aG92ZXIsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKltkaXNhYmxlZF06aG92ZXIsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKi5kaXNhYmxlZDpmb2N1cywgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbl9saWtlID4gKjpob3ZlciwgLmJ1dHRvbl9saWtlID4gKjpmb2N1cywgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqOmhvdmVyLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSA+ICo6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b25fbGlrZSA+ICosIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKiB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG59XG4uYnV0dG9uX2xpa2UgPiAqIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uYnV0dG9uX2xpa2UgYTppcyg6aG92ZXIsIDpmb2N1cyksIC5idXR0b25fbGlrZTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgYTppcyg6aG92ZXIsIDpmb2N1cyksIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuIHtcbiAgY29sb3I6ICNmZmZmZmY7IC8qYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgYm9yZGVyLWNvbG9yOiRjaW1fYmxhY2s7Ki9cbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqKiBCT1VUT05TIERPQ1VNRU5UUyAqKiovXG4uYnRuX2tpb3NxdWUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5idG5fa2lvc3F1ZTpub3QoOmxhc3QtY2hpbGQpLCAuY29udGVudF9wYWdlIC5idG5fa2lvc3F1ZTpub3QoOmxhc3QtY2hpbGQpLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW07XG59XG4uYnRuX2tpb3NxdWUgYSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUgYSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZSBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbn1cbi5idG5fa2lvc3F1ZSBhOjpiZWZvcmUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlIGE6OmJlZm9yZSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZSBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAzLjRyZW07XG4gIGhlaWdodDogMy40cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuOHJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZiBuby1yZXBlYXQgY2VudGVyIGNlbnRlci8xLjhyZW0gYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG4uYnRuX2tpb3NxdWUudGVsZWNoYXJnZXIgYTo6YmVmb3JlLCAuY29udGVudF9wYWdlIC5idG5fa2lvc3F1ZS50ZWxlY2hhcmdlciBhOjpiZWZvcmUsIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUudGVsZWNoYXJnZXIgYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgMTggMTgnJTNFJTNDcGF0aCBkPSdNMTMsMTAuNUgxMC43NVYzSDkuMjV2Ny41SDdsMywzWk00LDE1djEuNUgxNlYxNVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xIC0wLjc1KScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0NwYXRoIGQ9J00wLDBIMThWMThIMFonIGZpbGw9J25vbmUnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uYnRuX2tpb3NxdWUuZmV1aWxsZXRlciBhOjpiZWZvcmUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlLmZldWlsbGV0ZXIgYTo6YmVmb3JlLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlLmZldWlsbGV0ZXIgYTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgMTggMTgnJTNFJTNDcGF0aCBkPSdNMCwwSDE4VjE4SDBaJyBmaWxsPSdub25lJy8lM0UlM0NnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuNzUgMyknJTNFJTNDcGF0aCBkPSdNMTYsNEgyLjVBMS41LDEuNSwwLDAsMCwxLDUuNXY5Ljc1YTEuNSwxLjUsMCwwLDAsMS41LDEuNUgxNmExLjUsMS41LDAsMCwwLDEuNS0xLjVWNS41QTEuNSwxLjUsMCwwLDAsMTYsNFpNMi41LDE1LjI1VjUuNWg2djkuNzVabTEzLjUsMEgxMFY1LjVoNlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xIC00KScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0NyZWN0IHdpZHRoPSc0LjUnIGhlaWdodD0nMS4xMjUnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDkuNzUgNC4xMjUpJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQ3JlY3Qgd2lkdGg9JzQuNScgaGVpZ2h0PScxLjEyNScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoOS43NSA2KScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0NyZWN0IHdpZHRoPSc0LjUnIGhlaWdodD0nMS4xMjUnIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDkuNzUgNy44NzUpJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQy9nJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5idG5fa2lvc3F1ZS50ZWxlY2hhcmdlciBhOmlzKDpob3ZlciwgOmZvY3VzKTo6YmVmb3JlLCAuY29udGVudF9wYWdlIC5idG5fa2lvc3F1ZS50ZWxlY2hhcmdlciBhOmlzKDpob3ZlciwgOmZvY3VzKTo6YmVmb3JlLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlLnRlbGVjaGFyZ2VyIGE6aXMoOmhvdmVyLCA6Zm9jdXMpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAxOCAxOCclM0UlM0NwYXRoIGQ9J00xMywxMC41SDEwLjc1VjNIOS4yNXY3LjVIN2wzLDNaTTQsMTV2MS41SDE2VjE1WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTEgLTAuNzUpJyBmaWxsPSclMjMwMDYxQUUnLyUzRSUzQ3BhdGggZD0nTTAsMEgxOFYxOEgwWicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5idG5fa2lvc3F1ZS5mZXVpbGxldGVyIGE6aXMoOmhvdmVyLCA6Zm9jdXMpOjpiZWZvcmUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlLmZldWlsbGV0ZXIgYTppcyg6aG92ZXIsIDpmb2N1cyk6OmJlZm9yZSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZS5mZXVpbGxldGVyIGE6aXMoOmhvdmVyLCA6Zm9jdXMpOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAxOCAxOCclM0UlM0NwYXRoIGQ9J00wLDBIMThWMThIMFonIGZpbGw9J25vbmUnLyUzRSUzQ2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMC43NSAzKSclM0UlM0NwYXRoIGQ9J00xNiw0SDIuNUExLjUsMS41LDAsMCwwLDEsNS41djkuNzVhMS41LDEuNSwwLDAsMCwxLjUsMS41SDE2YTEuNSwxLjUsMCwwLDAsMS41LTEuNVY1LjVBMS41LDEuNSwwLDAsMCwxNiw0Wk0yLjUsMTUuMjVWNS41aDZ2OS43NVptMTMuNSwwSDEwVjUuNWg2WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTEgLTQpJyBmaWxsPSclMjMwMDYxQUUnLyUzRSUzQ3JlY3Qgd2lkdGg9JzQuNScgaGVpZ2h0PScxLjEyNScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoOS43NSA0LjEyNSknIGZpbGw9JyUyMzAwNjFBRScvJTNFJTNDcmVjdCB3aWR0aD0nNC41JyBoZWlnaHQ9JzEuMTI1JyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSg5Ljc1IDYpJyBmaWxsPSclMjMwMDYxQUUnLyUzRSUzQ3JlY3Qgd2lkdGg9JzQuNScgaGVpZ2h0PScxLjEyNScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoOS43NSA3Ljg3NSknIGZpbGw9JyUyMzAwNjFBRScvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmJ0bl9raW9zcXVlIGE6aXMoOmhvdmVyLCA6Zm9jdXMpLCAuY29udGVudF9wYWdlIC5idG5fa2lvc3F1ZSBhOmlzKDpob3ZlciwgOmZvY3VzKSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZSBhOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYnRuX2tpb3NxdWUgYTppcyg6aG92ZXIsIDpmb2N1cyk6OmJlZm9yZSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUgYTppcyg6aG92ZXIsIDpmb2N1cyk6OmJlZm9yZSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZSBhOmlzKDpob3ZlciwgOmZvY3VzKTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4vKioqIEJPVVRPTlMgQ0xPU0UgKioqL1xuLyoqKiBCVE4gQ0xPU0UgKHZlcnNpb24gcGV0aXRlIGNyb2l4IFwiWFwiIHNhbnMgZm9uZCkgKioqL1xuLmJ0bl9jbG9zZSB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMy41cmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIuNnJlbSBhdXRvO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMDAwMDAwO1xufVxuLmJ0bl9jbG9zZTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNicgaGVpZ2h0PScyNicgdmlld0JveD0nMCAwIDI2IDI2JyUzRSUzQ3BhdGggZD0nTTAsMEgyNlYyNkgwWicgZmlsbD0nbm9uZScvJTNFJTNDcGF0aCBkPSdNMTkuNDY1LDYuNDU3LDE4LjAwOCw1bC01Ljc3Niw1Ljc3Nkw2LjQ1Nyw1LDUsNi40NTdsNS43NzYsNS43NzZMNSwxOC4wMDhsMS40NTcsMS40NTcsNS43NzYtNS43NzYsNS43NzYsNS43NzYsMS40NTctMS40NTctNS43NzYtNS43NzZaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLjc2NyAwLjc2NyknIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi5idG5fY2xvc2Ugc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKioqL1xuLmNsb3NlLWJ1dHRvbiB7XG4gIHdpZHRoOiA1LjJyZW07XG4gIGhlaWdodDogNS4ycmVtO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIuNnJlbSBhdXRvO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMDAwMDAwO1xufVxuLmNsb3NlLWJ1dHRvbjppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNicgaGVpZ2h0PScyNicgdmlld0JveD0nMCAwIDI2IDI2JyUzRSUzQ3BhdGggZD0nTTAsMEgyNlYyNkgwWicgZmlsbD0nbm9uZScvJTNFJTNDcGF0aCBkPSdNMTkuNDY1LDYuNDU3LDE4LjAwOCw1bC01Ljc3Niw1Ljc3Nkw2LjQ1Nyw1LDUsNi40NTdsNS43NzYsNS43NzZMNSwxOC4wMDhsMS40NTcsMS40NTcsNS43NzYtNS43NzYsNS43NzYsNS43NzYsMS40NTctMS40NTctNS43NzYtNS43NzZaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLjc2NyAwLjc2NyknIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG4uY2xvc2UtYnV0dG9uIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluKSAqKiovXG4ucmV2ZWFsIC5jbG9zZS1idXR0b24gc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKGRhbnMgcG9waW4gZnVsbHNjcmVlbikgKioqL1xuLyoqKiBDTE9TRSBCVVRUT04gQURWQU5DRUQgKFwiRkVSTUVSICsgY3JvaXhcIiBvdSBcIlRFWFRFICsgY3JvaXhcIikgKioqL1xuLmNsb3NlLWFkdmFuY2VkIHtcbiAgcGFkZGluZzogMC44cmVtO1xufVxuLmNsb3NlLWFkdmFuY2VkIC50aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLmNsb3NlLWFkdmFuY2VkIC50aXRsZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMC44cmVtO1xuICBoZWlnaHQ6IDAuMnJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cbi5jbG9zZS1hZHZhbmNlZCAuaW5uZXIge1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICB3aWR0aDogMi41cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGluaXRpYWw7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMHMgbGluZWFyIDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbn1cbi5jbG9zZS1hZHZhbmNlZCAuaW5uZXI6OmJlZm9yZSwgLmNsb3NlLWFkdmFuY2VkIC5pbm5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIuOHJlbTtcbiAgaGVpZ2h0OiAwLjJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLmNsb3NlLWFkdmFuY2VkIC5pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpIDAuMTVzLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgMC4yMnM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMXJlbSwgMCkgcm90YXRlKDQ1ZGVnKTtcbn1cbi5jbG9zZS1hZHZhbmNlZCAuaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSkgMC4yMnM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMXJlbSwgMCkgcm90YXRlKC00NWRlZyk7XG59XG4uY2xvc2UtYWR2YW5jZWQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4vKiBEYW5zIHBvcGluICovXG4ucmV2ZWFsIC5jbG9zZS1hZHZhbmNlZCB7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi5yZXZlYWwgLmNsb3NlLWFkdmFuY2VkOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn0iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3NcclxuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vXHJcbi8vICBUYWJsZSBvZiBDb250ZW50czpcclxuLy9cclxuLy8gICAxLiBHbG9iYWxcclxuLy8gICAyLiBCcmVha3BvaW50c1xyXG4vLyAgIDMuIFRoZSBHcmlkXHJcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vICAgNi4gQWJpZGVcclxuLy8gICA3LiBBY2NvcmRpb25cclxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAgIDkuIEJhZGdlXHJcbi8vICAxMC4gQnJlYWRjcnVtYnNcclxuLy8gIDExLiBCdXR0b25cclxuLy8gIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gIDEzLiBDYWxsb3V0XHJcbi8vICAxNC4gQ2FyZFxyXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAgMTYuIERyaWxsZG93blxyXG4vLyAgMTcuIERyb3Bkb3duXHJcbi8vICAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vICAyMC4gRm9ybXNcclxuLy8gIDIxLiBMYWJlbFxyXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjMuIE1lbnVcclxuLy8gIDI0LiBNZXRlclxyXG4vLyAgMjUuIE9mZi1jYW52YXNcclxuLy8gIDI2LiBPcmJpdFxyXG4vLyAgMjcuIFBhZ2luYXRpb25cclxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxyXG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAgMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxyXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAgMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcclxuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cclxuLy8gIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3JcclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XHJcbi8vICA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAgNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAgNDcuIFJldmVhbFxyXG4vLyAgNDguIFNsaWRlclxyXG4vLyAgNDkuIFN3aXRjaFxyXG4vLyAgNTAuIFRhYmxlXHJcbi8vICA1MS4gVGFic1xyXG4vLyAgNTIuIFRodW1ibmFpbFxyXG4vLyAgNTMuIFRpdGxlIEJhclxyXG4vLyAgNTQuIFRvb2x0aXBcclxuLy8gIDU1LiBUb3AgQmFyXHJcbi8vICA1Ni4gWHkgR3JpZFxyXG5cclxuQGltcG9ydCAnLi91dGlsJztcclxuXHJcbi8qIEZ1bmN0aW9ucyBzYXNzICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9mdW5jdGlvbnMnO1xyXG5cclxuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9fY2ltX3NldHRpbmdzJztcclxuXHJcbi8qIFZhcmlhYmxlcyBkZXMgaWNvbmVzICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9jaW1faWNvbnMnO1xyXG5cclxuLyogRm9udHMgKi9cclxuJGFsdGVybmF0aXZlIDogQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XHJcbiRtb250c2VycmF0X3JlZ3VsYXIgOiAnbW9udHNlcnJhdF9yZWd1bGFyJywgJGFsdGVybmF0aXZlO1xyXG4kbW9udHNlcnJhdF9zZW1pYm9sZCA6ICdtb250c2VycmF0X3NlbWlib2xkJywgJGFsdGVybmF0aXZlO1xyXG4kbW9udHNlcnJhdF9ib2xkIDogJ21vbnRzZXJyYXRfYm9sZCcsICRhbHRlcm5hdGl2ZTtcclxuXHJcbiRyZWd1bGFyIDogJG1vbnRzZXJyYXRfcmVndWxhcjtcclxuJHNlbWlib2xkOiAkbW9udHNlcnJhdF9zZW1pYm9sZDtcclxuJGJvbGQgOiAkbW9udHNlcnJhdF9ib2xkO1xyXG5cclxuLy8gMS4gR2xvYmFsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGdsb2JhbC1mb250LXNpemU6IDYyLjUlO1xyXG4kZ2xvYmFsLXRleHQtZm9udC1zaXplOiAxLjhlbTtcclxuJGdsb2JhbC13aWR0aDogMTQ0cmVtO1xyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gICAgICAgIHByaW1hcnk6ICRjaW1fcHJpbWFyeV9jb2xvcixcclxuICAgICAgICBzZWNvbmRhcnk6ICRjaW1fc2Vjb25kYXJ5X2NvbG9yLFxyXG4gICAgICAgIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgICAgICAgd2FybmluZzogI2ZmYWUwMCxcclxuICAgICAgICBhbGVydDogI2NjNGIzNyxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICRjaW1fbGlnaHRfZ3JheTtcclxuJG1lZGl1bS1ncmF5OiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kZGFyay1ncmF5OiAkY2ltX2RhcmtfZ3JheTtcclxuJGJsYWNrOiAkY2ltX2JsYWNrO1xyXG4kd2hpdGU6ICRjaW1fd2hpdGU7XHJcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktZm9udC1jb2xvcjogJGNpbV9ibGFjaztcclxuJGJvZHktZm9udC1mYW1pbHk6ICRyZWd1bGFyO1xyXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcclxuJGdsb2JhbC10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xyXG4kZ2xvYmFsLW1hcmdpbjogM3JlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAzcmVtO1xyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW07XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xyXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2U7XHJcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0bztcclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG4kcHJpbnQtaHJlZnM6IHRydWU7XHJcblxyXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XHJcblxyXG4vLyAyLiBCcmVha3BvaW50c1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICBsYXJnZTogMTAyNHB4LFxyXG4gICAgICAgIHhsYXJnZTogMTIwMHB4LFxyXG4gICAgICAgIHh4bGFyZ2U6IDE0NDBweCxcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgICAgICAgaGlkcGktMTogMSxcclxuICAgICAgICBoaWRwaS0xLTU6IDEuNSxcclxuICAgICAgICBoaWRwaS0yOiAyLFxyXG4gICAgICAgIHJldGluYTogMixcclxuICAgICAgICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC14LWNvdW50OiAxMjtcclxuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxyXG4gICAgICAgIHNtYWxsOiAzcmVtLFxyXG4gICAgICAgIG1lZGl1bTogM3JlbSxcclxuKTtcclxuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XHJcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xyXG4kYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9sZDtcclxuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRoZWFkZXItbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRoZWFkZXItc3R5bGVzOiAoXHJcbiAgICAgICAgc21hbGw6IChcclxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogMi44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAyLjJlbSksXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMS42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtKSxcclxuICAgICAgICAgICAgICAgICdwJzogKCdmb250LXNpemUnOiAxLjZlbSwgJ2xpbmUtaGVpZ2h0JzogMS40KSxcclxuICAgICAgICApLFxyXG4gICAgICAgIG1lZGl1bTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAzLjVlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMi4yZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtLCAnbGluZS1oZWlnaHQnOiAxLjcpLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgbGFyZ2U6IChcclxuICAgICAgICAgICAgICAgICdoMSc6ICgnZm9udC1zaXplJzogNS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gyJzogKCdmb250LXNpemUnOiAzLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDIuNGVtKSxcclxuICAgICAgICAgICAgICAgICdoNCc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g1JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdwJzogKCdmb250LXNpemUnOiAxLjhlbSwgJ2xpbmUtaGVpZ2h0JzogMS43KSxcclxuICAgICAgICApXHJcbik7XHJcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJHNtYWxsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG5cclxuLy8gUGFyYWdyYXBoZXNcclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblxyXG4vLyA/XHJcbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XHJcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xyXG5cclxuLy8gTGlzdGVzXHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDA7XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMCAwIDAgMS41cmVtO1xyXG5cclxuLy8gP1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcblxyXG4vLyBCbG9ja3F1b3Rlc1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogMCAwIDAgMTJyZW07XHJcbiRibG9ja3F1b3RlLWJvcmRlcjogbm9uZTtcclxuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xyXG5cclxuLy8gP1xyXG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XHJcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcclxuXHJcbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xyXG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XHJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xyXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XHJcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcclxuJGNvZGUtY29sb3I6ICRibGFjaztcclxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XHJcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcclxuJGNvZGUtYmxvY2stcGFkZGluZzogMXJlbTtcclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XHJcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcclxuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICcnO1xyXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICcnO1xyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDNyZW0gNXJlbSAzcmVtIDA7XHJcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAwIDEwcmVtIDNyZW0gMDtcclxuXHJcbi8vIDguIEFjY29yZGlvbiBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNHJlbTtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gOS4gQmFkZ2VcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XHJcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJhZGdlLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xyXG5cclxuLy8gMTAuIEJyZWFkY3J1bWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJGNpbV9ibGFjaztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOjA7XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGw6ICdcXFxcJztcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkY2ltX3ByaW1hcnlfY29sb3I7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tdXBwZXJjYXNlOiBmYWxzZTtcclxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvbGQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XHJcbiRidXR0b24tcGFkZGluZzogMC41ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMDtcclxuJGJ1dHRvbi1maWxsOiBzb2xpZDtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tY29sb3I6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tY29sb3ItYWx0OiAkY2ltX2JsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogNC44cmVtO1xyXG4kYnV0dG9uLWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMC4xcmVtO1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMS40cmVtLFxyXG4gICAgICAgIHNtYWxsOiAxLjRyZW0sXHJcbiAgICAgICAgZGVmYXVsdDogMS42cmVtLFxyXG4gICAgICAgIGxhcmdlOiAycmVtLFxyXG4pO1xyXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xyXG4kYnV0dG9uLXRyYW5zaXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbjtcclxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcclxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXNpemVzOiAoXHJcbiAgICAgICAgc21hbGw6IDAuNXJlbSxcclxuICAgICAgICBkZWZhdWx0OiAxcmVtLFxyXG4gICAgICAgIGxhcmdlOiAzcmVtLFxyXG4pO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGNhcmQtc2hhZG93OiBub25lO1xyXG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuXHJcbi8vIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XHJcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcclxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcclxuICAgICAgICBzbWFsbDogMC42NnJlbSxcclxuICAgICAgICBtZWRpdW06IDFyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcclxuICAgICAgICBzbWFsbDogMC4zM2VtLFxyXG4gICAgICAgIG1lZGl1bTogMC41cmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tc2l6ZTogKFxyXG4gICAgICAgIHNtYWxsOiAxLjVlbSxcclxuICAgICAgICBtZWRpdW06IDJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XHJcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XHJcblxyXG4vLyAxNi4gRHJpbGxkb3duXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcclxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XHJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XHJcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDE3LiBEcm9wZG93blxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xyXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGNpbV93aGl0ZTtcclxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRjaW1fYmxhY2s7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzByZW07XHJcbiRkcm9wZG93bi1yYWRpdXM6IDFyZW07XHJcbiRkcm9wZG93bi1zaXplczogKFxyXG4gICAgICAgIHRpbnk6IDEwcmVtLFxyXG4gICAgICAgIHNtYWxsOiAyMHJlbSxcclxuICAgICAgICBsYXJnZTogMzByZW0sXHJcbik7XHJcblxyXG4vLyAxOC4gRHJvcGRvd24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xyXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwcmVtO1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGw7XHJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDAuMXJlbSBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xyXG5cclxuLy8gMTkuIEZsZXhib3ggVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2O1xyXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xyXG5cclxuLy8gMjAuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuLy8gRmllbGRzZXRcclxuJGZpZWxkc2V0LWJvcmRlcjogbm9uZTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IDA7XHJcbiRmaWVsZHNldC1tYXJnaW46IDA7XHJcblxyXG4vLyBMZWdlbmRcclxuJGxlZ2VuZC1wYWRkaW5nOiAwO1xyXG5cclxuLy8gRm9ybVxyXG4kZm9ybS1zcGFjaW5nOiAwO1xyXG4kZm9ybS1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG5cclxuLy8gP1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuLy8gP1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyBMYWJlbFxyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGNpbV9ibGFjaztcclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiAxLjZlbTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuXHJcbi8vIElucHV0XHJcbiRpbnB1dC1jb2xvcjogJGRhcmstZ3JheTtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKCRnbG9iYWwtdGV4dC1mb250LXNpemUpO1xyXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGlucHV0LWxpbmUtaGVpZ2h0OiAxLjI7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiByZ2JhKCRjaW1fbGlnaHRfZ3JheSwgMC4zKTtcclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6IHJnYmEoJG1lZGl1bS1ncmF5LCAwLjUpICFpbXBvcnRhbnQ7XHJcbiRpbnB1dC1ib3JkZXI6IDAuMXJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogIDAuMXJlbSBzb2xpZCAkY2ltX3ByaW1hcnlfY29sb3I7XHJcbiRpbnB1dC1wYWRkaW5nOiAwLjdyZW0gMDtcclxuJGlucHV0LXNoYWRvdzogbm9uZTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogbm9uZTtcclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3JkZXIgMC4zcyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAwLjNzIGVhc2UtaW4tb3V0O1xyXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xyXG4kaW5wdXQtcmFkaXVzOiAwO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIFNlbGVjdFxyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kO1xyXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kc2VsZWN0LXJhZGl1czogJGlucHV0LXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJGxhYmVsLWNvbG9yOiAkd2hpdGU7XHJcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcclxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XHJcbiRsYWJlbC1mb250LXNpemU6MS40ZW07XHJcbiRsYWJlbC1wYWRkaW5nOiAwO1xyXG4kbGFiZWwtcmFkaXVzOiAwO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XHJcbiRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZTogJGJsYWNrO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XHJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xyXG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuXHJcbi8vIDI0LiBNZXRlclxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRtZXRlci1oZWlnaHQ6IDFyZW07XHJcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XHJcblxyXG4vLyAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJG9mZmNhbnZhcy1zaXplczogKFxyXG4gICAgICAgIG1lZGl1bTogNDByZW0sXHJcbiAgICAgICAgc21hbGw6IDEwMHZ3LFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgICAgICAgc21hbGw6IDI1cmVtLFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcclxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcclxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XHJcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCRjaW1fYmxhY2ssIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG5cclxuLy8gMjYuIE9yYml0XHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XHJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xyXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XHJcblxyXG4vLyAyNy4gUGFnaW5hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJHBhZ2luYXRpb24tc2xpY2s6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogJGdsb2JhbC10ZXh0LWZvbnQtc2l6ZTtcclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogMDtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGNpbV9tZWRpdW1fZ3JheTtcclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiAxcmVtO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6IDA7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogdHJhbnNwYXJlbnQ7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkY2ltX3ByaW1hcnlfY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItaG92ZXI6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJGNpbV9saWdodF9ncmF5O1xyXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGNpbV9saWdodF9ncmF5O1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJyc7XHJcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICcnO1xyXG5cclxuLy8gMjguIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxyXG4gICAgICAgIGRvd24sXHJcbiAgICAgICAgdXAsXHJcbiAgICAgICAgcmlnaHQsXHJcbiAgICAgICAgbGVmdFxyXG4pO1xyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xyXG5cclxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcblxyXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xyXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1kaXNwbGF5OiAoXHJcbiAgICAgICAgaW5saW5lLFxyXG4gICAgICAgIGlubGluZS1ibG9jayxcclxuICAgICAgICBibG9jayxcclxuICAgICAgICB0YWJsZSxcclxuICAgICAgICB0YWJsZS1jZWxsXHJcbik7XHJcblxyXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXHJcbiAgICAgICAgZGlzYyxcclxuICAgICAgICBjaXJjbGUsXHJcbiAgICAgICAgc3F1YXJlXHJcbik7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXHJcbiAgICAgICAgZGVjaW1hbCxcclxuICAgICAgICBsb3dlci1hbHBoYSxcclxuICAgICAgICBsb3dlci1sYXRpbixcclxuICAgICAgICBsb3dlci1yb21hbixcclxuICAgICAgICB1cHBlci1hbHBoYSxcclxuICAgICAgICB1cHBlci1sYXRpbixcclxuICAgICAgICB1cHBlci1yb21hblxyXG4pO1xyXG5cclxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxyXG4gICAgICAgIHZpc2libGUsXHJcbiAgICAgICAgaGlkZGVuLFxyXG4gICAgICAgIHNjcm9sbFxyXG4pO1xyXG5cclxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxyXG4gICAgICAgIHN0YXRpYyxcclxuICAgICAgICByZWxhdGl2ZSxcclxuICAgICAgICBhYnNvbHV0ZSxcclxuICAgICAgICBmaXhlZFxyXG4pO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcclxuXHJcbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XHJcblxyXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXHJcbjAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMik7XHJcblxyXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNpemluZzogKFxyXG4gICAgICAgIHdpZHRoLFxyXG4gICAgICAgIGhlaWdodFxyXG4pO1xyXG4kcHJvdG90eXBlLXNpemVzOiAoXHJcbiAgICAgICAgMjU6IDI1JSxcclxuICAgICAgICA1MDogNTAlLFxyXG4gICAgICAgIDc1OiA3NSUsXHJcbiAgICAgICAgMTAwOiAxMDAlXHJcbik7XHJcblxyXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDM7XHJcblxyXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcclxuICAgICAgICBvdmVybGluZSxcclxuICAgICAgICB1bmRlcmxpbmUsXHJcbiAgICAgICAgbGluZS10aHJvdWdoLFxyXG4pO1xyXG5cclxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxyXG4gICAgICAgIGxvd2VyY2FzZSxcclxuICAgICAgICB1cHBlcmNhc2UsXHJcbiAgICAgICAgY2FwaXRhbGl6ZVxyXG4pO1xyXG5cclxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblxyXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xyXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcclxuICAgICAgICBkZWZhdWx0OiA0IGJ5IDMsXHJcbiAgICAgICAgd2lkZXNjcmVlbjogMTYgYnkgOSxcclxuKTtcclxuXHJcbi8vIDQ3LiBSZXZlYWxcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHJldmVhbC1iYWNrZ3JvdW5kOiByZ2JhKCRjaW1fd2hpdGUsIDAuOSk7XHJcbiRyZXZlYWwtd2lkdGg6IDgwJTtcclxuJHJldmVhbC1tYXgtd2lkdGg6IDgwcmVtO1xyXG4kcmV2ZWFsLXBhZGRpbmc6IDkuNTVyZW07XHJcbiRyZXZlYWwtYm9yZGVyOiBub25lO1xyXG4kcmV2ZWFsLXJhZGl1czogMDtcclxuJHJldmVhbC16aW5kZXg6IDEwMDU7XHJcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSk7XHJcblxyXG4vLyA0OC4gU2xpZGVyXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcclxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XHJcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDQ5LiBTd2l0Y2hcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xyXG4kc3dpdGNoLWhlaWdodDogMnJlbTtcclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XHJcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XHJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogLjU7XHJcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuXHJcbi8vIDUwLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDAuMXJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTtcclxuJHRhYmxlLXBhZGRpbmc6IDEuNXJlbTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaXMtc3RyaXBlZDogZmFsc2U7XHJcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCRkYXJrLWdyYXksIDAuOCk7XHJcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XHJcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6ICRjaW1fbGlnaHRfZ3JheTtcclxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcclxuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDUxLiBUYWJzXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kdGFiLW1hcmdpbjogMDtcclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xyXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICAgICAgICBzbWFsbDogM3JlbSxcclxuICAgICAgICBtZWRpdW06IDNyZW1cclxuKTtcclxuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcclxuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcclxuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLyogQ3VzdG9tIG1peGlucyAqL1xyXG5AaW1wb3J0ICcuLi9jdXN0b20vY2ltX21peGlucyc7IiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKiogRm9uY3Rpb24gcXVpIGdlbmVyZSB1biBzdmcgYmFja2dyb3VuZC1pbWFnZSAqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0QGZ1bmN0aW9uIHN2Zy11cmwoJHN2Zyl7ICAgIFxyXG5cdCAgICAkZW5jb2RlZDonJztcclxuXHQgICAgJHNsaWNlOiAyMDAwO1xyXG5cdCAgICAkaW5kZXg6IDA7XHJcblx0ICAgICRsb29wczogY2VpbChjYWxjKHN0ci1sZW5ndGgoJHN2ZykgLyAkc2xpY2UpKTtcclxuXHQgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbG9vcHMge1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItc2xpY2UoJHN2ZywgJGluZGV4LCAkaW5kZXggKyAkc2xpY2UgLSAxKTsgXHJcblx0ICAgICAgXHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnXCInLCdcXCcnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCc8JywnJTNDJyk7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnPicsJyUzRScpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJyYnLCclMjYnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCcjJywnJTIzJyk7ICAgICAgIFxyXG5cdCAgICAgICAgJGVuY29kZWQ6ICN7JGVuY29kZWR9I3skY2h1bmt9O1xyXG5cdCAgICAgICAgJGluZGV4OiAkaW5kZXggKyAkc2xpY2U7IFxyXG5cdCAgICB9XHJcblx0ICAgIEByZXR1cm4gdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwjeyRlbmNvZGVkfVwiKTtcclxuXHR9XHRcdFx0ICAgICAgICAgICAgXHJcblx0QGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xyXG5cdCAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTsgXHJcblx0ICAgIEBpZiAkaW5kZXggeyBcclxuXHQgICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBcclxuXHQgICAgICAgICAgICBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgXHJcblx0ICAgICAgICAgICAgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTsgXHJcblx0ICAgIH1cclxuXHQgICAgQHJldHVybiAkc3RyaW5nOyBcclxuXHR9IiwiLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKiogQ09VTEVVUlMgKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcblx0Ly8gTGFpc3NlciBqdXNxdSdhIGxhIGZpbiBkdSBwcm9qZXQgcG91ciB2b2lyIHNpIGRlcyDDqWzDqW1lbnRzIG9udCDDqXTDqSBvdWJsacOpcyAoY2hlcmNoZXIvcmVtcGxhY2VyKVxyXG4gICAgJGRlZmF1bHRfY29sb3I6IHNhbG1vbjtcclxuXHJcblx0LyogQ291bGV1cnMgcHJvamV0ICovXHJcblxyXG5cdFx0Ly8gQmFydFxyXG5cdFx0XHQkYmx1ZTogIzAwNjFBRTtcclxuXHRcdFx0JHllbGxvdzogI0ZBREQwNDtcclxuXHRcdFx0JGdyZXlpc2g6ICNBOEFEQzY7XHJcblxyXG5cdFx0LyogdXRpbGlzw6lzIGRhbnMgc2V0dGluZ3MgRm91bmRhdGlvbiAqL1xyXG5cdFx0XHQkY2ltX3ByaW1hcnlfY29sb3I6ICRibHVlO1xyXG5cdFx0XHQkY2ltX3NlY29uZGFyeV9jb2xvcjogJHllbGxvdztcclxuXHRcdFx0JGNpbV90aGlyZF9jb2xvcjogJGdyZXlpc2g7XHJcblx0XHRcdCRjaW1fZm91cnRoX2NvbG9yOiAkY2ltX3RoaXJkX2NvbG9yOyIsIkBpbXBvcnQgJ19jaW1fc2V0dGluZ3NfY29sb3JzJztcclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKiBDT1VMRVVSUyBIT1JTIENJTV8qICoqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5cdC8qIENvdWxldXJzIGJhc2lxdWVzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXHJcblx0XHQkY2ltX3doaXRlOiAjZmZmZmZmO1xyXG5cdFx0JGNpbV9ibGFjazogIzAwMDAwMDtcclxuXHJcblx0LyogTnVhbmNlcyBkZSBncmlzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXHJcblx0XHQkY2ltX2xpZ2h0X2dyYXk6ICNlMmUyZTI7XHJcblx0XHQkY2ltX21lZGl1bV9ncmF5OiAjYjFiMWIxO1xyXG5cdFx0JGNpbV9kYXJrX2dyYXk6ICM3OTc2NzY7XHJcblxyXG5cdC8qIERhc2hib2FyZCAqL1xyXG5cdFx0JGRiX2xpZ2h0X2dyYXk6ICNmY2ZjZmM7XHJcblx0XHQkZGJfbWVkaXVtX2dyYXk6ICRjaW1fbGlnaHRfZ3JheTtcclxuXHRcdCRkYl9zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMCwwLDAsMC4wNSk7XHJcblxyXG5cdC8qIFJlc2VhdXggc29jaWF1eCAqL1xyXG5cdFx0JGNvbG9yX2ZhY2Vib29rOiAjMTc3OEYyO1xyXG5cdFx0JGNvbG9yX3R3aXR0ZXI6ICMyY2E3ZTA7XHJcblx0XHQkY29sb3JfbGlua2VkaW46ICMwZTc2YTg7XHJcblx0XHQkY29sb3JfeW91dHViZTogI2ZmMDAwMDtcclxuXHRcdCRjb2xvcl92aW1lbzogIzE5YjdlYTtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fMTogI2ZmYjE0MDtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fMjogI2ZmNTQ0NTtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fMzogI2ZjMmI4MjtcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW1fNDogIzhlNDBiNztcclxuXHRcdCRjb2xvcl9pbnN0YWdyYW06ICRjb2xvcl9pbnN0YWdyYW1fNDtcclxuXHRcdCRncmFkaWVudF9pbnN0YWdyYW06IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgOTAlIDEwNyUsICRjb2xvcl9pbnN0YWdyYW1fMSAwJSwgJGNvbG9yX2luc3RhZ3JhbV8xIDUlLCAkY29sb3JfaW5zdGFncmFtXzIgNDUlLCAkY29sb3JfaW5zdGFncmFtXzMgNjAlLCAkY29sb3JfaW5zdGFncmFtXzQgOTAlKTtcclxuXHJcblxyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiogQ09ORklHICoqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuXHQvKioqIExBWU9VVCAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGhlYWRlciAqL1xyXG5cdFx0XHQkaGVhZGVyX2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiAxMHJlbSxcclxuXHRcdFx0XHRtZWRpdW06IDcuNXJlbSxcclxuXHRcdFx0XHRzbWFsbDogNS41cmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHQvKioqIEhPTUUgKioqL1xyXG5cdFx0LyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXHJcblx0XHRcdCRiYW5kZWF1X2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiA3OC4ycmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNTByZW0sXHJcblx0XHRcdFx0c21hbGw6IDM1cmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdC8qIE1hcmdpbiBuw6lnYXRpdmUgYXUgZGVzc3VzIGRlcyBhY2PDqHMgcmFwaWRlcyAqL1xyXG5cdFx0XHQkbWFyZ2luVG9wQWNjZXM6IChcclxuXHRcdFx0XHRsYXJnZTogNC4zcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNC4zcmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA0LjNyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogRURJVE8gKioqL1xyXG5cdFx0IC8qIE1hcmdpbiBib3R0b20gc291cyBsZXMgYmxvY3MgKi9cclxuXHRcdFx0JGJsb2NfY29sX21hcmdpbjogKFxyXG5cdFx0XHRcdGxhcmdlOiA2cmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNnJlbSxcclxuXHRcdFx0XHRzbWFsbDogM3JlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cclxuXHRcdFx0JGJhbmRlYXVwYWdlX2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiA2Ny44cmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNy41cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA3LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogUEFHRSBERSBMSVNURSAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IG1vdGV1ciAqL1xyXG5cdFx0XHQkbW90ZXVyX2hlaWdodDogKFxyXG5cdFx0XHRcdGxhcmdlOiA1cmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNi4xcmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA2LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogUGFkZGluZyBhdSBkZXNzdXMgZHUgbW90ZXVyICovXHJcblx0XHRcdCR0b3BfbW90ZXVyX3BhZGRpbmdUb3A6IChcclxuXHRcdFx0XHRsYXJnZTogMXJlbSxcclxuXHRcdFx0XHRtZWRpdW06IDJyZW0sXHJcblx0XHRcdFx0c21hbGw6IDJyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogUmVzdWx0YXRzIC0gZXNwYWNlIGVudHJlIG1vdGV1cjpib3R0b20gZXQgdmlnbmV0dGU6dG9wIGRlIHBhZ2UgZGUgbGlzdGUgKi9cclxuXHRcdFx0JHJlc3VsdF9tYXJnaW5Ub3A6IChcclxuXHRcdFx0XHRsYXJnZTogMnJlbSxcclxuXHRcdFx0XHRtZWRpdW06IDJyZW0sXHJcblx0XHRcdFx0c21hbGw6IDJyZW0sXHJcblx0XHRcdCk7XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKiBTVkcgT1BUSU9OUyBEJ0VYUE9SVCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKlxyXG5cdE9wdGlvbnMgZCdleHBvcnQgcG91ciByZW5kcmUgbGVzIFNWRyBiYWNrZ3JvdW5kLWltYWdlIGNvbXBhdGlibGVzIGF2ZWMgSUUxMVxyXG5cclxuXHRGaWNoaWVyIEFJID4gRXhwb3J0ZXIgbGEgc2VsZWN0aW9uID4gcGFyYW3DqHRyZXMgKGZvcm1hdCkgPiBTVkdcclxuXHRcdEF0dHJpYnV0cyBkZSBwcsOpc2VudGF0aW9uXHJcblx0XHRTVkdcclxuXHRcdEluY29ycG9yZXJcclxuXHRcdE5vbXMgZGUgY2FscXVlc1xyXG5cdFx0MlxyXG5cdFx0TWluaW1pZmllclxyXG5cdFx0UmVzcG9uc2l2ZVxyXG5cclxuXHQrIGFqb3V0IGRlIGwnYXR0cmlidXQgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCJcclxuXHJcblx0U2kgcHJvYmxlbWUgZGUgc3ZnIGF2ZWMgcG9wbHlsaW5lIG91IGxpbmUgPiBvdXZyaXIgbGUgc3ZnIGRhbnMgYWkgPiBzZWxlY3Rpb24gZGUgbCdpY29uZSA+IE9iamV0ID4gdHJhY8OpID4gVmVjdG9yaXNlciBsZSBjb250b3VyXHJcbiovXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqIElNUE9SVCAqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXHJcblx0IEBpbXBvcnQgJ19jaW1fc2V0dGluZ3MnO1xyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKiogTEFZT1VUICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBUaGVfY2hldnJvbiAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHRoZV9jaGV2cm9uKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCA4IDEwXCI+PHBhdGggZD1cIk01LDBsNSw4SDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDgpIHJvdGF0ZSg5MClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogRm9ybXVsYWlyZXMgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzZWxlY3QoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk05LDJhNyw3LDAsMSwwLDcsN0E3LDcsMCwwLDAsOSwyWm0wLDguNEw2LjIsNy42aDUuNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gaWNoZWNrKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoXCI8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxOTggMTgnPjx0aXRsZT5pY2hlY2s8L3RpdGxlPjxyZWN0IHg9JzAuNScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cGF0aCBkPSdNMTQsMWEzLDMsMCwwLDEsMywzVjE0YTMsMywwLDAsMS0zLDNINGEzLDMsMCwwLDEtMy0zVjRBMywzLDAsMCwxLDQsMUgxNG0wLTFINEE0LDQsMCwwLDAsMCw0VjE0YTQsNCwwLDAsMCw0LDRIMTRhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxyZWN0IHg9JzIwLjUnIHk9JzAuNScgd2lkdGg9JzE3JyBoZWlnaHQ9JzE3JyByeD0nMy41JyByeT0nMy41JyBmaWxsPScjeyRjb2xvcn0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00zNCwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM0gyNGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM0gzNG0wLTFIMjRhNCw0LDAsMCwwLTQsNFYxNGE0LDQsMCwwLDAsNCw0SDM0YTQsNCwwLDAsMCw0LTRWNGE0LDQsMCwwLDAtNC00WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY29sb3J9Jy8+PHJlY3QgeD0nNDAnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgcng9JzQnIHJ5PSc0JyBmaWxsPScjeyRjb2xvcn0nLz48cGF0aCBkPSdNNTQuOSw1LjgsNTMuMiwzLjlhLjE5LjE5LDAsMCwwLS4zLDBoMGwtNi4xLDYuNUw0NS4yLDguN2EuMTkuMTksMCwwLDAtLjMsMGgwbC0xLjcsMS45YS4zLjMsMCwwLDAsMCwuNGwzLjUsMy43YS4xOS4xOSwwLDAsMCwuMywwaDBsOC04LjVDNTUsNiw1NSw1LjksNTQuOSw1LjhaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fd2hpdGV9Jy8+PHJlY3QgeD0nNjAuNTUnIHk9JzAuNScgd2lkdGg9JzE3JyBoZWlnaHQ9JzE3JyByeD0nMy41JyByeT0nMy41JyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScgb3BhY2l0eT0nMC44Jy8+PHBhdGggZD0nTTc0LjA1LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzaC0xMGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM2gxMG0wLTFoLTEwYTQsNCwwLDAsMC00LDRWMTRhNCw0LDAsMCwwLDQsNGgxMGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHJlY3QgeD0nODAuNTUnIHk9JzAuNScgd2lkdGg9JzE3JyBoZWlnaHQ9JzE3JyByeD0nMy41JyByeT0nMy41JyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxwYXRoIGQ9J005NC4wNSwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM2gtMTBhMywzLDAsMCwxLTMtM1Y0YTMsMywwLDAsMSwzLTNoMTBtMC0xaC0xMGE0LDQsMCwwLDAtNCw0VjE0YTQsNCwwLDAsMCw0LDRoMTBhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxwYXRoIGQ9J005NC45LDUuOCw5My4yLDMuOWEuMTkuMTksMCwwLDAtLjMsMGgwbC02LjEsNi41TDg1LjIsOC43YS4xOS4xOSwwLDAsMC0uMywwaDBsLTEuNywxLjlhLjMuMywwLDAsMCwwLC40bDMuNSwzLjdhLjE5LjE5LDAsMCwwLC4zLDBoMGw4LTguNUM5NSw2LDk1LDUuOSw5NC45LDUuOFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48Y2lyY2xlIGN4PScxMDkuMDUnIGN5PSc5JyByPSc4LjUnIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cGF0aCBkPSdNMTA5LjA1LDFhOCw4LDAsMSwxLTgsOCw4LDgsMCwwLDEsOC04bTAtMWE5LDksMCwxLDAsOSw5LDksOSwwLDAsMC05LTlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxjaXJjbGUgY3g9JzEyOScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY29sb3J9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNMTI5LDFhOCw4LDAsMSwxLTgsOCw4LDgsMCwwLDEsOC04bTAtMWE5LDksMCwxLDAsOSw5LDksOSwwLDAsMC05LTlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjb2xvcn0nLz48Y2lyY2xlIGN4PScxNDknIGN5PSc5JyByPSc5JyBmaWxsPScjeyRjb2xvcn0nLz48Y2lyY2xlIGN4PScxNjknIGN5PSc5JyByPSc4LjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNMTY5LDFhOCw4LDAsMSwxLTgsOCw4LDgsMCwwLDEsOC04bTAtMWE5LDksMCwxLDAsOSw5LDksOSwwLDAsMC05LTlaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjaW1fZGFya19ncmF5fScvPjxjaXJjbGUgY3g9JzE4OScgY3k9JzknIHI9JzknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PC9zdmc+XCIpO31cclxuXHJcblx0IC8qIFNsaWNrIHNsaWRlciAqL1xyXG5cdCBcdC8qIE9LICovIEBtaXhpbiBzbGlja19wcmV2KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTE2LDE2LjU5LDExLjQyLDEyLDE2LDcuNDEsMTQuNTksNmwtNiw2LDYsNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNTkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDBIMFYyNEgyNFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2xpY2tfbmV4dCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk04LjU5LDE2LjU5LDEzLjE3LDEyLDguNTksNy40MSwxMCw2bDYsNi02LDZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTAsMEgyNFYyNEgwWlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBjcm9zcygkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk03LDE0SDV2NWg1VjE3SDdaTTUsMTBIN1Y3aDNWNUg1Wm0xMiw3SDE0djJoNVYxNEgxN1pNMTQsNVY3aDN2M2gyVjVaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEJvdXRvbnMgKi9cclxuXHRcdC8qIEJvdXRvbiBMSUVOICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fbGllbl9waWN0bygkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0xNC4zMzMsMTAuMzMzaC00djRIOXYtNEg1VjlIOVY1aDEuMzMzVjloNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuNjY3IC0xLjY2NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogQm91dG9uIEFMTCAqL1xyXG5cdFx0LyogQm91dG9uIFRYVCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX3R4dCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7QGluY2x1ZGUgdGhlX2NoZXZyb24oI3skY29sb3J9KTt9XHJcblxyXG5cdFx0LyogQnRuIGNsb3NlICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fY2xvc2UoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48cGF0aCBkPVwiTTAsMEgyNlYyNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTkuNDY1LDYuNDU3LDE4LjAwOCw1bC01Ljc3Niw1Ljc3Nkw2LjQ1Nyw1LDUsNi40NTdsNS43NzYsNS43NzZMNSwxOC4wMDhsMS40NTcsMS40NTcsNS43NzYtNS43NzYsNS43NzYsNS43NzYsMS40NTctMS40NTctNS43NzYtNS43NzZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuNzY3IDAuNzY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIEFycm93IGJhY2sgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9iYWNrKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOFwiIGhlaWdodD1cIjEwXCIgdmlld0JveD1cIjAgMCA4IDEwXCI+PHBhdGggZD1cIk0wLDUsOCwwVjEwWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIEFycm93IHJlaW5pdCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX3JlaW5pdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk04LjY2NywyYTYuNjY3LDYuNjY3LDAsMSwwLDYuNjY3LDYuNjY3QTYuNjYxLDYuNjYxLDAsMCwwLDguNjY3LDJaTTEyLDExLjA2bC0uOTQuOTRMOC42NjcsOS42MDcsNi4yNzMsMTJsLS45NC0uOTRMNy43MjcsOC42NjcsNS4zMzMsNi4yNzNsLjk0LS45NEw4LjY2Nyw3LjcyNywxMS4wNiw1LjMzM2wuOTQuOTRMOS42MDcsOC42NjdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjY2NyAtMC42NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEhlYWRlciAqL1xyXG5cdFx0LyogTWVudSBwcmluY2lwYWwgTjEgYWN0aWYgKi9cclxuXHRcdC8qIE1lbnUgcHJpbmNpcGFsIE4yICovXHJcblxyXG5cdFx0LyogTG91cGUgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGxvdXBlKCRjb2xvcjokY2ltX2RhcmtfZ3JheSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjI1XCIgdmlld0JveD1cIjAgMCAyNSAyNVwiPjxwYXRoIGQ9XCJNMTYuMDIxLDE0LjQ1OEgxNS4ybC0uMjkyLS4yODFhNi43ODEsNi43ODEsMCwxLDAtLjcyOS43MjlsLjI4MS4yOTJ2LjgyM2w1LjIwOCw1LjIsMS41NTItMS41NTJabS02LjI1LDBhNC42ODgsNC42ODgsMCwxLDEsNC42ODctNC42ODdBNC42ODEsNC42ODEsMCwwLDEsOS43NzEsMTQuNDU4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjEyNSAwLjEyNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI1VjI1SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE1pY3JvICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBtaWNybygkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi4yOTYgLTIuNDE3KVwiPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDIuNDE3KVwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTIuMDEsMTguNzc5QTUuNzcyLDUuNzcyLDAsMCwxLDExLDE4LjcxMXYzLjQxMmgydi0zLjRBNi4xNjQsNi4xNjQsMCwwLDEsMTIuMDEsMTguNzc5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjc5NClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTcuMzI0LDEyYTUuMTg4LDUuMTg4LDAsMCwxLTUuMjc2LDUuMWgtLjAyNGE1LjE5LDUuMTksMCwwLDEtNS4zLTUuMDc2VjEyaC0xLjdjMCwuMTMzLjAxOC4yNjQuMDI5LjRhNi45NjcsNi45NjcsMCwwLDAsNC40MTQsNS45MTFsLjA5MS4wMzRjLjEzMi4wNTEuMjY3LjEuNC4xMzguMS4wMzIuMjA3LjA2Mi4zMTMuMDg4LjA4NS4wMjIuMTcxLjA0Mi4yNTcuMDYxLjExOC4wMjUuMjM2LjA0Ny4zNTYuMDY2YTYuNTA3LDYuNTA3LDAsMCwwLDEuMTQ5LjA4M2guMDNhNi41LDYuNSwwLDAsMCwxLjA0OS0uMDc0Yy4xNzMtLjAyNi4zNDQtLjA1Ny41MTMtLjA5NWwuMDQyLS4wMTFjLjE4NC0uMDQzLjM2NC0uMDk0LjU0Mi0uMTUyLjAzNS0uMDExLjA3LS4wMjQuMS0uMDM2LjEzNy0uMDQ3LjI3LS4xLjQtLjE1My4xNTMtLjA2NS4zLS4xMzIuNDUyLS4yMDhsMCwwQTYuOTY0LDYuOTY0LDAsMCwwLDE5LDEyLjRjLjAxMS0uMTMyLjAyNS0uMjYzLjAyOC0uNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yOTYgMS45MTcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEyLDE1YTIuOTg3LDIuOTg3LDAsMCwwLDIuOTktMi45ODRWMTJMMTUsNkEzLDMsMCwxLDAsOSw2djZBMywzLDAsMCwwLDEyLDE1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjkxNylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTW9uIGNvbXB0ZSAqL1xyXG5cdFx0LyogQWNjw6hzIGF1IGZhdm9yaXMgKi9cclxuXHRcdC8qIEplIHZvdWRyYWlzICovXHJcblxyXG5cclxuXHQvKiBGb290ZXIgKi9cclxuXHRcdC8qIEdvIHRvIHRvcCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ29fdG9fdG9wKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjc0XCIgaGVpZ2h0PVwiNzRcIiB2aWV3Qm94PVwiMCAwIDc0IDc0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xODAwIC01MjM5KVwiPjxyZWN0IHdpZHRoPVwiNzRcIiBoZWlnaHQ9XCI3NFwiIHJ4PVwiMzdcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTgwMCA1MjM5KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xNiwwSDBMNy45NzMsMTQuODY4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxODQ0LjYyOSA1MjgyLjk2Nykgcm90YXRlKDE4MClcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE5ld3NsZXR0ZXIgKi9cclxuXHRcdC8qIENvbnRhY3QgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9hZHJlc3NlKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjkuNSAtNTIwMClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUyMDApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTc3LjUgNTIwNy45MzgpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTkuNjY3LDMuMzMzQTMuMzI1LDMuMzI1LDAsMCwxLDEzLDYuNzY3YzAsMS40NC0xLjE0NywzLjExMy0zLjMzMyw0Ljg4QzcuNDgsOS44OCw2LjMzMyw4LjIsNi4zMzMsNi43NjdBMy4zMjUsMy4zMjUsMCwwLDEsOS42NjcsMy4zMzNNOS42NjcsMkE0LjY0NSw0LjY0NSwwLDAsMCw1LDYuNzY3cTAsMy4xMiw0LjY2Nyw2LjU2Nyw0LjY3LTMuNDQsNC42NjctNi41NjdBNC42NDUsNC42NDUsMCwwLDAsOS42NjcsMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTkuNjY3LDdBMS4zMzMsMS4zMzMsMCwxLDAsMTEsOC4zMzMsMS4zMzcsMS4zMzcsMCwwLDAsOS42NjcsN1pNNSwxNS42NjdoOS4zMzNWMTdINVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuNjY3IC0yLjMzMylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9jb250YWN0KCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjkuNSAtNTMzMS41MTQpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NjkuNSA1MzMxLjUxNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzcuNSA1MzQwKVwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNCwySDMuMzMzQTEuMzM3LDEuMzM3LDAsMCwwLDIsMy4zMzN2MTJsMi42NjctMi42NjdIMTRhMS4zMzcsMS4zMzcsMCwwLDAsMS4zMzMtMS4zMzN2LThBMS4zMzcsMS4zMzcsMCwwLDAsMTQsMlptMCw5LjMzM0g0LjExM2wtLjc4Ljc4VjMuMzMzSDE0Wk01LjMzMyw2LjY2N0g2LjY2N1Y4SDUuMzMzWm01LjMzMywwSDEyVjhIMTAuNjY3Wk04LDYuNjY3SDkuMzMzVjhIOFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl90ZWwoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MjgxLjAxNClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUyODEuMDE0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3Ny41IDUyODkpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTUuMzYsNC4zMzNhOC4yMDgsOC4yMDgsMCwwLDAsLjMsMS43MjdsLS44LjhhOS44ODQsOS44ODQsMCwwLDEtLjUwNy0yLjUyN0g1LjM2bTYuNTczLDguMDEzYTguNSw4LjUsMCwwLDAsMS43MzMuM3YuOTkzYTEwLjI4NCwxMC4yODQsMCwwLDEtMi41MzMtLjVsLjgtLjc5M002LDNIMy42NjdBLjY2OS42NjksMCwwLDAsMywzLjY2NywxMS4zMzIsMTEuMzMyLDAsMCwwLDE0LjMzMywxNSwuNjY5LjY2OSwwLDAsMCwxNSwxNC4zMzNWMTIuMDA3YS42NjkuNjY5LDAsMCwwLS42NjctLjY2Nyw3LjYsNy42LDAsMCwxLTIuMzgtLjM4LjU2LjU2LDAsMCwwLS4yMDctLjAzMy42ODMuNjgzLDAsMCwwLS40NzMuMTkzTDkuODA3LDEyLjU4N0ExMC4xLDEwLjEsMCwwLDEsNS40MTMsOC4xOTNMNi44OCw2LjcyN2EuNjY5LjY2OSwwLDAsMCwuMTY3LS42OCw3LjU3NCw3LjU3NCwwLDAsMS0uMzgtMi4zOEEuNjY5LjY2OSwwLDAsMCw2LDNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xIC0xKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIEZvb3RlciByZXNlYXV4IHNvY2lhdXggKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9mYWNlYm9vaygkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTQwNi44ODUgLTI4Mi44ODUpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDA2Ljg4NSAyODIuODg1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk03LjQ3NiwxMC41OVY1Ljk1N0g5LjQ2MWwuMzMxLTEuOTg2SDcuNDc2VjIuOTc4YS44NzguODc4LDAsMCwxLC45OTMtLjk5M2guOTkzVjBINy44MDdDNi4xNTIsMCw1LjQ5Ljk5Myw1LjQ5LDIuNjQ3VjMuOTcxSDMuNVY1Ljk1N0g1LjQ5VjEwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDE2LjExOCAyOTMuNTkpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl9pbnN0YWdyYW0oJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yNSAyLjI1KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuMjUgLTIuMjUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNi44OTIgNi44OTMpXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIj48cGF0aCBkPVwiTTIuMzY3LjM2YTMuMzYzLDMuMzYzLDAsMCwwLTEuMjE1Ljc5MkEzLjM1MiwzLjM1MiwwLDAsMCwuMzYsMi4zNjQsNS4wMTQsNS4wMTQsMCwwLDAsLjA0Miw0LjAyOEMuMDA4LDQuNzU4LDAsNC45OTIsMCw2Ljg1NHMuMDA4LDIuMS4wNDIsMi44MjZBNS4wODYsNS4wODYsMCwwLDAsLjM2LDExLjM0NWEzLjM2MywzLjM2MywwLDAsMCwuNzkyLDEuMjE1LDMuMzYzLDMuMzYzLDAsMCwwLDEuMjE1Ljc5Miw1LjAxNCw1LjAxNCwwLDAsMCwxLjY2NC4zMThjLjczLjAzMy45NjQuMDQyLDIuODI2LjA0MnMyLjEtLjAwOCwyLjgyNi0uMDQyYTUuMDg2LDUuMDg2LDAsMCwwLDEuNjY0LS4zMTgsMy41MTIsMy41MTIsMCwwLDAsMi4wMDctMi4wMDcsNS4wMTQsNS4wMTQsMCwwLDAsLjMxOC0xLjY2NGMuMDMzLS43My4wNDItLjk2NC4wNDItMi44MjZzLS4wMDgtMi4xLS4wNDItMi44MjZhNS4wODYsNS4wODYsMCwwLDAtLjMxOC0xLjY2NCwzLjM4MSwzLjM4MSwwLDAsMC0uNzg5LTEuMjEzQTMuMzYyLDMuMzYyLDAsMCwwLDExLjM1MS4zNiw1LjAxNCw1LjAxNCwwLDAsMCw5LjY4Ni4wNDJDOC45NTYuMDA4LDguNzIyLDAsNi44Niwwcy0yLjEuMDA4LTIuODI2LjA0MkE1LjAzMiw1LjAzMiwwLDAsMCwyLjM2Ny4zNlptNy4yNjEuOTE0YTMuNzc3LDMuNzc3LDAsMCwxLDEuMjc0LjIzNywyLjEzNiwyLjEzNiwwLDAsMSwuNzg5LjUxMywyLjEzNiwyLjEzNiwwLDAsMSwuNTEzLjc4OSwzLjc3NywzLjc3NywwLDAsMSwuMjM3LDEuMjc0Yy4wMzMuNzIyLjAzOS45MzkuMDM5LDIuNzcxcy0uMDA4LDIuMDQ5LS4wMzksMi43NzFBMy43NzcsMy43NzcsMCwwLDEsMTIuMiwxMC45YTIuMjY5LDIuMjY5LDAsMCwxLTEuMywxLjMsMy43NzcsMy43NzcsMCwwLDEtMS4yNzQuMjM3Yy0uNzIyLjAzMy0uOTM5LjAzOS0yLjc3MS4wMzlzLTIuMDQ5LS4wMDgtMi43NzEtLjAzOUEzLjc3NywzLjc3NywwLDAsMSwyLjgxMywxMi4yYTIuMTM2LDIuMTM2LDAsMCwxLS43ODktLjUxMywyLjEzNiwyLjEzNiwwLDAsMS0uNTEzLS43ODksMy43NzcsMy43NzcsMCwwLDEtLjIzNy0xLjI3NGMtLjAzMy0uNzIyLS4wMzktLjkzOS0uMDM5LTIuNzcxcy4wMDgtMi4wNDkuMDM5LTIuNzcxYTMuNzc3LDMuNzc3LDAsMCwxLC4yMzctMS4yNzQsMi4xMzYsMi4xMzYsMCwwLDEsLjUxMy0uNzg5LDIuMTM2LDIuMTM2LDAsMCwxLC43ODktLjUxMywzLjc3NywzLjc3NywwLDAsMSwxLjI3NC0uMjM3Yy43MjItLjAzMy45MzktLjAzOSwyLjc3MS0uMDM5UzguOTA2LDEuMjQsOS42MjgsMS4yNzRaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTExOS43LDEyMy4yMjFhMy41MjEsMy41MjEsMCwxLDAsMy41MjEtMy41MjFBMy41MjEsMy41MjEsMCwwLDAsMTE5LjcsMTIzLjIyMVptNS44MDYsMGEyLjI4NiwyLjI4NiwwLDEsMS0yLjI4Ni0yLjI4NkEyLjI4NiwyLjI4NiwwLDAsMSwxMjUuNTA2LDEyMy4yMjFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTYuMzYzIC0xMTYuMzYzKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxjaXJjbGUgY3g9XCIwLjgyMlwiIGN5PVwiMC44MjJcIiByPVwiMC44MjJcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS42OTggMi4zNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2xpbmtlZGluKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjUgMi4yNSlcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yLjI1IC0yLjI1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xMi4wMzgsMEguOTZBLjk1Ljk1LDAsMCwwLDAsLjkzN1YxMi4wNjJBLjk1Ljk1LDAsMCwwLC45NiwxM0gxMi4wMzhBLjk1MS45NTEsMCwwLDAsMTMsMTIuMDYyVi45MzdBLjk1MS45NTEsMCwwLDAsMTIuMDM4LDBaTTMuODU1LDExLjA3N0gxLjkyNnYtNi4ySDMuODU1Wk0yLjg4OSw0LjAyNkExLjEyLDEuMTIsMCwxLDEsNC4wMDYsMi45MDcsMS4xMiwxLjEyLDAsMCwxLDIuODg5LDQuMDI2Wm04LjE4OCw3LjA1MUg5LjE1VjguMDYyYzAtLjcyMi0uMDE1LTEuNjQ3LTEtMS42NDdTNi45OTMsNy4yLDYuOTkzLDguMDA5djMuMDdINS4wNjR2LTYuMkg2LjkxNXYuODQ4SDYuOTRhMi4wMzEsMi4wMzEsMCwwLDEsMS44MjYtMWMxLjk1LDAsMi4zMTEsMS4yODQsMi4zMTEsMi45NTZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNzUgNy40MjIpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl90d2l0dGVyKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0yMC42OCw5LjY3aDIuMkwxOCwxNS4xOWw1LjY2LDcuNDhIMTkuMjZsLTMuNDgtNC41NS00LDQuNTVIOS41OWw1LjEzLTUuOUw5LjMsOS42N2g0LjU1TDE3LDEzLjgzWk0xOS45LDIxLjM4aDEuMjNMMTMuMjEsMTAuOTJIMTEuOVpcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBmb290ZXJfeW91dHViZSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTQwNyAtMzQxKVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTQwNyAzNDEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEzLjU3MywyLjIyQTMuMywzLjMsMCwwLDAsMTMuMDI5Ljc2NywxLjg3NywxLjg3NywwLDAsMCwxMS42NTMuMTVDOS43MzcsMCw2Ljg1NywwLDYuODU3LDBoMHMtMi44ODQsMC00LjguMTVBMS44NzcsMS44NzcsMCwwLDAsLjY4MS43NjcsMy4zLDMuMywwLDAsMCwuMTM3LDIuMjIsMjMuNTQyLDIzLjU0MiwwLDAsMCwwLDQuNTg2VjUuN0EyMy41NDEsMjMuNTQxLDAsMCwwLC4xMzcsOC4wNjEsMy4zLDMuMywwLDAsMCwuNjgxLDkuNTE0YTIuMjQxLDIuMjQxLDAsMCwwLDEuNTEzLjYyNmMxLjEuMTExLDQuNjYzLjE0Niw0LjY2My4xNDZzMi44ODQsMCw0LjgtLjE1YTEuOSwxLjksMCwwLDAsMS4zNzEtLjYyMSwzLjMsMy4zLDAsMCwwLC41NDQtMS40NTNBMjMuNTQyLDIzLjU0MiwwLDAsMCwxMy43MTQsNS43VjQuNTg2YTIzLjU0MiwyMy41NDIsMCwwLDAtLjE0MS0yLjM2NlpNNS4xNDMsNy43MTRWMi41NzFMOS40MjksNS4xNDNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MTYuMTQzIDM1MS44NTcpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0LyogRmlsIGQnYXJpYW5lICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2VwX2FyaWFuZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMuNVwiIGhlaWdodD1cIjMuNVwiIHZpZXdCb3g9XCIwIDAgMy41IDMuNVwiPjxjaXJjbGUgY3g9XCIxLjc1XCIgY3k9XCIxLjc1XCIgcj1cIjEuNzVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogU2hhcmUgLyBibG9jIG5vdGUgLyBtYWogKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzaGFyZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI5MjIpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyOTIyKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI5MjcpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMiAxLjMzMylcIj48cGF0aCBkPVwiTTEzLDExLjM4N2ExLjk0MSwxLjk0MSwwLDAsMC0xLjMwNy41MTNMNi45NCw5LjEzM0EyLjE4MiwyLjE4MiwwLDAsMCw3LDguNjY3LDIuMTgyLDIuMTgyLDAsMCwwLDYuOTQsOC4ybDQuNy0yLjc0QTIsMiwwLDEsMCwxMSw0YTIuMTgyLDIuMTgyLDAsMCwwLC4wNi40NjdsLTQuNywyLjc0YTIsMiwwLDEsMCwwLDIuOTJMMTEuMTA3LDEyLjlhMS44ODEsMS44ODEsMCwwLDAtLjA1My40MzNBMS45NDcsMS45NDcsMCwxLDAsMTMsMTEuMzg3Wm0wLTguMDUzQS42NjcuNjY3LDAsMSwxLDEyLjMzMyw0LC42NjkuNjY5LDAsMCwxLDEzLDMuMzMzWm0tOCw2YS42NjcuNjY3LDAsMSwxLC42NjctLjY2N0EuNjY5LjY2OSwwLDAsMSw1LDkuMzMzWm04LDQuNjhhLjY2Ny42NjcsMCwxLDEsLjY2Ny0uNjY3QS42NjkuNjY5LDAsMCwxLDEzLDE0LjAxM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMgLTIpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwcmludCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI4ODgpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyODg4KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI4OTMpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMS4zMzMgMilcIj48cGF0aCBkPVwiTTEzLjMzMyw2LjMzM2gtLjY2N1YzaC04VjYuMzMzSDRhMiwyLDAsMCwwLTIsMnY0SDQuNjY3VjE1aDhWMTIuMzMzaDIuNjY3di00QTIsMiwwLDAsMCwxMy4zMzMsNi4zMzNaTTYsNC4zMzNoNS4zMzN2Mkg2Wm01LjMzMyw5LjMzM0g2VjExaDUuMzMzWk0xMi42NjcsMTFWOS42NjdoLThWMTFIMy4zMzNWOC4zMzNBLjY2OS42NjksMCwwLDEsNCw3LjY2N2g5LjMzM0EuNjY5LjY2OSwwLDAsMSwxNCw4LjMzM1YxMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIgLTMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuNjY3XCIgY3k9XCIwLjY2N1wiIHI9XCIwLjY2N1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCA1KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0LyogUmVzZWF1eCAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX2ZhY2Vib29rKCRjb2xvcjokY29sb3JfZmFjZWJvb2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNy4xMjVcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgNy4xMjUgMTJcIj48cGF0aCBkPVwiTTgsMTJWNi43NWgyLjI1TDEwLjYzLDQuNUg4VjMuMzc1QTEsMSwwLDAsMSw5LjEzLDIuMjVoMS4xMjVWMEg4LjM4QzYuNSwwLDUuNzU1LDEuMTI1LDUuNzU1LDNWNC41SDMuNVY2Ljc1aDIuMjVWMTJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjUwNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b19pbnN0YWdyYW0oKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjM1LjYyXCIgaGVpZ2h0PVwiMzUuNjNcIiB2aWV3Qm94PVwiMCAwIDM1LjYyIDM1LjYzXCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMC4wOTRcIiB5MT1cIjAuMDU5XCIgeDI9XCIwLjkwOFwiIHkyPVwiMC45NDlcIiBncmFkaWVudFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmYmUxOGFcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMVwiIHN0b3AtY29sb3I9XCIjZmNiYjQ1XCIvPjxzdG9wIG9mZnNldD1cIjAuMzhcIiBzdG9wLWNvbG9yPVwiI2Y3NTI3NFwiLz48c3RvcCBvZmZzZXQ9XCIwLjUyXCIgc3RvcC1jb2xvcj1cIiNkNTM2OTJcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NFwiIHN0b3AtY29sb3I9XCIjOGYzOWNlXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzViNGZlOVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPVwiTTEwLjcsMzUuNjNBMTAuNzEyLDEwLjcxMiwwLDAsMSwwLDI0LjkzVjEwLjdBMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDBIMjQuOTJhMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDEwLjdWMjQuOTJhMTAuNzEzLDEwLjcxMywwLDAsMS0xMC43LDEwLjd2LjAxWk0zLjM1LDEwLjdWMjQuOTJhNy4zNjIsNy4zNjIsMCwwLDAsNy4zNSw3LjM1SDI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUtNy4zNVYxMC43YTcuMzYyLDcuMzYyLDAsMCwwLTcuMzUtNy4zNUgxMC43QTcuMzYyLDcuMzYyLDAsMCwwLDMuMzUsMTAuN1ptNS44NCw3LjExYTguNzcsOC43NywwLDEsMSw4Ljc3LDguNzdBOC43ODEsOC43ODEsMCwwLDEsOS4xOSwxNy44MVptMy4xNSwwYTUuNjIsNS42MiwwLDEsMCw1LjYyLTUuNjIxQTUuNjI1LDUuNjI1LDAsMCwwLDEyLjM0LDE3LjgxWk0yNS4xNSw4LjQ1YTIuMDksMi4wOSwwLDEsMSwyLjA5MSwyLjA5QTIuMSwyLjEsMCwwLDEsMjUuMTUsOC40NVpcIiBmaWxsPVwidXJsKCNhKVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGljdG9faW5zdGFncmFtX3doaXRlKCkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIzNS42MlwiIGhlaWdodD1cIjM1LjYzXCIgdmlld0JveD1cIjAgMCAzNS42MiAzNS42M1wiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjAuMDk0XCIgeTE9XCIwLjA1OVwiIHgyPVwiMC45MDhcIiB5Mj1cIjAuOTQ5XCIgZ3JhZGllbnRVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmJlMThhXCIvPjxzdG9wIG9mZnNldD1cIjAuMjFcIiBzdG9wLWNvbG9yPVwiI2ZjYmI0NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjM4XCIgc3RvcC1jb2xvcj1cIiNmNzUyNzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MlwiIHN0b3AtY29sb3I9XCIjZDUzNjkyXCIvPjxzdG9wIG9mZnNldD1cIjAuNzRcIiBzdG9wLWNvbG9yPVwiIzhmMzljZVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1YjRmZTlcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD1cIk0xMC43LDM1LjYzQTEwLjcxMiwxMC43MTIsMCwwLDEsMCwyNC45M1YxMC43QTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywwSDI0LjkyYTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywxMC43VjI0LjkyYTEwLjcxMywxMC43MTMsMCwwLDEtMTAuNywxMC43di4wMVpNMy4zNSwxMC43VjI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUsNy4zNUgyNC45MmE3LjM2Miw3LjM2MiwwLDAsMCw3LjM1LTcuMzVWMTAuN2E3LjM2Miw3LjM2MiwwLDAsMC03LjM1LTcuMzVIMTAuN0E3LjM2Miw3LjM2MiwwLDAsMCwzLjM1LDEwLjdabTUuODQsNy4xMWE4Ljc3LDguNzcsMCwxLDEsOC43Nyw4Ljc3QTguNzgxLDguNzgxLDAsMCwxLDkuMTksMTcuODFabTMuMTUsMGE1LjYyLDUuNjIsMCwxLDAsNS42Mi01LjYyMUE1LjYyNSw1LjYyNSwwLDAsMCwxMi4zNCwxNy44MVpNMjUuMTUsOC40NWEyLjA5LDIuMDksMCwxLDEsMi4wOTEsMi4wOUEyLjEsMi4xLDAsMCwxLDI1LjE1LDguNDVaXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX3R3aXR0ZXIoJGNvbG9yOiRjb2xvcl90d2l0dGVyKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjI3MFwiIHZpZXdCb3g9XCIwIDAgMzAwIDI3MVwiPjxwYXRoIGQ9XCJtMjM2IDBoNDZsLTEwMSAxMTUgMTE4IDE1NmgtOTIuNmwtNzIuNS05NC44LTgzIDk0LjhoLTQ2bDEwNy0xMjMtMTEzLTE0OGg5NC45bDY1LjUgODYuNnptLTE2LjEgMjQ0aDI1LjVsLTE2NS0yMThoLTI3LjR6XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKX1cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b192aW1lbygkY29sb3I6JGNvbG9yX3ZpbWVvKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTAuNTAzXCIgdmlld0JveD1cIjAgMCAxMiAxMC41MDNcIj48cGF0aCBkPVwiTTExLjk0OSwzLjk0N2ExLjc3MiwxLjc3MiwwLDAsMC0uMjIyLTEuNDMxQTIuMTY2LDIuMTY2LDAsMCwwLDkuNzQsMi4wMzgsNC4xODUsNC4xODUsMCwwLDAsNi45LDQuNzU4YzEuMDQ3LS4wODEsMS42LjA3NywxLjUsMS4yNDdhNC4zNTUsNC4zNTUsMCwwLDEtLjU1OCwxLjU0MWMtLjMxNC41OTMtLjksMS43NTctMS42NzYuOTE4LS43LS43NTUtLjY0NC0yLjItLjgtMy4xNjFBMTMuMzYxLDEzLjM2MSwwLDAsMCw1LDMuNTM0YTEuOCwxLjgsMCwwLDAtLjkxNS0xLjE3OCwxLjg0OSwxLjg0OSwwLDAsMC0xLjM0LjI3MkEyNC4zNDUsMjQuMzQ1LDAsMCwwLDAsNC44NzFWNC45NGMuMTguMTc0LjIyNy40NTkuNDkyLjUuNjIyLjA5MywxLjIxNS0uNTg4LDEuNjMuMTJhNy40NTgsNy40NTgsMCwwLDEsLjQ5MSwxLjM3NmMuMjE1LjYyMi4zODIsMS4zLjU1OCwyLjAxNi4zLDEuMjEyLjY2NCwzLjAyMywxLjcsMy40NjdBMi4yLDIuMiwwLDAsMCw2LjU4NiwxMi4xLDkuNjU2LDkuNjU2LDAsMCwwLDkuMjQyLDkuNTM5LDE3LjQ5MywxNy40OTMsMCwwLDAsMTEuOTQ5LDMuOTQ3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0xLjk5MylcIiBmaWxsPVwiI3skY29sb3J9XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGljdG9feW91dHViZSgkY29sb3I6JGNvbG9yX3lvdXR1YmUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxMC41XCIgdmlld0JveD1cIjAgMCAxNCAxMC41XCI+PHBhdGggZD1cIk0xMy44NTYsMi4yNjZBMy4zNjQsMy4zNjQsMCwwLDAsMTMuMy43ODNhMS45MTYsMS45MTYsMCwwLDAtMS40LS42M0M5Ljk0LDAsNywwLDcsMEg3UzQuMDU2LDAsMi4xLjE1M0ExLjkxNiwxLjkxNiwwLDAsMCwuNy43ODMsMy4zNjQsMy4zNjQsMCwwLDAsLjE0LDIuMjY2LDI0LjAzMywyNC4wMzMsMCwwLDAsMCw0LjY4MVY1LjgxNEEyNC4wMzIsMjQuMDMyLDAsMCwwLC4xNCw4LjIyOSwzLjM2NCwzLjM2NCwwLDAsMCwuNyw5LjcxM2EyLjI4OCwyLjI4OCwwLDAsMCwxLjU0NC42MzlDMy4zNiwxMC40NjUsNywxMC41LDcsMTAuNXMyLjk0NCwwLDQuOS0uMTUzYTEuOTQzLDEuOTQzLDAsMCwwLDEuNC0uNjM0LDMuMzY0LDMuMzY0LDAsMCwwLC41NTYtMS40ODNBMjQuMDMyLDI0LjAzMiwwLDAsMCwxNCw1LjgxNFY0LjY4MWEyNC4wMzMsMjQuMDMzLDAsMCwwLS4xNDQtMi40MTVaTTUuMjUsNy44NzVWMi42MjVMOS42MjUsNS4yNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBwaWN0b19saW5rZWRpbigkY29sb3I6JGNvbG9yX2xpbmtlZGluKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCI+PHBhdGggZD1cIk0xMS4xMTIsMEguODg2QS44NzcuODc3LDAsMCwwLDAsLjg2NXYxMC4yN0EuODc3Ljg3NywwLDAsMCwuODg2LDEySDExLjExMkEuODc4Ljg3OCwwLDAsMCwxMiwxMS4xMzRWLjg2NUEuODc4Ljg3OCwwLDAsMCwxMS4xMTIsMFpNMy41NTgsMTAuMjI1SDEuNzc4VjQuNWgxLjc4Wk0yLjY2NywzLjcxNkExLjAzMywxLjAzMywwLDEsMSwzLjcsMi42ODQsMS4wMzMsMS4wMzMsMCwwLDEsMi42NjcsMy43MTZabTcuNTU4LDYuNTA4SDguNDQ2VjcuNDQxYzAtLjY2Ny0uMDEzLTEuNTItLjkyNS0xLjUycy0xLjA2Ni43MjUtMS4wNjYsMS40NzF2Mi44MzNINC42NzVWNC41SDYuMzgzdi43ODNoLjAyM2ExLjg3NSwxLjg3NSwwLDAsMSwxLjY4NS0uOTI1YzEuOCwwLDIuMTMzLDEuMTg1LDIuMTMzLDIuNzI4WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG4gICAgICAgIC8qIE9LICovIEBtaXhpbiBwaWN0b193aGF0c2FwcCgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyB3aWR0aD1cIjIzXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDIzIDI0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTE3LjAwMjkgMTMuNzY0MkMxNi43MTk3IDEzLjYxMDIgMTUuMzI5NiAxMi44NjUgMTUuMDY4NyAxMi43NTk3QzE0LjgwODEgMTIuNjU0NyAxNC42MTc4IDEyLjU5OTkgMTQuNDE0NiAxMi44NzkyQzE0LjIxMTYgMTMuMTU4IDEzLjYzNDcgMTMuNzgyMyAxMy40NiAxMy45NjcxQzEzLjI4NDQgMTQuMTUyMiAxMy4xMTU1IDE0LjE2OTIgMTIuODMyMiAxNC4wMTQ5QzEyLjU0OTggMTMuODYxNSAxMS42MzI0IDEzLjUyNDMgMTAuNTY4MSAxMi41MDg0QzkuNzQwMjMgMTEuNzE3NiA5LjE5NzE5IDEwLjc1OSA5LjAzOTU5IDEwLjQ2NjNDOC44ODE5OCAxMC4xNzMyIDkuMDM4NDQgMTAuMDI0IDkuMTg4MjEgOS44ODY5QzkuMzIyNjcgOS43NjMyNSA5LjQ4OTE0IDkuNTYyOTQgOS42Mzk2MSA5LjQwMTNDOS43ODk2MiA5LjIzOTY3IDkuODQyNDYgOS4xMjIxMyA5Ljk0NTg0IDguOTM0NzFDMTAuMDQ4OSA4Ljc0NzE3IDEwLjAwNzQgOC41NzgxNyA5Ljk0MDU0IDguNDMyMzFDOS44NzM3NyA4LjI4NjggOS4zNTA1NCA2Ljg1NjE2IDkuMTMxOTIgNi4yNzQyMUM4LjkxMzQxIDUuNjkyMjcgOC42NzAwNCA1Ljc3ODg0IDguNTAxNzMgNS43NzIxNkM4LjMzMzU0IDUuNzY2NDEgOC4xNDIzMiA1LjczNTA5IDcuOTUwMTggNS43MjgwN0M3Ljc1NzkyIDUuNzIwODIgNy40NDI4MyA1Ljc4MDkxIDcuMTY4MTQgNi4wNTc0NEM2Ljg5MzEyIDYuMzM0MDggNi4xMjIzNyA2Ljk5ODggNi4wNjk0MSA4LjQwNzkxQzYuMDE2MjIgOS44MTYwOSA2Ljk5NzUzIDExLjIxNiA3LjEzNDMgMTEuNDExOUM3LjI3MTMgMTEuNjA4NiA5LjAwODE2IDE0LjY2MiAxMS44OTQ0IDE1LjkxNzdDMTQuNzgxNiAxNy4xNzMyIDE0Ljc5NjcgMTYuNzkwNCAxNS4zMjYzIDE2Ljc2MjNDMTUuODU2MyAxNi43MzQ1IDE3LjA1NzYgMTYuMTMyNyAxNy4zMjMzIDE1LjQ3MzZDMTcuNTg4OCAxNC44MTQ0IDE3LjYwOTkgMTQuMjQxMiAxNy41NDI1IDE0LjExOTFDMTcuNDc0OSAxMy45OTcxIDE3LjI4NTcgMTMuOTE3OCAxNy4wMDI5IDEzLjc2NDJaTTExLjcwODYgMjAuNTUyNkM5Ljc5OTYzIDIwLjU1MjYgOC4wMjE3OCAxOS45ODM4IDYuNTM3MzkgMTkuMDA4OUwyLjkyNTI4IDIwLjE1NzVMNC4wOTkzMSAxNi42OTAzQzIuOTc0MjEgMTUuMTUwNyAyLjMwOTM3IDEzLjI1OTUgMi4zMDkzNyAxMS4yMTZDMi4zMDkzNyA2LjA2NzM0IDYuNTI1OTkgMS44Nzg1OCAxMS43MDg2IDEuODc4NThDMTYuODkyIDEuODc4NTggMjEuMTA4NCA2LjA2NzM0IDIxLjEwODQgMTEuMjE2QzIxLjEwODQgMTYuMzY0MiAxNi44OTIgMjAuNTUyNiAxMS43MDg2IDIwLjU1MjZaTTExLjcwODYgMEM1LjQ3MzA3IDAgMC40MTc4OTcgNS4wMjE0NCAwLjQxNzg5NyAxMS4yMTZDMC40MTc4OTcgMTMuMzM0OSAxLjAwOTg2IDE1LjMxNjcgMi4wMzc5MSAxNy4wMDc0TDAgMjMuMDI0Nkw2LjI1MTMgMjEuMDM2N0M3Ljg2OTAyIDIxLjkyNSA5LjcyOTE4IDIyLjQzMTggMTEuNzA4NiAyMi40MzE4QzE3Ljk0NTIgMjIuNDMxOCAyMyAxNy40MDk4IDIzIDExLjIxNkMyMyA1LjAyMTQ0IDE3Ljk0NTIgMCAxMS43MDg2IDBaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcbiAgICAgICAgLyogT0sgKi8gQG1peGluIHBpY3RvX3RlbGVncmFtKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHdpZHRoPVwiMjNcIiBoZWlnaHQ9XCIyM1wiIHZpZXdCb3g9XCIwIDAgMjMgMjNcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzQ2MTBfMjk2NilcIj48cGF0aCBkPVwiTTExLjUgMjNDMTcuODUxMyAyMyAyMyAxNy44NTEzIDIzIDExLjVDMjMgNS4xNDg3MyAxNy44NTEzIDAgMTEuNSAwQzUuMTQ4NzMgMCAwIDUuMTQ4NzMgMCAxMS41QzAgMTcuODUxMyA1LjE0ODczIDIzIDExLjUgMjNaXCIgZmlsbD1cImJsYWNrXCIvPjxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk01LjIwNTU1IDExLjM3ODZDOC41NTgwMiA5LjkxNzk5IDEwLjc5MzYgOC45NTUwNCAxMS45MTIxIDguNDg5ODNDMTUuMTA1NyA3LjE2MTQ5IDE1Ljc2OTQgNi45MzA3MyAxNi4yMDE5IDYuOTIzMDlDMTYuMjk3IDYuOTIxNDMgMTYuNTA5NyA2Ljk0NTAxIDE2LjY0NzUgNy4wNTY4MkMxNi44NTE5IDcuMjIyNjcgMTYuODUzMSA3LjU4MjY4IDE2LjgzMDQgNy44MjA5NEMxNi42NTczIDkuNjM5MzggMTUuOTA4NSAxNC4wNTIyIDE1LjUyNzUgMTYuMDg4OUMxNS4zNjYyIDE2Ljk1MDYgMTUuMDQ4OCAxNy4yMzk2IDE0Ljc0MTYgMTcuMjY3OUMxNC4wNzM4IDE3LjMyOTMgMTMuNTY2NiAxNi44MjY1IDEyLjkxOTggMTYuNDAyNUMxMS45MDc3IDE1LjczOTEgMTEuMzM1OSAxNS4zMjYgMTAuMzUzNCAxNC42Nzg2QzkuMjE3OTcgMTMuOTMwNCA5Ljk1NDAyIDEzLjUxOTIgMTAuNjAxMSAxMi44NDcxQzEwLjc3MDQgMTIuNjcxMiAxMy43MTI5IDkuOTk0ODUgMTMuNzY5OCA5Ljc1MjA0QzEzLjc3NyA5LjcyMTY4IDEzLjc4MzYgOS42MDg0NyAxMy43MTYzIDkuNTQ4NzNDMTMuNjQ5MSA5LjQ4ODk4IDEzLjU0OTggOS41MDkzOCAxMy40NzgyIDkuNTI1NjRDMTMuMzc2NyA5LjU0ODY4IDExLjc1OTggMTAuNjE3NCA4LjYyNzQ3IDEyLjczMThDOC4xNjg1MSAxMy4wNDcgNy43NTI4IDEzLjIwMDUgNy4zODAzNSAxMy4xOTI1QzYuOTY5NzIgMTMuMTgzNiA2LjE3OTkxIDEyLjk2MDMgNS41OTI3MyAxMi43Njk0QzQuODcyNTQgMTIuNTM1NCA0LjMwMDE1IDEyLjQxMTYgNC4zNTAwMSAxMi4wMTRDNC4zNzU5OCAxMS44MDY5IDQuNjYxMTQgMTEuNTk1MSA1LjIwNTU1IDExLjM3ODZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PGRlZnM+PGNsaXBQYXRoIGlkPVwiY2xpcDBfNDYxMF8yOTY2XCI+PHJlY3Qgd2lkdGg9XCIyM1wiIGhlaWdodD1cIjIzXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2NsaXBQYXRoPjwvZGVmcz48L3N2Zz4nKTt9XHJcbiAgICAgICAgLyogT0sgKi8gQG1peGluIHBpY3RvX21haWwoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgd2lkdGg9XCIyNVwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAyNSAxOFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMjIuODAyNyAwSDIuMTk3MjdDMC45ODMyNTIgMCAwIDEuMDEzMSAwIDIuMjVWMTUuNzVDMCAxNi45OTQzIDAuOTkwNDc5IDE4IDIuMTk3MjcgMThIMjIuODAyN0MyNC4wMDY2IDE4IDI1IDE2Ljk5ODUgMjUgMTUuNzVWMi4yNUMyNSAxLjAxNTMgMjQuMDIwNyAwIDIyLjgwMjcgMFpNMjIuNDk1IDEuNUMyMi4wNDYxIDEuOTU3MjUgMTQuMzIwNSA5LjgyNjY1IDE0LjA1MzcgMTAuMDk4NEMxMy42Mzg3IDEwLjUyMzQgMTMuMDg2OSAxMC43NTc0IDEyLjUgMTAuNzU3NEMxMS45MTMxIDEwLjc1NzQgMTEuMzYxMyAxMC41MjMzIDEwLjk0NDkgMTAuMDk2OUMxMC43NjU1IDkuOTE0MiAzLjEyNTE1IDIuMTMxNyAyLjUwNDk4IDEuNUgyMi40OTVaTTEuNDY0ODQgMTUuNDQ0N1YyLjU1NjI1TDcuNzk0ODIgOS4wMDRMMS40NjQ4NCAxNS40NDQ3Wk0yLjUwNTkxIDE2LjVMOC44MzM0IDEwLjA2MTlMOS45MTA1IDExLjE1OUMxMC42MDIyIDExLjg2NzMgMTEuNTIxOCAxMi4yNTc0IDEyLjUgMTIuMjU3NEMxMy40NzgyIDEyLjI1NzQgMTQuMzk3OCAxMS44NjczIDE1LjA4ODEgMTEuMTYwNEwxNi4xNjY2IDEwLjA2MTlMMjIuNDk0MSAxNi41SDIuNTA1OTFaTTIzLjUzNTIgMTUuNDQ0N0wxNy4yMDUyIDkuMDA0TDIzLjUzNTIgMi41NTYyNVYxNS40NDQ3WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBBbGVydGUgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBhbGVydGVfYmcoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvciwgJGNvbG9yMjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiNTBcIiB2aWV3Qm94PVwiMCAwIDUwIDUwXCI+PGRlZnM+PGNsaXBQYXRoIGlkPVwiYVwiPjxwYXRoIGQ9XCJNLTcuNSwxNS41aDIydi0yMmgtMjJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNSA2LjUpXCIgZmlsbD1cIiN7JGNvbG9yMn1cIi8+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NzkgLTE4Ny4yNilcIj48Y2lyY2xlIGN4PVwiMjVcIiBjeT1cIjI1XCIgcj1cIjI1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3OSAxODcuMjYpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTkzIDIwMS4yNilcIj48ZyBjbGlwLXBhdGg9XCJ1cmwoI2EpXCI+PHBhdGggZD1cIk0wLDBWNy44MTZBNi42MzYsNi42MzYsMCwwLDAsMy42NjcsMTMuNzVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNi44NzUgNS45NTgpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcjJ9XCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiBzdHJva2UtbGluZWpvaW49XCJiZXZlbFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjwvZz48cGF0aCBkPVwiTS0uMTY3LS4yMDhBMS4zNzYsMS4zNzYsMCwwLDEtMS41NDIsMS4xNjdILTJWLTIuNWguNDU4QTEuMzc2LDEuMzc2LDAsMCwxLS4xNjctMS4xMjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIxLjcwOCAxMC4yOTIpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcjJ9XCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiBzdHJva2UtbGluZWpvaW49XCJiZXZlbFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNLS4zMzMtLjMzM0gtMS4yNUEyLjc1LDIuNzUsMCwwLDAtNCwyLjQxN1Y0LjI1QTIuNzUxLDIuNzUxLDAsMCwwLTEuMjUsN2guOTE3QzcuODUxLDcsMTEuMjA4LDguODI5LDE1LjI1LDEwLjY2N1YtNEMxMS4yMTctMi4xNjcsNy44NTQtLjMzMy0uMzMzLS4zMzNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuNDU4IDYuMjkyKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3IyfVwiIHN0cm9rZS1saW5lY2FwPVwic3F1YXJlXCIgc3Ryb2tlLWxpbmVqb2luPVwiYmV2ZWxcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIEhPTUUgUEFHRSAqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIFZpZMOpbyBwbGF5L3BhdXNlICovXHJcblx0XHRAbWl4aW4gcGxheSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGlkPVwiVHJhY8OpXzE4MDk3XCIgZGF0YS1uYW1lPVwiVHJhY8OpIDE4MDk3XCIgZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBpZD1cIlRyYWPDqV8xODA5OFwiIGRhdGEtbmFtZT1cIlRyYWPDqSAxODA5OFwiIGQ9XCJNOCw1VjE5bDExLTdaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGF1c2UoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIyMlwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIj48cGF0aCBpZD1cIlRyYWPDqV8xNzk1OVwiIGRhdGEtbmFtZT1cIlRyYWPDqSAxNzk1OVwiIGQ9XCJNMCwwSDIyVjIySDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggaWQ9XCJUcmFjw6lfMTc5NjBcIiBkYXRhLW5hbWU9XCJUcmFjw6kgMTc5NjBcIiBkPVwiTTYsMTcuODMzSDkuNjY3VjVINlpNMTMuMzMzLDVWMTcuODMzSDE3VjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNDE3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBKZSB2b3VkcmFpcyAqL1xyXG5cclxuXHQvKiBUaXRsZSAqL1xyXG5cclxuXHQvKiBUcmlhbmdsZSBncmlzIGVuIGJhY2tncm91bmQgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBiZ190cmlhbmdsZSgkY29sb3I6JGNpbV9zZWNvbmRhcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43M1wiIGhlaWdodD1cIjEwMjcuNTNcIiB2aWV3Qm94PVwiMCAwIDExMDUuNzMgMTAyNy41M1wiPjx0aXRsZT5iYWNrZ3JvdW5kX3RyaWFuZ2xlX3JvdGF0ZTwvdGl0bGU+PHBhdGggZD1cIk0wLDEwMjcuNTNIMTEwNS43M0w1NTQuNzQsMFpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBiZ190cmlhbmdsZV9hY3R1KCRjb2xvcjE6JGNpbV9zZWNvbmRhcnlfY29sb3IsICRjb2xvcjI6JGNpbV90aGlyZF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMTA1LjczNFwiIGhlaWdodD1cIjEwMjcuNTMxXCIgdmlld0JveD1cIjAgMCAxMTA1LjczNCAxMDI3LjUzMVwiPjxwYXRoIGQ9XCJNMTEzMy43LDkuMDg1SDI3Ljk3TDU3OC45NTUsMTAzNi42MTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNy45NyAtOS4wODUpXCIgZmlsbD1cIiN7JGNvbG9yMX1cIi8+PC9zdmc+JyksIHN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43M1wiIGhlaWdodD1cIjEwMjcuNTNcIiB2aWV3Qm94PVwiMCAwIDExMDUuNzMgMTAyNy41M1wiPjx0aXRsZT5iYWNrZ3JvdW5kX3RyaWFuZ2xlX3JvdGF0ZTwvdGl0bGU+PHBhdGggZD1cIk0wLDEwMjcuNTNIMTEwNS43M0w1NTQuNzQsMFpcIiBmaWxsPVwiI3skY29sb3IyfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENhcnRlIGludGVyYWN0aXZlICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gaG9tZV9jYXJ0ZV9pbnRlcmFjdGl2ZV9zZWxlY3QoJGNvbG9yOiRjaW1fYmxhY2spIHsgQGluY2x1ZGUgamVfdm91ZHJhaXNfc2VsZWN0KCN7JGNvbG9yfSk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGhvbWVfY2FydGVfaW50ZXJhY3RpdmUoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjIwOCAwLjIwOClcIj48bGluZSB5Mj1cIjMzLjM5MVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNS40IDExLjIyNylcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjc5MiAwLjc5MilcIj48bGluZSB5MT1cIjIwLjg3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI5LjIxNyAwLjAwMSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNMjcuNjMsMzUuMzgxLDE1LjEwOSw0NC4zMjYuNSwzMy44OTFWLjVMMTUuMTA5LDEwLjkzNSwyOS43MTcuNSw0NC4zMjYsMTAuOTM1VjIxLjM3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNMzIuMiwyMC44NDhjMCw0LjYxLTguMzQ4LDE0LjYwOS04LjM0OCwxNC42MDlzLTguMzQ4LTEwLTguMzQ4LTE0LjYwOWE4LjM0OCw4LjM0OCwwLDAsMSwxNi43LDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE1LjgwNCAxMi41NDMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2U9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48Y2lyY2xlIGN4PVwiMy4xM1wiIGN5PVwiMy4xM1wiIHI9XCIzLjEzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM2LjUyMSAzMC4yNjEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgVFlQRSAqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIExpc3RlIGEgcHVjZXMgICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcHVjZV9saXN0ZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCA2IDZcIj48Y2lyY2xlIGN4PVwiM1wiIGN5PVwiM1wiIHI9XCIzXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENpdGF0aW9uICAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHF1b3RlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjY4XCIgaGVpZ2h0PVwiNTAuMzk0XCIgdmlld0JveD1cIjAgMCA2OCA1MC4zOTRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwIDM3NC4xNDgpXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIC0zNzQuMTQ4KVwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk00Ny42MSw1MGExNC42NjIsMTQuNjYyLDAsMCwxLTYuOTY1LTQuMDMyLDEzLjkzMSwxMy45MzEsMCwwLDEtMi44NjQtNC4xODdjLTMuMS02LjU5Mi0yLjYxLTE2Ljc0NCwxLjE4Ni0yNC42MDdDNDIuODQ3LDkuMTI5LDUwLjQ5MSwzLjExNCw2MC4zMi40LDYzLS4zNDQsNjMuOTExLS4wNzMsNjQuNTQxLDEuNTg3Yy42MjcsMS42NzguMzczLDIuNDA2LTEuMDg0LDIuOTQ4YTYuODcyLDYuODcyLDAsMCwxLTEuMS4zNTYsNDMuNTcxLDQzLjU3MSwwLDAsMC01LjQyMSwyLjJBMjMuMjE2LDIzLjIxNiwwLDAsMCw0NC42NDUsMjIuNWMtLjQ4OSwxLjkzMS0uNzI5LDMuNzQ2LS40ODksMy43NDZBNS4zMTMsNS4zMTMsMCwwLDAsNDUuMiwyNS4yMjdjMi4yNzItMi41NzUsNS4zOS0zLjgsOS43LTMuNzc4LDQuMDQ5LjAxNyw2Ljc3OCwxLjA2OSw5LjMzNywzLjU5MmE5LjEzNyw5LjEzNywwLDAsMSwyLjI1MSwzLjA3QTEzLjA2NSwxMy4wNjUsMCwwLDEsNjgsMzUuMTQzYTE3LjQxOSwxNy40MTksMCwwLDEtLjI3MywzLjk2NUM2Ni4zODcsNDQuODg3LDYyLjQ5LDQ4LjcsNTYuNTA3LDUwLjA3M2ExNy43ODUsMTcuNzg1LDAsMCwxLTQuNDA1LjMyMUExNC4wODEsMTQuMDgxLDAsMCwxLDQ3LjYxLDUwWm0tMzguNC0uOTQ3QzIuNDY0LDQ1LjkzOS0uODIyLDM4LjMzLjE3NiwyOC4xNzgsMS4zLDE2LjczOCw3LjY1MSw3Ljc3NSwxOC4xMjQsMi43OUE1OS4xNjEsNTkuMTYxLDAsMCwxLDI1LjI0LjE4MywzLjY3OCwzLjY3OCwwLDAsMSwyNy44LjI2N2EzLjI3MiwzLjI3MiwwLDAsMSwxLjE2NywzLjI2OWMtLjI3LjY0Ni0uMy42NjEtMi44NjMsMS41MjZhMjkuODY5LDI5Ljg2OSwwLDAsMC05LjQzOCw0Ljk4MkEyMy40MjUsMjMuNDI1LDAsMCwwLDguNjUsMjMuNDE1Yy0uMzM4LDEuNTU5LS40NTcsMi44MzEtLjI3MSwyLjgzMWExNS42ODcsMTUuNjg3LDAsMCwwLDEuNDA2LTEuMzIyYzIuNDQyLTIuNDU5LDUuMjM5LTMuNDkxLDkuMzU1LTMuNDc2LDQuMDY2LjAxNyw2LjgsMS4wNjksOS4zMzcsMy41OTJhOS4yLDkuMiwwLDAsMSwyLjI1NSwzLjA3LDE0LjkxLDE0LjkxLDAsMCwxLDEuNTc2LDYuMTMyYy40NTcsNy44MzEtMy42NjEsMTMuNzQ1LTEwLjksMTUuNjc4YTE1LjA2NywxNS4wNjcsMCwwLDEtNC45LjQ1N2gtLjMwNUMxMi44MzEsNTAuMzc5LDExLjU2Myw1MC4xMjYsOS4yMDksNDkuMDU2WlwiIHN0cm9rZT1cIm5vbmVcIi8+PHBhdGggZD1cIk0gNTIuMTAxNDM2NjE0OTkwMjMgNDkuMzkzNTM5NDI4NzEwOTQgQyA1NC40MjU4ODgwNjE1MjM0NCA0OS4zOTM1Mzk0Mjg3MTA5NCA1NS4zMjIyNDY1NTE1MTM2NyA0OS4zMzA2MTk4MTIwMTE3MiA1Ni4yNzE0NjUzMDE1MTM2NyA0OS4xMDA4MjYyNjM0Mjc3MyBMIDU2LjI4MzIzNzQ1NzI3NTM5IDQ5LjA5ODA0OTE2MzgxODM2IEMgNjEuODgwMDYyMTAzMjcxNDggNDcuODE0NTU5OTM2NTIzNDQgNjUuNDk5MzUxNTAxNDY0ODQgNDQuMjgzNDM1ODIxNTMzMiA2Ni43NTAwNTM0MDU3NjE3MiAzOC44ODY0ODYwNTM0NjY4IEMgNjYuOTQyNDY2NzM1ODM5ODQgMzguMDE4NTE2NTQwNTI3MzQgNjcuMDEyMDkyNTkwMzMyMDMgMzYuOTcwMjc5NjkzNjAzNTIgNjYuOTk4MzQ0NDIxMzg2NzIgMzUuMTUwNjE5NTA2ODM1OTQgTCA2Ni45OTgzMTM5MDM4MDg1OSAzNS4xNDMwNTg3NzY4NTU0NyBDIDY2Ljk5ODMxMzkwMzgwODU5IDMyLjEwMjA4ODkyODIyMjY2IDY2Ljc0Nzg3OTAyODMyMDMxIDMwLjkzMTExODAxMTQ3NDYxIDY1LjU4NzMzMzY3OTE5OTIyIDI4LjU0NzQ0NzIwNDU4OTg0IEMgNjQuOTg3OTYwODE1NDI5NjkgMjcuMzEyMTQ1MjMzMTU0MyA2NC42OTkzMTAzMDI3MzQzOCAyNi45MTkyNjc2NTQ0MTg5NSA2My41MzEzNzIwNzAzMTI1IDI1Ljc1MDY0NDY4MzgzNzg5IEMgNjEuMTY4MTE3NTIzMTkzMzYgMjMuNDIxNDQzOTM5MjA4OTggNTguNjY1Njg3NTYxMDM1MTYgMjIuNDY0Nzk0MTU4OTM1NTUgNTQuODk1MDY1MzA3NjE3MTkgMjIuNDQ4ODI3NzQzNTMwMjcgTCA1NC44MDk4NDg3ODU0MDAzOSAyMi40NDg2NTc5ODk1MDE5NSBDIDUwLjgzNzkxNzMyNzg4MDg2IDIyLjQ0ODY1Nzk4OTUwMTk1IDQ4LjAyMzgwNzUyNTYzNDc3IDIzLjU0MTcwNzk5MjU1MzcxIDQ1Ljk1NTcxNTE3OTQ0MzM2IDI1Ljg4NjIwNzU4MDU2NjQxIEMgNDQuODQzODc1ODg1MDA5NzcgMjcuMTU0NjQ3ODI3MTQ4NDQgNDQuNTMzNzU2MjU2MTAzNTIgMjcuMjQ2MTc3NjczMzM5ODQgNDQuMTU1MTM2MTA4Mzk4NDQgMjcuMjQ2MTc3NjczMzM5ODQgQyA0My44Mjk2NDcwNjQyMDg5OCAyNy4yNDYxNzc2NzMzMzk4NCA0My41MjcwOTU3OTQ2Nzc3MyAyNy4wOTcyNzg1OTQ5NzA3IDQzLjMyNTA3NzA1Njg4NDc3IDI2LjgzNzY2NzQ2NTIwOTk2IEMgNDMuMDMyODk3OTQ5MjE4NzUgMjYuNDYyMTg4NzIwNzAzMTIgNDIuOTkxNjI2NzM5NTAxOTUgMjUuOTcxNDk4NDg5Mzc5ODggNDMuMTU1MjM1MjkwNTI3MzQgMjQuODE4MjU4Mjg1NTIyNDYgQyA0My4yNjE1NTg1MzI3MTQ4NCAyNC4wNjg4Njg2MzcwODQ5NiA0My40NDYyMzU2NTY3MzgyOCAyMy4xNTg1MjczNzQyNjc1OCA0My42NzUzNjU0NDc5OTgwNSAyMi4yNTQ1NjgwOTk5NzU1OSBDIDQ1LjQ5NTk2Nzg2NDk5MDIzIDE1LjA4MzIyODExMTI2NzA5IDQ5LjgwMDYzNjI5MTUwMzkxIDkuNjg0NzU4MTg2MzQwMzMyIDU2LjQ3MDM3ODg3NTczMjQyIDYuMjA4ODI3OTcyNDEyMTA5IEMgNTcuMTgyMDE4MjgwMDI5MyA1LjgzODUyODE1NjI4MDUxOCA1OC41NTUzMjgzNjkxNDA2MiA1LjI1MTU0ODI5MDI1MjY4NiA1OS42MDMyMzcxNTIwOTk2MSA0LjgyNTY5ODM3NTcwMTkwNCBDIDYxLjUwOTcwODQwNDU0MTAyIDQuMDUwOTQyNDIwOTU5NDczIDYyLjAxNDM3NzU5Mzk5NDE0IDMuOTE4NDQxMjk1NjIzNzc5IDYyLjIzOTMzNzkyMTE0MjU4IDMuODk1NzgxMjc4NjEwMjI5IEMgNjIuMzYyNDM0Mzg3MjA3MDMgMy44NjMzMjIwMTk1NzcwMjYgNjIuNjkzMTM0MzA3ODYxMzMgMy43NTg1MDY3NzQ5MDIzNDQgNjMuMDk2NzI1NDYzODY3MTkgMy42MDI2NTgwMzMzNzA5NzIgTCA2My4xMDgyNTcyOTM3MDExNyAzLjU5ODI4ODA1OTIzNDYxOSBDIDYzLjY4MDIyNTM3MjMxNDQ1IDMuMzg1NDc4MjU4MTMyOTM1IDYzLjgwNjQ4ODAzNzEwOTM4IDMuMjIxMzM4MDMzNjc2MTQ3IDYzLjgzNDIxNzA3MTUzMzIgMy4xNjA2MzgwOTM5NDgzNjQgQyA2My44NzE3MDc5MTYyNTk3NyAzLjA3ODU4MzI0MDUwOTAzMyA2My45MjQzNjIxODI2MTcxOSAyLjc5NTM1MTI2Njg2MDk2MiA2My42MDQ2MjU3MDE5MDQzIDEuOTM4NzEyODM1MzExODkgQyA2My4yODQ1MjMwMTAyNTM5MSAxLjA5NjEzNDMwNTAwMDMwNSA2My4wMjg2NTYwMDU4NTkzOCAxLjAwODAzODE2MzE4NTEyIDYyLjUyMTg5NjM2MjMwNDY5IDEuMDA4MDM4MTYzMTg1MTIgQyA2Mi4wODI4ODU3NDIxODc1IDEuMDA4MDM4MTYzMTg1MTIgNjEuNDUwMzY2OTczODc2OTUgMS4xMjQ4MDgxOTIyNTMxMTMgNjAuNTg1NzU4MjA5MjI4NTIgMS4zNjU2ODgyMDQ3NjUzMiBDIDU1LjgyNTMxNzM4MjgxMjUgMi42NzkxMjgxNzAwMTM0MjggNTEuNjAxMTE2MTgwNDE5OTIgNC43NjgxNjc5NzI1NjQ2OTcgNDguMDMwNTE3NTc4MTI1IDcuNTc0Nzc4MDc5OTg2NTcyIEMgNDQuNDc5NDQ2NDExMTMyODEgMTAuMzY2MDM4MzIyNDQ4NzMgNDEuNzMzMDU4OTI5NDQzMzYgMTMuNzQzMTE4Mjg2MTMyODEgMzkuODY3NDA4NzUyNDQxNDEgMTcuNjEyNjg4MDY0NTc1MiBDIDM4LjA4ODU2NTgyNjQxNjAyIDIxLjI5NzMzODQ4NTcxNzc3IDM2Ljk5NDU5ODM4ODY3MTg4IDI1LjY5ODcyODU2MTQwMTM3IDM2Ljc4NzAxNzgyMjI2NTYyIDMwLjAwNjA1NzczOTI1NzgxIEMgMzYuNTgwODI1ODA1NjY0MDYgMzQuMjg0Mzg5NDk1ODQ5NjEgMzcuMjU1Mjc1NzI2MzE4MzYgMzguMzE2MzU2NjU4OTM1NTUgMzguNjg1OTA1NDU2NTQyOTcgNDEuMzU4Nzk4OTgwNzEyODkgQyAzOS40NzAwODEzMjkzNDU3IDQzLjAyNDI3NjczMzM5ODQ0IDQwLjA3MjI2OTQzOTY5NzI3IDQzLjkwNDkxODY3MDY1NDMgNDEuMzY4ODg4ODU0OTgwNDcgNDUuMjgxNDI1NDc2MDc0MjIgQyA0My4xNDAwMDcwMTkwNDI5NyA0Ny4xMTUwMjgzODEzNDc2NiA0NS4yNjU5ODczOTYyNDAyMyA0OC4zNDM1NDAxOTE2NTAzOSA0Ny44NzI0ODYxMTQ1MDE5NSA0OS4wMzgwNzgzMDgxMDU0NyBDIDQ5LjAyMjQwNzUzMTczODI4IDQ5LjM1MDM0OTQyNjI2OTUzIDQ5LjUzNjE5NzY2MjM1MzUyIDQ5LjM5MzUzOTQyODcxMDk0IDUyLjEwMTQzNjYxNDk5MDIzIDQ5LjM5MzUzOTQyODcxMDk0IE0gMTYuMjA3NjA3MjY5Mjg3MTEgNDkuMzc5MDc3OTExMzc2OTUgQyAxNi4zMDU1MTcxOTY2NTUyNyA0OS4zNzkwNzc5MTEzNzY5NSAxNi40MDU1MzY2NTE2MTEzMyA0OS4zNzkwNzc5MTEzNzY5NSAxNi41MDY5ODY2MTgwNDE5OSA0OS4zNzg1NTkxMTI1NDg4MyBDIDE5LjM5NjE5NjM2NTM1NjQ1IDQ5LjM2MTU3OTg5NTAxOTUzIDE5Ljc0MzUyNjQ1ODc0MDIzIDQ5LjMyOTg5ODgzNDIyODUyIDIxLjE1MTYzNjEyMzY1NzIzIDQ4Ljk1NTA4OTU2OTA5MTggQyAyNy45NDE1MjY0MTI5NjM4NyA0Ny4xNDA1MzcyNjE5NjI4OSAzMS43Mzg1MjcyOTc5NzM2MyA0MS42NjI0MTgzNjU0Nzg1MiAzMS4zMDg1NDc5NzM2MzI4MSAzNC4yOTk5Njg3MTk0ODI0MiBDIDMxLjE4MjExNzQ2MjE1ODIgMzIuMDkxMzk2MzMxNzg3MTEgMzAuNzU0ODc3MDkwNDU0MSAzMC40MjYwODgzMzMxMjk4OCAyOS44MzIyMzcyNDM2NTIzNCAyOC41NDg1OTczMzU4MTU0MyBDIDI5LjIzMzEyNzU5Mzk5NDE0IDI3LjMxNzgzODY2ODgyMzI0IDI4Ljk0Mzg0NzY1NjI1IDI2LjkyNTA3NzQzODM1NDQ5IDI3Ljc3MjExNzYxNDc0NjA5IDI1Ljc1MDI1NzQ5MjA2NTQzIEMgMjUuNDI2ODQ3NDU3ODg1NzQgMjMuNDIxMjg3NTM2NjIxMDkgMjIuOTI0Nzk3MDU4MTA1NDcgMjIuNDY0Nzk3OTczNjMyODEgMTkuMTM2NDk3NDk3NTU4NTkgMjIuNDQ4ODI3NzQzNTMwMjcgTCAxOS4wNTIxMjc4MzgxMzQ3NyAyMi40NDg2Nzg5NzAzMzY5MSBDIDE3LjExOTE1Nzc5MTEzNzcgMjIuNDQ4Njc4OTcwMzM2OTEgMTUuNTE2NzY2NTQ4MTU2NzQgMjIuNjk2OTQ5MDA1MTI2OTUgMTQuMTUzMzc2NTc5Mjg0NjcgMjMuMjA3NjY4MzA0NDQzMzYgQyAxMi44MTAzNDY2MDMzOTM1NSAyMy43MTA3Njc3NDU5NzE2OCAxMS42MTM2Njc0ODgwOTgxNCAyNC41MDI4NDc2NzE1MDg3OSAxMC40OTIyOTcxNzI1NDYzOSAyNS42MzE4MjgzMDgxMDU0NyBDIDguOTM2NTk2ODcwNDIyMzYzIDI3LjE4NjM5NzU1MjQ5MDIzIDguODIwNDA2OTEzNzU3MzI0IDI3LjI0NjE3NzY3MzMzOTg0IDguMzc5MTI2NTQ4NzY3MDkgMjcuMjQ2MTc3NjczMzM5ODQgQyA4LjA2MjUxNzE2NjEzNzY5NSAyNy4yNDYxNzc2NzMzMzk4NCA3Ljc2NTg0NzIwNjExNTcyMyAyNy4xMDM0Mjc4ODY5NjI4OSA3LjU2NTE5Njk5MDk2Njc5NyAyNi44NTQ1Mzc5NjM4NjcxOSBDIDcuMzYzMjk2OTg1NjI2MjIxIDI2LjYwNDEwODgxMDQyNDggNy4wMjUzODY4MTAzMDI3MzQgMjYuMTg0OTU3NTA0MjcyNDYgNy42NzI3NTcxNDg3NDI2NzYgMjMuMjAzMTU3NDI0OTI2NzYgQyA4Ljg5NTA1NjcyNDU0ODM0IDE3LjU1ODU4ODAyNzk1NDEgMTEuODY3MjU3MTE4MjI1MSAxMi42MDgwOTgwMzAwOTAzMyAxNi4wNDI2NzY5MjU2NTkxOCA5LjI2Mjk1ODUyNjYxMTMyOCBDIDE4LjgwMjI1MzcyMzE0NDUzIDcuMDU2ODc2NjU5MzkzMzExIDIxLjk4OTkxMzk0MDQyOTY5IDUuMzcyNzA2NDEzMjY5MDQzIDI1Ljc4ODAxNzI3Mjk0OTIyIDQuMTE0MTc1Nzk2NTA4Nzg5IEMgMjYuODkxNDYyMzI2MDQ5OCAzLjc0MTM2MDE4NzUzMDUxOCAyNy43NzA4NDU0MTMyMDgwMSAzLjQ0NDE5NjkzOTQ2ODM4NCAyNy45NzgwMzMwNjU3OTU5IDMuMzA1NzMxMjk2NTM5MzA3IEMgMjcuOTk2ODIwNDQ5ODI5MSAzLjI2NzQzNzY5NjQ1NjkwOSAyOC4wMjU1MjQxMzk0MDQzIDMuMTk4OTUzODY2OTU4NjE4IDI4LjA0MzQ5NzA4NTU3MTI5IDMuMTU1OTIwMDI4Njg2NTIzIEMgMjguMDk1NzE0NTY5MDkxOCAzLjAyNDM4ODA3NDg3NDg3OCAyOC4xMDc4MzU3Njk2NTMzMiAyLjYyMTQzMjU0MjgwMDkwMyAyNy45MTkwOTc5MDAzOTA2MiAyLjA5MDA2ODEwMTg4MjkzNSBDIDI3Ljc0MzgxNjM3NTczMjQyIDEuNTk2NjM4MjAyNjY3MjM2IDI3LjQ3MzIzNjA4Mzk4NDM4IDEuMjMzOTg4MTY1ODU1NDA4IDI3LjI5NjUyNzg2MjU0ODgzIDEuMTMwNzY4MTc5ODkzNDk0IEwgMjcuMjkwNjQ3NTA2NzEzODcgMS4xMjcyOTgxMTY2ODM5NiBDIDI3LjIxNjQzNjM4NjEwODQgMS4wODMyNjgxNjU1ODgzNzkgMjYuOTYyMjA3Nzk0MTg5NDUgMC45OTk5OTgxNTIyNTYwMTIgMjYuNTMxMjI3MTExODE2NDEgMC45OTk5OTgxNTIyNTYwMTIgQyAyNi4xOTY0MTY4NTQ4NTg0IDAuOTk5OTk4MTUyMjU2MDEyIDI1LjgzNzA4NzYzMTIyNTU5IDEuMDUwOTE4MTAyMjY0NDA0IDI1LjUyMTQ2NzIwODg2MjMgMS4xNDI3NjgxNDQ2MDc1NDQgQyAyMy4yMzEwMDY2MjIzMTQ0NSAxLjgxNDY4ODIwNTcxODk5NCAyMC4xMDQzMDcxNzQ2ODI2MiAyLjk1OTE5ODIzNjQ2NTQ1NCAxOC41NTM1Mjc4MzIwMzEyNSAzLjY5MzEzODEyMjU1ODU5NCBDIDEzLjQ5NDQyNjcyNzI5NDkyIDYuMTAxMDk4MDYwNjA3OTEgOS40MjUwNjY5NDc5MzcwMTIgOS40NDgwNTgxMjgzNTY5MzQgNi40NTg0NzcwMjAyNjM2NzIgMTMuNjQxMDM3OTQwOTc5IEMgMy40ODk0OTY5NDYzMzQ4MzkgMTcuODM3Mzk4NTI5MDUyNzMgMS43MTA1MzcwNzU5OTYzOTkgMjIuNzYxMDU4ODA3MzczMDUgMS4xNzA5NjY5ODI4NDE0OTIgMjguMjc1NzA3MjQ0ODczMDUgQyAwLjkzMTE0NzAzODkzNjYxNSAzMC43MTQ3Mzg4NDU4MjUyIDAuOTQ0MjE3MDI2MjMzNjczMSAzMy4wMzEyNTc2MjkzOTQ1MyAxLjIwOTgyNzA2NTQ2NzgzNCAzNS4xNjA5MjY4MTg4NDc2NiBDIDEuNDY5OTM2OTY2ODk2MDU3IDM3LjI0NjUxNzE4MTM5NjQ4IDEuOTczNDQ2OTY1MjE3NTkgMzkuMTYzMzU2NzgxMDA1ODYgMi43MDYzOTcwNTY1Nzk1OSA0MC44NTgyMDc3MDI2MzY3MiBDIDQuMTczMTE5NTQ0OTgyOTEgNDQuMjQ5ODM1OTY4MDE3NTggNi41MDA3NzM0Mjk4NzA2MDUgNDYuNzAyMDE4NzM3NzkyOTcgOS42MjUwOTQ0MTM3NTczMjQgNDguMTQ2ODc3Mjg4ODE4MzYgQyAxMS44NTYxNjg3NDY5NDgyNCA0OS4xNjAxNzUzMjM0ODYzMyAxMy4wMjU5MDI3NDgxMDc5MSA0OS4zNzkwNzc5MTEzNzY5NSAxNi4yMDc2MDcyNjkyODcxMSA0OS4zNzkwNzc5MTEzNzY5NSBNIDUyLjEwMTQzNjYxNDk5MDIzIDUwLjM5MzUzOTQyODcxMDk0IEMgNDkuNDU2OTU4NzcwNzUxOTUgNTAuMzkzNTM5NDI4NzEwOTQgNDguODY0NjQ2OTExNjIxMDkgNTAuMzQzNzI3MTExODE2NDEgNDcuNjEwNDE2NDEyMzUzNTIgNTAuMDAzMTI4MDUxNzU3ODEgQyA0NC44MTI3Nzg0NzI5MDAzOSA0OS4yNTc2Njc1NDE1MDM5MSA0Mi41MjYwMzUzMDg4Mzc4OSA0Ny45MjA0MTc3ODU2NDQ1MyA0MC42NDUyMjU1MjQ5MDIzNCA0NS45NzE2MDcyMDgyNTE5NSBDIDM5LjI3MjEwNjE3MDY1NDMgNDQuNTE0NDA4MTExNTcyMjcgMzguNjExMjU1NjQ1NzUxOTUgNDMuNTQ3NzY3NjM5MTYwMTYgMzcuNzgxMTc3NTIwNzUxOTUgNDEuNzg0Nzc4NTk0OTcwNyBDIDM0LjY4MTQ4ODAzNzEwOTM4IDM1LjE5Mjg1OTY0OTY1ODIgMzUuMTcwOTY3MTAyMDUwNzggMjUuMDQwNjg3NTYxMDM1MTYgMzguOTY2ODU3OTEwMTU2MjUgMTcuMTc3OTI4OTI0NTYwNTUgQyA0Mi44NDczNTg3MDM2MTMyOCA5LjEyOTM0NzgwMTIwODQ5NiA1MC40OTA1MzU3MzYwODM5OCAzLjExMzY2ODIwMzM1Mzg4MiA2MC4zMTk3ODYwNzE3NzczNCAwLjQwMTcwODE1NTg3MDQzNzYgQyA2Mi45OTc0NjcwNDEwMTU2MiAtMC4zNDQyOTg4OTkxNzM3MzY2IDYzLjkxMTA5ODQ4MDIyNDYxIC0wLjA3MzMxNTI3MDI0NTA3NTIzIDY0LjU0MDg4NTkyNTI5Mjk3IDEuNTg3Mzg4MTU3ODQ0NTQzIEMgNjUuMTY3NDY1MjA5OTYwOTQgMy4yNjUyMTgyNTc5MDQwNTMgNjQuOTEzNjE5OTk1MTE3MTkgMy45OTM1NDgxNTQ4MzA5MzMgNjMuNDU2OTY2NDAwMTQ2NDggNC41MzU1MTgxNjk0MDMwNzYgQyA2Mi45Mjk5ODg4NjEwODM5OCA0LjczOTAxNzk2MzQwOTQyNCA2Mi40NDA1MDU5ODE0NDUzMSA0Ljg5MTEwODAzNjA0MTI2IDYyLjM1MjY4NzgzNTY5MzM2IDQuODkxMTA4MDM2MDQxMjYgQyA2Mi4wMTUyOTY5MzYwMzUxNiA0Ljg5MTEwODAzNjA0MTI2IDU4LjE2OTA2NzM4MjgxMjUgNi40NTIxOTgwMjg1NjQ0NTMgNTYuOTMxOTc2MzE4MzU5MzggNy4wOTU5MTgxNzg1NTgzNSBDIDUwLjUyNTg4NjUzNTY0NDUzIDEwLjQzNDQ0ODI0MjE4NzUgNDYuMzkxNTM2NzEyNjQ2NDggMTUuNjE5NTE4MjgwMDI5MyA0NC42NDQ2MTUxNzMzMzk4NCAyMi41MDA2Mzg5NjE3OTE5OSBDIDQ0LjE1NTEzNjEwODM5ODQ0IDI0LjQzMTc3Nzk1NDEwMTU2IDQzLjkxNTIxODM1MzI3MTQ4IDI2LjI0NjE3NzY3MzMzOTg0IDQ0LjE1NTEzNjEwODM5ODQ0IDI2LjI0NjE3NzY3MzMzOTg0IEMgNDQuMjM5NzU3NTM3ODQxOCAyNi4yNDYxNzc2NzMzMzk4NCA0NC43MTMxNjUyODMyMDMxMiAyNS43ODY2ODc4NTA5NTIxNSA0NS4yMDM3MTYyNzgwNzYxNyAyNS4yMjcwNDg4NzM5MDEzNyBDIDQ3LjQ3NTQ2NzY4MTg4NDc3IDIyLjY1MTY2MDkxOTE4OTQ1IDUwLjU5MzEzMjAxOTA0Mjk3IDIxLjQzMjAxMDY1MDYzNDc3IDU0Ljg5OTA3ODM2OTE0MDYyIDIxLjQ0ODgzNzI4MDI3MzQ0IEMgNTguOTQ3NzM4NjQ3NDYwOTQgMjEuNDY1OTc4NjIyNDM2NTIgNjEuNjc2ODM3OTIxMTQyNTggMjIuNTE3NzY4ODU5ODYzMjggNjQuMjM1NjI2MjIwNzAzMTIgMjUuMDQwNjg3NTYxMDM1MTYgQyA2NS40NTU1ODkyOTQ0MzM1OSAyNi4yNjExNzg5NzAzMzY5MSA2NS44MjgzMTU3MzQ4NjMyOCAyNi43NTMzMjgzMjMzNjQyNiA2Ni40ODcwMzAwMjkyOTY4OCAyOC4xMTA5MTgwNDUwNDM5NSBDIDY3LjcwODA1MzU4ODg2NzE5IDMwLjYxODgzNzM1NjU2NzM4IDY3Ljk5ODMxMzkwMzgwODU5IDMxLjkyMzkzODc1MTIyMDcgNjcuOTk4MzEzOTAzODA4NTkgMzUuMTQzMDU4Nzc2ODU1NDcgQyA2OC4wMTMzMDU2NjQwNjI1IDM3LjEyNjY3ODQ2Njc5Njg4IDY3LjkyODY4ODA0OTMxNjQxIDM4LjE5MjkzOTc1ODMwMDc4IDY3LjcyNTE4OTIwODk4NDM4IDM5LjEwODE2OTU1NTY2NDA2IEMgNjYuMzg3NDIwNjU0Mjk2ODggNDQuODg3MTQ5ODEwNzkxMDIgNjIuNDg5Nzc2NjExMzI4MTIgNDguNzAwNjk4ODUyNTM5MDYgNTYuNTA2NzU1ODI4ODU3NDIgNTAuMDcyNzQ2Mjc2ODU1NDcgQyA1NS40NTgxNzU2NTkxNzk2OSA1MC4zMjY1OTkxMjEwOTM3NSA1NC40NzI3ODU5NDk3MDcwMyA1MC4zOTM1Mzk0Mjg3MTA5NCA1Mi4xMDE0MzY2MTQ5OTAyMyA1MC4zOTM1Mzk0Mjg3MTA5NCBaIE0gMTYuMjA3NjA3MjY5Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgQyAxMi44MzA1MDcyNzg0NDIzOCA1MC4zNzkwNzc5MTEzNzY5NSAxMS41NjM0MjY5NzE0MzU1NSA1MC4xMjU3NjY3NTQxNTAzOSA5LjIwOTIwNjU4MTExNTcyMyA0OS4wNTYyOTczMDIyNDYwOSBDIDIuNDYzNTg3MDQ1NjY5NTU2IDQ1LjkzODkzODE0MDg2OTE0IC0wLjgyMjQ2Mjk3NTk3ODg1MTMgMzguMzMwMDI4NTMzOTM1NTUgMC4xNzU3NjcwMTkzOTEwNTk5IDI4LjE3Nzg1ODM1MjY2MTEzIEMgMS4yOTUwNDcwNDQ3NTQwMjggMTYuNzM4MjU4MzYxODE2NDEgNy42NTA3OTY4OTAyNTg3ODkgNy43NzQ5NzgxNjA4NTgxNTQgMTguMTIzNzU2NDA4NjkxNDEgMi43OTAxOTgwODc2OTIyNjEgQyAxOS43NjY3ODY1NzUzMTczOCAyLjAxMjU5ODAzNzcxOTcyNyAyMi45MzYwOTYxOTE0MDYyNSAwLjg1OTA1ODE0MTcwODM3NCAyNS4yMzk5NzY4ODI5MzQ1NyAwLjE4MzIwODE1MjY1MTc4NjggQyAyNi4xNzI4NzgyNjUzODA4NiAtMC4wODgzMTE4NjU5MjU3ODg4OCAyNy4yNTU3MzkyMTIwMzYxMyAtMC4wNTYxODE4Mjk0MjI3MTIzMyAyNy44MDA5MTY2NzE3NTI5MyAwLjI2NzI4ODE0ODQwMzE2NzcgQyAyOC42OTg0NjcyNTQ2Mzg2NyAwLjc5MTU3ODE3MzYzNzM5MDEgMjkuMzQyMTg3ODgxNDY5NzMgMi42MjE1MDgxMjE0OTA0NzkgMjguOTY4Mzg3NjAzNzU5NzcgMy41MzYxOTgxMzkxOTA2NzQgQyAyOC42OTg0NjcyNTQ2Mzg2NyA0LjE4MjU5ODExNDAxMzY3MiAyOC42NjUyNjc5NDQzMzU5NCA0LjE5NzU4Nzk2NjkxODk0NSAyNi4xMDU0MDc3MTQ4NDM3NSA1LjA2MjQ3ODA2NTQ5MDcyMyBDIDIyLjM3NTkyNjk3MTQzNTU1IDYuMjk3OTY3OTEwNzY2NjAyIDE5LjI5NDQ0Njk0NTE5MDQzIDcuOTQzNjY4MzY1NDc4NTE2IDE2LjY2NzA5NzA5MTY3NDggMTAuMDQ0MDQ4MzA5MzI2MTcgQyAxMi42Njc3MDc0NDMyMzczIDEzLjI0ODE1ODQ1NDg5NTAyIDkuODIwNzk2OTY2NTUyNzM0IDE4LjAwODU0ODczNjU3MjI3IDguNjUwMTA3MzgzNzI4MDI3IDIzLjQxNDc5ODczNjU3MjI3IEMgOC4zMTE2NDc0MTUxNjExMzMgMjQuOTczNzQ3MjUzNDE3OTcgOC4xOTI3NTY2NTI4MzIwMzEgMjYuMjQ2MTc3NjczMzM5ODQgOC4zNzkxMjY1NDg3NjcwOSAyNi4yNDYxNzc2NzMzMzk4NCBDIDguNDMxNjA3MjQ2Mzk4OTI2IDI2LjI0NjE3NzY3MzMzOTg0IDkuMDU3MTE3NDYyMTU4MjAzIDI1LjY1MjI2NzQ1NjA1NDY5IDkuNzg1NDQ3MTIwNjY2NTA0IDI0LjkyNDQ2ODk5NDE0MDYyIEMgMTIuMjI3NDk4MDU0NTA0MzkgMjIuNDY1ODIwMzEyNSAxNS4wMjQwMjExNDg2ODE2NCAyMS40MzM5NDQ3MDIxNDg0NCAxOS4xNDAyMDcyOTA2NDk0MSAyMS40NDg4MzcyODAyNzM0NCBDIDIzLjIwNjAwNzAwMzc4NDE4IDIxLjQ2NTk3ODYyMjQzNjUyIDI1LjkzNjE3NjMwMDA0ODgzIDIyLjUxNzc2ODg1OTg2MzI4IDI4LjQ3Njc1NzA0OTU2MDU1IDI1LjA0MDY4NzU2MTAzNTE2IEMgMjkuNjk2NzE2MzA4NTkzNzUgMjYuMjYzODQ3MzUxMDc0MjIgMzAuMDcwNTE2NTg2MzAzNzEgMjYuNzUzMzI4MzIzMzY0MjYgMzAuNzMxMzY3MTExMjA2MDUgMjguMTEwOTE4MDQ1MDQzOTUgQyAzMS43MTM1NDY3NTI5Mjk2OSAzMC4xMDk1MzkwMzE5ODI0MiAzMi4xNzMwMzg0ODI2NjYwMiAzMS45MDQxMjkwMjgzMjAzMSAzMi4zMDY5MTUyODMyMDMxMiAzNC4yNDI4MTY5MjUwNDg4MyBDIDMyLjc2NDI2Njk2Nzc3MzQ0IDQyLjA3Mzk2Njk3OTk4MDQ3IDI4LjY0NTk4NjU1NzAwNjg0IDQ3Ljk4NzM2OTUzNzM1MzUyIDIxLjQwOTgxNjc0MTk0MzM2IDQ5LjkyMTE4ODM1NDQ5MjE5IEMgMTkuODg2NzQ3MzYwMjI5NDkgNTAuMzI2NTk5MTIxMDkzNzUgMTkuNDI4MzI3NTYwNDI0OCA1MC4zNjE0MDgyMzM2NDI1OCAxNi41MTI4NjY5NzM4NzY5NSA1MC4zNzg1NDAwMzkwNjI1IEMgMTYuNDA4OTY3OTcxODAxNzYgNTAuMzc5MDc3OTExMzc2OTUgMTYuMzA3MjE2NjQ0Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgMTYuMjA3NjA3MjY5Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgWlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBBY2NvcmRlb25zICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gYWNjb3JkZW9uX3BsdXMoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMC4zMjZcIiBoZWlnaHQ9XCIyMC4zMjZcIiB2aWV3Qm94PVwiMCAwIDIwLjMyNiAyMC4zMjZcIj48cGF0aCBkPVwiTTAsMEgyMC4zMjZWMjAuMzI2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHJlY3Qgd2lkdGg9XCIxMi4xOTZcIiBoZWlnaHQ9XCIyLjAzM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjA2NSA5LjE0NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiMTIuMTk2XCIgaGVpZ2h0PVwiMi4wMzNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTEuMTc5IDQuMDY1KSByb3RhdGUoOTApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENvbG9ubmUgY29udGV4dHVlbGxlICovXHJcblx0XHQvKiBCbG9jIGdlb2xvYyAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX2FkcmVzc2UoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTExNTQgLTUwODIuOTMzKVwiPjxjaXJjbGUgY3g9XCIxNVwiIGN5PVwiMTVcIiByPVwiMTVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE1NCA1MDgyLjkzMylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTYwIDUwODguOTMzKVwiPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMC4yNSwzLjVBMy43NCwzLjc0LDAsMCwxLDE0LDcuMzYzYzAsMS42Mi0xLjI5LDMuNS0zLjc1LDUuNDlDNy43OSwxMC44NjUsNi41LDguOTc1LDYuNSw3LjM2M0EzLjc0LDMuNzQsMCwwLDEsMTAuMjUsMy41bTAtMS41QTUuMjI2LDUuMjI2LDAsMCwwLDUsNy4zNjNxMCwzLjUxLDUuMjUsNy4zODhRMTUuNSwxMC44OCwxNS41LDcuMzYzQTUuMjI2LDUuMjI2LDAsMCwwLDEwLjI1LDJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xLjI1IC0wLjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PHBhdGggZD1cIk0xMC4yNSw3YTEuNSwxLjUsMCwxLDAsMS41LDEuNUExLjUsMS41LDAsMCwwLDEwLjI1LDdaTTUsMTYuNzVIMTUuNXYxLjVINVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuMjUgLTEuNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnZW9sb2NfdGVsKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjguNSAtNTI3OS4wMTQpXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCIxNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NjguNSA1Mjc5LjAxNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzQuNSA1Mjg1LjAxNClcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNS42NTUsNC41YTkuMjM0LDkuMjM0LDAsMCwwLC4zMzcsMS45NDNsLS45LjlBMTEuMTE5LDExLjExOSwwLDAsMSw0LjUyMyw0LjVINS42NTVtNy4zOTUsOS4wMTVhOS41NjQsOS41NjQsMCwwLDAsMS45NS4zMzhWMTQuOTdhMTEuNTcsMTEuNTcsMCwwLDEtMi44NS0uNTYybC45LS44OTNNNi4zNzUsM0gzLjc1QS43NTIuNzUyLDAsMCwwLDMsMy43NSwxMi43NDksMTIuNzQ5LDAsMCwwLDE1Ljc1MSwxNi41YS43NTIuNzUyLDAsMCwwLC43NDktLjc1VjEzLjEzM2EuNzUyLjc1MiwwLDAsMC0uNzUtLjc1LDguNTU1LDguNTU1LDAsMCwxLTIuNjc3LS40MjguNjMuNjMsMCwwLDAtLjIzMi0uMDM4Ljc2OC43NjgsMCwwLDAtLjUzMy4yMThsLTEuNjUsMS42NUExMS4zNjEsMTEuMzYxLDAsMCwxLDUuNzE1LDguODQzbDEuNjUtMS42NWEuNzUzLjc1MywwLDAsMCwuMTg4LS43NjVBOC41Miw4LjUyLDAsMCwxLDcuMTI1LDMuNzUuNzUyLjc1MiwwLDAsMCw2LjM3NSwzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC43NSAtMC43NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY19tYWlsKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc0IC01MTc0LjUzNylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzQgNTE3NC41MzcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE3OS45ODIgNTE4MC41MzcpXCI+PHBhdGggZD1cIk0wLDBIMTcuOTQ2VjE3Ljk0NkgwWlwiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxLjQ5NSAyLjk5MSlcIj48cGF0aCBkPVwiTTE2Ljk1NSw1LjVhMS41LDEuNSwwLDAsMC0xLjUtMS41SDMuNUExLjUsMS41LDAsMCwwLDIsNS41djguOTczYTEuNSwxLjUsMCwwLDAsMS41LDEuNUgxNS40NTlhMS41LDEuNSwwLDAsMCwxLjUtMS41Wm0tMS41LDBMOS40NzcsOS4yMjcsMy41LDUuNVptMCw4Ljk3M0gzLjVWNi45OTFMOS40NzcsMTAuNzNsNS45ODItMy43MzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yIC00KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY193ZWJzaXRlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc1IC01MTczLjMzNSlcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzUgNTE3My4zMzUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE4MSA1MTc5LjMzNSlcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS40OTMsMkE3LjUsNy41LDAsMSwwLDE3LDkuNSw3LjUsNy41LDAsMCwwLDkuNDkzLDJabTUuMiw0LjVIMTIuNDc4YTExLjczNywxMS43MzcsMCwwLDAtMS4wMzUtMi42N0E2LjAyMiw2LjAyMiwwLDAsMSwxNC42OSw2LjVaTTkuNSwzLjUzQTEwLjU2NSwxMC41NjUsMCwwLDEsMTAuOTMyLDYuNUg4LjA2OEExMC41NjUsMTAuNTY1LDAsMCwxLDkuNSwzLjUzWk0zLjcsMTFhNS44NjcsNS44NjcsMCwwLDEsMC0zSDYuMjNhMTIuMzg1LDEyLjM4NSwwLDAsMC0uMTA1LDEuNUExMi4zODYsMTIuMzg2LDAsMCwwLDYuMjMsMTFabS42MTUsMS41SDYuNTIzYTExLjczNywxMS43MzcsMCwwLDAsMS4wMzUsMi42N0E1Ljk5LDUuOTksMCwwLDEsNC4zMSwxMi41Wm0yLjIxMy02SDQuMzFBNS45OSw1Ljk5LDAsMCwxLDcuNTU3LDMuODMsMTEuNzM3LDExLjczNywwLDAsMCw2LjUyMiw2LjVaTTkuNSwxNS40N0ExMC41NjUsMTAuNTY1LDAsMCwxLDguMDY4LDEyLjVoMi44NjVBMTAuNTY1LDEwLjU2NSwwLDAsMSw5LjUsMTUuNDdaTTExLjI1NSwxMUg3Ljc0NWExMS4wMzUsMTEuMDM1LDAsMCwxLS4xMi0xLjVBMTAuOTM5LDEwLjkzOSwwLDAsMSw3Ljc0NSw4aDMuNTFhMTAuOTM5LDEwLjkzOSwwLDAsMSwuMTIsMS41LDExLjAzNSwxMS4wMzUsMCwwLDEtLjEyLDEuNVptLjE4OCw0LjE3YTExLjczNywxMS43MzcsMCwwLDAsMS4wMzUtMi42N0gxNC42OUE2LjAyMiw2LjAyMiwwLDAsMSwxMS40NDMsMTUuMTdaTTEyLjc3LDExYTEyLjM4NywxMi4zODcsMCwwLDAsLjEtMS41LDEyLjM4NywxMi4zODcsMCwwLDAtLjEtMS41aDIuNTM1YTUuODY3LDUuODY3LDAsMCwxLDAsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNSAtMC41KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX2hvcmFpcmVzKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc2IC01MTg2Ljg2NylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzYgNTE4Ni44NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE4MiA1MTkyLjg2NylcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS40OTIsMkE3LjUsNy41LDAsMSwwLDE0LjgsNC4xOTQsNy41LDcuNSwwLDAsMCw5LjQ5MiwyWk05LjUsMTUuNWE2LDYsMCwxLDEsNi02LDYsNiwwLDAsMS02LDZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTEyLjEyNSw3SDExdjQuNWwzLjkzOCwyLjM2Mi41NjMtLjkyMi0zLjM3NS0yWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi43NSAtMS43NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBUZWxlY2hhcmdlbWVudHMgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGRvd25sb2FkKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU4XCIgaGVpZ2h0PVwiNThcIiB2aWV3Qm94PVwiMCAwIDU4IDU4XCI+PHJlY3Qgd2lkdGg9XCI1OFwiIGhlaWdodD1cIjU4XCIgcng9XCIyOVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE3LjQ0NiAxNi44ODUpXCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTYsMkEyLDIsMCwwLDAsNC4wMSw0TDQsMjBhMiwyLDAsMCwwLDEuOTksMkgxOGEyLjAwNiwyLjAwNiwwLDAsMCwyLTJWOEwxNCwyWm03LDdWMy41TDE4LjUsOVpcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIHRlbGVjaGFyZ2VyKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0xMywxMC41SDEwLjc1VjNIOS4yNXY3LjVIN2wzLDNaTTQsMTV2MS41SDE2VjE1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMSAtMC43NSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZldWlsbGV0ZXIoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjc1IDMpXCI+PHBhdGggZD1cIk0xNiw0SDIuNUExLjUsMS41LDAsMCwwLDEsNS41djkuNzVhMS41LDEuNSwwLDAsMCwxLjUsMS41SDE2YTEuNSwxLjUsMCwwLDAsMS41LTEuNVY1LjVBMS41LDEuNSwwLDAsMCwxNiw0Wk0yLjUsMTUuMjVWNS41aDZ2OS43NVptMTMuNSwwSDEwVjUuNWg2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMSAtNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA0LjEyNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA2KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHJlY3Qgd2lkdGg9XCI0LjVcIiBoZWlnaHQ9XCIxLjEyNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5Ljc1IDcuODc1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBQQUdFIExJU1RFICoqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKiBJbWFnZSBwYXIgZGVmYXV0ICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gbG9nb19maWxpZ3JhbmUoKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyOC44MVwiIGhlaWdodD1cIjY5LjA3OVwiIHZpZXdCb3g9XCIwIDAgMTI4LjgxIDY5LjA3OVwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNjE2LjIwMSAtODI2LjQ2MSlcIj48cGF0aCBkPVwiTTEwMi4xODYsMjAuMzQySDYyLjYyM0w4Mi4zMzcsNTcuMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTk4LjIwMiA4MDYuMTE5KVwiIGZpbGw9XCIjYWYwNjIzXCIvPjxyZWN0IHdpZHRoPVwiMTguNzgyXCIgaGVpZ2h0PVwiNjkuMDc5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYxNi4yMDEgODI2LjQ2MSlcIiBmaWxsPVwiI2FmMDYyM1wiLz48cGF0aCBkPVwiTTg5LjY3NSw3Ny45MUg3NC4zNTZMNTcuNjM3LDQ3Vjg3Ljk3OGg1MC4wODZWNDYuMzQyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1OTcuOTI1IDgwNy41NjEpXCIgZmlsbD1cIiNhZjA2MjNcIi8+PHJlY3Qgd2lkdGg9XCIxOC43ODJcIiBoZWlnaHQ9XCI2OS4wNzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzI2LjIyOSA4MjYuNDYxKVwiIGZpbGw9XCIjYWYwNjIzXCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEJ0biBhZmZpY2hlciBsYSBjYXJ0ZSAqL1xyXG5cdFx0LyogT0sgKi8gLy9AbWl4aW4gZGlzcGxheV9tYXAoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDYgNDRcIj48cGF0aCBkPVwiTTQ0LjgsOCwzNCwxMC43QTEwLjk0LDEwLjk0LDAsMCwwLDIzLDAsMTAuOCwxMC44LDAsMCwwLDEyLjIsOS4yTC44LDEyQTEsMSwwLDAsMCwwLDEzVjQzYS45MS45MSwwLDAsMCwuNC44QTEuNDIsMS40MiwwLDAsMCwxLDQ0aC4yTDE3LDQwbDExLjcsMy45aC41bDE2LTRhMS4wOCwxLjA4LDAsMCwwLC44LTFWOWEuOTEuOTEsMCwwLDAtLjQtLjhBMS4wOSwxLjA5LDAsMCwwLDQ0LjgsOFpNMjMsMmE5LDksMCwwLDEsOSw5YzAsNC40LTYsMTEuNi05LDE0LjgtMy0zLjItOS0xMC41LTktMTQuOEE5LDksMCwwLDEsMjMsMlptNSwzOS42TDE4LDM4LjNWMjMuMWMyLjIsMi43LDQuMSw0LjcsNC4zLDQuOWExLDEsMCwwLDAsMS40LDBjLjItLjIsMi4xLTIuMiw0LjMtNC45Wk0yLDEzLjhsMTAtMi41Yy4xLDIuOCwxLjksNi4xLDQsOS4xVjM4LjJMMiw0MS43Wk00NCwzOC4yLDMwLDQxLjdWMjAuNGEyMy41OSwyMy41OSwwLDAsMCwzLjgtNy42TDQ0LDEwLjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMjYsMTFhMywzLDAsMSwwLTMsMywzLDMsMCwwLDAsMy0yLjlabS00LDBhMSwxLDAsMSwxLDEsMUExLDEsMCwwLDEsMjIsMTFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQnRuIGFmZmljaGVyIGxhIGxpc3RlICovXHJcblx0XHQvKiBPSyAqLyAvL0BtaXhpbiBkaXNwbGF5X2xpc3QoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDIgNDJcIj48cGF0aCBkPVwiTTAsNUE1LDUsMCwxLDAsNSwwLDUsNSwwLDAsMCwwLDVaTTUsMkEzLDMsMCwxLDEsMiw1LDMsMywwLDAsMSw1LDJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTUsMjZhNSw1LDAsMSwwLTUtNUE1LDUsMCwwLDAsNSwyNlptMC04YTMsMywwLDEsMS0zLDNBMywzLDAsMCwxLDUsMThaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTUsNDJhNSw1LDAsMSwwLTUtNUE1LDUsMCwwLDAsNSw0MlptMC04YTMsMywwLDEsMS0zLDNBMywzLDAsMCwxLDUsMzRaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTQxLDRIMTdhMSwxLDAsMCwwLDAsMkg0MWExLDEsMCwwLDAsMC0yWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk00MSwyMEgxN2ExLDEsMCwwLDAsMCwySDQxYTEsMSwwLDAsMCwwLTJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTQxLDM2SDE3YTEsMSwwLDAsMCwwLDJINDFhMSwxLDAsMCwwLDAtMlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogRmlsdHJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGZpbHRlcigkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMCwwSDI0bTAsMjRIMFwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNC4yNSw1LjYxQzYuMjcsOC4yLDEwLDEzLDEwLDEzdjZhMSwxLDAsMCwwLDEsMWgyYTEsMSwwLDAsMCwxLTFWMTNzMy43Mi00LjgsNS43NC03LjM5QTEsMSwwLDAsMCwxOC45NSw0SDUuMDRBMSwxLDAsMCwwLDQuMjUsNS42MVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGNhbGVuZGFyKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTUsMy41aC0uNzVWMi43NWEuNzUuNzUsMCwxLDAtMS41LDBWMy41aC02VjIuNzVhLjc1Ljc1LDAsMSwwLTEuNSwwVjMuNUg0LjVBMS40OTMsMS40OTMsMCwwLDAsMy4wMDcsNUwzLDE1LjVBMS41LDEuNSwwLDAsMCw0LjUsMTdIMTVhMS41LDEuNSwwLDAsMCwxLjUtMS41VjVBMS41LDEuNSwwLDAsMCwxNSwzLjVabTAsMTEuMjVhLjc1Mi43NTIsMCwwLDEtLjc1Ljc1aC05YS43NTIuNzUyLDAsMCwxLS43NS0uNzVWNy4yNUgxNVptLTktNkg3LjV2MS41SDZabTMsMGgxLjV2MS41SDlabTMsMGgxLjV2MS41SDEyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC43NSAtMC41KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHJlaW5pdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk04LjY2NywyYTYuNjY3LDYuNjY3LDAsMSwwLDYuNjY3LDYuNjY3QTYuNjYxLDYuNjYxLDAsMCwwLDguNjY3LDJaTTEyLDExLjA2bC0uOTQuOTRMOC42NjcsOS42MDcsNi4yNzMsMTJsLS45NC0uOTRMNy43MjcsOC42NjcsNS4zMzMsNi4yNzNsLjk0LS45NEw4LjY2Nyw3LjcyNywxMS4wNiw1LjMzM2wuOTQuOTRMOS42MDcsOC42NjdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjY2NyAtMC42NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIExvY2FsaXNhdGlvbiAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGxvY2FsaXNhdGlvbigkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgdmlld0JveD1cIjAgMCAxNSAxNVwiPjxwYXRoIGQ9XCJNMCwwSDE1VjE1SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk05LjM3NSwyQTQuMzcyLDQuMzcyLDAsMCwwLDUsNi4zNzVDNSw5LjY1Niw5LjM3NSwxNC41LDkuMzc1LDE0LjVTMTMuNzUsOS42NTYsMTMuNzUsNi4zNzVBNC4zNzIsNC4zNzIsMCwwLDAsOS4zNzUsMlptMCw1LjkzOGExLjU2MywxLjU2MywwLDEsMSwxLjU2Mi0xLjU2MkExLjU2MywxLjU2MywwLDAsMSw5LjM3NSw3LjkzOFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuODc1IC0wLjc1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgREUgUkVDSEVSQ0hFICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIFBhZ2luYXRpb24gKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwYWdpbmF0aW9uX3ByZXYoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMClcIj48cGF0aCBkPVwiTTE2LDE2LjU5LDExLjQyLDEyLDE2LDcuNDEsMTQuNTksNmwtNiw2LDYsNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNTkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDBIMFYyNEgyNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMClcIiBmaWxsPVwibm9uZVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBhZ2luYXRpb25fbmV4dCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNOC41OSwxNi41OSwxMy4xNywxMiw4LjU5LDcuNDEsMTAsNmw2LDYtNiw2WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9maXJzdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTguNDEsMTYuNTksMTMuODIsMTJsNC41OS00LjU5TDE3LDZsLTYsNiw2LDZaTTYsNkg4VjE4SDZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDI0SDBWMEgyNFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9sYXN0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk01LjU5LDcuNDEsMTAuMTgsMTIsNS41OSwxNi41OSw3LDE4bDYtNkw3LDZaTTE2LDZoMlYxOEgxNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgREVUQUlMIC8gUE9QSU4gKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKiBDQVJURSBJTlRFUkFDVElWRSAqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyogRmlsdHJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGFmZmljaGVyX3BsdXMoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge0BpbmNsdWRlIGFjY29yZGVvbl9wbHVzKCN7JGNvbG9yfSk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGFmZmljaGVyX21vaW5zKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNC44OCAxLjQxXCI+PHBhdGggZD1cIk00Ljg4LDEuNDFIMFYwSDQuODhaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqIERBU0hCT0FSRCAqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0JGRiX2JnX2NpcmNsZTonPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMzYuNzUgMTcyXCI+PHBhdGggZD1cIk0yNDAsMTAwYTQyNS44MSw0MjUuODEsMCwwLDEsMTAwLDExLjg0VjBIMjgyLjQyYTM3MC4xLDM3MC4xLDAsMCwwLTY0Ljg4LDEwMC41OVEyMjguNywxMDAsMjQwLDEwMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuMjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBvcGFjaXR5PVwiMC4wNFwiLz48cGF0aCBkPVwiTTIxNy41NCwxMDAuNTlBNDIyLjY2LDQyMi42NiwwLDAsMCwzLjI1LDE3MkgxOTQuODJBMzY2Ljg3LDM2Ni44NywwLDAsMSwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjxwYXRoIGQ9XCJNMjE3LjU0LDEwMC41OUEzNjYuODcsMzY2Ljg3LDAsMCwwLDE5NC44MiwxNzJIMzQwVjExMS44NEE0MjUuODEsNDI1LjgxLDAsMCwwLDI0MCwxMDBRMjI4LjY5LDEwMCwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjxwYXRoIGQ9XCJNMjE3LjU0LDEwMC41OUEzNjYuODcsMzY2Ljg3LDAsMCwwLDE5NC44MiwxNzJIMzQwVjExMS44NEE0MjUuODEsNDI1LjgxLDAsMCwwLDI0MCwxMDBRMjI4LjY5LDEwMCwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjwvc3ZnPic7XHJcblxyXG5cdC8qIFR1aWxlcyAqL1xyXG5cdFx0QG1peGluIGRiX2NyZWVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTMgN2gtMnY0SDd2Mmg0djRoMnYtNGg0di0yaC00Vjd6bS0xLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZ2VyZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk02LjIxIDEzLjk3bDEuMiAyLjA3Yy4wOC4xMy4yMy4xOC4zNy4xM2wxLjQ5LS42Yy4zMS4yNC42NC40NCAxLjAxLjU5bC4yMiAxLjU5Yy4wMy4xNC4xNS4yNS4zLjI1aDIuNGMuMTUgMCAuMjctLjExLjMtLjI2bC4yMi0xLjU5Yy4zNi0uMTUuNy0uMzUgMS4wMS0uNTlsMS40OS42Yy4xNC4wNS4yOSAwIC4zNy0uMTNsMS4yLTIuMDdjLjA4LS4xMy4wNC0uMjktLjA3LS4zOWwtMS4yNy0uOTljLjAzLS4xOS4wNC0uMzkuMDQtLjU4IDAtLjItLjAyLS4zOS0uMDQtLjU5bDEuMjctLjk5Yy4xMS0uMDkuMTUtLjI2LjA3LS4zOWwtMS4yLTIuMDdjLS4wOC0uMTMtLjIzLS4xOC0uMzctLjEzbC0xLjQ5LjZjLS4zMS0uMjQtLjY0LS40NC0xLjAxLS41OWwtLjIyLTEuNTljLS4wMy0uMTQtLjE1LS4yNS0uMy0uMjVoLTIuNGMtLjE1IDAtLjI3LjExLS4zLjI2bC0uMjIgMS41OWMtLjM2LjE1LS43MS4zNC0xLjAxLjU4bC0xLjQ5LS42Yy0uMTQtLjA1LS4yOSAwLS4zNy4xM2wtMS4yIDIuMDdjLS4wOC4xMy0uMDQuMjkuMDcuMzlsMS4yNy45OWMtLjAzLjItLjA1LjM5LS4wNS41OSAwIC4yLjAyLjM5LjA0LjU5bC0xLjI3Ljk5Yy0uMTEuMS0uMTQuMjYtLjA2LjM5ek0xMiAxMC4yOWMuOTQgMCAxLjcxLjc3IDEuNzEgMS43MXMtLjc3IDEuNzEtMS43MSAxLjcxLTEuNzEtLjc3LTEuNzEtMS43MS43Ny0xLjcxIDEuNzEtMS43MXpNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xMSAwIDItLjkgMi0yVjVjMC0xLjEtLjg5LTItMi0yem0wIDE2SDVWNWgxNHYxNHpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2NvbnRyaWJ1ZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNC4wNiA5LjAybC45Mi45Mkw1LjkyIDE5SDV2LS45Mmw5LjA2LTkuMDZNMTcuNjYgM2MtLjI1IDAtLjUxLjEtLjcuMjlsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzYy4zOS0uMzkuMzktMS4wMiAwLTEuNDFsLTIuMzQtMi4zNGMtLjItLjItLjQ1LS4yOS0uNzEtLjI5em0tMy42IDMuMTlMMyAxNy4yNVYyMWgzLjc1TDE3LjgxIDkuOTRsLTMuNzUtMy43NXpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2xpc3RlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEgN2g2djJoLTZ6bTAgNGg2djJoLTZ6bTAgNGg2djJoLTZ6TTcgN2gydjJIN3ptMCA0aDJ2Mkg3em0wIDRoMnYySDd6TTIwLjEgM0gzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xOSAxOUg1VjVoMTR2MTR6XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9uZXdzbGV0dGVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMjEuOTkgOGMwLS43Mi0uMzctMS4zNS0uOTQtMS43TDEyIDEgMi45NSA2LjNDMi4zOCA2LjY1IDIgNy4yOCAyIDh2MTBjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMmwtLjAxLTEwem0tMiAwdi4wMUwxMiAxMyA0IDhsOC00LjY4TDE5Ljk5IDh6TTQgMTh2LTcuNjZsOCA1LjAyIDcuOTktNC45OUwyMCAxOEg0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfc21zKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTcgMS4wMUw3IDFjLTEuMSAwLTIgLjktMiAydjE4YzAgMS4xLjkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0xLjk5LTItMS45OXpNMTcgMTlIN1Y1aDEwdjE0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZGVtYW5kZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNSA0djdINS4xN2wtLjU5LjU5LS41OC41OFY0aDExbTEtMkgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMVYzYzAtLjU1LS40NS0xLTEtMXptNSA0aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX21kcCgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxnIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiLz48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgb3BhY2l0eT1cIi44N1wiLz48L2c+PHBhdGggZD1cIk0xOCA4aC0xVjZjMC0yLjc2LTIuMjQtNS01LTVTNyAzLjI0IDcgNnYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6TTkgNmMwLTEuNjYgMS4zNC0zIDMtM3MzIDEuMzQgMyAzdjJIOVY2em05IDE0SDZWMTBoMTJ2MTB6bS02LTNjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyelwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfcHJvZmlsKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZW5hYmxlLWJhY2tncm91bmQ9XCJuZXcgMCAwIDI0IDI0XCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PGc+PHBhdGggZD1cIk0wLDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjwvZz48Zz48Zz48cGF0aCBkPVwiTTQsMTh2LTAuNjVjMC0wLjM0LDAuMTYtMC42NiwwLjQxLTAuODFDNi4xLDE1LjUzLDguMDMsMTUsMTAsMTVjMC4wMywwLDAuMDUsMCwwLjA4LDAuMDFjMC4xLTAuNywwLjMtMS4zNywwLjU5LTEuOTggQzEwLjQ1LDEzLjAxLDEwLjIzLDEzLDEwLDEzYy0yLjQyLDAtNC42OCwwLjY3LTYuNjEsMS44MkMyLjUxLDE1LjM0LDIsMTYuMzIsMiwxNy4zNVYyMGg5LjI2Yy0wLjQyLTAuNi0wLjc1LTEuMjgtMC45Ny0ySDR6XCIvPjxwYXRoIGQ9XCJNMTAsMTJjMi4yMSwwLDQtMS43OSw0LTRzLTEuNzktNC00LTRDNy43OSw0LDYsNS43OSw2LDhTNy43OSwxMiwxMCwxMnogTTEwLDZjMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDIgYy0xLjEsMC0yLTAuOS0yLTJTOC45LDYsMTAsNnpcIi8+PHBhdGggZD1cIk0yMC43NSwxNmMwLTAuMjItMC4wMy0wLjQyLTAuMDYtMC42M2wxLjE0LTEuMDFsLTEtMS43M2wtMS40NSwwLjQ5Yy0wLjMyLTAuMjctMC42OC0wLjQ4LTEuMDgtMC42M0wxOCwxMWgtMmwtMC4zLDEuNDkgYy0wLjQsMC4xNS0wLjc2LDAuMzYtMS4wOCwwLjYzbC0xLjQ1LTAuNDlsLTEsMS43M2wxLjE0LDEuMDFjLTAuMDMsMC4yMS0wLjA2LDAuNDEtMC4wNiwwLjYzczAuMDMsMC40MiwwLjA2LDAuNjNsLTEuMTQsMS4wMSBsMSwxLjczbDEuNDUtMC40OWMwLjMyLDAuMjcsMC42OCwwLjQ4LDEuMDgsMC42M0wxNiwyMWgybDAuMy0xLjQ5YzAuNC0wLjE1LDAuNzYtMC4zNiwxLjA4LTAuNjNsMS40NSwwLjQ5bDEtMS43M2wtMS4xNC0xLjAxIEMyMC43MiwxNi40MiwyMC43NSwxNi4yMiwyMC43NSwxNnogTTE3LDE4Yy0xLjEsMC0yLTAuOS0yLTJzMC45LTIsMi0yczIsMC45LDIsMlMxOC4xLDE4LDE3LDE4elwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9zdXBwcmltZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNiA5djEwSDhWOWg4bS0xLjUtNmgtNWwtMSAxSDV2MmgxNFY0aC0zLjVsLTEtMXpNMTggN0g2djEyYzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZmF2b3JpcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwMzYxIC0yOTU2KVwiPjxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMTNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjEgMjk1NilcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjYgMjk2MSlcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEuNjY3LDNhMy45OTIsMy45OTIsMCwwLDAtMywxLjM5M0EzLjk5MiwzLjk5MiwwLDAsMCw1LjY2NywzLDMuNjMxLDMuNjMxLDAsMCwwLDIsNi42NjdjMCwyLjUyLDIuMjY3LDQuNTczLDUuNyw3LjY5M2wuOTY3Ljg3My45NjctLjg4YzMuNDMzLTMuMTEzLDUuNy01LjE2Nyw1LjctNy42ODdBMy42MzEsMy42MzEsMCwwLDAsMTEuNjY3LDNaTTguNzMzLDEzLjM2N2wtLjA2Ny4wNjdMOC42LDEzLjM2N2MtMy4xNzMtMi44NzMtNS4yNjctNC43NzMtNS4yNjctNi43QTIuMjc4LDIuMjc4LDAsMCwxLDUuNjY3LDQuMzMzYTIuNjA2LDIuNjA2LDAsMCwxLDIuMzgsMS41NzNIOS4yOTNhMi41OSwyLjU5LDAsMCwxLDIuMzczLTEuNTczQTIuMjc4LDIuMjc4LDAsMCwxLDE0LDYuNjY3QzE0LDguNTkzLDExLjkwNywxMC40OTMsOC43MzMsMTMuMzY3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBPbGQgKi9cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9hYm9ubmVtZW50cygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguNTcgNTMuNTdcIj48cmVjdCB4PVwiMS43OVwiIHk9XCIxLjc5XCIgd2lkdGg9XCI3NVwiIGhlaWdodD1cIjUwXCIgcng9XCI1LjM2XCIgcnk9XCI1LjM2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjU3XCIvPjxwb2x5bGluZSBwb2ludHM9XCI3NSAzLjU3IDM5LjI5IDMyLjE0IDMuNTcgMy41N1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy41N1wiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfYW5ub25jZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc4LjI2IDc2LjY0XCI+PHBvbHlsaW5lIHBvaW50cz1cIjYzLjY1IDQwLjc0IDYzLjY1IDc1LjAxIDEuNjMgNzUuMDEgMS42MyA2LjQ2IDQyLjQzIDYuNDZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIyNC45XCIgeTE9XCI1My4zN1wiIHgyPVwiNTQuNjRcIiB5Mj1cIjIzLjYzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwYXRoIGQ9XCJNNTguMiwyMy4yMmMtMy4yNy40LTIxLjQ0LDE3LjY4LTEwLDI5LjE0LDQsNCwxMywzLjM4LDIzLjc0LTcuNFM4Ny41LDEzLjMxLDg3LjUsMTMuMzFhODguMjQsODguMjQsMCwwLDAtMjAuMjcsNS43NXMtMi41LDExLjctOSwxMS43WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODcgLTExLjY4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfY29udHJpYnV0aW9ucygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzcuMjIgNzcuMDdcIj48cG9seWxpbmUgcG9pbnRzPVwiNjIuNzMgMzYuODUgNjIuNzMgNzUuNDYgMS42MSA3NS40NiAxLjYxIDcuOSA0Ni42NSA3LjlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjJcIi8+PHBvbHlnb24gcG9pbnRzPVwiNDEuMjYgNDUuMDYgMjUuMzQgNTEuODggMzIuMTYgMzUuOTYgNjYuNTEgMS42MSA3NS42MSAxMC43MSA0MS4yNiA0NS4wNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48bGluZSB4MT1cIjY5LjcxXCIgeTE9XCIxNi42MVwiIHgyPVwiNjAuNlwiIHkyPVwiNy41MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48bGluZSB4MT1cIjQxLjI2XCIgeTE9XCI0NS4wNlwiIHgyPVwiMzIuMTZcIiB5Mj1cIjM1Ljk2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjIyXCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9kZW1hbmRlcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzEuNzRcIj48cG9seWxpbmUgcG9pbnRzPVwiMjcuNzIgNDAuNzYgMjQuNDYgNDAuNzYgMTEuNDEgNTMuOCAxMS40MSA0MC43NiAxLjYzIDQwLjc2IDEuNjMgMS42MyA2My41OSAxLjYzIDYzLjU5IDIyLjgzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwb2x5Z29uIHBvaW50cz1cIjM3LjUgNTcuMDYgNTUuNDQgNTcuMDYgNzAuMTEgNzAuMTEgNzAuMTEgNTcuMDYgNzYuNjMgNTcuMDYgNzYuNjMgMzAuOTggMzcuNSAzMC45OCAzNy41IDU3LjA2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9pbmZvcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzguMjZcIj48cGF0aCBkPVwiTTQzLjQ4LDU5Ljc4UzM4LjU5LDU4LjE1LDM4LjU5LDUwYy0yLjcsMC0yLjctNi41MiwwLTYuNTIsMC0xLjA5LTQuODktMTMsMy4yNi0xMS40MSwxLjYzLTYuNTMsMTkuNTYtNi41MywyMS4xOSwwLDEuMTMsNC41Mi0xLjYzLDEwLjYxLTEuNjMsMTEuNDEsMi43LDAsMi43LDYuNTIsMCw2LjUyLDAsOC4xNS00Ljg5LDkuNzgtNC44OSw5Ljc4djguMTVjOC4wOCwzLDE2LjA4LDUuNTQsMjAuMTcsOC40YTM3LjUsMzcuNSwwLDEsMC01My4zNSwwYzQuMzQtMywxMi44OS01LjY5LDIwLjE0LTguNDRaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PHBhdGggZD1cIk0yMy4zNCw3Ni4zN2EzNy40OCwzNy40OCwwLDAsMCw1My4zNSwwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX3ByZWZlcmVuY2VzKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4yNiA3OC4yNlwiPjxwYXRoIGQ9XCJNNzYuOTEsNTQuODlIODcuNVY0NS4xMUg3Ni45MWMtLjY4LTIuODMtMS43OS03LjExLTMuMjctOS41M2w3LjQ5LTcuNDhMNzEuOSwxOC44N2wtNy40OSw3LjQ5Yy0yLjQxLTEuNDctNi42OS0yLjU5LTkuNTItMy4yN1YxMi41SDQ1LjExVjIzLjA5Yy0yLjgzLjY4LTcuMTEsMS44LTkuNTMsMy4yN2wtNy40OS03LjQ5TDE4Ljg3LDI4LjFsNy40OSw3LjQ4Yy0xLjQ4LDIuNDItMi41OSw2LjctMy4yNyw5LjUzSDEyLjV2OS43OEgyMy4wOWMuNjgsMi44MywxLjc5LDcuMTEsMy4yNyw5LjUzbC03LjQ5LDcuNDksOS4yMiw5LjIyLDcuNDktNy40OWMyLjQyLDEuNDgsNi43LDIuNTksOS41MywzLjI3Vjg3LjVoOS43OFY3Ni45MWMyLjgzLS42OCw3LjExLTEuNzksOS41Mi0zLjI3bDcuNSw3LjQ5LDkuMjItOS4yMi03LjQ5LTcuNDlDNzUuMTIsNjIsNzYuMjMsNTcuNzIsNzYuOTEsNTQuODlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxjaXJjbGUgY3g9XCIzOS4xM1wiIGN5PVwiMzkuMTNcIiByPVwiMTQuNjdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX3NtcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDUuNjUgNzguMjZcIj48cmVjdCB4PVwiMS42M1wiIHk9XCIxLjYzXCIgd2lkdGg9XCI0Mi4zOVwiIGhlaWdodD1cIjc1XCIgcng9XCI2LjUyXCIgcnk9XCI2LjUyXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxsaW5lIHgxPVwiMS42M1wiIHkxPVwiMTQuNjdcIiB4Mj1cIjQ0LjAyXCIgeTI9XCIxNC42N1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48bGluZSB4MT1cIjEuNjNcIiB5MT1cIjYzLjU5XCIgeDI9XCI0NC4wMlwiIHkyPVwiNjMuNTlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIzMC45OFwiIHkxPVwiNzAuMTFcIiB4Mj1cIjE0LjY3XCIgeTI9XCI3MC4xMVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48cGF0aCBkPVwiTTUwLDE3LjM5QTEuNjMsMS42MywwLDAsMSw1MS42MywxOWgwQTEuNjMsMS42MywwLDAsMSw1MCwyMC42NWgwQTEuNjMsMS42MywwLDAsMSw0OC4zNywxOWgwQTEuNjMsMS42MywwLDAsMSw1MCwxNy4zOVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTI3LjE3IC0xMC44NylcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblxyXG5cclxuXHQvKiBCdXR0b24gKi9cclxuXHRcdEBtaXhpbiBidG5fdm9pcigkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIuMTcgMzAuNDNcIj48cGF0aCBkPVwiTTc1LDUwUzYzLjgxLDY0LjEzLDUwLDY0LjEzLDI1LDUwLDI1LDUwLDM2LjE5LDM1Ljg3LDUwLDM1Ljg3LDc1LDUwLDc1LDUwWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuOTEgLTM0Ljc4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48Y2lyY2xlIGN4PVwiMjYuMDlcIiBjeT1cIjE1LjIyXCIgcj1cIjguN1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48cGF0aCBkPVwiTTUwLDQ1LjY1QTQuMzUsNC4zNSwwLDEsMSw0NS42NSw1MFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuOTEgLTM0Ljc4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gYnRuX3ZvaXJfbWRwKCRjb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MCAyOC4yNlwiPjxwYXRoIGQ9XCJNMjYuMDksMS4wOWMtMTMuODEsMC0yNSwxNC4xMy0yNSwxNC4xM3MxMS4xOSwxNC4xMywyNSwxNC4xMywyNS0xNC4xMywyNS0xNC4xM1MzOS45LDEuMDksMjYuMDksMS4wOVptMCwyNC4xM2ExMCwxMCwwLDEsMSwxMC0xMEExMCwxMCwwLDAsMSwyNi4wOSwyNS4yMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuMDkgLTEuMDkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48Y2lyY2xlIGN4PVwiMjVcIiBjeT1cIjE0LjEzXCIgcj1cIjVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHRAbWl4aW4gYnRuX2RlY29ubmV4aW9uKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1Mi4yNyA1Mi4yN1wiPjxsaW5lIHgxPVwiNTEuMTRcIiB5MT1cIjI2LjE0XCIgeDI9XCIxNy4wNVwiIHkyPVwiMjYuMTRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMjdcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjI2LjE0IDE3LjA1IDE3LjA1IDI2LjE0IDI2LjE0IDM1LjIzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyLjI3XCIvPjxwYXRoIGQ9XCJNNzIuNzcsMzkuNjZhMjUsMjUsMCwxLDAsMCwyMC41NlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuODYgLTIzLjg2KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4yN1wiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0QG1peGluIGJ0bl9tb3JlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC40MSA3OC40MVwiPjxjaXJjbGUgY3g9XCIzOS4yXCIgY3k9XCIzOS4yXCIgcj1cIjM3LjVcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PGxpbmUgeDE9XCIzOS4yXCIgeTE9XCIxOC43NVwiIHgyPVwiMzkuMlwiIHkyPVwiNTkuNjZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PGxpbmUgeDE9XCI1OS42NlwiIHkxPVwiMzkuMlwiIHgyPVwiMTguNzVcIiB5Mj1cIjM5LjJcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdEBtaXhpbiBidG5fY29udHJpYnVlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4zMSA3OC4zMVwiPjxwYXRoIGQ9XCJNMzMuOTEsODIuNDhsLTIxLjQxLDUsNS0yMS40TDY5LjE3LDE0LjQ0YTYuNjIsNi42MiwwLDAsMSw5LjM3LDBsNyw3YTYuNjIsNi42MiwwLDAsMSwwLDkuMzdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NCAtMTAuODQpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjMxXCIvPjxsaW5lIHgxPVwiNzIuMzhcIiB5MT1cIjIyLjMzXCIgeDI9XCI1NS45OFwiIHkyPVwiNS45NFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48bGluZSB4MT1cIjY3LjY2XCIgeTE9XCIyNy4wNlwiIHgyPVwiNTEuM1wiIHkyPVwiMTAuNjJcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMzFcIi8+PGxpbmUgeDE9XCIyMy45XCIgeTE9XCI3MC44XCIgeDI9XCI3LjUxXCIgeTI9XCI1NC40MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48L3N2Zz4nKTt9XHJcbiIsIi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBNSVhJTlMgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCdXR0b24gKi9cclxuQG1peGluIGJ1dHRvbl91cHBlcmNhc2Uge0BpZiAoJGJ1dHRvbi11cHBlcmNhc2UgPT0gdHJ1ZSkge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9fVxyXG5cclxuLyogQm91dG9uIHNsaWNrICovXHJcbkBtaXhpbiBzbGljaygkd2lkdGg6Ny4ycmVtLCAkaGVpZ2h0OiR3aWR0aCwgJHRvcDpjYWxjKDUwJSAtICN7JGhlaWdodH0gLyAyKSwgJHBvc2l0aW9uOmFic29sdXRlKSB7cG9zaXRpb246JHBvc2l0aW9uOyBAaWYgJHBvc2l0aW9uID09IHJlbGF0aXZlIHt0b3A6YXV0b30gQGVsc2Uge3RvcDokdG9wO30gd2lkdGg6JHdpZHRoOyBoZWlnaHQ6JGhlaWdodDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6My4ycmVtIGF1dG87IHotaW5kZXg6MzsgY3Vyc29yOnBvaW50ZXI7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uOyBvdmVyZmxvdzpoaWRkZW47fVxyXG5cclxuLyogRGVncmFkZSAqL1xyXG5AbWl4aW4gZ3JhZGllbnQoJGRlZykge31cclxuXHJcbi8qIFNoYWRvdyAqL1xyXG5AbWl4aW4gc2hhZG93KCRhbHBoYSkge31cclxuXHJcbi8qIEJ0bl9hbGwgKi9cclxuQG1peGluIGFuaW1fYnRuYWxsKCR3aWR0aCwgJGhlaWdodCwgJHRvcCwgJHBhZGRpbmcsICRzdGFydCkge1xyXG5cclxuICAgIHNwYW4ge3BhZGRpbmctI3skc3RhcnR9OiRwYWRkaW5nOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbjsgZGlzcGxheTppbmxpbmUtYmxvY2s7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG4gICAgc3BhbjpiZWZvcmUsIHNwYW46OmFmdGVyIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb250YWluOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDokd2lkdGg7IGhlaWdodDokaGVpZ2h0OyB0b3A6JHRvcDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG4gICAgc3Bhbjo6YmVmb3JlIHtsZWZ0OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuICAgIHNwYW46OmFmdGVyIHtyaWdodDowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9XHJcblxyXG4gICAgQGlmICRzdGFydCA9PSByaWdodCB7XHJcbiAgICAgICAgc3Bhbjo6YmVmb3JlIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7fVxyXG4gICAgICAgICY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcclxuICAgICAgICAgICAgc3BhbiB7cGFkZGluZy1sZWZ0OiRwYWRkaW5nOyBwYWRkaW5nLXJpZ2h0OjA7fVxyXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7fVxyXG4gICAgICAgICAgICBzcGFuOmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHNwYW46OmFmdGVyIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt9XHJcbiAgICAgICAgJjppcyg6aG92ZXIsIDpmb2N1cykge1xyXG4gICAgICAgICAgICBzcGFuIHtwYWRkaW5nLXJpZ2h0OiRwYWRkaW5nOyBwYWRkaW5nLWxlZnQ6MDt9XHJcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO31cclxuICAgICAgICAgICAgc3BhbjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBpbXBvcnQgJy4vZ2xvYmFsL3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZST05UIEVESVRJTkcgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQudDMtZnJvbnRlbmQtZWRpdGluZ19fY2Ugey1tcy1mbGV4OjEgMSAwOyBmbGV4OjEgMSAwOyBtaW4td2lkdGg6MDsgcGFkZGluZzowO31cclxuXHQudDMtZnJvbnRlbmQtZWRpdGluZ19fY2UgPiAqIHstbXMtZmxleDowIDAgMTAwJTsgZmxleDowIDAgMTAwJTsgbWF4LXdpZHRoOjEwMCU7IHBhZGRpbmc6MDt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUkVTRVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZPTlRTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LyogUXVhbmQgb24gcmFqb3V0ZSBsZSBDU1MgZGFucyBsZSB0ZW1wbGF0ZSBkZSBiYXNlIDogcGVuc2VyIMOgIGNoYW5nZXIgbGVzIGZvbnQtZmFtaWx5IHBhciAkcmVndWxhciAvICRzZW1pYm9sZCAvICRib2xkICovXHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBOT1JNQUxJU0FUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKiBJbml0IGZvdW5kYXRpb24gKi9cclxuXHRcdHAge2ZvbnQtc2l6ZTppbmhlcml0OyBsaW5lLWhlaWdodDppbmhlcml0O31cclxuXHJcblx0XHQqIHtib3JkZXI6MDsgcGFkZGluZzowOyBtYXJnaW46MDsgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHk7IGZvbnQtd2VpZ2h0Om5vcm1hbDt9XHJcblx0XHRodG1sIHt3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTt9XHJcblx0XHRib2R5IHtiYWNrZ3JvdW5kOiRib2R5LWJhY2tncm91bmQ7IGNvbG9yOiRib2R5LWZvbnQtY29sb3I7IGZvbnQtZmFtaWx5OiRib2R5LWZvbnQtZmFtaWx5OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6bm9ybWFsOyBmb250LXZhcmlhbnQ6bm9ybWFsOyBsaW5lLWhlaWdodDokZ2xvYmFsLWxpbmVoZWlnaHQ7IHRleHQtYWxpZ246bGVmdDsgLyogUmV0b3VybmUgZW4gaGF1dCBkZSBwYWdlIHF1YW5kIG9uIG91dnJlIHVuZSBwb3BpbiAgaGVpZ2h0OjEwMCU7Ki8gd2lkdGg6MTAwJTt9XHJcblx0XHRodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge292ZXJmbG93OmhpZGRlbjt9IC8qIGVubMOodmUgbGEgYmFycmUgZGUgc2Nyb2xsIHN1ciBsZSBodG1sIHF1YW5kIHVuZSBwb3BpbiBlc3Qgb3V2ZXJ0ZSAqL1xyXG5cdFx0cCwgdWwgbGksIG9sIGxpLCBtYWluIHAsIG1haW4gdWwgbGksIG1haW4gb2wgbGkge2ZvbnQtc2l6ZTokZ2xvYmFsLXRleHQtZm9udC1zaXplOyBsaW5lLWhlaWdodDokcGFyYWdyYXBoLWxpbmVoZWlnaHQ7fVxyXG5cdFx0cCwgdWwsIG9sLCBtYWluIHAsIG1haW4gdWwsIG1haW4gb2wge21hcmdpbi1ib3R0b206JHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO31cclxuXHRcdGEsIG1haW4gYSB7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSwgbWFpbiBhOmlzKDpob3ZlciwgOmZvY3VzKSB7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRhLCBhIHN2ZyAqLCBidXR0b24sIGJ1dHRvbiAqLCAuYnV0dG9uLCAuYnV0dG9uICoge3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0YSBpbWcsIDpsaW5rIGltZywgOnZpc2l0ZWQgaW1nIHtib3JkZXI6bm9uZTt9XHJcblx0XHRpbWcge21heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzt9XHJcblx0XHRpZnJhbWUge21heC13aWR0aDoxMDAlO31cclxuXHRcdC8qIGdtYXAgdjMgZml4IGJ1ZyAqL1xyXG5cdFx0LmdtLXN0eWxlIGltZywgLmdtbm9zY3JlZW4gaW1nLCAuZ21ub3ByaW50IGltZyB7bWF4LXdpZHRoOm5vbmUgIWltcG9ydGFudDt9XHJcblx0XHRzdHJvbmcsIGIge2ZvbnQtd2VpZ2h0Om5vcm1hbDsgZm9udC1mYW1pbHk6JGJvbGQgIWltcG9ydGFudDt9XHJcblx0XHRpLCBlbSB7Zm9udC1zdHlsZTppdGFsaWM7IGZvbnQtZmFtaWx5OiRyZWd1bGFyICFpbXBvcnRhbnQ7fVxyXG5cdFx0c3Ryb25nIGVtLCBzdHJvbmcgaSwgZW0gc3Ryb25nLCBpIHN0cm9uZywgYiBlbSwgYiBpLCBlbSBiLCBpIGIge2ZvbnQtc3R5bGU6aXRhbGljOyBmb250LXdlaWdodDpub3JtYWw7IGZvbnQtZmFtaWx5OiRib2xkICFpbXBvcnRhbnQ7fVxyXG5cdFx0dGFibGUge2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6MDt9XHJcblx0XHRzdWIsIHN1cCB7Zm9udC1zaXplOjAuNmVtOyBmb250LWZhbWlseTppbmhlcml0OyBmb250LXdlaWdodDppbmhlcml0OyBwYWRkaW5nOjAgMC4ycmVtO31cclxuXHRcdGZvbnQge2ZvbnQ6aW5oZXJpdDt9XHJcblxyXG5cdFx0LyoqKiBFRkZFVCBTRUxFQ1RJT04gVFhUICoqKi9cclxuXHRcdFx0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6JGNpbV9ibGFjazsgY29sb3I6JGNpbV93aGl0ZTt9XHJcblx0XHRcdDo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6JGNpbV9ibGFjazsgY29sb3I6JGNpbV93aGl0ZTt9XHJcblxyXG5cdFx0LyoqKiBDVVNUT00gU0NST0xMQkFSICoqKi9cclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0ZW0pIHtcclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXIge2JhY2tncm91bmQ6JGNpbV93aGl0ZTsgYm9yZGVyLXJhZGl1czoxLjVyZW07IHdpZHRoOjEuNXJlbTt9XHJcblx0XHRcdFx0Om5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7YmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXk7IGJvcmRlci1yYWRpdXM6MS41cmVtO31cclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge2JhY2tncm91bmQ6aHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAwLjYpOyBib3JkZXI6MC40cmVtIHNvbGlkICRjaW1fd2hpdGU7IGJvcmRlci1yYWRpdXM6MS41cmVtO31cclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge2JhY2tncm91bmQ6aHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAwLjgpO31cclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6YWN0aXZlIHtiYWNrZ3JvdW5kOmhzbGEodmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9oKSwgdmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9zKSwgdmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9sKSwgMSk7fVxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMT0FERVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQuZGVsYXlfMF80IHt0cmFuc2l0aW9uLWRlbGF5OjAuNHM7fSAuZGVsYXlfMF81IHt0cmFuc2l0aW9uLWRlbGF5OjAuNXM7fSAuZGVsYXlfMF82IHt0cmFuc2l0aW9uLWRlbGF5OjAuNnM7fSAuZGVsYXlfMF83IHt0cmFuc2l0aW9uLWRlbGF5OjAuN3M7fSAuZGVsYXlfMF84IHt0cmFuc2l0aW9uLWRlbGF5OjAuOHM7fSAuZGVsYXlfMF85IHt0cmFuc2l0aW9uLWRlbGF5OjAuOXM7fSAuZGVsYXlfMSB7dHJhbnNpdGlvbi1kZWxheToxczt9IC5kZWxheV8xXzEge3RyYW5zaXRpb24tZGVsYXk6MS4xczt9IC5kZWxheV8xXzIge3RyYW5zaXRpb24tZGVsYXk6MS4yczt9IC5kZWxheV8xXzMge3RyYW5zaXRpb24tZGVsYXk6MS4zczt9IC5kZWxheV8xXzQge3RyYW5zaXRpb24tZGVsYXk6MS40czt9IC5kZWxheV8xXzUge3RyYW5zaXRpb24tZGVsYXk6MS41czt9IC5kZWxheV8xXzYge3RyYW5zaXRpb24tZGVsYXk6MS42czt9IC5kZWxheV8xXzcge3RyYW5zaXRpb24tZGVsYXk6MS43czt9IC5kZWxheV8xXzgge3RyYW5zaXRpb24tZGVsYXk6MS44czt9IC5kZWxheV8xXzkge3RyYW5zaXRpb24tZGVsYXk6MS45czt9IC5kZWxheV8yIHt0cmFuc2l0aW9uLWRlbGF5OjJzO30gLmRlbGF5XzJfMSB7dHJhbnNpdGlvbi1kZWxheToyLjFzO30gLmRlbGF5XzJfMiB7dHJhbnNpdGlvbi1kZWxheToyLjJzO30gLmRlbGF5XzJfMyB7dHJhbnNpdGlvbi1kZWxheToyLjNzO30gLmRlbGF5XzJfNCB7dHJhbnNpdGlvbi1kZWxheToyLjRzO30gLmRlbGF5XzJfNSB7dHJhbnNpdGlvbi1kZWxheToyLjVzO30gLmRlbGF5XzJfNiB7dHJhbnNpdGlvbi1kZWxheToyLjZzO30gLmRlbGF5XzJfNyB7dHJhbnNpdGlvbi1kZWxheToyLjdzO30gLmRlbGF5XzJfOCB7dHJhbnNpdGlvbi1kZWxheToyLjhzO30gLmRlbGF5XzJfOSB7dHJhbnNpdGlvbi1kZWxheToyLjlzO30gLmRlbGF5XzMge3RyYW5zaXRpb24tZGVsYXk6M3M7fSAuZGVsYXlfM18xIHt0cmFuc2l0aW9uLWRlbGF5OjMuMXM7fSAuZGVsYXlfM18yIHt0cmFuc2l0aW9uLWRlbGF5OjMuMnM7fSAuZGVsYXlfM18zIHt0cmFuc2l0aW9uLWRlbGF5OjMuM3M7fSAuZGVsYXlfM180IHt0cmFuc2l0aW9uLWRlbGF5OjMuNHM7fSAuZGVsYXlfM181IHt0cmFuc2l0aW9uLWRlbGF5OjMuNXM7fSAuZGVsYXlfM182IHt0cmFuc2l0aW9uLWRlbGF5OjMuNnM7fSAuZGVsYXlfM183IHt0cmFuc2l0aW9uLWRlbGF5OjMuN3M7fSAuZGVsYXlfM184IHt0cmFuc2l0aW9uLWRlbGF5OjMuOHM7fSAuZGVsYXlfM185IHt0cmFuc2l0aW9uLWRlbGF5OjMuOXM7fVxyXG5cclxuXHRcdC5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIHtkaXNwbGF5OmJsb2NrOyB6LWluZGV4OjEwMDggIWltcG9ydGFudDt9XHJcblx0XHQucmV2ZWFsLW92ZXJsYXkubG9hZC1wb3BpbiA+IC5zay1jaXJjbGUge21hcmdpbjowIGF1dG87IHdpZHRoOjVyZW07IGhlaWdodDoxMDAlOyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjUwJTsgei1pbmRleDoxMDA4O31cclxuXHRcdC5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIC5zay1jaXJjbGUgLnNrLWNoaWxkIHt0b3A6MDsgaGVpZ2h0OjVyZW07fVxyXG5cdFx0LnJldmVhbC1vdmVybGF5LmxvYWQtcG9waW4gLnNrLWNpcmNsZSAuc2stY2hpbGQ6OmJlZm9yZSB7d2lkdGg6MC44cmVtOyBoZWlnaHQ6MC44cmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7fVxyXG5cclxuXHRcdCNsb2FkZXJfZmlsdGVycyB7cG9zaXRpb246Zml4ZWQ7IHRvcDo0MCU7IGxlZnQ6NDAlOyB6LWluZGV4OjcwMTsgdmlzaWJpbGl0eTpoaWRkZW47fVxyXG5cdFx0I3NlY29uZF9kaXNwbGF5ICNsb2FkZXJfZmlsdGVycyB7dG9wOjA7IGxlZnQ6MDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHZpc2liaWxpdHk6dmlzaWJsZTsgYmFja2dyb3VuZDp0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjQpOyBwb3NpdGlvbjphYnNvbHV0ZTt9XHJcblx0XHQjc2Vjb25kX2Rpc3BsYXkgI2xvYWRlcl9maWx0ZXJzIC5zay1jaXJjbGUge21hcmdpbjowIGF1dG87IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblx0XHQjc2Vjb25kX2Rpc3BsYXkgI2xvYWRlcl9maWx0ZXJzIC5zay1jaXJjbGUgLnNrLWNoaWxkOjpiZWZvcmUge3dpZHRoOjAuOHJlbTsgaGVpZ2h0OjAuOHJlbTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdCNzZWNvbmRfZGlzcGxheSAjbG9hZGVyX2ZpbHRlcnMgLnNrLWNpcmNsZSAuc2stY2hpbGQge2hlaWdodDo1cmVtOyB0b3A6NTAlO31cclxuXHJcblx0XHQuc2stY2lyY2xlLnF1YWwge2Zsb2F0OnJpZ2h0OyBtYXJnaW46MCAycmVtIDAgMDsgd2lkdGg6NHJlbTsgaGVpZ2h0OjRyZW07fVxyXG5cdFx0LnNrLWNpcmNsZS5xdWFsLm5vIHtwb3NpdGlvbjphYnNvbHV0ZTsgZmxvYXQ6bm9uZTsgbWFyZ2luOjA7IHJpZ2h0Oi01cmVtOyB0b3A6MDt9XHJcblx0XHQuc2stY2lyY2xlLnF1YWwgLnNrLWNoaWxkOjpiZWZvcmUge2hlaWdodDowLjZyZW07IHdpZHRoOjAuNnJlbTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdC5zay1jaXJjbGUge21hcmdpbjoxMHJlbSBhdXRvOyB3aWR0aDo1cmVtOyBoZWlnaHQ6NXJlbTsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2hpbGQge3dpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDowOyB0b3A6MDt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaGlsZDo6YmVmb3JlIHtjb250ZW50OlwiXCI7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjowIGF1dG87IHdpZHRoOjE1JTsgaGVpZ2h0OjE1JTsgYm9yZGVyLXJhZGl1czoxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgYW5pbWF0aW9uOnNrLWNpcmNsZUJvdW5jZURlbGF5IDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUyIHt0cmFuc2Zvcm06cm90YXRlKDMwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUzIHt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU0IHt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU1IHt0cmFuc2Zvcm06cm90YXRlKDEyMGRlZyk7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlNiB7dHJhbnNmb3JtOnJvdGF0ZSgxNTBkZWcpO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTcge3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU4IHt0cmFuc2Zvcm06cm90YXRlKDIxMGRlZyk7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlOSB7dHJhbnNmb3JtOnJvdGF0ZSgyNDBkZWcpO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTEwIHt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlMTEge3RyYW5zZm9ybTpyb3RhdGUoMzAwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUxMiB7dHJhbnNmb3JtOnJvdGF0ZSgzMzBkZWcpO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTI6OmJlZm9yZSB7YW5pbWF0aW9uLWRlbGF5Oi0xLjFzO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTM6OmJlZm9yZSB7YW5pbWF0aW9uLWRlbGF5Oi0xczt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU0OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC45czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU1OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC44czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU2OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC43czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU3OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC42czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU4OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC41czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU5OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC40czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUxMDo6YmVmb3JlIHthbmltYXRpb24tZGVsYXk6LTAuM3M7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlMTE6OmJlZm9yZSB7YW5pbWF0aW9uLWRlbGF5Oi0wLjJzO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTEyOjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC4xczt9XHJcblx0XHRAa2V5ZnJhbWVzIHNrLWNpcmNsZUJvdW5jZURlbGF5IHtcclxuXHRcdFx0MCUsIDgwJSwgMTAwJSB7dHJhbnNmb3JtOnNjYWxlKDApO31cclxuXHRcdFx0NDAlIHt0cmFuc2Zvcm06c2NhbGUoMSk7fVxyXG5cdFx0fVxyXG5cclxuXHRcdC53cmFwX3Jlc3VsdC5vcGFjaXR5ICNzZWNvbmRfZGlzcGxheSwgLndyYXBfcmVzdWx0Lm9wYWNpdHkgI2ZpcnN0X2Rpc3BsYXkge29wYWNpdHk6MDt9XHJcblx0XHQjc2VhcmNoTG9hZGVyIHtwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOi0zcmVtOyBsZWZ0OjUwJTsgZm9udC1zaXplOmluaGVyaXQ7fVxyXG5cdFx0LmxvYWRlciwgLmxvYWRlcjo6YmVmb3JlLCAubG9hZGVyOjphZnRlciB7Ym9yZGVyLXJhZGl1czoxcmVtOyB3aWR0aDoycmVtOyBoZWlnaHQ6MnJlbTsgYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoOyBhbmltYXRpb246bG9hZDcgMS44cyBpbmZpbml0ZSBlYXNlLWluLW91dDt9XHJcblx0XHQubG9hZGVyIHttYXJnaW46MCBhdXRvOyBmb250LXNpemU6OXJlbTsgcG9zaXRpb246cmVsYXRpdmU7IHRleHQtaW5kZW50Oi05OTk5OWVtOyBhbmltYXRpb24tZGVsYXk6MC4xNnM7fVxyXG5cdFx0LmxvYWRlcjo6YmVmb3JlLCAubG9hZGVyOjphZnRlciB7Y29udGVudDpcIlwiOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7fVxyXG5cdFx0LmxvYWRlcjo6YmVmb3JlIHtsZWZ0Oi0zcmVtO31cclxuXHRcdC5sb2FkZXI6OmFmdGVyIHtsZWZ0OjNyZW07IGFuaW1hdGlvbi1kZWxheTowLjMyczt9XHJcblxyXG5cdFx0LyoqKiBMT0FERVIgQ09MT1IgKioqL1xyXG5cdFx0XHRAa2V5ZnJhbWVzIGxvYWQ3IHtcclxuXHRcdFx0XHQwJSB7Ym94LXNoYWRvdzowIDJlbSAwIC0xLjNlbSB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdDY1JSB7Ym94LXNoYWRvdzowIDIuNWVtIDAgMCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdDEwMCUge2JveC1zaGFkb3c6MCAyZW0gMCAtMS4zZW0gdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0fVxyXG5cclxuXHRcdC5jcy1sb2FkZXIge3dpZHRoOmNhbGMoMTAwJSAtIDNyZW0pOyBoZWlnaHQ6MTAwJTsgdG9wOjA7IGxlZnQ6MS41cmVtOyBwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDo5OyB2aXNpYmlsaXR5OnZpc2libGU7XHJcblx0XHRcdGJhY2tncm91bmQ6cmdiYSgkY2ltX2JsYWNrLCAwLjYpO31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIge3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB3aWR0aDoxMDAlOyB0b3A6MzByZW07IHBvc2l0aW9uOmFic29sdXRlOyBwYWRkaW5nOjAgMTByZW07IGNvbG9yOiRjaW1fd2hpdGU7IHRleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIgZGl2IHtjb2xvcjokY2ltX3doaXRlOyBmb250LXNpemU6MnJlbTsgb3BhY2l0eTowOyBkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcblx0XHQuY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoNikge2FuaW1hdGlvbjpsb2wgM3MgaW5maW5pdGUgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0LmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDUpIHthbmltYXRpb246bG9sIDNzIDEwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCg0KSB7YW5pbWF0aW9uOmxvbCAzcyAyMDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDt9XHJcblx0XHQuY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoMykge2FuaW1hdGlvbjpsb2wgM3MgMzAwbXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0LmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDIpIHthbmltYXRpb246bG9sIDNzIDQwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCgxKSB7YW5pbWF0aW9uOmxvbCAzcyA1MDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDt9XHJcblx0XHRAa2V5ZnJhbWVzIGxvbCB7XHJcblx0XHRcdDAlIHtvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zMHJlbSk7fVxyXG5cdFx0XHQzMyUge29wYWNpdHk6MTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG5cdFx0XHQ2NiUge29wYWNpdHk6MTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG5cdFx0XHQxMDAlIHtvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcmVtKTt9XHJcblx0XHR9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUWVBPIDMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKioqIERFRkFVTFQgU1RZTEVTIEZPUiBFWFRFTlNJT04gXCJUWF9DU1NTVFlMRURDT05URU5UXCIgKioqL1xyXG5cdFx0XHQvKiBIZWFkZXJzICovXHJcblx0XHRcdFx0LmNzYy1oZWFkZXItYWxpZ25tZW50LWNlbnRlciB7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cdFx0XHRcdC5jc2MtaGVhZGVyLWFsaWdubWVudC1yaWdodCB7dGV4dC1hbGlnbjpyaWdodDt9XHJcblx0XHRcdFx0LmNzYy1oZWFkZXItYWxpZ25tZW50LWxlZnQge3RleHQtYWxpZ246bGVmdDt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLXJlc3BvbnNpdmUsIGRpdi5jc2MtdGV4dHBpYy1yZXNwb25zaXZlICoge2JveC1zaXppbmc6Ym9yZGVyLWJveDt9XHJcblx0XHRcdC8qIENsZWFyIGZsb2F0cyBhZnRlciBjc2MtdGV4dHBpYyBhbmQgYWZ0ZXIgY3NjLXRleHRwaWMtaW1hZ2Vyb3cgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMsIGRpdi5jc2MtdGV4dHBpYyBkaXYuY3NjLXRleHRwaWMtaW1hZ2Vyb3csIHVsLmNzYy11cGxvYWRzIGxpIHtvdmVyZmxvdzpoaWRkZW47fVxyXG5cdFx0XHQvKiBTZXQgcGFkZGluZyBmb3IgdGFibGVzICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgdGFibGUge2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6MDt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgdGFibGUgdHIgdGQge3BhZGRpbmc6MDsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LyogQ2FwdGlvbnMgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2FwdGlvbi1jIC5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1jYXB0aW9uLWMge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2FwdGlvbi1yIC5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1jYXB0aW9uLXIge3RleHQtYWxpZ246cmlnaHQ7fVxyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1jYXB0aW9uLWwgLmNzYy10ZXh0cGljLWNhcHRpb24sIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWNhcHRpb24tbCB7dGV4dC1hbGlnbjpsZWZ0O31cclxuXHRcdFx0LyogRmxvYXQgdGhlIGNvbHVtbnMgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlY29sdW1uIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0LyogQm9yZGVyIGp1c3QgYXJvdW5kIHRoZSBpbWFnZSAqL1xyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1ib3JkZXIgZGl2LmNzYy10ZXh0cGljLWltYWdld3JhcCBpbWcge2JvcmRlcjowLjJyZW0gc29saWQgJGNpbV9kYXJrX2dyYXk7IHBhZGRpbmc6MDt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgaW1nIHtib3JkZXI6bm9uZTsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTt9XHJcblx0XHRcdC8qIFNwYWNlIGJlbG93IGVhY2ggaW1hZ2UgKGFsc28gaW4tYmV0d2VlbiByb3dzKSAqL1xyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYyAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1pbWFnZSB7bWFyZ2luLWJvdHRvbToxcmVtO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCAuY3NjLXRleHRwaWMtaW1hZ2Vyb3ctbGFzdCAuY3NjLXRleHRwaWMtaW1hZ2Uge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC8qIGNvbFNwYWNlIGFyb3VuZCBpbWFnZSBjb2x1bW5zLCBleGNlcHQgZm9yIGxhc3QgY29sdW1uICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWltYWdlY29sdW1uLCB0ZC5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbiAuY3NjLXRleHRwaWMtaW1hZ2Uge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4uY3NjLXRleHRwaWMtbGFzdGNvbCwgdGQuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4uY3NjLXRleHRwaWMtbGFzdGNvbCAuY3NjLXRleHRwaWMtaW1hZ2Uge21hcmdpbi1yaWdodDowO31cclxuXHRcdFx0LyogQWRkIG1hcmdpbiBmcm9tIGltYWdlLWJsb2NrIHRvIHRleHQgKGluIGNhc2Ugb2YgXCJUZXh0ICYgSW1hZ2VzXCIpICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAsXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0LW5vd3JhcCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHttYXJnaW4tcmlnaHQ6MXJlbTt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1yaWdodCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwLFxyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge21hcmdpbi1sZWZ0OjFyZW07fVxyXG5cclxuXHRcdC8qKiogUE9TSVRJT05JTkcgT0YgSU1BR0VTICoqKi9cclxuXHRcdFx0LyogQ2VudGVyIChhYm92ZSBvciBiZWxvdykgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAsIGRpdi5jc2MtdGV4dHBpYy1jZW50ZXIgZmlndXJlLmNzYy10ZXh0cGljLWltYWdld3JhcCB7b3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1jZW50ZXItb3V0ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6NTAlO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1jZW50ZXItaW5uZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6LTUwJTt9XHJcblx0XHRcdC8qIFJpZ2h0IChhYm92ZSBvciBiZWxvdykgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtcmlnaHQgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7ZmxvYXQ6cmlnaHQ7IHdpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1yaWdodCBkaXYuY3NjLXRleHRwaWMtdGV4dCB7Y2xlYXI6cmlnaHQ7fVxyXG5cdFx0XHQvKiBMZWZ0IChhYm92ZSBvciBiZWxvdykgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtbGVmdCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtbGVmdCBkaXYuY3NjLXRleHRwaWMtdGV4dCB7Y2xlYXI6bGVmdDt9XHJcblx0XHRcdC8qIExlZnQgKGluIHRleHQpICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge2Zsb2F0OmxlZnQ7fVxyXG5cdFx0XHQvKiBSaWdodCAoaW4gdGV4dCkgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtaW50ZXh0LXJpZ2h0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge2Zsb2F0OnJpZ2h0O31cclxuXHRcdFx0LyogUmlnaHQgKGluIHRleHQsIG5vIHdyYXAgYXJvdW5kKSAqL1xyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge2Zsb2F0OnJpZ2h0O31cclxuXHRcdFx0LyogTGVmdCAoaW4gdGV4dCwgbm8gd3JhcCBhcm91bmQpICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0LW5vd3JhcCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlcm93LWxhc3QsIGRpdi5jc2MtdGV4dHBpYyBkaXYuY3NjLXRleHRwaWMtaW1hZ2Vyb3ctbm9uZSBkaXYuY3NjLXRleHRwaWMtbGFzdCB7bWFyZ2luLWJvdHRvbTowO31cclxuXHJcblx0XHQvKioqIEJST1dTRVIgRklYRVM6ICoqKi9cclxuXHRcdFx0LyogRml4IGZvciB1bm9yZGVyZWQgYW5kIG9yZGVyZWQgbGlzdCB3aXRoIGltYWdlIFwiSW4gdGV4dCwgbGVmdFwiICovXHJcblx0XHRcdFx0LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IG9sLCAuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQgdWwge3BhZGRpbmctbGVmdDo0cmVtOyBvdmVyZmxvdzphdXRvO31cclxuXHRcdC8qKiogVEVYVE1FRElBICoqKi9cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEsXHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktY29sdW1uIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW4ge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW46bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OjA7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LXJvdyB7b3ZlcmZsb3c6aGlkZGVuOyBtYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LXJvdzpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1hYm92ZSAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHttYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1hYm92ZS1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtmbG9hdDpyaWdodDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWFib3ZlLWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWFib3ZlIC5jc2MtdGV4dG1lZGlhLXRleHQge2NsZWFyOmJvdGg7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1hYm92ZS1jZW50ZXIgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1vdXRlcixcclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVsb3ctY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktb3V0ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6NTAlO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYWJvdmUtY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktaW5uZXIsXHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWJlbG93LWNlbnRlciAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LWlubmVyIHtwb3NpdGlvbjpyZWxhdGl2ZTsgZmxvYXQ6cmlnaHQ7IHJpZ2h0Oi01MCU7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1iZWxvdyAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHttYXJnaW4tdG9wOjFyZW07fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1iZWxvdy1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtmbG9hdDpyaWdodDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWJlbG93LWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWluc2lkZS1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtmbG9hdDpyaWdodDsgbWFyZ2luLWxlZnQ6MXJlbTt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWluc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVzaWRlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge2Zsb2F0OnJpZ2h0OyBtYXJnaW4tbGVmdDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVzaWRlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLXRleHQge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWJlc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVzaWRlLWxlZnQgLmNzYy10ZXh0bWVkaWEtdGV4dCB7b3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdC8qKiogVVBMT0FEUyAqKiovXHJcblx0XHRcdC5jZS11cGxvYWRzIHttYXJnaW46MDsgcGFkZGluZzowO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgbGkge2xpc3Qtc3R5bGU6bm9uZSBvdXRzaWRlIG5vbmU7IG1hcmdpbjoxZW0gMDt9XHJcblx0XHRcdC5jZS11cGxvYWRzIGltZyB7ZmxvYXQ6bGVmdDsgbWFyZ2luLXJpZ2h0OjFlbTsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcblx0XHQvKioqIFRBQkxFICoqKi9cclxuXHRcdFx0LmNvbnRlbnR0YWJsZSB7d2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cdFx0XHQuY29udGVudHRhYmxlIHRoLCAuY29udGVudHRhYmxlIHRkIHtwYWRkaW5nOjAuNWVtIDAuNzVlbTsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LmNvbnRlbnR0YWJsZSB0aGVhZCB0aCB7Zm9udC13ZWlnaHQ6Ym9sZDsgLypib3JkZXItYm90dG9tOjAuMnJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7Ki99XHJcblx0XHRcdC5jb250ZW50dGFibGUgdGgsIC5jb250ZW50dGFibGUgdGQge2JvcmRlci10b3A6MC4xcmVtIHNvbGlkICRjaW1fbGlnaHRfZ3JheTt9XHJcblx0XHRcdC5jb250ZW50dGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50aXplKCRjaW1fYmxhY2ssIDAuOTUpO31cclxuXHRcdFx0LmNvbnRlbnR0YWJsZS1ib3JkZXJlZCB0aCwgLmNvbnRlbnR0YWJsZS1ib3JkZXJlZCB0ZCB7Ym9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7fVxyXG5cdFx0LyoqKiBTUEFDRSAqKiovXHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLWV4dHJhLXNtYWxsIHttYXJnaW4tdG9wOjFlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLXNtYWxsIHttYXJnaW4tdG9wOjJlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLXNlbWlib2xkIHttYXJnaW4tdG9wOjNlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLWxhcmdlIHttYXJnaW4tdG9wOjRlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLWV4dHJhLWxhcmdlIHttYXJnaW4tdG9wOjVlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYWZ0ZXItZXh0cmEtc21hbGwge21hcmdpbi1ib3R0b206MWVtO31cclxuXHRcdFx0LmNzYy1zcGFjZS1hZnRlci1zbWFsbCB7bWFyZ2luLWJvdHRvbToyZW07fVxyXG5cdFx0XHQuY3NjLXNwYWNlLWFmdGVyLXNlbWlib2xkIHttYXJnaW4tYm90dG9tOjNlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYWZ0ZXItbGFyZ2Uge21hcmdpbi1ib3R0b206NGVtO31cclxuXHRcdFx0LmNzYy1zcGFjZS1hZnRlci1leHRyYS1sYXJnZSB7bWFyZ2luLWJvdHRvbTo1ZW07fVxyXG5cdFx0LyoqKiBGUkFNRSAqKiovXHJcblx0XHRcdC5jc2MtZnJhbWUtcnVsZXItYmVmb3JlOjpiZWZvcmUge2NvbnRlbnQ6XCJcIjsgZGlzcGxheTpibG9jazsgYm9yZGVyLXRvcDowLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC43NSk7IG1hcmdpbi1ib3R0b206MmVtO31cclxuXHRcdFx0LmNzYy1mcmFtZS1ydWxlci1hZnRlcjo6YWZ0ZXIge2NvbnRlbnQ6XCJcIjsgZGlzcGxheTpibG9jazsgYm9yZGVyLWJvdHRvbTowLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC43NSk7IG1hcmdpbi10b3A6MmVtO31cclxuXHRcdFx0LmNzYy1mcmFtZS1pbmRlbnQge21hcmdpbi1sZWZ0OjE1JTsgbWFyZ2luLXJpZ2h0OjE1JTt9XHJcblx0XHRcdC5jc2MtZnJhbWUtaW5kZW50LWxlZnQge21hcmdpbi1sZWZ0OjMzJTt9XHJcblx0XHRcdC5jc2MtZnJhbWUtaW5kZW50LXJpZ2h0IHttYXJnaW4tcmlnaHQ6MzMlO31cclxuXHJcblx0XHQvKioqIERFRkFVTFQgU1RZTEVTIEZPUiBFWFRFTlNJT04gXCJUWF9GUk9OVEVORFwiICoqKi9cclxuXHRcdFx0LmNlLWFsaWduLWxlZnQge3RleHQtYWxpZ246bGVmdDt9XHJcblx0XHRcdC5jZS1hbGlnbi1jZW50ZXIge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0LmNlLWFsaWduLXJpZ2h0IHt0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHRcdFx0LmNlLXRhYmxlIHRkLCAuY2UtdGFibGUgdGgge3ZlcnRpY2FsLWFsaWduOnRvcDt9XHJcblx0XHRcdC5jZS10ZXh0cGljIHttYXJnaW4tYm90dG9tOjNyZW07fVxyXG5cdFx0XHQuY2UtdGV4dHBpYywgLmNlLWltYWdlLCAuY2Utbm93cmFwIC5jZS1ib2R5dGV4dCwgLmNlLWdhbGxlcnksIC5jZS1yb3csIC5jZS11cGxvYWRzIGxpLCAuY2UtdXBsb2FkcyBkaXYge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5jZS1sZWZ0IC5jZS1nYWxsZXJ5LCAuY2UtY29sdW1uIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0LmNlLWNlbnRlciAuY2Utb3V0ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6NTAlO31cclxuXHRcdFx0LmNlLWNlbnRlciAuY2UtaW5uZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6LTUwJTt9XHJcblx0XHRcdC5jZS1yaWdodCAuY2UtZ2FsbGVyeSB7ZmxvYXQ6cmlnaHQ7fVxyXG5cdFx0XHQuY2UtZ2FsbGVyeSBmaWd1cmUge2Rpc3BsYXk6dGFibGU7IG1hcmdpbjowO31cclxuXHRcdFx0LmNlLWdhbGxlcnkgZmlnY2FwdGlvbiB7ZGlzcGxheTp0YWJsZS1jYXB0aW9uOyBjYXB0aW9uLXNpZGU6Ym90dG9tO31cclxuXHRcdFx0LmNlLWdhbGxlcnkgaW1nIHtkaXNwbGF5OmJsb2NrO31cclxuXHRcdFx0LmNlLWdhbGxlcnkgaWZyYW1lIHtib3JkZXItd2lkdGg6MDt9XHJcblx0XHRcdC5jZS1ib3JkZXIgaW1nLCAuY2UtYm9yZGVyIGlmcmFtZSB7Ym9yZGVyOjAuMnJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTsgcGFkZGluZzowO31cclxuXHRcdFx0LmNlLWludGV4dC5jZS1yaWdodCAuY2UtZ2FsbGVyeSwgLmNlLWludGV4dC5jZS1sZWZ0IC5jZS1nYWxsZXJ5LCAuY2UtYWJvdmUgLmNlLWdhbGxlcnkge21hcmdpbi1ib3R0b206MXJlbTt9XHJcblx0XHRcdC5jZS1pbnRleHQuY2UtcmlnaHQgLmNlLWdhbGxlcnkge21hcmdpbi1sZWZ0OjFyZW07fVxyXG5cdFx0XHQuY2UtaW50ZXh0LmNlLWxlZnQgLmNlLWdhbGxlcnkge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNlLWJlbG93IC5jZS1nYWxsZXJ5IHttYXJnaW4tdG9wOjFyZW07fVxyXG5cdFx0XHQuY2UtY29sdW1uIHttYXJnaW4tcmlnaHQ6MXJlbTt9XHJcblx0XHRcdC5jZS1jb2x1bW46bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OjA7fVxyXG5cdFx0XHQuY2Utcm93IHttYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHQuY2Utcm93Omxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC5jZS1hYm92ZSAuY2UtYm9keXRleHQge2NsZWFyOmJvdGg7fVxyXG5cdFx0XHQuY2UtaW50ZXh0LmNlLWxlZnQgb2wsIC5jZS1pbnRleHQuY2UtbGVmdCB1bCB7cGFkZGluZy1sZWZ0OjRyZW07IG92ZXJmbG93OmF1dG87fVxyXG5cdFx0XHQuY2UtYm9keXRleHQgPiAqOmxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC5jZS1ib2R5dGV4dCA+ICo6Zmlyc3QtY2hpbGQsIC5jZS1ib2R5dGV4dCA+IGhlYWRlciA+ICo6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6MDt9XHJcblxyXG5cdFx0LyoqKiBIRUFETElORSAqKiovXHJcblx0XHRcdC5jZS1oZWFkbGluZS1sZWZ0IHt0ZXh0LWFsaWduOmxlZnQ7fVxyXG5cdFx0XHQuY2UtaGVhZGxpbmUtY2VudGVyIHt0ZXh0LWFsaWduOmNlbnRlcjt9XHJcblx0XHRcdC5jZS1oZWFkbGluZS1yaWdodCB7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG5cdFx0LyoqKiBVUExPQURTICoqKi9cclxuXHRcdFx0LmNlLXVwbG9hZHMge21hcmdpbjowOyBwYWRkaW5nOjA7fVxyXG5cdFx0XHQuY2UtdXBsb2FkcyBsaSB7bGlzdC1zdHlsZTpub25lIG91dHNpZGUgbm9uZTsgbWFyZ2luOjFlbSAwO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgaW1nIHtmbG9hdDpsZWZ0OyBwYWRkaW5nLXJpZ2h0OjFlbTsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcblxyXG5cdFx0LyoqKiBUQUJMRSAqKiovXHJcblx0XHRcdC5jZS10YWJsZSB7d2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cdFx0XHQuY2UtdGFibGUgdGgsIC5jZS10YWJsZSB0ZCB7cGFkZGluZzowLjVlbSAwLjc1ZW07IHZlcnRpY2FsLWFsaWduOnRvcDt9XHJcblx0XHRcdC5jZS10YWJsZSB0aGVhZCB0aCB7Ym9yZGVyLWJvdHRvbTowLjJyZW0gc29saWQgJGNpbV9saWdodF9ncmF5O31cclxuXHRcdFx0LmNlLXRhYmxlIHRoLCAuY2UtdGFibGUgdGQge2JvcmRlci10b3A6MC4xcmVtIHNvbGlkICRjaW1fbGlnaHRfZ3JheTt9XHJcblx0XHRcdC5jZS10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC45NSk7fVxyXG5cdFx0XHQuY2UtdGFibGUtYm9yZGVyZWQgdGgsIC5jZS10YWJsZS1ib3JkZXJlZCB0ZCB7Ym9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7fVxyXG5cclxuXHRcdC8qKiogU1BBQ0UgKioqL1xyXG5cdFx0XHQuZnJhbWUtc3BhY2UtYmVmb3JlLWV4dHJhLXNtYWxsIHttYXJnaW4tdG9wOjFlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1iZWZvcmUtc21hbGwge21hcmdpbi10b3A6MmVtO31cclxuXHRcdFx0LmZyYW1lLXNwYWNlLWJlZm9yZS1zZW1pYm9sZCB7bWFyZ2luLXRvcDozZW07fVxyXG5cdFx0XHQuZnJhbWUtc3BhY2UtYmVmb3JlLWxhcmdlIHttYXJnaW4tdG9wOjRlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1iZWZvcmUtZXh0cmEtbGFyZ2Uge21hcmdpbi10b3A6NWVtO31cclxuXHRcdFx0LmZyYW1lLXNwYWNlLWFmdGVyLWV4dHJhLXNtYWxsIHttYXJnaW4tYm90dG9tOjFlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1hZnRlci1zbWFsbCB7bWFyZ2luLWJvdHRvbToyZW07fVxyXG5cdFx0XHQuZnJhbWUtc3BhY2UtYWZ0ZXItc2VtaWJvbGQge21hcmdpbi1ib3R0b206M2VtO31cclxuXHRcdFx0LmZyYW1lLXNwYWNlLWFmdGVyLWxhcmdlIHttYXJnaW4tYm90dG9tOjRlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1hZnRlci1leHRyYS1sYXJnZSB7bWFyZ2luLWJvdHRvbTo1ZW07fVxyXG5cclxuXHRcdC8qKiogRlJBTUUgKioqL1xyXG5cdFx0XHQuZnJhbWUtcnVsZXItYmVmb3JlOjpiZWZvcmUge2NvbnRlbnQ6XCJcIjsgZGlzcGxheTpibG9jazsgYm9yZGVyLXRvcDowLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC43NSk7IG1hcmdpbi1ib3R0b206MmVtO31cclxuXHRcdFx0LmZyYW1lLXJ1bGVyLWFmdGVyOjphZnRlciB7Y29udGVudDpcIlwiOyBkaXNwbGF5OmJsb2NrOyBib3JkZXItYm90dG9tOjAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjc1KTsgbWFyZ2luLXRvcDoyZW07fVxyXG5cdFx0XHQuZnJhbWUtaW5kZW50IHttYXJnaW4tbGVmdDoxNSU7IG1hcmdpbi1yaWdodDoxNSU7fVxyXG5cdFx0XHQuZnJhbWUtaW5kZW50LWxlZnQge21hcmdpbi1sZWZ0OjMzJTt9XHJcblx0XHRcdC5mcmFtZS1pbmRlbnQtcmlnaHQge21hcmdpbi1yaWdodDozMyU7fVxyXG5cclxuXHRcdC8qKiogREVCVUcgKioqL1xyXG5cdFx0XHQuZXh0YmFzZS1kZWJ1Z2dlci10b3Age2NvbG9yOnJlZDsgZm9udC13ZWlnaHQ6Ym9sZDsgYmFja2dyb3VuZDojMDAwMDAwO31cclxuXHRcdFx0LmV4dGJhc2UtZGVidWdnZXItdHJlZSBpbnB1dCB7d2lkdGg6MTRweCAhaW1wb3J0YW50O31cclxuXHRcdFx0LmV4dGJhc2UtZGVidWdnZXItY2VudGVyIC5leHRiYXNlLWRlYnVnLXR5cGUge2NvbG9yOnBpbms7fVxyXG5cdFx0XHQuZXh0YmFzZS1kZWJ1Z2dlci1jZW50ZXIgLmV4dGJhc2UtZGVidWctc3RyaW5nIHtjb2xvcjpzYWxtb247fVxyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZPUk1VTEFJUkVTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LmNvbnRlbnRfcGFnZSBmb3JtIHttYXJnaW4tYm90dG9tOjNyZW07fVxyXG5cclxuXHRcdGxlZ2VuZCwgLmxpa2VfbGVnZW5kIHtjb2xvcjokY2ltX2JsYWNrOyBmb250LWZhbWlseTokYm9sZDsgZm9udC1zaXplOm1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgyLCBmb250LXNpemUpOyBsaW5lLWhlaWdodDoxLjJlbTsgbWFyZ2luOjAgMCAycmVtIDA7IGZsb2F0Om5vbmU7IHdpZHRoOjEwMCU7fVxyXG5cdFx0ZmllbGRzZXQgKyBmaWVsZHNldCBsZWdlbmQge3BhZGRpbmctdG9wOjJyZW07fVxyXG5cdFx0bGVnZW5kLnNob3ctZm9yLXNyIHttYXJnaW46MDsgZGlzcGxheTppbml0aWFsO31cclxuXHRcdC8qI2NvbF9sZWZ0X2lubmVyIGZpZWxkc2V0LCAjY29sX2xlZnRfaW5uZXJfcG9waW4gZmllbGRzZXQqLyAuY29udGVudF9wYWdlIGZpZWxkc2V0IHttaW4td2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cclxuXHRcdC5saWduZV9mb3JtLCAuY3NjLW1haWxmb3JtLWZpZWxkLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCB7bWFyZ2luOjAgMCAzcmVtIDA7IGNsZWFyOmJvdGg7fVxyXG5cdFx0LmxpZ25lX2Zvcm1bZGF0YS1zZWN0aW9uZHVwbGljYXRvcl0gLmxpZ25lX2Zvcm0ge21hcmdpbi1ib3R0b206MXJlbTsgfVxyXG5cclxuXHRcdC5saWduZV9mb3JtLmNyZW5lYXUge21hcmdpbi10b3A6MXJlbTsgcGFkZGluZy1sZWZ0OjIuNXJlbTt9XHJcblx0XHQubGlnbmVfZm9ybS5jcmVuZWF1IGxhYmVsIHtmb250LWZhbWlseTokcmVndWxhcjt9XHJcblx0XHQubGlnbmVfZm9ybS5jcmVuZWF1IHNlbGVjdCB7bWFyZ2luLXRvcDowLjVyZW07fVxyXG5cclxuXHRcdC8qIGxhYmVscyAqL1xyXG5cdFx0XHRsYWJlbCwgLmlucHV0LWdyb3VwLWxhYmVsLCAucG93ZXJtYWlsX2xhYmVsLnBvd2VybWFpbF9yYWRpb19sZWdlbmQsIC5wb3dlcm1haWxfbGFiZWwsIC5sYWJlbCwgLmxpa2VfbGFiZWwge2ZvbnQtZmFtaWx5OiRib2xkOyBwYWRkaW5nOiRsYWJlbC1wYWRkaW5nO31cclxuXHRcdFx0dWwgbGkgbGFiZWwge2ZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjFlbTt9XHJcblx0XHRcdC5saWtlX2xhYmVsIHtjb2xvcjokZm9ybS1sYWJlbC1jb2xvcjsgZm9udC1zaXplOiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTsgbGluZS1oZWlnaHQ6JGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7IG1hcmdpbi1ib3R0b206MDsgdGV4dC10cmFuc2Zvcm06aW5pdGlhbDt9XHJcblxyXG5cdFx0XHQvKiBMYWJlbHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsICovXHJcblx0XHRcdFx0LyojZmlsdGVycyBsYWJlbCwgI2ZpbHRlcnMgLmlucHV0LWdyb3VwLWxhYmVsLCAjZmlsdGVycyAucG93ZXJtYWlsX2xhYmVsLnBvd2VybWFpbF9yYWRpb19sZWdlbmQsICNmaWx0ZXJzIC5wb3dlcm1haWxfbGFiZWwsICNmaWx0ZXJzIC5sYWJlbCB7fSovXHJcblxyXG5cdFx0LyogYWZmaWNoYWdlIHRleHRlIHNpbXBsZSAtIHNraW4gY29tbWUgbGFiZWwgb3UgcCAqL1xyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgLnBvd2VybWFpbF9maWVsZCB7Zm9udC1zaXplOiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTsgbGluZS1oZWlnaHQ6JGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7fVxyXG5cclxuXHRcdC8qIGNoYW1wcyAqL1xyXG5cdFx0XHRpbnB1dFt0eXBlPSdmaWxlJ10ge2ZvbnQtc2l6ZToxLjRlbTsgY3Vyc29yOnBvaW50ZXI7fVxyXG5cdFx0XHRpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddIHtib3JkZXI6MDsgYm9yZGVyLWJvdHRvbTokaW5wdXQtcHJlZml4LWJvcmRlcjt9XHJcblxyXG5cdFx0XHRpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9ibGFjazt9XHJcblx0XHRcdGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtjb2xvcjokY2ltX2JsYWNrOyBvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcblx0XHRcdGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge2NvbG9yOiRjaW1fYmxhY2s7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cclxuXHRcdFx0aW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjokY2ltX2JsYWNrO31cclxuXHRcdFx0aW5wdXRbcGxhY2Vob2xkZXJdIHtjb2xvcjokY2ltX2JsYWNrOyBvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0XHR0ZXh0YXJlYTpmb2N1cywgc2VsZWN0OmZvY3VzLCBbdHlwZT0nZmlsZSddOmZvY3VzLCBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMge2JvcmRlcjowOyAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblxyXG5cdFx0XHQvKiBDaGFtcHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsICovXHJcblx0XHRcdFx0LyojZmlsdGVycyBpbnB1dCwgI2ZpbHRlcnMgc2VsZWN0LCAjZmlsdGVycyB0ZXh0YXJlYSwgI2ZpbHRlcnMgW3R5cGU9J3RleHQnXSwgI2ZpbHRlcnMgW3R5cGU9J3Bhc3N3b3JkJ10sICNmaWx0ZXJzIFt0eXBlPSdkYXRlJ10sICNmaWx0ZXJzIFt0eXBlPSdkYXRldGltZSddLCAjZmlsdGVycyBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgI2ZpbHRlcnMgW3R5cGU9J21vbnRoJ10sICNmaWx0ZXJzIFt0eXBlPSd3ZWVrJ10sICNmaWx0ZXJzIFt0eXBlPSdlbWFpbCddLCAjZmlsdGVycyBbdHlwZT0nbnVtYmVyJ10sICNmaWx0ZXJzIFt0eXBlPSdzZWFyY2gnXSwgI2ZpbHRlcnMgW3R5cGU9J3RlbCddLCAjZmlsdGVycyBbdHlwZT0ndGltZSddLCAjZmlsdGVycyBbdHlwZT0ndXJsJ10sICNmaWx0ZXJzIFt0eXBlPSdjb2xvciddIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7fSovXHJcblxyXG5cdFx0XHR0ZXh0YXJlYSwgdGV4dGFyZWFbcm93c10ge21heC13aWR0aDoxMDAlOyBtaW4td2lkdGg6MTAwJTsgaGVpZ2h0OjEwcmVtOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbiwgaGVpZ2h0IDBzO31cclxuXHRcdFx0c2VsZWN0IHthcHBlYXJhbmNlOm5vbmU7IGJhY2tncm91bmQtY29sb3I6JGlucHV0LWJhY2tncm91bmQ7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxLjhyZW0gIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOjEuOHJlbSBhdXRvOyB0ZXh0LW92ZXJmbG93OicnOyB0ZXh0LWluZGVudDowLjAxcmVtOyBtYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHRzZWxlY3Q6Oi1tcy1leHBhbmQge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdGJ1dHRvbiB7Y3Vyc29yOnBvaW50ZXI7fVxyXG5cclxuXHRcdC8qIG1pbmlhdHVyZSBmaWxlICovXHJcblx0XHRcdC5jb250ZW50X3BhZ2UgLmxpZ25lX2Zvcm0uZmlsZSAuZmlsZV9pbm5lciBpbnB1dFt0eXBlPWZpbGVdIHtoZWlnaHQ6YXV0bzsgd2lkdGg6YXV0bzt9XHJcblx0XHRcdC5jb250ZW50X3BhZ2UgLmxpZ25lX2Zvcm0uZmlsZSAuZmlsZV9pbm5lciA+ICoge2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuXHRcdFx0Lm1pbmlhdHVyZXMsIC5jb250ZW50X3BhZ2UgLm1pbmlhdHVyZXMge21hcmdpbjoxcmVtIDFyZW0gMCAwOyBtYXgtd2lkdGg6MTAwJTt9XHJcblx0XHRcdC5taW5pYXR1cmVzIGxpLCAuY29udGVudF9wYWdlIHVsLm1pbmlhdHVyZXMgbGkge2JhY2tncm91bmQtaW1hZ2U6bm9uZTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX2xpZ2h0X2dyYXk7IHBhZGRpbmc6MC41cmVtOyBkaXNwbGF5OmlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246dG9wOyBtYXJnaW46MCAxcmVtIDFyZW0gMDsgaGVpZ2h0OjE1cmVtO31cclxuXHRcdFx0Lm1pbmlhdHVyZXMgbGkgaW1nIHtvYmplY3QtZml0OmNvdmVyOyBoZWlnaHQ6MTAwJTsgd2lkdGg6YXV0bzt9XHJcblxyXG5cdFx0LyogY2hlY2tib3ggLyByYWRpbyAqL1xyXG5cdFx0XHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7dmVydGljYWwtYWxpZ246dG9wOyBwYWRkaW5nOjA7IG1hcmdpbjowLjRyZW07IGJvcmRlcjowOyB3aWR0aDphdXRvOyBiYWNrZ3JvdW5kOm5vbmU7IC13ZWJraXQtYXBwZWFyYW5jZTppbml0aWFsO31cclxuXHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3gsIC5saWduZV9mb3JtLnJhZGlvIHttYXJnaW46MDt9XHJcblx0XHRcdC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgPiAucG93ZXJtYWlsX2ZpZWxkLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvID4gLnBvd2VybWFpbF9maWVsZCB7cGFkZGluZy10b3A6MC41cmVtO31cclxuXHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3gsIC5saWduZV9mb3JtLnJhZGlvLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIC5jaGVja2JveCBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyAucmFkaW8gbGFiZWwge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3ggbGFiZWwsIC5saWduZV9mb3JtLnJhZGlvIGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIC5jaGVja2JveCBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyAucmFkaW8gbGFiZWwge3BhZGRpbmc6MC4xcmVtIDAgMC4xcmVtIDNyZW07fVxyXG5cclxuXHRcdFx0LmlyYWRpbywgLmljaGVja2JveCB7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowLjZyZW07fVxyXG5cdFx0XHQuaXJhZGlvIHtsZWZ0OjAuMXJlbTsgYm9yZGVyLXJhZGl1czo1MCU7fVxyXG5cdFx0XHQuaWNoZWNrYm94IHtsZWZ0OjA7fVxyXG5cclxuXHRcdFx0KjppcyguaWNoZWNrYm94X21pbmltYWwsIC5pcmFkaW9fbWluaW1hbCkge2JhY2tncm91bmQtc2l6ZToxOS44cmVtIDEuOHJlbTsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O31cclxuXHRcdFx0KjppcyguaWNoZWNrYm94X21pbmltYWwsIC5pcmFkaW9fbWluaW1hbCk6aXMoLmhvdmVyLCAuZm9jdXMpIHt9XHJcblxyXG5cdFx0LyogcmFuZ2UgKi9cclxuXHRcdFx0LnNsaWRlciAuc2xpZGVyLWhhbmRsZVthcmlhLWNvbnRyb2xzPVwic2xpZGVyT3V0cHV0MlwiXSB7bGVmdDoyMCU7fVxyXG5cdFx0XHQuc2xpZGVyLWhhbmRsZSB7d2lkdGg6MmVtOyBoZWlnaHQ6MnJlbTsgYm9yZGVyLXJhZGl1czoycmVtO31cclxuXHRcdFx0LnNsaWRlci1oYW5kbGUgaW5wdXQge3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MTAwJTsgbGVmdDotNTAlOyB3aWR0aDphdXRvOyBoZWlnaHQ6M3JlbTsgcGFkZGluZzowLjVyZW0gMCAwIDA7IGJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBvdmVyZmxvdzpoaWRkZW47IGJvcmRlcjowOyBib3JkZXItcmFkaXVzOjA7fVxyXG5cdFx0XHQuc2xpZGVyLWhhbmRsZSBzcGFuIHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjEwMCU7IHJpZ2h0Oi02MCU7IHBhZGRpbmc6MC44cmVtIDAgMCAwLjVyZW07IGZvbnQtc2l6ZToxLjJlbTsgbGluZS1oZWlnaHQ6MS41O31cclxuXHRcdFx0LnNsaWRlciB7fVxyXG5cdFx0XHQuc2xpZGVyLWZpbGwge2JhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0LnNsaWRlci1oYW5kbGUge2JhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgYm9yZGVyOjAuMnJlbSBzb2xpZCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHQuc2xpZGVyLWhhbmRsZTpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cclxuXHRcdC8qIHN1Ym1pdCAqL1xyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc3VibWl0OjphZnRlciB7Y29udGVudDpcIlwiOyBjbGVhcjpib3RoOyBkaXNwbGF5OmJsb2NrO31cclxuXHRcdFx0ZGl2LmJ0bl9zdWJtaXQge21hcmdpbjowOyBwYWRkaW5nOjEuNXJlbSAwIDAgMDt9XHJcblx0XHRcdGlucHV0OmlzKFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSksIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge0BpbmNsdWRlIGJ1dHRvbigpOyBwb3NpdGlvbjpyZWxhdGl2ZTsgd2lkdGg6YXV0bzsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUgIWltcG9ydGFudDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247IGJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7fVxyXG5cdFx0XHRpbnB1dDppcyhbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0pOmlzKDpob3ZlciwgOmZvY3VzKSwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTppcyg6aG92ZXIsIDpmb2N1cykge2NvbG9yOiRjaW1fd2hpdGU7IGJhY2tncm91bmQtY29sb3I6ICRjaW1fYmxhY2s7fVxyXG5cclxuXHRcdFx0XHQvKiBDaGFtcHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsIDogKi9cclxuXHRcdFx0XHRcdC8vICNmaWx0ZXJzIGlucHV0OmlzKFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSkge31cclxuXHRcdFx0XHRcdC8vICNmaWx0ZXJzIGlucHV0OmlzKFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSk6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblxyXG5cdFx0LyogQ29tYm9ib3ggKi9cclxuXHRcdFx0LmN1c3RvbS1jb21ib2JveCB7ZGlzcGxheTpibG9jazsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtaW5wdXQge3BhZGRpbmc6MC43cmVtIDFyZW0gMC43cmVtIDA7IHdpZHRoOjEwMCU7IGZvbnQtc2l6ZTokZ2xvYmFsLXRleHQtZm9udC1zaXplOyBsaW5lLWhlaWdodDokZ2xvYmFsLWxpbmVoZWlnaHQ7IGNvbG9yOiRjaW1fZGFya19ncmF5O31cclxuXHRcdFx0LmN1c3RvbS1jb21ib2JveCAuY3VzdG9tLWNvbWJvYm94LWlucHV0OmZvY3VzIHtvdXRsaW5lOm5vbmU7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtdG9nZ2xlIHt3aWR0aDo1cmVtOyBoZWlnaHQ6Y2FsYygxMDAlIC0gMC4ycmVtKTsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7IC1tb3otYXBwZWFyYW5jZTpub25lOyBhcHBlYXJhbmNlOm5vbmU7IGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxLjhyZW0gY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6MS44cmVtIGF1dG87IHRleHQtb3ZlcmZsb3c6Jyc7IHRleHQtaW5kZW50OjAuMDFyZW07IHBvc2l0aW9uOmFic29sdXRlOyByaWdodDowLjFyZW07IHRvcDowLjFyZW07IGJveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7fVxyXG5cclxuXHRcdFx0LmN1c3RvbS1jb21ib2JveC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94LWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtjb2xvcjokY2ltX2RhcmtfZ3JheTt9XHJcblx0XHRcdC5jdXN0b20tY29tYm9ib3gtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94LWlucHV0W3BsYWNlaG9sZGVyXSB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIHt6LWluZGV4OjEwMDU7IG1heC13aWR0aDpjYWxjKCN7JHJldmVhbC1tYXgtd2lkdGh9IC0gMTNyZW0pICFpbXBvcnRhbnQ7IG1heC13aWR0aDozM3JlbSAhaW1wb3J0YW50OyB3aWR0aDozMHZ3ICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHQudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtib3JkZXI6MDsgY2xpcDpyZWN0KDAgMCAwIDApOyBoZWlnaHQ6MXB4OyBtYXJnaW46LTFweDsgb3ZlcmZsb3c6aGlkZGVuOyBwYWRkaW5nOjA7IHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDoxcHg7fVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIGxpIHtmb250LXNpemU6MS42cmVtOyBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7IGJvcmRlci10b3A6MDsgfVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIGxpIGRpdiB7Y3Vyc29yOnBvaW50ZXI7IHBhZGRpbmc6MC41cmVtIDFyZW07fVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIGxpOm50aC1jaGlsZChldmVuKSB7YmFja2dyb3VuZC1jb2xvcjokaW5wdXQtYmFja2dyb3VuZDt9XHJcblx0XHRcdC51aS1hdXRvY29tcGxldGUgbGk6bnRoLWNoaWxkKG9kZCkge2JhY2tncm91bmQtY29sb3I6bGlnaHRlbigkY2ltX2xpZ2h0X2dyYXksIDUlKTt9XHJcblx0XHRcdC51aS1hdXRvY29tcGxldGUgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLCAudWktYXV0b2NvbXBsZXRlIGEudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7YmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXk7fVxyXG5cclxuXHRcdFx0LnVpLXRvb2x0aXAge3BhZGRpbmc6MXJlbTsgcG9zaXRpb246YWJzb2x1dGU7IHotaW5kZXg6OTk5OTsgbWF4LXdpZHRoOjMwcmVtOyBib3gtc2hhZG93OjAgMCAwLjVyZW0gcmdiYSgkY2ltX2JsYWNrLCAwLjEpOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJvcmRlci1yYWRpdXM6MDsgZm9udC1zaXplOjEuMnJlbTt9XHJcblx0XHRcdGJvZHkgLnVpLXRvb2x0aXAge2JvcmRlci13aWR0aDoycHg7fVxyXG5cclxuXHRcdC8qIFBhc3N3b3JkICovXHJcblx0XHRcdC52aWV3X3Bhc3N3b3JkIHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IHJpZ2h0OjA7IHdpZHRoOjIuNXJlbTsgaGVpZ2h0OjIuNXJlbTsgYmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXkgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyAyLjVyZW0gYXV0bzsgQGluY2x1ZGUgYnRuX3ZvaXJfbWRwKCRjaW1fYmxhY2spOyB0ZXh0LWluZGVudDotOTk5OXJlbTsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQtc2l6ZToxLjVyZW0gYXV0bzsgb3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdFx0LnZpZXdfcGFzc3dvcmQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBidG5fdm9pcl9tZHAoJGNpbV93aGl0ZSk7IGJhY2tncm91bmQtY29sb3I6JGNpbV9ibGFjazt9XHJcblxyXG5cclxuXHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqIEFOSU1BVEUgTEFCRUwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC5saWduZV9mb3JtLmZvY3VzaW4gdGV4dGFyZWEsIC5saWduZV9mb3JtLmZvY3VzaW4gc2VsZWN0LCAubGlnbmVfZm9ybS5mb2N1c2luIGlucHV0LFxyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHRhcmVhLmZvY3VzaW4gdGV4dGFyZWEgLC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfaW5wdXQuZm9jdXNpbiBpbnB1dCwgLnBvd2VybWFpbF9maWVsZHdyYXBfZGF0ZS5mb2N1c2luIGlucHV0LFxyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcF90ZXh0YXJlYS5mb2N1c2luIHRleHRhcmVhICwgLnBvd2VybWFpbF9maWVsZHdyYXBfaW5wdXQuZm9jdXNpbiBpbnB1dFxyXG5cdFx0XHR7b3V0bGluZTpub25lOyBib3JkZXItd2lkdGg6MC4xcmVtOyBib3JkZXItc3R5bGU6c29saWQ7IC8qYm94LXNoYWRvdzowIDAgMCAwLjJyZW0gdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyovIHRyYW5zaXRpb246Ym94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7fVxyXG5cclxuXHRcdC8qIGNoYW1wcyBvYmxpZ2F0b2lyZXMgKi9cclxuXHRcdFx0Lm1hbmRhdG9yeSwgLmZlbWFuYWdlcl9uZXcgLmNvbnRyb2wtbGFiZWwgc3BhbiB7dGV4dC10cmFuc2Zvcm06bm9uZTsgY29sb3I6JGZvcm0tbGFiZWwtY29sb3I7IGZvbnQtZmFtaWx5OiRyZWd1bGFyOyBmb250LXNpemU6MS4ycmVtOyBwYWRkaW5nOjAgMC44cmVtO31cclxuXHJcblx0XHQvKiBjaGFtcHMgZGVzYWN0aXZlcyAqL1xyXG5cdFx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSB7YmFja2dyb3VuZDojY2FjYWNhICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXVtkaXNhYmxlZF0ge2JhY2tncm91bmQ6I2NhY2FjYSAhaW1wb3J0YW50O31cclxuXHJcblx0XHQuaW5wdXQtZ3JvdXAge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHQuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge2JvcmRlci1yYWRpdXM6MDt9XHJcblx0XHQuaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1sYWJlbCA+IDpmaXJzdC1jaGlsZCB7Ym9yZGVyLXJhZGl1czowOyBib3JkZXI6MDsgYmFja2dyb3VuZC1jb2xvcjokY2ltX2xpZ2h0X2dyYXk7IGhlaWdodDo0cmVtOyB3aGl0ZS1zcGFjZTppbml0aWFsO31cclxuXHJcblx0XHQvKiBtZXNzYWdlIGQnZXJyZXVyICovXHJcblx0XHRcdC8qIGVycmV1cnMgKi9cclxuXHRcdFx0XHQucGFyc2xleS1lcnJvcnMtbGlzdCB7cGFkZGluZzowICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdC5wYXJzbGV5LXJlcXVpcmVkLCAucGFyc2xleS1jdXN0b20tZXJyb3ItbWVzc2FnZSB7Y29sb3I6bWFwLWRlZXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhaW1wb3J0YW50OyBmb250LXNpemU6MS40cmVtICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50OyBtYXJnaW46MXJlbSAwIDAgMCAhaW1wb3J0YW50OyBwYWRkaW5nOjAgMCAwIDAuNXJlbSAhaW1wb3J0YW50OyBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4yOyBib3JkZXItbGVmdDowLjJyZW0gc29saWQgbWFwLWRlZXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDt9XHJcblx0XHRcdFx0LnBhcnNsZXktcmVxdWlyZWQ6bm90KDpmaXJzdC1jaGlsZCksIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlOm5vdCg6Zmlyc3QtY2hpbGQpIHttYXJnaW4tdG9wOjAuNXJlbSAhaW1wb3J0YW50O31cclxuXHRcdFx0XHQucGFyc2xleS1yZXF1aXJlZDo6YmVmb3JlLCAucGFyc2xleS1jdXN0b20tZXJyb3ItbWVzc2FnZTo6YmVmb3JlIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblx0XHRcdFx0LmNoZWNrYm94X2Fic29sdXRlIC5saWduZV9mb3JtLmNoZWNrYm94IC5wYXJzbGV5LWVycm9ycy1saXN0LmZpbGxlZCB7cG9zaXRpb246YWJzb2x1dGU7IHRvcDotMy41cmVtO31cclxuXHRcdFx0LyogTWVzc2FnZSBlcnJvciAqL1xyXG5cdFx0XHRcdGZvcm0gLmVycm9yIHttYXJnaW46MnJlbSAwO31cclxuXHRcdFx0XHRmb3JtIC5lcnJvciBwIHtjb2xvcjptYXAtZGVlcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpOyBtYXJnaW4tYm90dG9tOjA7fVxyXG5cclxuXHRcdFx0LmNvbnRlbnRfcGFnZSAucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3Ige3BhZGRpbmc6MDsgbWFyZ2luLWJvdHRvbToyLjVyZW07fVxyXG5cdFx0XHQuY29udGVudF9wYWdlIC5wb3dlcm1haWxfbWVzc2FnZV9lcnJvciBsaSB7cGFkZGluZzowOyBsaXN0LXN0eWxlLWltYWdlOm5vbmU7IGNvbG9yOm1hcC1kZWVwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7fVxyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkX2Vycm9yIHtib3gtc2hhZG93OjAgMCAwLjJyZW0gbWFwLWRlZXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTsgYm9yZGVyOjAuMXJlbSBzb2xpZCBtYXAtZGVlcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO31cclxuXHRcdFx0LnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpIHtwYWRkaW5nLWxlZnQ6MXJlbSAhaW1wb3J0YW50OyBmb250LWZhbWlseTokYm9sZDsgbGluZS1oZWlnaHQ6MS44ZW07fVxyXG5cdFx0XHQucG93ZXJtYWlsX21lc3NhZ2UucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3IgbGk6OmJlZm9yZSwgLnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpOjphZnRlciB7Ym9yZGVyLWNvbG9yOm1hcC1kZWVwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0LyogbXNnIHZhbGlkYXRpb24gcmVjZXB0aW9uIC8gcGFnZSB2YWxpZGF0aW9uIGluZm9zICovXHJcblx0XHRcdC5wb3dlcm1haWxfY3JlYXRlLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiB7YmFja2dyb3VuZDpub25lOyBwYWRkaW5nOjIuNXJlbSAwO31cclxuXHRcdFx0LnBvd2VybWFpbF9jb25maXJtYXRpb24gZm9ybSB7cGFkZGluZzowOyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBtYXgtd2lkdGg6MTAwJTsgbWFyZ2luOjA7fVxyXG5cdFx0XHQucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9mb3JtLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9zdWJtaXQge2hlaWdodDphdXRvOyBtYXJnaW46MnJlbSAwIDAgMDt9XHJcblx0XHRcdC5wb3dlcm1haWxfY29uZmlybWF0aW9uIC5wb3dlcm1haWxfY29uZmlybWF0aW9uX2Zvcm0ge2Zsb2F0OmxlZnQ7fVxyXG5cclxuXHRcdC8qIHBhZ2UgZGUgY29uZmlybWF0aW9uICovXHJcblx0XHRcdCNwYWdlIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGg0IHtmb250LWZhbWlseTokYm9sZCAhaW1wb3J0YW50O31cclxuXHRcdFx0ZGwucG93ZXJtYWlsX2FsbCB7bWFyZ2luOjAgMCAycmVtIDA7IGZvbnQtc2l6ZToxLjZlbTsgbGluZS1oZWlnaHQ6MS40ZW07fVxyXG5cdFx0XHRkbC5wb3dlcm1haWxfYWxsIGR0IHttYXJnaW46MCAxLjVyZW0gMS41cmVtIDA7IGZsb2F0OmxlZnQ7IGNsZWFyOmxlZnQ7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgZm9udC1mYW1pbHk6JGJvbGQgIWltcG9ydGFudDt9XHJcblx0XHRcdGRsLnBvd2VybWFpbF9hbGwgZGQge21hcmdpbjowIDAgMS41cmVtIDA7IGZsb2F0OmxlZnQ7IHdpZHRoOmF1dG87fVxyXG5cclxuXHRcdFx0LyogQ2hhbXBzIHN1aXZhbnQgKi9cclxuXHRcdFx0XHQucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnBvd2VybWFpbF9jb25maXJtYXRpb25fZm9ybSB7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdFx0LnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5wb3dlcm1haWxfY29uZmlybWF0aW9uX3N1Ym1pdCB7ZmxvYXQ6cmlnaHQ7fVxyXG5cclxuXHRcdFx0ZGl2LnR4X3Bvd2VybWFpbF9waTFfZmllbGR3cmFwX2h0bWxfY2hlY2sgbGFiZWwge3dpZHRoOjIuNXJlbTsgbWFyZ2luLXRvcDowLjJyZW07fVxyXG5cdFx0XHQudHhfcG93ZXJtYWlsX3BpMV9maWVsZHdyYXBfaHRtbF9jaGVjayBpbnB1dCB7d2lkdGg6Mi41cmVtOyBtYXJnaW4tdG9wOjAuNXJlbTt9XHJcblx0XHRcdC50eF9wb3dlcm1haWxfcGkxX2ZpZWxkd3JhcF9odG1sX3N1Ym1pdGdyYXBoaWMge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0LnR4X3Bvd2VybWFpbF9waTFfZmllbGR3cmFwX2h0bWxfc3VibWl0Z3JhcGhpYyBpbnB1dCB7ZmxvYXQ6bm9uZTsgd2lkdGg6OS44cmVtOyBib3JkZXI6MDt9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFURSBQSUNLRVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRib2R5IC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUge2JvcmRlci1yYWRpdXM6MDsgcGFkZGluZzoxcmVtO31cclxuXHRcdGJvZHkgLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB0YWJsZSB0aGVhZCwgYm9keSAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRhYmxlIHRib2R5LCBib2R5IC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGFibGUgdGZvb3Qge2JvcmRlcjowO31cclxuXHRcdGJvZHkgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUsIGJvZHkgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgYm9keSAuZGF0ZXBpY2tlciB0ZC5hY3RpdmUueWVhciB7Y29sb3I6JGNpbV93aGl0ZTt9XHJcblx0XHRib2R5IC5kYXRlcGlja2VyIHRkIHNwYW4uYWN0aXZlLCBib2R5IC5kYXRlcGlja2VyIHRkLmFjdGl2ZS5kYXksIGJvZHkgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge2JhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdGJvZHkgLmRhdGVwaWNrZXIgdGQsIGJvZHkgLmRhdGVwaWNrZXIgdGgge3dpZHRoOjMuM3JlbTsgaGVpZ2h0OjMuM3JlbTsgZm9udC1zaXplOjEuNHJlbTt9XHJcblx0XHRib2R5IC5kYXRlcGlja2VyIHRoZWFkIHtjb2xvcjokY2ltX2JsYWNrO31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTU0VTIEdFTkVSSVFVRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC5yYWRpdXMge2JvcmRlci1yYWRpdXM6JGdsb2JhbC1yYWRpdXM7fVxyXG5cdFx0LnNoYWRvdyB7Ym94LXNoYWRvdzowIDAgMC44cmVtIDAgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC44KTt9XHJcblx0XHQuc2hhZG93X2luc2V0IHtib3gtc2hhZG93Omluc2V0IDAgMC4xcmVtIDAgMCB0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjkpO31cclxuXHRcdC5vdmVybGF5IHsvKiBjb3VsZXVyIGEgZGVmaW5pciAqLyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50aXplKCRjaW1fYmxhY2ssIDAuMSk7IHBvc2l0aW9uOmZpeGVkOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgdG9wOjA7IGxlZnQ6MDt9XHJcblx0XHQuc2VwaDEge2ZvbnQtc2l6ZTowLjFyZW07IGhlaWdodDowLjFyZW07IGNsZWFyOmJvdGg7fVxyXG5cdFx0LmNsZWFyIHtjbGVhcjpib3RoOyBoZWlnaHQ6MDt9XHJcblx0XHRzcGFuLmNsZWFyIHtkaXNwbGF5OmJsb2NrO31cclxuXHRcdC5kaXNwbGF5X25vbmUge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHQubGVmdCB7ZmxvYXQ6bGVmdDt9XHJcblx0XHQucmlnaHQge2Zsb2F0OnJpZ2h0O31cclxuXHRcdGJvZHkub3ZlcmZsb3cge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHQubGFyZ2UtMl81LCAubWVkaXVtLTJfNSwgLnNtYWxsLTJfNSB7LW1zLWZsZXg6MCAwIDIwJTsgZmxleDowIDAgMjAlOyBtYXgtd2lkdGg6MjAlO31cclxuXHRcdC5tYWp1IHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxyXG5cclxuXHRcdC5kZWZhdWx0X2ltZyB7YmFja2dyb3VuZDokY2ltX3doaXRlIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gNzAlIGF1dG87IEBpbmNsdWRlIGxvZ29fZmlsaWdyYW5lKCk7IG1heC13aWR0aDoxMDAlOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYXNwZWN0LXJhdGlvOmluaGVyaXQ7IGJvcmRlci1yYWRpdXM6aW5oZXJpdDsgbWluLWhlaWdodDppbmhlcml0OyAvKnBvdXIgbGVzIGRldiwgYSBzdXBwciBwZHQgcGhhc2UgaW50Ki8gbWluLWhlaWdodDphdXRvOyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwLjFyZW0gJGNpbV9saWdodF9ncmF5O31cclxuXHRcdCNwYWdlLmxpc3QgLmRlZmF1bHRfaW1nLCAjcGFnZS5jYXJ0b190cGwgLmRlZmF1bHRfaW1nIHtoZWlnaHQ6YXV0bzsgYXNwZWN0LXJhdGlvOjIxMC8yMDA7fVxyXG5cclxuXHRcdC5hZHJlc3NlLCAuaG9yYWlyZXMsIC5tYWlsLCAud2Vic2l0ZSwgLnRlbCwgLmdtYXAge3BhZGRpbmc6MCAwIDAgNC40cmVtOyBtaW4taGVpZ2h0OjMuMnJlbTsgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBuby1yZXBlYXQgbGVmdCAwIC8gMy4ycmVtIGF1dG87fVxyXG5cdFx0LmFkcmVzc2Ugc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC8qKiogQk9VVE9OIExJRU4gKioqL1xyXG5cdFx0XHQvLyAuYnRuX2xpZW4gPT4gZm9vdGVyIGVzcGFjZSBjb21tdW5lICsgamUgbSdpbnNjcmlzXHJcblx0XHRcdC5idG5fbGllbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgc21hbGwpOyBsaW5lLWhlaWdodDoxOyBtYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdFx0PiAqIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiRjaW1fd2hpdGU7IHBhZGRpbmc6MC44cmVtIDIuMnJlbTsgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IGJvcmRlci1yYWRpdXM6My42cmVtOyBib3JkZXI6MC4xcmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGJveC1zaGFkb3c6bm9uZTsgbGV0dGVyLXNwYWNpbmc6MC4xZW07fVxyXG5cdFx0XHRcdD4gKiBzcGFuIHtmb250LWZhbWlseTppbmhlcml0OyB9XHJcblx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykgPiAqIHtjb2xvcjokY2ltX2JsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJveC1zaGFkb3c6bm9uZTt9XHJcblxyXG5cdFx0XHRcdC8vIHZlcnNpb24gZm9uZCBibGFuY1xyXG5cdFx0XHRcdCYud2hpdGUge1xyXG5cdFx0XHRcdFx0PiAqIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGNvbG9yOiRjaW1fYmxhY2s7IEBpbmNsdWRlIGJ0bl9saWVuX3BpY3RvKCRjaW1fYmxhY2spOyB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO31cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBjb2xvcjokY2ltX3doaXRlO31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYmxhY2sge1xyXG5cdFx0XHRcdFx0PiAqIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7IGNvbG9yOiRjaW1fd2hpdGU7IGJvcmRlci1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge2JhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgY29sb3I6JGNpbV9ibGFjazt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyB2ZXJzaW9uIHBpY3RvIMOgIGRyb2l0ZVxyXG5cdFx0XHRcdCYucGljdG9fcmlnaHQge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTsgbGluZS1oZWlnaHQ6MTtcclxuXHRcdFx0XHRcdD4gKiB7cGFkZGluZy1yaWdodDo0LjJyZW07IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjEuNnJlbSBhdXRvOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDIuMnJlbSBjZW50ZXI7fVxyXG5cdFx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7QGluY2x1ZGUgYnRuX2xpZW5fcGljdG8oJGNpbV93aGl0ZSk7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdC8qKiogQk9VVE9OIEFMTCAqKiovXHJcblx0XHRcdC8vIC5idG5fYWxsID0+IFwidm9pciB0b3V0ZXMgbGVzIGFjdHVhbGl0w6lzXCJcclxuXHRcdFx0LmJ0bl9hbGwsIC5jb250ZW50X3BhZ2UgLmJ0bl9hbGwsXHJcblx0XHRcdC5idG5fYmFjaywgLmNvbnRlbnRfcGFnZSAuYnRuX2JhY2sge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgbGFyZ2UpOyBsaW5lLWhlaWdodDoxLjI7IG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0XHQ+ICoge2NvbG9yOiRjaW1fYmxhY2s7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgZm9udC1mYW1pbHk6JGJvbGQ7IHBhZGRpbmc6MS44cmVtIDVyZW07IGJvcmRlcjowLjJyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBkaXNwbGF5OmlubGluZS1ibG9jazsgcG9zaXRpb246cmVsYXRpdmU7IGJveC1zaGFkb3c6bm9uZTsgfVxyXG5cdFx0XHRcdD4gKiBzcGFuIHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGZvbnQtZmFtaWx5OmluaGVyaXQ7fVxyXG5cclxuXHRcdFx0XHQvLyBIb3ZlclxyXG5cdFx0XHRcdD4gYTppcyg6aG92ZXIsIDpmb2N1cykge2JveC1zaGFkb3c6bm9uZTsgY29sb3I6JGNpbV93aGl0ZTsgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdD4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7Y29sb3I6aW5oZXJpdDt9XHJcblx0XHRcdH1cclxuXHJcblx0XHQvKioqIEJPVVRPTiBBREQgKioqL1xyXG5cdFx0XHQvLyAuYnRuX2FkZCA9PiBbP11cclxuXHRcdFx0Ly8gLmJ0bl9hZGQsIC5jb250ZW50X3BhZ2UgLmJ0bl9hZGQge1xyXG5cdFx0XHQvLyBcdGZvbnQtc2l6ZToxLjllbTsgbGluZS1oZWlnaHQ6MS4yOyBtYXJnaW4tYm90dG9tOjA7XHJcblxyXG5cdFx0XHQvLyBcdGEge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6JGNpbV9kYXJrX2dyYXk7IGZvbnQtZmFtaWx5OiRib2xkOyBwYWRkaW5nLWxlZnQ6N3JlbTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0Ly8gXHRhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7Zm9udC1zaXplOjNlbTt9XHJcblxyXG5cdFx0XHQvLyBcdHNwYW4ge2Rpc3BsYXk6YmxvY2s7IGZvbnQtZmFtaWx5OmluaGVyaXQ7fVxyXG5cdFx0XHQvLyBcdHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHt3aWR0aDo0LjVyZW07IGhlaWdodDo0LjVyZW07IGJhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBmb250LXNpemU6MmVtOyBsaW5lLWhlaWdodDo0LjVyZW07IHRleHQtYWxpZ246Y2VudGVyOyBkaXNwbGF5OmlubGluZS1ibG9jazsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgdG9wOjA7fVxyXG5cdFx0XHQvLyBcdHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdOjpiZWZvcmUge2NvbnRlbnQ6JysnOyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDowOyB0b3A6NTAlOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgY29sb3I6JGNpbV93aGl0ZTsgZm9udC1mYW1pbHk6JHJlZ3VsYXI7IGZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjQuNXJlbTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IHRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0XHQvLyB9XHJcblxyXG5cdFx0LyoqKiBCT1VUT04gVFhUICoqKi9cclxuXHRcdFx0Ly8gLmJ0bl90eHQgPT4gXCJ2b2lyIHBsdXNcIiBkYW5zIGwnYWxlcnRlXHJcblx0XHRcdC5idG5fdHh0LCAuY29udGVudF9wYWdlIC5idG5fdHh0IHtcclxuXHRcdFx0XHRmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRidXR0b24tc2l6ZXMsIHNtYWxsKTsgbGluZS1oZWlnaHQ6MS4yOyBtYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdFx0PiAqIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiRjaW1fYmxhY2s7IGZvbnQtZmFtaWx5OiRib2xkOyBib3gtc2hhZG93Om5vbmU7IHRyYW5zaXRpb246aW5oZXJpdDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG5cdFx0XHRcdD4gKiBzcGFuIHtmb250LWZhbWlseTppbmhlcml0O31cclxuXHJcblx0XHRcdFx0Ly8gSG92ZXJcclxuXHRcdFx0XHQ+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtib3gtc2hhZG93Om5vbmU7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRcdFx0PiBhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuIHtjb2xvcjppbmhlcml0O31cclxuXHRcdFx0fVxyXG5cclxuXHRcdC8qKiogQk9VVE9OIENBTEwgVE8gQUNUSU9OICoqKi9cclxuXHRcdFx0LmNhbGxfdG9fYWN0aW9uX2NvbnRhaW5lciB7bWFyZ2luOjNyZW0gMDt9XHJcblxyXG5cdFx0LyoqKiBCT1VUT04gUkVUT1VSICoqKi9cclxuXHRcdFx0Ly8gLmJ0bl9iYWNrID0+IFwicmV0b3VyXCIgZGFucyBwYWdlL3BvcGluIGTDqXRhaWxcclxuXHRcdFx0LmJ0bl9iYWNrX2NvbnRhaW5lciB7bWFyZ2luLWJvdHRvbTo2cmVtO31cclxuXHRcdFx0LmJ0bl9iYWNrLCAuY29udGVudF9wYWdlIC5idG5fYmFjayB7XHJcblx0XHRcdFx0Ly8gc3BhbiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7fVxyXG5cdFx0XHRcdHNwYW46YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmlubGluZS1ibG9jazsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyB3aWR0aDoxcmVtOyBoZWlnaHQ6MC44cmVtOyB0b3A6Y2FsYyg1MCUgLSAwLjJyZW0pOyBtYXJnaW4tcmlnaHQ6MS41cmVtOyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7fVxyXG5cclxuXHRcdFx0XHQvLyBIb3ZlclxyXG5cdFx0XHRcdC8vID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXHJcblx0XHRcdC5idXR0b24ge0BpbmNsdWRlIGJ1dHRvbl91cHBlcmNhc2U7fVxyXG5cdFx0XHQuYnV0dG9uIHNwYW4ge2ZvbnQtZmFtaWx5OmluaGVyaXQ7IHRyYW5zaXRpb246bm9uZTt9XHJcblx0XHRcdC5idXR0b246aXMoOmhvdmVyLCA6Zm9jdXMpIHtjb2xvcjokY2ltX3doaXRlO31cclxuXHJcblx0XHQvKioqIEJBTElTRVMgPHA+IENPTU1FIFVOIEJVVFRPTiAqKiovXHJcblx0XHRcdC5idXR0b25fbGlrZSwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2Uge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7IGxpbmUtaGVpZ2h0OiRnbG9iYWwtbGluZWhlaWdodDsgbWFyZ2luOiRidXR0b24tbWFyZ2luOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0PiAqIHsgQGluY2x1ZGUgYnV0dG9uOyBib3gtc2hhZG93Om5vbmU7IGJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7IHRyYW5zaXRpb246aW5oZXJpdDt9XHJcblx0XHRcdFx0PiAqIHNwYW4ge2ZvbnQtZmFtaWx5OmluaGVyaXQ7IH1cclxuXHRcdFx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSwgJjppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7Y29sb3I6JGNpbV93aGl0ZTsgLypiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyBib3JkZXItY29sb3I6JGNpbV9ibGFjazsqLyBib3gtc2hhZG93Om5vbmU7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBCT1VUT05TIERPQ1VNRU5UUyAqKiovXHJcbiAgICAgICAgICAgIC5idG5fa2lvc3F1ZSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUsIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOm1hcC1kZWVwLWdldCgkYnV0dG9uLXNpemVzLCBsYXJnZSk7IGxpbmUtaGVpZ2h0OjEuMjsgbWFyZ2luLWJvdHRvbTouNXJlbTsgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge21hcmdpbi1yaWdodDozcmVtO31cclxuICAgICAgICAgICAgICAgIGEge2NvbG9yOiRjaW1fYmxhY2s7IGZvbnQtZmFtaWx5OiRib2xkOyBmb250LXNpemU6MWVtOyBsaW5lLWhlaWdodDoxOyBwYWRkaW5nOjA7IGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IGJvcmRlcjowOyBkaXNwbGF5OmlubGluZS1ibG9jazsgYm94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7IHRyYW5zaXRpb246aW5oZXJpdDt9XHJcblxyXG4gICAgICAgICAgICAgICAgYTo6YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB3aWR0aDozLjRyZW07IGhlaWdodDozLjRyZW07IG1hcmdpbi1yaWdodDowLjhyZW07IGJhY2tncm91bmQ6JGNpbV93aGl0ZSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDEuOHJlbSBhdXRvOyBib3JkZXItcmFkaXVzOjUwJTsgYm9yZGVyOiAwLjFyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHJcbiAgICAgICAgICAgICAgICAmLnRlbGVjaGFyZ2VyIGE6OmJlZm9yZSB7QGluY2x1ZGUgdGVsZWNoYXJnZXIoJGNpbV93aGl0ZSk7fVxyXG4gICAgICAgICAgICAgICAgJi5mZXVpbGxldGVyIGE6OmJlZm9yZSB7QGluY2x1ZGUgZmV1aWxsZXRlcigkY2ltX3doaXRlKTt9XHJcblxyXG4gICAgICAgICAgICAgICAgJi50ZWxlY2hhcmdlciBhOmlzKDpob3ZlciwgOmZvY3VzKTo6YmVmb3JlIHtAaW5jbHVkZSB0ZWxlY2hhcmdlcigkY2ltX3ByaW1hcnlfY29sb3IpO31cclxuICAgICAgICAgICAgICAgICYuZmV1aWxsZXRlciBhOmlzKDpob3ZlciwgOmZvY3VzKTo6YmVmb3JlIHtAaW5jbHVkZSBmZXVpbGxldGVyKCRjaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cclxuICAgICAgICAgICAgICAgIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtjb2xvcjokY2ltX2JsYWNrICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6bm9uZTt9XHJcbiAgICAgICAgICAgICAgICBhOmlzKDpob3ZlciwgOmZvY3VzKTo6YmVmb3JlIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcbiAgICAgICAgICAgIH1cclxuXHJcblx0XHQvKioqIEJPVVRPTlMgQ0xPU0UgKioqL1xyXG5cdFx0XHQvKioqIEJUTiBDTE9TRSAodmVyc2lvbiBwZXRpdGUgY3JvaXggXCJYXCIgc2FucyBmb25kKSAqKiovXHJcblx0XHRcdFx0LmJ0bl9jbG9zZSB7XHJcblx0XHRcdFx0XHR3aWR0aDozLjVyZW07IGhlaWdodDozLjVyZW07IGJvcmRlcjowOyBib3JkZXItcmFkaXVzOjUwJTsgei1pbmRleDo1OyBwb3NpdGlvbjphYnNvbHV0ZTsgcmlnaHQ6MDsgdG9wOjA7IG91dGxpbmU6bm9uZTsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZToyLjZyZW0gYXV0bzsgYm9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2JsYWNrO1xyXG5cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgQGluY2x1ZGUgYnRuX2Nsb3NlKCRjaW1fd2hpdGUpO31cclxuXHRcdFx0XHRcdHNwYW4ge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0LyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAqKiovXHJcblx0XHRcdFx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHR3aWR0aDo1LjJyZW07IGhlaWdodDo1LjJyZW07IGJvcmRlcjowOyBib3JkZXItcmFkaXVzOjUwJTsgei1pbmRleDo1OyBwb3NpdGlvbjphYnNvbHV0ZTsgcmlnaHQ6MDsgdG9wOjA7IG91dGxpbmU6bm9uZTsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZToyLjZyZW0gYXV0bzsgYm9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2JsYWNrO1xyXG5cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgQGluY2x1ZGUgYnRuX2Nsb3NlKCRjaW1fd2hpdGUpO2JvcmRlci1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdFx0c3BhbiB7ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluKSAqKiovXHJcblx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcclxuXHJcblx0XHRcdFx0XHQvLyAmOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cdFx0XHRcdFx0c3BhbiB7ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluIGZ1bGxzY3JlZW4pICoqKi9cclxuXHRcdFx0XHQucmV2ZWFsLmZ1bGwgLmNsb3NlLWJ1dHRvbiwgLnNlYXJjaF9hcmVhX2NvbnQuaXNfc2VhcmNoIC5jbG9zZS1idXR0b24ge1xyXG5cdFx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykge31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvKioqIENMT1NFIEJVVFRPTiBBRFZBTkNFRCAoXCJGRVJNRVIgKyBjcm9peFwiIG91IFwiVEVYVEUgKyBjcm9peFwiKSAqKiovXHJcblx0XHRcdFx0LmNsb3NlLWFkdmFuY2VkIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6MC44cmVtO1xyXG5cclxuXHRcdFx0XHRcdC50aXRsZSB7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IGZvbnQtZmFtaWx5OiRib2xkOyBsaW5lLWhlaWdodDoxZW07IHRleHQtYWxpZ246bGVmdDsgcGFkZGluZy1ib3R0b206MXJlbTsgcG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7IHdvcmQtYnJlYWs6YnJlYWstd29yZDsgbWFyZ2luLWJvdHRvbToxcmVtO31cclxuXHRcdFx0XHRcdC50aXRsZTo6YWZ0ZXIge2NvbnRlbnQ6Jyc7IHdpZHRoOjAuOHJlbTsgaGVpZ2h0OjAuMnJlbTsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgYm90dG9tOjA7IGJhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHJcblx0XHRcdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IHdpZHRoOjIuNXJlbTsgaGVpZ2h0OjIuNXJlbTsgbWFyZ2luOjAgYXV0bzsgZGlzcGxheTpibG9jazsgcG9zaXRpb246cmVsYXRpdmU7IGxlZnQ6aW5pdGlhbDsgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgdHJhbnNmb3JtOm5vbmU7IHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwcyBsaW5lYXIgLjEzczsgdHJhbnNpdGlvbi1kZWxheTouMjJzO1xyXG5cclxuXHRcdFx0XHRcdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7Y29udGVudDpcIlwiOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoyLjhyZW07IGhlaWdodDowLjJyZW07IGJhY2tncm91bmQtY29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt9XHJcblx0XHRcdFx0XHRcdCY6OmJlZm9yZSB7dHJhbnNpdGlvbjp0b3AgLjFzIGN1YmljLWJlemllciguMzMzMzMsMCwuNjY2NjcsLjMzMzMzKSAuMTVzLHRyYW5zZm9ybSAuMTNzIGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpIC4yMnM7IHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLDFyZW0sMCkgcm90YXRlKDQ1ZGVnKTt9XHJcblx0XHRcdFx0XHRcdCY6OmFmdGVyIHt0cmFuc2l0aW9uOnRvcCAuMnMgY3ViaWMtYmV6aWVyKC4zMzMzMywwLC42NjY2NywuMzMzMzMpLHRyYW5zZm9ybSAuMTNzIGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpIC4yMnM7IHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLDFyZW0sMCkgcm90YXRlKC00NWRlZyk7fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBEYW5zIHBvcGluICovXHJcblx0XHRcdFx0XHQucmV2ZWFsIC5jbG9zZS1hZHZhbmNlZCB7Zm9udC1zaXplOjEuNGVtOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7fVxyXG5cdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYWR2YW5jZWQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4je1wiXCIgKyAkbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7XCJcIiArICRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZWQgICA6IHJvdW5kKGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYikpO1xuICAkZ3JlZW4gOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJncmVlblwiLCAkc3BhY2U6IHJnYikpO1xuICAkYmx1ZSAgOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJibHVlXCIsICRzcGFjZTogcmdiKSk7XG4gICRyZ2IgICA6ICdyZ2IlMjgjeyRyZWR9LCAjeyRncmVlbn0sICN7JGJsdWV9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBjb2xvci5jaGFubmVsKCRjb2xvciwgXCJsaWdodG5lc3NcIiwgJHNwYWNlOiBoc2wpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIl19 */
