@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 */
/* 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
 */
/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* LAYOUT *********************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/***
	Utiliser la syntaxe a:not(:hover):not(:focus) quand la couleur du a est différente de celle définie dans le reset
**/
/****************************************************************************************/
/******************************** STRUCTURE GENERALE ************************************/
/****************************************************************************************/
.off-canvas-wrapper {
  min-height: 100%;
}

.off-canvas-wrapper.connect {
  height: 100%;
}

.off-canvas-wrapper-inner {
  min-height: 100%;
  background: #ffffff;
}

.off-canvas-wrapper-inner.is-open-left {
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: none;
  transition: none;
}

#home, #page, #global {
  position: relative;
  min-height: 100%;
}

#home, #page {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-height: 100vh;
}

body.is-reveal-open #home, body.is-reveal-open #page, body.is-reveal-open #global {
  min-height: 100vh;
}

#main {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}

.wrap {
  margin: 0 auto;
  max-width: 144rem; /* !!!!! ---- ATTENTION ----- !!!!  width = width du wrap MAQUETTE + goutieres foundation !!!!!!!!!! */
}

.content_page {
  padding-bottom: 5rem;
}

/* fix */
/* Retirer le commentaire si on est sur le systeme de menu responsive qui s'ouvre de la gauche au dessus du contenu */
/*.is-open-left {transform:inherit; height:100%; min-height:100%;}
.off-canvas {position:fixed; z-index:2; transition:transform 0.5s ease; -webkit-backface-visibility:hidden; backface-visibility:hidden; overflow-y:hidden;}
#offCanvasLeft {background:$default_color; position:fixed; left:-30rem; top:0; width:26rem; height:100%; transform:translateX(0);}
#offCanvasLeft.is-open {left:0; visibility:visible; transition:left 0.5s ease;}
.off-canvas-content {box-shadow:none; min-height:inherit; position:relative; z-index:inherit; background:$cim_white;}
.off-canvas-content.is-open-left {overflow-x:hidden; transform:translateX(26rem);}*/
/*btn close menu smart*/
/*#btn_close_menu_smart {position:fixed; top:4.5rem; left:26rem; z-index:12; transform:translateX(0); transition:left 0.9s ease;}*/
.js-off-canvas-exit, .js-off-canvas-overlay {
  top: 0 !important;
  background: rgba(0, 0, 0, 0.5);
}

/****************************************************************************************/
/************************************** HEADER ******************************************/
/****************************************************************************************/
#header {
  height: 0.00001rem !important;
  width: 100%;
  max-width: 100%;
  z-index: 5;
  position: relative;
}

/*#page:not(:is(.detail, .carto_tpl)) #header {max-height:0.0001rem;}*/
#data-sticky-header {
  width: 100%;
  max-width: 100% !important;
  height: 10rem;
  background: #ffffff; /*backdrop-filter:blur(0.2rem);*/
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  left: 0; /*padding-right:1.5rem;*/ /*backdrop-filter:blur(0.8rem);*/ /*border-bottom:0.6rem solid var(--cim_primary_color);*/
  -webkit-box-shadow: inset 0rem -0.6rem 0 0 var(--cim_primary_color);
          box-shadow: inset 0rem -0.6rem 0 0 var(--cim_primary_color);
}

#data-sticky-header > *, #menu_right {
  height: 100%;
}

#menu_right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row nowrap;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
}

/* Sticky */
#data-sticky-header.is-anchored {
  position: fixed;
}

/* Home */
#home #data-sticky-header.is-anchored .loupe_container {
  display: none;
  -webkit-transition: padding 0.3s ease-in-out;
  transition: padding 0.3s ease-in-out;
}

#home #data-sticky-header.is-stuck .loupe_container {
  -webkit-transition: padding 0.3s ease-in-out;
  transition: padding 0.3s ease-in-out;
}

/*** ACCESSIBILITE ***/
#accessi {
  position: fixed;
  z-index: 9999999;
}

#accessi ul {
  margin: 0;
  padding: 0;
}

#accessi ul li {
  display: inline;
  font-size: inherit;
  line-height: inherit;
}

#accessi ul li a, #accessi ul li button {
  text-indent: -99999em;
  text-transform: uppercase;
  color: #ffffff;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.2em;
  line-height: normal;
  display: inline-block;
  padding: 0 0.5rem;
  background: #000000;
}

#accessi ul li a, #accessi ul li a:hover, #accessi ul li a:focus, #accessi ul li button, #accessi ul li button:hover, #accessi ul li button:focus {
  -webkit-transition: none;
  transition: none;
}

#accessi ul li a:focus, #accessi ul li button:focus {
  text-indent: 0;
  padding: 0.5rem;
}

#anchor_skip_link {
  -webkit-transform: translateY(-10rem);
      -ms-transform: translateY(-10rem);
          transform: translateY(-10rem);
}

/*** LOGO ***/
#logo h1, #logo p {
  font-size: initial;
  line-height: normal;
  margin: 0;
  display: inline-block;
  height: 100%;
}

#logo a {
  display: block;
  height: 100%;
}

#logo svg, #logo img {
  max-height: calc(100% - 0.6rem);
}

#logo a:hover, #logo a:focus {
  opacity: 0.7;
}

/*** TOOLS HEADER LINK ***/
#tools_header_link {
  margin: 0;
}

#tools_header_link .tools_header {
  margin: 0;
  padding: 0 1.5rem;
  overflow: hidden;
}
#tools_header_link .tools_header li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.8em;
}
#tools_header_link .tools_header li:last-child {
  padding-right: 0;
  border-right: 0;
}
#tools_header_link .tools_header li:first-child {
  padding-left: 0;
}
#tools_header_link .tools_header li > * {
  height: 10rem;
  width: 4rem;
  background-repeat: no-repeat;
  background-position: center 50%;
  background-size: auto 3rem;
  color: transparent;
  border: 0;
  margin: 0;
  display: inline-block;
  position: relative;
}
#tools_header_link .tools_header li > * > span {
  position: absolute;
  opacity: 0;
  bottom: -1.9rem;
  left: 50%;
  background-color: var(--cim_secondary_color);
  color: #000000;
  display: inline-block;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  text-transform: uppercase;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  white-space: nowrap;
  padding: 0 0.2rem;
  line-height: 1.7;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#tools_header_link .tools_header li > *:is(:hover, :focus) {
  -webkit-transform: translateY(-0.5rem);
      -ms-transform: translateY(-0.5rem);
          transform: translateY(-0.5rem);
}
#tools_header_link .tools_header li > *:is(:hover, :focus) span {
  opacity: 1;
  bottom: 0.1rem;
}

/*** BURGER BUTTON ***/
.hamburger_container {
  padding: 0 !important;
}

.hamburger {
  font: inherit;
  display: inline-block;
  overflow: hidden;
  background-color: transparent;
  border: 0;
  border-radius: 0;
  padding: 0 !important;
  margin: 0 0 0 3rem;
  width: 6rem !important;
  height: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.hamburger-box {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  text-align: center;
}

/* Barres */
.hamburger .hamburger-inner {
  display: block;
  top: 50%;
  left: 1rem;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

.hamburger .hamburger-inner, .hamburger .hamburger-inner::after, .hamburger .hamburger-inner::before {
  background: #000000;
  width: 4rem;
  height: 0.2rem;
  position: absolute;
}

.hamburger .hamburger-inner::after, .hamburger .hamburger-inner::before {
  content: "";
}

.hamburger .hamburger-inner::before {
  top: -1.2rem;
  left: 0;
  -webkit-transition: background 0.3s ease, top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: background 0.3s ease, top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: background 0.3s ease, transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
  transition: background 0.3s ease, transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

.hamburger .hamburger-inner::after {
  top: 1.2rem;
  right: 0;
  -webkit-transition: background 0.3s ease, top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: background 0.3s ease, top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: background 0.3s ease, transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
  transition: background 0.3s ease, transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

/* Titre */
.hamburger .menu_title {
  text-transform: uppercase;
  color: #000000;
  font-size: 1em;
  line-height: 1.2;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  text-align: center;
}

/* Actif */
.hamburger.is-active .menu_title {
  opacity: 0;
  -webkit-transform: translateY(1rem);
      -ms-transform: translateY(1rem);
          transform: translateY(1rem);
}

.hamburger.is-active .hamburger-inner {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  background-color: transparent !important;
}

.hamburger.is-active .hamburger-inner::before {
  left: -4rem;
  top: -4rem;
  -webkit-transform: translate3d(4rem, 4rem, 0) rotate(45deg);
          transform: translate3d(4rem, 4rem, 0) rotate(45deg);
  -webkit-transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger.is-active .hamburger-inner::after {
  right: -4rem;
  top: -4rem;
  -webkit-transform: translate3d(-4rem, 4rem, 0) rotate(-45deg);
          transform: translate3d(-4rem, 4rem, 0) rotate(-45deg);
  -webkit-transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after,
.hamburger:is(:hover, :focus) .hamburger-inner::after, .hamburger:is(:hover, :focus) .hamburger-inner::before,
.hamburger:is(:hover, :focus) .hamburger-inner {
  background-color: var(--cim_primary_color);
}

/* Hover */
.hamburger:hover .menu_title, .hamburger:focus .menu_title {
  border-color: rgba(250, 128, 114, 0.4);
}

/****************************************************************************************/
/************************************** POPINS ******************************************/
/****************************************************************************************/
/*** STYLE GENERIQUE ***/
.reveal {
  width: 80%;
  max-width: 80rem;
  padding: 9.55rem;
  border: none;
  background-color: #ffffff;
  border-radius: 0;
  outline: none;
}

.reveal.tiny {
  min-width: 60rem;
}

.reveal .close-button {
  top: 4rem;
  right: 6.2rem;
}

/* titre */
.reveal .titre_popin {
  margin-bottom: 5rem;
}

.reveal .titre_bloc, .titre_popin .titre_bloc {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 3em;
  line-height: 1;
  margin-bottom: 0;
  position: relative;
  text-align: center;
}

/* form */
.reveal form {
  width: 100%;
}

.reveal .content > form {
  padding: 0 1.5rem;
}

/*** POPIN SIDEBAR + sensation popin recherche ***/
.reveal.sidebar, .search_area_cont.is_search {
  max-width: 69.5rem;
  padding: 18.9rem 6.2rem 0 6.2rem;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  top: 0 !important;
  left: auto !important;
  right: 0;
  position: fixed;
  background-color: var(--cim_primary_color);
  -webkit-backdrop-filter: blur(0.5rem) brightness(0) opacity(0.95);
          backdrop-filter: blur(0.5rem) brightness(0) opacity(0.95);
  z-index: 5;
  overflow: auto;
}
.reveal.sidebar .close-button, .search_area_cont.is_search .close-button {
  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: #ffffff;
}
.reveal.sidebar .wrap_popin, .search_area_cont.is_search .wrap_popin {
  max-height: 100%;
}
.reveal.sidebar .btn_all, .search_area_cont.is_search .btn_all {
  color: #000000;
}
.reveal.sidebar *:not(.btn_all, .btn_all *), .reveal.sidebar .titre_popin .titre_bloc, .reveal.sidebar legend.titre_bloc, .search_area_cont.is_search *:not(.btn_all, .btn_all *), .search_area_cont.is_search .titre_popin .titre_bloc, .search_area_cont.is_search legend.titre_bloc {
  color: #ffffff;
}
.reveal.sidebar .titre_bloc, .search_area_cont.is_search .titre_bloc {
  font-size: 2.4em;
  text-align: left;
  color: #ffffff;
}
.reveal.sidebar .titre_popin, .search_area_cont.is_search .titre_popin {
  margin-bottom: 1rem;
}

body::before {
  content: "";
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  right: 0;
  z-index: 5;
  display: none;
}

/*** OVERLAY ***/
body.is-reveal-open {
  position: relative;
}

body.is-reveal-open::before {
  display: block;
}

.popin_lateral_overlay, body::before {
  background-color: rgba(0, 0, 0, 0.45);
  top: 0;
}

/*** POPIN FULL + popin recherche ***/
.reveal.full {
  top: 0 !important;
  left: 0 !important;
}

/* titre */
.reveal.full {
  z-index: 99999;
  padding: 18.9rem 6.2rem 3.5rem 10rem;
}

.reveal.full .wrap_popin {
  height: 100%;
}

.reveal.full .wrap_popin > .content {
  padding-bottom: 5rem;
}

/****************************************************************************************/
/******************************* POPIN MENU PRINCIPAL ***********************************/
/****************************************************************************************/
#horizontal-menu {
  z-index: 1;
  height: 100%;
  max-width: 100%;
}

#menu_principal {
  z-index: 1002;
  height: 100%;
}

/*** BTN CLOSE HORIZONTAL MENU ***/
#btn_close_horizontal_menu.close-button {
  right: 2.2rem;
  top: calc(10rem + 3rem);
  z-index: 1004;
}

/*** GENERIQUE (pour tous les niveaux du menu) ***/
#menu_principal li {
  font-size: inherit;
  line-height: inherit;
  text-align: left;
}

#menu_principal ul li a {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  color: #000000;
}

#menu_principal ul li a * {
  font-family: inherit;
  color: inherit;
}

/*** LEVEL 1 ***/
#menu_principal > ul {
  /*flex-wrap:nowrap;*/
  margin-bottom: 0;
  height: 100%;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  /* etat hover - actif */
}
#menu_principal > ul > li {
  -ms-flex: 0 1 auto;
  -webkit-box-flex: 0;
  -webkit-flex: 0 1 auto;
          flex: 0 1 auto;
  padding: 0 1.1vw;
  font-size: 1.5em;
  text-transform: uppercase;
  height: 100%;
  background-color: #ffffff;
  -webkit-box-shadow: inset 0rem -0.6rem 0 0 var(--cim_primary_color);
          box-shadow: inset 0rem -0.6rem 0 0 var(--cim_primary_color);
}
#menu_principal > ul > li:last-of-type {
  padding-right: 0;
}
#menu_principal > ul > li > a {
  padding: 0;
  position: relative;
  overflow: hidden; /*max-width:18rem;*/
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#menu_principal > ul > li > a > span {
  display: inline-block;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#menu_principal > ul > li > a > span:not(.main) {
  position: absolute;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#menu_principal > ul > li > a > span.main {
  position: relative;
  display: block;
  -webkit-box-ordinal-group: 0;
  -webkit-order: -1;
      -ms-flex-order: -1;
          order: -1;
}
#menu_principal > ul > li > a > span.main::before {
  position: absolute;
}
#menu_principal > ul > li > a > span::before {
  content: attr(data-hover); /*color:var(--cim_primary_color);*/
}
#menu_principal > ul > li > a::after {
  content: "";
  display: block;
  position: absolute;
  width: 0;
  height: 0.6rem;
  bottom: 0.6rem;
  left: 50%;
  -webkit-transform: translate(-50%, 100%);
      -ms-transform: translate(-50%, 100%);
          transform: translate(-50%, 100%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  background-color: var(--cim_secondary_color);
}
#menu_principal > ul > li.act > a::after,
#menu_principal > ul > li > a:is(:hover, :focus)::after,
#menu_principal > ul > li[aria-expanded=true] > a::after,
#menu_principal > ul > li.aria-expanded > a::after,
#menu_principal > ul > li.has-submenu-toggle:is(:hover, :focus) > a::after {
  width: 100%;
}
#menu_principal > ul > li.act > a > span.main,
#menu_principal > ul > li > a:is(:hover, :focus) > span.main,
#menu_principal > ul > li[aria-expanded=true] > a > span.main,
#menu_principal > ul > li.aria-expanded > a > span.main,
#menu_principal > ul > li.has-submenu-toggle:is(:hover, :focus) > a > span.main { /* #52875 transform:translateY(-100%); */
  -webkit-transform: translateY(-110%);
      -ms-transform: translateY(-110%);
          transform: translateY(-110%);
  color: transparent;
}
#menu_principal > ul > li.act > a > span:not(.main),
#menu_principal > ul > li > a:is(:hover, :focus) > span:not(.main),
#menu_principal > ul > li[aria-expanded=true] > a > span:not(.main),
#menu_principal > ul > li.aria-expanded > a > span:not(.main),
#menu_principal > ul > li.has-submenu-toggle:is(:hover, :focus) > a > span:not(.main) {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}

/*** LEVEL 2 ***/
#menu_principal li ul.sous_menu {
  display: none;
  width: 100%;
  max-width: 100%;
  height: 100vh;
  max-height: calc(100vh - 10rem);
  padding: 3rem 7.5rem 0rem 7.5rem;
  position: fixed;
  left: 50%;
  top: inherit;
  z-index: 10;
  overflow-y: auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  -webkit-backdrop-filter: blur(0.8rem);
          backdrop-filter: blur(0.8rem);
}

#menu_principal li ul.sous_menu.is-active {
  display: -webkit-box !important;
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

#menu_principal ul li li.level2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(25% - 3rem);
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  margin-bottom: 6rem;
  text-transform: initial;
  font-size: 1.8rem;
}
#menu_principal ul li li.level2 > a {
  margin-bottom: 2.5rem;
  padding: 0;
  margin-right: 0;
}
#menu_principal ul li li.level2 .submenu-toggle {
  display: none;
}

/* etat hover - actif */
#menu_principal ul li li.level2 > a:is(:hover, :focus),
#menu_principal ul li li.level2.act > a {
  color: var(--cim_primary_color);
}

#menu_principal > ul > li.has-submenu-toggle > a {
  margin: 0;
}

#menu_principal > ul > li.has-submenu-toggle > .submenu-toggle {
  right: 1.1vw;
  width: calc(100% - 2.2vw);
  height: 100%;
  overflow: hidden;
}

#menu_principal > ul > li.has-submenu-toggle > .submenu-toggle::after {
  display: none;
}

/*** LEVEL 3 ***/
#menu_principal ul li.level2 > .sm {
  display: block !important;
  margin: 0;
}

#menu_principal ul li ul li li.level3 {
  padding: 0.6rem 0;
  /* etat hover - actif */
}
#menu_principal ul li ul li li.level3 > a {
  font-size: 1.5rem;
  line-height: 1.3;
  padding: 0;
  position: relative;
  display: inline-block;
  color: #000000;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  padding-left: 0;
  letter-spacing: 0.05rem;
}
#menu_principal ul li ul li li.level3 > a:is(:hover, :focus),
#menu_principal ul li ul li li.level3 #menu_principal ul li ul li li.level3.act > a {
  text-decoration: underline;
}

/*** OVERLAY MENU ***/
#menu_overlay {
  width: 100vw;
  height: calc(100vh - 10rem);
  position: fixed;
  top: 10rem;
  left: 0;
  background-color: rgba(255, 255, 255, 0.96);
  -webkit-backdrop-filter: blur(0.2rem);
          backdrop-filter: blur(0.2rem);
  z-index: -1;
  display: none;
}

#header.menu_open #menu_overlay {
  display: block;
}

/****************************************************************************************/
/********************************* POPIN RECHERCHE **************************************/
/****************************************************************************************/
/*#popin_recherche {background-color:$default_color; top:0 !important;}
#popin_recherche #zone_recherche {border:0; border-bottom:0.2rem solid #1d1d1b; background:transparent; max-width:57rem; box-shadow:none; padding:0; border-radius:0;}
#popin_recherche #zone_recherche #recherche {width:100%; padding:1.5rem 7rem 1.5rem 0; margin-bottom:0; position:relative; height:6rem;}
#popin_recherche #zone_recherche #recherche input::-webkit-input-placeholder {color:#1d1d1b; text-transform:none;}
#popin_recherche #zone_recherche #recherche input::-moz-placeholder {color:#1d1d1b; text-transform:none; opacity:1 !important;}
#popin_recherche #zone_recherche #recherche input:-moz-placeholder {color:#1d1d1b; text-transform:none; opacity:1 !important;}
#popin_recherche #zone_recherche #recherche input:-ms-input-placeholder {color:#1d1d1b; text-transform:none;}
#popin_recherche #zone_recherche #recherche input[placeholder] {color:#1d1d1b; text-transform:none; opacity:1 !important;}
#popin_recherche #zone_recherche #recherche input[type="submit"] {background:url(../img/picto_loupe_noir.png) no-repeat center center; text-indent:-99999em; width:6rem; right:0;}
#popin_recherche #zone_recherche #recherche input[type="submit"]:hover, #popin_recherche #zone_recherche #recherche input[type="submit"]:focus {opacity:0.7;}
#popin_recherche #zone_recherche input[type="text"] {width:90%; padding:0; margin:0; color:#1d1d1b; font-family:$regular; font-weight:normal; font-size:2.8em; line-height:1.4em; height:inherit; border:0; background:transparent; box-shadow:none;}*/
/****************************************************************************************/
/********************************** BANDEAU IMAGE ***************************************/
/****************************************************************************************/
.bandeau_page img, .bandeau_page .default_img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/*** HOME ONLY ***/
#home .bandeau_page {
  width: 100%;
  background-color: transparent;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
#home .bandeau_page > * {
  height: 100%;
}
#home .bandeau_page .img {
  position: absolute;
  width: 100%;
}

/*** PAGE ONLY ***/
#page .bandeau_page, #bandeau_page_popin {
  position: relative;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  /*** Largeur de l'image DANS le wrap ***/
  /*** Largeur de l'image HORS du wrap ***/
  /*** Largeur de l'img ***/
}
#page .bandeau_page > *, #bandeau_page_popin > * {
  padding: 0;
}
#page .bandeau_page .img, #bandeau_page_popin .img {
  position: relative;
  width: 100%;
  left: 0;
}
#page .bandeau_page img, #page .bandeau_page .default_img, #bandeau_page_popin img, #bandeau_page_popin .default_img {
  width: calc(calc(144rem * 11 / 12) + calc((100vw - 144rem) / 2));
  -o-object-fit: cover;
     object-fit: cover;
  max-width: 100vw;
  height: 100%;
  background-color: #b1b1b1;
}
#page .bandeau_page .copyright, #bandeau_page_popin .copyright {
  bottom: 0;
  right: calc(-1 * calc((100vw - 144rem) / 2));
  background-color: #000000;
  color: #ffffff;
  padding: 0.2rem 0.5rem;
  -webkit-transform: translateX(-1rem);
      -ms-transform: translateX(-1rem);
          transform: translateX(-1rem);
}

/*** POUR PARALLAX ***/
.content_from_page {
  margin-top: 10rem;
}
.content_from_page .content_page > .grid-x {
  padding-top: 6.7rem;
}
.content_from_page .content_page > .bottom_container ~ .grid-x {
  padding-top: 0;
}
.content_from_page .content_page, .content_from_page .content_page ~ .bloc_home {
  position: relative;
  z-index: 1;
}
.content_from_page .content_page::before, .content_from_page .content_page ~ .bloc_home::before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 50%;
  background-color: #ffffff;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
  background-repeat: no-repeat;
}

/****************************************************************************************/
/*************************************** FOOTER *****************************************/
/****************************************************************************************/
#footer {
  z-index: 2;
  background: #e2e2e2;
  position: relative;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}

#home #footer .grid-container {
  max-width: 144rem;
}

#footer p {
  margin-bottom: 0;
}

#footer p:not(.btn_lien) a {
  color: #000000;
}

#footer .titre_info_footer {
  line-height: 1.1;
  font-size: 1.5em;
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  margin-bottom: 1rem;
  letter-spacing: 0.05rem;
}

/*** LOGO ***/
.logo_footer {
  display: inline-block;
  position: relative;
  padding: 0.5rem 0;
  -webkit-transform: translateX(-4rem);
      -ms-transform: translateX(-4rem);
          transform: translateX(-4rem);
}

.logo_footer:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
  background-color: #ffffff;
  display: none;
}

.logo_footer img {
  max-height: 12.5rem;
  max-width: 45rem;
  width: auto;
  height: auto;
}

/*** COORDONNEES ***/
#footer .contact_footer p {
  padding: 0.5rem 0 0 4rem;
  background-size: 3.2rem auto;
  background-position: top left;
  background-repeat: no-repeat;
  line-height: 1.4;
  min-height: 3.2rem;
  font-size: 1.5em;
  margin-bottom: 0;
  letter-spacing: 0.05rem;
}
#footer .contact_footer p.titre_info_footer + p:not(.titre_info_footer) {
  padding-top: 0;
  margin-top: -0.5rem;
}
#footer .contact_footer p.contact {
  margin-top: 1.2rem;
}
#footer .contact_footer p a {
  font-family: inherit;
}
#footer .contact_footer p a:is(:hover, :focus) {
  color: var(--cim_primary_color);
}

#bloc_contact_info {
  position: relative;
}

#info_footer {
  padding: 4.5rem 0;
}

/*** APPLIS FOOTER - NEWSLETTER - PWA ***/
/*#footer .appli_footer {
	padding:0.5rem 0 0 4rem; background-size:3.2rem auto; background-position:top left; background-repeat:no-repeat; min-height:3.2rem;
	.titre_info_footer {margin-bottom:1rem;}
	.btn_lien {white-space:nowrap;}
	p {line-height:1.3; font-size:1.5em; margin-bottom:1.5rem;}
}

#footer .appli_footer:not(:first-child) {margin-top:3.5rem;}

#footer .appli_footer, #footer .appli_footer.pwa {max-width: 34rem;}*/
/*** RESEAUX SOCIAUX ***/
.reseaux_sociaux ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.reseaux_sociaux li {
  margin-right: 2.4rem;
  display: inline-block;
}
.reseaux_sociaux li:last-child {
  margin-right: 0;
}
.reseaux_sociaux li a {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  position: relative;
  background: no-repeat center center/contain;
}

#footer .reseaux_sociaux li:not(:last-child) {
  margin-right: 2rem;
}
#footer .reseaux_sociaux ul {
  margin-top: -1rem;
  margin-bottom: 0;
}
#footer .reseaux_sociaux li {
  margin-top: 1rem;
  display: inline-block;
}
#footer .reseaux_sociaux li a {
  width: 3.2rem;
  height: 3.2rem;
  display: inline-block;
}

/*** APPLICATION ***/
#footer .app {
  margin-top: 1.5rem;
}
#footer .app p {
  padding-left: 0;
}
#footer .app .description_app {
  font-size: 1.5em;
  margin-bottom: 1rem;
}
#footer .app img {
  max-width: 100%;
  height: auto;
  margin-bottom: 1.5rem;
}

/*** GO TO TOP ***/
#back_to_top {
  position: absolute;
  right: 5.5rem;
  top: 0;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

#back_to_top p {
  margin: 0;
}

#back_to_top p a {
  display: block;
  width: 7.4rem;
  height: 7.4rem;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: 50%;
  border: 0.2rem solid #e2e2e2;
}

/*** MENU FOOTER ***/
#menu_footer {
  background-color: #ffffff;
}
#menu_footer ul {
  padding: 2.9rem 0;
  margin-bottom: 0;
}
#menu_footer ul li {
  font-size: 1.5em;
  line-height: 1.6;
  padding: 0 1.5rem 0 2.5rem;
  display: inline;
  letter-spacing: 0.05rem;
}
#menu_footer ul li:first-child {
  padding-left: 0;
  background: none;
}
#menu_footer ul li a {
  padding: 0;
  color: #000000;
}
#menu_footer ul li a:is(:hover, :focus) {
  color: var(--cim_primary_color);
}

/****************************************************************************************/
/************************************ FIL D'ARIANE **************************************/
/****************************************************************************************/
#contain_ariane {
  background-color: #ffffff;
  position: relative;
  z-index: 2;
}

#page.list #contain_ariane, #page.dashboard #contain_ariane {
  background-color: transparent;
}

#fil_ariane {
  margin-top: 2rem;
  margin-bottom: 0;
}
#fil_ariane .breadcrumbs {
  padding: 0 0 0 0.5rem;
}
#fil_ariane .breadcrumbs li {
  text-transform: none;
  color: #000000;
  font-size: 1.6rem;
  line-height: 1.2;
  display: inline;
  float: none;
}
#fil_ariane .breadcrumbs li::after {
  content: "";
  width: 2.6rem;
  height: 0.5rem;
  display: inline-block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 0.4rem auto;
  vertical-align: middle;
}
#fil_ariane .breadcrumbs li:first-child {
  padding-left: 0;
  background: none;
}
#fil_ariane .breadcrumbs li:last-child {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
}
#fil_ariane .breadcrumbs li:last-child span {
  font-family: inherit;
}
#fil_ariane .breadcrumbs li:last-child::after {
  display: none;
}
#fil_ariane .breadcrumbs li a {
  text-decoration: none;
}
#fil_ariane .breadcrumbs li a:not(:hover):not(:focus) {
  color: inherit;
}

/****************************************************************************************/
/*************************************** DATE MAJ ***************************************/
/****************************************************************************************/
/*** DATE DE MISE A JOUR ***/
.date_maj {
  margin-top: 5rem;
}

.date_maj p, .content_page .date_maj p {
  color: #797676;
  margin-bottom: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvYXBwX2xheW91dC5jc3MiLCJzY3NzL2dsb2JhbC9fc2V0dGluZ3Muc2NzcyIsInNjc3MvY3VzdG9tL19mdW5jdGlvbnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fc2V0dGluZ3NfY29sb3JzLnNjc3MiLCJzY3NzL2N1c3RvbS9fY2ltX3NldHRpbmdzLnNjc3MiLCJzY3NzL2N1c3RvbS9fY2ltX2ljb25zLnNjc3MiLCJzY3NzL2N1c3RvbS9fY2ltX21peGlucy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJzY3NzL2FwcF9sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNnRWhCLG1CQUFBO0FDaEVBLHFFQUFBO0FBQ0EscUVBQUE7QUFDQSxxRUFBQTtBRGlFQSwwQkFBQTtBRW5FQSx1REFBQTtBQUNBLHVEQUFBO0FBQ0EsdURBQUE7QUFLQyxvQkFBQTtBQU9DLHNDQUFBO0FDWkYsdURBQUE7QUFDQSx1REFBQTtBQUNBLHVEQUFBO0FBRUMsMERBQUE7QUFJQSx3REFBQTtBQUtBLGNBQUE7QUFLQSxvQkFBQTtBQWNELHVEQUFBO0FBQ0EsdURBQUE7QUFDQSx1REFBQTtBQUVDLGVBQUE7QUFDQyxzQkFBQTtBQU9ELGFBQUE7QUFDQyx1QkFBQTtBQU9BLGdEQUFBO0FBT0QsY0FBQTtBQUNFLGlDQUFBO0FBT0QsdUJBQUE7QUFPRCxzQkFBQTtBQUNDLHNCQUFBO0FBT0EsZ0NBQUE7QUFP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UW4yQkc7RUFBaUIsb0JBQUE7RUFBcUIsY0p0WjNCO0VJc1owRCxpQlAxRjNDO0VPMEZrRixnQkFBQTtFQUFpQixlQUFBO0VBQWdCLFdBQUE7QVIyMkJoSjtBUTEyQkc7RUFBd0IsV0FBQTtFQUFZLGFBQUE7RUFBYyxjQUFBO0VBQWUscUJBQUE7RUFBc0Isa0NBQUE7RUFBbUMsNEJBQUE7RUFBNkIsNEJBQUE7RUFBNkIsc0JBQUE7QVJvM0J2TDtBUW4zQkc7RUFBNkIsZUFBQTtFQUFnQixnQkFBQTtBUnUzQmhEO0FRdDNCRztFQUE0QiwwRFBwVlo7QUQ2c0NuQjtBUXgzQkc7RUFBaUMsb0JBQUE7QVIyM0JwQztBUTEzQkc7RUFBbUMsYUFBQTtBUjYzQnRDO0FRNTNCRztFQUFtQixxQkFBQTtBUiszQnRCO0FROTNCRztFQUEyQyxjQUFBO0FSaTRCOUM7O0FRNzNCQyx5RkFBQTtBQUNBLHlGQUFBO0FBQ0EseUZBQUE7QUFFQyw0QkFBQTtBQUNDO0VBQVcsZ0JBQUE7QVJnNEJkOztBUS8zQkc7RUFBd0MsY0psYXpCO0VJa2ErQyxnQkFBQTtBUm80QmpFIiwiZmlsZSI6InNjc3MvYXBwX2xheW91dC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogRnVuY3Rpb25zIHNhc3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKiBGb25jdGlvbiBxdWkgZ2VuZXJlIHVuIHN2ZyBiYWNrZ3JvdW5kLWltYWdlICoqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFZhcmlhYmxlcyBkZSBjb3VsZXVycyAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqIENPVUxFVVJTICoqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQ291bGV1cnMgcHJvamV0ICovXG4vKiB1dGlsaXPDqXMgZGFucyBzZXR0aW5ncyBGb3VuZGF0aW9uICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqIENPVUxFVVJTIEhPUlMgQ0lNXyogKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBiYXNpcXVlcyAodmFyaWFibGVzIHV0aWxpc2VlcyBkYW5zIFNldHRpbmdzKSAqL1xuLyogTnVhbmNlcyBkZSBncmlzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBEYXNoYm9hcmQgKi9cbi8qIFJlc2VhdXggc29jaWF1eCAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKiBDT05GSUcgKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyoqKiBMQVlPVVQgKioqL1xuLyogSGF1dGV1ciBkdSBoZWFkZXIgKi9cbi8qKiogSE9NRSAqKiovXG4vKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cbi8qIE1hcmdpbiBuw6lnYXRpdmUgYXUgZGVzc3VzIGRlcyBhY2PDqHMgcmFwaWRlcyAqL1xuLyoqKiBFRElUTyAqKiovXG4vKiBNYXJnaW4gYm90dG9tIHNvdXMgbGVzIGJsb2NzICovXG4vKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cbi8qKiogUEFHRSBERSBMSVNURSAqKiovXG4vKiBIYXV0ZXVyIGR1IG1vdGV1ciAqL1xuLyogUGFkZGluZyBhdSBkZXNzdXMgZHUgbW90ZXVyICovXG4vKiBSZXN1bHRhdHMgLSBlc3BhY2UgZW50cmUgbW90ZXVyOmJvdHRvbSBldCB2aWduZXR0ZTp0b3AgZGUgcGFnZSBkZSBsaXN0ZSAqL1xuLyogVmFyaWFibGVzIGRlcyBpY29uZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqIFNWRyBPUFRJT05TIEQnRVhQT1JUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblx0T3B0aW9ucyBkJ2V4cG9ydCBwb3VyIHJlbmRyZSBsZXMgU1ZHIGJhY2tncm91bmQtaW1hZ2UgY29tcGF0aWJsZXMgYXZlYyBJRTExXG5cblx0RmljaGllciBBSSA+IEV4cG9ydGVyIGxhIHNlbGVjdGlvbiA+IHBhcmFtw6h0cmVzIChmb3JtYXQpID4gU1ZHXG5cdFx0QXR0cmlidXRzIGRlIHByw6lzZW50YXRpb25cblx0XHRTVkdcblx0XHRJbmNvcnBvcmVyXG5cdFx0Tm9tcyBkZSBjYWxxdWVzXG5cdFx0MlxuXHRcdE1pbmltaWZpZXJcblx0XHRSZXNwb25zaXZlXG5cblx0KyBham91dCBkZSBsJ2F0dHJpYnV0IHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiXG5cblx0U2kgcHJvYmxlbWUgZGUgc3ZnIGF2ZWMgcG9wbHlsaW5lIG91IGxpbmUgPiBvdXZyaXIgbGUgc3ZnIGRhbnMgYWkgPiBzZWxlY3Rpb24gZGUgbCdpY29uZSA+IE9iamV0ID4gdHJhY8OpID4gVmVjdG9yaXNlciBsZSBjb250b3VyXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKiogSU1QT1JUICoqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKiogQ09VTEVVUlMgKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBwcm9qZXQgKi9cbi8qIHV0aWxpc8OpcyBkYW5zIHNldHRpbmdzIEZvdW5kYXRpb24gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKiogQ09VTEVVUlMgSE9SUyBDSU1fKiAqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIGJhc2lxdWVzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIERhc2hib2FyZCAqL1xuLyogUmVzZWF1eCBzb2NpYXV4ICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqIENPTkZJRyAqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKioqIExBWU9VVCAqKiovXG4vKiBIYXV0ZXVyIGR1IGhlYWRlciAqL1xuLyoqKiBIT01FICoqKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXG4vKioqIEVESVRPICoqKi9cbi8qIE1hcmdpbiBib3R0b20gc291cyBsZXMgYmxvY3MgKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyoqKiBQQUdFIERFIExJU1RFICoqKi9cbi8qIEhhdXRldXIgZHUgbW90ZXVyICovXG4vKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cbi8qIFJlc3VsdGF0cyAtIGVzcGFjZSBlbnRyZSBtb3RldXI6Ym90dG9tIGV0IHZpZ25ldHRlOnRvcCBkZSBwYWdlIGRlIGxpc3RlICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKiBMQVlPVVQgKioqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaGVfY2hldnJvbiAqL1xuLyogT0sgKi9cbi8qIEZvcm11bGFpcmVzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIFNsaWNrIHNsaWRlciAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogQm91dG9ucyAqL1xuLyogQm91dG9uIExJRU4gKi9cbi8qIE9LICovXG4vKiBCb3V0b24gQUxMICovXG4vKiBCb3V0b24gVFhUICovXG4vKiBPSyAqL1xuLyogQnRuIGNsb3NlICovXG4vKiBPSyAqL1xuLyogQXJyb3cgYmFjayAqL1xuLyogT0sgKi9cbi8qIEFycm93IHJlaW5pdCAqL1xuLyogT0sgKi9cbi8qIEhlYWRlciAqL1xuLyogTWVudSBwcmluY2lwYWwgTjEgYWN0aWYgKi9cbi8qIE1lbnUgcHJpbmNpcGFsIE4yICovXG4vKiBMb3VwZSAqL1xuLyogT0sgKi9cbi8qIE1pY3JvICovXG4vKiBPSyAqL1xuLyogTW9uIGNvbXB0ZSAqL1xuLyogQWNjw6hzIGF1IGZhdm9yaXMgKi9cbi8qIEplIHZvdWRyYWlzICovXG4vKiBGb290ZXIgKi9cbi8qIEdvIHRvIHRvcCAqL1xuLyogT0sgKi9cbi8qIE5ld3NsZXR0ZXIgKi9cbi8qIENvbnRhY3QgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIEZvb3RlciByZXNlYXV4IHNvY2lhdXggKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogRmlsIGQnYXJpYW5lICovXG4vKiBPSyAqL1xuLyogU2hhcmUgLyBibG9jIG5vdGUgLyBtYWogKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogUmVzZWF1eCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBBbGVydGUgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogSE9NRSBQQUdFICoqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBWaWTDqW8gcGxheS9wYXVzZSAqL1xuLyogSmUgdm91ZHJhaXMgKi9cbi8qIFRpdGxlICovXG4vKiBUcmlhbmdsZSBncmlzIGVuIGJhY2tncm91bmQgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogQ2FydGUgaW50ZXJhY3RpdmUgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgVFlQRSAqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogTGlzdGUgYSBwdWNlcyAgKi9cbi8qIE9LICovXG4vKiBDaXRhdGlvbiAgKi9cbi8qIE9LICovXG4vKiBBY2NvcmRlb25zICovXG4vKiBPSyAqL1xuLyogQ29sb25uZSBjb250ZXh0dWVsbGUgKi9cbi8qIEJsb2MgZ2VvbG9jICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIFRlbGVjaGFyZ2VtZW50cyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgTElTVEUgKioqL1xuLyoqKioqKioqKioqKioqKioqKioqL1xuLyogSW1hZ2UgcGFyIGRlZmF1dCAqL1xuLyogT0sgKi9cbi8qIEJ0biBhZmZpY2hlciBsYSBjYXJ0ZSAqL1xuLyogT0sgKi9cbi8qIEJ0biBhZmZpY2hlciBsYSBsaXN0ZSAqL1xuLyogT0sgKi9cbi8qIEZpbHRyZXMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIExvY2FsaXNhdGlvbiAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBQQUdFIERFIFJFQ0hFUkNIRSAqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhZ2luYXRpb24gKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBERVRBSUwgLyBQT1BJTiAqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiBDQVJURSBJTlRFUkFDVElWRSAqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGaWx0cmVzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKiogREFTSEJPQVJEICoqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFR1aWxlcyAqL1xuLyogT2xkICovXG4vKiBCdXR0b24gKi9cbi8qIEZvbnRzICovXG4vKiBDdXN0b20gbWl4aW5zICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqIE1JWElOUyAqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBCdXR0b24gKi9cbi8qIEJvdXRvbiBzbGljayAqL1xuLyogRGVncmFkZSAqL1xuLyogU2hhZG93ICovXG4vKiBCdG5fYWxsICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuOS4wXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKlxuXHRVdGlsaXNlciBsYSBzeW50YXhlIGE6bm90KDpob3Zlcik6bm90KDpmb2N1cykgcXVhbmQgbGEgY291bGV1ciBkdSBhIGVzdCBkaWZmw6lyZW50ZSBkZSBjZWxsZSBkw6lmaW5pZSBkYW5zIGxlIHJlc2V0XG4qKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNUUlVDVFVSRSBHRU5FUkFMRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyLmNvbm5lY3Qge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyLmlzLW9wZW4tbGVmdCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuI2hvbWUsICNwYWdlLCAjZ2xvYmFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4jaG9tZSwgI3BhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuICNob21lLCBib2R5LmlzLXJldmVhbC1vcGVuICNwYWdlLCBib2R5LmlzLXJldmVhbC1vcGVuICNnbG9iYWwge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuI21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMSAwO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLndyYXAge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxNDRyZW07IC8qICEhISEhIC0tLS0gQVRURU5USU9OIC0tLS0tICEhISEgIHdpZHRoID0gd2lkdGggZHUgd3JhcCBNQVFVRVRURSArIGdvdXRpZXJlcyBmb3VuZGF0aW9uICEhISEhISEhISEgKi9cbn1cblxuLmNvbnRlbnRfcGFnZSB7XG4gIHBhZGRpbmctYm90dG9tOiA1cmVtO1xufVxuXG4vKiBmaXggKi9cbi8qIFJldGlyZXIgbGUgY29tbWVudGFpcmUgc2kgb24gZXN0IHN1ciBsZSBzeXN0ZW1lIGRlIG1lbnUgcmVzcG9uc2l2ZSBxdWkgcydvdXZyZSBkZSBsYSBnYXVjaGUgYXUgZGVzc3VzIGR1IGNvbnRlbnUgKi9cbi8qLmlzLW9wZW4tbGVmdCB7dHJhbnNmb3JtOmluaGVyaXQ7IGhlaWdodDoxMDAlOyBtaW4taGVpZ2h0OjEwMCU7fVxuLm9mZi1jYW52YXMge3Bvc2l0aW9uOmZpeGVkOyB6LWluZGV4OjI7IHRyYW5zaXRpb246dHJhbnNmb3JtIDAuNXMgZWFzZTsgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjsgYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47IG92ZXJmbG93LXk6aGlkZGVuO31cbiNvZmZDYW52YXNMZWZ0IHtiYWNrZ3JvdW5kOiRkZWZhdWx0X2NvbG9yOyBwb3NpdGlvbjpmaXhlZDsgbGVmdDotMzByZW07IHRvcDowOyB3aWR0aDoyNnJlbTsgaGVpZ2h0OjEwMCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cbiNvZmZDYW52YXNMZWZ0LmlzLW9wZW4ge2xlZnQ6MDsgdmlzaWJpbGl0eTp2aXNpYmxlOyB0cmFuc2l0aW9uOmxlZnQgMC41cyBlYXNlO31cbi5vZmYtY2FudmFzLWNvbnRlbnQge2JveC1zaGFkb3c6bm9uZTsgbWluLWhlaWdodDppbmhlcml0OyBwb3NpdGlvbjpyZWxhdGl2ZTsgei1pbmRleDppbmhlcml0OyBiYWNrZ3JvdW5kOiRjaW1fd2hpdGU7fVxuLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQge292ZXJmbG93LXg6aGlkZGVuOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnJlbSk7fSovXG4vKmJ0biBjbG9zZSBtZW51IHNtYXJ0Ki9cbi8qI2J0bl9jbG9zZV9tZW51X3NtYXJ0IHtwb3NpdGlvbjpmaXhlZDsgdG9wOjQuNXJlbTsgbGVmdDoyNnJlbTsgei1pbmRleDoxMjsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7IHRyYW5zaXRpb246bGVmdCAwLjlzIGVhc2U7fSovXG4uanMtb2ZmLWNhbnZhcy1leGl0LCAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogSEVBREVSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2hlYWRlciB7XG4gIGhlaWdodDogMC4wMDAwMXJlbSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qI3BhZ2U6bm90KDppcyguZGV0YWlsLCAuY2FydG9fdHBsKSkgI2hlYWRlciB7bWF4LWhlaWdodDowLjAwMDFyZW07fSovXG4jZGF0YS1zdGlja3ktaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyAvKmJhY2tkcm9wLWZpbHRlcjpibHVyKDAuMnJlbSk7Ki9cbiAgdHJhbnNmb3JtOiBub25lO1xuICBsZWZ0OiAwOyAvKnBhZGRpbmctcmlnaHQ6MS41cmVtOyovIC8qYmFja2Ryb3AtZmlsdGVyOmJsdXIoMC44cmVtKTsqLyAvKmJvcmRlci1ib3R0b206MC42cmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsqL1xuICBib3gtc2hhZG93OiBpbnNldCAwcmVtIC0wLjZyZW0gMCAwIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuI2RhdGEtc3RpY2t5LWhlYWRlciA+ICosICNtZW51X3JpZ2h0IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jbWVudV9yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLyogU3RpY2t5ICovXG4jZGF0YS1zdGlja3ktaGVhZGVyLmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4vKiBIb21lICovXG4jaG9tZSAjZGF0YS1zdGlja3ktaGVhZGVyLmlzLWFuY2hvcmVkIC5sb3VwZV9jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbiNob21lICNkYXRhLXN0aWNreS1oZWFkZXIuaXMtc3R1Y2sgLmxvdXBlX2NvbnRhaW5lciB7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyoqKiBBQ0NFU1NJQklMSVRFICoqKi9cbiNhY2Nlc3NpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5OTk5O1xufVxuXG4jYWNjZXNzaSB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuI2FjY2Vzc2kgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbiNhY2Nlc3NpIHVsIGxpIGEsICNhY2Nlc3NpIHVsIGxpIGJ1dHRvbiB7XG4gIHRleHQtaW5kZW50OiAtOTk5OTllbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbn1cblxuI2FjY2Vzc2kgdWwgbGkgYSwgI2FjY2Vzc2kgdWwgbGkgYTpob3ZlciwgI2FjY2Vzc2kgdWwgbGkgYTpmb2N1cywgI2FjY2Vzc2kgdWwgbGkgYnV0dG9uLCAjYWNjZXNzaSB1bCBsaSBidXR0b246aG92ZXIsICNhY2Nlc3NpIHVsIGxpIGJ1dHRvbjpmb2N1cyB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbiNhY2Nlc3NpIHVsIGxpIGE6Zm9jdXMsICNhY2Nlc3NpIHVsIGxpIGJ1dHRvbjpmb2N1cyB7XG4gIHRleHQtaW5kZW50OiAwO1xuICBwYWRkaW5nOiAwLjVyZW07XG59XG5cbiNhbmNob3Jfc2tpcF9saW5rIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHJlbSk7XG59XG5cbi8qKiogTE9HTyAqKiovXG4jbG9nbyBoMSwgI2xvZ28gcCB7XG4gIGZvbnQtc2l6ZTogaW5pdGlhbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI2xvZ28gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiNsb2dvIHN2ZywgI2xvZ28gaW1nIHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMC42cmVtKTtcbn1cblxuI2xvZ28gYTpob3ZlciwgI2xvZ28gYTpmb2N1cyB7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLyoqKiBUT09MUyBIRUFERVIgTElOSyAqKiovXG4jdG9vbHNfaGVhZGVyX2xpbmsge1xuICBtYXJnaW46IDA7XG59XG5cbiN0b29sc19oZWFkZXJfbGluayAudG9vbHNfaGVhZGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiN0b29sc19oZWFkZXJfbGluayAudG9vbHNfaGVhZGVyIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG4jdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuI3Rvb2xzX2hlYWRlcl9saW5rIC50b29sc19oZWFkZXIgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG4jdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaSA+ICoge1xuICBoZWlnaHQ6IDEwcmVtO1xuICB3aWR0aDogNHJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDNyZW07XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI3Rvb2xzX2hlYWRlcl9saW5rIC50b29sc19oZWFkZXIgbGkgPiAqID4gc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgYm90dG9tOiAtMS45cmVtO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9zZWNvbmRhcnlfY29sb3IpO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMCAwLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4jdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaSA+ICo6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xufVxuI3Rvb2xzX2hlYWRlcl9saW5rIC50b29sc19oZWFkZXIgbGkgPiAqOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuIHtcbiAgb3BhY2l0eTogMTtcbiAgYm90dG9tOiAwLjFyZW07XG59XG5cbi8qKiogQlVSR0VSIEJVVFRPTiAqKiovXG4uaGFtYnVyZ2VyX2NvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmhhbWJ1cmdlciB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAwIDNyZW07XG4gIHdpZHRoOiA2cmVtICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBCYXJyZXMgKi9cbi5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMXJlbTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMC4ycmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IC0xLjJyZW07XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xufVxuXG4uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAxLjJyZW07XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG59XG5cbi8qIFRpdHJlICovXG4uaGFtYnVyZ2VyIC5tZW51X3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQWN0aWYgKi9cbi5oYW1idXJnZXIuaXMtYWN0aXZlIC5tZW51X3RpdGxlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFyZW0pO1xufVxuXG4uaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgbGVmdDogLTRyZW07XG4gIHRvcDogLTRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNHJlbSwgNHJlbSwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICByaWdodDogLTRyZW07XG4gIHRvcDogLTRyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRyZW0sIDRyZW0sIDApIHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsXG4uaGFtYnVyZ2VyOmlzKDpob3ZlciwgOmZvY3VzKSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgLmhhbWJ1cmdlcjppcyg6aG92ZXIsIDpmb2N1cykgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuLmhhbWJ1cmdlcjppcyg6aG92ZXIsIDpmb2N1cykgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuLyogSG92ZXIgKi9cbi5oYW1idXJnZXI6aG92ZXIgLm1lbnVfdGl0bGUsIC5oYW1idXJnZXI6Zm9jdXMgLm1lbnVfdGl0bGUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUwLCAxMjgsIDExNCwgMC40KTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUE9QSU5TICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKiBTVFlMRSBHRU5FUklRVUUgKioqL1xuLnJldmVhbCB7XG4gIHdpZHRoOiA4MCU7XG4gIG1heC13aWR0aDogODByZW07XG4gIHBhZGRpbmc6IDkuNTVyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnJldmVhbC50aW55IHtcbiAgbWluLXdpZHRoOiA2MHJlbTtcbn1cblxuLnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcbiAgdG9wOiA0cmVtO1xuICByaWdodDogNi4ycmVtO1xufVxuXG4vKiB0aXRyZSAqL1xuLnJldmVhbCAudGl0cmVfcG9waW4ge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtO1xufVxuXG4ucmV2ZWFsIC50aXRyZV9ibG9jLCAudGl0cmVfcG9waW4gLnRpdHJlX2Jsb2Mge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDNlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBmb3JtICovXG4ucmV2ZWFsIGZvcm0ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJldmVhbCAuY29udGVudCA+IGZvcm0ge1xuICBwYWRkaW5nOiAwIDEuNXJlbTtcbn1cblxuLyoqKiBQT1BJTiBTSURFQkFSICsgc2Vuc2F0aW9uIHBvcGluIHJlY2hlcmNoZSAqKiovXG4ucmV2ZWFsLnNpZGViYXIsIC5zZWFyY2hfYXJlYV9jb250LmlzX3NlYXJjaCB7XG4gIG1heC13aWR0aDogNjkuNXJlbTtcbiAgcGFkZGluZzogMTguOXJlbSA2LjJyZW0gMCA2LjJyZW07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMC41cmVtKSBicmlnaHRuZXNzKDApIG9wYWNpdHkoMC45NSk7XG4gIHotaW5kZXg6IDU7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLnJldmVhbC5zaWRlYmFyIC5jbG9zZS1idXR0b24sIC5zZWFyY2hfYXJlYV9jb250LmlzX3NlYXJjaCAuY2xvc2UtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI2JyBoZWlnaHQ9JzI2JyB2aWV3Qm94PScwIDAgMjYgMjYnJTNFJTNDcGF0aCBkPSdNMCwwSDI2VjI2SDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGQ9J00xOS40NjUsNi40NTcsMTguMDA4LDVsLTUuNzc2LDUuNzc2TDYuNDU3LDUsNSw2LjQ1N2w1Ljc3Niw1Ljc3Nkw1LDE4LjAwOGwxLjQ1NywxLjQ1Nyw1Ljc3Ni01Ljc3Niw1Ljc3Niw1Ljc3NiwxLjQ1Ny0xLjQ1Ny01Ljc3Ni01Ljc3NlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuNzY3IDAuNzY3KScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG59XG4ucmV2ZWFsLnNpZGViYXIgLndyYXBfcG9waW4sIC5zZWFyY2hfYXJlYV9jb250LmlzX3NlYXJjaCAud3JhcF9wb3BpbiB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG59XG4ucmV2ZWFsLnNpZGViYXIgLmJ0bl9hbGwsIC5zZWFyY2hfYXJlYV9jb250LmlzX3NlYXJjaCAuYnRuX2FsbCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLnJldmVhbC5zaWRlYmFyICo6bm90KC5idG5fYWxsLCAuYnRuX2FsbCAqKSwgLnJldmVhbC5zaWRlYmFyIC50aXRyZV9wb3BpbiAudGl0cmVfYmxvYywgLnJldmVhbC5zaWRlYmFyIGxlZ2VuZC50aXRyZV9ibG9jLCAuc2VhcmNoX2FyZWFfY29udC5pc19zZWFyY2ggKjpub3QoLmJ0bl9hbGwsIC5idG5fYWxsICopLCAuc2VhcmNoX2FyZWFfY29udC5pc19zZWFyY2ggLnRpdHJlX3BvcGluIC50aXRyZV9ibG9jLCAuc2VhcmNoX2FyZWFfY29udC5pc19zZWFyY2ggbGVnZW5kLnRpdHJlX2Jsb2Mge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5yZXZlYWwuc2lkZWJhciAudGl0cmVfYmxvYywgLnNlYXJjaF9hcmVhX2NvbnQuaXNfc2VhcmNoIC50aXRyZV9ibG9jIHtcbiAgZm9udC1zaXplOiAyLjRlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucmV2ZWFsLnNpZGViYXIgLnRpdHJlX3BvcGluLCAuc2VhcmNoX2FyZWFfY29udC5pc19zZWFyY2ggLnRpdHJlX3BvcGluIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuYm9keTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKiogT1ZFUkxBWSAqKiovXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBvcGluX2xhdGVyYWxfb3ZlcmxheSwgYm9keTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgdG9wOiAwO1xufVxuXG4vKioqIFBPUElOIEZVTEwgKyBwb3BpbiByZWNoZXJjaGUgKioqL1xuLnJldmVhbC5mdWxsIHtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogdGl0cmUgKi9cbi5yZXZlYWwuZnVsbCB7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBwYWRkaW5nOiAxOC45cmVtIDYuMnJlbSAzLjVyZW0gMTByZW07XG59XG5cbi5yZXZlYWwuZnVsbCAud3JhcF9wb3BpbiB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnJldmVhbC5mdWxsIC53cmFwX3BvcGluID4gLmNvbnRlbnQge1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQT1BJTiBNRU5VIFBSSU5DSVBBTCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2hvcml6b250YWwtbWVudSB7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4jbWVudV9wcmluY2lwYWwge1xuICB6LWluZGV4OiAxMDAyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qKiogQlROIENMT1NFIEhPUklaT05UQUwgTUVOVSAqKiovXG4jYnRuX2Nsb3NlX2hvcml6b250YWxfbWVudS5jbG9zZS1idXR0b24ge1xuICByaWdodDogMi4ycmVtO1xuICB0b3A6IGNhbGMoMTByZW0gKyAzcmVtKTtcbiAgei1pbmRleDogMTAwNDtcbn1cblxuLyoqKiBHRU5FUklRVUUgKHBvdXIgdG91cyBsZXMgbml2ZWF1eCBkdSBtZW51KSAqKiovXG4jbWVudV9wcmluY2lwYWwgbGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4jbWVudV9wcmluY2lwYWwgdWwgbGkgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbiNtZW51X3ByaW5jaXBhbCB1bCBsaSBhICoge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qKiogTEVWRUwgMSAqKiovXG4jbWVudV9wcmluY2lwYWwgPiB1bCB7XG4gIC8qZmxleC13cmFwOm5vd3JhcDsqL1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIGV0YXQgaG92ZXIgLSBhY3RpZiAqL1xufVxuI21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaSB7XG4gIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgZmxleDogMCAxIGF1dG87XG4gIHBhZGRpbmc6IDAgMS4xdnc7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHJlbSAtMC42cmVtIDAgMCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLyptYXgtd2lkdGg6MThyZW07Ki9cbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkgPiBhID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbn1cbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkgPiBhID4gc3Bhbjpub3QoLm1haW4pIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYSA+IHNwYW4ubWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9yZGVyOiAtMTtcbn1cbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkgPiBhID4gc3Bhbi5tYWluOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYSA+IHNwYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1ob3Zlcik7IC8qY29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyovXG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwLjZyZW07XG4gIGJvdHRvbTogMC42cmVtO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fc2Vjb25kYXJ5X2NvbG9yKTtcbn1cbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkuYWN0ID4gYTo6YWZ0ZXIsXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYTppcyg6aG92ZXIsIDpmb2N1cyk6OmFmdGVyLFxuI21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaVthcmlhLWV4cGFuZGVkPXRydWVdID4gYTo6YWZ0ZXIsXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpLmFyaWEtZXhwYW5kZWQgPiBhOjphZnRlcixcbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzKSA+IGE6OmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpLmFjdCA+IGEgPiBzcGFuLm1haW4sXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYTppcyg6aG92ZXIsIDpmb2N1cykgPiBzcGFuLm1haW4sXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhID4gc3Bhbi5tYWluLFxuI21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaS5hcmlhLWV4cGFuZGVkID4gYSA+IHNwYW4ubWFpbixcbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzKSA+IGEgPiBzcGFuLm1haW4geyAvKiAjNTI4NzUgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOyAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpLmFjdCA+IGEgPiBzcGFuOm5vdCgubWFpbiksXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpID4gYTppcyg6aG92ZXIsIDpmb2N1cykgPiBzcGFuOm5vdCgubWFpbiksXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gPiBhID4gc3Bhbjpub3QoLm1haW4pLFxuI21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaS5hcmlhLWV4cGFuZGVkID4gYSA+IHNwYW46bm90KC5tYWluKSxcbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzKSA+IGEgPiBzcGFuOm5vdCgubWFpbikge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qKiogTEVWRUwgMiAqKiovXG4jbWVudV9wcmluY2lwYWwgbGkgdWwuc291c19tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwcmVtKTtcbiAgcGFkZGluZzogM3JlbSA3LjVyZW0gMHJlbSA3LjVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IGluaGVyaXQ7XG4gIHotaW5kZXg6IDEwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDAuOHJlbSk7XG59XG5cbiNtZW51X3ByaW5jaXBhbCBsaSB1bC5zb3VzX21lbnUuaXMtYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4jbWVudV9wcmluY2lwYWwgdWwgbGkgbGkubGV2ZWwyIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDNyZW0pO1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xufVxuI21lbnVfcHJpbmNpcGFsIHVsIGxpIGxpLmxldmVsMiA+IGEge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cbiNtZW51X3ByaW5jaXBhbCB1bCBsaSBsaS5sZXZlbDIgLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogZXRhdCBob3ZlciAtIGFjdGlmICovXG4jbWVudV9wcmluY2lwYWwgdWwgbGkgbGkubGV2ZWwyID4gYTppcyg6aG92ZXIsIDpmb2N1cyksXG4jbWVudV9wcmluY2lwYWwgdWwgbGkgbGkubGV2ZWwyLmFjdCA+IGEge1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4jbWVudV9wcmluY2lwYWwgPiB1bCA+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSA+IGEge1xuICBtYXJnaW46IDA7XG59XG5cbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gLnN1Ym1lbnUtdG9nZ2xlIHtcbiAgcmlnaHQ6IDEuMXZ3O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMi4ydncpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNtZW51X3ByaW5jaXBhbCA+IHVsID4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlID4gLnN1Ym1lbnUtdG9nZ2xlOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKiogTEVWRUwgMyAqKiovXG4jbWVudV9wcmluY2lwYWwgdWwgbGkubGV2ZWwyID4gLnNtIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xufVxuXG4jbWVudV9wcmluY2lwYWwgdWwgbGkgdWwgbGkgbGkubGV2ZWwzIHtcbiAgcGFkZGluZzogMC42cmVtIDA7XG4gIC8qIGV0YXQgaG92ZXIgLSBhY3RpZiAqL1xufVxuI21lbnVfcHJpbmNpcGFsIHVsIGxpIHVsIGxpIGxpLmxldmVsMyA+IGEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X3JlZ3VsYXJcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG59XG4jbWVudV9wcmluY2lwYWwgdWwgbGkgdWwgbGkgbGkubGV2ZWwzID4gYTppcyg6aG92ZXIsIDpmb2N1cyksXG4jbWVudV9wcmluY2lwYWwgdWwgbGkgdWwgbGkgbGkubGV2ZWwzICNtZW51X3ByaW5jaXBhbCB1bCBsaSB1bCBsaSBsaS5sZXZlbDMuYWN0ID4gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKioqIE9WRVJMQVkgTUVOVSAqKiovXG4jbWVudV9vdmVybGF5IHtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMHJlbSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMHJlbTtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDAuMnJlbSk7XG4gIHotaW5kZXg6IC0xO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jaGVhZGVyLm1lbnVfb3BlbiAjbWVudV9vdmVybGF5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQT1BJTiBSRUNIRVJDSEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qI3BvcGluX3JlY2hlcmNoZSB7YmFja2dyb3VuZC1jb2xvcjokZGVmYXVsdF9jb2xvcjsgdG9wOjAgIWltcG9ydGFudDt9XG4jcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSB7Ym9yZGVyOjA7IGJvcmRlci1ib3R0b206MC4ycmVtIHNvbGlkICMxZDFkMWI7IGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IG1heC13aWR0aDo1N3JlbTsgYm94LXNoYWRvdzpub25lOyBwYWRkaW5nOjA7IGJvcmRlci1yYWRpdXM6MDt9XG4jcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSAjcmVjaGVyY2hlIHt3aWR0aDoxMDAlOyBwYWRkaW5nOjEuNXJlbSA3cmVtIDEuNXJlbSAwOyBtYXJnaW4tYm90dG9tOjA7IHBvc2l0aW9uOnJlbGF0aXZlOyBoZWlnaHQ6NnJlbTt9XG4jcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSAjcmVjaGVyY2hlIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjojMWQxZDFiOyB0ZXh0LXRyYW5zZm9ybTpub25lO31cbiNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlICNyZWNoZXJjaGUgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge2NvbG9yOiMxZDFkMWI7IHRleHQtdHJhbnNmb3JtOm5vbmU7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cbiNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlICNyZWNoZXJjaGUgaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7Y29sb3I6IzFkMWQxYjsgdGV4dC10cmFuc2Zvcm06bm9uZTsgb3BhY2l0eToxICFpbXBvcnRhbnQ7fVxuI3BvcGluX3JlY2hlcmNoZSAjem9uZV9yZWNoZXJjaGUgI3JlY2hlcmNoZSBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiMxZDFkMWI7IHRleHQtdHJhbnNmb3JtOm5vbmU7fVxuI3BvcGluX3JlY2hlcmNoZSAjem9uZV9yZWNoZXJjaGUgI3JlY2hlcmNoZSBpbnB1dFtwbGFjZWhvbGRlcl0ge2NvbG9yOiMxZDFkMWI7IHRleHQtdHJhbnNmb3JtOm5vbmU7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cbiNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlICNyZWNoZXJjaGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7YmFja2dyb3VuZDp1cmwoLi4vaW1nL3BpY3RvX2xvdXBlX25vaXIucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgdGV4dC1pbmRlbnQ6LTk5OTk5ZW07IHdpZHRoOjZyZW07IHJpZ2h0OjA7fVxuI3BvcGluX3JlY2hlcmNoZSAjem9uZV9yZWNoZXJjaGUgI3JlY2hlcmNoZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSAjcmVjaGVyY2hlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge29wYWNpdHk6MC43O31cbiNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHt3aWR0aDo5MCU7IHBhZGRpbmc6MDsgbWFyZ2luOjA7IGNvbG9yOiMxZDFkMWI7IGZvbnQtZmFtaWx5OiRyZWd1bGFyOyBmb250LXdlaWdodDpub3JtYWw7IGZvbnQtc2l6ZToyLjhlbTsgbGluZS1oZWlnaHQ6MS40ZW07IGhlaWdodDppbmhlcml0OyBib3JkZXI6MDsgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsgYm94LXNoYWRvdzpub25lO30qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBCQU5ERUFVIElNQUdFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmJhbmRlYXVfcGFnZSBpbWcsIC5iYW5kZWF1X3BhZ2UgLmRlZmF1bHRfaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qKiogSE9NRSBPTkxZICoqKi9cbiNob21lIC5iYW5kZWF1X3BhZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4jaG9tZSAuYmFuZGVhdV9wYWdlID4gKiB7XG4gIGhlaWdodDogMTAwJTtcbn1cbiNob21lIC5iYW5kZWF1X3BhZ2UgLmltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qKiogUEFHRSBPTkxZICoqKi9cbiNwYWdlIC5iYW5kZWF1X3BhZ2UsICNiYW5kZWF1X3BhZ2VfcG9waW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG9yZGVyOiAxO1xuICAvKioqIExhcmdldXIgZGUgbCdpbWFnZSBEQU5TIGxlIHdyYXAgKioqL1xuICAvKioqIExhcmdldXIgZGUgbCdpbWFnZSBIT1JTIGR1IHdyYXAgKioqL1xuICAvKioqIExhcmdldXIgZGUgbCdpbWcgKioqL1xufVxuI3BhZ2UgLmJhbmRlYXVfcGFnZSA+ICosICNiYW5kZWF1X3BhZ2VfcG9waW4gPiAqIHtcbiAgcGFkZGluZzogMDtcbn1cbiNwYWdlIC5iYW5kZWF1X3BhZ2UgLmltZywgI2JhbmRlYXVfcGFnZV9wb3BpbiAuaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbn1cbiNwYWdlIC5iYW5kZWF1X3BhZ2UgaW1nLCAjcGFnZSAuYmFuZGVhdV9wYWdlIC5kZWZhdWx0X2ltZywgI2JhbmRlYXVfcGFnZV9wb3BpbiBpbWcsICNiYW5kZWF1X3BhZ2VfcG9waW4gLmRlZmF1bHRfaW1nIHtcbiAgd2lkdGg6IGNhbGMoY2FsYygxNDRyZW0gKiAxMSAvIDEyKSArIGNhbGMoKDEwMHZ3IC0gMTQ0cmVtKSAvIDIpKTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxYjFiMTtcbn1cbiNwYWdlIC5iYW5kZWF1X3BhZ2UgLmNvcHlyaWdodCwgI2JhbmRlYXVfcGFnZV9wb3BpbiAuY29weXJpZ2h0IHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogY2FsYygtMSAqIGNhbGMoKDEwMHZ3IC0gMTQ0cmVtKSAvIDIpKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXJlbSk7XG59XG5cbi8qKiogUE9VUiBQQVJBTExBWCAqKiovXG4uY29udGVudF9mcm9tX3BhZ2Uge1xuICBtYXJnaW4tdG9wOiAxMHJlbTtcbn1cbi5jb250ZW50X2Zyb21fcGFnZSAuY29udGVudF9wYWdlID4gLmdyaWQteCB7XG4gIHBhZGRpbmctdG9wOiA2LjdyZW07XG59XG4uY29udGVudF9mcm9tX3BhZ2UgLmNvbnRlbnRfcGFnZSA+IC5ib3R0b21fY29udGFpbmVyIH4gLmdyaWQteCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLmNvbnRlbnRfZnJvbV9wYWdlIC5jb250ZW50X3BhZ2UsIC5jb250ZW50X2Zyb21fcGFnZSAuY29udGVudF9wYWdlIH4gLmJsb2NfaG9tZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cbi5jb250ZW50X2Zyb21fcGFnZSAuY29udGVudF9wYWdlOjpiZWZvcmUsIC5jb250ZW50X2Zyb21fcGFnZSAuY29udGVudF9wYWdlIH4gLmJsb2NfaG9tZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRk9PVEVSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4jZm9vdGVyIHtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogI2UyZTJlMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbiNob21lICNmb290ZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxNDRyZW07XG59XG5cbiNmb290ZXIgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNmb290ZXIgcDpub3QoLmJ0bl9saWVuKSBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbiNmb290ZXIgLnRpdHJlX2luZm9fZm9vdGVyIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG59XG5cbi8qKiogTE9HTyAqKiovXG4ubG9nb19mb290ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC41cmVtIDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHJlbSk7XG59XG5cbi5sb2dvX2Zvb3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmxvZ29fZm9vdGVyIGltZyB7XG4gIG1heC1oZWlnaHQ6IDEyLjVyZW07XG4gIG1heC13aWR0aDogNDVyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKiogQ09PUkRPTk5FRVMgKioqL1xuI2Zvb3RlciAuY29udGFjdF9mb290ZXIgcCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwIDAgNHJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAzLjJyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1pbi1oZWlnaHQ6IDMuMnJlbTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG59XG4jZm9vdGVyIC5jb250YWN0X2Zvb3RlciBwLnRpdHJlX2luZm9fZm9vdGVyICsgcDpub3QoLnRpdHJlX2luZm9fZm9vdGVyKSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xufVxuI2Zvb3RlciAuY29udGFjdF9mb290ZXIgcC5jb250YWN0IHtcbiAgbWFyZ2luLXRvcDogMS4ycmVtO1xufVxuI2Zvb3RlciAuY29udGFjdF9mb290ZXIgcCBhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4jZm9vdGVyIC5jb250YWN0X2Zvb3RlciBwIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuI2Jsb2NfY29udGFjdF9pbmZvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jaW5mb19mb290ZXIge1xuICBwYWRkaW5nOiA0LjVyZW0gMDtcbn1cblxuLyoqKiBBUFBMSVMgRk9PVEVSIC0gTkVXU0xFVFRFUiAtIFBXQSAqKiovXG4vKiNmb290ZXIgLmFwcGxpX2Zvb3RlciB7XG5cdHBhZGRpbmc6MC41cmVtIDAgMCA0cmVtOyBiYWNrZ3JvdW5kLXNpemU6My4ycmVtIGF1dG87IGJhY2tncm91bmQtcG9zaXRpb246dG9wIGxlZnQ7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgbWluLWhlaWdodDozLjJyZW07XG5cdC50aXRyZV9pbmZvX2Zvb3RlciB7bWFyZ2luLWJvdHRvbToxcmVtO31cblx0LmJ0bl9saWVuIHt3aGl0ZS1zcGFjZTpub3dyYXA7fVxuXHRwIHtsaW5lLWhlaWdodDoxLjM7IGZvbnQtc2l6ZToxLjVlbTsgbWFyZ2luLWJvdHRvbToxLjVyZW07fVxufVxuXG4jZm9vdGVyIC5hcHBsaV9mb290ZXI6bm90KDpmaXJzdC1jaGlsZCkge21hcmdpbi10b3A6My41cmVtO31cblxuI2Zvb3RlciAuYXBwbGlfZm9vdGVyLCAjZm9vdGVyIC5hcHBsaV9mb290ZXIucHdhIHttYXgtd2lkdGg6IDM0cmVtO30qL1xuLyoqKiBSRVNFQVVYIFNPQ0lBVVggKioqL1xuLnJlc2VhdXhfc29jaWF1eCB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnJlc2VhdXhfc29jaWF1eCBsaSB7XG4gIG1hcmdpbi1yaWdodDogMi40cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucmVzZWF1eF9zb2NpYXV4IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG4ucmVzZWF1eF9zb2NpYXV4IGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvY29udGFpbjtcbn1cblxuI2Zvb3RlciAucmVzZWF1eF9zb2NpYXV4IGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07XG59XG4jZm9vdGVyIC5yZXNlYXV4X3NvY2lhdXggdWwge1xuICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiNmb290ZXIgLnJlc2VhdXhfc29jaWF1eCBsaSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiNmb290ZXIgLnJlc2VhdXhfc29jaWF1eCBsaSBhIHtcbiAgd2lkdGg6IDMuMnJlbTtcbiAgaGVpZ2h0OiAzLjJyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqKiBBUFBMSUNBVElPTiAqKiovXG4jZm9vdGVyIC5hcHAge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG4jZm9vdGVyIC5hcHAgcCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbiNmb290ZXIgLmFwcCAuZGVzY3JpcHRpb25fYXBwIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbiNmb290ZXIgLmFwcCBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4vKioqIEdPIFRPIFRPUCAqKiovXG4jYmFja190b190b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA1LjVyZW07XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4jYmFja190b190b3AgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuI2JhY2tfdG9fdG9wIHAgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNy40cmVtO1xuICBoZWlnaHQ6IDcuNHJlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkICNlMmUyZTI7XG59XG5cbi8qKiogTUVOVSBGT09URVIgKioqL1xuI21lbnVfZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbiNtZW51X2Zvb3RlciB1bCB7XG4gIHBhZGRpbmc6IDIuOXJlbSAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuI21lbnVfZm9vdGVyIHVsIGxpIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcGFkZGluZzogMCAxLjVyZW0gMCAyLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG59XG4jbWVudV9mb290ZXIgdWwgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4jbWVudV9mb290ZXIgdWwgbGkgYSB7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuI21lbnVfZm9vdGVyIHVsIGxpIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZJTCBEJ0FSSUFORSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI2NvbnRhaW5fYXJpYW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4jcGFnZS5saXN0ICNjb250YWluX2FyaWFuZSwgI3BhZ2UuZGFzaGJvYXJkICNjb250YWluX2FyaWFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4jZmlsX2FyaWFuZSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4jZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAwIDAgMCAwLjVyZW07XG59XG4jZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMgbGkge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBub25lO1xufVxuI2ZpbF9hcmlhbmUgLmJyZWFkY3J1bWJzIGxpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAyLjZyZW07XG4gIGhlaWdodDogMC41cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMC40cmVtIGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4jZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4jZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMgbGk6bGFzdC1jaGlsZCB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbn1cbiNmaWxfYXJpYW5lIC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIHNwYW4ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbiNmaWxfYXJpYW5lIC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4jZmlsX2FyaWFuZSAuYnJlYWRjcnVtYnMgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiNmaWxfYXJpYW5lIC5icmVhZGNydW1icyBsaSBhOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBEQVRFIE1BSiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKiogREFURSBERSBNSVNFIEEgSk9VUiAqKiovXG4uZGF0ZV9tYWoge1xuICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuXG4uZGF0ZV9tYWogcCwgLmNvbnRlbnRfcGFnZSAuZGF0ZV9tYWogcCB7XG4gIGNvbG9yOiAjNzk3Njc2O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gIDIwLiBGb3Jtc1xyXG4vLyAgMjEuIExhYmVsXHJcbi8vICAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMy4gTWVudVxyXG4vLyAgMjQuIE1ldGVyXHJcbi8vICAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAgMjYuIE9yYml0XHJcbi8vICAyNy4gUGFnaW5hdGlvblxyXG4vLyAgMjguIFByb2dyZXNzIEJhclxyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICA0Ny4gUmV2ZWFsXHJcbi8vICA0OC4gU2xpZGVyXHJcbi8vICA0OS4gU3dpdGNoXHJcbi8vICA1MC4gVGFibGVcclxuLy8gIDUxLiBUYWJzXHJcbi8vICA1Mi4gVGh1bWJuYWlsXHJcbi8vICA1My4gVGl0bGUgQmFyXHJcbi8vICA1NC4gVG9vbHRpcFxyXG4vLyAgNTUuIFRvcCBCYXJcclxuLy8gIDU2LiBYeSBHcmlkXHJcblxyXG5AaW1wb3J0ICcuL3V0aWwnO1xyXG5cclxuLyogRnVuY3Rpb25zIHNhc3MgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL2Z1bmN0aW9ucyc7XHJcblxyXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL19jaW1fc2V0dGluZ3MnO1xyXG5cclxuLyogVmFyaWFibGVzIGRlcyBpY29uZXMgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL2NpbV9pY29ucyc7XHJcblxyXG4vKiBGb250cyAqL1xyXG4kYWx0ZXJuYXRpdmUgOiBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuJG1vbnRzZXJyYXRfcmVndWxhciA6ICdtb250c2VycmF0X3JlZ3VsYXInLCAkYWx0ZXJuYXRpdmU7XHJcbiRtb250c2VycmF0X3NlbWlib2xkIDogJ21vbnRzZXJyYXRfc2VtaWJvbGQnLCAkYWx0ZXJuYXRpdmU7XHJcbiRtb250c2VycmF0X2JvbGQgOiAnbW9udHNlcnJhdF9ib2xkJywgJGFsdGVybmF0aXZlO1xyXG5cclxuJHJlZ3VsYXIgOiAkbW9udHNlcnJhdF9yZWd1bGFyO1xyXG4kc2VtaWJvbGQ6ICRtb250c2VycmF0X3NlbWlib2xkO1xyXG4kYm9sZCA6ICRtb250c2VycmF0X2JvbGQ7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogNjIuNSU7XHJcbiRnbG9iYWwtdGV4dC1mb250LXNpemU6IDEuOGVtO1xyXG4kZ2xvYmFsLXdpZHRoOiAxNDRyZW07XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS40O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgICAgICAgcHJpbWFyeTogJGNpbV9wcmltYXJ5X2NvbG9yLFxyXG4gICAgICAgIHNlY29uZGFyeTogJGNpbV9zZWNvbmRhcnlfY29sb3IsXHJcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgICAgIGFsZXJ0OiAjY2M0YjM3LFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogJGNpbV9saWdodF9ncmF5O1xyXG4kbWVkaXVtLWdyYXk6ICRjaW1fbWVkaXVtX2dyYXk7XHJcbiRkYXJrLWdyYXk6ICRjaW1fZGFya19ncmF5O1xyXG4kYmxhY2s6ICRjaW1fYmxhY2s7XHJcbiR3aGl0ZTogJGNpbV93aGl0ZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJHJlZ3VsYXI7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiRnbG9iYWwtbWFyZ2luOiAzcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDNyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcclxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbiRwcmludC1ocmVmczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICBtZWRpdW06IDY0MHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXHJcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICAgICAgICBoaWRwaS0xOiAxLFxyXG4gICAgICAgIGhpZHBpLTEtNTogMS41LFxyXG4gICAgICAgIGhpZHBpLTI6IDIsXHJcbiAgICAgICAgcmV0aW5hOiAyLFxyXG4gICAgICAgIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLXgtY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICAgICAgc21hbGw6IDNyZW0sXHJcbiAgICAgICAgbWVkaXVtOiAzcmVtLFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2xkO1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICAgICAgICBzbWFsbDogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAyLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIuMmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtLCAnbGluZS1oZWlnaHQnOiAxLjQpLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgbWVkaXVtOiAoXHJcbiAgICAgICAgICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMuNWVtKSxcclxuICAgICAgICAgICAgICAgICdoMic6ICgnZm9udC1zaXplJzogMi42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAyLjJlbSksXHJcbiAgICAgICAgICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNSc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAncCc6ICgnZm9udC1zaXplJzogMS44ZW0sICdsaW5lLWhlaWdodCc6IDEuNyksXHJcbiAgICAgICAgKSxcclxuICAgICAgICBsYXJnZTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiA1LjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMi40ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtLCAnbGluZS1oZWlnaHQnOiAxLjcpLFxyXG4gICAgICAgIClcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiAxMDAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcblxyXG4vLyBQYXJhZ3JhcGhlc1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHJcbi8vID9cclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcblxyXG4vLyBMaXN0ZXNcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMDtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAwIDAgMCAxLjVyZW07XHJcblxyXG4vLyA/XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuXHJcbi8vIEJsb2NrcXVvdGVzXHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiAwIDAgMCAxMnJlbTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcblxyXG4vLyA/XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJyc7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJyc7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogM3JlbSA1cmVtIDNyZW0gMDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwLjFyZW0gc29saWQgJGNpbV9kYXJrX2dyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMTByZW0gM3JlbSAwO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0cmVtO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiAwLjZyZW07XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRjaW1fYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRjaW1fYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46MDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi11cHBlcmNhc2U6IGZhbHNlO1xyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9sZDtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1jb2xvcjogJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiA0LjhyZW07XHJcbiRidXR0b24tYm9yZGVyOiAwLjFyZW0gc29saWQgJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAwLjFyZW07XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICAgICAgICB0aW55OiAxLjRyZW0sXHJcbiAgICAgICAgc21hbGw6IDEuNHJlbSxcclxuICAgICAgICBkZWZhdWx0OiAxLjZyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDJyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICAgICAgICBzbWFsbDogMC41cmVtLFxyXG4gICAgICAgIGRlZmF1bHQ6IDFyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xyXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjY2cmVtLFxyXG4gICAgICAgIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjMzZW0sXHJcbiAgICAgICAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgICAgICAgc21hbGw6IDEuNWVtLFxyXG4gICAgICAgIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJGNpbV9ibGFjaztcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMHJlbTtcclxuJGRyb3Bkb3duLXJhZGl1czogMXJlbTtcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMTByZW0sXHJcbiAgICAgICAgc21hbGw6IDIwcmVtLFxyXG4gICAgICAgIGxhcmdlOiAzMHJlbSxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjByZW07XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMC4xcmVtIHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4vLyBGaWVsZHNldFxyXG4kZmllbGRzZXQtYm9yZGVyOiBub25lO1xyXG4kZmllbGRzZXQtcGFkZGluZzogMDtcclxuJGZpZWxkc2V0LW1hcmdpbjogMDtcclxuXHJcbi8vIExlZ2VuZFxyXG4kbGVnZW5kLXBhZGRpbmc6IDA7XHJcblxyXG4vLyBGb3JtXHJcbiRmb3JtLXNwYWNpbmc6IDA7XHJcbiRmb3JtLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcblxyXG4vLyA/XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcblxyXG4vLyA/XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIExhYmVsXHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IDEuNmVtO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG5cclxuLy8gSW5wdXRcclxuJGlucHV0LWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRjaW1fbWVkaXVtX2dyYXk7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoJGdsb2JhbC10ZXh0LWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6IDEuMjtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IHJnYmEoJGNpbV9saWdodF9ncmF5LCAwLjMpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogcmdiYSgkbWVkaXVtLWdyYXksIDAuNSkgIWltcG9ydGFudDtcclxuJGlucHV0LWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgMC4xcmVtIHNvbGlkICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJGlucHV0LXBhZGRpbmc6IDAuN3JlbSAwO1xyXG4kaW5wdXQtc2hhZG93OiBub25lO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6IDA7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gU2VsZWN0XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZToxLjRlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDA7XHJcbiRsYWJlbC1yYWRpdXM6IDA7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgICAgICAgbWVkaXVtOiA0MHJlbSxcclxuICAgICAgICBzbWFsbDogMTAwdncsXHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICAgICAgICBzbWFsbDogMjVyZW0sXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGNpbV93aGl0ZTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGNpbV9ibGFjaywgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1zbGljazogdHJ1ZTtcclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXRleHQtZm9udC1zaXplO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAwO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IDFyZW07XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogMDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6IHRyYW5zcGFyZW50O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1ob3ZlcjogJGNpbV9wcmltYXJ5X2NvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkY2ltX2xpZ2h0X2dyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkY2ltX2xpZ2h0X2dyYXk7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJyc7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgICAgICAgZG93bixcclxuICAgICAgICB1cCxcclxuICAgICAgICByaWdodCxcclxuICAgICAgICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICAgICAgICBpbmxpbmUsXHJcbiAgICAgICAgaW5saW5lLWJsb2NrLFxyXG4gICAgICAgIGJsb2NrLFxyXG4gICAgICAgIHRhYmxlLFxyXG4gICAgICAgIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICAgICAgICBkaXNjLFxyXG4gICAgICAgIGNpcmNsZSxcclxuICAgICAgICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICAgICAgICBkZWNpbWFsLFxyXG4gICAgICAgIGxvd2VyLWFscGhhLFxyXG4gICAgICAgIGxvd2VyLWxhdGluLFxyXG4gICAgICAgIGxvd2VyLXJvbWFuLFxyXG4gICAgICAgIHVwcGVyLWFscGhhLFxyXG4gICAgICAgIHVwcGVyLWxhdGluLFxyXG4gICAgICAgIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgICAgICAgdmlzaWJsZSxcclxuICAgICAgICBoaWRkZW4sXHJcbiAgICAgICAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgICAgICAgc3RhdGljLFxyXG4gICAgICAgIHJlbGF0aXZlLFxyXG4gICAgICAgIGFic29sdXRlLFxyXG4gICAgICAgIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgICAgICAgd2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAgICAgICAyNTogMjUlLFxyXG4gICAgICAgIDUwOiA1MCUsXHJcbiAgICAgICAgNzU6IDc1JSxcclxuICAgICAgICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gICAgICAgIG92ZXJsaW5lLFxyXG4gICAgICAgIHVuZGVybGluZSxcclxuICAgICAgICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgICAgICAgbG93ZXJjYXNlLFxyXG4gICAgICAgIHVwcGVyY2FzZSxcclxuICAgICAgICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gICAgICAgIGRlZmF1bHQ6IDQgYnkgMyxcclxuICAgICAgICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6IHJnYmEoJGNpbV93aGl0ZSwgMC45KTtcclxuJHJldmVhbC13aWR0aDogODAlO1xyXG4kcmV2ZWFsLW1heC13aWR0aDogODByZW07XHJcbiRyZXZlYWwtcGFkZGluZzogOS41NXJlbTtcclxuJHJldmVhbC1ib3JkZXI6IG5vbmU7XHJcbiRyZXZlYWwtcmFkaXVzOiAwO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kdGFibGUtcGFkZGluZzogMS41cmVtO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGRhcmstZ3JheSwgMC44KTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogJGNpbV9saWdodF9ncmF5O1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gICAgICAgIHNtYWxsOiAzcmVtLFxyXG4gICAgICAgIG1lZGl1bTogM3JlbVxyXG4pO1xyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vKiBDdXN0b20gbWl4aW5zICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9jaW1fbWl4aW5zJzsiLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKiBGb25jdGlvbiBxdWkgZ2VuZXJlIHVuIHN2ZyBiYWNrZ3JvdW5kLWltYWdlICoqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRAZnVuY3Rpb24gc3ZnLXVybCgkc3ZnKXsgICAgXHJcblx0ICAgICRlbmNvZGVkOicnO1xyXG5cdCAgICAkc2xpY2U6IDIwMDA7XHJcblx0ICAgICRpbmRleDogMDtcclxuXHQgICAgJGxvb3BzOiBjZWlsKGNhbGMoc3RyLWxlbmd0aCgkc3ZnKSAvICRzbGljZSkpO1xyXG5cdCAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsb29wcyB7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1zbGljZSgkc3ZnLCAkaW5kZXgsICRpbmRleCArICRzbGljZSAtIDEpOyBcclxuXHQgICAgICBcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCdcIicsJ1xcJycpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJzwnLCclM0MnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCc+JywnJTNFJyk7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnJicsJyUyNicpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJyMnLCclMjMnKTsgICAgICAgXHJcblx0ICAgICAgICAkZW5jb2RlZDogI3skZW5jb2RlZH0jeyRjaHVua307XHJcblx0ICAgICAgICAkaW5kZXg6ICRpbmRleCArICRzbGljZTsgXHJcblx0ICAgIH1cclxuXHQgICAgQHJldHVybiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCN7JGVuY29kZWR9XCIpO1xyXG5cdH1cdFx0XHQgICAgICAgICAgICBcclxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XHJcblx0ICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpOyBcclxuXHQgICAgQGlmICRpbmRleCB7IFxyXG5cdCAgICAgICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIFxyXG5cdCAgICAgICAgICAgIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBcclxuXHQgICAgICAgICAgICBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpOyBcclxuXHQgICAgfVxyXG5cdCAgICBAcmV0dXJuICRzdHJpbmc7IFxyXG5cdH0iLCIvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiBDT1VMRVVSUyAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuXHQvLyBMYWlzc2VyIGp1c3F1J2EgbGEgZmluIGR1IHByb2pldCBwb3VyIHZvaXIgc2kgZGVzIMOpbMOpbWVudHMgb250IMOpdMOpIG91Ymxpw6lzIChjaGVyY2hlci9yZW1wbGFjZXIpXHJcbiAgICAkZGVmYXVsdF9jb2xvcjogc2FsbW9uO1xyXG5cclxuXHQvKiBDb3VsZXVycyBwcm9qZXQgKi9cclxuXHJcblx0XHQvLyBCYXJ0XHJcblx0XHRcdCRibHVlOiAjMDA2MUFFO1xyXG5cdFx0XHQkeWVsbG93OiAjRkFERDA0O1xyXG5cdFx0XHQkZ3JleWlzaDogI0E4QURDNjtcclxuXHJcblx0XHQvKiB1dGlsaXPDqXMgZGFucyBzZXR0aW5ncyBGb3VuZGF0aW9uICovXHJcblx0XHRcdCRjaW1fcHJpbWFyeV9jb2xvcjogJGJsdWU7XHJcblx0XHRcdCRjaW1fc2Vjb25kYXJ5X2NvbG9yOiAkeWVsbG93O1xyXG5cdFx0XHQkY2ltX3RoaXJkX2NvbG9yOiAkZ3JleWlzaDtcclxuXHRcdFx0JGNpbV9mb3VydGhfY29sb3I6ICRjaW1fdGhpcmRfY29sb3I7IiwiQGltcG9ydCAnX2NpbV9zZXR0aW5nc19jb2xvcnMnO1xyXG5cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqIENPVUxFVVJTIEhPUlMgQ0lNXyogKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcblx0LyogQ291bGV1cnMgYmFzaXF1ZXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cclxuXHRcdCRjaW1fd2hpdGU6ICNmZmZmZmY7XHJcblx0XHQkY2ltX2JsYWNrOiAjMDAwMDAwO1xyXG5cclxuXHQvKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cclxuXHRcdCRjaW1fbGlnaHRfZ3JheTogI2UyZTJlMjtcclxuXHRcdCRjaW1fbWVkaXVtX2dyYXk6ICNiMWIxYjE7XHJcblx0XHQkY2ltX2RhcmtfZ3JheTogIzc5NzY3NjtcclxuXHJcblx0LyogRGFzaGJvYXJkICovXHJcblx0XHQkZGJfbGlnaHRfZ3JheTogI2ZjZmNmYztcclxuXHRcdCRkYl9tZWRpdW1fZ3JheTogJGNpbV9saWdodF9ncmF5O1xyXG5cdFx0JGRiX3NoYWRvdzogMCAwIDFyZW0gcmdiYSgwLDAsMCwwLjA1KTtcclxuXHJcblx0LyogUmVzZWF1eCBzb2NpYXV4ICovXHJcblx0XHQkY29sb3JfZmFjZWJvb2s6ICMxNzc4RjI7XHJcblx0XHQkY29sb3JfdHdpdHRlcjogIzJjYTdlMDtcclxuXHRcdCRjb2xvcl9saW5rZWRpbjogIzBlNzZhODtcclxuXHRcdCRjb2xvcl95b3V0dWJlOiAjZmYwMDAwO1xyXG5cdFx0JGNvbG9yX3ZpbWVvOiAjMTliN2VhO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8xOiAjZmZiMTQwO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8yOiAjZmY1NDQ1O1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8zOiAjZmMyYjgyO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV80OiAjOGU0MGI3O1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbTogJGNvbG9yX2luc3RhZ3JhbV80O1xyXG5cdFx0JGdyYWRpZW50X2luc3RhZ3JhbTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MCUgMTA3JSwgJGNvbG9yX2luc3RhZ3JhbV8xIDAlLCAkY29sb3JfaW5zdGFncmFtXzEgNSUsICRjb2xvcl9pbnN0YWdyYW1fMiA0NSUsICRjb2xvcl9pbnN0YWdyYW1fMyA2MCUsICRjb2xvcl9pbnN0YWdyYW1fNCA5MCUpO1xyXG5cclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBDT05GSUcgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5cdC8qKiogTEFZT1VUICoqKi9cclxuXHRcdC8qIEhhdXRldXIgZHUgaGVhZGVyICovXHJcblx0XHRcdCRoZWFkZXJfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDEwcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNy41cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA1LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogSE9NRSAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cclxuXHRcdFx0JGJhbmRlYXVfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDc4LjJyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA1MHJlbSxcclxuXHRcdFx0XHRzbWFsbDogMzVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXHJcblx0XHRcdCRtYXJnaW5Ub3BBY2NlczogKFxyXG5cdFx0XHRcdGxhcmdlOiA0LjNyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA0LjNyZW0sXHJcblx0XHRcdFx0c21hbGw6IDQuM3JlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0LyoqKiBFRElUTyAqKiovXHJcblx0XHQgLyogTWFyZ2luIGJvdHRvbSBzb3VzIGxlcyBibG9jcyAqL1xyXG5cdFx0XHQkYmxvY19jb2xfbWFyZ2luOiAoXHJcblx0XHRcdFx0bGFyZ2U6IDZyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA2cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiAzcmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdC8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xyXG5cdFx0XHQkYmFuZGVhdXBhZ2VfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDY3LjhyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA3LjVyZW0sXHJcblx0XHRcdFx0c21hbGw6IDcuNXJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0LyoqKiBQQUdFIERFIExJU1RFICoqKi9cclxuXHRcdC8qIEhhdXRldXIgZHUgbW90ZXVyICovXHJcblx0XHRcdCRtb3RldXJfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDVyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA2LjFyZW0sXHJcblx0XHRcdFx0c21hbGw6IDYuNXJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cclxuXHRcdFx0JHRvcF9tb3RldXJfcGFkZGluZ1RvcDogKFxyXG5cdFx0XHRcdGxhcmdlOiAxcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogMnJlbSxcclxuXHRcdFx0XHRzbWFsbDogMnJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBSZXN1bHRhdHMgLSBlc3BhY2UgZW50cmUgbW90ZXVyOmJvdHRvbSBldCB2aWduZXR0ZTp0b3AgZGUgcGFnZSBkZSBsaXN0ZSAqL1xyXG5cdFx0XHQkcmVzdWx0X21hcmdpblRvcDogKFxyXG5cdFx0XHRcdGxhcmdlOiAycmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogMnJlbSxcclxuXHRcdFx0XHRzbWFsbDogMnJlbSxcclxuXHRcdFx0KTtcclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqIFNWRyBPUFRJT05TIEQnRVhQT1JUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qXHJcblx0T3B0aW9ucyBkJ2V4cG9ydCBwb3VyIHJlbmRyZSBsZXMgU1ZHIGJhY2tncm91bmQtaW1hZ2UgY29tcGF0aWJsZXMgYXZlYyBJRTExXHJcblxyXG5cdEZpY2hpZXIgQUkgPiBFeHBvcnRlciBsYSBzZWxlY3Rpb24gPiBwYXJhbcOodHJlcyAoZm9ybWF0KSA+IFNWR1xyXG5cdFx0QXR0cmlidXRzIGRlIHByw6lzZW50YXRpb25cclxuXHRcdFNWR1xyXG5cdFx0SW5jb3Jwb3JlclxyXG5cdFx0Tm9tcyBkZSBjYWxxdWVzXHJcblx0XHQyXHJcblx0XHRNaW5pbWlmaWVyXHJcblx0XHRSZXNwb25zaXZlXHJcblxyXG5cdCsgYWpvdXQgZGUgbCdhdHRyaWJ1dCBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIlxyXG5cclxuXHRTaSBwcm9ibGVtZSBkZSBzdmcgYXZlYyBwb3BseWxpbmUgb3UgbGluZSA+IG91dnJpciBsZSBzdmcgZGFucyBhaSA+IHNlbGVjdGlvbiBkZSBsJ2ljb25lID4gT2JqZXQgPiB0cmFjw6kgPiBWZWN0b3Jpc2VyIGxlIGNvbnRvdXJcclxuKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKiogSU1QT1JUICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cclxuXHQgQGltcG9ydCAnX2NpbV9zZXR0aW5ncyc7XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKiBMQVlPVVQgKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qIFRoZV9jaGV2cm9uICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gdGhlX2NoZXZyb24oJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDggMTBcIj48cGF0aCBkPVwiTTUsMGw1LDhIMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOCkgcm90YXRlKDkwKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBGb3JtdWxhaXJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHNlbGVjdCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTksMmE3LDcsMCwxLDAsNyw3QTcsNywwLDAsMCw5LDJabTAsOC40TDYuMiw3LjZoNS42WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBpY2hlY2soJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybChcIjxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE5OCAxOCc+PHRpdGxlPmljaGVjazwvdGl0bGU+PHJlY3QgeD0nMC41JyB5PScwLjUnIHdpZHRoPScxNycgaGVpZ2h0PScxNycgcng9JzMuNScgcnk9JzMuNScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxwYXRoIGQ9J00xNCwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM0g0YTMsMywwLDAsMS0zLTNWNEEzLDMsMCwwLDEsNCwxSDE0bTAtMUg0QTQsNCwwLDAsMCwwLDRWMTRhNCw0LDAsMCwwLDQsNEgxNGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHJlY3QgeD0nMjAuNScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNvbG9yfScgb3BhY2l0eT0nMC44Jy8+PHBhdGggZD0nTTM0LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzSDI0YTMsMywwLDAsMS0zLTNWNGEzLDMsMCwwLDEsMy0zSDM0bTAtMUgyNGE0LDQsMCwwLDAtNCw0VjE0YTQsNCwwLDAsMCw0LDRIMzRhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjb2xvcn0nLz48cmVjdCB4PSc0MCcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyByeD0nNCcgcnk9JzQnIGZpbGw9JyN7JGNvbG9yfScvPjxwYXRoIGQ9J001NC45LDUuOCw1My4yLDMuOWEuMTkuMTksMCwwLDAtLjMsMGgwbC02LjEsNi41TDQ1LjIsOC43YS4xOS4xOSwwLDAsMC0uMywwaDBsLTEuNywxLjlhLjMuMywwLDAsMCwwLC40bDMuNSwzLjdhLjE5LjE5LDAsMCwwLC4zLDBoMGw4LTguNUM1NSw2LDU1LDUuOSw1NC45LDUuOFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cmVjdCB4PSc2MC41NScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNNzQuMDUsMWEzLDMsMCwwLDEsMywzVjE0YTMsMywwLDAsMS0zLDNoLTEwYTMsMywwLDAsMS0zLTNWNGEzLDMsMCwwLDEsMy0zaDEwbTAtMWgtMTBhNCw0LDAsMCwwLTQsNFYxNGE0LDQsMCwwLDAsNCw0aDEwYTQsNCwwLDAsMCw0LTRWNGE0LDQsMCwwLDAtNC00WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nLz48cmVjdCB4PSc4MC41NScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHBhdGggZD0nTTk0LjA1LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzaC0xMGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM2gxMG0wLTFoLTEwYTQsNCwwLDAsMC00LDRWMTRhNCw0LDAsMCwwLDQsNGgxMGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHBhdGggZD0nTTk0LjksNS44LDkzLjIsMy45YS4xOS4xOSwwLDAsMC0uMywwaDBsLTYuMSw2LjVMODUuMiw4LjdhLjE5LjE5LDAsMCwwLS4zLDBoMGwtMS43LDEuOWEuMy4zLDAsMCwwLDAsLjRsMy41LDMuN2EuMTkuMTksMCwwLDAsLjMsMGgwbDgtOC41Qzk1LDYsOTUsNS45LDk0LjksNS44WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxjaXJjbGUgY3g9JzEwOS4wNScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxwYXRoIGQ9J00xMDkuMDUsMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PGNpcmNsZSBjeD0nMTI5JyBjeT0nOScgcj0nOC41JyBmaWxsPScjeyRjb2xvcn0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00xMjksMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNvbG9yfScvPjxjaXJjbGUgY3g9JzE0OScgY3k9JzknIHI9JzknIGZpbGw9JyN7JGNvbG9yfScvPjxjaXJjbGUgY3g9JzE2OScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00xNjksMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PGNpcmNsZSBjeD0nMTg5JyBjeT0nOScgcj0nOScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nLz48L3N2Zz5cIik7fVxyXG5cclxuXHQgLyogU2xpY2sgc2xpZGVyICovXHJcblx0IFx0LyogT0sgKi8gQG1peGluIHNsaWNrX3ByZXYoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTYsMTYuNTksMTEuNDIsMTIsMTYsNy40MSwxNC41OSw2bC02LDYsNiw2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC41OSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMjQsMEgwVjI0SDI0WlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzbGlja19uZXh0KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTguNTksMTYuNTksMTMuMTcsMTIsOC41OSw3LjQxLDEwLDZsNiw2LTYsNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGNyb3NzKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTcsMTRINXY1aDVWMTdIN1pNNSwxMEg3VjdoM1Y1SDVabTEyLDdIMTR2Mmg1VjE0SDE3Wk0xNCw1VjdoM3YzaDJWNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQm91dG9ucyAqL1xyXG5cdFx0LyogQm91dG9uIExJRU4gKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9saWVuX3BpY3RvKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTE0LjMzMywxMC4zMzNoLTR2NEg5di00SDVWOUg5VjVoMS4zMzNWOWg0WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTEuNjY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBCb3V0b24gQUxMICovXHJcblx0XHQvKiBCb3V0b24gVFhUICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fdHh0KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtAaW5jbHVkZSB0aGVfY2hldnJvbigjeyRjb2xvcn0pO31cclxuXHJcblx0XHQvKiBCdG4gY2xvc2UgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9jbG9zZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxwYXRoIGQ9XCJNMCwwSDI2VjI2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xOS40NjUsNi40NTcsMTguMDA4LDVsLTUuNzc2LDUuNzc2TDYuNDU3LDUsNSw2LjQ1N2w1Ljc3Niw1Ljc3Nkw1LDE4LjAwOGwxLjQ1NywxLjQ1Nyw1Ljc3Ni01Ljc3Niw1Ljc3Niw1Ljc3NiwxLjQ1Ny0xLjQ1Ny01Ljc3Ni01Ljc3NlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC43NjcgMC43NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogQXJyb3cgYmFjayAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX2JhY2soJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDggMTBcIj48cGF0aCBkPVwiTTAsNSw4LDBWMTBaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogQXJyb3cgcmVpbml0ICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fcmVpbml0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTguNjY3LDJhNi42NjcsNi42NjcsMCwxLDAsNi42NjcsNi42NjdBNi42NjEsNi42NjEsMCwwLDAsOC42NjcsMlpNMTIsMTEuMDZsLS45NC45NEw4LjY2Nyw5LjYwNyw2LjI3MywxMmwtLjk0LS45NEw3LjcyNyw4LjY2Nyw1LjMzMyw2LjI3M2wuOTQtLjk0TDguNjY3LDcuNzI3LDExLjA2LDUuMzMzbC45NC45NEw5LjYwNyw4LjY2N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogSGVhZGVyICovXHJcblx0XHQvKiBNZW51IHByaW5jaXBhbCBOMSBhY3RpZiAqL1xyXG5cdFx0LyogTWVudSBwcmluY2lwYWwgTjIgKi9cclxuXHJcblx0XHQvKiBMb3VwZSAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gbG91cGUoJGNvbG9yOiRjaW1fZGFya19ncmF5KSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCI+PHBhdGggZD1cIk0xNi4wMjEsMTQuNDU4SDE1LjJsLS4yOTItLjI4MWE2Ljc4MSw2Ljc4MSwwLDEsMC0uNzI5LjcyOWwuMjgxLjI5MnYuODIzbDUuMjA4LDUuMiwxLjU1Mi0xLjU1MlptLTYuMjUsMGE0LjY4OCw0LjY4OCwwLDEsMSw0LjY4Ny00LjY4N0E0LjY4MSw0LjY4MSwwLDAsMSw5Ljc3MSwxNC40NThaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTI1IDAuMTI1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMjVWMjVIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTWljcm8gKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIG1pY3JvKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yLjI5NiAtMi40MTcpXCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yOTYgMi40MTcpXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMi4wMSwxOC43NzlBNS43NzIsNS43NzIsMCwwLDEsMTEsMTguNzExdjMuNDEyaDJ2LTMuNEE2LjE2NCw2LjE2NCwwLDAsMSwxMi4wMSwxOC43NzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDEuNzk0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xNy4zMjQsMTJhNS4xODgsNS4xODgsMCwwLDEtNS4yNzYsNS4xaC0uMDI0YTUuMTksNS4xOSwwLDAsMS01LjMtNS4wNzZWMTJoLTEuN2MwLC4xMzMuMDE4LjI2NC4wMjkuNGE2Ljk2Nyw2Ljk2NywwLDAsMCw0LjQxNCw1LjkxMWwuMDkxLjAzNGMuMTMyLjA1MS4yNjcuMS40LjEzOC4xLjAzMi4yMDcuMDYyLjMxMy4wODguMDg1LjAyMi4xNzEuMDQyLjI1Ny4wNjEuMTE4LjAyNS4yMzYuMDQ3LjM1Ni4wNjZhNi41MDcsNi41MDcsMCwwLDAsMS4xNDkuMDgzaC4wM2E2LjUsNi41LDAsMCwwLDEuMDQ5LS4wNzRjLjE3My0uMDI2LjM0NC0uMDU3LjUxMy0uMDk1bC4wNDItLjAxMWMuMTg0LS4wNDMuMzY0LS4wOTQuNTQyLS4xNTIuMDM1LS4wMTEuMDctLjAyNC4xLS4wMzYuMTM3LS4wNDcuMjctLjEuNC0uMTUzLjE1My0uMDY1LjMtLjEzMi40NTItLjIwOGwwLDBBNi45NjQsNi45NjQsMCwwLDAsMTksMTIuNGMuMDExLS4xMzIuMDI1LS4yNjMuMDI4LS40WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjkxNylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTIsMTVhMi45ODcsMi45ODcsMCwwLDAsMi45OS0yLjk4NFYxMkwxNSw2QTMsMywwLDEsMCw5LDZ2NkEzLDMsMCwwLDAsMTIsMTVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDEuOTE3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBNb24gY29tcHRlICovXHJcblx0XHQvKiBBY2PDqHMgYXUgZmF2b3JpcyAqL1xyXG5cdFx0LyogSmUgdm91ZHJhaXMgKi9cclxuXHJcblxyXG5cdC8qIEZvb3RlciAqL1xyXG5cdFx0LyogR28gdG8gdG9wICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnb190b190b3AoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNzRcIiBoZWlnaHQ9XCI3NFwiIHZpZXdCb3g9XCIwIDAgNzQgNzRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE4MDAgLTUyMzkpXCI+PHJlY3Qgd2lkdGg9XCI3NFwiIGhlaWdodD1cIjc0XCIgcng9XCIzN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxODAwIDUyMzkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTE2LDBIMEw3Ljk3MywxNC44NjhaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4NDQuNjI5IDUyODIuOTY3KSByb3RhdGUoMTgwKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTmV3c2xldHRlciAqL1xyXG5cdFx0LyogQ29udGFjdCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2FkcmVzc2UoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MjAwKVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY5LjUgNTIwMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzcuNSA1MjA3LjkzOClcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS42NjcsMy4zMzNBMy4zMjUsMy4zMjUsMCwwLDEsMTMsNi43NjdjMCwxLjQ0LTEuMTQ3LDMuMTEzLTMuMzMzLDQuODhDNy40OCw5Ljg4LDYuMzMzLDguMiw2LjMzMyw2Ljc2N0EzLjMyNSwzLjMyNSwwLDAsMSw5LjY2NywzLjMzM005LjY2NywyQTQuNjQ1LDQuNjQ1LDAsMCwwLDUsNi43NjdxMCwzLjEyLDQuNjY3LDYuNTY3LDQuNjctMy40NCw0LjY2Ny02LjU2N0E0LjY0NSw0LjY0NSwwLDAsMCw5LjY2NywyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNOS42NjcsN0ExLjMzMywxLjMzMywwLDEsMCwxMSw4LjMzMywxLjMzNywxLjMzNywwLDAsMCw5LjY2Nyw3Wk01LDE1LjY2N2g5LjMzM1YxN0g1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTIuMzMzKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2NvbnRhY3QoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MzMxLjUxNClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUzMzEuNTE0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3Ny41IDUzNDApXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTE0LDJIMy4zMzNBMS4zMzcsMS4zMzcsMCwwLDAsMiwzLjMzM3YxMmwyLjY2Ny0yLjY2N0gxNGExLjMzNywxLjMzNywwLDAsMCwxLjMzMy0xLjMzM3YtOEExLjMzNywxLjMzNywwLDAsMCwxNCwyWm0wLDkuMzMzSDQuMTEzbC0uNzguNzhWMy4zMzNIMTRaTTUuMzMzLDYuNjY3SDYuNjY3VjhINS4zMzNabTUuMzMzLDBIMTJWOEgxMC42NjdaTTgsNi42NjdIOS4zMzNWOEg4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX3RlbCgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTY5LjUgLTUyODEuMDE0KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY5LjUgNTI4MS4wMTQpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTc3LjUgNTI4OSlcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNS4zNiw0LjMzM2E4LjIwOCw4LjIwOCwwLDAsMCwuMywxLjcyN2wtLjguOGE5Ljg4NCw5Ljg4NCwwLDAsMS0uNTA3LTIuNTI3SDUuMzZtNi41NzMsOC4wMTNhOC41LDguNSwwLDAsMCwxLjczMy4zdi45OTNhMTAuMjg0LDEwLjI4NCwwLDAsMS0yLjUzMy0uNWwuOC0uNzkzTTYsM0gzLjY2N0EuNjY5LjY2OSwwLDAsMCwzLDMuNjY3LDExLjMzMiwxMS4zMzIsMCwwLDAsMTQuMzMzLDE1LC42NjkuNjY5LDAsMCwwLDE1LDE0LjMzM1YxMi4wMDdhLjY2OS42NjksMCwwLDAtLjY2Ny0uNjY3LDcuNiw3LjYsMCwwLDEtMi4zOC0uMzguNTYuNTYsMCwwLDAtLjIwNy0uMDMzLjY4My42ODMsMCwwLDAtLjQ3My4xOTNMOS44MDcsMTIuNTg3QTEwLjEsMTAuMSwwLDAsMSw1LjQxMyw4LjE5M0w2Ljg4LDYuNzI3YS42NjkuNjY5LDAsMCwwLC4xNjctLjY4LDcuNTc0LDcuNTc0LDAsMCwxLS4zOC0yLjM4QS42NjkuNjY5LDAsMCwwLDYsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEgLTEpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogRm9vdGVyIHJlc2VhdXggc29jaWF1eCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2ZhY2Vib29rKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNDA2Ljg4NSAtMjgyLjg4NSlcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MDYuODg1IDI4Mi44ODUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTcuNDc2LDEwLjU5VjUuOTU3SDkuNDYxbC4zMzEtMS45ODZINy40NzZWMi45NzhhLjg3OC44NzgsMCwwLDEsLjk5My0uOTkzaC45OTNWMEg3LjgwN0M2LjE1MiwwLDUuNDkuOTkzLDUuNDksMi42NDdWMy45NzFIMy41VjUuOTU3SDUuNDlWMTAuNTlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MTYuMTE4IDI5My41OSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2luc3RhZ3JhbSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI1IDIuMjUpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi4yNSAtMi4yNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2Ljg5MiA2Ljg5MylcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiPjxwYXRoIGQ9XCJNMi4zNjcuMzZhMy4zNjMsMy4zNjMsMCwwLDAtMS4yMTUuNzkyQTMuMzUyLDMuMzUyLDAsMCwwLC4zNiwyLjM2NCw1LjAxNCw1LjAxNCwwLDAsMCwuMDQyLDQuMDI4Qy4wMDgsNC43NTgsMCw0Ljk5MiwwLDYuODU0cy4wMDgsMi4xLjA0MiwyLjgyNkE1LjA4Niw1LjA4NiwwLDAsMCwuMzYsMTEuMzQ1YTMuMzYzLDMuMzYzLDAsMCwwLC43OTIsMS4yMTUsMy4zNjMsMy4zNjMsMCwwLDAsMS4yMTUuNzkyLDUuMDE0LDUuMDE0LDAsMCwwLDEuNjY0LjMxOGMuNzMuMDMzLjk2NC4wNDIsMi44MjYuMDQyczIuMS0uMDA4LDIuODI2LS4wNDJhNS4wODYsNS4wODYsMCwwLDAsMS42NjQtLjMxOCwzLjUxMiwzLjUxMiwwLDAsMCwyLjAwNy0yLjAwNyw1LjAxNCw1LjAxNCwwLDAsMCwuMzE4LTEuNjY0Yy4wMzMtLjczLjA0Mi0uOTY0LjA0Mi0yLjgyNnMtLjAwOC0yLjEtLjA0Mi0yLjgyNmE1LjA4Niw1LjA4NiwwLDAsMC0uMzE4LTEuNjY0LDMuMzgxLDMuMzgxLDAsMCwwLS43ODktMS4yMTNBMy4zNjIsMy4zNjIsMCwwLDAsMTEuMzUxLjM2LDUuMDE0LDUuMDE0LDAsMCwwLDkuNjg2LjA0MkM4Ljk1Ni4wMDgsOC43MjIsMCw2Ljg2LDBzLTIuMS4wMDgtMi44MjYuMDQyQTUuMDMyLDUuMDMyLDAsMCwwLDIuMzY3LjM2Wm03LjI2MS45MTRhMy43NzcsMy43NzcsMCwwLDEsMS4yNzQuMjM3LDIuMTM2LDIuMTM2LDAsMCwxLC43ODkuNTEzLDIuMTM2LDIuMTM2LDAsMCwxLC41MTMuNzg5LDMuNzc3LDMuNzc3LDAsMCwxLC4yMzcsMS4yNzRjLjAzMy43MjIuMDM5LjkzOS4wMzksMi43NzFzLS4wMDgsMi4wNDktLjAzOSwyLjc3MUEzLjc3NywzLjc3NywwLDAsMSwxMi4yLDEwLjlhMi4yNjksMi4yNjksMCwwLDEtMS4zLDEuMywzLjc3NywzLjc3NywwLDAsMS0xLjI3NC4yMzdjLS43MjIuMDMzLS45MzkuMDM5LTIuNzcxLjAzOXMtMi4wNDktLjAwOC0yLjc3MS0uMDM5QTMuNzc3LDMuNzc3LDAsMCwxLDIuODEzLDEyLjJhMi4xMzYsMi4xMzYsMCwwLDEtLjc4OS0uNTEzLDIuMTM2LDIuMTM2LDAsMCwxLS41MTMtLjc4OSwzLjc3NywzLjc3NywwLDAsMS0uMjM3LTEuMjc0Yy0uMDMzLS43MjItLjAzOS0uOTM5LS4wMzktMi43NzFzLjAwOC0yLjA0OS4wMzktMi43NzFhMy43NzcsMy43NzcsMCwwLDEsLjIzNy0xLjI3NCwyLjEzNiwyLjEzNiwwLDAsMSwuNTEzLS43ODksMi4xMzYsMi4xMzYsMCwwLDEsLjc4OS0uNTEzLDMuNzc3LDMuNzc3LDAsMCwxLDEuMjc0LS4yMzdjLjcyMi0uMDMzLjkzOS0uMDM5LDIuNzcxLS4wMzlTOC45MDYsMS4yNCw5LjYyOCwxLjI3NFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNMTE5LjcsMTIzLjIyMWEzLjUyMSwzLjUyMSwwLDEsMCwzLjUyMS0zLjUyMUEzLjUyMSwzLjUyMSwwLDAsMCwxMTkuNywxMjMuMjIxWm01LjgwNiwwYTIuMjg2LDIuMjg2LDAsMSwxLTIuMjg2LTIuMjg2QTIuMjg2LDIuMjg2LDAsMCwxLDEyNS41MDYsMTIzLjIyMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTExNi4zNjMgLTExNi4zNjMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuODIyXCIgY3k9XCIwLjgyMlwiIHI9XCIwLjgyMlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5LjY5OCAyLjM3NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBmb290ZXJfbGlua2VkaW4oJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yNSAyLjI1KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuMjUgLTIuMjUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEyLjAzOCwwSC45NkEuOTUuOTUsMCwwLDAsMCwuOTM3VjEyLjA2MkEuOTUuOTUsMCwwLDAsLjk2LDEzSDEyLjAzOEEuOTUxLjk1MSwwLDAsMCwxMywxMi4wNjJWLjkzN0EuOTUxLjk1MSwwLDAsMCwxMi4wMzgsMFpNMy44NTUsMTEuMDc3SDEuOTI2di02LjJIMy44NTVaTTIuODg5LDQuMDI2QTEuMTIsMS4xMiwwLDEsMSw0LjAwNiwyLjkwNywxLjEyLDEuMTIsMCwwLDEsMi44ODksNC4wMjZabTguMTg4LDcuMDUxSDkuMTVWOC4wNjJjMC0uNzIyLS4wMTUtMS42NDctMS0xLjY0N1M2Ljk5Myw3LjIsNi45OTMsOC4wMDl2My4wN0g1LjA2NHYtNi4ySDYuOTE1di44NDhINi45NGEyLjAzMSwyLjAzMSwwLDAsMSwxLjgyNi0xYzEuOTUsMCwyLjMxMSwxLjI4NCwyLjMxMSwyLjk1NlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNy43NSA3LjQyMilcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX3R3aXR0ZXIoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTIwLjY4LDkuNjdoMi4yTDE4LDE1LjE5bDUuNjYsNy40OEgxOS4yNmwtMy40OC00LjU1LTQsNC41NUg5LjU5bDUuMTMtNS45TDkuMyw5LjY3aDQuNTVMMTcsMTMuODNaTTE5LjksMjEuMzhoMS4yM0wxMy4yMSwxMC45MkgxMS45WlwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl95b3V0dWJlKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNDA3IC0zNDEpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDA3IDM0MSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTMuNTczLDIuMjJBMy4zLDMuMywwLDAsMCwxMy4wMjkuNzY3LDEuODc3LDEuODc3LDAsMCwwLDExLjY1My4xNUM5LjczNywwLDYuODU3LDAsNi44NTcsMGgwcy0yLjg4NCwwLTQuOC4xNUExLjg3NywxLjg3NywwLDAsMCwuNjgxLjc2NywzLjMsMy4zLDAsMCwwLC4xMzcsMi4yMiwyMy41NDIsMjMuNTQyLDAsMCwwLDAsNC41ODZWNS43QTIzLjU0MSwyMy41NDEsMCwwLDAsLjEzNyw4LjA2MSwzLjMsMy4zLDAsMCwwLC42ODEsOS41MTRhMi4yNDEsMi4yNDEsMCwwLDAsMS41MTMuNjI2YzEuMS4xMTEsNC42NjMuMTQ2LDQuNjYzLjE0NnMyLjg4NCwwLDQuOC0uMTVhMS45LDEuOSwwLDAsMCwxLjM3MS0uNjIxLDMuMywzLjMsMCwwLDAsLjU0NC0xLjQ1M0EyMy41NDIsMjMuNTQyLDAsMCwwLDEzLjcxNCw1LjdWNC41ODZhMjMuNTQyLDIzLjU0MiwwLDAsMC0uMTQxLTIuMzY2Wk01LjE0Myw3LjcxNFYyLjU3MUw5LjQyOSw1LjE0M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTQxNi4xNDMgMzUxLjg1NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHJcblx0LyogRmlsIGQnYXJpYW5lICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2VwX2FyaWFuZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMuNVwiIGhlaWdodD1cIjMuNVwiIHZpZXdCb3g9XCIwIDAgMy41IDMuNVwiPjxjaXJjbGUgY3g9XCIxLjc1XCIgY3k9XCIxLjc1XCIgcj1cIjEuNzVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogU2hhcmUgLyBibG9jIG5vdGUgLyBtYWogKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzaGFyZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI5MjIpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyOTIyKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI5MjcpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMiAxLjMzMylcIj48cGF0aCBkPVwiTTEzLDExLjM4N2ExLjk0MSwxLjk0MSwwLDAsMC0xLjMwNy41MTNMNi45NCw5LjEzM0EyLjE4MiwyLjE4MiwwLDAsMCw3LDguNjY3LDIuMTgyLDIuMTgyLDAsMCwwLDYuOTQsOC4ybDQuNy0yLjc0QTIsMiwwLDEsMCwxMSw0YTIuMTgyLDIuMTgyLDAsMCwwLC4wNi40NjdsLTQuNywyLjc0YTIsMiwwLDEsMCwwLDIuOTJMMTEuMTA3LDEyLjlhMS44ODEsMS44ODEsMCwwLDAtLjA1My40MzNBMS45NDcsMS45NDcsMCwxLDAsMTMsMTEuMzg3Wm0wLTguMDUzQS42NjcuNjY3LDAsMSwxLDEyLjMzMyw0LC42NjkuNjY5LDAsMCwxLDEzLDMuMzMzWm0tOCw2YS42NjcuNjY3LDAsMSwxLC42NjctLjY2N0EuNjY5LjY2OSwwLDAsMSw1LDkuMzMzWm04LDQuNjhhLjY2Ny42NjcsMCwxLDEsLjY2Ny0uNjY3QS42NjkuNjY5LDAsMCwxLDEzLDE0LjAxM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMgLTIpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwcmludCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI4ODgpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyODg4KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI4OTMpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMS4zMzMgMilcIj48cGF0aCBkPVwiTTEzLjMzMyw2LjMzM2gtLjY2N1YzaC04VjYuMzMzSDRhMiwyLDAsMCwwLTIsMnY0SDQuNjY3VjE1aDhWMTIuMzMzaDIuNjY3di00QTIsMiwwLDAsMCwxMy4zMzMsNi4zMzNaTTYsNC4zMzNoNS4zMzN2Mkg2Wm01LjMzMyw5LjMzM0g2VjExaDUuMzMzWk0xMi42NjcsMTFWOS42NjdoLThWMTFIMy4zMzNWOC4zMzNBLjY2OS42NjksMCwwLDEsNCw3LjY2N2g5LjMzM0EuNjY5LjY2OSwwLDAsMSwxNCw4LjMzM1YxMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIgLTMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuNjY3XCIgY3k9XCIwLjY2N1wiIHI9XCIwLjY2N1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCA1KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0LyogUmVzZWF1eCAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX2ZhY2Vib29rKCRjb2xvcjokY29sb3JfZmFjZWJvb2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNy4xMjVcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgNy4xMjUgMTJcIj48cGF0aCBkPVwiTTgsMTJWNi43NWgyLjI1TDEwLjYzLDQuNUg4VjMuMzc1QTEsMSwwLDAsMSw5LjEzLDIuMjVoMS4xMjVWMEg4LjM4QzYuNSwwLDUuNzU1LDEuMTI1LDUuNzU1LDNWNC41SDMuNVY2Ljc1aDIuMjVWMTJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjUwNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b19pbnN0YWdyYW0oKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjM1LjYyXCIgaGVpZ2h0PVwiMzUuNjNcIiB2aWV3Qm94PVwiMCAwIDM1LjYyIDM1LjYzXCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMC4wOTRcIiB5MT1cIjAuMDU5XCIgeDI9XCIwLjkwOFwiIHkyPVwiMC45NDlcIiBncmFkaWVudFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmYmUxOGFcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMVwiIHN0b3AtY29sb3I9XCIjZmNiYjQ1XCIvPjxzdG9wIG9mZnNldD1cIjAuMzhcIiBzdG9wLWNvbG9yPVwiI2Y3NTI3NFwiLz48c3RvcCBvZmZzZXQ9XCIwLjUyXCIgc3RvcC1jb2xvcj1cIiNkNTM2OTJcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NFwiIHN0b3AtY29sb3I9XCIjOGYzOWNlXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzViNGZlOVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPVwiTTEwLjcsMzUuNjNBMTAuNzEyLDEwLjcxMiwwLDAsMSwwLDI0LjkzVjEwLjdBMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDBIMjQuOTJhMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDEwLjdWMjQuOTJhMTAuNzEzLDEwLjcxMywwLDAsMS0xMC43LDEwLjd2LjAxWk0zLjM1LDEwLjdWMjQuOTJhNy4zNjIsNy4zNjIsMCwwLDAsNy4zNSw3LjM1SDI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUtNy4zNVYxMC43YTcuMzYyLDcuMzYyLDAsMCwwLTcuMzUtNy4zNUgxMC43QTcuMzYyLDcuMzYyLDAsMCwwLDMuMzUsMTAuN1ptNS44NCw3LjExYTguNzcsOC43NywwLDEsMSw4Ljc3LDguNzdBOC43ODEsOC43ODEsMCwwLDEsOS4xOSwxNy44MVptMy4xNSwwYTUuNjIsNS42MiwwLDEsMCw1LjYyLTUuNjIxQTUuNjI1LDUuNjI1LDAsMCwwLDEyLjM0LDE3LjgxWk0yNS4xNSw4LjQ1YTIuMDksMi4wOSwwLDEsMSwyLjA5MSwyLjA5QTIuMSwyLjEsMCwwLDEsMjUuMTUsOC40NVpcIiBmaWxsPVwidXJsKCNhKVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGljdG9faW5zdGFncmFtX3doaXRlKCkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIzNS42MlwiIGhlaWdodD1cIjM1LjYzXCIgdmlld0JveD1cIjAgMCAzNS42MiAzNS42M1wiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjAuMDk0XCIgeTE9XCIwLjA1OVwiIHgyPVwiMC45MDhcIiB5Mj1cIjAuOTQ5XCIgZ3JhZGllbnRVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmJlMThhXCIvPjxzdG9wIG9mZnNldD1cIjAuMjFcIiBzdG9wLWNvbG9yPVwiI2ZjYmI0NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjM4XCIgc3RvcC1jb2xvcj1cIiNmNzUyNzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MlwiIHN0b3AtY29sb3I9XCIjZDUzNjkyXCIvPjxzdG9wIG9mZnNldD1cIjAuNzRcIiBzdG9wLWNvbG9yPVwiIzhmMzljZVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1YjRmZTlcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD1cIk0xMC43LDM1LjYzQTEwLjcxMiwxMC43MTIsMCwwLDEsMCwyNC45M1YxMC43QTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywwSDI0LjkyYTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywxMC43VjI0LjkyYTEwLjcxMywxMC43MTMsMCwwLDEtMTAuNywxMC43di4wMVpNMy4zNSwxMC43VjI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUsNy4zNUgyNC45MmE3LjM2Miw3LjM2MiwwLDAsMCw3LjM1LTcuMzVWMTAuN2E3LjM2Miw3LjM2MiwwLDAsMC03LjM1LTcuMzVIMTAuN0E3LjM2Miw3LjM2MiwwLDAsMCwzLjM1LDEwLjdabTUuODQsNy4xMWE4Ljc3LDguNzcsMCwxLDEsOC43Nyw4Ljc3QTguNzgxLDguNzgxLDAsMCwxLDkuMTksMTcuODFabTMuMTUsMGE1LjYyLDUuNjIsMCwxLDAsNS42Mi01LjYyMUE1LjYyNSw1LjYyNSwwLDAsMCwxMi4zNCwxNy44MVpNMjUuMTUsOC40NWEyLjA5LDIuMDksMCwxLDEsMi4wOTEsMi4wOUEyLjEsMi4xLDAsMCwxLDI1LjE1LDguNDVaXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX3R3aXR0ZXIoJGNvbG9yOiRjb2xvcl90d2l0dGVyKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjI3MFwiIHZpZXdCb3g9XCIwIDAgMzAwIDI3MVwiPjxwYXRoIGQ9XCJtMjM2IDBoNDZsLTEwMSAxMTUgMTE4IDE1NmgtOTIuNmwtNzIuNS05NC44LTgzIDk0LjhoLTQ2bDEwNy0xMjMtMTEzLTE0OGg5NC45bDY1LjUgODYuNnptLTE2LjEgMjQ0aDI1LjVsLTE2NS0yMThoLTI3LjR6XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKX1cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b192aW1lbygkY29sb3I6JGNvbG9yX3ZpbWVvKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTAuNTAzXCIgdmlld0JveD1cIjAgMCAxMiAxMC41MDNcIj48cGF0aCBkPVwiTTExLjk0OSwzLjk0N2ExLjc3MiwxLjc3MiwwLDAsMC0uMjIyLTEuNDMxQTIuMTY2LDIuMTY2LDAsMCwwLDkuNzQsMi4wMzgsNC4xODUsNC4xODUsMCwwLDAsNi45LDQuNzU4YzEuMDQ3LS4wODEsMS42LjA3NywxLjUsMS4yNDdhNC4zNTUsNC4zNTUsMCwwLDEtLjU1OCwxLjU0MWMtLjMxNC41OTMtLjksMS43NTctMS42NzYuOTE4LS43LS43NTUtLjY0NC0yLjItLjgtMy4xNjFBMTMuMzYxLDEzLjM2MSwwLDAsMCw1LDMuNTM0YTEuOCwxLjgsMCwwLDAtLjkxNS0xLjE3OCwxLjg0OSwxLjg0OSwwLDAsMC0xLjM0LjI3MkEyNC4zNDUsMjQuMzQ1LDAsMCwwLDAsNC44NzFWNC45NGMuMTguMTc0LjIyNy40NTkuNDkyLjUuNjIyLjA5MywxLjIxNS0uNTg4LDEuNjMuMTJhNy40NTgsNy40NTgsMCwwLDEsLjQ5MSwxLjM3NmMuMjE1LjYyMi4zODIsMS4zLjU1OCwyLjAxNi4zLDEuMjEyLjY2NCwzLjAyMywxLjcsMy40NjdBMi4yLDIuMiwwLDAsMCw2LjU4NiwxMi4xLDkuNjU2LDkuNjU2LDAsMCwwLDkuMjQyLDkuNTM5LDE3LjQ5MywxNy40OTMsMCwwLDAsMTEuOTQ5LDMuOTQ3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0xLjk5MylcIiBmaWxsPVwiI3skY29sb3J9XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGljdG9feW91dHViZSgkY29sb3I6JGNvbG9yX3lvdXR1YmUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxMC41XCIgdmlld0JveD1cIjAgMCAxNCAxMC41XCI+PHBhdGggZD1cIk0xMy44NTYsMi4yNjZBMy4zNjQsMy4zNjQsMCwwLDAsMTMuMy43ODNhMS45MTYsMS45MTYsMCwwLDAtMS40LS42M0M5Ljk0LDAsNywwLDcsMEg3UzQuMDU2LDAsMi4xLjE1M0ExLjkxNiwxLjkxNiwwLDAsMCwuNy43ODMsMy4zNjQsMy4zNjQsMCwwLDAsLjE0LDIuMjY2LDI0LjAzMywyNC4wMzMsMCwwLDAsMCw0LjY4MVY1LjgxNEEyNC4wMzIsMjQuMDMyLDAsMCwwLC4xNCw4LjIyOSwzLjM2NCwzLjM2NCwwLDAsMCwuNyw5LjcxM2EyLjI4OCwyLjI4OCwwLDAsMCwxLjU0NC42MzlDMy4zNiwxMC40NjUsNywxMC41LDcsMTAuNXMyLjk0NCwwLDQuOS0uMTUzYTEuOTQzLDEuOTQzLDAsMCwwLDEuNC0uNjM0LDMuMzY0LDMuMzY0LDAsMCwwLC41NTYtMS40ODNBMjQuMDMyLDI0LjAzMiwwLDAsMCwxNCw1LjgxNFY0LjY4MWEyNC4wMzMsMjQuMDMzLDAsMCwwLS4xNDQtMi40MTVaTTUuMjUsNy44NzVWMi42MjVMOS42MjUsNS4yNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBwaWN0b19saW5rZWRpbigkY29sb3I6JGNvbG9yX2xpbmtlZGluKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCI+PHBhdGggZD1cIk0xMS4xMTIsMEguODg2QS44NzcuODc3LDAsMCwwLDAsLjg2NXYxMC4yN0EuODc3Ljg3NywwLDAsMCwuODg2LDEySDExLjExMkEuODc4Ljg3OCwwLDAsMCwxMiwxMS4xMzRWLjg2NUEuODc4Ljg3OCwwLDAsMCwxMS4xMTIsMFpNMy41NTgsMTAuMjI1SDEuNzc4VjQuNWgxLjc4Wk0yLjY2NywzLjcxNkExLjAzMywxLjAzMywwLDEsMSwzLjcsMi42ODQsMS4wMzMsMS4wMzMsMCwwLDEsMi42NjcsMy43MTZabTcuNTU4LDYuNTA4SDguNDQ2VjcuNDQxYzAtLjY2Ny0uMDEzLTEuNTItLjkyNS0xLjUycy0xLjA2Ni43MjUtMS4wNjYsMS40NzF2Mi44MzNINC42NzVWNC41SDYuMzgzdi43ODNoLjAyM2ExLjg3NSwxLjg3NSwwLDAsMSwxLjY4NS0uOTI1YzEuOCwwLDIuMTMzLDEuMTg1LDIuMTMzLDIuNzI4WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+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+PGxpbmUgeDE9XCIyMy45XCIgeTE9XCI3MC44XCIgeDI9XCI3LjUxXCIgeTI9XCI1NC40MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48L3N2Zz4nKTt9XHJcbiIsIi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBNSVhJTlMgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCdXR0b24gKi9cclxuQG1peGluIGJ1dHRvbl91cHBlcmNhc2Uge0BpZiAoJGJ1dHRvbi11cHBlcmNhc2UgPT0gdHJ1ZSkge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9fVxyXG5cclxuLyogQm91dG9uIHNsaWNrICovXHJcbkBtaXhpbiBzbGljaygkd2lkdGg6Ny4ycmVtLCAkaGVpZ2h0OiR3aWR0aCwgJHRvcDpjYWxjKDUwJSAtICN7JGhlaWdodH0gLyAyKSwgJHBvc2l0aW9uOmFic29sdXRlKSB7cG9zaXRpb246JHBvc2l0aW9uOyBAaWYgJHBvc2l0aW9uID09IHJlbGF0aXZlIHt0b3A6YXV0b30gQGVsc2Uge3RvcDokdG9wO30gd2lkdGg6JHdpZHRoOyBoZWlnaHQ6JGhlaWdodDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6My4ycmVtIGF1dG87IHotaW5kZXg6MzsgY3Vyc29yOnBvaW50ZXI7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uOyBvdmVyZmxvdzpoaWRkZW47fVxyXG5cclxuLyogRGVncmFkZSAqL1xyXG5AbWl4aW4gZ3JhZGllbnQoJGRlZykge31cclxuXHJcbi8qIFNoYWRvdyAqL1xyXG5AbWl4aW4gc2hhZG93KCRhbHBoYSkge31cclxuXHJcbi8qIEJ0bl9hbGwgKi9cclxuQG1peGluIGFuaW1fYnRuYWxsKCR3aWR0aCwgJGhlaWdodCwgJHRvcCwgJHBhZGRpbmcsICRzdGFydCkge1xyXG5cclxuICAgIHNwYW4ge3BhZGRpbmctI3skc3RhcnR9OiRwYWRkaW5nOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbjsgZGlzcGxheTppbmxpbmUtYmxvY2s7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG4gICAgc3BhbjpiZWZvcmUsIHNwYW46OmFmdGVyIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb250YWluOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDokd2lkdGg7IGhlaWdodDokaGVpZ2h0OyB0b3A6JHRvcDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG4gICAgc3Bhbjo6YmVmb3JlIHtsZWZ0OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuICAgIHNwYW46OmFmdGVyIHtyaWdodDowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9XHJcblxyXG4gICAgQGlmICRzdGFydCA9PSByaWdodCB7XHJcbiAgICAgICAgc3Bhbjo6YmVmb3JlIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7fVxyXG4gICAgICAgICY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcclxuICAgICAgICAgICAgc3BhbiB7cGFkZGluZy1sZWZ0OiRwYWRkaW5nOyBwYWRkaW5nLXJpZ2h0OjA7fVxyXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7fVxyXG4gICAgICAgICAgICBzcGFuOmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHNwYW46OmFmdGVyIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt9XHJcbiAgICAgICAgJjppcyg6aG92ZXIsIDpmb2N1cykge1xyXG4gICAgICAgICAgICBzcGFuIHtwYWRkaW5nLXJpZ2h0OiRwYWRkaW5nOyBwYWRkaW5nLWxlZnQ6MDt9XHJcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO31cclxuICAgICAgICAgICAgc3BhbjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBpbXBvcnQgJy4vZ2xvYmFsL3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMQVlPVVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKioqXHJcblx0XHRVdGlsaXNlciBsYSBzeW50YXhlIGE6bm90KDpob3Zlcik6bm90KDpmb2N1cykgcXVhbmQgbGEgY291bGV1ciBkdSBhIGVzdCBkaWZmw6lyZW50ZSBkZSBjZWxsZSBkw6lmaW5pZSBkYW5zIGxlIHJlc2V0XHJcblx0KiovXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBTVFJVQ1RVUkUgR0VORVJBTEUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC5vZmYtY2FudmFzLXdyYXBwZXIge21pbi1oZWlnaHQ6MTAwJTt9XHJcblx0XHQub2ZmLWNhbnZhcy13cmFwcGVyLmNvbm5lY3Qge2hlaWdodDoxMDAlO31cclxuXHJcblx0XHQub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHttaW4taGVpZ2h0OjEwMCU7IGJhY2tncm91bmQ6JGNpbV93aGl0ZTt9XHJcblx0XHQub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyLmlzLW9wZW4tbGVmdCB7dHJhbnNmb3JtOm5vbmU7IHRyYW5zaXRpb246bm9uZTt9XHJcblxyXG5cdFx0I2hvbWUsICNwYWdlLCAjZ2xvYmFsIHtwb3NpdGlvbjpyZWxhdGl2ZTsgbWluLWhlaWdodDoxMDAlO31cclxuXHRcdCNob21lLCAjcGFnZSB7QGluY2x1ZGUgZmxleDsgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTsgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5KTsgbWluLWhlaWdodDoxMDB2aDt9XHJcblxyXG5cdFx0Ym9keS5pcy1yZXZlYWwtb3BlbiAjaG9tZSwgYm9keS5pcy1yZXZlYWwtb3BlbiAjcGFnZSwgYm9keS5pcy1yZXZlYWwtb3BlbiAjZ2xvYmFsIHttaW4taGVpZ2h0OjEwMHZoO31cclxuXHJcblx0XHQjbWFpbiB7cG9zaXRpb246cmVsYXRpdmU7IEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlcnM6MCwgJHZlcnRpY2FsOnZlcnRpY2FsKTt9XHJcblxyXG5cdFx0LndyYXAge21hcmdpbjowIGF1dG87IG1heC13aWR0aDokZ3JpZC1yb3ctd2lkdGg7IC8qICEhISEhIC0tLS0gQVRURU5USU9OIC0tLS0tICEhISEgIHdpZHRoID0gd2lkdGggZHUgd3JhcCBNQVFVRVRURSArIGdvdXRpZXJlcyBmb3VuZGF0aW9uICEhISEhISEhISEgKi99XHJcblx0XHQuY29udGVudF9wYWdlIHtwYWRkaW5nLWJvdHRvbTo1cmVtO31cclxuXHJcblx0XHQvKiBmaXggKi9cclxuXHRcdC8qIFJldGlyZXIgbGUgY29tbWVudGFpcmUgc2kgb24gZXN0IHN1ciBsZSBzeXN0ZW1lIGRlIG1lbnUgcmVzcG9uc2l2ZSBxdWkgcydvdXZyZSBkZSBsYSBnYXVjaGUgYXUgZGVzc3VzIGR1IGNvbnRlbnUgKi9cclxuXHRcdFx0LyouaXMtb3Blbi1sZWZ0IHt0cmFuc2Zvcm06aW5oZXJpdDsgaGVpZ2h0OjEwMCU7IG1pbi1oZWlnaHQ6MTAwJTt9XHJcblx0XHRcdC5vZmYtY2FudmFzIHtwb3NpdGlvbjpmaXhlZDsgei1pbmRleDoyOyB0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjVzIGVhc2U7IC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47IGJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOyBvdmVyZmxvdy15OmhpZGRlbjt9XHJcblx0XHRcdCNvZmZDYW52YXNMZWZ0IHtiYWNrZ3JvdW5kOiRkZWZhdWx0X2NvbG9yOyBwb3NpdGlvbjpmaXhlZDsgbGVmdDotMzByZW07IHRvcDowOyB3aWR0aDoyNnJlbTsgaGVpZ2h0OjEwMCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuXHRcdFx0I29mZkNhbnZhc0xlZnQuaXMtb3BlbiB7bGVmdDowOyB2aXNpYmlsaXR5OnZpc2libGU7IHRyYW5zaXRpb246bGVmdCAwLjVzIGVhc2U7fVxyXG5cdFx0XHQub2ZmLWNhbnZhcy1jb250ZW50IHtib3gtc2hhZG93Om5vbmU7IG1pbi1oZWlnaHQ6aW5oZXJpdDsgcG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6aW5oZXJpdDsgYmFja2dyb3VuZDokY2ltX3doaXRlO31cclxuXHRcdFx0Lm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQge292ZXJmbG93LXg6aGlkZGVuOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyNnJlbSk7fSovXHJcblx0XHRcdC8qYnRuIGNsb3NlIG1lbnUgc21hcnQqL1xyXG5cdFx0XHRcdC8qI2J0bl9jbG9zZV9tZW51X3NtYXJ0IHtwb3NpdGlvbjpmaXhlZDsgdG9wOjQuNXJlbTsgbGVmdDoyNnJlbTsgei1pbmRleDoxMjsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7IHRyYW5zaXRpb246bGVmdCAwLjlzIGVhc2U7fSovXHJcblxyXG5cdFx0LmpzLW9mZi1jYW52YXMtZXhpdCwgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7dG9wOjAgIWltcG9ydGFudDsgYmFja2dyb3VuZDp0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjUpO31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBIRUFERVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdCNoZWFkZXIge2hlaWdodDowLjAwMDAxcmVtICFpbXBvcnRhbnQ7IHdpZHRoOjEwMCU7IG1heC13aWR0aDoxMDAlOyB6LWluZGV4OjU7IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdC8qI3BhZ2U6bm90KDppcyguZGV0YWlsLCAuY2FydG9fdHBsKSkgI2hlYWRlciB7bWF4LWhlaWdodDowLjAwMDFyZW07fSovXHJcblxyXG5cdFx0I2RhdGEtc3RpY2t5LWhlYWRlciB7d2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDsgaGVpZ2h0Om1hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgbGFyZ2UpOyBiYWNrZ3JvdW5kOiRjaW1fd2hpdGU7IC8qYmFja2Ryb3AtZmlsdGVyOmJsdXIoMC4ycmVtKTsqLyB0cmFuc2Zvcm06bm9uZTsgbGVmdDowOyAvKnBhZGRpbmctcmlnaHQ6MS41cmVtOyovIC8qYmFja2Ryb3AtZmlsdGVyOmJsdXIoMC44cmVtKTsqLyAvKmJvcmRlci1ib3R0b206MC42cmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsqLyBib3gtc2hhZG93Omluc2V0IDByZW0gLTAuNnJlbSAwIDAgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdCNkYXRhLXN0aWNreS1oZWFkZXIgPiAqLCAjbWVudV9yaWdodCB7aGVpZ2h0OjEwMCU7fVxyXG5cdFx0I21lbnVfcmlnaHQgeyBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO2ZsZXgtZmxvdzogcm93IG5vd3JhcDt9XHJcblxyXG5cdFx0LyogU3RpY2t5ICovXHJcblx0XHRcdCNkYXRhLXN0aWNreS1oZWFkZXIuaXMtYW5jaG9yZWQge3Bvc2l0aW9uOmZpeGVkO31cclxuXHJcblx0XHRcdC8qIEhvbWUgKi9cclxuXHRcdFx0XHQjaG9tZSAjZGF0YS1zdGlja3ktaGVhZGVyLmlzLWFuY2hvcmVkIHtcclxuXHRcdFx0XHRcdC5sb3VwZV9jb250YWluZXIge2Rpc3BsYXk6bm9uZTsgdHJhbnNpdGlvbjpwYWRkaW5nICRnbG9iYWwtdHJhbnNpdGlvbjt9XHJcblx0XHRcdFx0XHQvLyAjdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciBsaTpudGgtbGFzdC1jaGlsZCgyKSB7cGFkZGluZy1yaWdodDowOyBib3JkZXItcmlnaHQ6MDsgdHJhbnNpdGlvbjpwYWRkaW5nICRnbG9iYWwtdHJhbnNpdGlvbjt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCNob21lICNkYXRhLXN0aWNreS1oZWFkZXIuaXMtc3R1Y2sge1xyXG5cdFx0XHRcdFx0LmxvdXBlX2NvbnRhaW5lciB7dHJhbnNpdGlvbjpwYWRkaW5nICRnbG9iYWwtdHJhbnNpdGlvbjt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdC8qKiogQUNDRVNTSUJJTElURSAqKiovXHJcblx0XHRcdCNhY2Nlc3NpIHtwb3NpdGlvbjpmaXhlZDsgei1pbmRleDo5OTk5OTk5O31cclxuXHRcdFx0I2FjY2Vzc2kgdWwge21hcmdpbjowOyBwYWRkaW5nOjA7fVxyXG5cdFx0XHQjYWNjZXNzaSB1bCBsaSB7ZGlzcGxheTppbmxpbmU7IGZvbnQtc2l6ZTppbmhlcml0OyBsaW5lLWhlaWdodDppbmhlcml0O31cclxuXHRcdFx0I2FjY2Vzc2kgdWwgbGkgYSwgI2FjY2Vzc2kgdWwgbGkgYnV0dG9uIHt0ZXh0LWluZGVudDotOTk5OTllbTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjokY2ltX3doaXRlOyBmb250LWZhbWlseTokYm9sZDsgZm9udC1zaXplOjEuMmVtOyBsaW5lLWhlaWdodDpub3JtYWw7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBwYWRkaW5nOjAgMC41cmVtOyBiYWNrZ3JvdW5kOiRjaW1fYmxhY2s7fVxyXG5cdFx0XHQjYWNjZXNzaSB1bCBsaSBhLCAjYWNjZXNzaSB1bCBsaSBhOmhvdmVyLCAjYWNjZXNzaSB1bCBsaSBhOmZvY3VzLCAjYWNjZXNzaSB1bCBsaSBidXR0b24sICNhY2Nlc3NpIHVsIGxpIGJ1dHRvbjpob3ZlciwgI2FjY2Vzc2kgdWwgbGkgYnV0dG9uOmZvY3VzIHt0cmFuc2l0aW9uOm5vbmU7fVxyXG5cdFx0XHQjYWNjZXNzaSB1bCBsaSBhOmZvY3VzLCAjYWNjZXNzaSB1bCBsaSBidXR0b246Zm9jdXMge3RleHQtaW5kZW50OjA7IHBhZGRpbmc6MC41cmVtO31cclxuXHJcblx0XHRcdCNhbmNob3Jfc2tpcF9saW5rIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLShtYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIGxhcmdlKSkpO31cclxuXHJcblx0XHQvKioqIExPR08gKioqL1xyXG5cdFx0XHQvLyAjbG9nbyB7aGVpZ2h0OjEwMCU7fVxyXG5cdFx0XHQjbG9nbyBoMSwgI2xvZ28gcCB7Zm9udC1zaXplOmluaXRpYWw7IGxpbmUtaGVpZ2h0Om5vcm1hbDsgbWFyZ2luOjA7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBoZWlnaHQ6MTAwJTt9XHJcblx0XHRcdCNsb2dvIGEge2Rpc3BsYXk6YmxvY2s7IGhlaWdodDoxMDAlO31cclxuXHRcdFx0I2xvZ28gc3ZnLCAgI2xvZ28gaW1nIHttYXgtaGVpZ2h0OmNhbGMoMTAwJSAtIDAuNnJlbSk7fVxyXG5cdFx0XHQjbG9nbyBhOmhvdmVyLCAjbG9nbyBhOmZvY3VzIHtvcGFjaXR5OjAuNzt9XHJcblxyXG5cdFx0LyoqKiBUT09MUyBIRUFERVIgTElOSyAqKiovXHJcblx0XHRcdCN0b29sc19oZWFkZXJfbGluayB7bWFyZ2luOjA7fVxyXG5cdFx0XHQjdG9vbHNfaGVhZGVyX2xpbmsgLnRvb2xzX2hlYWRlciB7XHJcblx0XHRcdFx0bWFyZ2luOjA7IHBhZGRpbmc6MCAxLjVyZW07b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0XHRsaSB7ZGlzcGxheTpmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOyBhbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjAuOGVtO31cclxuXHRcdFx0XHRsaTpsYXN0LWNoaWxkIHtwYWRkaW5nLXJpZ2h0OjA7IGJvcmRlci1yaWdodDowO31cclxuXHRcdFx0XHRsaTpmaXJzdC1jaGlsZCB7cGFkZGluZy1sZWZ0OjA7fVxyXG5cdFx0XHRcdGxpID4gKiB7aGVpZ2h0Om1hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgbGFyZ2UpOyB3aWR0aDo0cmVtOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIDUwJTsgYmFja2dyb3VuZC1zaXplOmF1dG8gM3JlbTsgY29sb3I6dHJhbnNwYXJlbnQ7IGJvcmRlcjowOyBtYXJnaW46MDsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0XHRsaSA+ICogPiBzcGFuIHtwb3NpdGlvbjphYnNvbHV0ZTsgb3BhY2l0eTowOyBib3R0b206LTEuOXJlbTsgbGVmdDo1MCU7IGJhY2tncm91bmQtY29sb3I6dmFyKC0tY2ltX3NlY29uZGFyeV9jb2xvcik7IGNvbG9yOiRjaW1fYmxhY2s7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTsgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBmb250LWZhbWlseTokYm9sZDsgd2hpdGUtc3BhY2U6bm93cmFwOyBwYWRkaW5nOjAgMC4ycmVtOyBsaW5lLWhlaWdodDoxLjc7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uO31cclxuXHJcblxyXG5cdFx0XHRcdGxpID4qOmlzKDpob3ZlciwgOmZvY3VzKSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTAuNXJlbSk7fVxyXG5cdFx0XHRcdGxpID4qOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuIHtvcGFjaXR5OjE7IGJvdHRvbTowLjFyZW07fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBCVVJHRVIgQlVUVE9OICoqKi9cclxuXHRcdFx0LmhhbWJ1cmdlcl9jb250YWluZXIge3BhZGRpbmc6MCAhaW1wb3J0YW50O31cclxuXHRcdFx0LmhhbWJ1cmdlciB7Zm9udDppbmhlcml0OyBkaXNwbGF5OmlubGluZS1ibG9jazsgb3ZlcmZsb3c6aGlkZGVuOyBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyBib3JkZXI6MDsgYm9yZGVyLXJhZGl1czowOyBwYWRkaW5nOjAgIWltcG9ydGFudDsgbWFyZ2luOjAgMCAwIDNyZW07IHdpZHRoOjZyZW0gIWltcG9ydGFudDsgaGVpZ2h0OjEwMCU7IHRyYW5zaXRpb246MC4zcyBlYXNlLWluLW91dDt9XHJcblx0XHRcdC5oYW1idXJnZXItYm94IHtwb3NpdGlvbjpyZWxhdGl2ZTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyB0ZXh0LWFsaWduOmNlbnRlcjt9XHJcblxyXG5cdFx0XHQvKiBCYXJyZXMgKi9cclxuXHRcdFx0XHQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXIge2Rpc3BsYXk6YmxvY2s7IHRvcDo1MCU7IGxlZnQ6MXJlbTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7fVxyXG5cdFx0XHRcdC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciwgLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge2JhY2tncm91bmQ6JGNpbV9ibGFjazsgd2lkdGg6NHJlbTsgaGVpZ2h0OjAuMnJlbTsgcG9zaXRpb246YWJzb2x1dGU7fVxyXG5cdFx0XHRcdC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtjb250ZW50OicnO31cclxuXHRcdFx0XHQuaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7dG9wOi0xLjJyZW07IGxlZnQ6MDsgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjt9XHJcblx0XHRcdFx0LmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7dG9wOjEuMnJlbTsgcmlnaHQ6MDsgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47fVxyXG5cclxuXHRcdFx0LyogVGl0cmUgKi9cclxuXHRcdFx0XHQuaGFtYnVyZ2VyIC5tZW51X3RpdGxlIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiRjaW1fYmxhY2s7IGZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjEuMjsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgYm90dG9tOjA7IHdpZHRoOjEwMCU7IHRleHQtYWxpZ246Y2VudGVyO31cclxuXHJcblx0XHRcdC8qIEFjdGlmICovXHJcblx0XHRcdFx0LmhhbWJ1cmdlci5pcy1hY3RpdmUgLm1lbnVfdGl0bGUge29wYWNpdHk6MDsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXJlbSk7fVxyXG5cdFx0XHRcdC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge3RyYW5zaXRpb24tZGVsYXk6MHM7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0OyBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7bGVmdDotNHJlbTsgdG9wOi00cmVtOyB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoNHJlbSwgNHJlbSwgMCkgcm90YXRlKDQ1ZGVnKTsgdHJhbnNpdGlvbjpsZWZ0IDAuMTI1cyBlYXNlLW91dCwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpOyB9XHJcblx0XHRcdFx0LmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge3JpZ2h0Oi00cmVtOyB0b3A6LTRyZW07IHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNHJlbSwgNHJlbSwgMCkgcm90YXRlKC00NWRlZyk7IHRyYW5zaXRpb246cmlnaHQgMC4xMjVzIGVhc2Utb3V0LCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cclxuXHRcdFx0XHQuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXHJcblx0XHRcdFx0LmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsXHJcblx0XHRcdFx0LmhhbWJ1cmdlcjppcyg6aG92ZXIsIDpmb2N1cykgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5oYW1idXJnZXI6aXMoOmhvdmVyLCA6Zm9jdXMpIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcclxuXHRcdFx0XHQuaGFtYnVyZ2VyOmlzKDpob3ZlciwgOmZvY3VzKSAuaGFtYnVyZ2VyLWlubmVyIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgfVxyXG5cclxuXHRcdFx0LyogSG92ZXIgKi9cclxuXHRcdFx0XHQuaGFtYnVyZ2VyOmhvdmVyIC5tZW51X3RpdGxlLCAuaGFtYnVyZ2VyOmZvY3VzIC5tZW51X3RpdGxlIHtib3JkZXItY29sb3I6dHJhbnNwYXJlbnRpemUoJGRlZmF1bHRfY29sb3IsIDAuNik7fVxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUE9QSU5TICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKioqIFNUWUxFIEdFTkVSSVFVRSAqKiovXHJcblx0XHRcdC5yZXZlYWwge3dpZHRoOiRyZXZlYWwtd2lkdGg7IG1heC13aWR0aDokcmV2ZWFsLW1heC13aWR0aDsgcGFkZGluZzokcmV2ZWFsLXBhZGRpbmc7IGJvcmRlcjokcmV2ZWFsLWJvcmRlcjsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlOyBib3JkZXItcmFkaXVzOjA7IG91dGxpbmU6bm9uZTt9XHJcblx0XHRcdC5yZXZlYWwudGlueSB7bWluLXdpZHRoOjYwcmVtO31cclxuXHRcdFx0LnJldmVhbCAuY2xvc2UtYnV0dG9uIHt0b3A6NHJlbTsgcmlnaHQ6Ni4ycmVtO31cclxuXHJcblx0XHRcdC8qIHRpdHJlICovXHJcblx0XHRcdFx0LnJldmVhbCAudGl0cmVfcG9waW4ge21hcmdpbi1ib3R0b206NXJlbTt9XHJcblx0XHRcdFx0LnJldmVhbCAudGl0cmVfYmxvYywgLnRpdHJlX3BvcGluIC50aXRyZV9ibG9jIHtjb2xvcjokY2ltX2JsYWNrOyBmb250LWZhbWlseTokYm9sZDsgZm9udC1zaXplOjNlbTsgbGluZS1oZWlnaHQ6MTsgbWFyZ2luLWJvdHRvbTowOyBwb3NpdGlvbjpyZWxhdGl2ZTsgdGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cclxuXHRcdFx0LyogZm9ybSAqL1xyXG5cdFx0XHRcdC5yZXZlYWwgZm9ybSB7d2lkdGg6MTAwJTt9XHJcblx0XHRcdFx0LnJldmVhbCAuY29udGVudCA+IGZvcm0ge3BhZGRpbmc6MCAxLjVyZW07fVxyXG5cclxuXHRcdC8qKiogUE9QSU4gU0lERUJBUiArIHNlbnNhdGlvbiBwb3BpbiByZWNoZXJjaGUgKioqL1xyXG5cdFx0XHQucmV2ZWFsLnNpZGViYXIsIC5zZWFyY2hfYXJlYV9jb250LmlzX3NlYXJjaCB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOjY5LjVyZW07IHBhZGRpbmc6MTguOXJlbSA2LjJyZW0gMCA2LjJyZW07IHdpZHRoOjEwMCU7IGhlaWdodDoxMDB2aDsgbWluLWhlaWdodDoxMDB2aDsgdG9wOjAgIWltcG9ydGFudDsgbGVmdDphdXRvICFpbXBvcnRhbnQ7IHJpZ2h0OjA7IHBvc2l0aW9uOmZpeGVkOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgYmFja2Ryb3AtZmlsdGVyOmJsdXIoMC41cmVtKSBicmlnaHRuZXNzKDApIG9wYWNpdHkoMC45NSk7IHotaW5kZXg6NTsgb3ZlcmZsb3c6YXV0bztcclxuXHJcblx0XHRcdFx0LmNsb3NlLWJ1dHRvbiB7QGluY2x1ZGUgYnRuX2Nsb3NlKCRjaW1fd2hpdGUpOyBib3JkZXItY29sb3I6JGNpbV93aGl0ZTt9XHJcblx0XHRcdFx0LndyYXBfcG9waW4ge21heC1oZWlnaHQ6MTAwJTt9XHJcblx0XHRcdFx0LmJ0bl9hbGwge2NvbG9yOiRjaW1fYmxhY2s7fVxyXG5cdFx0XHRcdCo6bm90KC5idG5fYWxsLCAuYnRuX2FsbCAqKSwgLnRpdHJlX3BvcGluIC50aXRyZV9ibG9jLCBsZWdlbmQudGl0cmVfYmxvYyB7Y29sb3I6JGNpbV93aGl0ZTt9XHJcblx0XHRcdFx0LnRpdHJlX2Jsb2Mge2ZvbnQtc2l6ZToyLjRlbTsgdGV4dC1hbGlnbjpsZWZ0O2NvbG9yOiAkY2ltX3doaXRlO31cclxuXHRcdFx0XHQudGl0cmVfcG9waW4ge21hcmdpbi1ib3R0b206MXJlbTt9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGJvZHk6OmJlZm9yZSB7Y29udGVudDonJzsgcG9zaXRpb246Zml4ZWQ7IHdpZHRoOjEwMHZ3OyBoZWlnaHQ6MTAwdmg7IHRvcDowOyByaWdodDowOyB6LWluZGV4OjU7IGRpc3BsYXk6bm9uZTt9XHJcblxyXG5cdFx0XHQvKioqIE9WRVJMQVkgKioqL1xyXG5cdFx0XHRcdGJvZHkuaXMtcmV2ZWFsLW9wZW4ge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0XHRib2R5LmlzLXJldmVhbC1vcGVuOjpiZWZvcmUge2Rpc3BsYXk6YmxvY2s7fVxyXG5cdFx0XHRcdC5wb3Bpbl9sYXRlcmFsX292ZXJsYXksIGJvZHk6OmJlZm9yZSB7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRjaW1fYmxhY2ssIDAuNDUpOyB0b3A6MDt9XHJcblxyXG5cdFx0LyoqKiBQT1BJTiBGVUxMICsgcG9waW4gcmVjaGVyY2hlICoqKi9cclxuXHRcdFx0LnJldmVhbC5mdWxsIHt0b3A6MCAhaW1wb3J0YW50OyBsZWZ0OjAgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0XHQvKiB0aXRyZSAqL1xyXG5cdFx0XHRcdC8vIC5yZXZlYWwuZnVsbCAudGl0cmVfcG9waW4ge21hcmdpbi1ib3R0b206NXJlbTt9XHJcblxyXG5cdFx0XHQucmV2ZWFsLmZ1bGwge3otaW5kZXg6OTk5OTk7IHBhZGRpbmc6MTguOXJlbSA2LjJyZW0gMy41cmVtIDEwcmVtO31cclxuXHRcdFx0LnJldmVhbC5mdWxsIC53cmFwX3BvcGluIHtoZWlnaHQ6MTAwJTt9XHJcblx0XHRcdC5yZXZlYWwuZnVsbCAud3JhcF9wb3BpbiA+IC5jb250ZW50IHtwYWRkaW5nLWJvdHRvbTo1cmVtO31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBPUElOIE1FTlUgUFJJTkNJUEFMICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdCNob3Jpem9udGFsLW1lbnUge3otaW5kZXg6MTsgaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlO31cclxuXHRcdCNtZW51X3ByaW5jaXBhbCB7ei1pbmRleDoxMDAyOyBoZWlnaHQ6MTAwJTt9XHJcblxyXG5cdFx0XHQvKioqIEJUTiBDTE9TRSBIT1JJWk9OVEFMIE1FTlUgKioqL1xyXG5cdFx0XHRcdCNidG5fY2xvc2VfaG9yaXpvbnRhbF9tZW51LmNsb3NlLWJ1dHRvbiB7cmlnaHQ6Mi4ycmVtOyB0b3A6Y2FsYygje21hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgbGFyZ2UpfSArIDNyZW0pOyB6LWluZGV4OjEwMDQ7fVxyXG5cclxuXHRcdFx0LyoqKiBHRU5FUklRVUUgKHBvdXIgdG91cyBsZXMgbml2ZWF1eCBkdSBtZW51KSAqKiovXHJcblx0XHRcdFx0I21lbnVfcHJpbmNpcGFsIGxpIHtmb250LXNpemU6aW5oZXJpdDsgbGluZS1oZWlnaHQ6aW5oZXJpdDsgdGV4dC1hbGlnbjpsZWZ0O31cclxuXHRcdFx0XHQjbWVudV9wcmluY2lwYWwgdWwgbGkgYSB7Zm9udC1mYW1pbHk6JGJvbGQ7IGNvbG9yOiRjaW1fYmxhY2s7fVxyXG5cdFx0XHRcdCNtZW51X3ByaW5jaXBhbCB1bCBsaSBhICoge2ZvbnQtZmFtaWx5OmluaGVyaXQ7IGNvbG9yOmluaGVyaXQ7fVxyXG5cclxuXHRcdFx0LyoqKiBMRVZFTCAxICoqKi9cclxuXHRcdFx0XHQjbWVudV9wcmluY2lwYWwgPiB1bCB7XHJcblx0XHRcdFx0XHQvKmZsZXgtd3JhcDpub3dyYXA7Ki8gbWFyZ2luLWJvdHRvbTowOyBoZWlnaHQ6MTAwJTsgQGluY2x1ZGUgZmxleC1hbGlnbigkeTptaWRkbGUpO1xyXG5cdFx0XHRcdFx0PiBsaSB7LW1zLWZsZXg6MCAxIGF1dG87IGZsZXg6MCAxIGF1dG87IHBhZGRpbmc6MCAxLjF2dzsgZm9udC1zaXplOjEuNWVtOyB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGhlaWdodDoxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7IGJveC1zaGFkb3c6aW5zZXQgMHJlbSAtMC42cmVtIDAgMCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdFx0PiBsaTpsYXN0LW9mLXR5cGUge3BhZGRpbmctcmlnaHQ6MDt9XHJcblx0XHRcdFx0XHQ+IGxpID4gYSB7cGFkZGluZzowOyBwb3NpdGlvbjpyZWxhdGl2ZTsgb3ZlcmZsb3c6aGlkZGVuOyAvKm1heC13aWR0aDoxOHJlbTsqLyBoZWlnaHQ6MTAwJTsgQGluY2x1ZGUgZmxleDsgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTsgQGluY2x1ZGUgZmxleC1hbGlnbigkeDpjZW50ZXIpO31cclxuXHRcdFx0XHRcdD4gbGkgPiBhID4gc3BhbiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uO31cclxuXHRcdFx0XHRcdD4gbGkgPiBhID4gc3Bhbjpub3QoLm1haW4pIHtwb3NpdGlvbjphYnNvbHV0ZTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSk7IG9wYWNpdHk6MDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG5cdFx0XHRcdFx0PiBsaSA+IGEgPiBzcGFuLm1haW4ge3Bvc2l0aW9uOnJlbGF0aXZlOyBkaXNwbGF5OmJsb2NrOyBAaW5jbHVkZSBmbGV4LW9yZGVyKC0xKTt9XHJcblx0XHRcdFx0XHQ+IGxpID4gYSA+IHNwYW4ubWFpbjo6YmVmb3JlIHtwb3NpdGlvbjphYnNvbHV0ZTt9XHJcblx0XHRcdFx0XHQ+IGxpID4gYSA+IHNwYW46OmJlZm9yZSB7Y29udGVudDphdHRyKGRhdGEtaG92ZXIpOyAvKmNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsqL31cclxuXHRcdFx0XHRcdD4gbGkgPiBhOjphZnRlciB7Y29udGVudDonJzsgZGlzcGxheTpibG9jazsgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjA7IGhlaWdodDowLjZyZW07IGJvdHRvbTowLjZyZW07IGxlZnQ6NTAlOyAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9zZWNvbmRhcnlfY29sb3IpOyB9XHJcblx0XHRcdFx0XHQvLyA+IGxpOmZpcnN0LWNoaWxkID4gYTo6YmVmb3JlIHtkaXNwbGF5Om5vbmU7fVxyXG5cclxuXHRcdFx0XHRcdC8qIGV0YXQgaG92ZXIgLSBhY3RpZiAqL1xyXG5cdFx0XHRcdFx0XHQ+IGxpLmFjdCA+IGEsXHJcblx0XHRcdFx0XHRcdD4gbGkgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSxcclxuXHRcdFx0XHRcdFx0PiBsaVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGEsXHJcblx0XHRcdFx0XHRcdD4gbGkuYXJpYS1leHBhbmRlZCA+IGEsXHJcblx0XHRcdFx0XHRcdD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlOmlzKDpob3ZlciwgOmZvY3VzKSA+IGEge1xyXG5cdFx0XHRcdFx0XHRcdCY6OmFmdGVyIHt3aWR0aDoxMDAlO31cclxuXHJcblx0XHRcdFx0XHRcdFx0PiBzcGFuLm1haW4gey8qICM1Mjg3NSB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7ICovIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMTAlKTsgY29sb3I6dHJhbnNwYXJlbnQ7fVxyXG5cdFx0XHRcdFx0XHRcdD4gc3Bhbjpub3QoLm1haW4pIHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTsgb3BhY2l0eToxfVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0LyoqKiBMRVZFTCAyICoqKi9cclxuXHRcdFx0XHQjbWVudV9wcmluY2lwYWwgbGkgdWwuc291c19tZW51IHtkaXNwbGF5Om5vbmU7IHdpZHRoOjEwMCU7IG1heC13aWR0aDoxMDAlOyBoZWlnaHQ6MTAwdmg7IG1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtICN7bWFwLWRlZXAtZ2V0KCRoZWFkZXJfaGVpZ2h0LCBsYXJnZSl9KTsgcGFkZGluZzozcmVtIDcuNXJlbSAwcmVtIDcuNXJlbTsgcG9zaXRpb246Zml4ZWQ7IGxlZnQ6NTAlOyB0b3A6aW5oZXJpdDsgei1pbmRleDoxMDsgb3ZlcmZsb3cteTphdXRvOyBmbGV4LWZsb3c6cm93IHdyYXA7IHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwgMCk7IGJhY2tkcm9wLWZpbHRlcjpibHVyKDAuOHJlbSk7fVxyXG5cdFx0XHRcdCNtZW51X3ByaW5jaXBhbCBsaSB1bC5zb3VzX21lbnUuaXMtYWN0aXZlIHtkaXNwbGF5OmZsZXggIWltcG9ydGFudDt9XHJcblxyXG5cdFx0XHRcdCNtZW51X3ByaW5jaXBhbCB1bCBsaSBsaS5sZXZlbDIge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgeHktY2VsbCgxIG9mIDQpOyBtYXJnaW4tYm90dG9tOjZyZW07IHRleHQtdHJhbnNmb3JtOmluaXRpYWw7IGZvbnQtc2l6ZToxLjhyZW07XHJcblxyXG5cdFx0XHRcdFx0PiBhIHttYXJnaW4tYm90dG9tOjIuNXJlbTsgcGFkZGluZzowOyBtYXJnaW4tcmlnaHQ6MDt9XHJcblx0XHRcdFx0XHQuc3VibWVudS10b2dnbGUge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBldGF0IGhvdmVyIC0gYWN0aWYgKi9cclxuXHRcdFx0XHRcdCNtZW51X3ByaW5jaXBhbCB1bCBsaSBsaS5sZXZlbDIgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSxcclxuXHRcdFx0XHRcdCNtZW51X3ByaW5jaXBhbCB1bCBsaSBsaS5sZXZlbDIuYWN0ID4gYSB7Y29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHJcblx0XHRcdFx0I21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaS5oYXMtc3VibWVudS10b2dnbGUgPiBhIHttYXJnaW46MDt9XHJcblx0XHRcdFx0I21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaS5oYXMtc3VibWVudS10b2dnbGUgPiAuc3VibWVudS10b2dnbGUge3JpZ2h0OjEuMXZ3OyB3aWR0aDpjYWxjKDEwMCUgLSAxLjF2dyoyKTsgaGVpZ2h0OjEwMCU7IG92ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdFx0I21lbnVfcHJpbmNpcGFsID4gdWwgPiBsaS5oYXMtc3VibWVudS10b2dnbGUgPiAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtkaXNwbGF5Om5vbmU7fVxyXG5cclxuXHRcdFx0LyoqKiBMRVZFTCAzICoqKi9cclxuXHRcdFx0XHQjbWVudV9wcmluY2lwYWwgdWwgbGkubGV2ZWwyID4gLnNtIHtkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7IG1hcmdpbjowO31cclxuXHRcdFx0XHQjbWVudV9wcmluY2lwYWwgdWwgbGkgdWwgbGkgbGkubGV2ZWwzIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAuNnJlbSAwO1xyXG5cdFx0XHRcdFx0PiBhIHtmb250LXNpemU6MS41cmVtOyBsaW5lLWhlaWdodDoxLjM7IHBhZGRpbmc6MDsgcG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyBjb2xvcjokY2ltX2JsYWNrOyBmb250LWZhbWlseTokcmVndWxhcjsgcGFkZGluZy1sZWZ0OjA7IGxldHRlci1zcGFjaW5nOiAwLjA1cmVtO31cclxuXHJcblx0XHRcdFx0XHQvKiBldGF0IGhvdmVyIC0gYWN0aWYgKi9cclxuXHRcdFx0XHRcdFx0PiBhOmlzKDpob3ZlciwgOmZvY3VzKSxcclxuXHRcdFx0XHRcdFx0I21lbnVfcHJpbmNpcGFsIHVsIGxpIHVsIGxpIGxpLmxldmVsMy5hY3QgPiBhIHt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0LyoqKiBPVkVSTEFZIE1FTlUgKioqL1xyXG5cdFx0XHRcdCNtZW51X292ZXJsYXkge3dpZHRoOjEwMHZ3OyBoZWlnaHQ6Y2FsYygxMDB2aCAtIG1hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgbGFyZ2UpKTsgcG9zaXRpb246Zml4ZWQ7IHRvcDptYXAtZGVlcC1nZXQoJGhlYWRlcl9oZWlnaHQsIGxhcmdlKTsgbGVmdDowOyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJHJldmVhbC1iYWNrZ3JvdW5kLCAwLjk2KTsgYmFja2Ryb3AtZmlsdGVyOmJsdXIoMC4ycmVtKTsgei1pbmRleDotMTsgZGlzcGxheTpub25lO31cclxuXHRcdFx0XHQjaGVhZGVyLm1lbnVfb3BlbiAjbWVudV9vdmVybGF5IHtkaXNwbGF5OmJsb2NrO31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUE9QSU4gUkVDSEVSQ0hFICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC8qI3BvcGluX3JlY2hlcmNoZSB7YmFja2dyb3VuZC1jb2xvcjokZGVmYXVsdF9jb2xvcjsgdG9wOjAgIWltcG9ydGFudDt9XHJcblx0XHQjcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSB7Ym9yZGVyOjA7IGJvcmRlci1ib3R0b206MC4ycmVtIHNvbGlkICMxZDFkMWI7IGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7IG1heC13aWR0aDo1N3JlbTsgYm94LXNoYWRvdzpub25lOyBwYWRkaW5nOjA7IGJvcmRlci1yYWRpdXM6MDt9XHJcblx0XHQjcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSAjcmVjaGVyY2hlIHt3aWR0aDoxMDAlOyBwYWRkaW5nOjEuNXJlbSA3cmVtIDEuNXJlbSAwOyBtYXJnaW4tYm90dG9tOjA7IHBvc2l0aW9uOnJlbGF0aXZlOyBoZWlnaHQ6NnJlbTt9XHJcblx0XHQjcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSAjcmVjaGVyY2hlIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjojMWQxZDFiOyB0ZXh0LXRyYW5zZm9ybTpub25lO31cclxuXHRcdCNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlICNyZWNoZXJjaGUgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge2NvbG9yOiMxZDFkMWI7IHRleHQtdHJhbnNmb3JtOm5vbmU7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cclxuXHRcdCNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlICNyZWNoZXJjaGUgaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7Y29sb3I6IzFkMWQxYjsgdGV4dC10cmFuc2Zvcm06bm9uZTsgb3BhY2l0eToxICFpbXBvcnRhbnQ7fVxyXG5cdFx0I3BvcGluX3JlY2hlcmNoZSAjem9uZV9yZWNoZXJjaGUgI3JlY2hlcmNoZSBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge2NvbG9yOiMxZDFkMWI7IHRleHQtdHJhbnNmb3JtOm5vbmU7fVxyXG5cdFx0I3BvcGluX3JlY2hlcmNoZSAjem9uZV9yZWNoZXJjaGUgI3JlY2hlcmNoZSBpbnB1dFtwbGFjZWhvbGRlcl0ge2NvbG9yOiMxZDFkMWI7IHRleHQtdHJhbnNmb3JtOm5vbmU7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cclxuXHRcdCNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlICNyZWNoZXJjaGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7YmFja2dyb3VuZDp1cmwoLi4vaW1nL3BpY3RvX2xvdXBlX25vaXIucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgdGV4dC1pbmRlbnQ6LTk5OTk5ZW07IHdpZHRoOjZyZW07IHJpZ2h0OjA7fVxyXG5cdFx0I3BvcGluX3JlY2hlcmNoZSAjem9uZV9yZWNoZXJjaGUgI3JlY2hlcmNoZSBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjcG9waW5fcmVjaGVyY2hlICN6b25lX3JlY2hlcmNoZSAjcmVjaGVyY2hlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge29wYWNpdHk6MC43O31cclxuXHRcdCNwb3Bpbl9yZWNoZXJjaGUgI3pvbmVfcmVjaGVyY2hlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHt3aWR0aDo5MCU7IHBhZGRpbmc6MDsgbWFyZ2luOjA7IGNvbG9yOiMxZDFkMWI7IGZvbnQtZmFtaWx5OiRyZWd1bGFyOyBmb250LXdlaWdodDpub3JtYWw7IGZvbnQtc2l6ZToyLjhlbTsgbGluZS1oZWlnaHQ6MS40ZW07IGhlaWdodDppbmhlcml0OyBib3JkZXI6MDsgYmFja2dyb3VuZDp0cmFuc3BhcmVudDsgYm94LXNoYWRvdzpub25lO30qL1xyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogQkFOREVBVSBJTUFHRSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LmJhbmRlYXVfcGFnZSBpbWcsIC5iYW5kZWF1X3BhZ2UgLmRlZmF1bHRfaW1nIHt3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgb2JqZWN0LWZpdDpjb3Zlcjt9XHJcblxyXG5cdFx0LyoqKiBIT01FIE9OTFkgKioqL1xyXG5cdFx0XHQjaG9tZSB7XHJcblx0XHRcdFx0LmJhbmRlYXVfcGFnZSB7d2lkdGg6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgcG9zaXRpb246Zml4ZWQ7ICB6LWluZGV4Oi0xOyB0b3A6MDsgbGVmdDo1MCU7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO31cclxuXHRcdFx0XHQuYmFuZGVhdV9wYWdlID4gKiB7aGVpZ2h0OjEwMCU7fVxyXG5cdFx0XHRcdC5iYW5kZWF1X3BhZ2UgLmltZyB7cG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOjEwMCU7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBQQUdFIE9OTFkgKioqL1xyXG5cdFx0XHQvLyAjcGFnZSAuYmFuZGVhdV9wYWdlIHttaW4taGVpZ2h0OjUwcmVtO31cclxuXHRcdFx0Ly8gI2JhbmRlYXVfcGFnZV9wb3BpbiB7bWluLWhlaWdodDo0MXJlbTt9XHJcblx0XHRcdCNwYWdlIC5iYW5kZWF1X3BhZ2UsICNiYW5kZWF1X3BhZ2VfcG9waW4ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlOyBvcmRlcjoxO1xyXG5cclxuXHRcdFx0XHQ+ICoge3BhZGRpbmc6MDt9XHJcblx0XHRcdFx0LmltZyB7cG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOjEwMCU7IGxlZnQ6MDt9XHJcblxyXG5cdFx0XHRcdC8qKiogTGFyZ2V1ciBkZSBsJ2ltYWdlIERBTlMgbGUgd3JhcCAqKiovXHJcblx0XHRcdFx0XHQkeHlPbnplOiBjYWxjKCN7JGdsb2JhbC13aWR0aH0gKiAxMSAvIDEyKTtcclxuXHRcdFx0XHQvKioqIExhcmdldXIgZGUgbCdpbWFnZSBIT1JTIGR1IHdyYXAgKioqL1xyXG5cdFx0XHRcdFx0JG91dFdyYXA6IGNhbGMoKDEwMHZ3IC0gI3skZ2xvYmFsLXdpZHRofSkgLyAyKTtcclxuXHRcdFx0XHQvKioqIExhcmdldXIgZGUgbCdpbWcgKioqL1xyXG5cdFx0XHRcdFx0aW1nLCAuZGVmYXVsdF9pbWcge3dpZHRoOmNhbGMoI3skeHlPbnplfSArICN7JG91dFdyYXB9KTsgb2JqZWN0LWZpdDpjb3ZlcjsgbWF4LXdpZHRoOjEwMHZ3OyBoZWlnaHQ6MTAwJTsgIGJhY2tncm91bmQtY29sb3I6JGNpbV9tZWRpdW1fZ3JheX1cclxuXHJcblx0XHRcdFx0LmNvcHlyaWdodCB7Ym90dG9tOjA7IHJpZ2h0OmNhbGMoLTEgKiAjeyRvdXRXcmFwfSk7IGJhY2tncm91bmQtY29sb3I6JGNpbV9ibGFjazsgY29sb3I6JGNpbV93aGl0ZTsgcGFkZGluZzowLjJyZW0gMC41cmVtOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXJlbSk7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBQT1VSIFBBUkFMTEFYICoqKi9cclxuXHRcdFx0LmNvbnRlbnRfZnJvbV9wYWdlIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOm1hcC1kZWVwLWdldCgkaGVhZGVyX2hlaWdodCwgbGFyZ2UpO1xyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgPiAuZ3JpZC14IHtwYWRkaW5nLXRvcDo2LjdyZW07fVxyXG5cdFx0XHRcdC5jb250ZW50X3BhZ2UgPiAuYm90dG9tX2NvbnRhaW5lciAgfiAuZ3JpZC14IHtwYWRkaW5nLXRvcDowO31cclxuXHRcdFx0XHQuY29udGVudF9wYWdlLCAuY29udGVudF9wYWdlIH4gLmJsb2NfaG9tZSB7cG9zaXRpb246cmVsYXRpdmU7IHotaW5kZXg6MTt9XHJcblx0XHRcdFx0LmNvbnRlbnRfcGFnZTo6YmVmb3JlLCAuY29udGVudF9wYWdlIH4gLmJsb2NfaG9tZTo6YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBwb3NpdGlvbjphYnNvbHV0ZTsgd2lkdGg6MTAwdnc7IGhlaWdodDoxMDAlOyB0b3A6MDsgbGVmdDo1MCU7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7IHotaW5kZXg6LTE7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDt9XHJcblx0XHR9XHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRk9PVEVSICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdCNmb290ZXIge3otaW5kZXg6MjsgYmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXk7IHBvc2l0aW9uOnJlbGF0aXZlOyBAaW5jbHVkZSB4eS1jZWxsKHNocmluaywgJGd1dHRlcnM6MCwgJHZlcnRpY2FsOnZlcnRpY2FsKTt9XHJcblx0XHQjaG9tZSAjZm9vdGVyIC5ncmlkLWNvbnRhaW5lciB7bWF4LXdpZHRoOiRncmlkLXJvdy13aWR0aDt9XHJcblx0XHQjZm9vdGVyIHAge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHQjZm9vdGVyIHA6bm90KC5idG5fbGllbikgYSB7Y29sb3I6JGNpbV9ibGFjazt9XHJcblx0XHQjZm9vdGVyIHAgYTpob3ZlciwgI2Zvb3RlciBwIGE6Zm9jdXMge31cclxuXHRcdCNmb290ZXIgLnRpdHJlX2luZm9fZm9vdGVyIHtsaW5lLWhlaWdodDoxLjE7IGZvbnQtc2l6ZToxLjVlbTsgY29sb3I6JGNpbV9ibGFjazsgZm9udC1mYW1pbHk6JGJvbGQ7IG1hcmdpbi1ib3R0b206MXJlbTsgbGV0dGVyLXNwYWNpbmc6MC4wNXJlbTt9XHJcblxyXG5cdFx0LyoqKiBMT0dPICoqKi9cclxuXHRcdFx0LmxvZ29fZm9vdGVyIHtkaXNwbGF5OmlubGluZS1ibG9jazsgcG9zaXRpb246cmVsYXRpdmU7IHBhZGRpbmc6MC41cmVtIDA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC00cmVtKTt9XHJcblx0XHRcdC5sb2dvX2Zvb3RlcjpiZWZvcmUge2NvbnRlbnQ6IFwiXCI7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgcmlnaHQ6MDsgd2lkdGg6MTAwdnc7IGhlaWdodDoxMDAlOyB6LWluZGV4OiAtMTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlOyBkaXNwbGF5Om5vbmU7fVxyXG5cdFx0XHQubG9nb19mb290ZXIgaW1nIHttYXgtaGVpZ2h0OjEyLjVyZW07IG1heC13aWR0aDo0NXJlbTsgd2lkdGg6YXV0bzsgaGVpZ2h0OmF1dG87fVxyXG5cclxuXHRcdC8qKiogQ09PUkRPTk5FRVMgKioqL1xyXG5cdFx0XHQjZm9vdGVyIC5jb250YWN0X2Zvb3RlciB7XHJcblx0XHRcdFx0cCB7cGFkZGluZzowLjVyZW0gMCAwIDRyZW07IGJhY2tncm91bmQtc2l6ZTozLjJyZW0gYXV0bzsgYmFja2dyb3VuZC1wb3NpdGlvbjp0b3AgbGVmdDsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBsaW5lLWhlaWdodDoxLjQ7IG1pbi1oZWlnaHQ6My4ycmVtOyBmb250LXNpemU6MS41ZW07IG1hcmdpbi1ib3R0b206MDsgbGV0dGVyLXNwYWNpbmc6MC4wNXJlbTt9XHJcblx0XHRcdFx0cC50aXRyZV9pbmZvX2Zvb3RlciArIHA6bm90KC50aXRyZV9pbmZvX2Zvb3Rlcikge3BhZGRpbmctdG9wOjA7IG1hcmdpbi10b3A6LTAuNXJlbTt9XHJcblx0XHRcdFx0cC5jb250YWN0IHttYXJnaW4tdG9wOjEuMnJlbTt9XHJcblx0XHRcdFx0cCBhIHtmb250LWZhbWlseTppbmhlcml0O31cclxuXHRcdFx0XHRwIGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtjb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQjYmxvY19jb250YWN0X2luZm8ge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0I2luZm9fZm9vdGVyIHtcclxuXHRcdFx0XHRwYWRkaW5nOjQuNXJlbSAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBBUFBMSVMgRk9PVEVSIC0gTkVXU0xFVFRFUiAtIFBXQSAqKiovXHJcblx0XHRcdC8qI2Zvb3RlciAuYXBwbGlfZm9vdGVyIHtcclxuXHRcdFx0XHRwYWRkaW5nOjAuNXJlbSAwIDAgNHJlbTsgYmFja2dyb3VuZC1zaXplOjMuMnJlbSBhdXRvOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOnRvcCBsZWZ0OyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IG1pbi1oZWlnaHQ6My4ycmVtO1xyXG5cdFx0XHRcdC50aXRyZV9pbmZvX2Zvb3RlciB7bWFyZ2luLWJvdHRvbToxcmVtO31cclxuXHRcdFx0XHQuYnRuX2xpZW4ge3doaXRlLXNwYWNlOm5vd3JhcDt9XHJcblx0XHRcdFx0cCB7bGluZS1oZWlnaHQ6MS4zOyBmb250LXNpemU6MS41ZW07IG1hcmdpbi1ib3R0b206MS41cmVtO31cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0I2Zvb3RlciAuYXBwbGlfZm9vdGVyOm5vdCg6Zmlyc3QtY2hpbGQpIHttYXJnaW4tdG9wOjMuNXJlbTt9XHJcblxyXG5cdFx0XHQjZm9vdGVyIC5hcHBsaV9mb290ZXIsICNmb290ZXIgLmFwcGxpX2Zvb3Rlci5wd2Ege21heC13aWR0aDogMzRyZW07fSovXHJcblxyXG5cdFx0LyoqKiBSRVNFQVVYIFNPQ0lBVVggKioqL1xyXG5cdFx0XHQucmVzZWF1eF9zb2NpYXV4IHtcclxuXHRcdFx0XHR1bCB7ZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpjZW50ZXI7IG1hcmdpbjowOyBmbGV4LXdyYXA6IHdyYXA7fVxyXG5cdFx0XHRcdGxpIHttYXJnaW4tcmlnaHQ6Mi40cmVtOyBkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcblx0XHRcdFx0bGk6bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OjA7fVxyXG5cdFx0XHRcdGxpIGEge2Rpc3BsYXk6YmxvY2s7IHdpZHRoOjEuMnJlbTsgaGVpZ2h0OjEuMnJlbTsgcG9zaXRpb246cmVsYXRpdmU7IGJhY2tncm91bmQ6bm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyBjb250YWluO31cclxuXHRcdFx0fVxyXG5cdFx0XHQjZm9vdGVyIC5yZXNlYXV4X3NvY2lhdXggIHtcclxuXHRcdFx0XHRsaTpub3QoOmxhc3QtY2hpbGQpIHttYXJnaW4tcmlnaHQ6MnJlbTt9XHJcblx0XHRcdFx0dWwge21hcmdpbi10b3A6LTFyZW07IG1hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdFx0bGkge21hcmdpbi10b3A6MXJlbTsgZGlzcGxheTogaW5saW5lLWJsb2NrO31cclxuXHRcdFx0XHRsaSBhIHt3aWR0aDozLjJyZW07IGhlaWdodDozLjJyZW07IGRpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuXHRcdFx0fVxyXG5cclxuXHRcdC8qKiogQVBQTElDQVRJT04gKioqL1xyXG5cdFx0XHQjZm9vdGVyIC5hcHAgIHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAxLjVyZW07XHJcblx0XHRcdFx0cCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5kZXNjcmlwdGlvbl9hcHAge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVlbTtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGltZyB7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBHTyBUTyBUT1AgKioqL1xyXG5cdFx0XHQjYmFja190b190b3Age3Bvc2l0aW9uOmFic29sdXRlOyByaWdodDo1LjVyZW07IHRvcDowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt9XHJcblx0XHRcdCNiYWNrX3RvX3RvcCBwIHttYXJnaW46MDt9XHJcblx0XHRcdCNiYWNrX3RvX3RvcCBwIGEge2Rpc3BsYXk6YmxvY2s7IHdpZHRoOjcuNHJlbTsgaGVpZ2h0OjcuNHJlbTsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb250YWluOyBib3JkZXItcmFkaXVzOjUwJTsgYm9yZGVyOjAuMnJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7fVxyXG5cclxuXHRcdC8qKiogTUVOVSBGT09URVIgKioqL1xyXG5cdFx0XHQjbWVudV9mb290ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTtcclxuXHRcdFx0XHR1bCB7cGFkZGluZzoyLjlyZW0gMDsgbWFyZ2luLWJvdHRvbTowO31cclxuXHRcdFx0XHR1bCBsaSB7Zm9udC1zaXplOjEuNWVtOyBsaW5lLWhlaWdodDoxLjY7IHBhZGRpbmc6MCAxLjVyZW0gMCAyLjVyZW07IGRpc3BsYXk6aW5saW5lOyBsZXR0ZXItc3BhY2luZzowLjA1cmVtO31cclxuXHRcdFx0XHR1bCBsaTpmaXJzdC1jaGlsZCB7cGFkZGluZy1sZWZ0OjA7IGJhY2tncm91bmQ6bm9uZTt9XHJcblx0XHRcdFx0dWwgbGkgYSB7cGFkZGluZzowOyBjb2xvcjokY2ltX2JsYWNrO31cclxuXHRcdFx0XHR1bCBsaSBhOmlzKDpob3ZlciwgOmZvY3VzKSB7Y29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0fVxyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBGSUwgRCdBUklBTkUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0I2NvbnRhaW5fYXJpYW5lIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IHBvc2l0aW9uOnJlbGF0aXZlOyB6LWluZGV4OjI7fVxyXG5cdFx0I3BhZ2UubGlzdCwgI3BhZ2UuZGFzaGJvYXJkIHtcclxuXHRcdFx0I2NvbnRhaW5fYXJpYW5lIHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O31cclxuXHRcdH1cclxuXHRcdCNmaWxfYXJpYW5lIHtcclxuXHRcdFx0bWFyZ2luLXRvcDoycmVtOyBtYXJnaW4tYm90dG9tOjA7XHJcblxyXG5cdFx0XHQuYnJlYWRjcnVtYnMge3BhZGRpbmc6MCAwIDAgMC41cmVtO31cclxuXHRcdFx0LmJyZWFkY3J1bWJzIGxpIHt0ZXh0LXRyYW5zZm9ybTpub25lOyBjb2xvcjokYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjsgZm9udC1zaXplOiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTsgbGluZS1oZWlnaHQ6MS4yOyBkaXNwbGF5OmlubGluZTsgZmxvYXQ6bm9uZTt9XHJcblx0XHRcdC5icmVhZGNydW1icyBsaTo6YWZ0ZXIge2NvbnRlbnQ6Jyc7IHdpZHRoOjIuNnJlbTsgaGVpZ2h0OjAuNXJlbTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6MC40cmVtIGF1dG87IHZlcnRpY2FsLWFsaWduOm1pZGRsZTt9XHJcblx0XHRcdC5icmVhZGNydW1icyBsaTpmaXJzdC1jaGlsZCB7cGFkZGluZy1sZWZ0OjA7IGJhY2tncm91bmQ6bm9uZTt9XHJcblx0XHRcdC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIHtmb250LWZhbWlseTokYm9sZDt9XHJcblx0XHRcdC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIHNwYW4ge2ZvbnQtZmFtaWx5OmluaGVyaXQ7fVxyXG5cdFx0XHQuYnJlYWRjcnVtYnMgbGk6bGFzdC1jaGlsZDo6YWZ0ZXIge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdC5icmVhZGNydW1icyBsaSBhIHt0ZXh0LWRlY29yYXRpb246bm9uZTt9XHJcblx0XHRcdC5icmVhZGNydW1icyBsaSBhOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIHtjb2xvcjppbmhlcml0O31cclxuXHRcdH1cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFURSBNQUogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC8qKiogREFURSBERSBNSVNFIEEgSk9VUiAqKiovXHJcblx0XHRcdC5kYXRlX21haiB7bWFyZ2luLXRvcDo1cmVtO31cclxuXHRcdFx0LmRhdGVfbWFqIHAsIC5jb250ZW50X3BhZ2UgLmRhdGVfbWFqIHAge2NvbG9yOiRjaW1fZGFya19ncmF5OyBtYXJnaW4tYm90dG9tOjA7fSIsIkBmdW5jdGlvbiAtemYtZmxleC1qdXN0aWZ5KCR0ZXh0LWRpcmVjdGlvbikge1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnZ3JvdycpIHtcbiAgICBAcmV0dXJuIDEgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICgkc2l6ZSA9PSAnc2hyaW5rJyBvciAkc2l6ZSA9PSAnZnVsbCcgb3IgemYtaXMtZnJhY3Rpb24oJHNpemUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogdHJ1ZSkpIHtcbiAgICBAcmV0dXJuIDAgMCBhdXRvO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cblxuLy8vIENhbGN1bGF0ZSB0aGUgc2l6ZSBvZiBhIGNlbGwgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwIGAkZ3V0dGVyc2AuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8TWFwfSBUaGUgY2VsbCBndXR0ZXIgc2l6ZSBvciB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcC5cbkBmdW5jdGlvbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAvLyBGb3IgYGF1dG9gLCByZXR1cm5zIHRoZSByZXNwb25zaXZlIG1hcCBgJGd1dHRlcnNgLlxuICBAaWYgKCRicmVha3BvaW50ID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gIH1cblxuICAvLyBVc2UgdGhlIGNvbnRleHR1YWwgYnJlYWtwb2ludCBieSBkZWZhdWx0LlxuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCk7XG5cbiAgQGlmICgkYnJlYWtwb2ludCkge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi16ZXJvLWJyZWFrcG9pbnQpIG9yIDA7XG4gIH1cbn1cblxuLy8vIFJldHVybnMgdGhlIHBlcmNlbnRhZ2Ugc2l6ZSBvZiBhIGNlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkc2l6ZSBbJGdyaWQtY29sdW1uc10gLSBTaXplIHRvIG1ha2UgdGhlIGNlbGwuIFlvdSBjYW4gcGFzcyBhIHZhbHVlIGluIG11bHRpcGxlIGZvcm1hdHMsIHN1Y2ggYXMgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvM2AuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBTaXplIG9mIHRoZSBjZWxsIChpbiBwZXJjZW50KS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiAkZ3JpZC1jb2x1bW5zXG4pIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRzaXplLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbnMpO1xufVxuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIHZhbHVlIGZvciBhIGNlbGwgc2l6ZS5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCBvciBhbnkgZnJhY3Rpb24gbGlrZSBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyBhIG1hcCBvZiBzaXplcyBhZGFwdGVkIHRvIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd8TWFwfSBUaGUgY2VsbCBzaXppbmcgcHJvcGVydHkgdmFsdWUsIG9yIGEgcmVzcG9uc2l2ZSBtYXAgb2YgdGhlbS5cbkBmdW5jdGlvbiB4eS1jZWxsLXNpemUtY3NzKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGxcbikge1xuICAkbWFyZ2luLWd1dHRlcjogMDtcblxuICBAaWYgKCRzaXplID09ICdhdXRvJyBvciAkc2l6ZSA9PSAnc2hyaW5rJykge1xuICAgIEByZXR1cm4gYXV0bztcbiAgfVxuXG4gIC8vIEZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzLCB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkbWFyZ2luLWd1dHRlcjogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICAgQGlmICgkbWFyZ2luLWd1dHRlciA9PSBudWxsKSB7XG4gICAgICBAZXJyb3IgJ3h5LWNlbGwtc2l6ZTogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBzaXplIChudW1iZXIpXG4gICRzaXplLXJhdzogaWYoJHNpemUgPT0gJ2Z1bGwnLCAxMDAlLCB4eS1jZWxsLXNpemUoJHNpemUpKTtcblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgQ1NTIHNpemUgaW5jbHVkaW5nIGd1dHRlcnMgKHN0cmluZylcbiAgLy8gSWYgdGhlIGNlbGwgaGFzIHJlc3BvbnNpdmUgbWFyZ2luIGd1dHRlcnMsIHJldHVybiBhIHJlc3BvbnNpdmUgbWFwIG9mIHNpemVzLlxuICBAaWYgdHlwZS1vZigkbWFyZ2luLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogKCk7XG5cbiAgICBAZWFjaCAkYnAsICRtZyBpbiAkbWFyZ2luLWd1dHRlciB7XG4gICAgICAkbWdjOiByZW0tY2FsYygkbWcpO1xuICAgICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIHplcm8tdW5pdFxuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSB6ZXJvLXVuaXRcbiAgICAgICRtZ2M6IDByZW07XG4gICAgfVxuICAgICRjc3Mtc2l6ZTogaWYoJG1hcmdpbi1ndXR0ZXIgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nY30pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gUmVzZXRzIGEgY2VsbHMgd2lkdGggKG9yIGhlaWdodCBpZiB2ZXJ0aWNhbCBpcyB0cnVlKSBhcyB3ZWxsIGFzIHN0cmlwcyBpdHMgZ3V0dGVycy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXJlc2V0KCR2ZXJ0aWNhbDogdHJ1ZSkge1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG4gICN7JGRpcmVjdGlvbn06IGF1dG87XG4gIG1heC0jeyRkaXJlY3Rpb259OiBub25lO1xufVxuXG4vLy8gU2V0cyBzaXppbmcgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyBzaXplcyBhZGFwdGVkIGZvciByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zaXplKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkc2l6ZXM6IHh5LWNlbGwtc2l6ZS1jc3MoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuXG4gIEBpZiAodHlwZS1vZigkc2l6ZXMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJHNpemVzKSB7XG4gICAgICAjeyRkaXJlY3Rpb259OiAkLXpmLWJwLXZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgI3skZGlyZWN0aW9ufTogJHNpemVzO1xuICB9XG59XG5cbi8vLyBTZXRzIGd1dHRlcnMgcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBEaXJlY3Rpb24gb2YgdGhlIGd1dHRlcnMgdG8gb3V0cHV0LiBTZWUgYCRndXR0ZXItcG9zaXRpb25gLlxuQG1peGluIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAvLyBHZXQgdGhlIGRlZmF1bHQgZ3V0dGVyIHBvc2l0aW9uIGFjY29yZGluZyB0byBjZWxsIGRpcmVjdGlvblxuICBAaWYoJGd1dHRlci1wb3NpdGlvbiA9PSBudWxsKSB7XG4gICAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuICB9XG5cbiAgLy8gR2V0IHRoZSBndXR0ZXIgd2lkdGggZm9yIHRoaXMgYnJlYWtwb2ludFxuICAkZ3V0dGVyLXdpZHRoOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgQGlmICgkZ3V0dGVyLXdpZHRoID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ3h5LWNlbGwtZ3V0dGVyczogbm8gZ3V0dGVycyB3ZXJlIGZvdW5kIGluIGAkZ3V0dGVyc2AgZm9yIFwiJGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9XCInO1xuICB9XG5cbiAgQGlmICgkZ3V0dGVyLXR5cGUgYW5kICRndXR0ZXItdHlwZSAhPSBub25lKSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLXdpZHRoLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgY2VsbCBmb3IgeW91ciBncmlkLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuLy8vIEBwYXJhbSB7TGlzdH0gJG91dHB1dCBbKGJhc2Ugc2l6ZSBndXR0ZXJzKV0gLSBDZWxsIHBhcnRzIHRvIG91dHB1dC4gWW91IHdpbGwgbmVlZCB0byBnZW5lcmF0ZSBvdGhlcnMgcGFydHMgb2YgdGhlIGNlbGwgc2VwZXJhdGVseSwgaXQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1jZWxsKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgLy8gRGVmYXVsdCBmb3IgJGd1dHRlci1vdXRwdXRcbiAgQGlmICgkZ3V0dGVyLW91dHB1dCAhPSBudWxsKSB7XG4gICAgQHdhcm4gJ3h5LWNlbGw6ICRndXR0ZXItb3V0cHV0IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcbiAgICBAaWYgKCRndXR0ZXItb3V0cHV0ID09IGZhbHNlKSB7XG4gICAgICAkb3V0cHV0OiBzbC1yZW1vdmUoJG91dHB1dCwgZ3V0dGVycyk7XG4gICAgfVxuICB9XG5cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBiYXNlKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBzaXplKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbiAgQGlmIChpbmRleCgkb3V0cHV0LCBndXR0ZXJzKSkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHNpemVkIGdyaWQuIFVzZWQgdG8gZ2VuZXJhdGUgb3VyIGdyaWQgY2xhc3Nlcy5cbi8vL1xuLy8vIGB4eS1jZWxsLXN0YXRpYygpYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuXG4vLy8gVXNlIGB4eS1jZWxsKClgIGluc3RlYWQgd2l0aCBgJG91dHB1dDogKHNpemUgZ3V0dGVycylgIHRvIG5vdCBnZW5lcmF0ZSB0aGUgY2VsbCBiYXNlLlxuLy8vIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMFxuLy8vXG4vLy8gQGRlcHJlY2F0ZWQgdjYuNi4wXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy4gQWx3YXlzIGB0cnVlYCBmb3IgbWFyZ2luIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXN0YXRpYyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogJC16Zi16ZXJvLWJyZWFrcG9pbnQsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICBAd2FybiAneHktY2VsbC1zdGF0aWMoKSBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSBcInh5LWNlbGwoKVwiIGluc3RlYWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG5cbiAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgJGd1dHRlci1wb3NpdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIHRvcCBib3R0b20sIGxlZnQgcmlnaHQpO1xuXG4gICQtZ3V0dGVyLW91dHB1dDogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCB0cnVlLCAkZ3V0dGVyLW91dHB1dCk7XG4gICQtZ3V0dGVyLW1hcmdpbjogaWYoJGd1dHRlci10eXBlID09ICdtYXJnaW4nLCAkZ3V0dGVyLCAwKTtcblxuICBAaW5jbHVkZSAteHktY2VsbC1wcm9wZXJ0aWVzKCRzaXplLCAkLWd1dHRlci1tYXJnaW4sICR2ZXJ0aWNhbCk7XG4gIEBpZiAoJC1ndXR0ZXItb3V0cHV0KSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24pO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlIGd1dHRlcnMgZm9yIGEgY2VsbC9jb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGVpdGhlciBtYXJnaW4gb3IgcGFkZGluZy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lZ2F0aXZlIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGFwcGx5IHRoZSBndXR0ZXIgYXMgYSBuZWdhdGl2ZSB2YWx1ZS4gQ29tbW9ubHkgdXNlZCBmb3IgbmVzdGVkIGdyaWRzLlxuQG1peGluIHh5LWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IHJpZ2h0IGxlZnQsXG4gICRuZWdhdGl2ZTogZmFsc2Vcbikge1xuICAkb3BlcmF0b3I6IGlmKCRuZWdhdGl2ZSwgJy0nLCAnJyk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBkZWNsYXJlZCBuZWdhdGl2ZSBndXR0ZXJzLCBmb3JjZSB0eXBlIHRvIGBtYXJnaW4uXG4gICRndXR0ZXItdHlwZTogaWYoJG5lZ2F0aXZlLCAnbWFyZ2luJywgJGd1dHRlci10eXBlKTtcblxuICAvLyBPdXRwdXQgb3VyIG1hcmdpbiBndXR0ZXJzLlxuICBAaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnKSB7XG4gICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoYXV0bywgJGd1dHRlcnMpIHtcbiAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAqIDAuNTtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIl19 */
