/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/@symfony/webpack-encore/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./src/scss/index.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * UdeC Design System - Main Index
 *
 * Archivo principal que importa todos los estilos base.
 * Importa este archivo para tener el sistema completo.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Fonts - Tipografías Roboto y Poppins */
/**
 * UdeC Design System - Fonts
 *
 * Declaraciones @font-face para Roboto y Poppins.
 * Usa fuentes locales en formato woff2 del tema.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Roboto - Variable Font */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(./fonts/Roboto-VariableFont.woff2) format("woff2-variations");
}
@font-face {
  font-family: "Roboto";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url(./fonts/Roboto-Italic-VariableFont.woff2) format("woff2-variations");
}
/* Poppins - Regular */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/Poppins-Regular.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/Poppins-Italic.woff2) format("woff2");
}
/* Poppins - Medium (500) */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/Poppins-Medium.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/Poppins-MediumItalic.woff2) format("woff2");
}
/* Poppins - SemiBold (600) */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/Poppins-SemiBold.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/Poppins-SemiBoldItalic.woff2) format("woff2");
}
/* Poppins - Bold (700) */
@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/Poppins-Bold.woff2) format("woff2");
}
@font-face {
  font-family: "Poppins";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(./fonts/Poppins-BoldItalic.woff2) format("woff2");
}
/* Variables - Design tokens */
/**
 * UdeC Design System - Variables (Design Tokens)
 *
 * Variables de diseño extraídas desde Figma.
 * Este archivo contiene todos los tokens del sistema de diseño.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Global color */
:root {
  /* Color code */
  /* color */
  --color-feedback-green-200: #b6decb;
  --color-feedback-green-600: #2b9467;
  --color-feedback-red-100: var(--color-secondary-red-100);
  --color-feedback-red-600: var(--color-secondary-red-600);
  --color-feedback-yellow-200: var(--color-primary-yellow-200);
  --color-feedback-yellow-600: var(--color-primary-yellow-600);
  --color-neutral-gray-100: #dddddd;
  --color-neutral-gray-200: #d2d1d1;
  --color-neutral-gray-300: #bcbaba;
  --color-neutral-gray-400: #a5a3a3;
  --color-neutral-gray-50: #f4f4f4;
  --color-neutral-gray-500: #8f8c8c;
  --color-neutral-gray-600: #727070;
  --color-neutral-gray-700: #565454;
  --color-neutral-gray-800: #2b2a2a;
  --color-neutral-gray-900: #0e0e0e;
  --color-neutral-white-0: #ffffff;
  --color-primary-blue-100: #a6b6d3;
  --color-primary-blue-200: #8598b9;
  --color-primary-blue-300: #64799e;
  --color-primary-blue-400: #435b84;
  --color-primary-blue-50: #c7d5ed;
  --color-primary-blue-500: #223c6a;
  --color-primary-blue-600: #1b3055;
  --color-primary-blue-700: #142440;
  --color-primary-blue-800: #0e182a;
  --color-primary-blue-900: #070c15;
  --color-primary-yellow-100: #fadfba;
  --color-primary-yellow-200: #f9d5a3;
  --color-primary-yellow-300: #f5c074;
  --color-primary-yellow-400: #f2ab46;
  --color-primary-yellow-50: #fdf5e8;
  --color-primary-yellow-500: #ef9618;
  --color-primary-yellow-600: #bf7813;
  --color-primary-yellow-700: #8f5a0e;
  --color-primary-yellow-800: #603c0a;
  --color-primary-yellow-900: #301e05;
  --color-secondary-red-100: #f0cbd0;
  --color-secondary-red-200: #e39ea6;
  --color-secondary-red-300: #d5707d;
  --color-secondary-red-400: #c84353;
  --color-secondary-red-50: #f7e2e4;
  --color-secondary-red-500: #ba152a;
  --color-secondary-red-600: #951122;
  --color-secondary-red-700: #700d19;
  --color-secondary-red-800: #4a0811;
  --color-secondary-red-900: #250408;
  --color-purple: #5E65D4;
  --color-green: #4DAC82;
  --color-light-blue: #5798DC;
  --color-salmon: #E25241;
  --color-dark-blue: #142440;
  --color-orange: #EF702E;
}

/* Specific color */
:root {
  /* Mode 1 */
  /* color */
  --background-color-bg-accent: var(--color-primary-yellow-500);
  --color-background-alt: var(--color-primary-blue-700);
  --color-background-overlay: var(--color-neutral-gray-800);
  --color-background-surface: var(--color-neutral-gray-50);
  --color-button-primary-bg-default: var(--color-primary-yellow-500);
  --color-button-primary-bg-disabled: var(--color-neutral-gray-200);
  --color-button-primary-bg-hover: var(--color-primary-yellow-300);
  --color-button-primary-bg-press: var(--color-primary-yellow-500);
  --color-button-primary-border-focus: var(--color-primary-blue-900);
  --color-button-primary-text: var(--color-text-default);
  --color-icon-dark: var(--color-primary-blue-900);
  --color-icon-default: var(--color-primary-blue-500);
  --color-icon-disabled: var(--color-neutral-gray-700);
  --color-icon-on-primary: var(--color-neutral-gray-50);
  --color-input-bg-disabled: var(--color-neutral-gray-200);
  --color-input-border-default: var(--color-neutral-gray-400);
  --color-input-border-error: var(--color-feedback-red-600);
  --color-input-border-focus: var(--color-primary-blue-900);
  --color-input-border-success: var(--color-feedback-green-600);
  --color-input-border-warning: var(--color-feedback-yellow-600);
  --color-input-helper-text: var(--color-neutral-gray-700);
  --color-input-label-text: var(--color-primary-blue-900);
  --color-input-placeholder: var(--color-neutral-gray-500);
  --color-input-text: var(--color-primary-blue-900);
  --color-link-default: var(--color-primary-blue-400);
  --color-link-disabled: var(--color-neutral-gray-700);
  --color-link-hover: var(--color-primary-blue-900);
  --color-link-visited: var(--color-primary-blue-700);
  --color-tag-bg-default: var(--color-primary-blue-50);
  --color-tag-bg-disabled: var(--color-neutral-gray-200);
  --color-tag-bg-hover: var(--color-primary-blue-200);
  --color-tag-bg-press: var(--color-primary-blue-500);
  --color-tag-border-focus: var(--color-primary-blue-900);
  --color-tag-text-default: var(--color-text-default);
  --color-tag-text-hover: var(--color-text-on-primary);
  --color-text-default: var(--color-primary-blue-900);
  --color-text-disabled: var(--color-neutral-gray-700);
  --color-text-muted: var(--color-primary-blue-500);
  --color-text-on-primary: var(--color-neutral-gray-50);
  --color-text-placeholder: var(--color-neutral-gray-700);
  --color-category: var(--color-primary-blue-500);
  --color-category-culture: var(--color-purple);
  --color-category-health-environment: var(--color-green);
  --color-category-science-technology: var(--color-light-blue);
  --color-category-humanities-society: var(--color-salmon);
  --color-category-university: var(--color-dark-blue);
  --color-category-sport: var(--color-orange);
  --color-category-academic-activities: var(--color-primary-yellow-500);
}

/* Global number */
:root {
  /* Mode 1 */
  /* number */
  --breakpoint-mobile: 23.4375rem;
  --breakpoint-tablet: 80rem;
  --breakpoint-desktop: 90rem;
  --elevation-0: 0rem;
  --elevation-1: 0.0625rem;
  --elevation-2: 0.125rem;
  --radius-none: 0rem;
  --radius-xs: 0.125rem;
  --radius-s: 0.25rem;
  --radius-m: 0.5rem;
  --radius-l: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.5rem;
  --radius-full: 624.9375rem;
  --spacing-0: 0rem;
  --spacing-4: 0.25rem;
  --spacing-8: 0.5rem;
  --spacing-12: 0.75rem;
  --spacing-16: 1rem;
  --spacing-20: 1.25rem;
  --spacing-24: 1.5rem;
  --spacing-28: 1.75rem;
  --spacing-32: 2rem;
  --spacing-36: 2.25rem;
  --spacing-40: 2.5rem;
  --spacing-44: 2.75rem;
  --spacing-48: 3rem;
  --spacing-60: 3.75rem;
  --spacing-64: 4rem;
  --spacing-80: 5rem;
  --spacing-100: 6.25rem;
  --spacing-160: 10rem;
  --z-index-0: 0rem;
  --z-index-10: 0.625rem;
  --z-index-50: 3.125rem;
  --z-index-100: 6.25rem;
  --z-index-1000: 62.5rem;
}

/* Specific number */
:root {
  /* clamp calculation */
  --button-padding-inline: clamp(0.5rem, 0.1479rem + 1.5023vw, 1.5rem);
  /*8-24*/
  --button-padding-block: clamp(0.25rem, 0.0739rem + 0.7512vw, 0.75rem);
  /*4-12*/
  --button-rounded-padding-inline: clamp(0.75rem, 0.4859rem + 1.1268vw, 1.5rem);
  /*12-24*/
  --button-padding-block-m: var(--spacing-4);
  /*4-4*/
  --button-gap: clamp(0.25rem, 0.162rem + 0.3756vw, 0.5rem);
  /*4-8*/
  --button-text-gap: clamp(0.75rem, 0.662rem + 0.3756vw, 1rem);
  /*12-16*/
  --card-padding: clamp(1rem, 0.8239rem + 0.7512vw, 1.5rem);
  /*16-24*/
  --spacing-component-gap: clamp(0.75rem, 0.4859rem + 1.1268vw, 1.5rem);
  /*12-24*/
  --spacing-section-block: clamp(2.5rem, 1.6197rem + 3.7559vw, 5rem);
  /*40-80*/
  --spacing-section-inline: clamp(0.75rem, -0.7465rem + 6.385vw, 5rem);
  /*40-80*/
  /* Mobile */
  /* number */
  --button-padding: var(--spacing-8);
  --card-padding: var(--spacing-16);
  --forms-input-padding: var(--spacing-12);
  --forms-input-height: var(--spacing-40);
  --icon-size-medium: var(--spacing-24);
  --icon-size-small: var(--spacing-24);
  --icon-size-large: var(--spacing-32);
  --layout-grid-columns: 0.125rem;
  --layout-grid-gutter: var(--spacing-12);
  --layout-grid-margin: var(--spacing-12);
  --layout-max-width: 23.4375rem;
  --modal-spacing: var(--spacing-16);
  --radius-card: var(--radius-none);
  --radius-button-m: var(--radius-s);
  --radius-button-s: var(--radius-s);
  --radius-input: var(--radius-s);
  --radius-tag: var(--radius-s);
  --radius-button-l: var(--radius-m);
  --radius-icon-button: var(--radius-full);
  --spacing-component-gap: var(--spacing-8);
  --spacing-container-padding: var(--spacing-12);
  --spacing-section-padding: var(--spacing-12);
  --tag-padding: var(--spacing-8);
  --toast-spacing: var(--spacing-16);
  --tooltip-spacing: var(--spacing-8);
  --z-index-base: var(--z-index-0);
  --z-index-dropdown: var(--z-index-10);
  --z-index-sticky: var(--z-index-50);
  --z-index-modal: var(--z-index-100);
  --z-index-toast: var(--z-index-1000);
  /* Tablet */
  /* number */
}
@media screen and (min-width: 376px) {
  :root {
    --button-padding: var(--spacing-12);
    --card-padding: var(--spacing-24);
    --forms-input-padding: var(--spacing-16);
    --forms-input-height: var(--spacing-48);
    --icon-size-medium: var(--spacing-24);
    --icon-size-small: var(--spacing-24);
    --icon-size-large: var(--spacing-32);
    --layout-grid-columns: 0.375rem;
    --layout-grid-gutter: var(--spacing-24);
    --layout-grid-margin: var(--spacing-60);
    --layout-max-width: 67.5rem;
    --modal-spacing: var(--spacing-24);
    --radius-card: var(--radius-none);
    --radius-button-m: var(--radius-s);
    --radius-button-s: var(--radius-s);
    --radius-input: var(--radius-s);
    --radius-tag: var(--radius-s);
    --radius-button-l: var(--radius-m);
    --radius-icon-button: var(--radius-full);
    --spacing-component-gap: var(--spacing-12);
    --spacing-container-padding: var(--spacing-24);
    --spacing-section-padding: var(--spacing-60);
    --tag-padding: var(--spacing-12);
    --toast-spacing: var(--spacing-24);
    --tooltip-spacing: var(--spacing-8);
    --z-index-base: var(--z-index-0);
    --z-index-dropdown: var(--z-index-10);
    --z-index-sticky: var(--z-index-50);
    --z-index-modal: var(--z-index-100);
    --z-index-toast: var(--z-index-1000);
  }
}
:root {
  /* Desktop */
  /* number */
}
@media screen and (min-width: 1440px) {
  :root {
    --button-padding: var(--spacing-12);
    --card-padding: var(--spacing-24);
    --forms-input-padding: var(--spacing-16);
    --forms-input-height: var(--spacing-48);
    --icon-size-medium: var(--spacing-24);
    --icon-size-small: var(--spacing-24);
    --icon-size-large: var(--spacing-32);
    --layout-grid-columns: 0.75rem;
    --layout-grid-gutter: var(--spacing-32);
    --layout-grid-margin: var(--spacing-80);
    --layout-max-width: 80rem;
    --modal-spacing: var(--spacing-32);
    --radius-card: var(--radius-none);
    --radius-button-m: var(--radius-s);
    --radius-button-s: var(--radius-s);
    --radius-input: var(--radius-s);
    --radius-tag: var(--radius-s);
    --radius-button-l: var(--radius-m);
    --radius-icon-button: var(--radius-full);
    --spacing-component-gap: var(--spacing-16);
    --spacing-container-padding: var(--spacing-32);
    --spacing-section-padding: var(--spacing-80);
    --tag-padding: var(--spacing-12);
    --toast-spacing: var(--spacing-32);
    --tooltip-spacing: var(--spacing-8);
    --z-index-base: var(--z-index-0);
    --z-index-dropdown: var(--z-index-10);
    --z-index-sticky: var(--z-index-50);
    --z-index-modal: var(--z-index-100);
    --z-index-toast: var(--z-index-1000);
  }
}

/* Extras */
:root {
  --transition-15: all .15s ease-in-out;
  --shadow-title: 0 0 90px var(--color-text-default);
}

/* Typography - Font Sizes */
:root {
  /* Fluid typography usando clamp() desde theme.json */
  --font-size-hero: clamp(2.5rem, 1.5rem + 3vw, 4.375rem);
  --font-size-4xl: clamp(2rem, 1.5rem + 1.5vw, 3rem);
  --font-size-3xl: clamp(1.75rem, 1.25rem + 1.25vw, 2.5rem);
  --font-size-2xl: clamp(1.5rem, 1rem + 1vw, 2rem);
  --font-size-xl: clamp(1.25rem, 1rem + 0.5vw, 1.5rem);
  --font-size-l: clamp(1.125rem, 1rem + 0.25vw, 1.25rem);
  --font-size-base: clamp(1rem, 0.875rem + 0.25vw, 1.125rem);
  --font-size-m: clamp(1rem, 0.875rem + 0vw, 1rem);
  --font-size-s: clamp(0.875rem, 0.75rem + 0vw, 0.875rem);
  --font-size-xs: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  /* Font families */
  --font-family-poppins: 'Poppins', sans-serif;
  --font-family-roboto: 'Roboto', sans-serif;
  --font-family-heading: var(--font-family-poppins);
  --font-family-body: var(--font-family-roboto);
  /* Font weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  /* Line heights */
  --line-height-tight: 1.2;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.75;
}

/* Reset - Normalización de estilos */
/**
 * UdeC Design System - Reset
 *
 * Reset CSS básico para normalizar estilos entre navegadores.
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reset margins & paddings */
* {
  margin: 0;
  padding: 0;
}

/* HTML & Body */
html,
body {
  scroll-behavior: smooth;
}

html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: hidden;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Media elements */
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

/* Form elements */
input,
button,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
  background: none;
  border: none;
}

/* Typography */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Lists */
ul,
ol {
  list-style: none;
}

/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Remove default button styles */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  appearance: button;
}

/* Remove default input styles */
input,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Remove search input cancel button (Webkit) */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

/* Remove spinner (number input) */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
}

/* Accessibility - Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Typography - Estilos básicos para elementos HTML */
/**
 * UdeC Design System - Typography
 *
 * Estilos base de tipografía aplicados a elementos HTML.
 * Establece la jerarquía tipográfica y estilos de texto.
 *
 * @package @udec/style-library
 * @version 1.0.0
 */
/* Body */
body {
  font-family: var(--font-family-body);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-normal);
  color: var(--color-text-default);
  background-color: var(--color-neutral-white-0);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-heading);
  line-height: var(--line-height-tight);
  margin-bottom: var(--spacing-16);
}

h1 {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-24);
}

h2 {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-20);
}

h3 {
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
}

h4 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
}

h5 {
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
}

h6 {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li {
  color: currentColor;
}

/* Párrafo destacadoo */
p.featured {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
}

/* Links */
a {
  color: var(--color-link-default);
  transition: color 0.15s ease-in-out;
}

a:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
}

a:focus {
  outline: 2px solid var(--color-link-default);
  outline-offset: 2px;
}

a:visited {
  color: var(--color-link-visited);
}

.main a[href]:not(:where(.udec-button, [href^="#"], [href^="javascript:" i], [href^="/"]:not([href^="//"]), [href*="//udec.cl"], [href*="//udec.localhost"], [href*="//udec.bloom-ux.com"], [href^="mailto:"], [href^="tel:"]))::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 12px;
  margin-left: var(--spacing-4);
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5.33337%2026.6667V5.33333H14.9744V6.66667H6.66671V25.3333H25.3334V17.0257H26.6667V26.6667H5.33337ZM12.9847%2019.959L12.041%2019.0153L24.3897%206.66667H18.6667V5.33333H26.6667V13.3333H25.3334V7.61033L12.9847%2019.959Z%22%20fill%3D%22%23223C6A%22%2F%3E%3C%2Fsvg%3E");
  background-position: center right;
  background-size: cover;
  filter: grayscale(1) contrast(10) invert(1);
}

/* Typography */
strong,
b {
  font-weight: var(--font-weight-bold);
}

em,
i {
  font-style: italic;
}

small {
  font-size: var(--font-size-s);
}

mark {
  background-color: var(--color-primary-yellow-200);
  color: var(--color-text-default);
  padding-inline: var(--spacing-4);
}

code,
kbd,
samp,
pre {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9em;
}

code {
  background-color: var(--color-background-surface);
  padding: var(--spacing-4) var(--spacing-8);
  border-radius: var(--radius-s);
}

pre {
  background-color: var(--color-background-surface);
  padding: var(--spacing-16);
  border-radius: var(--radius-m);
  overflow-x: auto;
}

pre code {
  background-color: transparent;
  padding: 0;
}

/* Lists - Estilos predeterminados basados en wp-block-list */
ol {
  padding-left: var(--spacing-24);
  list-style-type: decimal;
}

ol li {
  padding-left: 5px;
  margin-bottom: var(--spacing-12);
}

ol li:last-child {
  margin-bottom: 0;
}

ol li::marker {
  font-weight: var(--font-weight-bold);
}

ol ol {
  margin-top: var(--spacing-12);
}

/* Default lists only - bullets visible only in content lists */
.main ul {
  list-style-type: square;
  padding-left: var(--spacing-20);
  list-style-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%2711%27 viewBox=%270 0 10 11%27 fill=%27none%27%3E%3Crect width=%2710%27 height=%2710%27 fill=%27%23223C6A%27/%3E%3C/svg%3E");
}

.main ul li {
  padding-left: 5px;
  margin-bottom: var(--spacing-12);
}

.main ul li:last-child {
  margin-bottom: 0;
}

.main ul li::marker {
  color: var(--color-primary-blue-500);
}

.main ul ul {
  margin-top: var(--spacing-12);
}

/* Reset list styles for non-content lists */
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Images */
figure {
  margin: 0;
}

figcaption {
  font-size: var(--font-size-s);
  color: var(--color-text-muted);
  margin-top: var(--spacing-8);
}

/* Tables */
table {
  width: 100%;
}

th {
  font-weight: var(--font-weight-semibold);
  text-align: left;
}

th,
td {
  padding: var(--spacing-12);
  border-bottom: 1px solid var(--color-background-surface);
}

/* Blockquote */
blockquote {
  margin: var(--spacing-32) 0;
  padding-left: var(--spacing-24);
  border-left: 4px solid var(--background-color-bg-accent);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
  font-style: italic;
  line-height: var(--line-height-relaxed);
  color: var(--color-text-muted);
}

/* Hidden */
[hidden] {
  display: none !important;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* Focus visible */
:focus-visible {
  outline: 2px solid var(--color-primary-blue-500);
  outline-offset: 2px;
}

/* Selection */
::selection {
  background-color: var(--color-primary-yellow-300);
  color: var(--color-text-default);
}

/**
 * UdeC Design System - Forms
 *
 * Sistema de formularios con nomenclatura BEM.
 * Incluye inputs, textareas, selects, labels y estados de validación.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Form Group - Contenedor de campo */
.form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--spacing-32);
  gap: var(--spacing-12);
}

/* Form Label */
.form-label {
  margin-bottom: 0;
  font-size: var(--font-size-m);
  font-weight: var(--font-weight-medium);
  color: var(--color-input-label-text);
}

.form-label .required {
  color: var(--color-primary-yellow-500);
}

/* Form Control - Input base */
.form-control {
  padding: var(--spacing-12);
  border-radius: var(--radius-s);
  appearance: none;
  background-color: transparent;
  border: 1px solid var(--color-input-border-default);
  color: var(--color-input-text);
  width: 100%;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
  transition: border-color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.form-control::placeholder {
  color: var(--color-input-placeholder);
}

.form-control:focus {
  outline: none;
  border-color: var(--color-input-border-focus);
}

.form-control:disabled {
  background-color: var(--color-input-bg-disabled);
  cursor: not-allowed;
  opacity: 0.6;
}

/* Estados de validación */
.form-control:not(:placeholder-shown):invalid:not(:focus) {
  background-color: var(--color-feedback-red-100);
  border-color: var(--color-input-border-error);
}

/* Modificadores de estado para form-control */
.form-control--error {
  background-color: var(--color-feedback-red-100);
  border-color: var(--color-input-border-error);
}

.form-control--success {
  border-color: var(--color-input-border-success);
}

.form-control--warning {
  border-color: var(--color-input-border-warning);
}

/* Textarea */
textarea.form-control {
  line-height: 1.5;
  padding: var(--spacing-16);
  min-height: 90px;
  resize: vertical;
}

/* Select */
select.form-control {
  background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M8.19141 9.69225L11.9992 13.5L15.8069 9.69225H8.19141Z%27 fill=%27%23070C15%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 24px 24px;
  padding-right: 3rem;
}

select.form-control option {
  font-weight: var(--font-weight-regular);
  font-style: normal;
  background-color: var(--color-neutral-white-0);
}

select.form-control option[value=""] {
  font-style: italic;
}

/* Helper Text */
.form-helper {
  font-size: var(--font-size-s);
  color: var(--color-input-helper-text);
  margin-top: var(--spacing-4);
}

.form-helper--error {
  color: var(--color-input-border-error);
}

.form-helper--success {
  color: var(--color-input-border-success);
}

/* Form Submit Button */
.form-submit {
  width: fit-content;
  margin-inline: auto;
  padding: var(--spacing-4) var(--spacing-24);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  color: var(--color-button-primary-text);
  background-color: var(--color-button-primary-bg-default);
  border: none;
  border-radius: var(--radius-m);
  transition: background-color 0.3s ease-in-out;
  cursor: pointer;
}

.form-submit:hover {
  background-color: var(--color-button-primary-bg-hover);
}

.form-submit:disabled {
  cursor: not-allowed;
  background-color: var(--color-button-primary-bg-disabled);
  color: var(--color-button-primary-text);
  opacity: 0.6;
}

/* Checkbox y Radio */
.form-check {
  display: flex;
  align-items: center;
  gap: var(--spacing-8);
  margin-bottom: var(--spacing-12);
}

.form-check__input {
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--color-input-border-default);
  border-radius: var(--radius-s);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
}

.form-check__input:checked {
  background-color: var(--color-primary-blue-500);
  border-color: var(--color-primary-blue-500);
}

.form-check__input:focus {
  outline: 2px solid var(--color-input-border-focus);
  outline-offset: 2px;
}

.form-check__input[type=radio] {
  border-radius: var(--radius-full);
}

.form-check__label {
  font-size: var(--font-size-base);
  color: var(--color-text-default);
  cursor: pointer;
}

/* Form específico de contacto */
.form--contact {
  max-width: 37.5rem;
  margin-left: auto;
  margin-right: auto;
}

/* Responsive */
@media screen and (min-width: 768px) {
  .form-control {
    min-width: 210px;
  }
  .form-submit {
    margin-left: auto;
  }
}
/* Horizontal rule */
hr {
  border: none;
  border-top: 1px solid var(--color-neutral-gray-200);
  margin: var(--spacing-32) 0;
}

.hr--title,
.hr--narrow {
  border-top-width: 5px;
  border-top-color: var(--color-primary-yellow-500);
  width: 50px;
}

.hr--dash {
  border-top-style: dashed;
  border-top-color: var(--color-neutral-gray-200);
}

.hr--brush {
  border-top: 1px solid transparent;
  /* Degradado más complejo */
  background-clip: padding-box;
  /* Recorta el degradado solo al padding */
  /* Si quieres que el degradado cubra todo el borde superior */
  border-image: linear-gradient(to right, transparent, var(--color-primary-yellow-500), var(--color-primary-yellow-500), var(--color-primary-yellow-500), transparent) 1;
}

/* Layout - Sistema de layouts y containers */
/**
 * UdeC Design System - Layout
 *
 * Sistema de layout: containers, grids y utilidades de alineación.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Sections */
.section {
  padding-top: var(--spacing-section-padding);
  padding-bottom: var(--spacing-section-padding);
}

/* Main content */
.main {
  min-height: 50vh;
}

/* Ancho máximo en elementos dentro de entry-content */
.main .entry-content > h1,
.main .entry-content > h2,
.main .entry-content > h3,
.main .entry-content > h4,
.main .entry-content > h5,
.main .entry-content > h6,
.main .entry-content > p,
.main .entry-content > ul,
.main .entry-content > ol,
.main .entry-content > blockquote {
  max-width: 43.75rem;
}

/* Containers */
.container {
  position: relative;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-12);
  padding-right: var(--spacing-12);
}

@media screen and (min-width: 768px) {
  .container {
    padding-left: var(--spacing-24);
    padding-right: var(--spacing-24);
  }
}
@media screen and (min-width: 1024px) {
  .container {
    padding-left: var(--spacing-44);
    padding-right: var(--spacing-44);
  }
}
@media screen and (min-width: 1280px) {
  .container {
    padding-left: var(--spacing-60);
    padding-right: var(--spacing-60);
  }
}
@media screen and (min-width: 1440px) {
  .container {
    padding-left: var(--spacing-80);
    padding-right: var(--spacing-80);
  }
}
/* Alignment (WordPress compatible) */
.alignwide {
  max-width: 1440px;
  width: 98vw;
  margin-left: calc(50% - 49vw);
  margin-right: calc(50% - 49vw);
}

@media screen and (min-width: 1480px) {
  .alignwide {
    margin-left: calc(50% - 50vw + (100vw - 1440px) / 2);
    margin-right: calc(50% - 50vw + (100vw - 1440px) / 2);
  }
}
.alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/**
 * UdeC Design System - Site Header
 *
 * Cabecera principal del sitio basada en el diseño existente del tema.
 *
 * Dependencias: variables.css, reset.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.site-header {
  color: #fff;
  background-color: var(--color-primary-blue-500);
}
@media screen and (min-width: 1024px) {
  .site-header {
    background-color: var(--color-primary-blue-700);
  }
}
.site-header > .container {
  display: grid;
  grid-template-areas: "logo-mobile toggler-mobile-nav" "navbar navbar" "topbar topbar" "language-search language-search";
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .site-header > .container {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1024px) {
  .site-header > .container {
    grid-template-areas: "topbar language-search" "navbar navbar";
    grid-template-columns: 1fr auto;
  }
}
.site-header .menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-header a {
  font-weight: 400;
  color: #fff;
}
.site-header a:hover {
  text-decoration: underline;
}
.site-header__logo-mobile {
  grid-area: logo-mobile;
  padding-top: var(--spacing-12);
  padding-bottom: var(--spacing-12);
  justify-self: flex-start;
  margin-right: auto;
  margin-left: var(--spacing-12);
  line-height: 1;
}
.site-header__logo-mobile img {
  width: 7.8rem;
}
@media screen and (min-width: 1024px) {
  .site-header__logo-mobile {
    display: none;
  }
}
.site-header__toggler-mobile-nav {
  grid-area: toggler-mobile-nav;
  justify-self: flex-end;
  display: block;
  height: 100%;
  padding: var(--spacing-16);
  background-color: transparent;
  border: none;
  border-left: 1px solid var(--color-primary-blue-700);
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .site-header__toggler-mobile-nav {
    display: none;
  }
}
.site-header__toggler-mobile-nav span {
  display: block;
  width: 25px;
  height: 2px;
  background-color: #fff;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header__toggler-mobile-nav .bar1 {
  transform-origin: 6px 6px;
}
.site-header__toggler-mobile-nav .bar2 {
  margin-bottom: 6px;
  margin-top: 6px;
}
.site-header__toggler-mobile-nav .bar3 {
  transform-origin: 6px -6px;
}
.site-header__topbar {
  display: none;
  grid-area: topbar;
}
@media screen and (max-width: 1023px) {
  .site-header__topbar {
    background-color: var(--color-primary-blue-700);
    border-top: 1px solid var(--color-primary-blue-700);
  }
}
@media screen and (min-width: 1024px) {
  .site-header__topbar {
    display: flex;
    justify-content: flex-end;
    padding-top: var(--spacing-12);
    padding-bottom: var(--spacing-12);
  }
}
.site-header__topbar .menu {
  font-size: var(--font-size-s);
}
.site-header__topbar .menu li {
  margin-bottom: 0;
}
.site-header__topbar .menu li + li {
  border-left: 1px solid var(--color-primary-blue-500);
}
.site-header__topbar .menu a {
  display: block;
  padding-left: var(--spacing-8);
  padding-right: var(--spacing-8);
}
@media screen and (min-width: 1024px) {
  .site-header__topbar .menu li:last-child a {
    padding-right: 0;
  }
}
.site-header__language-search {
  position: relative;
  grid-area: language-search;
  display: none;
  justify-content: center;
  align-items: center;
  font-size: var(--font-size-s);
}
@media screen and (max-width: 1023px) {
  .site-header__language-search {
    background-color: var(--color-primary-blue-700);
    border-top: 1px solid var(--color-primary-blue-700);
  }
}
@media screen and (min-width: 1024px) {
  .site-header__language-search {
    display: flex;
    justify-content: unset;
    height: 100%;
    margin-left: var(--spacing-container-padding);
    padding-left: var(--spacing-container-padding);
    text-align: right;
    border-left: 1px solid var(--color-primary-blue-500);
  }
}
.site-header__language-search .search-form {
  position: absolute;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  top: 0;
  right: 0;
  width: 50rem;
  height: 0px;
  opacity: 0;
  background-color: var(--color-primary-blue-700);
  transition: 0.3s ease-in-out;
}
.site-header__language-search .search-form .search-form__container {
  position: relative;
}
.site-header__language-search .search-form .search-field {
  width: 100%;
  max-width: 100%;
  padding: var(--spacing-4) calc(var(--spacing-12) + var(--spacing-24) + 24px) var(--spacing-4) var(--spacing-12);
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-m);
  color: var(--color-neutral-white-0);
  background-color: transparent;
  border: 1px solid var(--color-primary-blue-300);
  border-radius: var(--spacing-4);
  box-shadow: none;
  opacity: 1;
}
.site-header__language-search .search-form button {
  display: flex;
  align-items: center;
  color: var(--color-neutral-white-0);
  background: transparent;
  border: none;
  cursor: pointer;
}
.site-header__language-search .search-form button svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: var(--color-neutral-white-0) !important;
}
.site-header__language-search .search-form button.search-submit {
  position: absolute;
  top: 50%;
  right: var(--spacing-12);
  margin-top: -0.75rem;
}
.site-header__language-search .search-form button.search-close {
  padding-block: var(--spacing-4);
  padding-inline: var(--button-padding);
}
.site-header__language-search .site-header__language-link {
  display: flex;
  align-items: center;
  gap: var(--spacing-4);
}
.site-header__language-search .site-header__toggle-search {
  cursor: pointer;
  display: flex;
  align-items: center;
  width: 1.5rem;
  padding: 0;
  text-align: center;
  background-color: transparent;
  border: none;
}
.site-header__language-search .site-header__language-link + .site-header__toggle-search {
  position: relative;
  margin-left: calc(var(--spacing-12) * 2);
}
.site-header__language-search .site-header__language-link + .site-header__toggle-search::before {
  content: "";
  position: absolute;
  width: 1px;
  height: 100%;
  top: 0;
  left: calc(var(--spacing-12) * -1);
  background-color: var(--color-primary-blue-500);
}
.site-header.site-header--search-active .search-form {
  height: 100%;
  opacity: 1;
}
.site-header__navbar {
  display: none;
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  grid-area: navbar;
  background-color: var(--color-primary-blue-500);
}
@media screen and (max-width: 1023px) {
  .site-header__navbar {
    border-top: 1px solid var(--color-primary-blue-700);
  }
}
@media screen and (min-width: 1024px) {
  .site-header__navbar {
    display: unset;
  }
}
.site-header__navbar .container {
  display: flex;
  gap: var(--spacing-32);
}
.site-header__navbar__logo {
  display: none;
  padding-top: var(--spacing-16);
  padding-bottom: var(--spacing-16);
  align-self: center;
  align-content: center;
  justify-self: flex-start;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .site-header__navbar__logo {
    display: flex;
    width: 9.5rem;
  }
}
.site-header__navbar .menu {
  justify-content: center;
  align-items: center;
  font-family: var(--font-family-poppins);
  font-size: var(--font-size-m);
  line-height: 1.35;
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .site-header__navbar .menu {
    font-size: var(--font-size-s);
  }
}
.site-header__navbar .menu li.current-menu-item a::after,
.site-header__navbar .menu li.current-menu-parent a::after,
.site-header__navbar .menu li.current-menu-ancestor a::after {
  opacity: 1;
  transform: translate3d(0, 0.2em, 0);
}
.site-header__navbar .menu a {
  position: relative;
  display: block;
  padding: var(--spacing-24) var(--spacing-8);
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
@media screen and (min-width: 1060px) {
  .site-header__navbar .menu a {
    padding-left: var(--spacing-12);
    padding-right: var(--spacing-12);
  }
}
@media screen and (min-width: 1200px) {
  .site-header__navbar .menu a {
    padding-left: var(--spacing-16);
    padding-right: var(--spacing-16);
  }
}
.site-header__navbar .menu a::after {
  content: "";
  position: absolute;
  left: var(--spacing-16);
  width: calc(100% - var(--spacing-16) * 2);
  height: 1px;
  margin-top: 1.5em;
  background-color: var(--color-primary-yellow-500);
  opacity: 0;
  transition: opacity 300ms, transform 300ms;
}
.site-header__navbar .menu a:hover::after, .site-header__navbar .menu a:focus::after {
  opacity: 1;
  transform: translate3d(0, 0.2em, 0);
}
.site-header__navbar .menu .sub-menu {
  display: none;
}

@media screen and (max-width: 1023px) {
  .site-header--mobile-nav-active > .container .menu {
    display: flex;
    flex-direction: column;
  }
  .site-header--mobile-nav-active > .container .menu li {
    border-left: none;
  }
  .site-header--mobile-nav-active > .container .menu a {
    text-align: center;
    padding: var(--spacing-12) var(--spacing-24);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav {
    background-color: var(--color-primary-blue-500);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav .bar1 {
    transform: translate(0px, 2px) rotate(45deg);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav .bar3 {
    transform: translate(-1px, -1px) rotate(-45deg);
  }
  .site-header--mobile-nav-active .site-header__toggler-mobile-nav .bar2 {
    opacity: 0;
    transform: rotate(0deg) scale(0.2);
  }
  .site-header--mobile-nav-active .site-header__language-search {
    display: flex;
    padding-top: var(--spacing-24);
    padding-bottom: var(--spacing-24);
    border-top: 1px solid var(--color-primary-blue-500);
  }
  .site-header--mobile-nav-active .search-form {
    height: 100%;
    opacity: 1;
    right: unset;
    place-content: center;
  }
  .site-header--mobile-nav-active .search-form button.search-close {
    display: none;
  }
  .site-header--mobile-nav-active .site-header__topbar {
    display: unset;
  }
  .site-header--mobile-nav-active .site-header__topbar .menu {
    font-size: var(--font-size-s);
  }
  .site-header--mobile-nav-active .site-header__topbar .menu li + li {
    border-top: 1px solid var(--color-primary-blue-500);
  }
  .site-header--mobile-nav-active .site-header__navbar {
    display: flex;
    order: 1;
  }
  .site-header--mobile-nav-active .site-header__navbar .menu {
    flex-direction: column;
    padding-top: var(--spacing-12);
    padding-bottom: var(--spacing-12);
  }
  .site-header--mobile-nav-active .site-header__navbar .menu a {
    padding: var(--spacing-16) var(--spacing-24);
  }
}
/**
 * UdeC Design System - Site Footer
 *
 * Footer principal del sitio basado en el diseño existente del tema.
 * Incluye menú principal, logos institucionales y colofón legal.
 *
 * Nomenclatura BEM:
 * - .site-footer: Contenedor principal
 * - .site-footer__menu: Menú principal del footer
 * - .site-footer__logos: Contenedor de logos institucionales
 * - .site-footer__colofon: Sección de copyright y enlaces legales
 *
 * Dependencias: variables.css, reset.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* ============================================
   Footer Container
   ============================================ */
.site-footer {
  padding-top: var(--spacing-60);
  padding-bottom: var(--spacing-60);
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

@media screen and (min-width: 1024px) {
  .site-footer {
    padding-top: var(--spacing-80);
    padding-bottom: var(--spacing-80);
  }
}
.site-footer .container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-40);
}

.site-footer a {
  color: inherit;
}

.site-footer a:hover {
  text-decoration: underline;
}

.site-footer hr {
  width: 100%;
  height: 1px;
  border: none;
  background-color: var(--color-primary-blue-500);
}

/* ============================================
   Footer Menu
   ============================================ */
.site-footer__menu {
  display: flex;
  justify-content: center;
  gap: var(--spacing-container-padding);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 1023px) {
  .site-footer__menu {
    flex-direction: column;
    text-align: center;
  }
}
.site-footer__menu > li {
  margin-bottom: var(--spacing-container-padding);
}

.site-footer__menu > li > a {
  font-family: var(--font-family-heading);
  font-weight: var(--font-weight-bold);
}

.site-footer__menu .sub-menu {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-8);
  margin: var(--spacing-component-gap) 0 0 0;
  padding: 0;
  list-style: none;
  font-weight: var(--font-weight-regular);
}

/* ============================================
   Logos Section
   ============================================ */
.site-footer__logos {
  display: flex;
  align-items: center;
  gap: var(--spacing-60);
}

@media screen and (max-width: 1023px) {
  .site-footer__logos {
    flex-direction: column;
    gap: var(--spacing-20);
  }
}
/* ============================================
   Colofon Section
   ============================================ */
.site-footer__colofon {
  text-align: center;
}

.site-footer__colofon .menu {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__colofon .menu li {
  margin-bottom: 0;
  padding-left: var(--spacing-8);
  padding-right: var(--spacing-8);
}

.site-footer__colofon .menu li + li {
  border-left: 1px solid var(--color-primary-blue-500);
}

@media screen and (max-width: 1023px) {
  .site-footer__colofon .menu {
    flex-wrap: wrap;
    justify-content: center;
  }
}
/**
 * UdeC Design System - Cards Grid Pattern
 *
 * Sistema de grid responsivo para mostrar múltiples tarjetas.
 *
 * Dependencias: card-base.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.pattern-cards {
  padding-top: var(--spacing-80);
  padding-bottom: var(--spacing-80);
}

@media screen and (max-width: 1280px) {
  .pattern-cards {
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards {
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
  }
}
/* Título y descripción de la sección */
.pattern-cards__header {
  margin-bottom: var(--spacing-48);
}

.pattern-cards__title {
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  color: var(--color-text-default);
  margin-bottom: var(--spacing-16);
}

.pattern-cards__description {
  font-size: var(--font-size-l);
  line-height: var(--line-height-normal);
  color: var(--color-text-muted);
  max-width: 700px;
}

/* Grid responsivo */
.pattern-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-24);
  margin-top: var(--spacing-48);
}

@media screen and (max-width: 1200px) {
  .pattern-cards__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards__grid {
    margin-top: var(--spacing-32);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/* Cards dentro del grid tienen altura 100% */
.pattern-cards__grid .card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.pattern-cards__grid .card .card__actions {
  margin-top: auto;
  padding-top: var(--flow-space);
}

/* Grid de 2 columnas */
.pattern-cards__grid--two {
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (max-width: 768px) {
  .pattern-cards__grid--two {
    grid-template-columns: 1fr;
  }
}
/* Grid de 4 columnas */
.pattern-cards__grid--four {
  grid-template-columns: repeat(4, 1fr);
}

@media screen and (max-width: 1200px) {
  .pattern-cards__grid--four {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards__grid--four {
    grid-template-columns: 1fr;
  }
}
/* Componentes básicos */
/**
 * UdeC Design System - Buttons
 *
 * Sistema de botones con múltiples variantes usando nomenclatura BEM.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Button Base */
.udec-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-8);
  padding: var(--spacing-4) var(--spacing-12);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  border: 2px solid transparent;
  border-radius: var(--radius-m);
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  background-color: var(--color-button-primary-bg-default);
  color: var(--color-button-primary-text);
}

.udec-button:hover {
  background-color: var(--color-button-primary-bg-hover);
}

.udec-button:focus {
  outline: 2px solid var(--color-button-primary-border-focus);
  outline-offset: 2px;
}

.udec-button:active {
  background-color: var(--color-button-primary-bg-press);
}

.udec-button:disabled {
  background-color: var(--color-button-primary-bg-disabled);
  color: var(--color-text-disabled);
  cursor: not-allowed;
}

/* Button Modifiers - Size */
.udec-button--small {
  padding: var(--spacing-4) var(--spacing-8);
  font-size: var(--font-size-s);
}

.udec-button--large {
  padding: var(--spacing-8) var(--spacing-24);
  font-size: var(--font-size-l);
}

/* Button Modifiers - Style Variants */
.udec-button--outline {
  background-color: transparent;
  border-color: var(--color-primary-blue-500);
  color: var(--color-primary-blue-500);
}

.udec-button--outline:hover {
  background-color: var(--color-primary-blue-500);
  color: var(--color-neutral-white-0);
}

.udec-button--text {
  background-color: transparent;
  color: var(--color-link-default);
  padding: var(--spacing-4) var(--spacing-12);
  border: none;
}

.udec-button--text:hover {
  background-color: transparent;
  color: var(--color-link-hover);
  text-decoration: underline;
}

.udec-button--rounded {
  padding-inline: var(--spacing-16);
  border-radius: var(--radius-full);
}

.udec-button--secondary {
  background-color: var(--color-primary-blue-500);
  color: var(--color-neutral-white-0);
}

.udec-button--secondary:hover {
  background-color: var(--color-primary-blue-700);
}

/* Button with Icon */
.udec-button--icon {
  gap: var(--spacing-8);
}

.udec-button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: var(--radius-full);
  transition: background-color 0.15s ease-in-out;
  flex-shrink: 0;
}

.udec-button__icon svg {
  width: 100%;
  height: 100%;
  fill: var(--color-primary-blue-900);
}

.udec-button:hover .udec-button__icon {
  background-color: var(--color-primary-yellow-300);
}

/* Combinaciones comunes */
.udec-button--rounded.udec-button--secondary {
  border-radius: var(--radius-full);
}

.udec-button--text.udec-button--icon {
  padding: var(--spacing-4) var(--spacing-12);
}

/* Responsive */
@media screen and (max-width: 767px) {
  .udec-button {
    font-size: var(--font-size-s);
  }
  .udec-button--large {
    padding: var(--spacing-6) var(--spacing-24);
    font-size: var(--font-size-base);
  }
}
/**
 * UdeC Design System - Category Tags
 *
 * Tags de categorías con cuadrado de color usando ::before.
 * El color se controla mediante la variable CSS --udec-category-color.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.udec-category-tag {
  --color-category: var(--udec-category-color, var(--color-primary-blue-500));
  display: inline-flex;
  align-items: baseline;
  gap: var(--spacing-8);
  font-size: var(--font-size-m);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-normal);
  background-color: transparent;
  color: currentColor;
  text-decoration: none;
  transition: opacity 0.15s ease-in-out;
}

.udec-category-tag::before {
  --background-tag: var(--color-category);
  content: "";
  display: inline-block;
  width: 0.625rem;
  /* 10px */
  height: 0.625rem;
  /* 10px */
  background-color: var(--background-tag);
  flex: 0 0 0.625rem;
}

/* Hover state para enlaces */
a.udec-category-tag:hover {
  opacity: 0.85;
}

/* Categorías con colores específicos usando data-category */
.udec-category-tag[data-category=culture] {
  --udec-category-color: var(--color-category-culture);
}

.udec-category-tag[data-category=health-environment] {
  --udec-category-color: var(--color-category-health-environment);
}

.udec-category-tag[data-category=science-technology] {
  --udec-category-color: var(--color-category-science-technology);
}

.udec-category-tag[data-category=humanities-society] {
  --udec-category-color: var(--color-category-humanities-society);
}

.udec-category-tag[data-category=university] {
  --udec-category-color: var(--color-category-university);
}

.udec-category-tag[data-category=sport] {
  --udec-category-color: var(--color-category-sport);
}

.udec-category-tag[data-category=academic-activities] {
  --udec-category-color: var(--color-category-academic-activities);
}

/* Responsive */
@media screen and (max-width: 767px) {
  .udec-category-tag {
    font-size: var(--font-size-s);
  }
}
/* Breadcrumb */
.udec-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  font-size: var(--font-size-m);
  gap: var(--spacing-8);
}

.udec-breadcrumb__last {
  font-weight: bold;
}

/* Pagination */
.udec-pagination {
  align-items: center;
  display: flex;
  font-family: var(--wp--preset--font-family--poppins);
  gap: var(--spacing-16);
  justify-content: center;
  margin-block: var(--spacing-40);
}

.udec-pagination a,
.udec-pagination__current {
  display: flex;
  height: 2rem;
  line-height: 1;
  place-content: center;
  place-items: center;
  text-align: center;
  transition: all 0.3s ease-in-out;
  width: 2rem;
}

.udec-pagination__current {
  background-color: var(--color-primary-yellow-200);
  border-radius: 50%;
}

.udec-pagination__next,
.udec-pagination__prev {
  background-color: var(--color-primary-yellow-500);
  background-position: 50%;
  background-size: 75%;
  border-radius: 50%;
}

.udec-pagination__next:hover,
.udec-pagination__prev:hover {
  background-color: var(--color-primary-yellow-200);
  cursor: pointer;
}

.udec-pagination__prev {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.7437%2023.077L14.6873%2022.118L9.23601%2016.6666H25.3333V15.3333H9.23601L14.6873%209.88197L13.7437%208.92297L6.66668%2016L13.7437%2023.077Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E");
}

.udec-pagination__next {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18.2563%2023.077L17.3127%2022.118L22.764%2016.6666H6.66666V15.3333H22.764L17.3127%209.88197L18.2563%208.92297L25.3333%2016L18.2563%2023.077Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E");
}

/* Accordion */
:root {
  --udec-accordion-icon-display: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.333%2026.6663V16.6663H5.33301V15.333H15.333V5.33301H16.6663V15.333H26.6663V16.6663H16.6663V26.6663H15.333Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E");
  --udec-accordion-icon-colapse: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%2016.6663V15.333H24V16.6663H8Z%22%20fill%3D%22%23070C15%22%2F%3E%3C%2Fsvg%3E") ;
}

.udec-accordion {
  margin-bottom: var(--spacing-container-padding);
}

@media screen and (min-width: 1440px) {
  .udec-accordion {
    margin-bottom: var(--spacing-24);
  }
}
.udec-accordion__header {
  margin-bottom: 0;
  margin-top: 0;
}

.udec-accordion__link {
  background-color: var(--color-neutral-gray-50);
  color: var(--color-primary-blue-500);
  display: block;
  font-family: var(--font-family-heading);
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 600;
  padding: var(--spacing-12) var(--spacing-60) var(--spacing-12) var(--spacing-container-padding);
  position: relative;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}

.udec-accordion__link:hover {
  text-decoration: none;
}

@media screen and (min-width: 767px) {
  .udec-accordion__link {
    padding-bottom: var(--spacing-24);
    padding-right: var(--spacing-container-padding);
    padding-top: var(--spacing-24);
  }
}
.udec-accordion__link:after {
  background-color: var(--background-color-bg-accent);
  background-image: var(--udec-accordion-icon-display);
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: 18px;
  border-radius: var(--radius-icon-button);
  content: "";
  height: 26px;
  position: absolute;
  right: var(--spacing-container-padding);
  top: calc(50% - 13px);
  width: 26px;
}

@media screen and (min-width: 767px) {
  .udec-accordion__link:after {
    background-size: 32px;
    height: 40px;
    top: calc(50% - 20px);
    width: 40px;
  }
}
.udec-accordion__description,
.udec-accordion__text {
  display: block;
  max-width: 43.75rem;
}

.udec-accordion__description {
  color: var(--color-text-default);
  font-family: var(--font-family-body);
  font-size: var(--font-size-m);
  font-weight: 400;
  margin-bottom: 0;
  margin-top: var(--spacing-4);
  transition: all 0.2s ease-in-out;
}

.udec-accordion .udec-accordion__link:hover {
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

.udec-accordion .udec-accordion__link:hover .udec-accordion__description {
  color: var(--color-neutral-white-0);
}

.udec-accordion:has(.is-open) .udec-accordion__link {
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

.udec-accordion:has(.is-open) .udec-accordion__description {
  color: var(--color-neutral-white-0);
}

.udec-accordion:has(.is-open) .udec-accordion__link:after {
  background-image: var(--udec-accordion-icon-colapse);
}

.udec-accordion__content {
  margin-left: auto;
  margin-right: auto;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  padding-left: var(--spacing-container-padding);
  padding-right: var(--spacing-container-padding);
  transition: all 0.3s ease-in-out;
}

.udec-accordion__content.is-open {
  border-bottom: 1px solid var(--background-color-bg-accent);
  border-left: 1px solid var(--background-color-bg-accent);
  border-right: 1px solid var(--background-color-bg-accent);
  margin-bottom: var(--spacing-24);
  max-height: 1999px;
  opacity: 1;
  padding-bottom: var(--spacing-44);
  padding-top: var(--spacing-44);
}

.udec-accordion__content > :first-child {
  margin-top: 0;
}

/* Tabs */
ul.udec-tabs__nav {
  align-items: center;
  display: flex;
  list-style: none;
  margin: 0;
  overflow-x: auto;
  padding-left: 0;
  position: relative;
}

@media screen and (max-width: 767px) {
  ul.udec-tabs__nav {
    margin-right: calc(var(--spacing-12) * -1);
    padding-right: var(--spacing-12);
  }
}
ul.udec-tabs__nav li {
  margin-bottom: 0;
  padding-left: 0;
}

.udec-tabs__nav li + li {
  margin-left: var(--spacing-8);
}

@media screen and (min-width: 992px) {
  .udec-tabs__nav li + li {
    margin-left: var(--spacing-12);
  }
}
.udec-tabs__nav li a {
  background-color: var(--color-background-surface);
  border-bottom: 5px solid var(--color-background-surface);
  color: var(--color-text-default);
  display: block;
  font-family: var(--wp--preset--font-family--poppins);
  font-size: var(--wp--preset--font-size--l);
  font-weight: 500;
  padding: var(--spacing-8) var(--spacing-24);
  text-decoration: none;
  transition: all 0.15s linear;
  white-space: nowrap;
}

@media screen and (min-width: 767px) {
  .udec-tabs__nav li a {
    padding: var(--spacing-12) var(--spacing-32);
  }
}
.udec-tabs__nav li:not(.tab-active) a:focus,
.udec-tabs__nav li:not(.tab-active) a:hover {
  background-color: var(--color-text-muted);
  border-color: var(--color-text-muted);
  color: var(--color-neutral-white-0);
}

.udec-tabs__nav .tab-active a {
  background-color: var(--color-background-alt);
  border-bottom: 5px solid var(--background-color-bg-accent);
  color: var(--color-neutral-white-0);
  cursor: default;
}

.udec-tabs__content {
  border: 1px solid var(--background-color-bg-accent);
}

.udec-tabs__tab {
  height: 0;
  opacity: 0;
  overflow: hidden;
}

.udec-tabs__tab--active {
  height: auto;
  opacity: 1;
  overflow: unset;
  padding: var(--spacing-44) var(--spacing-container-padding);
  transition: opacity 0.25s linear;
}

.udec-tabs__tab > * {
  margin-block-end: 0;
}

.udec-tabs__tab > :first-child {
  margin-top: 0;
}

/* Feedback Messages */
.udec-feedback {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--spacing-16);
  gap: var(--spacing-8);
  text-align: center;
  background-color: var(--color-neutral-gray-50);
  border-radius: var(--radius-s);
}

.udec-feedback__title {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-semibold);
  margin: 0;
}

.udec-feedback__message {
  font-size: var(--font-size-base);
  color: var(--color-text-default);
  margin: 0;
}

.udec-feedback__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  margin-top: var(--spacing-24);
  margin-bottom: var(--spacing-8);
}

/* Modificadores de feedback */
.udec-feedback--success {
  background-color: var(--color-feedback-green-200);
}

.udec-feedback--error {
  background-color: var(--color-feedback-red-100);
}

.udec-feedback--warning {
  background-color: var(--color-feedback-yellow-200);
}

/* Responsive */
@media screen and (min-width: 768px) {
  .udec-feedback {
    padding: var(--spacing-32) var(--spacing-16);
  }
  .udec-feedback__buttons {
    flex-direction: row;
  }
}
/* Banner */
.udec-banner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 30rem;
  padding-block: var(--wp--preset--spacing--80);
  padding-inline: var(--wp--preset--spacing--12);
  color: var(--color-neutral-white-0);
  background-color: var(--color-neutral-gray-50);
  background-position: 50%;
  box-sizing: border-box;
  overflow: clip;
}

.udec-banner__image-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.udec-banner__overlay {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--color-primary-blue-500);
  mix-blend-mode: multiply;
}

.udec-banner__overlay--noise::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%27200%27 height=%27200%27 fill=%27none%27 viewBox=%270 0 200 200%27%3E%3Cg filter=%27url%28%23a%29%27%3E%3Cpath fill=%27%23d9d9d9%27 d=%27M0 0h200v200H0z%27/%3E%3C/g%3E%3Cdefs%3E%3Cfilter id=%27a%27 width=%27200%27 height=%27200%27 x=%270%27 y=%270%27 color-interpolation-filters=%27sRGB%27 filterUnits=%27userSpaceOnUse%27%3E%3CfeFlood flood-opacity=%270%27 result=%27BackgroundImageFix%27/%3E%3CfeBlend in=%27SourceGraphic%27 in2=%27BackgroundImageFix%27 result=%27shape%27/%3E%3CfeTurbulence baseFrequency=%271 1%27 numOctaves=%273%27 result=%27noise%27 seed=%274360%27 stitchTiles=%27stitch%27 type=%27fractalNoise%27/%3E%3CfeColorMatrix in=%27noise%27 result=%27alphaNoise%27 type=%27luminanceToAlpha%27/%3E%3CfeComponentTransfer in=%27alphaNoise%27 result=%27coloredNoise1%27%3E%3CfeFuncA tableValues=%271 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0%27 type=%27discrete%27/%3E%3C/feComponentTransfer%3E%3CfeComposite in=%27coloredNoise1%27 in2=%27shape%27 operator=%27in%27 result=%27noise1Clipped%27/%3E%3CfeComponentTransfer in=%27alphaNoise%27 result=%27coloredNoise2%27%3E%3CfeFuncA tableValues=%270 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1%27 type=%27discrete%27/%3E%3C/feComponentTransfer%3E%3CfeComposite in=%27coloredNoise2%27 in2=%27shape%27 operator=%27in%27 result=%27noise2Clipped%27/%3E%3CfeFlood flood-color=%27rgba%28166, 182, 211, 0.1%29%27 result=%27color1Flood%27/%3E%3CfeComposite in=%27color1Flood%27 in2=%27noise1Clipped%27 operator=%27in%27 result=%27color1%27/%3E%3CfeFlood flood-color=%27rgba%2820, 36, 64, 0.5%29%27 result=%27color2Flood%27/%3E%3CfeComposite in=%27color2Flood%27 in2=%27noise2Clipped%27 operator=%27in%27 result=%27color2%27/%3E%3CfeMerge result=%27effect1_noise_910_6145%27%3E%3CfeMergeNode in=%27shape%27/%3E%3CfeMergeNode in=%27color1%27/%3E%3CfeMergeNode in=%27color2%27/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 199px;
  mix-blend-mode: multiply;
  opacity: 0.6;
  pointer-events: none;
}

.udec-banner > .container {
  position: relative;
  width: 100%;
  z-index: 1;
}

.udec-banner > .container a:not(.udec-button) {
  text-decoration: underline;
  color: inherit;
}

.udec-banner > .container a:not(.udec-button):hover {
  color: var(--color-primary-yellow-500);
}

.udec-banner > .container.text-center {
  max-width: 43.75rem;
}

.udec-banner > .container.text-center > hr.hr--narrow {
  margin-left: auto;
  margin-right: auto;
}

/**
 * UdeC Design System - Banner Card Pattern
 *
 * Patrón de banner con cover hero arriba y grid de tarjetas con overlay negativo.
 * Ideal para homepage y páginas destacadas.
 *
 * Dependencias: card-base.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.banner-card {
  margin-top: var(--spacing-80);
  margin-bottom: var(--spacing-80);
}

@media screen and (max-width: 1440px) {
  .banner-card {
    margin-top: var(--spacing-60);
    margin-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 992px) {
  .banner-card {
    margin-top: var(--spacing-40);
    margin-bottom: var(--spacing-40);
  }
}
/* Cover hero con imagen de fondo */
.banner-card__cover {
  position: relative;
  min-height: 420px;
  margin-bottom: calc(var(--spacing-100) * -1);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-60) var(--spacing-24);
}

@media screen and (min-width: 768px) {
  .banner-card__cover {
    min-height: 500px;
  }
}
/* Overlay gradient oscuro sobre la imagen */
.banner-card__cover::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.6) 100%);
  z-index: 0;
  opacity: 0.6;
}

/* Contenido del hero */
.banner-card__cover-content {
  position: relative;
  z-index: 1;
  color: var(--color-neutral-white-0);
  text-align: center;
  max-width: 800px;
}

.banner-card__title {
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  color: var(--color-neutral-white-0);
  margin-bottom: var(--spacing-24);
  text-shadow: 0 0 90px var(--color-text-default);
}

.banner-card__description {
  font-size: var(--font-size-l);
  line-height: var(--line-height-normal);
  color: var(--color-neutral-white-0);
  text-shadow: 0 0 60px var(--color-text-default);
}

/* Grid de tarjetas con overlay negativo */
.banner-card__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-24);
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 var(--spacing-24);
  position: relative;
  z-index: 2;
}

@media screen and (min-width: 991px) and (max-width: 1280px) {
  .banner-card__grid:has(.card:nth-child(4)) {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 992px) {
  .banner-card__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 580px) {
  .banner-card__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/* Tarjetas dentro del banner tienen sombra */
.banner-card__grid .card {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.banner-card__grid .card:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/**
 * UdeC Design System - Carousel Component
 *
 * Sistema de carousels basado en Splide.js
 * Incluye navegación (flechas, contador), controles de reproducción y barra de progreso.
 *
 * Este archivo contiene SOLO los estilos del componente carousel.
 * Los patterns que utilizan carousels están en archivos separados:
 * - pattern-testimonies.css: Pattern de testimonios con carousel
 * - pattern-media-text.css: Pattern de carousel + tarjeta de contenido
 *
 * Nomenclatura BEM:
 * - .udec-carousel: Base del componente
 * - .udec-carousel--gallery: Variante de galería con navegación superpuesta
 * - .udec-carousel__nav: Contenedor de navegación
 * - .udec-carousel__slide--testimony: Slide de testimonio
 *
 * Dependencias: variables.css, @splidejs/splide/css/core
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Splide Core Import - Debe ser importado externamente */
/* @import '@splidejs/splide/css/core'; */
/* ============================================
   Variables de Splide
   ============================================ */
:root {
  --splide--arrows--bottom: 0;
  --splide--arrows--width: calc(var(--splide--arrow--size) * 2 + var(--splide--arrows--gap));
  --splide--arrows--gap: var(--spacing-12);
  --splide--arrow--size: calc(var(--icon-size-large) + (var(--spacing-4) * 2));
  --splide--arrow--svg--size: var(--icon-size-large);
}

@media screen and (max-width: 768px) {
  :root {
    --splide--arrow--size: calc(var(--icon-size-small) + (var(--spacing-4) * 2));
    --splide--arrow--svg--size: var(--icon-size-small);
  }
}
/* ============================================
   Carousel Base
   ============================================ */
.udec-carousel {
  position: relative;
}

/* Slider Container */
.udec-carousel .splide__list {
  list-style: none;
}

.udec-carousel .splide__list li {
  margin-bottom: 0;
  padding-left: 0;
}

.udec-carousel__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--spacing-24);
}

/* Navigation Modifiers */
.udec-carousel__nav--fixed {
  position: absolute;
  bottom: 0;
  right: 0;
  width: fit-content;
  padding: var(--spacing-8) var(--spacing-16);
  background-color: var(--color-neutral-white-0);
  z-index: 10;
}

/* ============================================
   Arrows
   ============================================ */
.udec-carousel .splide__arrows {
  order: 10;
  display: flex;
  gap: var(--splide--arrows--gap);
  z-index: 1;
  width: var(--splide--arrows--width);
  max-width: var(--splide--arrows--width);
  margin: 0;
}

/* Arrow Buttons */
.udec-carousel .splide__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--splide--arrow--size);
  height: var(--splide--arrow--size);
  padding: var(--spacing-4) 0;
  background-color: var(--color-button-primary-bg-default);
  border-radius: var(--radius-full);
  border: none;
  opacity: 1;
  transition: background-color 0.25s ease-in-out;
  cursor: pointer;
  position: static;
  transform: none;
}

.udec-carousel .splide__arrow:hover {
  background-color: var(--color-button-primary-bg-hover);
}

.udec-carousel .splide__arrow:disabled {
  background-color: var(--color-button-primary-bg-disabled);
  cursor: not-allowed;
}

.udec-carousel .splide__arrow:disabled:hover {
  background-color: transparent;
}

/* Arrow SVG Icons */
.udec-carousel .splide__arrow__icon {
  width: var(--splide--arrow--svg--size);
  height: var(--splide--arrow--svg--size);
  background-position: center;
  transition: fill 0.25s ease-in-out;
}

.udec-carousel .splide__arrow--prev .splide__arrow__icon {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.7437%2023.077L14.6873%2022.118L9.23601%2016.6666H25.3333V15.3333H9.23601L14.6873%209.88197L13.7437%208.92297L6.66668%2016L13.7437%2023.077Z%22%20fill%3D%22currentColor%22%20%2F%3E%3C%2Fsvg%3E");
}

.udec-carousel .splide__arrow--next .splide__arrow__icon {
  background-image: url("data: image/svg+xml, %3Csvg%20width%3D%2232%22%20height%3D%2232%22%20viewBox%3D%220%200%2032%2032%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M18.2563%208.92297L17.3127%209.88197L22.764%2015.3333H6.66668V16.6666H22.764L17.3127%2022.118L18.2563%2023.077L25.3333%2016L18.2563%208.92297Z%22%20fill%3D%22currentColor%22%20%2F%3E%3C%2Fsvg%3E");
}

/* ============================================
   Counter
   ============================================ */
.udec-carousel .splide__counter {
  order: 5;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-m);
  font-weight: var(--font-weight-medium);
  white-space: nowrap;
}

/* ============================================
   Play/Pause Toggle
   ============================================ */
.udec-carousel .splide__toggle {
  cursor: pointer;
  display: flex;
  width: 2rem;
  height: 2rem;
  padding: 0;
  background-color: transparent;
  border: none;
}

.udec-carousel .splide__toggle__icon {
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.udec-carousel .splide__toggle .splide__toggle__icon {
  background-image: url("data:image/svg+xml,%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M10 15.577L15.577 12L10 8.423V15.577ZM12.0033 21C10.7588 21 9.58867 20.7638 8.493 20.2915C7.3975 19.8192 6.4445 19.1782 5.634 18.3685C4.8235 17.5588 4.18192 16.6067 3.70925 15.512C3.23642 14.4175 3 13.2479 3 12.0033C3 10.7588 3.23617 9.58867 3.7085 8.493C4.18083 7.3975 4.82183 6.4445 5.6315 5.634C6.44117 4.8235 7.39333 4.18192 8.488 3.70925C9.5825 3.23642 10.7521 3 11.9967 3C13.2413 3 14.4113 3.23617 15.507 3.7085C16.6025 4.18083 17.5555 4.82183 18.366 5.6315C19.1765 6.44117 19.8181 7.39333 20.2908 8.488C20.7636 9.5825 21 10.7521 21 11.9967C21 13.2413 20.7638 14.4113 20.2915 15.507C19.8192 16.6025 19.1782 17.5555 18.3685 18.366C17.5588 19.1765 16.6067 19.8181 15.512 20.2908C14.4175 20.7636 13.2479 21 12.0033 21ZM12 20C14.2333 20 16.125 19.225 17.675 17.675C19.225 16.125 20 14.2333 20 12C20 9.76667 19.225 7.875 17.675 6.325C16.125 4.775 14.2333 4 12 4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E");
}

.udec-carousel .splide__toggle.is-active .splide__toggle__icon {
  background-image: url("data:image/svg+xml,%3Csvg width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M13.077 20.6667H14.4103V11.3333H13.077V20.6667ZM17.5897 20.6667H18.923V11.3333H17.5897V20.6667ZM16.0043 28C14.345 28 12.7849 27.6851 11.324 27.0553C9.86333 26.4256 8.59267 25.5709 7.512 24.4913C6.43133 23.4118 5.57589 22.1422 4.94567 20.6827C4.31522 19.2233 4 17.6639 4 16.0043C4 14.345 4.31489 12.7849 4.94467 11.324C5.57444 9.86333 6.42911 8.59267 7.50867 7.512C8.58822 6.43133 9.85778 5.57589 11.3173 4.94567C12.7767 4.31522 14.3361 4 15.9957 4C17.655 4 19.2151 4.31489 20.676 4.94467C22.1367 5.57445 23.4073 6.42911 24.488 7.50867C25.5687 8.58822 26.4241 9.85778 27.0543 11.3173C27.6848 12.7767 28 14.3361 28 15.9957C28 17.655 27.6851 19.2151 27.0553 20.676C26.4256 22.1367 25.5709 23.4073 24.4913 24.488C23.4118 25.5687 22.1422 26.4241 20.6827 27.0543C19.2233 27.6848 17.6639 28 16.0043 28ZM16 26.6667C18.9778 26.6667 21.5 25.6333 23.5667 23.5667C25.6333 21.5 26.6667 18.9778 26.6667 16C26.6667 13.0222 25.6333 10.5 23.5667 8.43333C21.5 6.36667 18.9778 5.33333 16 5.33333C13.0222 5.33333 10.5 6.36667 8.43333 8.43333C6.36667 10.5 5.33333 13.0222 5.33333 16C5.33333 18.9778 6.36667 21.5 8.43333 23.5667C10.5 25.6333 13.0222 26.6667 16 26.6667Z%27 fill=%27black%27/%3E%3C/svg%3E");
}

/* ============================================
   Progress Bar
   ============================================ */
.udec-carousel .splide__progress {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
}

.udec-carousel .splide__progress__bar {
  height: 5px;
  background-color: var(--color-primary-yellow-500);
}

/* ============================================
   Carousel Gallery (Galería simple)
   ============================================ */
/* Image sizing */
.udec-carousel figure {
  width: 100%;
}

.udec-carousel figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ============================================
   Carousel de alto completo
   ============================================ */
.udec-carousel--fullheight,
.udec-carousel--fullheight .splide__track,
.udec-carousel--fullheight .splide__list,
.udec-carousel--fullheight .splide__slide,
.udec-carousel--fullheight figure,
.udec-carousel--fullheight figure img {
  height: 100%;
}

.udec-carousel--fullheight figure img {
  width: 100%;
  object-fit: cover;
}

/* ============================================
   Testimony Slide
   ============================================ */
.carousel__slide--testimony {
  max-width: 67.5rem;
  margin-left: 0 !important;
  margin-bottom: var(--spacing-48);
  background: transparent;
  display: grid;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto auto;
  column-gap: var(--spacing-24);
  row-gap: var(--spacing-16);
}

@media screen and (min-width: 767px) {
  .carousel__slide--testimony {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto;
    column-gap: var(--spacing-48);
    row-gap: 0;
  }
}
/* Testimony Media (Image with Quote Icon) */
.carousel__slide--testimony__media {
  position: relative;
  aspect-ratio: 1/1;
  margin-right: var(--z-index-50);
  border: none;
}

@media screen and (min-width: 767px) {
  .carousel__slide--testimony__media {
    max-height: none !important;
    height: 21.25rem !important;
  }
}
@media screen and (max-width: 766px) {
  .carousel__slide--testimony__media {
    grid-column: 1;
    grid-row: 1;
    min-height: 12rem !important;
  }
}
/* Quote Icon */
.carousel__slide--testimony__media::after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg width=%2792%27 height=%2785%27 viewBox=%270 0 92 85%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect width=%2792%27 height=%2785%27 fill=%27%23C7D5ED%27/%3E%3Cpath d=%27M51.0425 65V46.5225C51.0425 32.2625 60.37 22.5975 73.5 20L75.9875 25.3775C69.9075 27.67 66 34.4725 66 40H76V65H51.0425ZM16 65V46.5225C16 32.2625 25.37 22.5975 38.5 20L40.99 25.3775C34.9075 27.67 31 34.4725 31 40H40.9575V65H16Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  right: calc(var(--z-index-50) * -1);
  display: block;
  width: 5.75rem;
  height: 5.313rem;
  pointer-events: none;
}

.carousel__slide--testimony__media figure {
  width: 100%;
  height: 100%;
  margin: 0;
  border: none;
}

.carousel__slide--testimony__media figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 1/1;
  border: none;
}

/* Testimony Content */
.carousel__slide--testimony__content {
  padding: 0 !important;
  gap: 0 !important;
}

@media screen and (max-width: 766px) {
  .carousel__slide--testimony__content {
    grid-column: 1;
    grid-row: 2;
    max-width: 30rem;
  }
}
.carousel__slide--testimony__content > p {
  margin-top: 0;
  margin-bottom: var(--spacing-16);
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
}

/* Testimony Author */
.carousel__slide--testimony__author {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin-top: var(--spacing-16);
  margin-bottom: 0;
}

.carousel__slide--testimony__author p {
  margin: 0;
  font-family: var(--font-family-body);
  font-size: var(--font-size-s);
}

/* Navigation Side - Menú de lavegación lateral */
/* Navigation side */
.udec-navigation-side__title {
  display: flex;
  align-items: center;
  margin-bottom: var(--spacing-24);
  gap: var(--spacing-8);
  font-size: var(--font-size-base);
}

.udec-navigation-side__title a {
  color: var(--color-text-default);
}

.udec-navigation-side__title::before {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--color-primary-blue-500);
  flex: 0 0 0.625rem;
}

.udec-navigation-side__menu {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-20);
  padding-left: 0;
  margin: 0;
  list-style: none;
}

.udec-navigation-side__menu li {
  width: 100%;
}

.udec-navigation-side__menu li a {
  display: block;
  width: 100%;
  transition: all 0.15s ease-in-out;
  font-weight: 400;
  text-decoration: none;
  font-size: var(--font-size-m);
  color: var(--color-link-default);
}

.udec-navigation-side__menu li a:hover,
.udec-navigation-side__menu li.current-menu-item > a,
.udec-navigation-side__menu > li.current-menu-ancestor > a {
  font-weight: 700;
  color: var(--color-text-default);
}

.udec-navigation-side__menu > li > a:hover,
.udec-navigation-side__menu > li.current-menu-item > a,
.udec-navigation-side__menu > li.current-menu-ancestor > a,
.udec-navigation-side__menu > li.current-menu-item li.current-menu-item > a,
.udec-navigation-side__menu > li.current-menu-item li > a:hover,
.udec-navigation-side__menu > li:has(li.current-menu-item) li.current-menu-item > a,
.udec-navigation-side__menu > li:has(li.current-menu-item) li > a:hover {
  padding-left: var(--spacing-8);
  border-left: 3px solid var(--color-primary-yellow-500);
}

.udec-navigation-side__menu ul {
  display: none;
  flex-direction: column;
}

.udec-navigation-side__menu > li.current-menu-item:has(ul),
.udec-navigation-side__menu > li.current-menu-ancestor:has(ul),
.udec-navigation-side__menu > li:has(li.current-menu-item):has(ul) {
  padding-top: var(--card-padding);
  padding-bottom: var(--card-padding);
  border-top: 1px solid var(--color-neutral-gray-200);
  border-bottom: 1px solid var(--color-neutral-gray-200);
}

.udec-navigation-side__menu > li.current-menu-item:has(ul) li > a,
.udec-navigation-side__menu > li.current-menu-ancestor:has(ul) li > a,
.udec-navigation-side__menu > li:has(li.current-menu-item):has(ul) li > a {
  transition: all 0.15s ease-in-out;
}

.udec-navigation-side__menu > li.current-menu-item:has(ul) > ul,
.udec-navigation-side__menu > li.current-menu-ancestor:has(ul) > ul,
.udec-navigation-side__menu > li:has(li.current-menu-item):has(ul) > ul {
  display: flex;
  margin-top: var(--spacing-12);
  padding-left: calc(var(--spacing-8) + 3px);
  gap: var(--spacing-8);
  list-style: none;
}

.udec-navigation-side__menu ul ul {
  position: relative;
  width: auto;
  height: auto;
  margin-top: var(--spacing-12);
  padding-left: var(--spacing-8);
  gap: var(--spacing-8);
  opacity: 1;
  visibility: visible;
  background-color: transparent;
  border: none;
  list-style: none;
}

.udec-navigation-side__menu ul ul li a:not(.wp-element-button) {
  padding: 0 var(--spacing-12);
}

.udec-navigation-side__toggler-mobile-nav {
  display: none;
}

@media screen and (max-width: 781px) {
  .udec-navigation-side {
    position: relative;
    width: 100%;
    margin-block-start: 0;
    padding-top: var(--spacing-12);
    padding-right: var(--forms-input-padding);
    padding-bottom: var(--forms-input-padding);
    padding-left: var(--forms-input-padding);
    border: 1px solid var(--color-input-border-default);
    border-top-right-radius: var(spacing-4);
    border-radius: var(--spacing-4);
  }
  .udec-navigation-side__title {
    margin-bottom: 0;
  }
  .udec-navigation-side__toggler-mobile-nav {
    display: block;
    height: var(--spacing-48);
    width: var(--spacing-60);
    margin-left: auto;
    background-color: transparent;
    border: none;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 0.15s ease-in-out;
    cursor: pointer;
  }
  .udec-navigation-side__toggler-mobile-nav::before {
    content: "";
    display: inline-block;
    width: var(--icon-size-medium);
    height: var(--icon-size-medium);
    background-image: url("data:image/svg+xml,%0A%3Csvg width=%2724%27 height=%2724%27 viewBox=%270 0 24 24%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M8.19214 9.69225L11.9999 13.5L15.8076 9.69225H8.19214Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
  }
  .udec-navigation-side__menu {
    padding-top: 0;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.5s ease-out;
  }
  .udec-navigation-side__menu > li:first-of-type {
    margin-top: var(--spacing-16);
    padding-top: var(--spacing-12);
    border-top: 1px solid var(--color-primary-blue-100);
  }
  .udec-navigation-side--mobile-nav-active .udec-navigation-side__toggler-mobile-nav::before {
    transform: rotate(180deg);
  }
}
/* Cards - Sistema de tarjetas */
/**
 * UdeC Design System - Card Base
 *
 * Sistema base de tarjetas con flow space automático.
 * Todas las tarjetas extienden de esta clase base.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: var(--spacing-16);
  background-color: var(--color-neutral-white-0);
}

@media screen and (min-width: 768px) {
  .card {
    padding: var(--spacing-24);
  }
}
/* Flow space system - espaciado automático entre elementos */
.card > * + * {
  margin: 0;
  margin-block-start: var(--flow-space, 1em);
}

/* Imagen al inicio de la card */
.card :is(.card__image + *) {
  --flow-space: var(--spacing-32);
}

/* Espacio después de headings */
.card :is(h2 + *, h3 + *, h4 + *) {
  --flow-space: var(--spacing-4);
}

@media screen and (min-width: 768px) {
  .card :is(h2 + *, h3 + *, h4 + *) {
    --flow-space: var(--spacing-12);
  }
}
/* Imagen después de otros elementos */
.card :is(* + .card__image) {
  --flow-space: var(--spacing-24);
}

@media screen and (min-width: 768px) {
  .card :is(* + .card__image) {
    --flow-space: var(--spacing-32);
  }
}
@media screen and (min-width: 1280px) {
  .card :is(* + .card__image) {
    --flow-space: var(--spacing-48);
  }
}
/* Párrafos */
.card p {
  --flow-space: var(--spacing-4);
}

@media screen and (min-width: 768px) {
  .card p {
    --flow-space: var(--spacing-12);
  }
}
/* Actions siempre al final */
.card .card__actions {
  --flow-space: var(--spacing-24);
  margin-top: auto;
}

/* Card Image */
.card__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Card Content */
.card__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}

/* Links en headings */
.card :is(h2 a, h3 a, h4 a) {
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-default);
  text-decoration: none;
  transition: all 0.15s ease-in-out;
}

.card :is(h2 a:hover, h3 a:hover, h4 a:hover) {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-link-hover);
}

/* Card Actions */
.card__actions {
  display: flex;
  gap: var(--spacing-12);
  align-items: center;
}

/**
 * UdeC Design System - Card Variants
 *
 * Variantes de tarjetas: simple, light, dark
 *
 * Dependencias: card-base.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Card Simple - con hover completo y link envolvente */
.card-simple {
  position: relative;
  transition: background-color 0.15s ease-in-out;
}

/* Pseudo-elemento para hacer toda la tarjeta clickeable */
.card-simple:has(a[href]) a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
}

.card-simple:hover {
  background-color: var(--color-primary-blue-50);
}

.card-simple:hover .button-icon__icon {
  background-color: var(--background-color-bg-accent);
}

/* Card Light - variante clara */
.card-light {
  background-color: var(--color-neutral-white-0);
  color: var(--color-text-default);
}

.card-light:has(a:focus) {
  background-color: var(--color-primary-blue-50);
}

/* Card Dark - variante oscura */
.card-dark {
  background-color: var(--color-primary-blue-700);
  color: var(--color-neutral-white-0);
}

.card-dark h2,
.card-dark h3,
.card-dark h4 {
  color: var(--color-neutral-white-0);
}

.card-dark p {
  color: var(--color-neutral-gray-100);
}

.card-dark :is(h2 a, h3 a, h4 a) {
  color: var(--color-neutral-white-0);
}

.card-dark:has(a[href]):hover {
  background-color: var(--color-primary-blue-500);
}

.card-dark .button-icon__icon {
  background-color: var(--color-primary-yellow-500);
}

.card-dark .button-icon__icon svg {
  fill: var(--color-primary-blue-700);
}

/**
 * UdeC Design System - Card News
 *
 * Tarjeta específica para noticias con imagen, categoría y título.
 *
 * Dependencias: card-base.css, category-tag.css, variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-news {
  position: relative;
  width: 100%;
  padding: 0;
  overflow: hidden;
  transition: transform 0.15s ease-in-out;
}

.card-news__image {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

.card-news__content {
  padding: var(--spacing-16);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}

@media screen and (min-width: 768px) {
  .card-news__content {
    padding: var(--spacing-24);
  }
}
.card-news__category {
  order: -1;
}

.card-news__title {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-tight);
  margin: 0;
}

@media screen and (min-width: 768px) {
  .card-news__title {
    font-size: var(--font-size-2xl);
  }
}
.card-news__title a {
  color: var(--color-text-default);
  text-decoration: none;
  transition: color 0.15s ease-in-out;
}

.card-news__title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-link-hover);
}

.card-news__excerpt {
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  color: var(--color-text-muted);
}

.card-news__date {
  font-size: var(--font-size-s);
  color: var(--color-neutral-gray-600);
}

/* Link envolvente para toda la tarjeta */
.card-news__link {
  position: static;
}

.card-news__link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

/* Hover effect */
.card-news:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.card-news:hover .card-news__title a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/**
 * UdeC Design System - Card Testimony
 *
 * Tarjeta de testimonio con imagen y contenido.
 * Incluye decoración de comillas en la imagen.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-testimony {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 0;
}

/* Image Container */
.card-testimony .wp-block-image,
.card-testimony__image {
  position: relative;
  height: 13.125rem;
  width: 100%;
}

.card-testimony .wp-block-image img,
.card-testimony__image img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 16/9;
}

/* Quote decoration */
.card-testimony .wp-block-image::after,
.card-testimony__image::after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg width=%2792%27 height=%2785%27 viewBox=%270 0 92 85%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Crect width=%2792%27 height=%2785%27 fill=%27%23C7D5ED%27/%3E%3Cpath d=%27M51.0425 65V46.5225C51.0425 32.2625 60.37 22.5975 73.5 20L75.9875 25.3775C69.9075 27.67 66 34.4725 66 40H76V65H51.0425ZM16 65V46.5225C16 32.2625 25.37 22.5975 38.5 20L40.99 25.3775C34.9075 27.67 31 34.4725 31 40H40.9575V65H16Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 5.75rem;
  height: 5.313rem;
  cursor: pointer;
}

/* Content */
.card-testimony__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
  padding: var(--spacing-24);
  background-color: var(--color-neutral-gray-50);
  margin-top: 0;
}

/* Quote text */
.card-testimony__content p {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-medium);
  font-style: normal;
  line-height: var(--line-height-normal);
  margin: 0;
}

/* Author section */
.card-testimony__autor {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.card-testimony__autor p {
  font-family: var(--font-family-body);
  font-size: var(--font-size-s);
  margin: 0;
}

/* Responsive */
@media screen and (min-width: 768px) {
  .card-testimony .wp-block-image,
  .card-testimony__image {
    height: 14.375rem;
  }
}
@media screen and (min-width: 992px) {
  .card-testimony .wp-block-image,
  .card-testimony__image {
    height: 15.625rem;
  }
}
/* Pattern wrapper */
.pattern-cards-testimonies__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-24);
}

@media screen and (max-width: 1440px) {
  .pattern-cards-testimonies {
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 1200px) {
  .pattern-cards-testimonies__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards-testimonies {
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
  }
  .pattern-cards-testimonies__grid {
    margin-top: var(--spacing-32);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards-testimonies__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/**
 * UdeC Design System - Card Person
 *
 * Tarjeta de persona con avatar, nombre, descripción y datos de contacto.
 * Incluye funcionalidad de copiar enlace.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-person {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
  padding: var(--spacing-24);
  background-color: var(--color-neutral-gray-50);
}

/* Name section with avatar */
.card-person > .wp-block-group {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-12);
  align-items: flex-start;
}

/* Avatar */
.card-person .wp-block-image,
.card-person__avatar {
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
}

.card-person .wp-block-image img,
.card-person__avatar img {
  width: 3rem;
  height: 3rem;
  object-fit: cover;
  border-radius: var(--radius-full);
}

/* Name */
.card-person .has-blue-500-color {
  font-family: var(--font-family-heading);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-bold);
  line-height: 1.2;
  color: var(--color-primary-blue-500);
  margin: 0;
}

/* Description */
.card-person > p {
  font-size: var(--font-size-m);
  margin: 0;
}

/* Contact section */
.card__contact {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: var(--spacing-12);
}

.card__contact p {
  margin: 0;
  font-size: var(--font-size-m);
}

.card__contact a {
  font-weight: var(--font-weight-regular);
  color: var(--color-link-default);
  text-decoration: underline;
}

.card__contact a:hover {
  color: var(--color-link-hover);
}

/* Card Person Record Variant */
.card-person--record {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
}

.card-person--record > .wp-block-buttons {
  margin-top: auto;
}

.card-person--record .card__contact {
  margin-top: 0;
}

/* Copy Link Functionality */
.copy-contact-link a {
  font-weight: var(--font-weight-regular);
}

.copy-link {
  gap: 0;
  position: relative;
}

.copy-link .wp-block-buttons {
  position: relative;
  gap: var(--spacing-4);
  display: none;
}

.copy-link__content a {
  font-weight: var(--font-weight-regular);
}

/* Copy Button */
.copy-link-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: var(--spacing-4);
  background-color: rgba(255, 255, 255, 0.4);
  border-radius: var(--spacing-4);
  border: none;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out;
}

.copy-link-btn::after {
  content: "";
  background-image: url("data:image/svg+xml,%0A%3Csvg width=%2732%27 height=%2732%27 viewBox=%270 0 32 32%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M10 22.6667V4H24.6667V22.6667H10ZM11.3333 21.3333H23.3333V5.33333H11.3333V21.3333ZM6 26.6667V8.82067H7.33333V25.3333H19.846V26.6667H6Z%27 fill=%27%23223C6A%27/%3E%3C/svg%3E%0A");
  width: 1.125rem;
  height: 1.125rem;
  background-size: contain;
  display: block;
}

.copy-link-btn:hover,
.copy-link-btn:focus {
  background-color: rgba(255, 255, 255, 0.6);
}

/* Copy feedback tooltip */
.copy-link-btn span {
  position: absolute;
  top: -1.8em;
  transform: translateX(-50%);
  padding: var(--spacing-4);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-regular);
  border-radius: var(--spacing-4);
  background: var(--color-neutral-gray-900);
  color: var(--color-neutral-white-0);
  pointer-events: none;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  opacity: 0.95;
  transition: all 0.2s;
  white-space: nowrap;
}

.copy-feedback {
  color: var(--color-text-default);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-xs);
  white-space: nowrap;
  position: absolute;
  left: 80%;
}

/* Copied state */
.copied .copy-link__content a {
  color: var(--color-text-default);
}

/* Responsive */
@media screen and (max-width: 1280px) {
  .card-person {
    padding: var(--spacing-20);
  }
}
@media screen and (max-width: 500px) {
  .card-person {
    padding: var(--spacing-12);
  }
}
/* Pattern wrapper */
.pattern-cards-persons__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--spacing-24);
}

@media screen and (max-width: 1280px) {
  .pattern-cards-persons {
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 1200px) {
  .pattern-cards-persons__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 992px) {
  .pattern-cards-persons__grid {
    margin-top: var(--spacing-32);
  }
}
@media screen and (max-width: 768px) {
  .pattern-cards-persons {
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
  }
}
@media screen and (max-width: 580px) {
  .pattern-cards-persons__grid {
    grid-template-columns: 1fr;
    row-gap: var(--spacing-12);
  }
}
/**
 * UdeC Design System - Card Event
 *
 * Tarjeta de evento con imagen, categoría, título, fecha y datos del evento.
 * Incluye efecto hover que cambia el color de fondo y texto.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-event {
  display: flex;
  flex-direction: column;
  column-gap: var(--spacing-40);
  row-gap: var(--spacing-12);
  padding: var(--spacing-24);
  background-color: var(--color-primary-blue-50);
  position: relative;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
}

/* Image */
.card-event .wp-block-image,
.card-event__image {
  width: 100%;
}

.card-event .wp-block-image img,
.card-event__image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Content section */
.card-event__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
  position: initial;
}

/* Category tag - uses existing category-tag.css */
/* Title */
.card-event h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  font-style: normal;
  color: var(--color-neutral-gray-800);
  margin: 0;
}

.card-event h3 a {
  color: var(--color-neutral-gray-800);
  text-decoration: none;
}

/* Date */
.card-event__date {
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  font-style: normal;
  margin: 0;
}

.card-event__date mark {
  background-color: var(--color-primary-blue-500);
  color: var(--color-neutral-white-0);
  padding: var(--spacing-4) var(--spacing-8);
  border-radius: var(--radius-s);
  transition: background-color 0.15s ease-in-out;
}

/* Event data (time, mode, location) */
.card-event__data {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}

.card-event__data .wp-block-group {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-4);
  align-items: center;
}

.card-event__data .icon-container {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--color-primary-blue-900);
  flex-shrink: 0;
}

.card-event__data p {
  font-size: var(--font-size-m);
  color: var(--color-primary-blue-900);
  margin: 0;
}

/* Clickable card with pseudo-element */
.card-event:has(a[href]) a::before {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: 0;
  bottom: 0;
}

/* Hover state */
.card-event:hover {
  background-color: var(--color-primary-blue-700);
}

.card-event:hover * {
  color: var(--color-neutral-white-0);
}

.card-event:hover .card-event__date mark {
  background-color: var(--color-primary-blue-500);
}

.card-event:hover .icon-container {
  color: var(--color-neutral-white-0);
}

/* Focus state */
.card-event:has(a:focus) {
  outline: 1px solid var(--color-primary-blue-900);
}

.card-event:has(a:focus) a {
  outline: none;
}

/* Responsive */
@media screen and (max-width: 992px) {
  .card-event {
    column-gap: var(--spacing-32);
  }
}
@media screen and (max-width: 768px) {
  .card-event {
    padding: var(--spacing-16);
    row-gap: var(--spacing-8);
  }
  .card-event__content > * + * {
    margin-top: var(--spacing-8);
  }
  .card-event__data .icon-container {
    width: 1.125rem;
    height: 1.125rem;
  }
}
/**
 * UdeC Design System - Card Faculty
 *
 * Tarjeta de facultad con imagen superior y contenido elevado.
 * El contenido tiene margen negativo para superponerse a la imagen.
 *
 * Dependencias: variables.css, card-base.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
.card-faculty {
  display: flex;
  flex-direction: column;
}

/* Image */
.card-faculty .wp-block-image,
.card-faculty__image {
  width: 100%;
}

.card-faculty .wp-block-image img,
.card-faculty__image img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
}

/* Content - elevated card */
.card-faculty__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-16);
  padding: var(--spacing-16);
  background-color: var(--color-neutral-white-0);
  position: relative;
  margin-right: var(--spacing-16);
  margin-top: calc(var(--spacing-40) * -1);
  margin-bottom: 0;
  z-index: 1;
  transition: background-color 0.15s ease-in-out;
}

/* Title */
.card-faculty__content h3 {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  font-style: normal;
  color: var(--color-primary-blue-900);
  margin: 0;
}

.card-faculty__content h3 a {
  color: var(--color-primary-blue-900);
  text-decoration: none;
}

/* Faculty data (campus, location, link) */
.card-faculty__data {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
  margin-top: var(--spacing-component-gap);
}

.card-faculty__data .wp-block-group {
  display: flex;
  flex-wrap: nowrap;
  gap: var(--spacing-8);
  align-items: center;
}

.card-faculty__data .icon-container {
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
}

.card-faculty__data .has-gray-700-color .icon-container {
  color: var(--color-neutral-gray-700);
}

.card-faculty__data .has-blue-500-color .icon-container {
  color: var(--color-primary-blue-500);
}

.card-faculty__data p {
  font-size: var(--font-size-m);
  color: var(--color-neutral-gray-700);
  margin: 0;
}

.card-faculty__data a {
  font-weight: var(--font-weight-regular);
  color: var(--color-primary-blue-500);
  text-decoration: underline;
}

.card-faculty__data a:hover {
  color: var(--color-primary-blue-700);
}

/* Hover state */
.card-faculty__content:has(a[href]) {
  position: relative;
}

.card-faculty__content:has(a[href]:hover) {
  background-color: var(--color-neutral-gray-50);
}

/* Focus state */
.card-faculty:has(a:focus) {
  outline: 1px solid var(--color-primary-blue-900);
}

.card-faculty:has(a:focus) .card-faculty__content {
  background-color: var(--color-neutral-gray-50);
}

.card-faculty:has(a:focus) a {
  outline: none;
}

/* Otros componentes */
/**
 * UdeC Design System - Hero
 *
 * Secciones hero con imagen de fondo, título, separador y botones.
 * Múltiples variantes: centrado, izquierda, derecha.
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* Hero Base */
.hero {
  position: relative;
  min-height: 43.75rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: var(--spacing-80) var(--spacing-24);
  margin-top: var(--spacing-80);
  margin-bottom: var(--spacing-80);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.hero .wp-block-cover__inner-container {
  width: 100%;
  max-width: var(--content-width-max);
  margin: 0 auto;
}

/* Hero Header */
.hero__header {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-24);
  align-items: center;
  text-align: center;
}

.hero__header h1,
.hero__header h2 {
  margin: 0;
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  color: var(--color-neutral-white-0);
}

/* Hero Buttons */
.hero .wp-block-buttons {
  display: flex;
  gap: var(--spacing-24);
  flex-wrap: wrap;
  justify-content: center;
  margin-top: var(--spacing-32);
}

.hero .wp-block-button .wp-block-button__link {
  padding-top: var(--spacing-4);
  padding-bottom: var(--spacing-4);
  padding-right: var(--spacing-12);
  padding-left: var(--spacing-12);
}

@media screen and (min-width: 768px) {
  .hero .wp-block-button .wp-block-button__link {
    padding-top: var(--spacing-12);
    padding-bottom: var(--spacing-12);
    padding-right: var(--spacing-24);
    padding-left: var(--spacing-24);
  }
}
/* Hero Variants */
/* Hero Left - Content aligned left */
.hero--left .hero__header,
.hero--left .wp-block-buttons {
  align-items: flex-start;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .hero--left .hero__header {
    max-width: 50%;
  }
}
/* Hero Right - Content aligned right */
.hero--right .hero__header,
.hero--right .wp-block-buttons {
  align-items: flex-end;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .hero--right .hero__header {
    max-width: 50%;
    margin-left: auto;
  }
}
/* Hero Title Only */
.hero--title-only {
  min-height: 25rem;
  align-items: center;
  padding-top: var(--spacing-60);
  padding-bottom: var(--spacing-60);
}

.hero--title-only .hero__header h1,
.hero--title-only .hero__header h2 {
  font-size: var(--font-size-4xl);
}

/* Responsive */
@media screen and (max-width: 1280px) {
  .home .main > .hero:not(:first-of-type),
  .main .entry-content .hero {
    margin-bottom: var(--spacing-60);
    padding-top: var(--spacing-60);
    padding-bottom: var(--spacing-60);
  }
}
@media screen and (max-width: 768px) {
  .hero {
    min-height: 34.375rem;
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
    margin-top: var(--spacing-40);
    margin-bottom: var(--spacing-40);
  }
  .home .main > .hero:not(:first-of-type),
  .main .entry-content .hero {
    margin-bottom: var(--spacing-40);
    padding-top: var(--spacing-40);
    padding-bottom: var(--spacing-40);
    min-height: 34.375rem;
  }
  .hero__header h1,
  .hero__header h2 {
    font-size: var(--font-size-4xl);
  }
  .hero--left .hero__header,
  .hero--right .hero__header {
    max-width: 100%;
  }
}
/* Override margins when explicitly set to 0 */
.hero[style*="margin-top:0"] {
  margin-top: 0;
}

@media screen and (max-width: 1280px) {
  .hero[style*="margin-top:0"] {
    margin-top: 0;
  }
}
@media screen and (max-width: 768px) {
  .hero[style*="margin-top:0"] {
    margin-top: 0;
  }
}
.hero[style*="margin-bottom:0"] {
  margin-bottom: 0;
}

@media screen and (max-width: 1280px) {
  .hero[style*="margin-bottom:0"] {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  .hero[style*="margin-bottom:0"] {
    margin-bottom: 0;
  }
}
/* Utilities - Clases utilitarias */
/*
 * Utilidades de espaciado (margin / padding)
 * Clases en formato tipo Bootstrap: m-, mt-, mb-, ml-, mr-, mx-, my-
 * y p-, pt-, pb-, pl-, pr-, px-, py-
 * Valores usan las variables CSS definidas en tokens/from-figma.css
 */
:root {
  /* aseguramos que las variables existen (fallback a 0) */
}

/* Lista de tokens soportados: 0,4,8,12,16,20,24,28,32,36,40,44,48,60,64,80,100,160 */
/* -------------------- MARGIN -------------------- */
.m-0 {
  margin: var(--spacing-0, 0);
}

.mt-0 {
  margin-top: var(--spacing-0, 0);
}

.mb-0 {
  margin-bottom: var(--spacing-0, 0);
}

.ml-0 {
  margin-left: var(--spacing-0, 0);
}

.mr-0 {
  margin-right: var(--spacing-0, 0);
}

.mx-0 {
  margin-left: var(--spacing-0, 0);
  margin-right: var(--spacing-0, 0);
}

.my-0 {
  margin-top: var(--spacing-0, 0);
  margin-bottom: var(--spacing-0, 0);
}

.m-4 {
  margin: var(--spacing-4);
}

.mt-4 {
  margin-top: var(--spacing-4);
}

.mb-4 {
  margin-bottom: var(--spacing-4);
}

.ml-4 {
  margin-left: var(--spacing-4);
}

.mr-4 {
  margin-right: var(--spacing-4);
}

.mx-4 {
  margin-left: var(--spacing-4);
  margin-right: var(--spacing-4);
}

.my-4 {
  margin-top: var(--spacing-4);
  margin-bottom: var(--spacing-4);
}

.m-8 {
  margin: var(--spacing-8);
}

.mt-8 {
  margin-top: var(--spacing-8);
}

.mb-8 {
  margin-bottom: var(--spacing-8);
}

.ml-8 {
  margin-left: var(--spacing-8);
}

.mr-8 {
  margin-right: var(--spacing-8);
}

.mx-8 {
  margin-left: var(--spacing-8);
  margin-right: var(--spacing-8);
}

.my-8 {
  margin-top: var(--spacing-8);
  margin-bottom: var(--spacing-8);
}

.m-12 {
  margin: var(--spacing-12);
}

.mt-12 {
  margin-top: var(--spacing-12);
}

.mb-12 {
  margin-bottom: var(--spacing-12);
}

.ml-12 {
  margin-left: var(--spacing-12);
}

.mr-12 {
  margin-right: var(--spacing-12);
}

.mx-12 {
  margin-left: var(--spacing-12);
  margin-right: var(--spacing-12);
}

.my-12 {
  margin-top: var(--spacing-12);
  margin-bottom: var(--spacing-12);
}

.m-16 {
  margin: var(--spacing-16);
}

.mt-16 {
  margin-top: var(--spacing-16);
}

.mb-16 {
  margin-bottom: var(--spacing-16);
}

.ml-16 {
  margin-left: var(--spacing-16);
}

.mr-16 {
  margin-right: var(--spacing-16);
}

.mx-16 {
  margin-left: var(--spacing-16);
  margin-right: var(--spacing-16);
}

.my-16 {
  margin-top: var(--spacing-16);
  margin-bottom: var(--spacing-16);
}

.m-20 {
  margin: var(--spacing-20);
}

.mt-20 {
  margin-top: var(--spacing-20);
}

.mb-20 {
  margin-bottom: var(--spacing-20);
}

.ml-20 {
  margin-left: var(--spacing-20);
}

.mr-20 {
  margin-right: var(--spacing-20);
}

.mx-20 {
  margin-left: var(--spacing-20);
  margin-right: var(--spacing-20);
}

.my-20 {
  margin-top: var(--spacing-20);
  margin-bottom: var(--spacing-20);
}

.m-24 {
  margin: var(--spacing-24);
}

.mt-24 {
  margin-top: var(--spacing-24);
}

.mb-24 {
  margin-bottom: var(--spacing-24);
}

.ml-24 {
  margin-left: var(--spacing-24);
}

.mr-24 {
  margin-right: var(--spacing-24);
}

.mx-24 {
  margin-left: var(--spacing-24);
  margin-right: var(--spacing-24);
}

.my-24 {
  margin-top: var(--spacing-24);
  margin-bottom: var(--spacing-24);
}

.m-28 {
  margin: var(--spacing-28);
}

.mt-28 {
  margin-top: var(--spacing-28);
}

.mb-28 {
  margin-bottom: var(--spacing-28);
}

.ml-28 {
  margin-left: var(--spacing-28);
}

.mr-28 {
  margin-right: var(--spacing-28);
}

.mx-28 {
  margin-left: var(--spacing-28);
  margin-right: var(--spacing-28);
}

.my-28 {
  margin-top: var(--spacing-28);
  margin-bottom: var(--spacing-28);
}

.m-32 {
  margin: var(--spacing-32);
}

.mt-32 {
  margin-top: var(--spacing-32);
}

.mb-32 {
  margin-bottom: var(--spacing-32);
}

.ml-32 {
  margin-left: var(--spacing-32);
}

.mr-32 {
  margin-right: var(--spacing-32);
}

.mx-32 {
  margin-left: var(--spacing-32);
  margin-right: var(--spacing-32);
}

.my-32 {
  margin-top: var(--spacing-32);
  margin-bottom: var(--spacing-32);
}

.m-36 {
  margin: var(--spacing-36);
}

.mt-36 {
  margin-top: var(--spacing-36);
}

.mb-36 {
  margin-bottom: var(--spacing-36);
}

.ml-36 {
  margin-left: var(--spacing-36);
}

.mr-36 {
  margin-right: var(--spacing-36);
}

.mx-36 {
  margin-left: var(--spacing-36);
  margin-right: var(--spacing-36);
}

.my-36 {
  margin-top: var(--spacing-36);
  margin-bottom: var(--spacing-36);
}

.m-40 {
  margin: var(--spacing-40);
}

.mt-40 {
  margin-top: var(--spacing-40);
}

.mb-40 {
  margin-bottom: var(--spacing-40);
}

.ml-40 {
  margin-left: var(--spacing-40);
}

.mr-40 {
  margin-right: var(--spacing-40);
}

.mx-40 {
  margin-left: var(--spacing-40);
  margin-right: var(--spacing-40);
}

.my-40 {
  margin-top: var(--spacing-40);
  margin-bottom: var(--spacing-40);
}

.m-44 {
  margin: var(--spacing-44);
}

.mt-44 {
  margin-top: var(--spacing-44);
}

.mb-44 {
  margin-bottom: var(--spacing-44);
}

.ml-44 {
  margin-left: var(--spacing-44);
}

.mr-44 {
  margin-right: var(--spacing-44);
}

.mx-44 {
  margin-left: var(--spacing-44);
  margin-right: var(--spacing-44);
}

.my-44 {
  margin-top: var(--spacing-44);
  margin-bottom: var(--spacing-44);
}

.m-48 {
  margin: var(--spacing-48);
}

.mt-48 {
  margin-top: var(--spacing-48);
}

.mb-48 {
  margin-bottom: var(--spacing-48);
}

.ml-48 {
  margin-left: var(--spacing-48);
}

.mr-48 {
  margin-right: var(--spacing-48);
}

.mx-48 {
  margin-left: var(--spacing-48);
  margin-right: var(--spacing-48);
}

.my-48 {
  margin-top: var(--spacing-48);
  margin-bottom: var(--spacing-48);
}

.m-60 {
  margin: var(--spacing-60);
}

.mt-60 {
  margin-top: var(--spacing-60);
}

.mb-60 {
  margin-bottom: var(--spacing-60);
}

.ml-60 {
  margin-left: var(--spacing-60);
}

.mr-60 {
  margin-right: var(--spacing-60);
}

.mx-60 {
  margin-left: var(--spacing-60);
  margin-right: var(--spacing-60);
}

.my-60 {
  margin-top: var(--spacing-60);
  margin-bottom: var(--spacing-60);
}

.m-64 {
  margin: var(--spacing-64);
}

.mt-64 {
  margin-top: var(--spacing-64);
}

.mb-64 {
  margin-bottom: var(--spacing-64);
}

.ml-64 {
  margin-left: var(--spacing-64);
}

.mr-64 {
  margin-right: var(--spacing-64);
}

.mx-64 {
  margin-left: var(--spacing-64);
  margin-right: var(--spacing-64);
}

.my-64 {
  margin-top: var(--spacing-64);
  margin-bottom: var(--spacing-64);
}

.m-80 {
  margin: var(--spacing-80);
}

.mt-80 {
  margin-top: var(--spacing-80);
}

.mb-80 {
  margin-bottom: var(--spacing-80);
}

.ml-80 {
  margin-left: var(--spacing-80);
}

.mr-80 {
  margin-right: var(--spacing-80);
}

.mx-80 {
  margin-left: var(--spacing-80);
  margin-right: var(--spacing-80);
}

.my-80 {
  margin-top: var(--spacing-80);
  margin-bottom: var(--spacing-80);
}

.m-100 {
  margin: var(--spacing-100);
}

.mt-100 {
  margin-top: var(--spacing-100);
}

.mb-100 {
  margin-bottom: var(--spacing-100);
}

.ml-100 {
  margin-left: var(--spacing-100);
}

.mr-100 {
  margin-right: var(--spacing-100);
}

.mx-100 {
  margin-left: var(--spacing-100);
  margin-right: var(--spacing-100);
}

.my-100 {
  margin-top: var(--spacing-100);
  margin-bottom: var(--spacing-100);
}

.m-160 {
  margin: var(--spacing-160);
}

.mt-160 {
  margin-top: var(--spacing-160);
}

.mb-160 {
  margin-bottom: var(--spacing-160);
}

.ml-160 {
  margin-left: var(--spacing-160);
}

.mr-160 {
  margin-right: var(--spacing-160);
}

.mx-160 {
  margin-left: var(--spacing-160);
  margin-right: var(--spacing-160);
}

.my-160 {
  margin-top: var(--spacing-160);
  margin-bottom: var(--spacing-160);
}

/* -------------------- PADDING -------------------- */
.p-0 {
  padding: var(--spacing-0, 0);
}

.pt-0 {
  padding-top: var(--spacing-0, 0);
}

.pb-0 {
  padding-bottom: var(--spacing-0, 0);
}

.pl-0 {
  padding-left: var(--spacing-0, 0);
}

.pr-0 {
  padding-right: var(--spacing-0, 0);
}

.px-0 {
  padding-left: var(--spacing-0, 0);
  padding-right: var(--spacing-0, 0);
}

.py-0 {
  padding-top: var(--spacing-0, 0);
  padding-bottom: var(--spacing-0, 0);
}

.p-4 {
  padding: var(--spacing-4);
}

.pt-4 {
  padding-top: var(--spacing-4);
}

.pb-4 {
  padding-bottom: var(--spacing-4);
}

.pl-4 {
  padding-left: var(--spacing-4);
}

.pr-4 {
  padding-right: var(--spacing-4);
}

.px-4 {
  padding-left: var(--spacing-4);
  padding-right: var(--spacing-4);
}

.py-4 {
  padding-top: var(--spacing-4);
  padding-bottom: var(--spacing-4);
}

.p-8 {
  padding: var(--spacing-8);
}

.pt-8 {
  padding-top: var(--spacing-8);
}

.pb-8 {
  padding-bottom: var(--spacing-8);
}

.pl-8 {
  padding-left: var(--spacing-8);
}

.pr-8 {
  padding-right: var(--spacing-8);
}

.px-8 {
  padding-left: var(--spacing-8);
  padding-right: var(--spacing-8);
}

.py-8 {
  padding-top: var(--spacing-8);
  padding-bottom: var(--spacing-8);
}

.p-12 {
  padding: var(--spacing-12);
}

.pt-12 {
  padding-top: var(--spacing-12);
}

.pb-12 {
  padding-bottom: var(--spacing-12);
}

.pl-12 {
  padding-left: var(--spacing-12);
}

.pr-12 {
  padding-right: var(--spacing-12);
}

.px-12 {
  padding-left: var(--spacing-12);
  padding-right: var(--spacing-12);
}

.py-12 {
  padding-top: var(--spacing-12);
  padding-bottom: var(--spacing-12);
}

.p-16 {
  padding: var(--spacing-16);
}

.pt-16 {
  padding-top: var(--spacing-16);
}

.pb-16 {
  padding-bottom: var(--spacing-16);
}

.pl-16 {
  padding-left: var(--spacing-16);
}

.pr-16 {
  padding-right: var(--spacing-16);
}

.px-16 {
  padding-left: var(--spacing-16);
  padding-right: var(--spacing-16);
}

.py-16 {
  padding-top: var(--spacing-16);
  padding-bottom: var(--spacing-16);
}

.p-20 {
  padding: var(--spacing-20);
}

.pt-20 {
  padding-top: var(--spacing-20);
}

.pb-20 {
  padding-bottom: var(--spacing-20);
}

.pl-20 {
  padding-left: var(--spacing-20);
}

.pr-20 {
  padding-right: var(--spacing-20);
}

.px-20 {
  padding-left: var(--spacing-20);
  padding-right: var(--spacing-20);
}

.py-20 {
  padding-top: var(--spacing-20);
  padding-bottom: var(--spacing-20);
}

.p-24 {
  padding: var(--spacing-24);
}

.pt-24 {
  padding-top: var(--spacing-24);
}

.pb-24 {
  padding-bottom: var(--spacing-24);
}

.pl-24 {
  padding-left: var(--spacing-24);
}

.pr-24 {
  padding-right: var(--spacing-24);
}

.px-24 {
  padding-left: var(--spacing-24);
  padding-right: var(--spacing-24);
}

.py-24 {
  padding-top: var(--spacing-24);
  padding-bottom: var(--spacing-24);
}

.p-28 {
  padding: var(--spacing-28);
}

.pt-28 {
  padding-top: var(--spacing-28);
}

.pb-28 {
  padding-bottom: var(--spacing-28);
}

.pl-28 {
  padding-left: var(--spacing-28);
}

.pr-28 {
  padding-right: var(--spacing-28);
}

.px-28 {
  padding-left: var(--spacing-28);
  padding-right: var(--spacing-28);
}

.py-28 {
  padding-top: var(--spacing-28);
  padding-bottom: var(--spacing-28);
}

.p-32 {
  padding: var(--spacing-32);
}

.pt-32 {
  padding-top: var(--spacing-32);
}

.pb-32 {
  padding-bottom: var(--spacing-32);
}

.pl-32 {
  padding-left: var(--spacing-32);
}

.pr-32 {
  padding-right: var(--spacing-32);
}

.px-32 {
  padding-left: var(--spacing-32);
  padding-right: var(--spacing-32);
}

.py-32 {
  padding-top: var(--spacing-32);
  padding-bottom: var(--spacing-32);
}

.p-36 {
  padding: var(--spacing-36);
}

.pt-36 {
  padding-top: var(--spacing-36);
}

.pb-36 {
  padding-bottom: var(--spacing-36);
}

.pl-36 {
  padding-left: var(--spacing-36);
}

.pr-36 {
  padding-right: var(--spacing-36);
}

.px-36 {
  padding-left: var(--spacing-36);
  padding-right: var(--spacing-36);
}

.py-36 {
  padding-top: var(--spacing-36);
  padding-bottom: var(--spacing-36);
}

.p-40 {
  padding: var(--spacing-40);
}

.pt-40 {
  padding-top: var(--spacing-40);
}

.pb-40 {
  padding-bottom: var(--spacing-40);
}

.pl-40 {
  padding-left: var(--spacing-40);
}

.pr-40 {
  padding-right: var(--spacing-40);
}

.px-40 {
  padding-left: var(--spacing-40);
  padding-right: var(--spacing-40);
}

.py-40 {
  padding-top: var(--spacing-40);
  padding-bottom: var(--spacing-40);
}

.p-44 {
  padding: var(--spacing-44);
}

.pt-44 {
  padding-top: var(--spacing-44);
}

.pb-44 {
  padding-bottom: var(--spacing-44);
}

.pl-44 {
  padding-left: var(--spacing-44);
}

.pr-44 {
  padding-right: var(--spacing-44);
}

.px-44 {
  padding-left: var(--spacing-44);
  padding-right: var(--spacing-44);
}

.py-44 {
  padding-top: var(--spacing-44);
  padding-bottom: var(--spacing-44);
}

.p-48 {
  padding: var(--spacing-48);
}

.pt-48 {
  padding-top: var(--spacing-48);
}

.pb-48 {
  padding-bottom: var(--spacing-48);
}

.pl-48 {
  padding-left: var(--spacing-48);
}

.pr-48 {
  padding-right: var(--spacing-48);
}

.px-48 {
  padding-left: var(--spacing-48);
  padding-right: var(--spacing-48);
}

.py-48 {
  padding-top: var(--spacing-48);
  padding-bottom: var(--spacing-48);
}

.p-60 {
  padding: var(--spacing-60);
}

.pt-60 {
  padding-top: var(--spacing-60);
}

.pb-60 {
  padding-bottom: var(--spacing-60);
}

.pl-60 {
  padding-left: var(--spacing-60);
}

.pr-60 {
  padding-right: var(--spacing-60);
}

.px-60 {
  padding-left: var(--spacing-60);
  padding-right: var(--spacing-60);
}

.py-60 {
  padding-top: var(--spacing-60);
  padding-bottom: var(--spacing-60);
}

.p-64 {
  padding: var(--spacing-64);
}

.pt-64 {
  padding-top: var(--spacing-64);
}

.pb-64 {
  padding-bottom: var(--spacing-64);
}

.pl-64 {
  padding-left: var(--spacing-64);
}

.pr-64 {
  padding-right: var(--spacing-64);
}

.px-64 {
  padding-left: var(--spacing-64);
  padding-right: var(--spacing-64);
}

.py-64 {
  padding-top: var(--spacing-64);
  padding-bottom: var(--spacing-64);
}

.p-80 {
  padding: var(--spacing-80);
}

.pt-80 {
  padding-top: var(--spacing-80);
}

.pb-80 {
  padding-bottom: var(--spacing-80);
}

.pl-80 {
  padding-left: var(--spacing-80);
}

.pr-80 {
  padding-right: var(--spacing-80);
}

.px-80 {
  padding-left: var(--spacing-80);
  padding-right: var(--spacing-80);
}

.py-80 {
  padding-top: var(--spacing-80);
  padding-bottom: var(--spacing-80);
}

.p-100 {
  padding: var(--spacing-100);
}

.pt-100 {
  padding-top: var(--spacing-100);
}

.pb-100 {
  padding-bottom: var(--spacing-100);
}

.pl-100 {
  padding-left: var(--spacing-100);
}

.pr-100 {
  padding-right: var(--spacing-100);
}

.px-100 {
  padding-left: var(--spacing-100);
  padding-right: var(--spacing-100);
}

.py-100 {
  padding-top: var(--spacing-100);
  padding-bottom: var(--spacing-100);
}

.p-160 {
  padding: var(--spacing-160);
}

.pt-160 {
  padding-top: var(--spacing-160);
}

.pb-160 {
  padding-bottom: var(--spacing-160);
}

.pl-160 {
  padding-left: var(--spacing-160);
}

.pr-160 {
  padding-right: var(--spacing-160);
}

.px-160 {
  padding-left: var(--spacing-160);
  padding-right: var(--spacing-160);
}

.py-160 {
  padding-top: var(--spacing-160);
  padding-bottom: var(--spacing-160);
}

/* Alineación de texto */
.text-center {
  text-align: center;
}

/* Flow - Espaciado automático entre elementos hijos */
.flow > * + * {
  margin-top: var(--flow-space, 1em);
}

/* Flow con diferentes espaciados predefinidos */
.flow-xs > * + * {
  margin-top: var(--spacing-8);
}

.flow-s > * + * {
  margin-top: var(--spacing-12);
}

.flow-m > * + * {
  margin-top: var(--spacing-16);
}

.flow-l > * + * {
  margin-top: var(--spacing-24);
}

.flow-xl > * + * {
  margin-top: var(--spacing-32);
}

.flow-2xl > * + * {
  margin-top: var(--spacing-48);
}

/* Content wrapper con flow automático y width óptimo */
.content-flow {
  max-width: 43.75rem;
  /* 700px - ancho óptimo de lectura */
}

.content-flow > * + * {
  margin-top: var(--flow-space, 1.5rem);
}

/* Flow space específico después de headings */
.flow > h1 + *,
.flow > h2 + *,
.flow > h3 + *,
.flow > h4 + *,
.flow > h5 + *,
.flow > h6 + * {
  margin-top: var(--spacing-16);
}

.flow > p + p {
  margin-top: var(--spacing-12);
}

.flow > ul + *,
.flow > ol + * {
  margin-top: var(--spacing-24);
}

.flow > blockquote + * {
  margin-top: var(--spacing-32);
}

/* Sistema de filas y columnas */
:root {
  --grid-gutter: var(--spacing-16);
  --grid-columns: 12;
}

/* .container:has(>.row) {
	padding-right: var(--grid-gutter);
	padding-left: var(--grid-gutter);
} */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(-1 * var(--grid-gutter));
  margin-left: calc(-1 * var(--grid-gutter));
}

/* Columnas base */
.col,
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  position: relative;
  width: 100%;
  padding-right: var(--grid-gutter);
  padding-left: var(--grid-gutter);
}

/* Columnas de ancho fijo */
.col-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* Columnas automáticas */
.col {
  flex-basis: 0;
  flex-grow: 1;
  max-width: 100%;
}

/* Columnas responsive - Extra small (por defecto) */
.col-xs-1 {
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-xs-2 {
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-xs-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

.col-xs-4 {
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-xs-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-xs-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.col-xs-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-xs-8 {
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-xs-9 {
  flex: 0 0 75%;
  max-width: 75%;
}

.col-xs-10 {
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-xs-11 {
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-xs-12 {
  flex: 0 0 100%;
  max-width: 100%;
}

/* Columnas responsive - Small (≥576px) */
@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-sm-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-sm-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-sm-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-sm-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-sm-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-sm-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-sm-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Columnas responsive - Medium (≥768px) */
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-md-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-md-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-md-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-md-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-md-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-md-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-md-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-md-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-md-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-md-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Columnas responsive - Large (≥992px) */
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-lg-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-lg-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-lg-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-lg-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-lg-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-lg-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Columnas responsive - Extra Large (≥1200px) */
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }
  .col-xl-2 {
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }
  .col-xl-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }
  .col-xl-5 {
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }
  .col-xl-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
  .col-xl-8 {
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }
  .col-xl-9 {
    flex: 0 0 75%;
    max-width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }
  .col-xl-11 {
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }
  .col-xl-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Grid utilities */
.grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-24);
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-24);
}

.grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--spacing-24);
}

@media screen and (max-width: 767px) {
  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .grid-3,
  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* Flex utilities */
.flex {
  display: flex;
}

.flex-column {
  display: flex;
  flex-direction: column;
}

.flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.place-center {
  place-content: center;
}

/* Gap */
.gap-0 {
  gap: 0;
}

.gap-16 {
  gap: var(--spacing-16);
}

.gap-32 {
  gap: var(--spacing-32);
}

/**
 * UdeC Design System - WordPress Utilities
 *
 * Clases utilitarias generadas automáticamente por WordPress desde theme.json.
 * Estas clases replican el comportamiento del editor de bloques de WordPress
 * para mantener compatibilidad total entre el CMS y la librería estática.
 *
 * Basado en:
 * - settings.color.palette -> has-{slug}-background-color, has-{slug}-color
 * - settings.typography.fontSizes -> has-{slug}-font-size
 * - settings.spacing.spacingSizes -> Variables --wp--preset--spacing--{slug}
 *
 * Dependencias: variables.css
 *
 * @package UdeC Frontend Library
 * @version 1.0.0
 */
/* ==========================================================================
   Background Colors - has-{slug}-background-color
   Desde settings.color.palette en theme.json
   ========================================================================== */
/* Primary Blue */
.has-blue-50-background-color {
  background-color: var(--color-primary-blue-50) !important;
}

.has-blue-100-background-color {
  background-color: var(--color-primary-blue-100) !important;
}

.has-blue-300-background-color {
  background-color: var(--color-primary-blue-300) !important;
}

.has-blue-500-background-color {
  background-color: var(--color-primary-blue-500) !important;
}

.has-blue-700-background-color {
  background-color: var(--color-primary-blue-700) !important;
}

.has-blue-900-background-color {
  background-color: var(--color-primary-blue-900) !important;
}

/* Neutral Gray */
.has-gray-50-background-color {
  background-color: var(--color-neutral-gray-50) !important;
}

.has-gray-400-background-color {
  background-color: var(--color-neutral-gray-400) !important;
}

.has-gray-700-background-color {
  background-color: var(--color-neutral-gray-700) !important;
}

.has-gray-800-background-color {
  background-color: var(--color-neutral-gray-800) !important;
}

/* Primary Yellow */
.has-yellow-300-background-color {
  background-color: var(--color-primary-yellow-300) !important;
}

.has-yellow-500-background-color {
  background-color: var(--color-primary-yellow-500) !important;
}

/* White */
.has-white-background-color {
  background-color: var(--color-neutral-white-0) !important;
}

/* Category Colors */
.has-category-culture-background-color {
  background-color: var(--color-category-culture) !important;
}

.has-category-health-environment-background-color {
  background-color: var(--color-category-health-environment) !important;
}

.has-category-science-technology-background-color {
  background-color: var(--color-category-science-technology) !important;
}

.has-category-humanities-society-background-color {
  background-color: var(--color-category-humanities-society) !important;
}

.has-category-university-background-color {
  background-color: var(--color-category-university) !important;
}

.has-category-sport-background-color {
  background-color: var(--color-category-sport) !important;
}

.has-category-academic-activities-background-color {
  background-color: var(--color-category-academic-activities) !important;
}

/* ==========================================================================
   Text Colors - has-{slug}-color
   Desde settings.color.palette en theme.json
   ========================================================================== */
/* Primary Blue */
.has-blue-50-color {
  color: var(--color-primary-blue-50) !important;
}

.has-blue-100-color {
  color: var(--color-primary-blue-100) !important;
}

.has-blue-300-color {
  color: var(--color-primary-blue-300) !important;
}

.has-blue-500-color {
  color: var(--color-primary-blue-500) !important;
}

.has-blue-700-color {
  color: var(--color-primary-blue-700) !important;
}

.has-blue-900-color {
  color: var(--color-primary-blue-900) !important;
}

/* Neutral Gray */
.has-gray-50-color {
  color: var(--color-neutral-gray-50) !important;
}

.has-gray-400-color {
  color: var(--color-neutral-gray-400) !important;
}

.has-gray-700-color {
  color: var(--color-neutral-gray-700) !important;
}

.has-gray-800-color {
  color: var(--color-neutral-gray-800) !important;
}

/* Primary Yellow */
.has-yellow-300-color {
  color: var(--color-primary-yellow-300) !important;
}

.has-yellow-500-color {
  color: var(--color-primary-yellow-500) !important;
}

/* White */
.has-white-color {
  color: var(--color-neutral-white-0) !important;
}

/* Category Colors */
.has-category-culture-color {
  color: var(--color-category-culture) !important;
}

.has-category-health-environment-color {
  color: var(--color-category-health-environment) !important;
}

.has-category-science-technology-color {
  color: var(--color-category-science-technology) !important;
}

.has-category-humanities-society-color {
  color: var(--color-category-humanities-society) !important;
}

.has-category-university-color {
  color: var(--color-category-university) !important;
}

.has-category-sport-color {
  color: var(--color-category-sport) !important;
}

.has-category-academic-activities-color {
  color: var(--color-category-academic-activities) !important;
}

/* ==========================================================================
   Font Sizes - has-{slug}-font-size
   Desde settings.typography.fontSizes en theme.json
   ========================================================================== */
.has-hero-font-size {
  font-size: var(--font-size-hero) !important;
}

.has-4-xl-font-size {
  font-size: var(--font-size-4xl) !important;
}

.has-3-xl-font-size {
  font-size: var(--font-size-3xl) !important;
}

.has-2-xl-font-size {
  font-size: var(--font-size-2xl) !important;
}

.has-xl-font-size {
  font-size: var(--font-size-xl) !important;
}

.has-l-font-size {
  font-size: var(--font-size-l) !important;
}

.has-base-font-size {
  font-size: var(--font-size-base) !important;
}

.has-m-font-size {
  font-size: var(--font-size-m) !important;
}

.has-s-font-size {
  font-size: var(--font-size-s) !important;
}

.has-xs-font-size {
  font-size: var(--font-size-xs) !important;
}

/* ==========================================================================
   WordPress Spacing Variables
   Desde settings.spacing.spacingSizes en theme.json
   Estas variables se usan con inline styles en WordPress
   ========================================================================== */
:root {
  --wp--preset--spacing--0: var(--spacing-0);
  --wp--preset--spacing--4: var(--spacing-4);
  --wp--preset--spacing--8: var(--spacing-8);
  --wp--preset--spacing--12: var(--spacing-12);
  --wp--preset--spacing--16: var(--spacing-16);
  --wp--preset--spacing--20: var(--spacing-20);
  --wp--preset--spacing--24: var(--spacing-24);
  --wp--preset--spacing--28: var(--spacing-28);
  --wp--preset--spacing--32: var(--spacing-32);
  --wp--preset--spacing--36: var(--spacing-36);
  --wp--preset--spacing--40: var(--spacing-40);
  --wp--preset--spacing--44: var(--spacing-44);
  --wp--preset--spacing--48: var(--spacing-48);
  --wp--preset--spacing--60: var(--spacing-60);
  --wp--preset--spacing--64: var(--spacing-64);
  --wp--preset--spacing--80: var(--spacing-80);
  --wp--preset--spacing--100: var(--spacing-100);
  --wp--preset--spacing--160: var(--spacing-160);
}

/* ==========================================================================
   WordPress Font Family Variables
   ========================================================================== */
:root {
  --wp--preset--font-family--poppins: var(--font-family-heading);
  --wp--preset--font-family--roboto: var(--font-family-body);
}

/* ==========================================================================
   WordPress Font Size Variables
   ========================================================================== */
:root {
  --wp--preset--font-size--hero: var(--font-size-hero);
  --wp--preset--font-size--4-xl: var(--font-size-4xl);
  --wp--preset--font-size--3-xl: var(--font-size-3xl);
  --wp--preset--font-size--2-xl: var(--font-size-2xl);
  --wp--preset--font-size--xl: var(--font-size-xl);
  --wp--preset--font-size--l: var(--font-size-l);
  --wp--preset--font-size--base: var(--font-size-base);
  --wp--preset--font-size--m: var(--font-size-m);
  --wp--preset--font-size--s: var(--font-size-s);
  --wp--preset--font-size--xs: var(--font-size-xs);
}

/* ==========================================================================
   Helper Classes
   Clases auxiliares generadas por WordPress
   ========================================================================== */
.has-text-color {
  color: var(--color-text-default) !important;
}

.has-background {
  background-color: var(--color-background-surface) !important;
}

.has-link-color a {
  color: var(--color-link-default) !important;
}

/* Text Alignment */
.has-text-align-left {
  text-align: left !important;
}

.has-text-align-center {
  text-align: center !important;
}

.has-text-align-right {
  text-align: right !important;
}

/* ==========================================================================
   WordPress Custom Properties
   Propiedades personalizadas usadas en theme.json
   ========================================================================== */
:root {
  --wp--custom--spacing--component-gap: var(--spacing-component-gap);
  --wp--custom--spacing--container-padding: var(--spacing-container-padding);
  --wp--custom--spacing--section-padding: var(--spacing-section-padding);
}

/* Colores de textos */
.text-neutral-gray-100 {
  color: var(--color-neutral-gray-100);
}

.text-neutral-gray-200 {
  color: var(--color-neutral-gray-200);
}

.text-neutral-gray-300 {
  color: var(--color-neutral-gray-300);
}

.text-neutral-gray-400 {
  color: var(--color-neutral-gray-400);
}

.text-neutral-gray-50 {
  color: var(--color-neutral-gray-50);
}

.text-neutral-gray-500 {
  color: var(--color-neutral-gray-500);
}

.text-neutral-gray-600 {
  color: var(--color-neutral-gray-600);
}

.text-neutral-gray-700 {
  color: var(--color-neutral-gray-700);
}

.text-neutral-gray-800 {
  color: var(--color-neutral-gray-800);
}

.text-neutral-gray-900 {
  color: var(--color-neutral-gray-900);
}

.text-neutral-white-0 {
  color: var(--color-neutral-white-0);
}

.text-primary-blue-100 {
  color: var(--color-primary-blue-100);
}

.text-primary-blue-200 {
  color: var(--color-primary-blue-200);
}

.text-primary-blue-300 {
  color: var(--color-primary-blue-300);
}

.text-primary-blue-400 {
  color: var(--color-primary-blue-400);
}

.text-primary-blue-50 {
  color: var(--color-primary-blue-50);
}

.text-primary-blue-500 {
  color: var(--color-primary-blue-500);
}

.text-primary-blue-600 {
  color: var(--color-primary-blue-600);
}

.text-primary-blue-700 {
  color: var(--color-primary-blue-700);
}

.text-primary-blue-800 {
  color: var(--color-primary-blue-800);
}

.text-primary-blue-900 {
  color: var(--color-primary-blue-900);
}

.text-primary-yellow-100 {
  color: var(--color-primary-yellow-100);
}

.text-primary-yellow-200 {
  color: var(--color-primary-yellow-200);
}

.text-primary-yellow-300 {
  color: var(--color-primary-yellow-300);
}

.text-primary-yellow-400 {
  color: var(--color-primary-yellow-400);
}

.text-primary-yellow-50 {
  color: var(--color-primary-yellow-50);
}

.text-primary-yellow-500 {
  color: var(--color-primary-yellow-500);
}

.text-primary-yellow-600 {
  color: var(--color-primary-yellow-600);
}

.text-primary-yellow-700 {
  color: var(--color-primary-yellow-700);
}

.text-primary-yellow-800 {
  color: var(--color-primary-yellow-800);
}

.text-primary-yellow-900 {
  color: var(--color-primary-yellow-900);
}

.text-secondary-red-100 {
  color: var(--color-secondary-red-100);
}

.text-secondary-red-200 {
  color: var(--color-secondary-red-200);
}

.text-secondary-red-300 {
  color: var(--color-secondary-red-300);
}

.text-secondary-red-400 {
  color: var(--color-secondary-red-400);
}

.text-secondary-red-50 {
  color: var(--color-secondary-red-50);
}

.text-secondary-red-500 {
  color: var(--color-secondary-red-500);
}

.text-secondary-red-600 {
  color: var(--color-secondary-red-600);
}

.text-secondary-red-700 {
  color: var(--color-secondary-red-700);
}

.text-secondary-red-800 {
  color: var(--color-secondary-red-800);
}

.text-secondary-red-900 {
  color: var(--color-secondary-red-900);
}

/* Colores de fondos */
.bg-neutral-gray-100 {
  background-color: var(--color-neutral-gray-100);
}

.bg-neutral-gray-200 {
  background-color: var(--color-neutral-gray-200);
}

.bg-neutral-gray-300 {
  background-color: var(--color-neutral-gray-300);
}

.bg-neutral-gray-400 {
  background-color: var(--color-neutral-gray-400);
}

.bg-neutral-gray-50 {
  background-color: var(--color-neutral-gray-50);
}

.bg-neutral-gray-500 {
  background-color: var(--color-neutral-gray-500);
}

.bg-neutral-gray-600 {
  background-color: var(--color-neutral-gray-600);
}

.bg-neutral-gray-700 {
  background-color: var(--color-neutral-gray-700);
}

.bg-neutral-gray-800 {
  background-color: var(--color-neutral-gray-800);
}

.bg-neutral-gray-900 {
  background-color: var(--color-neutral-gray-900);
}

.bg-neutral-white-0 {
  background-color: var(--color-neutral-white-0);
}

.bg-primary-blue-100 {
  background-color: var(--color-primary-blue-100);
}

.bg-primary-blue-200 {
  background-color: var(--color-primary-blue-200);
}

.bg-primary-blue-300 {
  background-color: var(--color-primary-blue-300);
}

.bg-primary-blue-400 {
  background-color: var(--color-primary-blue-400);
}

.bg-primary-blue-50 {
  background-color: var(--color-primary-blue-50);
}

.bg-primary-blue-500 {
  background-color: var(--color-primary-blue-500);
}

.bg-primary-blue-600 {
  background-color: var(--color-primary-blue-600);
}

.bg-primary-blue-700 {
  background-color: var(--color-primary-blue-700);
}

.bg-primary-blue-800 {
  background-color: var(--color-primary-blue-800);
}

.bg-primary-blue-900 {
  background-color: var(--color-primary-blue-900);
}

.bg-primary-yellow-100 {
  background-color: var(--color-primary-yellow-100);
}

.bg-primary-yellow-200 {
  background-color: var(--color-primary-yellow-200);
}

.bg-primary-yellow-300 {
  background-color: var(--color-primary-yellow-300);
}

.bg-primary-yellow-400 {
  background-color: var(--color-primary-yellow-400);
}

.bg-primary-yellow-50 {
  background-color: var(--color-primary-yellow-50);
}

.bg-primary-yellow-500 {
  background-color: var(--color-primary-yellow-500);
}

.bg-primary-yellow-600 {
  background-color: var(--color-primary-yellow-600);
}

.bg-primary-yellow-700 {
  background-color: var(--color-primary-yellow-700);
}

.bg-primary-yellow-800 {
  background-color: var(--color-primary-yellow-800);
}

.bg-primary-yellow-900 {
  background-color: var(--color-primary-yellow-900);
}

.bg-secondary-red-100 {
  background-color: var(--color-secondary-red-100);
}

.bg-secondary-red-200 {
  background-color: var(--color-secondary-red-200);
}

.bg-secondary-red-300 {
  background-color: var(--color-secondary-red-300);
}

.bg-secondary-red-400 {
  background-color: var(--color-secondary-red-400);
}

.bg-secondary-red-50 {
  background-color: var(--color-secondary-red-50);
}

.bg-secondary-red-500 {
  background-color: var(--color-secondary-red-500);
}

.bg-secondary-red-600 {
  background-color: var(--color-secondary-red-600);
}

.bg-secondary-red-700 {
  background-color: var(--color-secondary-red-700);
}

.bg-secondary-red-800 {
  background-color: var(--color-secondary-red-800);
}

.bg-secondary-red-900 {
  background-color: var(--color-secondary-red-900);
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWRlYy1zdHlsZXMuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBLGdCQUFnQjtBQUFoQjs7Ozs7Ozs7RUFBQTtBQVVBO0FDVkE7Ozs7Ozs7O0VBQUE7QUFVQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRFdEO0FDUkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEVUQ7QUNQQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRFNEO0FDTkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEUUQ7QUNMQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRE9EO0FDSkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FETUQ7QUNIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREtEO0FDRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FESUQ7QUNEQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREdEO0FDQUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FERUQ7QUFqRkE7QUViQTs7Ozs7Ozs7RUFBQTtBQVVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRmdHRDs7QUU3RkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZnR0Q7O0FFN0ZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUZnR0Q7O0FFN0ZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBRitGRDtBRTlGQztFQXpERDtJQTBERTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUZpR0E7QUFDRjtBRXpMQTtFQTBGQztFQUNBO0FGa0dEO0FFakdDO0VBNUZEO0lBNkZFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFRm9HQTtBQUNGOztBRWpHQTtBQUNBO0VBQ0M7RUFDQTtBRm9HRDs7QUc1WUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FINFlEOztBQXhaQTtBSWpCQTs7Ozs7OztFQUFBO0FBU0E7QUFDQTs7O0VBR0M7QUo0YUQ7O0FJemFBO0FBQ0E7RUFDQztFQUNBO0FKNGFEOztBSXphQTtBQUNBOztFQUVDO0FKNGFEOztBSXphQTtFQUNDO0VBQ0E7RUFDQTtBSjRhRDs7QUl6YUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FKNGFEOztBSXphQTtBQUNBOzs7OztFQUtDO0VBQ0E7RUFDQTtFQUNBO0FKNGFEOztBSXphQTtBQUNBOzs7O0VBSUM7QUo0YUQ7O0FJemFBO0VBQ0M7RUFDQTtFQUNBO0FKNGFEOztBSXphQTtBQUNBOzs7Ozs7O0VBT0M7QUo0YUQ7O0FJemFBO0VBQ0M7RUFDQTtBSjRhRDs7QUl6YUE7QUFDQTs7RUFFQztBSjRhRDs7QUl6YUE7QUFDQTtFQUNDO0VBQ0E7QUo0YUQ7O0FJemFBO0FBQ0E7Ozs7RUFJQztFQUNBO0FKNGFEOztBSXphQTtBQUNBOzs7RUFHQztFQUNBO0VBQ0E7QUo0YUQ7O0FJemFBO0FBQ0E7O0VBRUM7RUFDQTtBSjRhRDs7QUl6YUE7QUFDQTs7RUFFQztFQUNBO0VBQ0E7QUo0YUQ7O0FJemFBO0FBQ0E7RUFFQzs7O0lBR0M7SUFDQTtJQUNBO0lBQ0E7RUoyYUE7QUFDRjtBQWxpQkE7QUtwQkE7Ozs7Ozs7O0VBQUE7QUFVQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMd2pCRDs7QUtyakJBO0FBQ0E7Ozs7OztFQU1DO0VBQ0E7RUFDQTtBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7RUFDQTtBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7RUFDQTtBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7RUFDQztFQUNBO0FMd2pCRDs7QUtyakJBO0VBQ0M7RUFDQTtBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7Ozs7Ozs7O0VBUUM7QUx3akJEOztBS3JqQkE7QUFDQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7QUFDQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7RUFDQztFQUNBO0FMd2pCRDs7QUtyakJBO0VBQ0M7RUFDQTtBTHdqQkQ7O0FLcmpCQTtFQUNDO0FMd2pCRDs7QUtyakJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMd2pCRDs7QUtyakJBO0FBQ0E7O0VBRUM7QUx3akJEOztBS3JqQkE7O0VBRUM7QUx3akJEOztBS3JqQkE7RUFDQztBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7RUFDQTtBTHdqQkQ7O0FLcmpCQTs7OztFQUlDO0VBQ0E7QUx3akJEOztBS3JqQkE7RUFDQztFQUNBO0VBQ0E7QUx3akJEOztBS3JqQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7QUFDQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7RUFDQztFQUNBO0FMd2pCRDs7QUtyakJBO0VBQ0M7QUx3akJEOztBS3JqQkE7RUFDQztBTHdqQkQ7O0FLcmpCQTtFQUNDO0FMd2pCRDs7QUtyakJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QUx3akJEOztBS3JqQkE7RUFDQztFQUNBO0FMd2pCRDs7QUtyakJBO0VBQ0M7QUx3akJEOztBS3JqQkE7RUFDQztBTHdqQkQ7O0FLcmpCQTtFQUNDO0FMd2pCRDs7QUtyakJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QUx3akJEOztBS3JqQkE7QUFDQTtFQUNDO0FMd2pCRDs7QUtyakJBO0VBQ0M7RUFDQTtFQUNBO0FMd2pCRDs7QUtyakJBO0FBQ0E7RUFDQztBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7QUx3akJEOztBS3JqQkE7O0VBRUM7RUFDQTtBTHdqQkQ7O0FLcmpCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMd2pCRDs7QUtyakJBO0FBQ0E7RUFDQztBTHdqQkQ7O0FLcmpCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHdqQkQ7O0FLcmpCQTtBQUNBO0VBQ0M7RUFDQTtBTHdqQkQ7O0FLcmpCQTtBQUNBO0VBQ0M7RUFDQTtBTHdqQkQ7O0FNaDFCQTs7Ozs7Ozs7OztFQUFBO0FBWUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FOazFCRDs7QU0vMEJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTmsxQkQ7O0FNLzBCQTtFQUNDO0FOazFCRDs7QU0vMEJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5rMUJEOztBTS8wQkE7RUFDQztBTmsxQkQ7O0FNLzBCQTtFQUNDO0VBQ0E7QU5rMUJEOztBTS8wQkE7RUFDQztFQUNBO0VBQ0E7QU5rMUJEOztBTS8wQkE7QUFDQTtFQUNDO0VBQ0E7QU5rMUJEOztBTS8wQkE7QUFDQTtFQUNDO0VBQ0E7QU5rMUJEOztBTS8wQkE7RUFDQztBTmsxQkQ7O0FNLzBCQTtFQUNDO0FOazFCRDs7QU0vMEJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTmsxQkQ7O0FNLzBCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmsxQkQ7O0FNLzBCQTtFQUNDO0VBQ0E7RUFDQTtBTmsxQkQ7O0FNLzBCQTtFQUNDO0FOazFCRDs7QU0vMEJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7QU5rMUJEOztBTS8wQkE7RUFDQztBTmsxQkQ7O0FNLzBCQTtFQUNDO0FOazFCRDs7QU0vMEJBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTmsxQkQ7O0FNLzBCQTtFQUNDO0FOazFCRDs7QU0vMEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QU5rMUJEOztBTS8wQkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FOazFCRDs7QU0vMEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOazFCRDs7QU0vMEJBO0VBQ0M7RUFDQTtBTmsxQkQ7O0FNLzBCQTtFQUNDO0VBQ0E7QU5rMUJEOztBTS8wQkE7RUFDQztBTmsxQkQ7O0FNLzBCQTtFQUNDO0VBQ0E7RUFDQTtBTmsxQkQ7O0FNLzBCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FOazFCRDs7QU0vMEJBO0FBQ0E7RUFDQztJQUNDO0VOazFCQTtFTS8wQkQ7SUFDQztFTmkxQkE7QUFDRjtBTzloQ0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBUGdpQ0Q7O0FPN2hDQTs7RUFFQztFQUNBO0VBQ0E7QVBnaUNEOztBTzdoQ0E7RUFDQztFQUNBO0FQZ2lDRDs7QU83aENBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQZ2lDRDs7QUFoaUNBO0FRekJBOzs7Ozs7Ozs7RUFBQTtBQVlBO0FBQ0E7RUFDQztFQUNBO0FSMmpDRDs7QVF4akNBO0FBQ0E7RUFDQztBUjJqQ0Q7O0FReGpDQTtBQUVBOzs7Ozs7Ozs7O0VBVUM7QVIwakNEOztBUzdsQ0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGdtQ0Q7O0FTN2xDQTtFQUNDO0lBQ0M7SUFDQTtFVGdtQ0E7QUFDRjtBUzdsQ0E7RUFDQztJQUNDO0lBQ0E7RVQrbENBO0FBQ0Y7QVM1bENBO0VBQ0M7SUFDQztJQUNBO0VUOGxDQTtBQUNGO0FTM2xDQTtFQUNDO0lBQ0M7SUFDQTtFVDZsQ0E7QUFDRjtBUzFsQ0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FUNGxDRDs7QVN6bENBO0VBQ0M7SUFDQztJQUNBO0VUNGxDQTtBQUNGO0FTemxDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FUMmxDRDs7QVN4bENBO0VBQ0M7RUFDQTtFQUNBO0FUMmxDRDs7QVUxcENBOzs7Ozs7Ozs7RUFBQTtBQVdBO0VBQ0M7RUFDQTtBVjRwQ0Q7QVUxcENDO0VBSkQ7SUFLRTtFVjZwQ0E7QUFDRjtBVTNwQ0M7RUFDQztFQUNBLHVIQUNDO0VBSUQ7QVZ5cENGO0FVdnBDRTtFQVREO0lBVUU7SUFDQTtFVjBwQ0Q7QUFDRjtBVXhwQ0U7RUFkRDtJQWVFLDZEQUNDO0lBRUQ7RVZ5cENEO0FBQ0Y7QVV0cENDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVZ3cENGO0FVcnBDQztFQUNDO0VBQ0E7QVZ1cENGO0FVcnBDRTtFQUNDO0FWdXBDSDtBVW5wQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnFwQ0Y7QVVucENFO0VBQ0M7QVZxcENIO0FVanBDRTtFQWREO0lBZUU7RVZvcENEO0FBQ0Y7QVVqcENDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWbXBDRjtBVWpwQ0U7RUFYRDtJQVlFO0VWb3BDRDtBQUNGO0FVbHBDRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZvcENIO0FVanBDRTtFQUNDO0FWbXBDSDtBVWhwQ0U7RUFDQztFQUNBO0FWa3BDSDtBVS9vQ0U7RUFDQztBVmlwQ0g7QVU3b0NDO0VBQ0M7RUFDQTtBVitvQ0Y7QVU3b0NFO0VBSkQ7SUFLRTtJQUNBO0VWZ3BDRDtBQUNGO0FVOW9DRTtFQVREO0lBVUU7SUFDQTtJQUNBO0lBQ0E7RVZpcENEO0FBQ0Y7QVUvb0NFO0VBQ0M7QVZpcENIO0FVL29DRztFQUNDO0FWaXBDSjtBVS9vQ0k7RUFDQztBVmlwQ0w7QVU3b0NHO0VBQ0M7RUFDQTtFQUNBO0FWK29DSjtBVTVvQ0c7RUFDQztJQUNDO0VWOG9DSDtBQUNGO0FVem9DQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjJvQ0Y7QVV6b0NFO0VBUkQ7SUFTRTtJQUNBO0VWNG9DRDtBQUNGO0FVMW9DRTtFQWJEO0lBY0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVY2b0NEO0FBQ0Y7QVUzb0NFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjZvQ0g7QVUzb0NHO0VBQ0M7QVY2b0NKO0FVMW9DRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVY0b0NKO0FVem9DRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjJvQ0o7QVV6b0NJO0VBQ0M7RUFDQTtFQUNBO0FWMm9DTDtBVXZvQ0c7RUFDQztFQUNBO0VBQ0E7RUFDQTtBVnlvQ0o7QVV0b0NHO0VBQ0M7RUFDQTtBVndvQ0o7QVVwb0NFO0VBQ0M7RUFDQTtFQUNBO0FWc29DSDtBVW5vQ0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWcW9DSDtBVWxvQ0U7RUFDQztFQUNBO0FWb29DSDtBVWxvQ0c7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVm9vQ0o7QVUvbkNDO0VBQ0M7RUFDQTtBVmlvQ0Y7QVU3bkNDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWK25DRjtBVTduQ0U7RUFYRDtJQVlFO0VWZ29DRDtBQUNGO0FVOW5DRTtFQWZEO0lBZ0JFO0VWaW9DRDtBQUNGO0FVL25DRTtFQUNDO0VBQ0E7QVZpb0NIO0FVOW5DRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWZ29DSDtBVTluQ0c7RUFURDtJQVVFO0lBQ0E7RVZpb0NGO0FBQ0Y7QVU5bkNFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmdvQ0g7QVU5bkNHO0VBUEQ7SUFRRTtFVmlvQ0Y7QUFDRjtBVTVuQ0k7OztFQUNDO0VBQ0E7QVZnb0NMO0FVNW5DRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjhuQ0o7QVU1bkNJO0VBUkQ7SUFTRTtJQUNBO0VWK25DSDtBQUNGO0FVN25DSTtFQWJEO0lBY0U7SUFDQTtFVmdvQ0g7QUFDRjtBVTluQ0k7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZnb0NMO0FVN25DSTtFQUVDO0VBQ0E7QVY4bkNMO0FVMW5DRztFQUNDO0FWNG5DSjs7QVVybkNBO0VBR0c7SUFDQztJQUNBO0VWc25DRjtFVXBuQ0U7SUFDQztFVnNuQ0g7RVVubkNFO0lBQ0M7SUFDQTtFVnFuQ0g7RVUvbUNBO0lBQ0M7RVZpbkNEO0VVL21DQztJQUNDO0VWaW5DRjtFVTltQ0M7SUFDQztFVmduQ0Y7RVU3bUNDO0lBQ0M7SUFDQTtFVittQ0Y7RVUzbUNBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RVY2bUNEO0VVMW1DQTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0VWNG1DRDtFVTFtQ0M7SUFDQztFVjRtQ0Y7RVV4bUNBO0lBQ0M7RVYwbUNEO0VVeG1DQztJQUNDO0VWMG1DRjtFVXhtQ0U7SUFDQztFVjBtQ0g7RVVybUNBO0lBQ0M7SUFDQTtFVnVtQ0Q7RVVybUNDO0lBQ0M7SUFDQTtJQUNBO0VWdW1DRjtFVXJtQ0U7SUFDQztFVnVtQ0g7QUFDRjtBVy9pREE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQWtCQTs7aURBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FYK2lERDs7QVc1aURBO0VBQ0M7SUFDQztJQUNBO0VYK2lEQTtBQUNGO0FXNWlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg4aUREOztBVzNpREE7RUFDQztBWDhpREQ7O0FXM2lEQTtFQUNDO0FYOGlERDs7QVczaURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVg4aUREOztBVzNpREE7O2lEQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg2aUREOztBVzFpREE7RUFDQztJQUNDO0lBQ0E7RVg2aURBO0FBQ0Y7QVcxaURBO0VBQ0M7QVg0aUREOztBV3ppREE7RUFDQztFQUNBO0FYNGlERDs7QVd6aURBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVg0aUREOztBV3ppREE7O2lEQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7QVgyaUREOztBV3hpREE7RUFDQztJQUNDO0lBQ0E7RVgyaURBO0FBQ0Y7QVd4aURBOztpREFBQTtBQUlBO0VBQ0M7QVh5aUREOztBV3RpREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBWHlpREQ7O0FXdGlEQTtFQUNDO0VBQ0E7RUFDQTtBWHlpREQ7O0FXdGlEQTtFQUNDO0FYeWlERDs7QVd0aURBO0VBQ0M7SUFDQztJQUNBO0VYeWlEQTtBQUNGO0FZenJEQTs7Ozs7Ozs7O0VBQUE7QUFXQTtFQUNDO0VBQ0E7QVowckREOztBWXZyREE7RUFDQztJQUNDO0lBQ0E7RVowckRBO0FBQ0Y7QVl2ckRBO0VBQ0M7SUFDQztJQUNBO0VaeXJEQTtBQUNGO0FZdHJEQTtBQUNBO0VBQ0M7QVp3ckREOztBWXJyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0Fad3JERDs7QVlyckRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVp3ckREOztBWXJyREE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0Fad3JERDs7QVlyckRBO0VBQ0M7SUFDQztFWndyREE7QUFDRjtBWXJyREE7RUFDQztJQUNDO0VadXJEQTtBQUNGO0FZcHJEQTtFQUNDO0lBQ0M7SUFDQTtFWnNyREE7QUFDRjtBWW5yREE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBWnFyREQ7O0FZbHJEQTtFQUNDO0VBQ0E7QVpxckREOztBWWxyREE7QUFDQTtFQUNDO0FacXJERDs7QVlsckRBO0VBQ0M7SUFDQztFWnFyREE7QUFDRjtBWWxyREE7QUFDQTtFQUNDO0Fab3JERDs7QVlqckRBO0VBQ0M7SUFDQztFWm9yREE7QUFDRjtBWWpyREE7RUFDQztJQUNDO0VabXJEQTtBQUNGO0FBcndEQTtBYWhDQTs7Ozs7Ozs7O0VBQUE7QUFXQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnV5REQ7O0FhcHlEQTtFQUNDO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtBYnV5REQ7O0FhcHlEQTtFQUNDO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtFQUNBO0FidXlERDs7QWFweURBO0FBQ0E7RUFDQztFQUNBO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtBYnV5REQ7O0FhcHlEQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtBYnV5REQ7O0FhcHlEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtFQUNBO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtBYnV5REQ7O0FhcHlEQTtFQUNDO0VBQ0E7QWJ1eUREOztBYXB5REE7RUFDQztBYnV5REQ7O0FhcHlEQTtBQUNBO0VBQ0M7QWJ1eUREOztBYXB5REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FidXlERDs7QWFweURBO0VBQ0M7RUFDQTtFQUNBO0FidXlERDs7QWFweURBO0VBQ0M7QWJ1eUREOztBYXB5REE7QUFDQTtFQUNDO0FidXlERDs7QWFweURBO0VBQ0M7QWJ1eUREOztBYXB5REE7QUFDQTtFQUNDO0lBQ0M7RWJ1eURBO0VhcHlERDtJQUNDO0lBQ0E7RWJzeURBO0FBQ0Y7QWN2N0RBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3N0REOztBY3I3REE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWR3N0REOztBY3I3REE7QUFDQTtFQUNDO0FkdzdERDs7QWNyN0RBO0FBQ0E7RUFDQztBZHc3REQ7O0FjcjdEQTtFQUNDO0FkdzdERDs7QWNyN0RBO0VBQ0M7QWR3N0REOztBY3I3REE7RUFDQztBZHc3REQ7O0FjcjdEQTtFQUNDO0FkdzdERDs7QWNyN0RBO0VBQ0M7QWR3N0REOztBY3I3REE7RUFDQztBZHc3REQ7O0FjcjdEQTtBQUNBO0VBQ0M7SUFDQztFZHc3REE7QUFDRjtBZXBnRUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0Fmc2dFRDs7QWVuZ0VBO0VBQ0M7QWZzZ0VEOztBZ0IvZ0VBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCa2hFRDs7QWdCL2dFQTs7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQmtoRUQ7O0FnQi9nRUE7RUFDQztFQUNBO0FoQmtoRUQ7O0FnQi9nRUE7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QWhCa2hFRDs7QWdCL2dFQTs7RUFFQztFQUNBO0FoQmtoRUQ7O0FnQi9nRUE7RUFDQztBaEJraEVEOztBZ0IvZ0VBO0VBQ0M7QWhCa2hFRDs7QWlCaGtFQTtBQUNBO0VBQ0M7RUFDQTtBakJta0VEOztBaUJoa0VBO0VBQ0M7QWpCbWtFRDs7QWlCaGtFQTtFQUNDO0lBQ0M7RWpCbWtFQTtBQUNGO0FpQmhrRUE7RUFDQztFQUNBO0FqQmtrRUQ7O0FpQi9qRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJra0VEOztBaUIvakVBO0VBQ0M7QWpCa2tFRDs7QWlCL2pFQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0VqQmtrRUE7QUFDRjtBaUIvakVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQmlrRUQ7O0FpQjlqRUE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0VqQmlrRUE7QUFDRjtBaUI5akVBOztFQUVDO0VBQ0E7QWpCZ2tFRDs7QWlCN2pFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQmdrRUQ7O0FpQjdqRUE7RUFDQztFQUNBO0FqQmdrRUQ7O0FpQjdqRUE7RUFDQztBakJna0VEOztBaUI3akVBO0VBQ0M7RUFDQTtBakJna0VEOztBaUI3akVBO0VBQ0M7QWpCZ2tFRDs7QWlCN2pFQTtFQUNDO0FqQmdrRUQ7O0FpQjdqRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQmdrRUQ7O0FpQjdqRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqQmdrRUQ7O0FpQjdqRUE7RUFDQztBakJna0VEOztBa0Juc0VBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJzc0VEOztBa0Juc0VBO0VBQ0M7SUFDQztJQUNBO0VsQnNzRUE7QUFDRjtBa0Juc0VBO0VBQ0M7RUFDQTtBbEJxc0VEOztBa0Jsc0VBO0VBQ0M7QWxCcXNFRDs7QWtCbHNFQTtFQUNDO0lBQ0M7RWxCcXNFQTtBQUNGO0FrQmxzRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQm9zRUQ7O0FrQmpzRUE7RUFDQztJQUNDO0VsQm9zRUE7QUFDRjtBa0Jqc0VBOztFQUVDO0VBQ0E7RUFDQTtBbEJtc0VEOztBa0Joc0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWxCbXNFRDs7QWtCaHNFQTtFQUNDO0FsQm1zRUQ7O0FrQmhzRUE7RUFDQztFQUNBO0VBQ0E7QWxCbXNFRDs7QWtCaHNFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCbXNFRDs7QWtCaHNFQTtFQUNDO0FsQm1zRUQ7O0FrQmhzRUE7RUFDQztBbEJtc0VEOztBbUI3eEVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQmd5RUQ7O0FtQjd4RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBbkJneUVEOztBbUI3eEVBO0VBQ0M7RUFDQTtFQUNBO0FuQmd5RUQ7O0FtQjd4RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQmd5RUQ7O0FtQjd4RUE7QUFDQTtFQUNDO0FuQmd5RUQ7O0FtQjd4RUE7RUFDQztBbkJneUVEOztBbUI3eEVBO0VBQ0M7QW5CZ3lFRDs7QW1CN3hFQTtBQUNBO0VBQ0M7SUFDQztFbkJneUVBO0VtQjd4RUQ7SUFDQztFbkIreEVBO0FBQ0Y7QW9CcjFFQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnUxRUQ7O0FvQnAxRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJ1MUVEOztBb0JwMUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEJ1MUVEOztBb0JwMUVBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwQnUxRUQ7O0FvQnAxRUE7RUFDQztFQUNBO0VBQ0E7QXBCdTFFRDs7QW9CcDFFQTtFQUNDO0VBQ0E7QXBCdTFFRDs7QW9CcDFFQTtFQUNDO0FwQnUxRUQ7O0FvQnAxRUE7RUFDQztBcEJ1MUVEOztBb0JwMUVBO0VBQ0M7RUFDQTtBcEJ1MUVEOztBcUJoNkVBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtFQUNDO0VBQ0E7QXJCazZFRDs7QXFCLzVFQTtFQUNDO0lBQ0M7SUFDQTtFckJrNkVBO0FBQ0Y7QXFCLzVFQTtFQUNDO0lBQ0M7SUFDQTtFckJpNkVBO0FBQ0Y7QXFCOTVFQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCZzZFRDs7QXFCNzVFQTtFQUNDO0lBQ0M7RXJCZzZFQTtBQUNGO0FxQjc1RUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckIrNUVEOztBcUI1NUVBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQis1RUQ7O0FxQjU1RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCKzVFRDs7QXFCNTVFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FyQis1RUQ7O0FxQjU1RUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCKzVFRDs7QXFCNTVFQTtFQUNDO0lBQ0M7RXJCKzVFQTtBQUNGO0FxQjU1RUE7RUFDQztJQUNDO0VyQjg1RUE7QUFDRjtBcUIzNUVBO0VBQ0M7SUFDQztJQUNBO0VyQjY1RUE7QUFDRjtBcUIxNUVBO0FBQ0E7RUFDQztBckI0NUVEOztBcUJ6NUVBO0VBQ0M7QXJCNDVFRDs7QXNCMWhGQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUE7QUF1QkE7QUFDQTtBQUVBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEIwaEZEOztBc0J2aEZBO0VBQ0M7SUFDQztJQUNBO0V0QjBoRkE7QUFDRjtBc0J2aEZBOztpREFBQTtBQUlBO0VBQ0M7QXRCd2hGRDs7QXNCcmhGQTtBQUNBO0VBQ0M7QXRCd2hGRDs7QXNCcmhGQTtFQUNDO0VBQ0E7QXRCd2hGRDs7QXNCcmhGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0F0QndoRkQ7O0FzQnJoRkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QndoRkQ7O0FzQnJoRkE7O2lEQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJ1aEZEOztBc0JwaEZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0QnVoRkQ7O0FzQnBoRkE7RUFDQztBdEJ1aEZEOztBc0JwaEZBO0VBQ0M7RUFDQTtBdEJ1aEZEOztBc0JwaEZBO0VBQ0M7QXRCdWhGRDs7QXNCcGhGQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QXRCdWhGRDs7QXNCcGhGQTtFQUNDO0F0QnVoRkQ7O0FzQnBoRkE7RUFDQztBdEJ1aEZEOztBc0JwaEZBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJzaEZEOztBc0JuaEZBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCcWhGRDs7QXNCbGhGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRCcWhGRDs7QXNCbGhGQTtFQUNDO0F0QnFoRkQ7O0FzQmxoRkE7RUFDQztBdEJxaEZEOztBc0JsaEZBOztpREFBQTtBQUlBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEJvaEZEOztBc0JqaEZBO0VBQ0M7RUFDQTtBdEJvaEZEOztBc0JqaEZBOztpREFBQTtBQUlBO0FBQ0E7RUFDQztBdEJtaEZEOztBc0JoaEZBO0VBQ0M7RUFDQTtFQUNBO0F0Qm1oRkQ7O0FzQmhoRkE7O2lEQUFBO0FBSUE7Ozs7OztFQU1DO0F0QmtoRkQ7O0FzQi9nRkE7RUFDQztFQUNBO0F0QmtoRkQ7O0F1Qnp2RkE7O2lEQUFBO0FBSUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCMnZGRDs7QXVCeHZGQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RXZCMnZGQTtBQUNGO0F1Qnh2RkE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0F2QjB2RkQ7O0F1QnZ2RkE7RUFDQztJQUNDO0lBQ0E7RXZCMHZGQTtBQUNGO0F1QnZ2RkE7RUFDQztJQUNDO0lBQ0E7SUFDQTtFdkJ5dkZBO0FBQ0Y7QXVCdHZGQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCd3ZGRDs7QXVCcnZGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0F2Qnd2RkQ7O0F1QnJ2RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Qnd2RkQ7O0F1QnJ2RkE7QUFDQTtFQUNDO0VBQ0E7QXZCd3ZGRDs7QXVCcnZGQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0V2Qnd2RkE7QUFDRjtBdUJydkZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ1dkZEOztBdUJwdkZBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnV2RkQ7O0F1QnB2RkE7RUFDQztFQUNBO0VBQ0E7QXZCdXZGRDs7QUF6ekZBO0F3QjdDQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEIwMkZEOztBd0J2MkZBO0VBQ0M7QXhCMDJGRDs7QXdCdjJGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEIwMkZEOztBd0J2MkZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QjAyRkQ7O0F3QnYyRkE7RUFDQztBeEIwMkZEOztBd0J2MkZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCMDJGRDs7QXdCdjJGQTs7O0VBR0M7RUFDQTtBeEIwMkZEOztBd0J2MkZBOzs7Ozs7O0VBT0M7RUFDQTtBeEIwMkZEOztBd0J2MkZBO0VBQ0M7RUFDQTtBeEIwMkZEOztBd0J2MkZBOzs7RUFHQztFQUNBO0VBQ0E7RUFDQTtBeEIwMkZEOztBd0J2MkZBOzs7RUFHQztBeEIwMkZEOztBd0J2MkZBOzs7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QjAyRkQ7O0F3QnYyRkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QjAyRkQ7O0F3QnYyRkE7RUFDQztBeEIwMkZEOztBd0J2MkZBO0VBQ0M7QXhCMDJGRDs7QXdCdjJGQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhCMDJGQTtFd0J2MkZEO0lBQ0M7RXhCeTJGQTtFd0J0MkZEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFeEJ3MkZBO0V3QnIyRkQ7SUFDQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXhCdTJGQTtFd0JwMkZEO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7RXhCczJGQTtFd0JuMkZEO0lBQ0M7SUFDQTtJQUNBO0V4QnEyRkE7RXdCbDJGRDtJQUNDO0V4Qm8yRkE7QUFDRjtBQS85RkE7QXlCaERBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpCaWhHRDs7QXlCOWdHQTtFQUNDO0lBQ0M7RXpCaWhHQTtBQUNGO0F5QjlnR0E7QUFDQTtFQUNDO0VBQ0E7QXpCZ2hHRDs7QXlCN2dHQTtBQUNBO0VBQ0M7QXpCZ2hHRDs7QXlCN2dHQTtBQUNBO0VBQ0M7QXpCZ2hHRDs7QXlCN2dHQTtFQUNDO0lBQ0M7RXpCZ2hHQTtBQUNGO0F5QjdnR0E7QUFDQTtFQUNDO0F6QitnR0Q7O0F5QjVnR0E7RUFDQztJQUNDO0V6QitnR0E7QUFDRjtBeUI1Z0dBO0VBQ0M7SUFDQztFekI4Z0dBO0FBQ0Y7QXlCM2dHQTtBQUNBO0VBQ0M7QXpCNmdHRDs7QXlCMWdHQTtFQUNDO0lBQ0M7RXpCNmdHQTtBQUNGO0F5QjFnR0E7QUFDQTtFQUNDO0VBQ0E7QXpCNGdHRDs7QXlCemdHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0F6QjRnR0Q7O0F5QnpnR0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBekI0Z0dEOztBeUJ6Z0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBekI0Z0dEOztBeUJ6Z0dBO0VBQ0M7RUFDQTtFQUNBO0F6QjRnR0Q7O0F5QnpnR0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBekI0Z0dEOztBMEI5bkdBOzs7Ozs7Ozs7RUFBQTtBQVdBO0FBQ0E7RUFDQztFQUNBO0ExQmdvR0Q7O0EwQjduR0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUJnb0dEOztBMEI3bkdBO0VBQ0M7QTFCZ29HRDs7QTBCN25HQTtFQUNDO0ExQmdvR0Q7O0EwQjduR0E7QUFDQTtFQUNDO0VBQ0E7QTFCZ29HRDs7QTBCN25HQTtFQUNDO0ExQmdvR0Q7O0EwQjduR0E7QUFDQTtFQUNDO0VBQ0E7QTFCZ29HRDs7QTBCN25HQTs7O0VBR0M7QTFCZ29HRDs7QTBCN25HQTtFQUNDO0ExQmdvR0Q7O0EwQjduR0E7RUFDQztBMUJnb0dEOztBMEI3bkdBO0VBQ0M7QTFCZ29HRDs7QTBCN25HQTtFQUNDO0ExQmdvR0Q7O0EwQjduR0E7RUFDQztBMUJnb0dEOztBMkI3c0dBOzs7Ozs7Ozs7RUFBQTtBQVdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Irc0dEOztBMkI1c0dBO0VBQ0M7RUFDQTtFQUNBO0EzQitzR0Q7O0EyQjVzR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBM0Irc0dEOztBMkI1c0dBO0VBQ0M7SUFDQztFM0Irc0dBO0FBQ0Y7QTJCNXNHQTtFQUNDO0EzQjhzR0Q7O0EyQjNzR0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBM0I4c0dEOztBMkIzc0dBO0VBQ0M7SUFDQztFM0I4c0dBO0FBQ0Y7QTJCM3NHQTtFQUNDO0VBQ0E7RUFDQTtBM0I2c0dEOztBMkIxc0dBO0VBQ0M7RUFDQTtFQUNBO0EzQjZzR0Q7O0EyQjFzR0E7RUFDQztFQUNBO0VBQ0E7QTNCNnNHRDs7QTJCMXNHQTtFQUNDO0VBQ0E7QTNCNnNHRDs7QTJCMXNHQTtBQUNBO0VBQ0M7QTNCNnNHRDs7QTJCMXNHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQjZzR0Q7O0EyQjFzR0E7QUFDQTtFQUNDO0VBQ0E7QTNCNnNHRDs7QTJCMXNHQTtFQUNDO0VBQ0E7QTNCNnNHRDs7QTRCbHpHQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBNUJvekdEOztBNEJqekdBO0FBQ0E7O0VBRUM7RUFDQTtFQUNBO0E1Qm96R0Q7O0E0Qmp6R0E7O0VBRUM7RUFDQTtFQUNBO0VBQ0E7QTVCb3pHRDs7QTRCanpHQTtBQUNBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qm96R0Q7O0E0Qmp6R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJvekdEOztBNEJqekdBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCb3pHRDs7QTRCanpHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0E1Qm96R0Q7O0E0Qmp6R0E7RUFDQztFQUNBO0VBQ0E7QTVCb3pHRDs7QTRCanpHQTtBQUNBO0VBRUM7O0lBRUM7RTVCbXpHQTtBQUNGO0E0Qmh6R0E7RUFFQzs7SUFFQztFNUJpekdBO0FBQ0Y7QTRCOXlHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0E1Qmd6R0Q7O0E0Qjd5R0E7RUFDQztJQUNDO0lBQ0E7RTVCZ3pHQTtBQUNGO0E0Qjd5R0E7RUFDQztJQUNDO0U1Qit5R0E7QUFDRjtBNEI1eUdBO0VBQ0M7SUFDQztJQUNBO0U1Qjh5R0E7RTRCM3lHRDtJQUNDO0U1QjZ5R0E7QUFDRjtBNEIxeUdBO0VBQ0M7SUFDQztJQUNBO0U1QjR5R0E7QUFDRjtBNkJuN0dBOzs7Ozs7Ozs7O0VBQUE7QUFZQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCbzdHRDs7QTZCajdHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTdCbzdHRDs7QTZCajdHQTtBQUNBOztFQUVDO0VBQ0E7RUFDQTtBN0JvN0dEOztBNkJqN0dBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0E3Qm83R0Q7O0E2Qmo3R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JvN0dEOztBNkJqN0dBO0FBQ0E7RUFDQztFQUNBO0E3Qm83R0Q7O0E2Qmo3R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0E3Qm83R0Q7O0E2Qmo3R0E7RUFDQztFQUNBO0E3Qm83R0Q7O0E2Qmo3R0E7RUFDQztFQUNBO0VBQ0E7QTdCbzdHRDs7QTZCajdHQTtFQUNDO0E3Qm83R0Q7O0E2Qmo3R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtBN0JvN0dEOztBNkJqN0dBO0VBQ0M7QTdCbzdHRDs7QTZCajdHQTtFQUNDO0E3Qm83R0Q7O0E2Qmo3R0E7QUFDQTtFQUNDO0E3Qm83R0Q7O0E2Qmo3R0E7RUFDQztFQUNBO0E3Qm83R0Q7O0E2Qmo3R0E7RUFDQztFQUNBO0VBQ0E7QTdCbzdHRDs7QTZCajdHQTtFQUNDO0E3Qm83R0Q7O0E2Qmo3R0E7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qm83R0Q7O0E2Qmo3R0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCbzdHRDs7QTZCajdHQTs7RUFFQztBN0JvN0dEOztBNkJqN0dBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCbzdHRDs7QTZCajdHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0JvN0dEOztBNkJqN0dBO0FBQ0E7RUFDQztBN0JvN0dEOztBNkJqN0dBO0FBQ0E7RUFDQztJQUNDO0U3Qm83R0E7QUFDRjtBNkJqN0dBO0VBQ0M7SUFDQztFN0JtN0dBO0FBQ0Y7QTZCaDdHQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0E3Qms3R0Q7O0E2Qi82R0E7RUFDQztJQUNDO0lBQ0E7RTdCazdHQTtBQUNGO0E2Qi82R0E7RUFDQztJQUNDO0U3Qmk3R0E7QUFDRjtBNkI5NkdBO0VBQ0M7SUFDQztFN0JnN0dBO0FBQ0Y7QTZCNzZHQTtFQUNDO0lBQ0M7SUFDQTtFN0IrNkdBO0FBQ0Y7QTZCNTZHQTtFQUNDO0lBQ0M7SUFDQTtFN0I4NkdBO0FBQ0Y7QThCbnBIQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5Qm9wSEQ7O0E4QmpwSEE7QUFDQTs7RUFFQztBOUJvcEhEOztBOEJqcEhBOztFQUVDO0VBQ0E7RUFDQTtBOUJvcEhEOztBOEJqcEhBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBOUJvcEhEOztBOEJqcEhBO0FBRUE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbXBIRDs7QThCaHBIQTtFQUNDO0VBQ0E7QTlCbXBIRDs7QThCaHBIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTlCbXBIRDs7QThCaHBIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbXBIRDs7QThCaHBIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0E5Qm1wSEQ7O0E4QmhwSEE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBOUJtcEhEOztBOEJocEhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QTlCbXBIRDs7QThCaHBIQTtFQUNDO0VBQ0E7RUFDQTtBOUJtcEhEOztBOEJocEhBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbXBIRDs7QThCaHBIQTtBQUNBO0VBQ0M7QTlCbXBIRDs7QThCaHBIQTtFQUNDO0E5Qm1wSEQ7O0E4QmhwSEE7RUFDQztBOUJtcEhEOztBOEJocEhBO0VBQ0M7QTlCbXBIRDs7QThCaHBIQTtBQUNBO0VBQ0M7QTlCbXBIRDs7QThCaHBIQTtFQUNDO0E5Qm1wSEQ7O0E4QmhwSEE7QUFDQTtFQUNDO0lBQ0M7RTlCbXBIQTtBQUNGO0E4QmhwSEE7RUFDQztJQUNDO0lBQ0E7RTlCa3BIQTtFOEIvb0hEO0lBQ0M7RTlCaXBIQTtFOEI5b0hEO0lBQ0M7SUFDQTtFOUJncEhBO0FBQ0Y7QStCL3lIQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDQztFQUNBO0EvQmd6SEQ7O0ErQjd5SEE7QUFDQTs7RUFFQztBL0JnekhEOztBK0I3eUhBOztFQUVDO0VBQ0E7RUFDQTtBL0JnekhEOztBK0I3eUhBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQmd6SEQ7O0ErQjd5SEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CZ3pIRDs7QStCN3lIQTtFQUNDO0VBQ0E7QS9CZ3pIRDs7QStCN3lIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QS9CZ3pIRDs7QStCN3lIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0EvQmd6SEQ7O0ErQjd5SEE7RUFDQztFQUNBO0VBQ0E7QS9CZ3pIRDs7QStCN3lIQTtFQUNDO0EvQmd6SEQ7O0ErQjd5SEE7RUFDQztBL0JnekhEOztBK0I3eUhBO0VBQ0M7RUFDQTtFQUNBO0EvQmd6SEQ7O0ErQjd5SEE7RUFDQztFQUNBO0VBQ0E7QS9CZ3pIRDs7QStCN3lIQTtFQUNDO0EvQmd6SEQ7O0ErQjd5SEE7QUFDQTtFQUNDO0EvQmd6SEQ7O0ErQjd5SEE7RUFDQztBL0JnekhEOztBK0I3eUhBO0FBQ0E7RUFDQztBL0JnekhEOztBK0I3eUhBO0VBQ0M7QS9CZ3pIRDs7QStCN3lIQTtFQUNDO0EvQmd6SEQ7O0FBbDNIQTtBZ0N6REE7Ozs7Ozs7Ozs7RUFBQTtBQVlBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQzg2SEQ7O0FnQzM2SEE7RUFDQztFQUNBO0VBQ0E7QWhDODZIRDs7QWdDMzZIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEM4NkhEOztBZ0MzNkhBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0FoQzg2SEQ7O0FnQzM2SEE7QUFDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhDODZIRDs7QWdDMzZIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FoQzg2SEQ7O0FnQzM2SEE7RUFDQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0VoQzg2SEE7QUFDRjtBZ0MzNkhBO0FBRUE7QUFDQTs7RUFFQztFQUNBO0FoQzQ2SEQ7O0FnQ3o2SEE7RUFDQztJQUNDO0VoQzQ2SEE7QUFDRjtBZ0N6NkhBO0FBQ0E7O0VBRUM7RUFDQTtBaEMyNkhEOztBZ0N4NkhBO0VBQ0M7SUFDQztJQUNBO0VoQzI2SEE7QUFDRjtBZ0N4NkhBO0FBQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtBaEMwNkhEOztBZ0N2NkhBOztFQUVDO0FoQzA2SEQ7O0FnQ3Y2SEE7QUFDQTtFQUVDOztJQUVDO0lBQ0E7SUFDQTtFaEN5NkhBO0FBQ0Y7QWdDdDZIQTtFQUNDO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEN3NkhBO0VnQ3I2SEQ7O0lBRUM7SUFDQTtJQUNBO0lBQ0E7RWhDdTZIQTtFZ0NwNkhEOztJQUVDO0VoQ3M2SEE7RWdDbjZIRDs7SUFFQztFaENxNkhBO0FBQ0Y7QWdDbDZIQTtBQUNBO0VBQ0M7QWhDbzZIRDs7QWdDajZIQTtFQUNDO0lBQ0M7RWhDbzZIQTtBQUNGO0FnQ2o2SEE7RUFDQztJQUNDO0VoQ202SEE7QUFDRjtBZ0NoNkhBO0VBQ0M7QWhDazZIRDs7QWdDLzVIQTtFQUNDO0lBQ0M7RWhDazZIQTtBQUNGO0FnQy81SEE7RUFDQztJQUNDO0VoQ2k2SEE7QUFDRjtBQS9oSUE7QWlDNURBOzs7OztFQUFBO0FBT0E7RUFDQztBakM2bElEOztBaUMxbElBO0FBRUE7QUFDQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtBQUNBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztFQUNBO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0VBQ0E7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7QWpDNGxJRDs7QWlDemxJQTtFQUNDO0FqQzRsSUQ7O0FpQ3psSUE7RUFDQztBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBaUN6bElBO0VBQ0M7RUFDQTtBakM0bElEOztBa0NocUtBO0FBQ0E7RUFDQztBbENtcUtEOztBbUNycUtBO0FBQ0E7RUFDQztBbkN3cUtEOztBbUNycUtBO0FBQ0E7RUFDQztBbkN3cUtEOztBbUNycUtBO0VBQ0M7QW5Dd3FLRDs7QW1DcnFLQTtFQUNDO0FuQ3dxS0Q7O0FtQ3JxS0E7RUFDQztBbkN3cUtEOztBbUNycUtBO0VBQ0M7QW5Dd3FLRDs7QW1DcnFLQTtFQUNDO0FuQ3dxS0Q7O0FtQ3JxS0E7QUFDQTtFQUNDO0VBQ0E7QW5Dd3FLRDs7QW1DcnFLQTtFQUNDO0FuQ3dxS0Q7O0FtQ3JxS0E7QUFDQTs7Ozs7O0VBTUM7QW5Dd3FLRDs7QW1DcnFLQTtFQUNDO0FuQ3dxS0Q7O0FtQ3JxS0E7O0VBRUM7QW5Dd3FLRDs7QW1DcnFLQTtFQUNDO0FuQ3dxS0Q7O0FvQ3B1S0E7QUFDQTtFQUNDO0VBQ0E7QXBDdXVLRDs7QW9DcHVLQTs7O0dBQUE7QUFLQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FwQ3N1S0Q7O0FvQ251S0E7QUFDQTs7Ozs7Ozs7Ozs7OztFQWFDO0VBQ0E7RUFDQTtFQUNBO0FwQ3N1S0Q7O0FvQ251S0E7QUFDQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FwQ3N1S0Q7O0FvQ251S0E7QUFDQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtFQUNDO0VBQ0E7QXBDc3VLRDs7QW9DbnVLQTtBQUNBO0VBQ0M7SUFDQztJQUNBO0VwQ3N1S0E7RW9DbnVLRDtJQUNDO0lBQ0E7RXBDcXVLQTtFb0NsdUtEO0lBQ0M7SUFDQTtFcENvdUtBO0VvQ2p1S0Q7SUFDQztJQUNBO0VwQ211S0E7RW9DaHVLRDtJQUNDO0lBQ0E7RXBDa3VLQTtFb0MvdEtEO0lBQ0M7SUFDQTtFcENpdUtBO0VvQzl0S0Q7SUFDQztJQUNBO0VwQ2d1S0E7RW9DN3RLRDtJQUNDO0lBQ0E7RXBDK3RLQTtFb0M1dEtEO0lBQ0M7SUFDQTtFcEM4dEtBO0VvQzN0S0Q7SUFDQztJQUNBO0VwQzZ0S0E7RW9DMXRLRDtJQUNDO0lBQ0E7RXBDNHRLQTtFb0N6dEtEO0lBQ0M7SUFDQTtFcEMydEtBO0FBQ0Y7QW9DeHRLQTtBQUNBO0VBQ0M7SUFDQztJQUNBO0VwQzB0S0E7RW9DdnRLRDtJQUNDO0lBQ0E7RXBDeXRLQTtFb0N0dEtEO0lBQ0M7SUFDQTtFcEN3dEtBO0VvQ3J0S0Q7SUFDQztJQUNBO0VwQ3V0S0E7RW9DcHRLRDtJQUNDO0lBQ0E7RXBDc3RLQTtFb0NudEtEO0lBQ0M7SUFDQTtFcENxdEtBO0VvQ2x0S0Q7SUFDQztJQUNBO0VwQ290S0E7RW9DanRLRDtJQUNDO0lBQ0E7RXBDbXRLQTtFb0NodEtEO0lBQ0M7SUFDQTtFcENrdEtBO0VvQy9zS0Q7SUFDQztJQUNBO0VwQ2l0S0E7RW9DOXNLRDtJQUNDO0lBQ0E7RXBDZ3RLQTtFb0M3c0tEO0lBQ0M7SUFDQTtFcEMrc0tBO0FBQ0Y7QW9DNXNLQTtBQUNBO0VBQ0M7SUFDQztJQUNBO0VwQzhzS0E7RW9DM3NLRDtJQUNDO0lBQ0E7RXBDNnNLQTtFb0Mxc0tEO0lBQ0M7SUFDQTtFcEM0c0tBO0VvQ3pzS0Q7SUFDQztJQUNBO0VwQzJzS0E7RW9DeHNLRDtJQUNDO0lBQ0E7RXBDMHNLQTtFb0N2c0tEO0lBQ0M7SUFDQTtFcEN5c0tBO0VvQ3RzS0Q7SUFDQztJQUNBO0VwQ3dzS0E7RW9DcnNLRDtJQUNDO0lBQ0E7RXBDdXNLQTtFb0Nwc0tEO0lBQ0M7SUFDQTtFcENzc0tBO0VvQ25zS0Q7SUFDQztJQUNBO0VwQ3FzS0E7RW9DbHNLRDtJQUNDO0lBQ0E7RXBDb3NLQTtFb0Nqc0tEO0lBQ0M7SUFDQTtFcENtc0tBO0FBQ0Y7QW9DaHNLQTtBQUNBO0VBQ0M7SUFDQztJQUNBO0VwQ2tzS0E7RW9DL3JLRDtJQUNDO0lBQ0E7RXBDaXNLQTtFb0M5cktEO0lBQ0M7SUFDQTtFcENnc0tBO0VvQzdyS0Q7SUFDQztJQUNBO0VwQytyS0E7RW9DNXJLRDtJQUNDO0lBQ0E7RXBDOHJLQTtFb0MzcktEO0lBQ0M7SUFDQTtFcEM2cktBO0VvQzFyS0Q7SUFDQztJQUNBO0VwQzRyS0E7RW9DenJLRDtJQUNDO0lBQ0E7RXBDMnJLQTtFb0N4cktEO0lBQ0M7SUFDQTtFcEMwcktBO0VvQ3ZyS0Q7SUFDQztJQUNBO0VwQ3lyS0E7RW9DdHJLRDtJQUNDO0lBQ0E7RXBDd3JLQTtFb0NycktEO0lBQ0M7SUFDQTtFcEN1cktBO0FBQ0Y7QXFDdmxMQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0FyQ3lsTEQ7O0FxQ3RsTEE7RUFDQztFQUNBO0VBQ0E7QXJDeWxMRDs7QXFDdGxMQTtFQUNDO0VBQ0E7RUFDQTtBckN5bExEOztBcUN0bExBO0VBRUM7OztJQUdDO0VyQ3dsTEE7QUFDRjtBcUNybExBO0VBRUM7O0lBRUM7RXJDc2xMQTtBQUNGO0FzQ3ZuTEE7QUFDQTtFQUNDO0F0Q3luTEQ7O0FzQ3RuTEE7RUFDQztFQUNBO0F0Q3luTEQ7O0FzQ3RuTEE7RUFDQztFQUNBO0VBQ0E7QXRDeW5MRDs7QXNDdG5MQTtFQUNDO0VBQ0E7RUFDQTtBdEN5bkxEOztBc0N0bkxBO0VBQ0M7QXRDeW5MRDs7QXNDdG5MQTtBQUNBO0VBQ0M7QXRDeW5MRDs7QXNDdG5MQTtFQUNDO0F0Q3luTEQ7O0FzQ3RuTEE7RUFDQztBdEN5bkxEOztBdUM3cExBOzs7Ozs7Ozs7Ozs7Ozs7O0VBQUE7QUFrQkE7OzsrRUFBQTtBQUtBO0FBQ0E7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7QUFDQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7QUFDQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0FBQ0E7RUFDQztBdkM4cExEOztBdUMzcExBO0FBQ0E7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBO0VBQ0M7QXZDOHBMRDs7QXVDM3BMQTtFQUNDO0F2QzhwTEQ7O0F1QzNwTEE7RUFDQztBdkM4cExEOztBdUMzcExBOzs7K0VBQUE7QUFLQTtBQUNBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtFQUNDO0F2QzZwTEQ7O0F1QzFwTEE7RUFDQztBdkM2cExEOztBdUMxcExBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtFQUNDO0F2QzZwTEQ7O0F1QzFwTEE7RUFDQztBdkM2cExEOztBdUMxcExBO0FBQ0E7RUFDQztBdkM2cExEOztBdUMxcExBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtFQUNDO0F2QzZwTEQ7O0F1QzFwTEE7RUFDQztBdkM2cExEOztBdUMxcExBO0FBQ0E7RUFDQztBdkM2cExEOztBdUMxcExBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtBQUNBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtBQUNBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtFQUNDO0F2QzZwTEQ7O0F1QzFwTEE7RUFDQztBdkM2cExEOztBdUMxcExBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTtFQUNDO0F2QzZwTEQ7O0F1QzFwTEE7RUFDQztBdkM2cExEOztBdUMxcExBO0VBQ0M7QXZDNnBMRDs7QXVDMXBMQTs7OytFQUFBO0FBS0E7RUFDQztBdkM0cExEOztBdUN6cExBO0VBQ0M7QXZDNHBMRDs7QXVDenBMQTtFQUNDO0F2QzRwTEQ7O0F1Q3pwTEE7RUFDQztBdkM0cExEOztBdUN6cExBO0VBQ0M7QXZDNHBMRDs7QXVDenBMQTtFQUNDO0F2QzRwTEQ7O0F1Q3pwTEE7RUFDQztBdkM0cExEOztBdUN6cExBO0VBQ0M7QXZDNHBMRDs7QXVDenBMQTtFQUNDO0F2QzRwTEQ7O0F1Q3pwTEE7RUFDQztBdkM0cExEOztBdUN6cExBOzs7OytFQUFBO0FBTUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZDMnBMRDs7QXVDeHBMQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7QXZDMHBMRDs7QXVDdnBMQTs7K0VBQUE7QUFJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Q3lwTEQ7O0F1Q3RwTEE7OzsrRUFBQTtBQUtBO0VBQ0M7QXZDd3BMRDs7QXVDcnBMQTtFQUNDO0F2Q3dwTEQ7O0F1Q3JwTEE7RUFDQztBdkN3cExEOztBdUNycExBO0FBQ0E7RUFDQztBdkN3cExEOztBdUNycExBO0VBQ0M7QXZDd3BMRDs7QXVDcnBMQTtFQUNDO0F2Q3dwTEQ7O0F1Q3JwTEE7OzsrRUFBQTtBQUtBO0VBQ0M7RUFDQTtFQUNBO0F2Q3VwTEQ7O0F3Q3IrTEE7QUFDQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0FBQ0E7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRDs7QXdDcitMQTtFQUNDO0F4Q3crTEQ7O0F3Q3IrTEE7RUFDQztBeEN3K0xEOztBd0NyK0xBO0VBQ0M7QXhDdytMRCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy90b2tlbnMvZm9udHMuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL3Rva2Vucy9mcm9tLWZpZ21hLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy90b2tlbnMvZnJvbS10aGVtZS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvYmFzZS9yZXNldC5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvYmFzZS90eXBvZ3JhcGh5LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9iYXNlL2Zvcm1zLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9iYXNlL2hyLWRpdmlkZXIuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2xheW91dHMvbGF5b3V0LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9sYXlvdXRzL2NvbnRhaW5lci5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvbGF5b3V0cy9fc2l0ZS1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9sYXlvdXRzL3NpdGUtZm9vdGVyLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9sYXlvdXRzL2NhcmRzLWdyaWQuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1idXR0b24uY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1jYXRlZ29yeS10YWcuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1icmVhZGNydW1iLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtcGFnaW5hdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy91ZGVjLWFjY29yZGlvbi5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy91ZGVjLXRhYnMuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1mZWVkYmFjay5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy91ZGVjLWJhbm5lci5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvY29tcG9uZW50cy91ZGVjLWJhbm5lci1jYXJkLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL3VkZWMtY2Fyb3VzZWwuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1jYXJvdXNlbC10ZXN0aW1vbnkuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvdWRlYy1uYXZpZ2F0aW9uLXNpZGUuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvY2FyZC1iYXNlLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtdmFyaWFudHMuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvY2FyZC1uZXdzLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtdGVzdGltb255LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtcGVyc29uLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQtZXZlbnQuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL2NvbXBvbmVudHMvY2FyZC1mYWN1bHR5LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy9jb21wb25lbnRzL2hlcm8uY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL3V0aWxpdGllcy9zcGFjaW5nLmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy91dGlsaXRpZXMvYWxpZ25tZW50LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy91dGlsaXRpZXMvZmxvdy5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdXRpbGl0aWVzL3Jvd3MtY29scy5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdXRpbGl0aWVzL2dyaWQuY3NzIiwid2VicGFjazovL0B1ZGVjL3VkZWMtZnJvbnRlbmQtbGlicmFyeS8uL3NyYy9zY3NzL3V0aWxpdGllcy9mbGV4LmNzcyIsIndlYnBhY2s6Ly9AdWRlYy91ZGVjLWZyb250ZW5kLWxpYnJhcnkvLi9zcmMvc2Nzcy91dGlsaXRpZXMvZnJvbS10aGVtZS5jc3MiLCJ3ZWJwYWNrOi8vQHVkZWMvdWRlYy1mcm9udGVuZC1saWJyYXJ5Ly4vc3JjL3Njc3MvdXRpbGl0aWVzL2NvbG9ycy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBNYWluIEluZGV4XG4gKlxuICogQXJjaGl2byBwcmluY2lwYWwgcXVlIGltcG9ydGEgdG9kb3MgbG9zIGVzdGlsb3MgYmFzZS5cbiAqIEltcG9ydGEgZXN0ZSBhcmNoaXZvIHBhcmEgdGVuZXIgZWwgc2lzdGVtYSBjb21wbGV0by5cbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLyogRm9udHMgLSBUaXBvZ3JhZsOtYXMgUm9ib3RvIHkgUG9wcGlucyAqL1xuQGZvcndhcmQgXCIuL3Rva2Vucy9mb250cy5jc3NcIjtcblxuLyogVmFyaWFibGVzIC0gRGVzaWduIHRva2VucyAqL1xuQGZvcndhcmQgXCIuL3Rva2Vucy9mcm9tLWZpZ21hLmNzc1wiO1xuQGZvcndhcmQgXCIuL3Rva2Vucy9mcm9tLXRoZW1lLmNzc1wiO1xuXG4vKiBSZXNldCAtIE5vcm1hbGl6YWNpw7NuIGRlIGVzdGlsb3MgKi9cbkBmb3J3YXJkIFwiLi9iYXNlL3Jlc2V0LmNzc1wiO1xuXG4vKiBUeXBvZ3JhcGh5IC0gRXN0aWxvcyBiw6FzaWNvcyBwYXJhIGVsZW1lbnRvcyBIVE1MICovXG5AZm9yd2FyZCBcIi4vYmFzZS90eXBvZ3JhcGh5LmNzc1wiO1xuQGZvcndhcmQgXCIuL2Jhc2UvZm9ybXMuY3NzXCI7XG5AZm9yd2FyZCBcIi4vYmFzZS9oci1kaXZpZGVyLmNzc1wiO1xuXG4vKiBMYXlvdXQgLSBTaXN0ZW1hIGRlIGxheW91dHMgeSBjb250YWluZXJzICovXG5AZm9yd2FyZCBcIi4vbGF5b3V0cy9sYXlvdXQuY3NzXCI7XG5AZm9yd2FyZCBcIi4vbGF5b3V0cy9jb250YWluZXIuY3NzXCI7XG5AZm9yd2FyZCBcIi4vbGF5b3V0cy9fc2l0ZS1oZWFkZXIuc2Nzc1wiO1xuQGZvcndhcmQgXCIuL2xheW91dHMvc2l0ZS1mb290ZXIuY3NzXCI7XG5AZm9yd2FyZCBcIi4vbGF5b3V0cy9jYXJkcy1ncmlkLmNzc1wiO1xuXG4vKiBDb21wb25lbnRlcyBiw6FzaWNvcyAqL1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy1idXR0b24uY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLWNhdGVnb3J5LXRhZy5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtYnJlYWRjcnVtYi5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtcGFnaW5hdGlvbi5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtYWNjb3JkaW9uLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy10YWJzLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy1mZWVkYmFjay5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtYmFubmVyLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy1iYW5uZXItY2FyZC5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL3VkZWMtY2Fyb3VzZWwuY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy91ZGVjLWNhcm91c2VsLXRlc3RpbW9ueS5jc3NcIjtcblxuLyogTmF2aWdhdGlvbiBTaWRlIC0gTWVuw7ogZGUgbGF2ZWdhY2nDs24gbGF0ZXJhbCAqL1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvdWRlYy1uYXZpZ2F0aW9uLXNpZGUuY3NzXCI7XG5cbi8qIENhcmRzIC0gU2lzdGVtYSBkZSB0YXJqZXRhcyAqL1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvY2FyZC1iYXNlLmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvY2FyZC12YXJpYW50cy5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2NhcmQtbmV3cy5jc3NcIjtcbkBmb3J3YXJkIFwiLi9jb21wb25lbnRzL2NhcmQtdGVzdGltb255LmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvY2FyZC1wZXJzb24uY3NzXCI7XG5AZm9yd2FyZCBcIi4vY29tcG9uZW50cy9jYXJkLWV2ZW50LmNzc1wiO1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvY2FyZC1mYWN1bHR5LmNzc1wiO1xuXG4vKiBPdHJvcyBjb21wb25lbnRlcyAqL1xuQGZvcndhcmQgXCIuL2NvbXBvbmVudHMvaGVyby5jc3NcIjtcblxuLyogVXRpbGl0aWVzIC0gQ2xhc2VzIHV0aWxpdGFyaWFzICovXG5AZm9yd2FyZCBcIi4vdXRpbGl0aWVzL3NwYWNpbmcuY3NzXCI7XG5AZm9yd2FyZCBcIi4vdXRpbGl0aWVzL2FsaWdubWVudC5jc3NcIjtcbkBmb3J3YXJkIFwiLi91dGlsaXRpZXMvZmxvdy5jc3NcIjtcbkBmb3J3YXJkIFwiLi91dGlsaXRpZXMvcm93cy1jb2xzLmNzc1wiO1xuQGZvcndhcmQgXCIuL3V0aWxpdGllcy9ncmlkLmNzc1wiO1xuQGZvcndhcmQgXCIuL3V0aWxpdGllcy9mbGV4LmNzc1wiO1xuQGZvcndhcmQgXCIuL3V0aWxpdGllcy9mcm9tLXRoZW1lLmNzc1wiO1xuQGZvcndhcmQgXCIuL3V0aWxpdGllcy9jb2xvcnMuY3NzXCI7IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBGb250c1xuICpcbiAqIERlY2xhcmFjaW9uZXMgQGZvbnQtZmFjZSBwYXJhIFJvYm90byB5IFBvcHBpbnMuXG4gKiBVc2EgZnVlbnRlcyBsb2NhbGVzIGVuIGZvcm1hdG8gd29mZjIgZGVsIHRlbWEuXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIFJvYm90byAtIFZhcmlhYmxlIEZvbnQgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1JvYm90byc7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDEwMCA5MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3JvYm90by9Sb2JvdG8tVmFyaWFibGVGb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMi12YXJpYXRpb25zJyk7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1JvYm90byc7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC13ZWlnaHQ6IDEwMCA5MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3JvYm90by9Sb2JvdG8tSXRhbGljLVZhcmlhYmxlRm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjItdmFyaWF0aW9ucycpO1xufVxuXG4vKiBQb3BwaW5zIC0gUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybCgnLi4vLi4vZm9udHMvcG9wcGlucy9Qb3BwaW5zLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3BvcHBpbnMvUG9wcGlucy1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbi8qIFBvcHBpbnMgLSBNZWRpdW0gKDUwMCkgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3BvcHBpbnMvUG9wcGlucy1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogJ1BvcHBpbnMnO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0c3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3BvcHBpbnMvUG9wcGlucy1NZWRpdW1JdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbi8qIFBvcHBpbnMgLSBTZW1pQm9sZCAoNjAwKSAqL1xuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybCgnLi4vLi4vZm9udHMvcG9wcGlucy9Qb3BwaW5zLVNlbWlCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdQb3BwaW5zJztcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9wb3BwaW5zL1BvcHBpbnMtU2VtaUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbi8qIFBvcHBpbnMgLSBCb2xkICg3MDApICovXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6ICdQb3BwaW5zJztcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRmb250LWRpc3BsYXk6IHN3YXA7XG5cdHNyYzogdXJsKCcuLi8uLi9mb250cy9wb3BwaW5zL1BvcHBpbnMtQm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnUG9wcGlucyc7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1kaXNwbGF5OiBzd2FwO1xuXHRzcmM6IHVybCgnLi4vLi4vZm9udHMvcG9wcGlucy9Qb3BwaW5zLUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBWYXJpYWJsZXMgKERlc2lnbiBUb2tlbnMpXG4gKlxuICogVmFyaWFibGVzIGRlIGRpc2XDsW8gZXh0cmHDrWRhcyBkZXNkZSBGaWdtYS5cbiAqIEVzdGUgYXJjaGl2byBjb250aWVuZSB0b2RvcyBsb3MgdG9rZW5zIGRlbCBzaXN0ZW1hIGRlIGRpc2XDsW8uXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEdsb2JhbCBjb2xvciAqL1xuOnJvb3Qge1xuXHQvKiBDb2xvciBjb2RlICovXG5cdC8qIGNvbG9yICovXG5cdC0tY29sb3ItZmVlZGJhY2stZ3JlZW4tMjAwOiAjYjZkZWNiO1xuXHQtLWNvbG9yLWZlZWRiYWNrLWdyZWVuLTYwMDogIzJiOTQ2Nztcblx0LS1jb2xvci1mZWVkYmFjay1yZWQtMTAwOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTEwMCk7XG5cdC0tY29sb3ItZmVlZGJhY2stcmVkLTYwMDogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC02MDApO1xuXHQtLWNvbG9yLWZlZWRiYWNrLXllbGxvdy0yMDA6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMCk7XG5cdC0tY29sb3ItZmVlZGJhY2steWVsbG93LTYwMDogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNjAwKTtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktMTAwOiAjZGRkZGRkO1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDA6ICNkMmQxZDE7XG5cdC0tY29sb3ItbmV1dHJhbC1ncmF5LTMwMDogI2JjYmFiYTtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktNDAwOiAjYTVhM2EzO1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS01MDogI2Y0ZjRmNDtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktNTAwOiAjOGY4YzhjO1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS02MDA6ICM3MjcwNzA7XG5cdC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMDogIzU2NTQ1NDtcblx0LS1jb2xvci1uZXV0cmFsLWdyYXktODAwOiAjMmIyYTJhO1xuXHQtLWNvbG9yLW5ldXRyYWwtZ3JheS05MDA6ICMwZTBlMGU7XG5cdC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wOiAjZmZmZmZmO1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS0xMDA6ICNhNmI2ZDM7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTIwMDogIzg1OThiOTtcblx0LS1jb2xvci1wcmltYXJ5LWJsdWUtMzAwOiAjNjQ3OTllO1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS00MDA6ICM0MzViODQ7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwOiAjYzdkNWVkO1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS01MDA6ICMyMjNjNmE7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTYwMDogIzFiMzA1NTtcblx0LS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwOiAjMTQyNDQwO1xuXHQtLWNvbG9yLXByaW1hcnktYmx1ZS04MDA6ICMwZTE4MmE7XG5cdC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMDogIzA3MGMxNTtcblx0LS1jb2xvci1wcmltYXJ5LXllbGxvdy0xMDA6ICNmYWRmYmE7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMjAwOiAjZjlkNWEzO1xuXHQtLWNvbG9yLXByaW1hcnkteWVsbG93LTMwMDogI2Y1YzA3NDtcblx0LS1jb2xvci1wcmltYXJ5LXllbGxvdy00MDA6ICNmMmFiNDY7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTA6ICNmZGY1ZTg7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwOiAjZWY5NjE4O1xuXHQtLWNvbG9yLXByaW1hcnkteWVsbG93LTYwMDogI2JmNzgxMztcblx0LS1jb2xvci1wcmltYXJ5LXllbGxvdy03MDA6ICM4ZjVhMGU7XG5cdC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctODAwOiAjNjAzYzBhO1xuXHQtLWNvbG9yLXByaW1hcnkteWVsbG93LTkwMDogIzMwMWUwNTtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTEwMDogI2YwY2JkMDtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTIwMDogI2UzOWVhNjtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTMwMDogI2Q1NzA3ZDtcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTQwMDogI2M4NDM1Mztcblx0LS1jb2xvci1zZWNvbmRhcnktcmVkLTUwOiAjZjdlMmU0O1xuXHQtLWNvbG9yLXNlY29uZGFyeS1yZWQtNTAwOiAjYmExNTJhO1xuXHQtLWNvbG9yLXNlY29uZGFyeS1yZWQtNjAwOiAjOTUxMTIyO1xuXHQtLWNvbG9yLXNlY29uZGFyeS1yZWQtNzAwOiAjNzAwZDE5O1xuXHQtLWNvbG9yLXNlY29uZGFyeS1yZWQtODAwOiAjNGEwODExO1xuXHQtLWNvbG9yLXNlY29uZGFyeS1yZWQtOTAwOiAjMjUwNDA4O1xuXHQtLWNvbG9yLXB1cnBsZTogIzVFNjVENDtcblx0LS1jb2xvci1ncmVlbjogIzREQUM4Mjtcblx0LS1jb2xvci1saWdodC1ibHVlOiAjNTc5OERDO1xuXHQtLWNvbG9yLXNhbG1vbjogI0UyNTI0MTtcblx0LS1jb2xvci1kYXJrLWJsdWU6ICMxNDI0NDA7XG5cdC0tY29sb3Itb3JhbmdlOiAjRUY3MDJFO1xufVxuXG4vKiBTcGVjaWZpYyBjb2xvciAqL1xuOnJvb3Qge1xuXHQvKiBNb2RlIDEgKi9cblx0LyogY29sb3IgKi9cblx0LS1iYWNrZ3JvdW5kLWNvbG9yLWJnLWFjY2VudDogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcblx0LS1jb2xvci1iYWNrZ3JvdW5kLWFsdDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdC0tY29sb3ItYmFja2dyb3VuZC1vdmVybGF5OiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktODAwKTtcblx0LS1jb2xvci1iYWNrZ3JvdW5kLXN1cmZhY2U6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG5cdC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGVmYXVsdDogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcblx0LS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMCk7XG5cdC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctaG92ZXI6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTMwMCk7XG5cdC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctcHJlc3M6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG5cdC0tY29sb3ItYnV0dG9uLXByaW1hcnktYm9yZGVyLWZvY3VzOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0LS1jb2xvci1idXR0b24tcHJpbWFyeS10ZXh0OiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHQtLWNvbG9yLWljb24tZGFyazogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItaWNvbi1kZWZhdWx0OiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0LS1jb2xvci1pY29uLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKTtcblx0LS1jb2xvci1pY29uLW9uLXByaW1hcnk6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG5cdC0tY29sb3ItaW5wdXQtYmctZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xuXHQtLWNvbG9yLWlucHV0LWJvcmRlci1kZWZhdWx0OiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNDAwKTtcblx0LS1jb2xvci1pbnB1dC1ib3JkZXItZXJyb3I6IHZhcigtLWNvbG9yLWZlZWRiYWNrLXJlZC02MDApO1xuXHQtLWNvbG9yLWlucHV0LWJvcmRlci1mb2N1czogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItaW5wdXQtYm9yZGVyLXN1Y2Nlc3M6IHZhcigtLWNvbG9yLWZlZWRiYWNrLWdyZWVuLTYwMCk7XG5cdC0tY29sb3ItaW5wdXQtYm9yZGVyLXdhcm5pbmc6IHZhcigtLWNvbG9yLWZlZWRiYWNrLXllbGxvdy02MDApO1xuXHQtLWNvbG9yLWlucHV0LWhlbHBlci10ZXh0OiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKTtcblx0LS1jb2xvci1pbnB1dC1sYWJlbC10ZXh0OiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0LS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwMCk7XG5cdC0tY29sb3ItaW5wdXQtdGV4dDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdC0tY29sb3ItbGluay1kZWZhdWx0OiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNDAwKTtcblx0LS1jb2xvci1saW5rLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKTtcblx0LS1jb2xvci1saW5rLWhvdmVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0LS1jb2xvci1saW5rLXZpc2l0ZWQ6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHQtLWNvbG9yLXRhZy1iZy1kZWZhdWx0OiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTApO1xuXHQtLWNvbG9yLXRhZy1iZy1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMCk7XG5cdC0tY29sb3ItdGFnLWJnLWhvdmVyOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMjAwKTtcblx0LS1jb2xvci10YWctYmctcHJlc3M6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHQtLWNvbG9yLXRhZy1ib3JkZXItZm9jdXM6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHQtLWNvbG9yLXRhZy10ZXh0LWRlZmF1bHQ6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdC0tY29sb3ItdGFnLXRleHQtaG92ZXI6IHZhcigtLWNvbG9yLXRleHQtb24tcHJpbWFyeSk7XG5cdC0tY29sb3ItdGV4dC1kZWZhdWx0OiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0LS1jb2xvci10ZXh0LWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKTtcblx0LS1jb2xvci10ZXh0LW11dGVkOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0LS1jb2xvci10ZXh0LW9uLXByaW1hcnk6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG5cdC0tY29sb3ItdGV4dC1wbGFjZWhvbGRlcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG5cdC0tY29sb3ItY2F0ZWdvcnk6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHQtLWNvbG9yLWNhdGVnb3J5LWN1bHR1cmU6IHZhcigtLWNvbG9yLXB1cnBsZSk7XG5cdC0tY29sb3ItY2F0ZWdvcnktaGVhbHRoLWVudmlyb25tZW50OiB2YXIoLS1jb2xvci1ncmVlbik7XG5cdC0tY29sb3ItY2F0ZWdvcnktc2NpZW5jZS10ZWNobm9sb2d5OiB2YXIoLS1jb2xvci1saWdodC1ibHVlKTtcblx0LS1jb2xvci1jYXRlZ29yeS1odW1hbml0aWVzLXNvY2lldHk6IHZhcigtLWNvbG9yLXNhbG1vbik7XG5cdC0tY29sb3ItY2F0ZWdvcnktdW5pdmVyc2l0eTogdmFyKC0tY29sb3ItZGFyay1ibHVlKTtcblx0LS1jb2xvci1jYXRlZ29yeS1zcG9ydDogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0LS1jb2xvci1jYXRlZ29yeS1hY2FkZW1pYy1hY3Rpdml0aWVzOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy01MDApO1xufVxuXG4vKiBHbG9iYWwgbnVtYmVyICovXG46cm9vdCB7XG5cdC8qIE1vZGUgMSAqL1xuXHQvKiBudW1iZXIgKi9cblx0LS1icmVha3BvaW50LW1vYmlsZTogMjMuNDM3NXJlbTtcblx0LS1icmVha3BvaW50LXRhYmxldDogODByZW07XG5cdC0tYnJlYWtwb2ludC1kZXNrdG9wOiA5MHJlbTtcblx0LS1lbGV2YXRpb24tMDogMHJlbTtcblx0LS1lbGV2YXRpb24tMTogMC4wNjI1cmVtO1xuXHQtLWVsZXZhdGlvbi0yOiAwLjEyNXJlbTtcblx0LS1yYWRpdXMtbm9uZTogMHJlbTtcblx0LS1yYWRpdXMteHM6IDAuMTI1cmVtO1xuXHQtLXJhZGl1cy1zOiAwLjI1cmVtO1xuXHQtLXJhZGl1cy1tOiAwLjVyZW07XG5cdC0tcmFkaXVzLWw6IDAuNzVyZW07XG5cdC0tcmFkaXVzLXhsOiAxcmVtO1xuXHQtLXJhZGl1cy0yeGw6IDEuNXJlbTtcblx0LS1yYWRpdXMtZnVsbDogNjI0LjkzNzVyZW07XG5cdC0tc3BhY2luZy0wOiAwcmVtO1xuXHQtLXNwYWNpbmctNDogMC4yNXJlbTtcblx0LS1zcGFjaW5nLTg6IDAuNXJlbTtcblx0LS1zcGFjaW5nLTEyOiAwLjc1cmVtO1xuXHQtLXNwYWNpbmctMTY6IDFyZW07XG5cdC0tc3BhY2luZy0yMDogMS4yNXJlbTtcblx0LS1zcGFjaW5nLTI0OiAxLjVyZW07XG5cdC0tc3BhY2luZy0yODogMS43NXJlbTtcblx0LS1zcGFjaW5nLTMyOiAycmVtO1xuXHQtLXNwYWNpbmctMzY6IDIuMjVyZW07XG5cdC0tc3BhY2luZy00MDogMi41cmVtO1xuXHQtLXNwYWNpbmctNDQ6IDIuNzVyZW07XG5cdC0tc3BhY2luZy00ODogM3JlbTtcblx0LS1zcGFjaW5nLTYwOiAzLjc1cmVtO1xuXHQtLXNwYWNpbmctNjQ6IDRyZW07XG5cdC0tc3BhY2luZy04MDogNXJlbTtcblx0LS1zcGFjaW5nLTEwMDogNi4yNXJlbTtcblx0LS1zcGFjaW5nLTE2MDogMTByZW07XG5cdC0tei1pbmRleC0wOiAwcmVtO1xuXHQtLXotaW5kZXgtMTA6IDAuNjI1cmVtO1xuXHQtLXotaW5kZXgtNTA6IDMuMTI1cmVtO1xuXHQtLXotaW5kZXgtMTAwOiA2LjI1cmVtO1xuXHQtLXotaW5kZXgtMTAwMDogNjIuNXJlbTtcbn1cblxuLyogU3BlY2lmaWMgbnVtYmVyICovXG46cm9vdCB7XG5cdC8qIGNsYW1wIGNhbGN1bGF0aW9uICovXG5cdC0tYnV0dG9uLXBhZGRpbmctaW5saW5lOiBjbGFtcCgwLjVyZW0sIDAuMTQ3OXJlbSArIDEuNTAyM3Z3LCAxLjVyZW0pO1xuXHQvKjgtMjQqL1xuXHQtLWJ1dHRvbi1wYWRkaW5nLWJsb2NrOiBjbGFtcCgwLjI1cmVtLCAwLjA3MzlyZW0gKyAwLjc1MTJ2dywgMC43NXJlbSk7XG5cdC8qNC0xMiovXG5cdC0tYnV0dG9uLXJvdW5kZWQtcGFkZGluZy1pbmxpbmU6IGNsYW1wKDAuNzVyZW0sIDAuNDg1OXJlbSArIDEuMTI2OHZ3LCAxLjVyZW0pO1xuXHQvKjEyLTI0Ki9cblx0LS1idXR0b24tcGFkZGluZy1ibG9jay1tOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHQvKjQtNCovXG5cdC0tYnV0dG9uLWdhcDogY2xhbXAoMC4yNXJlbSwgMC4xNjJyZW0gKyAwLjM3NTZ2dywgMC41cmVtKTtcblx0Lyo0LTgqL1xuXHQtLWJ1dHRvbi10ZXh0LWdhcDogY2xhbXAoMC43NXJlbSwgMC42NjJyZW0gKyAwLjM3NTZ2dywgMXJlbSk7XG5cdC8qMTItMTYqL1xuXHQtLWNhcmQtcGFkZGluZzogY2xhbXAoMXJlbSwgMC44MjM5cmVtICsgMC43NTEydncsIDEuNXJlbSk7XG5cdC8qMTYtMjQqL1xuXHQtLXNwYWNpbmctY29tcG9uZW50LWdhcDogY2xhbXAoMC43NXJlbSwgMC40ODU5cmVtICsgMS4xMjY4dncsIDEuNXJlbSk7XG5cdC8qMTItMjQqL1xuXHQtLXNwYWNpbmctc2VjdGlvbi1ibG9jazogY2xhbXAoMi41cmVtLCAxLjYxOTdyZW0gKyAzLjc1NTl2dywgNXJlbSk7XG5cdC8qNDAtODAqL1xuXHQtLXNwYWNpbmctc2VjdGlvbi1pbmxpbmU6IGNsYW1wKDAuNzVyZW0sIC0wLjc0NjVyZW0gKyA2LjM4NXZ3LCA1cmVtKTtcblx0Lyo0MC04MCovXG5cdC8qIE1vYmlsZSAqL1xuXHQvKiBudW1iZXIgKi9cblx0LS1idXR0b24tcGFkZGluZzogdmFyKC0tc3BhY2luZy04KTtcblx0LS1jYXJkLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHQtLWZvcm1zLWlucHV0LXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHQtLWZvcm1zLWlucHV0LWhlaWdodDogdmFyKC0tc3BhY2luZy00MCk7XG5cdC0taWNvbi1zaXplLW1lZGl1bTogdmFyKC0tc3BhY2luZy0yNCk7XG5cdC0taWNvbi1zaXplLXNtYWxsOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0LS1pY29uLXNpemUtbGFyZ2U6IHZhcigtLXNwYWNpbmctMzIpO1xuXHQtLWxheW91dC1ncmlkLWNvbHVtbnM6IDAuMTI1cmVtO1xuXHQtLWxheW91dC1ncmlkLWd1dHRlcjogdmFyKC0tc3BhY2luZy0xMik7XG5cdC0tbGF5b3V0LWdyaWQtbWFyZ2luOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0LS1sYXlvdXQtbWF4LXdpZHRoOiAyMy40Mzc1cmVtO1xuXHQtLW1vZGFsLXNwYWNpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHQtLXJhZGl1cy1jYXJkOiB2YXIoLS1yYWRpdXMtbm9uZSk7XG5cdC0tcmFkaXVzLWJ1dHRvbi1tOiB2YXIoLS1yYWRpdXMtcyk7XG5cdC0tcmFkaXVzLWJ1dHRvbi1zOiB2YXIoLS1yYWRpdXMtcyk7XG5cdC0tcmFkaXVzLWlucHV0OiB2YXIoLS1yYWRpdXMtcyk7XG5cdC0tcmFkaXVzLXRhZzogdmFyKC0tcmFkaXVzLXMpO1xuXHQtLXJhZGl1cy1idXR0b24tbDogdmFyKC0tcmFkaXVzLW0pO1xuXHQtLXJhZGl1cy1pY29uLWJ1dHRvbjogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuXHQtLXNwYWNpbmctY29tcG9uZW50LWdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0LS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0LS1zcGFjaW5nLXNlY3Rpb24tcGFkZGluZzogdmFyKC0tc3BhY2luZy0xMik7XG5cdC0tdGFnLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctOCk7XG5cdC0tdG9hc3Qtc3BhY2luZzogdmFyKC0tc3BhY2luZy0xNik7XG5cdC0tdG9vbHRpcC1zcGFjaW5nOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHQtLXotaW5kZXgtYmFzZTogdmFyKC0tei1pbmRleC0wKTtcblx0LS16LWluZGV4LWRyb3Bkb3duOiB2YXIoLS16LWluZGV4LTEwKTtcblx0LS16LWluZGV4LXN0aWNreTogdmFyKC0tei1pbmRleC01MCk7XG5cdC0tei1pbmRleC1tb2RhbDogdmFyKC0tei1pbmRleC0xMDApO1xuXHQtLXotaW5kZXgtdG9hc3Q6IHZhcigtLXotaW5kZXgtMTAwMCk7XG5cblx0LyogVGFibGV0ICovXG5cdC8qIG51bWJlciAqL1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzZweCkge1xuXHRcdC0tYnV0dG9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdC0tY2FyZC1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLWZvcm1zLWlucHV0LXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdC0tZm9ybXMtaW5wdXQtaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0XHQtLWljb24tc2l6ZS1tZWRpdW06IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdC0taWNvbi1zaXplLXNtYWxsOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLWljb24tc2l6ZS1sYXJnZTogdmFyKC0tc3BhY2luZy0zMik7XG5cdFx0LS1sYXlvdXQtZ3JpZC1jb2x1bW5zOiAwLjM3NXJlbTtcblx0XHQtLWxheW91dC1ncmlkLWd1dHRlcjogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS1sYXlvdXQtZ3JpZC1tYXJnaW46IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdC0tbGF5b3V0LW1heC13aWR0aDogNjcuNXJlbTtcblx0XHQtLW1vZGFsLXNwYWNpbmc6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdC0tcmFkaXVzLWNhcmQ6IHZhcigtLXJhZGl1cy1ub25lKTtcblx0XHQtLXJhZGl1cy1idXR0b24tbTogdmFyKC0tcmFkaXVzLXMpO1xuXHRcdC0tcmFkaXVzLWJ1dHRvbi1zOiB2YXIoLS1yYWRpdXMtcyk7XG5cdFx0LS1yYWRpdXMtaW5wdXQ6IHZhcigtLXJhZGl1cy1zKTtcblx0XHQtLXJhZGl1cy10YWc6IHZhcigtLXJhZGl1cy1zKTtcblx0XHQtLXJhZGl1cy1idXR0b24tbDogdmFyKC0tcmFkaXVzLW0pO1xuXHRcdC0tcmFkaXVzLWljb24tYnV0dG9uOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG5cdFx0LS1zcGFjaW5nLWNvbXBvbmVudC1nYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZzogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0LS1zcGFjaW5nLXNlY3Rpb24tcGFkZGluZzogdmFyKC0tc3BhY2luZy02MCk7XG5cdFx0LS10YWctcGFkZGluZzogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0LS10b2FzdC1zcGFjaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLXRvb2x0aXAtc3BhY2luZzogdmFyKC0tc3BhY2luZy04KTtcblx0XHQtLXotaW5kZXgtYmFzZTogdmFyKC0tei1pbmRleC0wKTtcblx0XHQtLXotaW5kZXgtZHJvcGRvd246IHZhcigtLXotaW5kZXgtMTApO1xuXHRcdC0tei1pbmRleC1zdGlja3k6IHZhcigtLXotaW5kZXgtNTApO1xuXHRcdC0tei1pbmRleC1tb2RhbDogdmFyKC0tei1pbmRleC0xMDApO1xuXHRcdC0tei1pbmRleC10b2FzdDogdmFyKC0tei1pbmRleC0xMDAwKTtcblx0fVxuXG5cdC8qIERlc2t0b3AgKi9cblx0LyogbnVtYmVyICovXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuXHRcdC0tYnV0dG9uLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdC0tY2FyZC1wYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLWZvcm1zLWlucHV0LXBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdC0tZm9ybXMtaW5wdXQtaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0XHQtLWljb24tc2l6ZS1tZWRpdW06IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdC0taWNvbi1zaXplLXNtYWxsOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHQtLWljb24tc2l6ZS1sYXJnZTogdmFyKC0tc3BhY2luZy0zMik7XG5cdFx0LS1sYXlvdXQtZ3JpZC1jb2x1bW5zOiAwLjc1cmVtO1xuXHRcdC0tbGF5b3V0LWdyaWQtZ3V0dGVyOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0XHQtLWxheW91dC1ncmlkLW1hcmdpbjogdmFyKC0tc3BhY2luZy04MCk7XG5cdFx0LS1sYXlvdXQtbWF4LXdpZHRoOiA4MHJlbTtcblx0XHQtLW1vZGFsLXNwYWNpbmc6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRcdC0tcmFkaXVzLWNhcmQ6IHZhcigtLXJhZGl1cy1ub25lKTtcblx0XHQtLXJhZGl1cy1idXR0b24tbTogdmFyKC0tcmFkaXVzLXMpO1xuXHRcdC0tcmFkaXVzLWJ1dHRvbi1zOiB2YXIoLS1yYWRpdXMtcyk7XG5cdFx0LS1yYWRpdXMtaW5wdXQ6IHZhcigtLXJhZGl1cy1zKTtcblx0XHQtLXJhZGl1cy10YWc6IHZhcigtLXJhZGl1cy1zKTtcblx0XHQtLXJhZGl1cy1idXR0b24tbDogdmFyKC0tcmFkaXVzLW0pO1xuXHRcdC0tcmFkaXVzLWljb24tYnV0dG9uOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG5cdFx0LS1zcGFjaW5nLWNvbXBvbmVudC1nYXA6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZzogdmFyKC0tc3BhY2luZy0zMik7XG5cdFx0LS1zcGFjaW5nLXNlY3Rpb24tcGFkZGluZzogdmFyKC0tc3BhY2luZy04MCk7XG5cdFx0LS10YWctcGFkZGluZzogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0LS10b2FzdC1zcGFjaW5nOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0XHQtLXRvb2x0aXAtc3BhY2luZzogdmFyKC0tc3BhY2luZy04KTtcblx0XHQtLXotaW5kZXgtYmFzZTogdmFyKC0tei1pbmRleC0wKTtcblx0XHQtLXotaW5kZXgtZHJvcGRvd246IHZhcigtLXotaW5kZXgtMTApO1xuXHRcdC0tei1pbmRleC1zdGlja3k6IHZhcigtLXotaW5kZXgtNTApO1xuXHRcdC0tei1pbmRleC1tb2RhbDogdmFyKC0tei1pbmRleC0xMDApO1xuXHRcdC0tei1pbmRleC10b2FzdDogdmFyKC0tei1pbmRleC0xMDAwKTtcblx0fVxufVxuXG4vKiBFeHRyYXMgKi9cbjpyb290IHtcblx0LS10cmFuc2l0aW9uLTE1OiBhbGwgLjE1cyBlYXNlLWluLW91dDtcblx0LS1zaGFkb3ctdGl0bGU6IDAgMCA5MHB4IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG59IiwiLyogVHlwb2dyYXBoeSAtIEZvbnQgU2l6ZXMgKi9cbjpyb290IHtcblx0LyogRmx1aWQgdHlwb2dyYXBoeSB1c2FuZG8gY2xhbXAoKSBkZXNkZSB0aGVtZS5qc29uICovXG5cdC0tZm9udC1zaXplLWhlcm86IGNsYW1wKDIuNXJlbSwgMS41cmVtICsgM3Z3LCA0LjM3NXJlbSk7XG5cdC0tZm9udC1zaXplLTR4bDogY2xhbXAoMnJlbSwgMS41cmVtICsgMS41dncsIDNyZW0pO1xuXHQtLWZvbnQtc2l6ZS0zeGw6IGNsYW1wKDEuNzVyZW0sIDEuMjVyZW0gKyAxLjI1dncsIDIuNXJlbSk7XG5cdC0tZm9udC1zaXplLTJ4bDogY2xhbXAoMS41cmVtLCAxcmVtICsgMXZ3LCAycmVtKTtcblx0LS1mb250LXNpemUteGw6IGNsYW1wKDEuMjVyZW0sIDFyZW0gKyAwLjV2dywgMS41cmVtKTtcblx0LS1mb250LXNpemUtbDogY2xhbXAoMS4xMjVyZW0sIDFyZW0gKyAwLjI1dncsIDEuMjVyZW0pO1xuXHQtLWZvbnQtc2l6ZS1iYXNlOiBjbGFtcCgxcmVtLCAwLjg3NXJlbSArIDAuMjV2dywgMS4xMjVyZW0pO1xuXHQtLWZvbnQtc2l6ZS1tOiBjbGFtcCgxcmVtLCAwLjg3NXJlbSArIDB2dywgMXJlbSk7XG5cdC0tZm9udC1zaXplLXM6IGNsYW1wKDAuODc1cmVtLCAwLjc1cmVtICsgMHZ3LCAwLjg3NXJlbSk7XG5cdC0tZm9udC1zaXplLXhzOiBjbGFtcCgwLjc1cmVtLCAwLjc1cmVtICsgMHZ3LCAwLjc1cmVtKTtcblxuXHQvKiBGb250IGZhbWlsaWVzICovXG5cdC0tZm9udC1mYW1pbHktcG9wcGluczogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuXHQtLWZvbnQtZmFtaWx5LXJvYm90bzogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG5cdC0tZm9udC1mYW1pbHktaGVhZGluZzogdmFyKC0tZm9udC1mYW1pbHktcG9wcGlucyk7XG5cdC0tZm9udC1mYW1pbHktYm9keTogdmFyKC0tZm9udC1mYW1pbHktcm9ib3RvKTtcblxuXHQvKiBGb250IHdlaWdodHMgKi9cblx0LS1mb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XG5cdC0tZm9udC13ZWlnaHQtbWVkaXVtOiA1MDA7XG5cdC0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcblx0LS1mb250LXdlaWdodC1ib2xkOiA3MDA7XG5cblx0LyogTGluZSBoZWlnaHRzICovXG5cdC0tbGluZS1oZWlnaHQtdGlnaHQ6IDEuMjtcblx0LS1saW5lLWhlaWdodC1ub3JtYWw6IDEuNTtcblx0LS1saW5lLWhlaWdodC1yZWxheGVkOiAxLjc1O1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gUmVzZXRcbiAqXG4gKiBSZXNldCBDU1MgYsOhc2ljbyBwYXJhIG5vcm1hbGl6YXIgZXN0aWxvcyBlbnRyZSBuYXZlZ2Fkb3Jlcy5cbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLyogQm94IHNpemluZyAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVzZXQgbWFyZ2lucyAmIHBhZGRpbmdzICovXG4qIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKiBIVE1MICYgQm9keSAqL1xuaHRtbCxcbmJvZHkge1xuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuaHRtbCB7XG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0LW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXHR0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcblx0bWFyZ2luOiAwO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLyogTWVkaWEgZWxlbWVudHMgKi9cbmltZyxcbnBpY3R1cmUsXG52aWRlbyxcbmNhbnZhcyxcbnN2ZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogRm9ybSBlbGVtZW50cyAqL1xuaW5wdXQsXG5idXR0b24sXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG5cdGZvbnQ6IGluaGVyaXQ7XG59XG5cbmJ1dHRvbiB7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4vKiBUeXBvZ3JhcGh5ICovXG5wLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IGluaGVyaXQ7XG59XG5cbi8qIExpc3RzICovXG51bCxcbm9sIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogVGFibGVzICovXG50YWJsZSB7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBidXR0b24gc3R5bGVzICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuXHRhcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IGlucHV0IHN0eWxlcyAqL1xuaW5wdXQsXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKiBSZW1vdmUgc2VhcmNoIGlucHV0IGNhbmNlbCBidXR0b24gKFdlYmtpdCkgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKiBSZW1vdmUgc3Bpbm5lciAobnVtYmVyIGlucHV0KSAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuLyogQWNjZXNzaWJpbGl0eSAtIFJlZHVjZWQgbW90aW9uICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXG5cdCosXG5cdCo6OmJlZm9yZSxcblx0Kjo6YWZ0ZXIge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG5cdFx0YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuXHRcdHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBUeXBvZ3JhcGh5XG4gKlxuICogRXN0aWxvcyBiYXNlIGRlIHRpcG9ncmFmw61hIGFwbGljYWRvcyBhIGVsZW1lbnRvcyBIVE1MLlxuICogRXN0YWJsZWNlIGxhIGplcmFycXXDrWEgdGlwb2dyw6FmaWNhIHkgZXN0aWxvcyBkZSB0ZXh0by5cbiAqXG4gKiBAcGFja2FnZSBAdWRlYy9zdHlsZS1saWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEJvZHkgKi9cbmJvZHkge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYm9keSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLyogSGVhZGluZ3MgKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNik7XG59XG5cbmgxIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtNHhsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuaDIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0zeGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIwKTtcbn1cblxuaDMge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xufVxuXG5oNCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbn1cblxuaDUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbmg2IHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wLFxubGkge1xuXHRjb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4vKiBQw6FycmFmbyBkZXN0YWNhZG9vICovXG5wLmZlYXR1cmVkIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcbn1cblxuLyogTGlua3MgKi9cbmEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1kZWZhdWx0KTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbmE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG5hOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWxpbmstZGVmYXVsdCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbmE6dmlzaXRlZCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLXZpc2l0ZWQpO1xufVxuXG4ubWFpbiBhW2hyZWZdOm5vdCg6d2hlcmUoLnVkZWMtYnV0dG9uLCBbaHJlZl49XCIjXCJdLCBbaHJlZl49XCJqYXZhc2NyaXB0OlwiIGldLCBbaHJlZl49XCIvXCJdOm5vdChbaHJlZl49XCIvL1wiXSksIFtocmVmKj1cIi8vdWRlYy5jbFwiXSwgW2hyZWYqPVwiLy91ZGVjLmxvY2FsaG9zdFwiXSwgW2hyZWYqPVwiLy91ZGVjLmJsb29tLXV4LmNvbVwiXSwgW2hyZWZePVwibWFpbHRvOlwiXSwgW2hyZWZePVwidGVsOlwiXSkpOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDE4cHg7XG5cdGhlaWdodDogMTJweDtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNCk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6IGltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMzIlMjIlMjBoZWlnaHQlM0QlMjIzMiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNNS4zMzMzNyUyMDI2LjY2NjdWNS4zMzMzM0gxNC45NzQ0VjYuNjY2NjdINi42NjY3MVYyNS4zMzMzSDI1LjMzMzRWMTcuMDI1N0gyNi42NjY3VjI2LjY2NjdINS4zMzMzN1pNMTIuOTg0NyUyMDE5Ljk1OUwxMi4wNDElMjAxOS4wMTUzTDI0LjM4OTclMjA2LjY2NjY3SDE4LjY2NjdWNS4zMzMzM0gyNi42NjY3VjEzLjMzMzNIMjUuMzMzNFY3LjYxMDMzTDEyLjk4NDclMjAxOS45NTlaJTIyJTIwZmlsbCUzRCUyMiUyMzIyM0M2QSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRmaWx0ZXI6IGdyYXlzY2FsZSgxKSBjb250cmFzdCgxMCkgaW52ZXJ0KDEpXG59XG5cbi8qIFR5cG9ncmFwaHkgKi9cbnN0cm9uZyxcbmIge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbmVtLFxuaSB7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuc21hbGwge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbn1cblxubWFyayB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHRwYWRkaW5nLWlubGluZTogdmFyKC0tc3BhY2luZy00KTtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAsXG5wcmUge1xuXHRmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xuXHRmb250LXNpemU6IDAuOWVtO1xufVxuXG5jb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdXJmYWNlKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTgpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG59XG5cbnByZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3VyZmFjZSk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdG92ZXJmbG93LXg6IGF1dG87XG59XG5cbnByZSBjb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIExpc3RzIC0gRXN0aWxvcyBwcmVkZXRlcm1pbmFkb3MgYmFzYWRvcyBlbiB3cC1ibG9jay1saXN0ICovXG5vbCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxub2wgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbm9sIGxpOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5vbCBsaTo6bWFya2VyIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xufVxuXG5vbCBvbCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4vKiBEZWZhdWx0IGxpc3RzIG9ubHkgLSBidWxsZXRzIHZpc2libGUgb25seSBpbiBjb250ZW50IGxpc3RzICovXG4ubWFpbiB1bCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjApO1xuXHRsaXN0LXN0eWxlLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEwJyBoZWlnaHQ9JzExJyB2aWV3Qm94PScwIDAgMTAgMTEnIGZpbGw9J25vbmUnJTNFJTNDcmVjdCB3aWR0aD0nMTAnIGhlaWdodD0nMTAnIGZpbGw9JyUyMzIyM0M2QScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLm1haW4gdWwgbGkge1xuXHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbi5tYWluIHVsIGxpOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFpbiB1bCBsaTo6bWFya2VyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xufVxuXG4ubWFpbiB1bCB1bCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4vKiBSZXNldCBsaXN0IHN0eWxlcyBmb3Igbm9uLWNvbnRlbnQgbGlzdHMgKi9cbnVsIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBJbWFnZXMgKi9cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMDtcbn1cblxuZmlnY2FwdGlvbiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCk7XG59XG5cbi8qIFRhYmxlcyAqL1xudGFibGUge1xuXHR3aWR0aDogMTAwJTtcbn1cblxudGgge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50aCxcbnRkIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xMik7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN1cmZhY2UpO1xufVxuXG4vKiBCbG9ja3F1b3RlICovXG5ibG9ja3F1b3RlIHtcblx0bWFyZ2luOiB2YXIoLS1zcGFjaW5nLTMyKSAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXJlbGF4ZWQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1tdXRlZCk7XG59XG5cbi8qIEhpZGRlbiAqL1xuW2hpZGRlbl0ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMXB4O1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGJvcmRlci13aWR0aDogMDtcbn1cblxuLyogRm9jdXMgdmlzaWJsZSAqL1xuOmZvY3VzLXZpc2libGUge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIFNlbGVjdGlvbiAqL1xuOjpzZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIEZvcm1zXG4gKlxuICogU2lzdGVtYSBkZSBmb3JtdWxhcmlvcyBjb24gbm9tZW5jbGF0dXJhIEJFTS5cbiAqIEluY2x1eWUgaW5wdXRzLCB0ZXh0YXJlYXMsIHNlbGVjdHMsIGxhYmVscyB5IGVzdGFkb3MgZGUgdmFsaWRhY2nDs24uXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEZvcm0gR3JvdXAgLSBDb250ZW5lZG9yIGRlIGNhbXBvICovXG4uZm9ybS1ncm91cCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMzIpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4vKiBGb3JtIExhYmVsICovXG4uZm9ybS1sYWJlbCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWxhYmVsLXRleHQpO1xufVxuXG4uZm9ybS1sYWJlbCAucmVxdWlyZWQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLyogRm9ybSBDb250cm9sIC0gSW5wdXQgYmFzZSAqL1xuLmZvcm0tY29udHJvbCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtcyk7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItZGVmYXVsdCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC10ZXh0KTtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uZm9ybS1jb250cm9sOjpwbGFjZWhvbGRlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1wbGFjZWhvbGRlcik7XG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1mb2N1cyk7XG59XG5cbi5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1iZy1kaXNhYmxlZCk7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLyogRXN0YWRvcyBkZSB2YWxpZGFjacOzbiAqL1xuLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKTppbnZhbGlkOm5vdCg6Zm9jdXMpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZmVlZGJhY2stcmVkLTEwMCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLWVycm9yKTtcbn1cblxuLyogTW9kaWZpY2Fkb3JlcyBkZSBlc3RhZG8gcGFyYSBmb3JtLWNvbnRyb2wgKi9cbi5mb3JtLWNvbnRyb2wtLWVycm9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZmVlZGJhY2stcmVkLTEwMCk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLWVycm9yKTtcbn1cblxuLmZvcm0tY29udHJvbC0tc3VjY2VzcyB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLXN1Y2Nlc3MpO1xufVxuXG4uZm9ybS1jb250cm9sLS13YXJuaW5nIHtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItd2FybmluZyk7XG59XG5cbi8qIFRleHRhcmVhICovXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0bWluLWhlaWdodDogOTBweDtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyogU2VsZWN0ICovXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTguMTkxNDEgOS42OTIyNUwxMS45OTkyIDEzLjVMMTUuODA2OSA5LjY5MjI1SDguMTkxNDFaJyBmaWxsPSclMjMwNzBDMTUnLyUzRSUzQy9zdmclM0VcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNzVyZW0gY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDI0cHggMjRweDtcblx0cGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCBvcHRpb24ge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuc2VsZWN0LmZvcm0tY29udHJvbCBvcHRpb25bdmFsdWU9XCJcIl0ge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qIEhlbHBlciBUZXh0ICovXG4uZm9ybS1oZWxwZXIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWlucHV0LWhlbHBlci10ZXh0KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTtcbn1cblxuLmZvcm0taGVscGVyLS1lcnJvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItZXJyb3IpO1xufVxuXG4uZm9ybS1oZWxwZXItLXN1Y2Nlc3Mge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItaW5wdXQtYm9yZGVyLXN1Y2Nlc3MpO1xufVxuXG4vKiBGb3JtIFN1Ym1pdCBCdXR0b24gKi9cbi5mb3JtLXN1Ym1pdCB7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcblx0bWFyZ2luLWlubGluZTogYXV0bztcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSB2YXIoLS1zcGFjaW5nLTI0KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS10ZXh0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctZGVmYXVsdCk7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW0pO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZvcm0tc3VibWl0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctaG92ZXIpO1xufVxuXG4uZm9ybS1zdWJtaXQ6ZGlzYWJsZWQge1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1kaXNhYmxlZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS10ZXh0KTtcblx0b3BhY2l0eTogMC42O1xufVxuXG4vKiBDaGVja2JveCB5IFJhZGlvICovXG4uZm9ybS1jaGVjayB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbi5mb3JtLWNoZWNrX19pbnB1dCB7XG5cdHdpZHRoOiAxLjI1cmVtO1xuXHRoZWlnaHQ6IDEuMjVyZW07XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1kZWZhdWx0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXMpO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmZvcm0tY2hlY2tfX2lucHV0OmNoZWNrZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuLmZvcm0tY2hlY2tfX2lucHV0OmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLWlucHV0LWJvcmRlci1mb2N1cyk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5mb3JtLWNoZWNrX19pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG59XG5cbi5mb3JtLWNoZWNrX19sYWJlbCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBGb3JtIGVzcGVjw61maWNvIGRlIGNvbnRhY3RvICovXG4uZm9ybS0tY29udGFjdCB7XG5cdG1heC13aWR0aDogMzcuNXJlbTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmZvcm0tY29udHJvbCB7XG5cdFx0bWluLXdpZHRoOiAyMTBweDtcblx0fVxuXG5cdC5mb3JtLXN1Ym1pdCB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn0iLCIvKiBIb3Jpem9udGFsIHJ1bGUgKi9cbmhyIHtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMCk7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0zMikgMDtcbn1cblxuLmhyLS10aXRsZSxcbi5oci0tbmFycm93IHtcblx0Ym9yZGVyLXRvcC13aWR0aDogNXB4O1xuXHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy01MDApO1xuXHR3aWR0aDogNTBweDtcbn1cblxuLmhyLS1kYXNoIHtcblx0Ym9yZGVyLXRvcC1zdHlsZTogZGFzaGVkO1xuXHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMjAwKTtcbn1cblxuLmhyLS1icnVzaCB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0LyogRGVncmFkYWRvIG3DoXMgY29tcGxlam8gKi9cblx0YmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblx0LyogUmVjb3J0YSBlbCBkZWdyYWRhZG8gc29sbyBhbCBwYWRkaW5nICovXG5cdC8qIFNpIHF1aWVyZXMgcXVlIGVsIGRlZ3JhZGFkbyBjdWJyYSB0b2RvIGVsIGJvcmRlIHN1cGVyaW9yICovXG5cdGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKSwgdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKSwgdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKSwgdHJhbnNwYXJlbnQpIDE7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBMYXlvdXRcbiAqXG4gKiBTaXN0ZW1hIGRlIGxheW91dDogY29udGFpbmVycywgZ3JpZHMgeSB1dGlsaWRhZGVzIGRlIGFsaW5lYWNpw7NuLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG5cbi8qIFNlY3Rpb25zICovXG4uc2VjdGlvbiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLXNlY3Rpb24tcGFkZGluZyk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLXNlY3Rpb24tcGFkZGluZyk7XG59XG5cbi8qIE1haW4gY29udGVudCAqL1xuLm1haW4ge1xuXHRtaW4taGVpZ2h0OiA1MHZoO1xufVxuXG4vKiBBbmNobyBtw6F4aW1vIGVuIGVsZW1lbnRvcyBkZW50cm8gZGUgZW50cnktY29udGVudCAqL1xuXG4ubWFpbiAuZW50cnktY29udGVudD5oMSxcbi5tYWluIC5lbnRyeS1jb250ZW50PmgyLFxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+aDMsXG4ubWFpbiAuZW50cnktY29udGVudD5oNCxcbi5tYWluIC5lbnRyeS1jb250ZW50Pmg1LFxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+aDYsXG4ubWFpbiAuZW50cnktY29udGVudD5wLFxuLm1haW4gLmVudHJ5LWNvbnRlbnQ+dWwsXG4ubWFpbiAuZW50cnktY29udGVudD5vbCxcbi5tYWluIC5lbnRyeS1jb250ZW50PmJsb2NrcXVvdGUge1xuXHRtYXgtd2lkdGg6IDQzLjc1cmVtO1xufSIsIi8qIENvbnRhaW5lcnMgKi9cbi5jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1heC13aWR0aDogMTI4MHB4O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQ0KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQ0KTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcblx0LmNvbnRhaW5lciB7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0fVxufVxuXG4vKiBBbGlnbm1lbnQgKFdvcmRQcmVzcyBjb21wYXRpYmxlKSAqL1xuLmFsaWdud2lkZSB7XG5cdG1heC13aWR0aDogMTQ0MHB4O1xuXHR3aWR0aDogOTh2dztcblx0bWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNDl2dyk7XG5cdG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA0OXZ3KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ4MHB4KSB7XG5cdC5hbGlnbndpZGUge1xuXHRcdG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncgKyBjYWxjKCgxMDB2dyAtIDE0NDBweCkgLyAyKSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncgKyBjYWxjKCgxMDB2dyAtIDE0NDBweCkgLyAyKSk7XG5cdH1cbn1cblxuLmFsaWduZnVsbCB7XG5cdHdpZHRoOiAxMDB2dztcblx0bWF4LXdpZHRoOiAxMDB2dztcblx0bWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XG5cdG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbn1cblxuLmFsaWduY2VudGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBTaXRlIEhlYWRlclxuICpcbiAqIENhYmVjZXJhIHByaW5jaXBhbCBkZWwgc2l0aW8gYmFzYWRhIGVuIGVsIGRpc2XDsW8gZXhpc3RlbnRlIGRlbCB0ZW1hLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzcywgcmVzZXQuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi5zaXRlLWhlYWRlciB7XG5cdGNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcblx0fVxuXG5cdD4uY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtYXJlYXM6XG5cdFx0XHRcImxvZ28tbW9iaWxlIHRvZ2dsZXItbW9iaWxlLW5hdlwiXG5cdFx0XHRcIm5hdmJhciBuYXZiYXJcIlxuXHRcdFx0XCJ0b3BiYXIgdG9wYmFyXCJcblx0XHRcdFwibGFuZ3VhZ2Utc2VhcmNoIGxhbmd1YWdlLXNlYXJjaFwiO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOlxuXHRcdFx0XHRcInRvcGJhciBsYW5ndWFnZS1zZWFyY2hcIlxuXHRcdFx0XHRcIm5hdmJhciBuYXZiYXJcIjtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG5cdFx0fVxuXHR9XG5cblx0Lm1lbnUge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0fVxuXG5cdGEge1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Y29sb3I6ICNmZmY7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2xvZ28tbW9iaWxlIHtcblx0XHRncmlkLWFyZWE6IGxvZ28tbW9iaWxlO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0anVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDcuOHJlbTtcblxuXHRcdH1cblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmX190b2dnbGVyLW1vYmlsZS1uYXYge1xuXHRcdGdyaWQtYXJlYTogdG9nZ2xlci1tb2JpbGUtbmF2O1xuXHRcdGp1c3RpZnktc2VsZjogZmxleC1lbmQ7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xuXHRcdH1cblxuXHRcdC5iYXIxIHtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDZweCA2cHhcblx0XHR9XG5cblx0XHQuYmFyMiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA2cHhcblx0XHR9XG5cblx0XHQuYmFyMyB7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiA2cHggLTZweFxuXHRcdH1cblx0fVxuXG5cdCZfX3RvcGJhciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRncmlkLWFyZWE6IHRvcGJhcjtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHR9XG5cblx0XHQubWVudSB7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdCtsaSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04KTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04KTtcblx0XHRcdH1cblxuXHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0XHRcdGxpOmxhc3QtY2hpbGQgYSB7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZfX2xhbmd1YWdlLXNlYXJjaCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGdyaWQtYXJlYTogbGFuZ3VhZ2Utc2VhcmNoO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiB1bnNldDtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdFx0fVxuXG5cdFx0LnNlYXJjaC1mb3JtIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDUwcmVtO1xuXHRcdFx0aGVpZ2h0OiAwcHg7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdFx0XHR0cmFuc2l0aW9uOiAuM3MgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdC5zZWFyY2gtZm9ybV9fY29udGFpbmVyIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXG5cdFx0XHQuc2VhcmNoLWZpZWxkIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSBjYWxjKHZhcigtLXNwYWNpbmctMTIpICsgdmFyKC0tc3BhY2luZy0yNCkgKyAyNHB4KSB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcG9wcGlucyk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0zMDApO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDEuNXJlbTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEuNXJlbTtcblx0XHRcdFx0XHRmaWxsOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uLnNlYXJjaC1zdWJtaXQge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRyaWdodDogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0uNzVyZW07XG5cdFx0XHR9XG5cblx0XHRcdGJ1dHRvbi5zZWFyY2gtY2xvc2Uge1xuXHRcdFx0XHRwYWRkaW5nLWJsb2NrOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRcdFx0XHRwYWRkaW5nLWlubGluZTogdmFyKC0tYnV0dG9uLXBhZGRpbmcpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zaXRlLWhlYWRlcl9fbGFuZ3VhZ2UtbGluayB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogdmFyKC0tc3BhY2luZy00KTtcblx0XHR9XG5cblx0XHQuc2l0ZS1oZWFkZXJfX3RvZ2dsZS1zZWFyY2gge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMS41cmVtO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblxuXHRcdC5zaXRlLWhlYWRlcl9fbGFuZ3VhZ2UtbGluaysuc2l0ZS1oZWFkZXJfX3RvZ2dsZS1zZWFyY2gge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy0xMikgKiAyKTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IGNhbGModmFyKC0tc3BhY2luZy0xMikgKiAtMSk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYuc2l0ZS1oZWFkZXItLXNlYXJjaC1hY3RpdmUgLnNlYXJjaC1mb3JtIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cblx0Jl9fbmF2YmFyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwdnc7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHJpZ2h0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC01MHZ3O1xuXHRcdG1hcmdpbi1yaWdodDogLTUwdnc7XG5cdFx0Z3JpZC1hcmVhOiBuYXZiYXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcblx0XHR9XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0XHRcdGRpc3BsYXk6IHVuc2V0O1xuXHRcdH1cblxuXHRcdC5jb250YWluZXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGdhcDogdmFyKC0tc3BhY2luZy0zMik7XG5cdFx0fVxuXG5cdFx0Jl9fbG9nbyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0d2lkdGg6IDkuNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQubWVudSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktcG9wcGlucyk7XG5cdFx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM1O1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcblx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtcyk7XG5cdFx0XHR9XG5cblx0XHRcdGxpLmN1cnJlbnQtbWVudS1pdGVtLFxuXHRcdFx0bGkuY3VycmVudC1tZW51LXBhcmVudCxcblx0XHRcdGxpLmN1cnJlbnQtbWVudS1hbmNlc3RvciB7XG5cdFx0XHRcdGE6OmFmdGVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMC4yZW0sIDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KSB2YXIoLS1zcGFjaW5nLTgpO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDYwcHgpIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogdmFyKC0tc3BhY2luZy0xNik7XG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS1zcGFjaW5nLTE2KSAqIDIpKTtcblx0XHRcdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxLjVlbTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy01MDApO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcjo6YWZ0ZXIsXG5cdFx0XHRcdCY6Zm9jdXM6OmFmdGVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMC4yZW0sIDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5zdWItbWVudSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIE1lbsO6IGFjdGl2byBlbiBtw7N2aWxlc1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cdC5zaXRlLWhlYWRlci0tbW9iaWxlLW5hdi1hY3RpdmUge1xuXHRcdD4uY29udGFpbmVyIHtcblx0XHRcdC5tZW51IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xMikgdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC5zaXRlLWhlYWRlcl9fdG9nZ2xlci1tb2JpbGUtbmF2IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXG5cdFx0XHQuYmFyMSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMnB4KSByb3RhdGUoNDVkZWcpO1xuXHRcdFx0fVxuXG5cdFx0XHQuYmFyMyB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpIHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0fVxuXG5cdFx0XHQuYmFyMiB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKC4yKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2l0ZS1oZWFkZXJfX2xhbmd1YWdlLXNlYXJjaCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRcdH1cblxuXHRcdC5zZWFyY2gtZm9ybSB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0cmlnaHQ6IHVuc2V0O1xuXHRcdFx0cGxhY2UtY29udGVudDogY2VudGVyO1xuXG5cdFx0XHRidXR0b24uc2VhcmNoLWNsb3NlIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2l0ZS1oZWFkZXJfX3RvcGJhciB7XG5cdFx0XHRkaXNwbGF5OiB1bnNldDtcblxuXHRcdFx0Lm1lbnUge1xuXHRcdFx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblxuXHRcdFx0XHRsaStsaSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNpdGUtaGVhZGVyX19uYXZiYXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdG9yZGVyOiAxO1xuXG5cdFx0XHQubWVudSB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpO1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpIHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBTaXRlIEZvb3RlclxuICpcbiAqIEZvb3RlciBwcmluY2lwYWwgZGVsIHNpdGlvIGJhc2FkbyBlbiBlbCBkaXNlw7FvIGV4aXN0ZW50ZSBkZWwgdGVtYS5cbiAqIEluY2x1eWUgbWVuw7ogcHJpbmNpcGFsLCBsb2dvcyBpbnN0aXR1Y2lvbmFsZXMgeSBjb2xvZsOzbiBsZWdhbC5cbiAqXG4gKiBOb21lbmNsYXR1cmEgQkVNOlxuICogLSAuc2l0ZS1mb290ZXI6IENvbnRlbmVkb3IgcHJpbmNpcGFsXG4gKiAtIC5zaXRlLWZvb3Rlcl9fbWVudTogTWVuw7ogcHJpbmNpcGFsIGRlbCBmb290ZXJcbiAqIC0gLnNpdGUtZm9vdGVyX19sb2dvczogQ29udGVuZWRvciBkZSBsb2dvcyBpbnN0aXR1Y2lvbmFsZXNcbiAqIC0gLnNpdGUtZm9vdGVyX19jb2xvZm9uOiBTZWNjacOzbiBkZSBjb3B5cmlnaHQgeSBlbmxhY2VzIGxlZ2FsZXNcbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3MsIHJlc2V0LmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNpdGUtZm9vdGVyIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdC5zaXRlLWZvb3RlciB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctODApO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0fVxufVxuXG4uc2l0ZS1mb290ZXIgLmNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctNDApO1xufVxuXG4uc2l0ZS1mb290ZXIgYSB7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4uc2l0ZS1mb290ZXIgYTpob3ZlciB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2l0ZS1mb290ZXIgaHIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxcHg7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgTWVudVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNpdGUtZm9vdGVyX19tZW51IHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cdC5zaXRlLWZvb3Rlcl9fbWVudSB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLnNpdGUtZm9vdGVyX19tZW51PmxpIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG59XG5cbi5zaXRlLWZvb3Rlcl9fbWVudT5saT5hIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5zaXRlLWZvb3Rlcl9fbWVudSAuc3ViLW1lbnUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctOCk7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy1jb21wb25lbnQtZ2FwKSAwIDAgMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTG9nb3MgU2VjdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNpdGUtZm9vdGVyX19sb2dvcyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc3BhY2luZy02MCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXHQuc2l0ZS1mb290ZXJfX2xvZ29zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogdmFyKC0tc3BhY2luZy0yMCk7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9mb24gU2VjdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNpdGUtZm9vdGVyX19jb2xvZm9uIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2l0ZS1mb290ZXJfX2NvbG9mb24gLm1lbnUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5zaXRlLWZvb3Rlcl9fY29sb2ZvbiAubWVudSBsaSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04KTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy04KTtcbn1cblxuLnNpdGUtZm9vdGVyX19jb2xvZm9uIC5tZW51IGxpK2xpIHtcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cdC5zaXRlLWZvb3Rlcl9fY29sb2ZvbiAubWVudSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJkcyBHcmlkIFBhdHRlcm5cbiAqXG4gKiBTaXN0ZW1hIGRlIGdyaWQgcmVzcG9uc2l2byBwYXJhIG1vc3RyYXIgbcO6bHRpcGxlcyB0YXJqZXRhcy5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IGNhcmQtYmFzZS5jc3MsIHZhcmlhYmxlcy5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLnBhdHRlcm4tY2FyZHMge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy04MCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgwKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNjApO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDApO1xuXHR9XG59XG5cbi8qIFTDrXR1bG8geSBkZXNjcmlwY2nDs24gZGUgbGEgc2VjY2nDs24gKi9cbi5wYXR0ZXJuLWNhcmRzX19oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ4KTtcbn1cblxuLnBhdHRlcm4tY2FyZHNfX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtM3hsKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXRpZ2h0KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMTYpO1xufVxuXG4ucGF0dGVybi1jYXJkc19fZGVzY3JpcHRpb24ge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcblx0bWF4LXdpZHRoOiA3MDBweDtcbn1cblxuLyogR3JpZCByZXNwb25zaXZvICovXG4ucGF0dGVybi1jYXJkc19fZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHNfX2dyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcblx0LnBhdHRlcm4tY2FyZHNfX2dyaWQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU4MHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzX19ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRyb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0fVxufVxuXG4vKiBDYXJkcyBkZW50cm8gZGVsIGdyaWQgdGllbmVuIGFsdHVyYSAxMDAlICovXG4ucGF0dGVybi1jYXJkc19fZ3JpZCAuY2FyZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLnBhdHRlcm4tY2FyZHNfX2dyaWQgLmNhcmQgLmNhcmRfX2FjdGlvbnMge1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZmxvdy1zcGFjZSk7XG59XG5cbi8qIEdyaWQgZGUgMiBjb2x1bW5hcyAqL1xuLnBhdHRlcm4tY2FyZHNfX2dyaWQtLXR3byB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzX19ncmlkLS10d28ge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbi8qIEdyaWQgZGUgNCBjb2x1bW5hcyAqL1xuLnBhdHRlcm4tY2FyZHNfX2dyaWQtLWZvdXIge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHNfX2dyaWQtLWZvdXIge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTgwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHNfX2dyaWQtLWZvdXIge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBCdXR0b25zXG4gKlxuICogU2lzdGVtYSBkZSBib3RvbmVzIGNvbiBtw7psdGlwbGVzIHZhcmlhbnRlcyB1c2FuZG8gbm9tZW5jbGF0dXJhIEJFTS5cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3NcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLyogQnV0dG9uIEJhc2UgKi9cbi51ZGVjLWJ1dHRvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctMTIpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1kZWZhdWx0KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LXRleHQpO1xufVxuXG4udWRlYy1idXR0b246aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1ob3Zlcik7XG59XG5cbi51ZGVjLWJ1dHRvbjpmb2N1cyB7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1ib3JkZXItZm9jdXMpO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udWRlYy1idXR0b246YWN0aXZlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnV0dG9uLXByaW1hcnktYmctcHJlc3MpO1xufVxuXG4udWRlYy1idXR0b246ZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1kaXNhYmxlZCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRpc2FibGVkKTtcblx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogQnV0dG9uIE1vZGlmaWVycyAtIFNpemUgKi9cbi51ZGVjLWJ1dHRvbi0tc21hbGwge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctOCk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xufVxuXG4udWRlYy1idXR0b24tLWxhcmdlIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy04KSB2YXIoLS1zcGFjaW5nLTI0KTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG59XG5cbi8qIEJ1dHRvbiBNb2RpZmllcnMgLSBTdHlsZSBWYXJpYW50cyAqL1xuLnVkZWMtYnV0dG9uLS1vdXRsaW5lIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuLnVkZWMtYnV0dG9uLS1vdXRsaW5lOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4udWRlYy1idXR0b24tLXRleHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpbmstZGVmYXVsdCk7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNCkgdmFyKC0tc3BhY2luZy0xMik7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLnVkZWMtYnV0dG9uLS10ZXh0OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi51ZGVjLWJ1dHRvbi0tcm91bmRlZCB7XG5cdHBhZGRpbmctaW5saW5lOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xufVxuXG4udWRlYy1idXR0b24tLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLnVkZWMtYnV0dG9uLS1zZWNvbmRhcnk6aG92ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcbn1cblxuLyogQnV0dG9uIHdpdGggSWNvbiAqL1xuLnVkZWMtYnV0dG9uLS1pY29uIHtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xufVxuXG4udWRlYy1idXR0b25fX2ljb24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxLjVyZW07XG5cdGhlaWdodDogMS41cmVtO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtZnVsbCk7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udWRlYy1idXR0b25fX2ljb24gc3ZnIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG59XG5cbi51ZGVjLWJ1dHRvbjpob3ZlciAudWRlYy1idXR0b25fX2ljb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApO1xufVxuXG4vKiBDb21iaW5hY2lvbmVzIGNvbXVuZXMgKi9cbi51ZGVjLWJ1dHRvbi0tcm91bmRlZC51ZGVjLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xufVxuXG4udWRlYy1idXR0b24tLXRleHQudWRlYy1idXR0b24tLWljb24ge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXHQudWRlYy1idXR0b24ge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuXHR9XG5cblx0LnVkZWMtYnV0dG9uLS1sYXJnZSB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy02KSB2YXIoLS1zcGFjaW5nLTI0KTtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2F0ZWdvcnkgVGFnc1xuICpcbiAqIFRhZ3MgZGUgY2F0ZWdvcsOtYXMgY29uIGN1YWRyYWRvIGRlIGNvbG9yIHVzYW5kbyA6OmJlZm9yZS5cbiAqIEVsIGNvbG9yIHNlIGNvbnRyb2xhIG1lZGlhbnRlIGxhIHZhcmlhYmxlIENTUyAtLXVkZWMtY2F0ZWdvcnktY29sb3IuXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi51ZGVjLWNhdGVnb3J5LXRhZyB7XG5cdC0tY29sb3ItY2F0ZWdvcnk6IHZhcigtLXVkZWMtY2F0ZWdvcnktY29sb3IsIHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApKTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLnVkZWMtY2F0ZWdvcnktdGFnOjpiZWZvcmUge1xuXHQtLWJhY2tncm91bmQtdGFnOiB2YXIoLS1jb2xvci1jYXRlZ29yeSk7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAwLjYyNXJlbTtcblx0LyogMTBweCAqL1xuXHRoZWlnaHQ6IDAuNjI1cmVtO1xuXHQvKiAxMHB4ICovXG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtdGFnKTtcblx0ZmxleDogMCAwIDAuNjI1cmVtO1xufVxuXG4vKiBIb3ZlciBzdGF0ZSBwYXJhIGVubGFjZXMgKi9cbmEudWRlYy1jYXRlZ29yeS10YWc6aG92ZXIge1xuXHRvcGFjaXR5OiAwLjg1O1xufVxuXG4vKiBDYXRlZ29yw61hcyBjb24gY29sb3JlcyBlc3BlY8OtZmljb3MgdXNhbmRvIGRhdGEtY2F0ZWdvcnkgKi9cbi51ZGVjLWNhdGVnb3J5LXRhZ1tkYXRhLWNhdGVnb3J5PVwiY3VsdHVyZVwiXSB7XG5cdC0tdWRlYy1jYXRlZ29yeS1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktY3VsdHVyZSk7XG59XG5cbi51ZGVjLWNhdGVnb3J5LXRhZ1tkYXRhLWNhdGVnb3J5PVwiaGVhbHRoLWVudmlyb25tZW50XCJdIHtcblx0LS11ZGVjLWNhdGVnb3J5LWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1oZWFsdGgtZW52aXJvbm1lbnQpO1xufVxuXG4udWRlYy1jYXRlZ29yeS10YWdbZGF0YS1jYXRlZ29yeT1cInNjaWVuY2UtdGVjaG5vbG9neVwiXSB7XG5cdC0tdWRlYy1jYXRlZ29yeS1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktc2NpZW5jZS10ZWNobm9sb2d5KTtcbn1cblxuLnVkZWMtY2F0ZWdvcnktdGFnW2RhdGEtY2F0ZWdvcnk9XCJodW1hbml0aWVzLXNvY2lldHlcIl0ge1xuXHQtLXVkZWMtY2F0ZWdvcnktY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWh1bWFuaXRpZXMtc29jaWV0eSk7XG59XG5cbi51ZGVjLWNhdGVnb3J5LXRhZ1tkYXRhLWNhdGVnb3J5PVwidW5pdmVyc2l0eVwiXSB7XG5cdC0tdWRlYy1jYXRlZ29yeS1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktdW5pdmVyc2l0eSk7XG59XG5cbi51ZGVjLWNhdGVnb3J5LXRhZ1tkYXRhLWNhdGVnb3J5PVwic3BvcnRcIl0ge1xuXHQtLXVkZWMtY2F0ZWdvcnktY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXNwb3J0KTtcbn1cblxuLnVkZWMtY2F0ZWdvcnktdGFnW2RhdGEtY2F0ZWdvcnk9XCJhY2FkZW1pYy1hY3Rpdml0aWVzXCJdIHtcblx0LS11ZGVjLWNhdGVnb3J5LWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1hY2FkZW1pYy1hY3Rpdml0aWVzKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LnVkZWMtY2F0ZWdvcnktdGFnIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcblx0fVxufSIsIi8qIEJyZWFkY3J1bWIgKi9cbi51ZGVjLWJyZWFkY3J1bWIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctOCk7XG59XG5cbi51ZGVjLWJyZWFkY3J1bWJfX2xhc3Qge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn0iLCIvKiBQYWdpbmF0aW9uICovXG4udWRlYy1wYWdpbmF0aW9uIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1wb3BwaW5zKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1ibG9jazogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLnVkZWMtcGFnaW5hdGlvbiBhLFxuLnVkZWMtcGFnaW5hdGlvbl9fY3VycmVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMnJlbTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cdHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuXHR3aWR0aDogMnJlbVxufVxuXG4udWRlYy1wYWdpbmF0aW9uX19jdXJyZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMjAwKTtcblx0Ym9yZGVyLXJhZGl1czogNTAlXG59XG5cbi51ZGVjLXBhZ2luYXRpb25fX25leHQsXG4udWRlYy1wYWdpbmF0aW9uX19wcmV2IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDc1JTtcblx0Ym9yZGVyLXJhZGl1czogNTAlXG59XG5cbi51ZGVjLXBhZ2luYXRpb25fX25leHQ6aG92ZXIsXG4udWRlYy1wYWdpbmF0aW9uX19wcmV2OmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMjAwKTtcblx0Y3Vyc29yOiBwb2ludGVyXG59XG5cbi51ZGVjLXBhZ2luYXRpb25fX3ByZXYge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOiBpbWFnZS9zdmcreG1sLCAlM0NzdmclMjB3aWR0aCUzRCUyMjMyJTIyJTIwaGVpZ2h0JTNEJTIyMzIlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMiUyMDMyJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTEzLjc0MzclMjAyMy4wNzdMMTQuNjg3MyUyMDIyLjExOEw5LjIzNjAxJTIwMTYuNjY2NkgyNS4zMzMzVjE1LjMzMzNIOS4yMzYwMUwxNC42ODczJTIwOS44ODE5N0wxMy43NDM3JTIwOC45MjI5N0w2LjY2NjY4JTIwMTZMMTMuNzQzNyUyMDIzLjA3N1olMjIlMjBmaWxsJTNEJTIyJTIzMDcwQzE1JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpXG59XG5cbi51ZGVjLXBhZ2luYXRpb25fX25leHQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOiBpbWFnZS9zdmcreG1sLCAlM0NzdmclMjB3aWR0aCUzRCUyMjMyJTIyJTIwaGVpZ2h0JTNEJTIyMzIlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAzMiUyMDMyJTIyJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUzQ3BhdGglMjBkJTNEJTIyTTE4LjI1NjMlMjAyMy4wNzdMMTcuMzEyNyUyMDIyLjExOEwyMi43NjQlMjAxNi42NjY2SDYuNjY2NjZWMTUuMzMzM0gyMi43NjRMMTcuMzEyNyUyMDkuODgxOTdMMTguMjU2MyUyMDguOTIyOTdMMjUuMzMzMyUyMDE2TDE4LjI1NjMlMjAyMy4wNzdaJTIyJTIwZmlsbCUzRCUyMiUyMzA3MEMxNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKVxufSIsIi8qIEFjY29yZGlvbiAqL1xuOnJvb3Qge1xuXHQtLXVkZWMtYWNjb3JkaW9uLWljb24tZGlzcGxheTogdXJsKFwiZGF0YTogaW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwd2lkdGglM0QlMjIzMiUyMiUyMGhlaWdodCUzRCUyMjMyJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzIlMjAzMiUyMiUyMGZpbGwlM0QlMjJub25lJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlM0NwYXRoJTIwZCUzRCUyMk0xNS4zMzMlMjAyNi42NjYzVjE2LjY2NjNINS4zMzMwMVYxNS4zMzNIMTUuMzMzVjUuMzMzMDFIMTYuNjY2M1YxNS4zMzNIMjYuNjY2M1YxNi42NjYzSDE2LjY2NjNWMjYuNjY2M0gxNS4zMzNaJTIyJTIwZmlsbCUzRCUyMiUyMzA3MEMxNSUyMiUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcblx0LS11ZGVjLWFjY29yZGlvbi1pY29uLWNvbGFwc2U6IHVybChcImRhdGE6IGltYWdlL3N2Zyt4bWwsICUzQ3N2ZyUyMHdpZHRoJTNEJTIyMzIlMjIlMjBoZWlnaHQlM0QlMjIzMiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDMyJTIwMzIlMjIlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNOCUyMDE2LjY2NjNWMTUuMzMzSDI0VjE2LjY2NjNIOFolMjIlMjBmaWxsJTNEJTIyJTIzMDcwQzE1JTIyJTJGJTNFJTNDJTJGc3ZnJTNFXCIpXG59XG5cbi51ZGVjLWFjY29yZGlvbiB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MTQ0MHB4KSB7XG5cdC51ZGVjLWFjY29yZGlvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNClcblx0fVxufVxuXG4udWRlYy1hY2NvcmRpb25fX2hlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi10b3A6IDBcbn1cblxuLnVkZWMtYWNjb3JkaW9uX19saW5rIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teGwpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTEyKSB2YXIoLS1zcGFjaW5nLTYwKSB2YXIoLS1zcGFjaW5nLTEyKSB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXRcbn1cblxuLnVkZWMtYWNjb3JkaW9uX19saW5rOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2N3B4KSB7XG5cdC51ZGVjLWFjY29yZGlvbl9fbGluayB7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMjQpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTI0KVxuXHR9XG59XG5cbi51ZGVjLWFjY29yZGlvbl9fbGluazphZnRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcblx0YmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdWRlYy1hY2NvcmRpb24taWNvbi1kaXNwbGF5KTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE4cHg7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1pY29uLWJ1dHRvbik7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGhlaWdodDogMjZweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdHRvcDogY2FsYyg1MCUgLSAxM3B4KTtcblx0d2lkdGg6IDI2cHhcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjdweCkge1xuXHQudWRlYy1hY2NvcmRpb25fX2xpbms6YWZ0ZXIge1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMzJweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuXHRcdHdpZHRoOiA0MHB4XG5cdH1cbn1cblxuLnVkZWMtYWNjb3JkaW9uX19kZXNjcmlwdGlvbixcbi51ZGVjLWFjY29yZGlvbl9fdGV4dCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXgtd2lkdGg6IDQzLjc1cmVtXG59XG5cbi51ZGVjLWFjY29yZGlvbl9fZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00KTtcblx0dHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dFxufVxuXG4udWRlYy1hY2NvcmRpb24gLnVkZWMtYWNjb3JkaW9uX19saW5rOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4udWRlYy1hY2NvcmRpb24gLnVkZWMtYWNjb3JkaW9uX19saW5rOmhvdmVyIC51ZGVjLWFjY29yZGlvbl9fZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLnVkZWMtYWNjb3JkaW9uOmhhcyguaXMtb3BlbikgLnVkZWMtYWNjb3JkaW9uX19saW5rIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4udWRlYy1hY2NvcmRpb246aGFzKC5pcy1vcGVuKSAudWRlYy1hY2NvcmRpb25fX2Rlc2NyaXB0aW9uIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi51ZGVjLWFjY29yZGlvbjpoYXMoLmlzLW9wZW4pIC51ZGVjLWFjY29yZGlvbl9fbGluazphZnRlciB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXVkZWMtYWNjb3JkaW9uLWljb24tY29sYXBzZSlcbn1cblxuLnVkZWMtYWNjb3JkaW9uX19jb250ZW50IHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWF4LWhlaWdodDogMDtcblx0b3BhY2l0eTogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy1jb250YWluZXItcGFkZGluZyk7XG5cdHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXRcbn1cblxuLnVkZWMtYWNjb3JkaW9uX19jb250ZW50LmlzLW9wZW4ge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1jb2xvci1iZy1hY2NlbnQpO1xuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1jb2xvci1iZy1hY2NlbnQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0bWF4LWhlaWdodDogMTk5OXB4O1xuXHRvcGFjaXR5OiAxO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00NCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4udWRlYy1hY2NvcmRpb25fX2NvbnRlbnQ+OmZpcnN0LWNoaWxkIHtcblx0bWFyZ2luLXRvcDogMFxufSIsIi8qIFRhYnMgKi9cbnVsLnVkZWMtdGFic19fbmF2IHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XG5cdHVsLnVkZWMtdGFic19fbmF2IHtcblx0XHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3BhY2luZy0xMikqLTEpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpXG5cdH1cbn1cblxudWwudWRlYy10YWJzX19uYXYgbGkge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi51ZGVjLXRhYnNfX25hdiBsaStsaSB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6OTkycHgpIHtcblx0LnVkZWMtdGFic19fbmF2IGxpK2xpIHtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0xMilcblx0fVxufVxuXG4udWRlYy10YWJzX19uYXYgbGkgYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3VyZmFjZSk7XG5cdGJvcmRlci1ib3R0b206IDVweCBzb2xpZCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN1cmZhY2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tcG9wcGlucyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1sKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy04KSB2YXIoLS1zcGFjaW5nLTI0KTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjE1cyBsaW5lYXI7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXBcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjdweCkge1xuXHQudWRlYy10YWJzX19uYXYgbGkgYSB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xMikgdmFyKC0tc3BhY2luZy0zMilcblx0fVxufVxuXG4udWRlYy10YWJzX19uYXYgbGk6bm90KC50YWItYWN0aXZlKSBhOmZvY3VzLFxuLnVkZWMtdGFic19fbmF2IGxpOm5vdCgudGFiLWFjdGl2ZSkgYTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbXV0ZWQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKVxufVxuXG4udWRlYy10YWJzX19uYXYgLnRhYi1hY3RpdmUgYSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtYWx0KTtcblx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdGN1cnNvcjogZGVmYXVsdFxufVxuXG4udWRlYy10YWJzX19jb250ZW50IHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tYmFja2dyb3VuZC1jb2xvci1iZy1hY2NlbnQpXG59XG5cbi51ZGVjLXRhYnNfX3RhYiB7XG5cdGhlaWdodDogMDtcblx0b3BhY2l0eTogMDtcblx0b3ZlcmZsb3c6IGhpZGRlblxufVxuXG4udWRlYy10YWJzX190YWItLWFjdGl2ZSB7XG5cdGhlaWdodDogYXV0bztcblx0b3BhY2l0eTogMTtcblx0b3ZlcmZsb3c6IHVuc2V0O1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQ0KSB2YXIoLS1zcGFjaW5nLWNvbnRhaW5lci1wYWRkaW5nKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGxpbmVhclxufVxuXG4udWRlYy10YWJzX190YWI+KiB7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IDBcbn1cblxuLnVkZWMtdGFic19fdGFiPjpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDBcbn0iLCIvKiBGZWVkYmFjayBNZXNzYWdlcyAqL1xuLnVkZWMtZmVlZGJhY2sge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcbn1cblxuLnVkZWMtZmVlZGJhY2tfX3RpdGxlIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0bWFyZ2luOiAwO1xufVxuXG4udWRlYy1mZWVkYmFja19fbWVzc2FnZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0bWFyZ2luOiAwO1xufVxuXG4udWRlYy1mZWVkYmFja19fYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgpO1xufVxuXG4vKiBNb2RpZmljYWRvcmVzIGRlIGZlZWRiYWNrICovXG4udWRlYy1mZWVkYmFjay0tc3VjY2VzcyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZlZWRiYWNrLWdyZWVuLTIwMCk7XG59XG5cbi51ZGVjLWZlZWRiYWNrLS1lcnJvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZlZWRiYWNrLXJlZC0xMDApO1xufVxuXG4udWRlYy1mZWVkYmFjay0td2FybmluZyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZlZWRiYWNrLXllbGxvdy0yMDApO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQudWRlYy1mZWVkYmFjayB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0zMikgdmFyKC0tc3BhY2luZy0xNik7XG5cdH1cblxuXHQudWRlYy1mZWVkYmFja19fYnV0dG9ucyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0fVxufSIsIi8qIEJhbm5lciAqL1xuLnVkZWMtYmFubmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWluLWhlaWdodDogMzByZW07XG5cdHBhZGRpbmctYmxvY2s6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTgwKTtcblx0cGFkZGluZy1pbmxpbmU6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTEyKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0b3ZlcmZsb3c6IGNsaXA7XG59XG5cbi51ZGVjLWJhbm5lcl9faW1hZ2UtYmFja2dyb3VuZCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0ei1pbmRleDogMDtcbn1cblxuLnVkZWMtYmFubmVyX19vdmVybGF5IHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xuXHRtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG59XG5cbi51ZGVjLWJhbm5lcl9fb3ZlcmxheS0tbm9pc2U6OmFmdGVyIHtcblx0Y29udGVudDogXCJcIjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMDAnIGhlaWdodD0nMjAwJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAwIDIwMCclM0UlM0NnIGZpbHRlcj0ndXJsKCUyM2EpJyUzRSUzQ3BhdGggZmlsbD0nJTIzZDlkOWQ5JyBkPSdNMCAwaDIwMHYyMDBIMHonLyUzRSUzQy9nJTNFJTNDZGVmcyUzRSUzQ2ZpbHRlciBpZD0nYScgd2lkdGg9JzIwMCcgaGVpZ2h0PScyMDAnIHg9JzAnIHk9JzAnIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0nc1JHQicgZmlsdGVyVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyUzRSUzQ2ZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0nMCcgcmVzdWx0PSdCYWNrZ3JvdW5kSW1hZ2VGaXgnLyUzRSUzQ2ZlQmxlbmQgaW49J1NvdXJjZUdyYXBoaWMnIGluMj0nQmFja2dyb3VuZEltYWdlRml4JyByZXN1bHQ9J3NoYXBlJy8lM0UlM0NmZVR1cmJ1bGVuY2UgYmFzZUZyZXF1ZW5jeT0nMSAxJyBudW1PY3RhdmVzPSczJyByZXN1bHQ9J25vaXNlJyBzZWVkPSc0MzYwJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJyB0eXBlPSdmcmFjdGFsTm9pc2UnLyUzRSUzQ2ZlQ29sb3JNYXRyaXggaW49J25vaXNlJyByZXN1bHQ9J2FscGhhTm9pc2UnIHR5cGU9J2x1bWluYW5jZVRvQWxwaGEnLyUzRSUzQ2ZlQ29tcG9uZW50VHJhbnNmZXIgaW49J2FscGhhTm9pc2UnIHJlc3VsdD0nY29sb3JlZE5vaXNlMSclM0UlM0NmZUZ1bmNBIHRhYmxlVmFsdWVzPScxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwJyB0eXBlPSdkaXNjcmV0ZScvJTNFJTNDL2ZlQ29tcG9uZW50VHJhbnNmZXIlM0UlM0NmZUNvbXBvc2l0ZSBpbj0nY29sb3JlZE5vaXNlMScgaW4yPSdzaGFwZScgb3BlcmF0b3I9J2luJyByZXN1bHQ9J25vaXNlMUNsaXBwZWQnLyUzRSUzQ2ZlQ29tcG9uZW50VHJhbnNmZXIgaW49J2FscGhhTm9pc2UnIHJlc3VsdD0nY29sb3JlZE5vaXNlMiclM0UlM0NmZUZ1bmNBIHRhYmxlVmFsdWVzPScwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxIDEgMSAxJyB0eXBlPSdkaXNjcmV0ZScvJTNFJTNDL2ZlQ29tcG9uZW50VHJhbnNmZXIlM0UlM0NmZUNvbXBvc2l0ZSBpbj0nY29sb3JlZE5vaXNlMicgaW4yPSdzaGFwZScgb3BlcmF0b3I9J2luJyByZXN1bHQ9J25vaXNlMkNsaXBwZWQnLyUzRSUzQ2ZlRmxvb2QgZmxvb2QtY29sb3I9J3JnYmEoMTY2LCAxODIsIDIxMSwgMC4xKScgcmVzdWx0PSdjb2xvcjFGbG9vZCcvJTNFJTNDZmVDb21wb3NpdGUgaW49J2NvbG9yMUZsb29kJyBpbjI9J25vaXNlMUNsaXBwZWQnIG9wZXJhdG9yPSdpbicgcmVzdWx0PSdjb2xvcjEnLyUzRSUzQ2ZlRmxvb2QgZmxvb2QtY29sb3I9J3JnYmEoMjAsIDM2LCA2NCwgMC41KScgcmVzdWx0PSdjb2xvcjJGbG9vZCcvJTNFJTNDZmVDb21wb3NpdGUgaW49J2NvbG9yMkZsb29kJyBpbjI9J25vaXNlMkNsaXBwZWQnIG9wZXJhdG9yPSdpbicgcmVzdWx0PSdjb2xvcjInLyUzRSUzQ2ZlTWVyZ2UgcmVzdWx0PSdlZmZlY3QxX25vaXNlXzkxMF82MTQ1JyUzRSUzQ2ZlTWVyZ2VOb2RlIGluPSdzaGFwZScvJTNFJTNDZmVNZXJnZU5vZGUgaW49J2NvbG9yMScvJTNFJTNDZmVNZXJnZU5vZGUgaW49J2NvbG9yMicvJTNFJTNDL2ZlTWVyZ2UlM0UlM0MvZmlsdGVyJTNFJTNDL2RlZnMlM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDE5OXB4O1xuXHRtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cdG9wYWNpdHk6IC42O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnVkZWMtYmFubmVyPi5jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4udWRlYy1iYW5uZXI+LmNvbnRhaW5lciBhOm5vdCgudWRlYy1idXR0b24pIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiBpbmhlcml0O1xufVxuXG4udWRlYy1iYW5uZXI+LmNvbnRhaW5lciBhOm5vdCgudWRlYy1idXR0b24pOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTUwMCk7XG59XG5cbi51ZGVjLWJhbm5lcj4uY29udGFpbmVyLnRleHQtY2VudGVyIHtcblx0bWF4LXdpZHRoOiA0My43NXJlbTtcbn1cblxuLnVkZWMtYmFubmVyPi5jb250YWluZXIudGV4dC1jZW50ZXI+aHIuaHItLW5hcnJvdyB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBCYW5uZXIgQ2FyZCBQYXR0ZXJuXG4gKlxuICogUGF0csOzbiBkZSBiYW5uZXIgY29uIGNvdmVyIGhlcm8gYXJyaWJhIHkgZ3JpZCBkZSB0YXJqZXRhcyBjb24gb3ZlcmxheSBuZWdhdGl2by5cbiAqIElkZWFsIHBhcmEgaG9tZXBhZ2UgeSBww6FnaW5hcyBkZXN0YWNhZGFzLlxuICpcbiAqIERlcGVuZGVuY2lhczogY2FyZC1iYXNlLmNzcywgdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uYmFubmVyLWNhcmQge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04MCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NDBweCkge1xuXHQuYmFubmVyLWNhcmQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNjApO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5iYW5uZXItY2FyZCB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdH1cbn1cblxuLyogQ292ZXIgaGVybyBjb24gaW1hZ2VuIGRlIGZvbmRvICovXG4uYmFubmVyLWNhcmRfX2NvdmVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiA0MjBweDtcblx0bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nLTEwMCkgKiAtMSk7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNjApIHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuYmFubmVyLWNhcmRfX2NvdmVyIHtcblx0XHRtaW4taGVpZ2h0OiA1MDBweDtcblx0fVxufVxuXG4vKiBPdmVybGF5IGdyYWRpZW50IG9zY3VybyBzb2JyZSBsYSBpbWFnZW4gKi9cbi5iYW5uZXItY2FyZF9fY292ZXI6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLCAwLCAwLCAwLjMpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgMTAwJSk7XG5cdHotaW5kZXg6IDA7XG5cdG9wYWNpdHk6IDAuNjtcbn1cblxuLyogQ29udGVuaWRvIGRlbCBoZXJvICovXG4uYmFubmVyLWNhcmRfX2NvdmVyLWNvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1heC13aWR0aDogODAwcHg7XG59XG5cbi5iYW5uZXItY2FyZF9fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oZXJvKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlnaHQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNCk7XG5cdHRleHQtc2hhZG93OiAwIDAgOTBweCB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufVxuXG4uYmFubmVyLWNhcmRfX2Rlc2NyaXB0aW9uIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcblx0dGV4dC1zaGFkb3c6IDAgMCA2MHB4IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG59XG5cbi8qIEdyaWQgZGUgdGFyamV0YXMgY29uIG92ZXJsYXkgbmVnYXRpdm8gKi9cbi5iYW5uZXItY2FyZF9fZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdG1heC13aWR0aDogMTI4MHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTI0KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTFweCkgYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQuYmFubmVyLWNhcmRfX2dyaWQ6aGFzKC5jYXJkOm50aC1jaGlsZCg0KSkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcblx0LmJhbm5lci1jYXJkX19ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU4MHB4KSB7XG5cdC5iYW5uZXItY2FyZF9fZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0cm93LWdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdH1cbn1cblxuLyogVGFyamV0YXMgZGVudHJvIGRlbCBiYW5uZXIgdGllbmVuIHNvbWJyYSAqL1xuLmJhbm5lci1jYXJkX19ncmlkIC5jYXJkIHtcblx0Ym94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5iYW5uZXItY2FyZF9fZ3JpZCAuY2FyZDpob3ZlciB7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIENhcm91c2VsIENvbXBvbmVudFxuICpcbiAqIFNpc3RlbWEgZGUgY2Fyb3VzZWxzIGJhc2FkbyBlbiBTcGxpZGUuanNcbiAqIEluY2x1eWUgbmF2ZWdhY2nDs24gKGZsZWNoYXMsIGNvbnRhZG9yKSwgY29udHJvbGVzIGRlIHJlcHJvZHVjY2nDs24geSBiYXJyYSBkZSBwcm9ncmVzby5cbiAqXG4gKiBFc3RlIGFyY2hpdm8gY29udGllbmUgU09MTyBsb3MgZXN0aWxvcyBkZWwgY29tcG9uZW50ZSBjYXJvdXNlbC5cbiAqIExvcyBwYXR0ZXJucyBxdWUgdXRpbGl6YW4gY2Fyb3VzZWxzIGVzdMOhbiBlbiBhcmNoaXZvcyBzZXBhcmFkb3M6XG4gKiAtIHBhdHRlcm4tdGVzdGltb25pZXMuY3NzOiBQYXR0ZXJuIGRlIHRlc3RpbW9uaW9zIGNvbiBjYXJvdXNlbFxuICogLSBwYXR0ZXJuLW1lZGlhLXRleHQuY3NzOiBQYXR0ZXJuIGRlIGNhcm91c2VsICsgdGFyamV0YSBkZSBjb250ZW5pZG9cbiAqXG4gKiBOb21lbmNsYXR1cmEgQkVNOlxuICogLSAudWRlYy1jYXJvdXNlbDogQmFzZSBkZWwgY29tcG9uZW50ZVxuICogLSAudWRlYy1jYXJvdXNlbC0tZ2FsbGVyeTogVmFyaWFudGUgZGUgZ2FsZXLDrWEgY29uIG5hdmVnYWNpw7NuIHN1cGVycHVlc3RhXG4gKiAtIC51ZGVjLWNhcm91c2VsX19uYXY6IENvbnRlbmVkb3IgZGUgbmF2ZWdhY2nDs25cbiAqIC0gLnVkZWMtY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnk6IFNsaWRlIGRlIHRlc3RpbW9uaW9cbiAqXG4gKiBEZXBlbmRlbmNpYXM6IHZhcmlhYmxlcy5jc3MsIEBzcGxpZGVqcy9zcGxpZGUvY3NzL2NvcmVcbiAqXG4gKiBAcGFja2FnZSBVZGVDIEZyb250ZW5kIExpYnJhcnlcbiAqIEB2ZXJzaW9uIDEuMC4wXG4gKi9cblxuLyogU3BsaWRlIENvcmUgSW1wb3J0IC0gRGViZSBzZXIgaW1wb3J0YWRvIGV4dGVybmFtZW50ZSAqL1xuLyogQGltcG9ydCAnQHNwbGlkZWpzL3NwbGlkZS9jc3MvY29yZSc7ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWYXJpYWJsZXMgZGUgU3BsaWRlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG5cdC0tc3BsaWRlLS1hcnJvd3MtLWJvdHRvbTogMDtcblx0LS1zcGxpZGUtLWFycm93cy0td2lkdGg6IGNhbGModmFyKC0tc3BsaWRlLS1hcnJvdy0tc2l6ZSkgKiAyICsgdmFyKC0tc3BsaWRlLS1hcnJvd3MtLWdhcCkpO1xuXHQtLXNwbGlkZS0tYXJyb3dzLS1nYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHQtLXNwbGlkZS0tYXJyb3ctLXNpemU6IGNhbGModmFyKC0taWNvbi1zaXplLWxhcmdlKSArICh2YXIoLS1zcGFjaW5nLTQpICogMikpO1xuXHQtLXNwbGlkZS0tYXJyb3ctLXN2Zy0tc2l6ZTogdmFyKC0taWNvbi1zaXplLWxhcmdlKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcblx0OnJvb3Qge1xuXHRcdC0tc3BsaWRlLS1hcnJvdy0tc2l6ZTogY2FsYyh2YXIoLS1pY29uLXNpemUtc21hbGwpICsgKHZhcigtLXNwYWNpbmctNCkgKiAyKSk7XG5cdFx0LS1zcGxpZGUtLWFycm93LS1zdmctLXNpemU6IHZhcigtLWljb24tc2l6ZS1zbWFsbCk7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcm91c2VsIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ZGVjLWNhcm91c2VsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBTbGlkZXIgQ29udGFpbmVyICovXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fbGlzdCBsaSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnVkZWMtY2Fyb3VzZWxfX25hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbi8qIE5hdmlnYXRpb24gTW9kaWZpZXJzICovXG4udWRlYy1jYXJvdXNlbF9fbmF2LS1maXhlZCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgpIHZhcigtLXNwYWNpbmctMTYpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHR6LWluZGV4OiAxMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFycm93c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fYXJyb3dzIHtcblx0b3JkZXI6IDEwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLXNwbGlkZS0tYXJyb3dzLS1nYXApO1xuXHR6LWluZGV4OiAxO1xuXHR3aWR0aDogdmFyKC0tc3BsaWRlLS1hcnJvd3MtLXdpZHRoKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1zcGxpZGUtLWFycm93cy0td2lkdGgpO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIEFycm93IEJ1dHRvbnMgKi9cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiB2YXIoLS1zcGxpZGUtLWFycm93LS1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1zcGxpZGUtLWFycm93LS1zaXplKTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KSAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1kZWZhdWx0KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWZ1bGwpO1xuXHRib3JkZXI6IG5vbmU7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0cG9zaXRpb246IHN0YXRpYztcblx0dHJhbnNmb3JtOiBub25lO1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19hcnJvdzpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJ1dHRvbi1wcmltYXJ5LWJnLWhvdmVyKTtcbn1cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fYXJyb3c6ZGlzYWJsZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1idXR0b24tcHJpbWFyeS1iZy1kaXNhYmxlZCk7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93OmRpc2FibGVkOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEFycm93IFNWRyBJY29ucyAqL1xuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fYXJyb3dfX2ljb24ge1xuXHR3aWR0aDogdmFyKC0tc3BsaWRlLS1hcnJvdy0tc3ZnLS1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1zcGxpZGUtLWFycm93LS1zdmctLXNpemUpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdHRyYW5zaXRpb246IGZpbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93LS1wcmV2IC5zcGxpZGVfX2Fycm93X19pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTogaW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwd2lkdGglM0QlMjIzMiUyMiUyMGhlaWdodCUzRCUyMjMyJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzIlMjAzMiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTMuNzQzNyUyMDIzLjA3N0wxNC42ODczJTIwMjIuMTE4TDkuMjM2MDElMjAxNi42NjY2SDI1LjMzMzNWMTUuMzMzM0g5LjIzNjAxTDE0LjY4NzMlMjA5Ljg4MTk3TDEzLjc0MzclMjA4LjkyMjk3TDYuNjY2NjglMjAxNkwxMy43NDM3JTIwMjMuMDc3WiUyMiUyMGZpbGwlM0QlMjJjdXJyZW50Q29sb3IlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2Fycm93LS1uZXh0IC5zcGxpZGVfX2Fycm93X19pY29uIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTogaW1hZ2Uvc3ZnK3htbCwgJTNDc3ZnJTIwd2lkdGglM0QlMjIzMiUyMiUyMGhlaWdodCUzRCUyMjMyJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMzIlMjAzMiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTNDcGF0aCUyMGQlM0QlMjJNMTguMjU2MyUyMDguOTIyOTdMMTcuMzEyNyUyMDkuODgxOTdMMjIuNzY0JTIwMTUuMzMzM0g2LjY2NjY4VjE2LjY2NjZIMjIuNzY0TDE3LjMxMjclMjAyMi4xMThMMTguMjU2MyUyMDIzLjA3N0wyNS4zMzMzJTIwMTZMMTguMjU2MyUyMDguOTIyOTdaJTIyJTIwZmlsbCUzRCUyMmN1cnJlbnRDb2xvciUyMiUyMCUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvdW50ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX2NvdW50ZXIge1xuXHRvcmRlcjogNTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQbGF5L1BhdXNlIFRvZ2dsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fdG9nZ2xlIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHR3aWR0aDogMnJlbTtcblx0aGVpZ2h0OiAycmVtO1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX190b2dnbGVfX2ljb24ge1xuXHR3aWR0aDogMnJlbTtcblx0aGVpZ2h0OiAycmVtO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLnVkZWMtY2Fyb3VzZWwgLnNwbGlkZV9fdG9nZ2xlIC5zcGxpZGVfX3RvZ2dsZV9faWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMCAxNS41NzdMMTUuNTc3IDEyTDEwIDguNDIzVjE1LjU3N1pNMTIuMDAzMyAyMUMxMC43NTg4IDIxIDkuNTg4NjcgMjAuNzYzOCA4LjQ5MyAyMC4yOTE1QzcuMzk3NSAxOS44MTkyIDYuNDQ0NSAxOS4xNzgyIDUuNjM0IDE4LjM2ODVDNC44MjM1IDE3LjU1ODggNC4xODE5MiAxNi42MDY3IDMuNzA5MjUgMTUuNTEyQzMuMjM2NDIgMTQuNDE3NSAzIDEzLjI0NzkgMyAxMi4wMDMzQzMgMTAuNzU4OCAzLjIzNjE3IDkuNTg4NjcgMy43MDg1IDguNDkzQzQuMTgwODMgNy4zOTc1IDQuODIxODMgNi40NDQ1IDUuNjMxNSA1LjYzNEM2LjQ0MTE3IDQuODIzNSA3LjM5MzMzIDQuMTgxOTIgOC40ODggMy43MDkyNUM5LjU4MjUgMy4yMzY0MiAxMC43NTIxIDMgMTEuOTk2NyAzQzEzLjI0MTMgMyAxNC40MTEzIDMuMjM2MTcgMTUuNTA3IDMuNzA4NUMxNi42MDI1IDQuMTgwODMgMTcuNTU1NSA0LjgyMTgzIDE4LjM2NiA1LjYzMTVDMTkuMTc2NSA2LjQ0MTE3IDE5LjgxODEgNy4zOTMzMyAyMC4yOTA4IDguNDg4QzIwLjc2MzYgOS41ODI1IDIxIDEwLjc1MjEgMjEgMTEuOTk2N0MyMSAxMy4yNDEzIDIwLjc2MzggMTQuNDExMyAyMC4yOTE1IDE1LjUwN0MxOS44MTkyIDE2LjYwMjUgMTkuMTc4MiAxNy41NTU1IDE4LjM2ODUgMTguMzY2QzE3LjU1ODggMTkuMTc2NSAxNi42MDY3IDE5LjgxODEgMTUuNTEyIDIwLjI5MDhDMTQuNDE3NSAyMC43NjM2IDEzLjI0NzkgMjEgMTIuMDAzMyAyMVpNMTIgMjBDMTQuMjMzMyAyMCAxNi4xMjUgMTkuMjI1IDE3LjY3NSAxNy42NzVDMTkuMjI1IDE2LjEyNSAyMCAxNC4yMzMzIDIwIDEyQzIwIDkuNzY2NjcgMTkuMjI1IDcuODc1IDE3LjY3NSA2LjMyNUMxNi4xMjUgNC43NzUgMTQuMjMzMyA0IDEyIDRDOS43NjY2NyA0IDcuODc1IDQuNzc1IDYuMzI1IDYuMzI1QzQuNzc1IDcuODc1IDQgOS43NjY2NyA0IDEyQzQgMTQuMjMzMyA0Ljc3NSAxNi4xMjUgNi4zMjUgMTcuNjc1QzcuODc1IDE5LjIyNSA5Ljc2NjY3IDIwIDEyIDIwWicgZmlsbD0nJTIzMjIzQzZBJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX190b2dnbGUuaXMtYWN0aXZlIC5zcGxpZGVfX3RvZ2dsZV9faWNvbiB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgMzIgMzInIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMy4wNzcgMjAuNjY2N0gxNC40MTAzVjExLjMzMzNIMTMuMDc3VjIwLjY2NjdaTTE3LjU4OTcgMjAuNjY2N0gxOC45MjNWMTEuMzMzM0gxNy41ODk3VjIwLjY2NjdaTTE2LjAwNDMgMjhDMTQuMzQ1IDI4IDEyLjc4NDkgMjcuNjg1MSAxMS4zMjQgMjcuMDU1M0M5Ljg2MzMzIDI2LjQyNTYgOC41OTI2NyAyNS41NzA5IDcuNTEyIDI0LjQ5MTNDNi40MzEzMyAyMy40MTE4IDUuNTc1ODkgMjIuMTQyMiA0Ljk0NTY3IDIwLjY4MjdDNC4zMTUyMiAxOS4yMjMzIDQgMTcuNjYzOSA0IDE2LjAwNDNDNCAxNC4zNDUgNC4zMTQ4OSAxMi43ODQ5IDQuOTQ0NjcgMTEuMzI0QzUuNTc0NDQgOS44NjMzMyA2LjQyOTExIDguNTkyNjcgNy41MDg2NyA3LjUxMkM4LjU4ODIyIDYuNDMxMzMgOS44NTc3OCA1LjU3NTg5IDExLjMxNzMgNC45NDU2N0MxMi43NzY3IDQuMzE1MjIgMTQuMzM2MSA0IDE1Ljk5NTcgNEMxNy42NTUgNCAxOS4yMTUxIDQuMzE0ODkgMjAuNjc2IDQuOTQ0NjdDMjIuMTM2NyA1LjU3NDQ1IDIzLjQwNzMgNi40MjkxMSAyNC40ODggNy41MDg2N0MyNS41Njg3IDguNTg4MjIgMjYuNDI0MSA5Ljg1Nzc4IDI3LjA1NDMgMTEuMzE3M0MyNy42ODQ4IDEyLjc3NjcgMjggMTQuMzM2MSAyOCAxNS45OTU3QzI4IDE3LjY1NSAyNy42ODUxIDE5LjIxNTEgMjcuMDU1MyAyMC42NzZDMjYuNDI1NiAyMi4xMzY3IDI1LjU3MDkgMjMuNDA3MyAyNC40OTEzIDI0LjQ4OEMyMy40MTE4IDI1LjU2ODcgMjIuMTQyMiAyNi40MjQxIDIwLjY4MjcgMjcuMDU0M0MxOS4yMjMzIDI3LjY4NDggMTcuNjYzOSAyOCAxNi4wMDQzIDI4Wk0xNiAyNi42NjY3QzE4Ljk3NzggMjYuNjY2NyAyMS41IDI1LjYzMzMgMjMuNTY2NyAyMy41NjY3QzI1LjYzMzMgMjEuNSAyNi42NjY3IDE4Ljk3NzggMjYuNjY2NyAxNkMyNi42NjY3IDEzLjAyMjIgMjUuNjMzMyAxMC41IDIzLjU2NjcgOC40MzMzM0MyMS41IDYuMzY2NjcgMTguOTc3OCA1LjMzMzMzIDE2IDUuMzMzMzNDMTMuMDIyMiA1LjMzMzMzIDEwLjUgNi4zNjY2NyA4LjQzMzMzIDguNDMzMzNDNi4zNjY2NyAxMC41IDUuMzMzMzMgMTMuMDIyMiA1LjMzMzMzIDE2QzUuMzMzMzMgMTguOTc3OCA2LjM2NjY3IDIxLjUgOC40MzMzMyAyMy41NjY3QzEwLjUgMjUuNjMzMyAxMy4wMjIyIDI2LjY2NjcgMTYgMjYuNjY2N1onIGZpbGw9J2JsYWNrJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvZ3Jlc3MgQmFyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWRlYy1jYXJvdXNlbCAuc3BsaWRlX19wcm9ncmVzcyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiA1cHg7XG59XG5cbi51ZGVjLWNhcm91c2VsIC5zcGxpZGVfX3Byb2dyZXNzX19iYXIge1xuXHRoZWlnaHQ6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcm91c2VsIEdhbGxlcnkgKEdhbGVyw61hIHNpbXBsZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEltYWdlIHNpemluZyAqL1xuLnVkZWMtY2Fyb3VzZWwgZmlndXJlIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi51ZGVjLWNhcm91c2VsIGZpZ3VyZSBpbWcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcm91c2VsIGRlIGFsdG8gY29tcGxldG9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ZGVjLWNhcm91c2VsLS1mdWxsaGVpZ2h0LFxuLnVkZWMtY2Fyb3VzZWwtLWZ1bGxoZWlnaHQgLnNwbGlkZV9fdHJhY2ssXG4udWRlYy1jYXJvdXNlbC0tZnVsbGhlaWdodCAuc3BsaWRlX19saXN0LFxuLnVkZWMtY2Fyb3VzZWwtLWZ1bGxoZWlnaHQgLnNwbGlkZV9fc2xpZGUsXG4udWRlYy1jYXJvdXNlbC0tZnVsbGhlaWdodCBmaWd1cmUsXG4udWRlYy1jYXJvdXNlbC0tZnVsbGhlaWdodCBmaWd1cmUgaW1nIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4udWRlYy1jYXJvdXNlbC0tZnVsbGhlaWdodCBmaWd1cmUgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXN0aW1vbnkgU2xpZGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueSB7XG5cdG1heC13aWR0aDogNjcuNXJlbTtcblx0bWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00OCk7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcblx0Y29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMTYpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuXHQuY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG8gIWltcG9ydGFudDtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0Y29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy00OCk7XG5cdFx0cm93LWdhcDogMDtcblx0fVxufVxuXG4vKiBUZXN0aW1vbnkgTWVkaWEgKEltYWdlIHdpdGggUXVvdGUgSWNvbikgKi9cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fbWVkaWEge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGFzcGVjdC1yYXRpbzogMS8xO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXotaW5kZXgtNTApO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG5cdC5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fbWVkaWEge1xuXHRcdG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDIxLjI1cmVtICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY2cHgpIHtcblx0LmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19tZWRpYSB7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0bWluLWhlaWdodDogMTJyZW0gIWltcG9ydGFudDtcblx0fVxufVxuXG4vKiBRdW90ZSBJY29uICovXG4uY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnlfX21lZGlhOjphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHdpZHRoPSc5MicgaGVpZ2h0PSc4NScgdmlld0JveD0nMCAwIDkyIDg1JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcmVjdCB3aWR0aD0nOTInIGhlaWdodD0nODUnIGZpbGw9JyUyM0M3RDVFRCcvJTNFJTNDcGF0aCBkPSdNNTEuMDQyNSA2NVY0Ni41MjI1QzUxLjA0MjUgMzIuMjYyNSA2MC4zNyAyMi41OTc1IDczLjUgMjBMNzUuOTg3NSAyNS4zNzc1QzY5LjkwNzUgMjcuNjcgNjYgMzQuNDcyNSA2NiA0MEg3NlY2NUg1MS4wNDI1Wk0xNiA2NVY0Ni41MjI1QzE2IDMyLjI2MjUgMjUuMzcgMjIuNTk3NSAzOC41IDIwTDQwLjk5IDI1LjM3NzVDMzQuOTA3NSAyNy42NyAzMSAzNC40NzI1IDMxIDQwSDQwLjk1NzVWNjVIMTZaJyBmaWxsPSclMjMyMjNDNkEnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogY2FsYyh2YXIoLS16LWluZGV4LTUwKSAqIC0xKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA1Ljc1cmVtO1xuXHRoZWlnaHQ6IDUuMzEzcmVtO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19tZWRpYSBmaWd1cmUge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlcjogbm9uZTtcbn1cblxuLmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19tZWRpYSBmaWd1cmUgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdGFzcGVjdC1yYXRpbzogMS8xO1xuXHRib3JkZXI6IG5vbmU7XG59XG5cbi8qIFRlc3RpbW9ueSBDb250ZW50ICovXG4uY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnlfX2NvbnRlbnQge1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGdhcDogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjZweCkge1xuXHQuY2Fyb3VzZWxfX3NsaWRlLS10ZXN0aW1vbnlfX2NvbnRlbnQge1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdGdyaWQtcm93OiAyO1xuXHRcdG1heC13aWR0aDogMzByZW07XG5cdH1cbn1cblxuLmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19jb250ZW50PnAge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWhlYWRpbmcpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG59XG5cbi8qIFRlc3RpbW9ueSBBdXRob3IgKi9cbi5jYXJvdXNlbF9fc2xpZGUtLXRlc3RpbW9ueV9fYXV0aG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcm91c2VsX19zbGlkZS0tdGVzdGltb255X19hdXRob3IgcCB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJvZHkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zKTtcbn0iLCIvKiBOYXZpZ2F0aW9uIHNpZGUgKi9cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX190aXRsZSBhIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fdGl0bGU6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDAuNjI1cmVtO1xuXHRoZWlnaHQ6IDAuNjI1cmVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0ZmxleDogMCAwIDAuNjI1cmVtO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjApO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51IGxpIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudSBsaSBhIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWRlZmF1bHQpO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnUgbGkgYTpob3Zlcixcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudSBsaS5jdXJyZW50LW1lbnUtaXRlbT5hLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1hbmNlc3Rvcj5hIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saT5hOmhvdmVyLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1pdGVtPmEsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWFuY2VzdG9yPmEsXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWl0ZW0gbGkuY3VycmVudC1tZW51LWl0ZW0+YSxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtaXRlbSBsaT5hOmhvdmVyLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpOmhhcyhsaS5jdXJyZW50LW1lbnUtaXRlbSkgbGkuY3VycmVudC1tZW51LWl0ZW0+YSxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saTpoYXMobGkuY3VycmVudC1tZW51LWl0ZW0pIGxpPmE6aG92ZXIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOCk7XG5cdGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51IHVsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1pdGVtOmhhcyh1bCksXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWFuY2VzdG9yOmhhcyh1bCksXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGk6aGFzKGxpLmN1cnJlbnQtbWVudS1pdGVtKTpoYXModWwpIHtcblx0cGFkZGluZy10b3A6IHZhcigtLWNhcmQtcGFkZGluZyk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1jYXJkLXBhZGRpbmcpO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTIwMCk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktMjAwKTtcbn1cblxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpLmN1cnJlbnQtbWVudS1pdGVtOmhhcyh1bCkgbGk+YSxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtYW5jZXN0b3I6aGFzKHVsKSBsaT5hLFxuLnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpOmhhcyhsaS5jdXJyZW50LW1lbnUtaXRlbSk6aGFzKHVsKSBsaT5hIHtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnU+bGkuY3VycmVudC1tZW51LWl0ZW06aGFzKHVsKT51bCxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saS5jdXJyZW50LW1lbnUtYW5jZXN0b3I6aGFzKHVsKT51bCxcbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudT5saTpoYXMobGkuY3VycmVudC1tZW51LWl0ZW0pOmhhcyh1bCk+dWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNpbmctOCkgKyAzcHgpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctOCk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fbWVudSB1bCB1bCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04KTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRvcGFjaXR5OiAxO1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4udWRlYy1uYXZpZ2F0aW9uLXNpZGVfX21lbnUgdWwgdWwgbGkgYTpub3QoLndwLWVsZW1lbnQtYnV0dG9uKSB7XG5cdHBhZGRpbmc6IDAgdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbi51ZGVjLW5hdmlnYXRpb24tc2lkZV9fdG9nZ2xlci1tb2JpbGUtbmF2IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzgxcHgpIHtcblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1mb3Jtcy1pbnB1dC1wYWRkaW5nKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZm9ybXMtaW5wdXQtcGFkZGluZyk7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1mb3Jtcy1pbnB1dC1wYWRkaW5nKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pbnB1dC1ib3JkZXItZGVmYXVsdCk7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcihzcGFjaW5nLTQpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctNCk7XG5cdH1cblxuXHQudWRlYy1uYXZpZ2F0aW9uLXNpZGVfX3RpdGxlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlX190b2dnbGVyLW1vYmlsZS1uYXYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogdmFyKC0tc3BhY2luZy00OCk7XG5cdFx0d2lkdGg6IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdH1cblxuXHQudWRlYy1uYXZpZ2F0aW9uLXNpZGVfX3RvZ2dsZXItbW9iaWxlLW5hdjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR3aWR0aDogdmFyKC0taWNvbi1zaXplLW1lZGl1bSk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1pY29uLXNpemUtbWVkaXVtKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTBBJTNDc3ZnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOC4xOTIxNCA5LjY5MjI1TDExLjk5OTkgMTMuNUwxNS44MDc2IDkuNjkyMjVIOC4xOTIxNFonIGZpbGw9JyUyMzIyM0M2QScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG5cblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51IHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0dHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjVzIGVhc2Utb3V0O1xuXHR9XG5cblx0LnVkZWMtbmF2aWdhdGlvbi1zaWRlX19tZW51PmxpOmZpcnN0LW9mLXR5cGUge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTEwMCk7XG5cdH1cblxuXHQudWRlYy1uYXZpZ2F0aW9uLXNpZGUtLW1vYmlsZS1uYXYtYWN0aXZlIC51ZGVjLW5hdmlnYXRpb24tc2lkZV9fdG9nZ2xlci1tb2JpbGUtbmF2OjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdH1cbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIENhcmQgQmFzZVxuICpcbiAqIFNpc3RlbWEgYmFzZSBkZSB0YXJqZXRhcyBjb24gZmxvdyBzcGFjZSBhdXRvbcOhdGljby5cbiAqIFRvZGFzIGxhcyB0YXJqZXRhcyBleHRpZW5kZW4gZGUgZXN0YSBjbGFzZSBiYXNlLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uY2FyZCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMDtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jYXJkIHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0fVxufVxuXG4vKiBGbG93IHNwYWNlIHN5c3RlbSAtIGVzcGFjaWFkbyBhdXRvbcOhdGljbyBlbnRyZSBlbGVtZW50b3MgKi9cbi5jYXJkPiorKiB7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1mbG93LXNwYWNlLCAxZW0pO1xufVxuXG4vKiBJbWFnZW4gYWwgaW5pY2lvIGRlIGxhIGNhcmQgKi9cbi5jYXJkIDppcyguY2FyZF9faW1hZ2UgKyAqKSB7XG5cdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy0zMik7XG59XG5cbi8qIEVzcGFjaW8gZGVzcHXDqXMgZGUgaGVhZGluZ3MgKi9cbi5jYXJkIDppcyhoMiArICosIGgzICsgKiwgaDQgKyAqKSB7XG5cdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy00KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNhcmQgOmlzKGgyICsgKiwgaDMgKyAqLCBoNCArICopIHtcblx0XHQtLWZsb3ctc3BhY2U6IHZhcigtLXNwYWNpbmctMTIpO1xuXHR9XG59XG5cbi8qIEltYWdlbiBkZXNwdcOpcyBkZSBvdHJvcyBlbGVtZW50b3MgKi9cbi5jYXJkIDppcygqICsgLmNhcmRfX2ltYWdlKSB7XG5cdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5jYXJkIDppcygqICsgLmNhcmRfX2ltYWdlKSB7XG5cdFx0LS1mbG93LXNwYWNlOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcblx0LmNhcmQgOmlzKCogKyAuY2FyZF9faW1hZ2UpIHtcblx0XHQtLWZsb3ctc3BhY2U6IHZhcigtLXNwYWNpbmctNDgpO1xuXHR9XG59XG5cbi8qIFDDoXJyYWZvcyAqL1xuLmNhcmQgcCB7XG5cdC0tZmxvdy1zcGFjZTogdmFyKC0tc3BhY2luZy00KTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNhcmQgcCB7XG5cdFx0LS1mbG93LXNwYWNlOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0fVxufVxuXG4vKiBBY3Rpb25zIHNpZW1wcmUgYWwgZmluYWwgKi9cbi5jYXJkIC5jYXJkX19hY3Rpb25zIHtcblx0LS1mbG93LXNwYWNlOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0bWFyZ2luLXRvcDogYXV0bztcbn1cblxuLyogQ2FyZCBJbWFnZSAqL1xuLmNhcmRfX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qIENhcmQgQ29udGVudCAqL1xuLmNhcmRfX2NvbnRlbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG4vKiBMaW5rcyBlbiBoZWFkaW5ncyAqL1xuLmNhcmQgOmlzKGgyIGEsIGgzIGEsIGg0IGEpIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uY2FyZCA6aXMoaDIgYTpob3ZlciwgaDMgYTpob3ZlciwgaDQgYTpob3Zlcikge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAzcHg7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxuLyogQ2FyZCBBY3Rpb25zICovXG4uY2FyZF9fYWN0aW9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJkIFZhcmlhbnRzXG4gKlxuICogVmFyaWFudGVzIGRlIHRhcmpldGFzOiBzaW1wbGUsIGxpZ2h0LCBkYXJrXG4gKlxuICogRGVwZW5kZW5jaWFzOiBjYXJkLWJhc2UuY3NzLCB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIENhcmQgU2ltcGxlIC0gY29uIGhvdmVyIGNvbXBsZXRvIHkgbGluayBlbnZvbHZlbnRlICovXG4uY2FyZC1zaW1wbGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIFBzZXVkby1lbGVtZW50byBwYXJhIGhhY2VyIHRvZGEgbGEgdGFyamV0YSBjbGlja2VhYmxlICovXG4uY2FyZC1zaW1wbGU6aGFzKGFbaHJlZl0pIGE6OmJlZm9yZSB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ei1pbmRleDogMTtcbn1cblxuLmNhcmQtc2ltcGxlOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKTtcbn1cblxuLmNhcmQtc2ltcGxlOmhvdmVyIC5idXR0b24taWNvbl9faWNvbiB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3ItYmctYWNjZW50KTtcbn1cblxuLyogQ2FyZCBMaWdodCAtIHZhcmlhbnRlIGNsYXJhICovXG4uY2FyZC1saWdodCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xufVxuXG4uY2FyZC1saWdodDpoYXMoYTpmb2N1cykge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTApO1xufVxuXG4vKiBDYXJkIERhcmsgLSB2YXJpYW50ZSBvc2N1cmEgKi9cbi5jYXJkLWRhcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi5jYXJkLWRhcmsgaDIsXG4uY2FyZC1kYXJrIGgzLFxuLmNhcmQtZGFyayBoNCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xufVxuXG4uY2FyZC1kYXJrIHAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTEwMCk7XG59XG5cbi5jYXJkLWRhcmsgOmlzKGgyIGEsIGgzIGEsIGg0IGEpIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi5jYXJkLWRhcms6aGFzKGFbaHJlZl0pOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbi5jYXJkLWRhcmsgLmJ1dHRvbi1pY29uX19pY29uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLmNhcmQtZGFyayAuYnV0dG9uLWljb25fX2ljb24gc3ZnIHtcblx0ZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJkIE5ld3NcbiAqXG4gKiBUYXJqZXRhIGVzcGVjw61maWNhIHBhcmEgbm90aWNpYXMgY29uIGltYWdlbiwgY2F0ZWdvcsOtYSB5IHTDrXR1bG8uXG4gKlxuICogRGVwZW5kZW5jaWFzOiBjYXJkLWJhc2UuY3NzLCBjYXRlZ29yeS10YWcuY3NzLCB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi5jYXJkLW5ld3Mge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbi1vdXQ7XG59XG5cbi5jYXJkLW5ld3NfX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmNhcmQtbmV3c19fY29udGVudCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuY2FyZC1uZXdzX19jb250ZW50IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0fVxufVxuXG4uY2FyZC1uZXdzX19jYXRlZ29yeSB7XG5cdG9yZGVyOiAtMTtcbn1cblxuLmNhcmQtbmV3c19fdGl0bGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aWdodCk7XG5cdG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LmNhcmQtbmV3c19fdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCk7XG5cdH1cbn1cblxuLmNhcmQtbmV3c19fdGl0bGUgYSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWRlZmF1bHQpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4uY2FyZC1uZXdzX190aXRsZSBhOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGluay1ob3Zlcik7XG59XG5cbi5jYXJkLW5ld3NfX2V4Y2VycHQge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0bGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW11dGVkKTtcbn1cblxuLmNhcmQtbmV3c19fZGF0ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTYwMCk7XG59XG5cbi8qIExpbmsgZW52b2x2ZW50ZSBwYXJhIHRvZGEgbGEgdGFyamV0YSAqL1xuLmNhcmQtbmV3c19fbGluayB7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi5jYXJkLW5ld3NfX2xpbms6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiAxO1xufVxuXG4vKiBIb3ZlciBlZmZlY3QgKi9cbi5jYXJkLW5ld3M6aG92ZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG5cdGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmNhcmQtbmV3czpob3ZlciAuY2FyZC1uZXdzX190aXRsZSBhIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdHRleHQtdW5kZXJsaW5lLW9mZnNldDogM3B4O1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2FyZCBUZXN0aW1vbnlcbiAqXG4gKiBUYXJqZXRhIGRlIHRlc3RpbW9uaW8gY29uIGltYWdlbiB5IGNvbnRlbmlkby5cbiAqIEluY2x1eWUgZGVjb3JhY2nDs24gZGUgY29taWxsYXMgZW4gbGEgaW1hZ2VuLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzcywgY2FyZC1iYXNlLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uY2FyZC10ZXN0aW1vbnkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIEltYWdlIENvbnRhaW5lciAqL1xuLmNhcmQtdGVzdGltb255IC53cC1ibG9jay1pbWFnZSxcbi5jYXJkLXRlc3RpbW9ueV9faW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMTMuMTI1cmVtO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtdGVzdGltb255IC53cC1ibG9jay1pbWFnZSBpbWcsXG4uY2FyZC10ZXN0aW1vbnlfX2ltYWdlIGltZyB7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRhc3BlY3QtcmF0aW86IDE2Lzk7XG59XG5cbi8qIFF1b3RlIGRlY29yYXRpb24gKi9cbi5jYXJkLXRlc3RpbW9ueSAud3AtYmxvY2staW1hZ2U6OmFmdGVyLFxuLmNhcmQtdGVzdGltb255X19pbWFnZTo6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUwQSUzQ3N2ZyB3aWR0aD0nOTInIGhlaWdodD0nODUnIHZpZXdCb3g9JzAgMCA5MiA4NScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3Qgd2lkdGg9JzkyJyBoZWlnaHQ9Jzg1JyBmaWxsPSclMjNDN0Q1RUQnLyUzRSUzQ3BhdGggZD0nTTUxLjA0MjUgNjVWNDYuNTIyNUM1MS4wNDI1IDMyLjI2MjUgNjAuMzcgMjIuNTk3NSA3My41IDIwTDc1Ljk4NzUgMjUuMzc3NUM2OS45MDc1IDI3LjY3IDY2IDM0LjQ3MjUgNjYgNDBINzZWNjVINTEuMDQyNVpNMTYgNjVWNDYuNTIyNUMxNiAzMi4yNjI1IDI1LjM3IDIyLjU5NzUgMzguNSAyMEw0MC45OSAyNS4zNzc1QzM0LjkwNzUgMjcuNjcgMzEgMzQuNDcyNSAzMSA0MEg0MC45NTc1VjY1SDE2WicgZmlsbD0nJTIzMjIzQzZBJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiA1Ljc1cmVtO1xuXHRoZWlnaHQ6IDUuMzEzcmVtO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIENvbnRlbnQgKi9cbi5jYXJkLXRlc3RpbW9ueV9fY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xNik7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBRdW90ZSB0ZXh0ICovXG4uY2FyZC10ZXN0aW1vbnlfX2NvbnRlbnQgcCB7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1oZWFkaW5nKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ub3JtYWwpO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIEF1dGhvciBzZWN0aW9uICovXG4uY2FyZC10ZXN0aW1vbnlfX2F1dG9yIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTQpO1xufVxuXG4uY2FyZC10ZXN0aW1vbnlfX2F1dG9yIHAge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYm9keSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cblx0LmNhcmQtdGVzdGltb255IC53cC1ibG9jay1pbWFnZSxcblx0LmNhcmQtdGVzdGltb255X19pbWFnZSB7XG5cdFx0aGVpZ2h0OiAxNC4zNzVyZW07XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcblxuXHQuY2FyZC10ZXN0aW1vbnkgLndwLWJsb2NrLWltYWdlLFxuXHQuY2FyZC10ZXN0aW1vbnlfX2ltYWdlIHtcblx0XHRoZWlnaHQ6IDE1LjYyNXJlbTtcblx0fVxufVxuXG4vKiBQYXR0ZXJuIHdyYXBwZXIgKi9cbi5wYXR0ZXJuLWNhcmRzLXRlc3RpbW9uaWVzX19ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDQwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHMtdGVzdGltb25pZXMge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXRlc3RpbW9uaWVzX19ncmlkIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcblx0LnBhdHRlcm4tY2FyZHMtdGVzdGltb25pZXMge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdH1cblxuXHQucGF0dGVybi1jYXJkcy10ZXN0aW1vbmllc19fZ3JpZCB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zMik7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTgwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHMtdGVzdGltb25pZXNfX2dyaWQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHR9XG59IiwiLyoqXG4gKiBVZGVDIERlc2lnbiBTeXN0ZW0gLSBDYXJkIFBlcnNvblxuICpcbiAqIFRhcmpldGEgZGUgcGVyc29uYSBjb24gYXZhdGFyLCBub21icmUsIGRlc2NyaXBjacOzbiB5IGRhdG9zIGRlIGNvbnRhY3RvLlxuICogSW5jbHV5ZSBmdW5jaW9uYWxpZGFkIGRlIGNvcGlhciBlbmxhY2UuXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzLCBjYXJkLWJhc2UuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi5jYXJkLXBlcnNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xNik7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xufVxuXG4vKiBOYW1lIHNlY3Rpb24gd2l0aCBhdmF0YXIgKi9cbi5jYXJkLXBlcnNvbj4ud3AtYmxvY2stZ3JvdXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi8qIEF2YXRhciAqL1xuLmNhcmQtcGVyc29uIC53cC1ibG9jay1pbWFnZSxcbi5jYXJkLXBlcnNvbl9fYXZhdGFyIHtcblx0ZmxleDogMCAwIDNyZW07XG5cdHdpZHRoOiAzcmVtO1xuXHRoZWlnaHQ6IDNyZW07XG59XG5cbi5jYXJkLXBlcnNvbiAud3AtYmxvY2staW1hZ2UgaW1nLFxuLmNhcmQtcGVyc29uX19hdmF0YXIgaW1nIHtcblx0d2lkdGg6IDNyZW07XG5cdGhlaWdodDogM3JlbTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1mdWxsKTtcbn1cblxuLyogTmFtZSAqL1xuLmNhcmQtcGVyc29uIC5oYXMtYmx1ZS01MDAtY29sb3Ige1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBEZXNjcmlwdGlvbiAqL1xuLmNhcmQtcGVyc29uPnAge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0bWFyZ2luOiAwO1xufVxuXG4vKiBDb250YWN0IHNlY3Rpb24gKi9cbi5jYXJkX19jb250YWN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLmNhcmRfX2NvbnRhY3QgcCB7XG5cdG1hcmdpbjogMDtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSk7XG59XG5cbi5jYXJkX19jb250YWN0IGEge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWRlZmF1bHQpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNhcmRfX2NvbnRhY3QgYTpob3ZlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWhvdmVyKTtcbn1cblxuLyogQ2FyZCBQZXJzb24gUmVjb3JkIFZhcmlhbnQgKi9cbi5jYXJkLXBlcnNvbi0tcmVjb3JkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTE2KTtcbn1cblxuLmNhcmQtcGVyc29uLS1yZWNvcmQ+LndwLWJsb2NrLWJ1dHRvbnMge1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uY2FyZC1wZXJzb24tLXJlY29yZCAuY2FyZF9fY29udGFjdCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIENvcHkgTGluayBGdW5jdGlvbmFsaXR5ICovXG4uY29weS1jb250YWN0LWxpbmsgYSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLmNvcHktbGluayB7XG5cdGdhcDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29weS1saW5rIC53cC1ibG9jay1idXR0b25zIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctNCk7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb3B5LWxpbmtfX2NvbnRlbnQgYSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbn1cblxuLyogQ29weSBCdXR0b24gKi9cbi5jb3B5LWxpbmstYnRuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00KTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmNvcHktbGluay1idG46OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlMEElM0Nzdmcgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJyB2aWV3Qm94PScwIDAgMzIgMzInIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMCAyMi42NjY3VjRIMjQuNjY2N1YyMi42NjY3SDEwWk0xMS4zMzMzIDIxLjMzMzNIMjMuMzMzM1Y1LjMzMzMzSDExLjMzMzNWMjEuMzMzM1pNNiAyNi42NjY3VjguODIwNjdINy4zMzMzM1YyNS4zMzMzSDE5Ljg0NlYyNi42NjY3SDZaJyBmaWxsPSclMjMyMjNDNkEnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdHdpZHRoOiAxLjEyNXJlbTtcblx0aGVpZ2h0OiAxLjEyNXJlbTtcblx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvcHktbGluay1idG46aG92ZXIsXG4uY29weS1saW5rLWJ0bjpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbn1cblxuLyogQ29weSBmZWVkYmFjayB0b29sdGlwICovXG4uY29weS1saW5rLWJ0biBzcGFuIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0xLjhlbTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy00KTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTkwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0ei1pbmRleDogMTA7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuXHRvcGFjaXR5OiAwLjk1O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNvcHktZmVlZGJhY2sge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kZWZhdWx0KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14cyk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogODAlO1xufVxuXG4vKiBDb3BpZWQgc3RhdGUgKi9cbi5jb3BpZWQgLmNvcHktbGlua19fY29udGVudCBhIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyODBweCkge1xuXHQuY2FyZC1wZXJzb24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMjApO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG5cdC5jYXJkLXBlcnNvbiB7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xMik7XG5cdH1cbn1cblxuLyogUGF0dGVybiB3cmFwcGVyICovXG4ucGF0dGVybi1jYXJkcy1wZXJzb25zX19ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHMtcGVyc29ucyB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHMtcGVyc29uc19fZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXBlcnNvbnNfX2dyaWQge1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5wYXR0ZXJuLWNhcmRzLXBlcnNvbnMge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTgwcHgpIHtcblx0LnBhdHRlcm4tY2FyZHMtcGVyc29uc19fZ3JpZCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0cm93LWdhcDogdmFyKC0tc3BhY2luZy0xMik7XG5cdH1cbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIENhcmQgRXZlbnRcbiAqXG4gKiBUYXJqZXRhIGRlIGV2ZW50byBjb24gaW1hZ2VuLCBjYXRlZ29yw61hLCB0w610dWxvLCBmZWNoYSB5IGRhdG9zIGRlbCBldmVudG8uXG4gKiBJbmNsdXllIGVmZWN0byBob3ZlciBxdWUgY2FtYmlhIGVsIGNvbG9yIGRlIGZvbmRvIHkgdGV4dG8uXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzLCBjYXJkLWJhc2UuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi5jYXJkLWV2ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Y29sdW1uLWdhcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdHJvdy1nYXA6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLyogSW1hZ2UgKi9cbi5jYXJkLWV2ZW50IC53cC1ibG9jay1pbWFnZSxcbi5jYXJkLWV2ZW50X19pbWFnZSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY2FyZC1ldmVudCAud3AtYmxvY2staW1hZ2UgaW1nLFxuLmNhcmQtZXZlbnRfX2ltYWdlIGltZyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRhc3BlY3QtcmF0aW86IDE2Lzk7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vKiBDb250ZW50IHNlY3Rpb24gKi9cbi5jYXJkLWV2ZW50X19jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0cG9zaXRpb246IGluaXRpYWw7XG59XG5cbi8qIENhdGVnb3J5IHRhZyAtIHVzZXMgZXhpc3RpbmcgY2F0ZWdvcnktdGFnLmNzcyAqL1xuXG4vKiBUaXRsZSAqL1xuLmNhcmQtZXZlbnQgaDMge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS04MDApO1xuXHRtYXJnaW46IDA7XG59XG5cbi5jYXJkLWV2ZW50IGgzIGEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRGF0ZSAqL1xuLmNhcmQtZXZlbnRfX2RhdGUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0bWFyZ2luOiAwO1xufVxuXG4uY2FyZC1ldmVudF9fZGF0ZSBtYXJrIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLXdoaXRlLTApO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTQpIHZhcigtLXNwYWNpbmctOCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zKTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLyogRXZlbnQgZGF0YSAodGltZSwgbW9kZSwgbG9jYXRpb24pICovXG4uY2FyZC1ldmVudF9fZGF0YSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogdmFyKC0tc3BhY2luZy00KTtcbn1cblxuLmNhcmQtZXZlbnRfX2RhdGEgLndwLWJsb2NrLWdyb3VwIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGdhcDogdmFyKC0tc3BhY2luZy00KTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNhcmQtZXZlbnRfX2RhdGEgLmljb24tY29udGFpbmVyIHtcblx0d2lkdGg6IDEuNXJlbTtcblx0aGVpZ2h0OiAxLjVyZW07XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5jYXJkLWV2ZW50X19kYXRhIHAge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIENsaWNrYWJsZSBjYXJkIHdpdGggcHNldWRvLWVsZW1lbnQgKi9cbi5jYXJkLWV2ZW50OmhhcyhhW2hyZWZdKSBhOjpiZWZvcmUge1xuXHRjb250ZW50OiAnJztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG59XG5cbi8qIEhvdmVyIHN0YXRlICovXG4uY2FyZC1ldmVudDpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xufVxuXG4uY2FyZC1ldmVudDpob3ZlciAqIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi5jYXJkLWV2ZW50OmhvdmVyIC5jYXJkLWV2ZW50X19kYXRlIG1hcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKTtcbn1cblxuLmNhcmQtZXZlbnQ6aG92ZXIgLmljb24tY29udGFpbmVyIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi8qIEZvY3VzIHN0YXRlICovXG4uY2FyZC1ldmVudDpoYXMoYTpmb2N1cykge1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG59XG5cbi5jYXJkLWV2ZW50OmhhcyhhOmZvY3VzKSBhIHtcblx0b3V0bGluZTogbm9uZTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcblx0LmNhcmQtZXZlbnQge1xuXHRcdGNvbHVtbi1nYXA6IHZhcigtLXNwYWNpbmctMzIpO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5jYXJkLWV2ZW50IHtcblx0XHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0XHRyb3ctZ2FwOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHR9XG5cblx0LmNhcmQtZXZlbnRfX2NvbnRlbnQ+KisqIHtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTgpO1xuXHR9XG5cblx0LmNhcmQtZXZlbnRfX2RhdGEgLmljb24tY29udGFpbmVyIHtcblx0XHR3aWR0aDogMS4xMjVyZW07XG5cdFx0aGVpZ2h0OiAxLjEyNXJlbTtcblx0fVxufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gQ2FyZCBGYWN1bHR5XG4gKlxuICogVGFyamV0YSBkZSBmYWN1bHRhZCBjb24gaW1hZ2VuIHN1cGVyaW9yIHkgY29udGVuaWRvIGVsZXZhZG8uXG4gKiBFbCBjb250ZW5pZG8gdGllbmUgbWFyZ2VuIG5lZ2F0aXZvIHBhcmEgc3VwZXJwb25lcnNlIGEgbGEgaW1hZ2VuLlxuICpcbiAqIERlcGVuZGVuY2lhczogdmFyaWFibGVzLmNzcywgY2FyZC1iYXNlLmNzc1xuICpcbiAqIEBwYWNrYWdlIFVkZUMgRnJvbnRlbmQgTGlicmFyeVxuICogQHZlcnNpb24gMS4wLjBcbiAqL1xuXG4uY2FyZC1mYWN1bHR5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogSW1hZ2UgKi9cbi5jYXJkLWZhY3VsdHkgLndwLWJsb2NrLWltYWdlLFxuLmNhcmQtZmFjdWx0eV9faW1hZ2Uge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmNhcmQtZmFjdWx0eSAud3AtYmxvY2staW1hZ2UgaW1nLFxuLmNhcmQtZmFjdWx0eV9faW1hZ2UgaW1nIHtcblx0d2lkdGg6IDEwMCU7XG5cdGFzcGVjdC1yYXRpbzogMTYvOTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qIENvbnRlbnQgLSBlbGV2YXRlZCBjYXJkICovXG4uY2FyZC1mYWN1bHR5X19jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nLTQwKSAqIC0xKTtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0ei1pbmRleDogMTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLyogVGl0bGUgKi9cbi5jYXJkLWZhY3VsdHlfX2NvbnRlbnQgaDMge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLmNhcmQtZmFjdWx0eV9fY29udGVudCBoMyBhIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEZhY3VsdHkgZGF0YSAoY2FtcHVzLCBsb2NhdGlvbiwgbGluaykgKi9cbi5jYXJkLWZhY3VsdHlfX2RhdGEge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctNCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctY29tcG9uZW50LWdhcCk7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2RhdGEgLndwLWJsb2NrLWdyb3VwIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGdhcDogdmFyKC0tc3BhY2luZy04KTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNhcmQtZmFjdWx0eV9fZGF0YSAuaWNvbi1jb250YWluZXIge1xuXHR3aWR0aDogMS41cmVtO1xuXHRoZWlnaHQ6IDEuNXJlbTtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2RhdGEgLmhhcy1ncmF5LTcwMC1jb2xvciAuaWNvbi1jb250YWluZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2RhdGEgLmhhcy1ibHVlLTUwMC1jb2xvciAuaWNvbi1jb250YWluZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG59XG5cbi5jYXJkLWZhY3VsdHlfX2RhdGEgcCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW0pO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTcwMCk7XG5cdG1hcmdpbjogMDtcbn1cblxuLmNhcmQtZmFjdWx0eV9fZGF0YSBhIHtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2FyZC1mYWN1bHR5X19kYXRhIGE6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTcwMCk7XG59XG5cbi8qIEhvdmVyIHN0YXRlICovXG4uY2FyZC1mYWN1bHR5X19jb250ZW50OmhhcyhhW2hyZWZdKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcmQtZmFjdWx0eV9fY29udGVudDpoYXMoYVtocmVmXTpob3Zlcikge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xufVxuXG4vKiBGb2N1cyBzdGF0ZSAqL1xuLmNhcmQtZmFjdWx0eTpoYXMoYTpmb2N1cykge1xuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTkwMCk7XG59XG5cbi5jYXJkLWZhY3VsdHk6aGFzKGE6Zm9jdXMpIC5jYXJkLWZhY3VsdHlfX2NvbnRlbnQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTApO1xufVxuXG4uY2FyZC1mYWN1bHR5OmhhcyhhOmZvY3VzKSBhIHtcblx0b3V0bGluZTogbm9uZTtcbn0iLCIvKipcbiAqIFVkZUMgRGVzaWduIFN5c3RlbSAtIEhlcm9cbiAqXG4gKiBTZWNjaW9uZXMgaGVybyBjb24gaW1hZ2VuIGRlIGZvbmRvLCB0w610dWxvLCBzZXBhcmFkb3IgeSBib3RvbmVzLlxuICogTcO6bHRpcGxlcyB2YXJpYW50ZXM6IGNlbnRyYWRvLCBpenF1aWVyZGEsIGRlcmVjaGEuXG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qIEhlcm8gQmFzZSAqL1xuLmhlcm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi1oZWlnaHQ6IDQzLjc1cmVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTgwKSB2YXIoLS1zcGFjaW5nLTI0KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04MCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctODApO1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5oZXJvIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogdmFyKC0tY29udGVudC13aWR0aC1tYXgpO1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLyogSGVybyBIZWFkZXIgKi9cbi5oZXJvX19oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5oZXJvX19oZWFkZXIgaDEsXG4uaGVyb19faGVhZGVyIGgyIHtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oZXJvKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKTtcbn1cblxuLyogSGVybyBCdXR0b25zICovXG4uaGVybyAud3AtYmxvY2stYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xufVxuXG4uaGVybyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuaGVybyAud3AtYmxvY2stYnV0dG9uIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMik7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0fVxufVxuXG4vKiBIZXJvIFZhcmlhbnRzICovXG5cbi8qIEhlcm8gTGVmdCAtIENvbnRlbnQgYWxpZ25lZCBsZWZ0ICovXG4uaGVyby0tbGVmdCAuaGVyb19faGVhZGVyLFxuLmhlcm8tLWxlZnQgLndwLWJsb2NrLWJ1dHRvbnMge1xuXHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0dGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0Lmhlcm8tLWxlZnQgLmhlcm9fX2hlYWRlciB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cbn1cblxuLyogSGVybyBSaWdodCAtIENvbnRlbnQgYWxpZ25lZCByaWdodCAqL1xuLmhlcm8tLXJpZ2h0IC5oZXJvX19oZWFkZXIsXG4uaGVyby0tcmlnaHQgLndwLWJsb2NrLWJ1dHRvbnMge1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuaGVyby0tcmlnaHQgLmhlcm9fX2hlYWRlciB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cbn1cblxuLyogSGVybyBUaXRsZSBPbmx5ICovXG4uaGVyby0tdGl0bGUtb25seSB7XG5cdG1pbi1oZWlnaHQ6IDI1cmVtO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy02MCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKTtcbn1cblxuLmhlcm8tLXRpdGxlLW9ubHkgLmhlcm9fX2hlYWRlciBoMSxcbi5oZXJvLS10aXRsZS1vbmx5IC5oZXJvX19oZWFkZXIgaDIge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS00eGwpO1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcblxuXHQuaG9tZSAubWFpbj4uaGVybzpub3QoOmZpcnN0LW9mLXR5cGUpLFxuXHQubWFpbiAuZW50cnktY29udGVudCAuaGVybyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuaGVybyB7XG5cdFx0bWluLWhlaWdodDogMzQuMzc1cmVtO1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdH1cblxuXHQuaG9tZSAubWFpbj4uaGVybzpub3QoOmZpcnN0LW9mLXR5cGUpLFxuXHQubWFpbiAuZW50cnktY29udGVudCAuaGVybyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNDApO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0XHRtaW4taGVpZ2h0OiAzNC4zNzVyZW07XG5cdH1cblxuXHQuaGVyb19faGVhZGVyIGgxLFxuXHQuaGVyb19faGVhZGVyIGgyIHtcblx0XHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS00eGwpO1xuXHR9XG5cblx0Lmhlcm8tLWxlZnQgLmhlcm9fX2hlYWRlcixcblx0Lmhlcm8tLXJpZ2h0IC5oZXJvX19oZWFkZXIge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBPdmVycmlkZSBtYXJnaW5zIHdoZW4gZXhwbGljaXRseSBzZXQgdG8gMCAqL1xuLmhlcm9bc3R5bGUqPVwibWFyZ2luLXRvcDowXCJdIHtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cdC5oZXJvW3N0eWxlKj1cIm1hcmdpbi10b3A6MFwiXSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuaGVyb1tzdHlsZSo9XCJtYXJnaW4tdG9wOjBcIl0ge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuLmhlcm9bc3R5bGUqPVwibWFyZ2luLWJvdHRvbTowXCJdIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG5cdC5oZXJvW3N0eWxlKj1cIm1hcmdpbi1ib3R0b206MFwiXSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQuaGVyb1tzdHlsZSo9XCJtYXJnaW4tYm90dG9tOjBcIl0ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn0iLCIvKlxuICogVXRpbGlkYWRlcyBkZSBlc3BhY2lhZG8gKG1hcmdpbiAvIHBhZGRpbmcpXG4gKiBDbGFzZXMgZW4gZm9ybWF0byB0aXBvIEJvb3RzdHJhcDogbS0sIG10LSwgbWItLCBtbC0sIG1yLSwgbXgtLCBteS1cbiAqIHkgcC0sIHB0LSwgcGItLCBwbC0sIHByLSwgcHgtLCBweS1cbiAqIFZhbG9yZXMgdXNhbiBsYXMgdmFyaWFibGVzIENTUyBkZWZpbmlkYXMgZW4gdG9rZW5zL2Zyb20tZmlnbWEuY3NzXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBhc2VndXJhbW9zIHF1ZSBsYXMgdmFyaWFibGVzIGV4aXN0ZW4gKGZhbGxiYWNrIGEgMCkgKi9cbn1cblxuLyogTGlzdGEgZGUgdG9rZW5zIHNvcG9ydGFkb3M6IDAsNCw4LDEyLDE2LDIwLDI0LDI4LDMyLDM2LDQwLDQ0LDQ4LDYwLDY0LDgwLDEwMCwxNjAgKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0gTUFSR0lOIC0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubS0wIHtcblx0bWFyZ2luOiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5tdC0wIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ubWItMCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLm1sLTAge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ubXItMCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ubXgtMCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLm15LTAge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTAsIDApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5tLTQge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctNClcbn1cblxuLm10LTQge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5tYi00IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ubWwtNCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5tci00IHtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5teC00IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNCk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ubXktNCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmctNClcbn1cblxuLm0tOCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ubXQtOCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOClcbn1cblxuLm1iLTgge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5tbC04IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctOClcbn1cblxuLm1yLTgge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctOClcbn1cblxuLm14LTgge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy04KTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5teS04IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04KTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ubS0xMiB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLm10LTEyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLm1iLTEyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLm1sLTEyIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5tci0xMiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLm14LTEyIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5teS0xMiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ubS0xNiB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLm10LTE2IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLm1iLTE2IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLm1sLTE2IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5tci0xNiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLm14LTE2IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5teS0xNiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ubS0yMCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLm10LTIwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLm1iLTIwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLm1sLTIwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5tci0yMCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLm14LTIwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMjApO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5teS0yMCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ubS0yNCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLm10LTI0IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLm1iLTI0IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLm1sLTI0IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5tci0yNCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLm14LTI0IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5teS0yNCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ubS0yOCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLm10LTI4IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLm1iLTI4IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLm1sLTI4IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5tci0yOCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLm14LTI4IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMjgpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5teS0yOCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMjgpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ubS0zMiB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLm10LTMyIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLm1iLTMyIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLm1sLTMyIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5tci0zMiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLm14LTMyIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5teS0zMiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ubS0zNiB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLm10LTM2IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLm1iLTM2IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLm1sLTM2IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5tci0zNiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLm14LTM2IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMzYpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5teS0zNiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzYpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ubS00MCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLm10LTQwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLm1iLTQwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLm1sLTQwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5tci00MCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLm14LTQwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNDApO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5teS00MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ubS00NCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLm10LTQ0IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLm1iLTQ0IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLm1sLTQ0IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5tci00NCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLm14LTQ0IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNDQpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5teS00NCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ubS00OCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLm10LTQ4IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLm1iLTQ4IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLm1sLTQ4IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5tci00OCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLm14LTQ4IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNDgpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5teS00OCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNDgpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ubS02MCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLm10LTYwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLm1iLTYwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLm1sLTYwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5tci02MCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLm14LTYwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNjApO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5teS02MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNjApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ubS02NCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLm10LTY0IHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLm1iLTY0IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLm1sLTY0IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5tci02NCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLm14LTY0IHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctNjQpO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5teS02NCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctNjQpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ubS04MCB7XG5cdG1hcmdpbjogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLm10LTgwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLm1iLTgwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLm1sLTgwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5tci04MCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLm14LTgwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctODApO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5teS04MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctODApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ubS0xMDAge1xuXHRtYXJnaW46IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ubXQtMTAwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMDApXG59XG5cbi5tYi0xMDAge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLm1sLTEwMCB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLm1yLTEwMCB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2luZy0xMDApXG59XG5cbi5teC0xMDAge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0xMDApO1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ubXktMTAwIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMDApO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLm0tMTYwIHtcblx0bWFyZ2luOiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLm10LTE2MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYwKVxufVxuXG4ubWItMTYwIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5tbC0xNjAge1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5tci0xNjAge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNpbmctMTYwKVxufVxuXG4ubXgtMTYwIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYwKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLm15LTE2MCB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYwKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIFBBRERJTkcgLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wLTAge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTAsIDApXG59XG5cbi5wdC0wIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLnBiLTAge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ucGwtMCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0wLCAwKVxufVxuXG4ucHItMCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLnB4LTAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMCwgMCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLnB5LTAge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy0wLCAwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMCwgMClcbn1cblxuLnAtNCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctNClcbn1cblxuLnB0LTQge1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ucGItNCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5wbC00IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTQpXG59XG5cbi5wci00IHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ucHgtNCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00KTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ucHktNCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy00KVxufVxuXG4ucC04IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy04KVxufVxuXG4ucHQtOCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5wYi04IHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctOClcbn1cblxuLnBsLTgge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctOClcbn1cblxuLnByLTgge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5weC04IHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTgpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5weS04IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctOCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgpXG59XG5cbi5wLTEyIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xMilcbn1cblxuLnB0LTEyIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5wYi0xMiB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTEyKVxufVxuXG4ucGwtMTIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5wci0xMiB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5weC0xMiB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5weS0xMiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTIpXG59XG5cbi5wLTE2IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0xNilcbn1cblxuLnB0LTE2IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5wYi0xNiB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2KVxufVxuXG4ucGwtMTYge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5wci0xNiB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5weC0xNiB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xNik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5weS0xNiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTE2KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTYpXG59XG5cbi5wLTIwIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yMClcbn1cblxuLnB0LTIwIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5wYi0yMCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTIwKVxufVxuXG4ucGwtMjAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5wci0yMCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5weC0yMCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yMCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5weS0yMCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTIwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMjApXG59XG5cbi5wLTI0IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yNClcbn1cblxuLnB0LTI0IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5wYi0yNCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI0KVxufVxuXG4ucGwtMjQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5wci0yNCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5weC0yNCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yNCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5weS0yNCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMjQpXG59XG5cbi5wLTI4IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0yOClcbn1cblxuLnB0LTI4IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5wYi0yOCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTI4KVxufVxuXG4ucGwtMjgge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5wci0yOCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5weC0yOCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0yOCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5weS0yOCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTI4KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMjgpXG59XG5cbi5wLTMyIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0zMilcbn1cblxuLnB0LTMyIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5wYi0zMiB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTMyKVxufVxuXG4ucGwtMzIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5wci0zMiB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5weC0zMiB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0zMik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5weS0zMiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTMyKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMzIpXG59XG5cbi5wLTM2IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy0zNilcbn1cblxuLnB0LTM2IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5wYi0zNiB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTM2KVxufVxuXG4ucGwtMzYge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5wci0zNiB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5weC0zNiB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0zNik7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5weS0zNiB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTM2KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMzYpXG59XG5cbi5wLTQwIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00MClcbn1cblxuLnB0LTQwIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5wYi00MCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQwKVxufVxuXG4ucGwtNDAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5wci00MCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5weC00MCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00MCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5weS00MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDApXG59XG5cbi5wLTQ0IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00NClcbn1cblxuLnB0LTQ0IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5wYi00NCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ0KVxufVxuXG4ucGwtNDQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5wci00NCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5weC00NCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00NCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5weS00NCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQ0KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDQpXG59XG5cbi5wLTQ4IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy00OClcbn1cblxuLnB0LTQ4IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5wYi00OCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTQ4KVxufVxuXG4ucGwtNDgge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5wci00OCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5weC00OCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy00OCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5weS00OCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNDgpXG59XG5cbi5wLTYwIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy02MClcbn1cblxuLnB0LTYwIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5wYi02MCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTYwKVxufVxuXG4ucGwtNjAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5wci02MCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5weC02MCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy02MCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5weS02MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTYwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNjApXG59XG5cbi5wLTY0IHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy02NClcbn1cblxuLnB0LTY0IHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5wYi02NCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTY0KVxufVxuXG4ucGwtNjQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5wci02NCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5weC02NCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy02NCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5weS02NCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTY0KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctNjQpXG59XG5cbi5wLTgwIHtcblx0cGFkZGluZzogdmFyKC0tc3BhY2luZy04MClcbn1cblxuLnB0LTgwIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5wYi04MCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTgwKVxufVxuXG4ucGwtODAge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5wci04MCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5weC04MCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy04MCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5weS04MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctODApXG59XG5cbi5wLTEwMCB7XG5cdHBhZGRpbmc6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ucHQtMTAwIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ucGItMTAwIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ucGwtMTAwIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEwMClcbn1cblxuLnByLTEwMCB7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ucHgtMTAwIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjaW5nLTEwMCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ucHktMTAwIHtcblx0cGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMTAwKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMTAwKVxufVxuXG4ucC0xNjAge1xuXHRwYWRkaW5nOiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLnB0LTE2MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLnBiLTE2MCB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLnBsLTE2MCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xNjApXG59XG5cbi5wci0xNjAge1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLnB4LTE2MCB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0xNjApO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTE2MClcbn1cblxuLnB5LTE2MCB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTE2MCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nLTE2MClcbn0iLCIvKiBBbGluZWFjacOzbiBkZSB0ZXh0byAqL1xuLnRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLyogRmxvdyAtIEVzcGFjaWFkbyBhdXRvbcOhdGljbyBlbnRyZSBlbGVtZW50b3MgaGlqb3MgKi9cbi5mbG93PiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLWZsb3ctc3BhY2UsIDFlbSk7XG59XG5cbi8qIEZsb3cgY29uIGRpZmVyZW50ZXMgZXNwYWNpYWRvcyBwcmVkZWZpbmlkb3MgKi9cbi5mbG93LXhzPiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctOCk7XG59XG5cbi5mbG93LXM+KisqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xMik7XG59XG5cbi5mbG93LW0+KisqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0xNik7XG59XG5cbi5mbG93LWw+KisqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbi5mbG93LXhsPiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMzIpO1xufVxuXG4uZmxvdy0yeGw+KisqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy00OCk7XG59XG5cbi8qIENvbnRlbnQgd3JhcHBlciBjb24gZmxvdyBhdXRvbcOhdGljbyB5IHdpZHRoIMOzcHRpbW8gKi9cbi5jb250ZW50LWZsb3cge1xuXHRtYXgtd2lkdGg6IDQzLjc1cmVtO1xuXHQvKiA3MDBweCAtIGFuY2hvIMOzcHRpbW8gZGUgbGVjdHVyYSAqL1xufVxuXG4uY29udGVudC1mbG93PiorKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLWZsb3ctc3BhY2UsIDEuNXJlbSk7XG59XG5cbi8qIEZsb3cgc3BhY2UgZXNwZWPDrWZpY28gZGVzcHXDqXMgZGUgaGVhZGluZ3MgKi9cbi5mbG93PmgxKyosXG4uZmxvdz5oMisqLFxuLmZsb3c+aDMrKixcbi5mbG93Pmg0KyosXG4uZmxvdz5oNSsqLFxuLmZsb3c+aDYrKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmctMTYpO1xufVxuXG4uZmxvdz5wK3Age1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTEyKTtcbn1cblxuLmZsb3c+dWwrKixcbi5mbG93Pm9sKyoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuLmZsb3c+YmxvY2txdW90ZSsqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0tc3BhY2luZy0zMik7XG59XG4iLCIvKiBTaXN0ZW1hIGRlIGZpbGFzIHkgY29sdW1uYXMgKi9cbjpyb290IHtcblx0LS1ncmlkLWd1dHRlcjogdmFyKC0tc3BhY2luZy0xNik7XG5cdC0tZ3JpZC1jb2x1bW5zOiAxMjtcbn1cblxuLyogLmNvbnRhaW5lcjpoYXMoPi5yb3cpIHtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1ndXR0ZXIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtZ3V0dGVyKTtcbn0gKi9cblxuLnJvdyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0bWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tZ3JpZC1ndXR0ZXIpKTtcblx0bWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1ncmlkLWd1dHRlcikpO1xufVxuXG4vKiBDb2x1bW5hcyBiYXNlICovXG4uY29sLFxuLmNvbC0xLFxuLmNvbC0yLFxuLmNvbC0zLFxuLmNvbC00LFxuLmNvbC01LFxuLmNvbC02LFxuLmNvbC03LFxuLmNvbC04LFxuLmNvbC05LFxuLmNvbC0xMCxcbi5jb2wtMTEsXG4uY29sLTEyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ3JpZC1ndXR0ZXIpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdyaWQtZ3V0dGVyKTtcbn1cblxuLyogQ29sdW1uYXMgZGUgYW5jaG8gZmlqbyAqL1xuLmNvbC0xIHtcblx0ZmxleDogMCAwIDguMzMzMzMzJTtcblx0bWF4LXdpZHRoOiA4LjMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG5cdGZsZXg6IDAgMCAxNi42NjY2NjclO1xuXHRtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG59XG5cbi5jb2wtMyB7XG5cdGZsZXg6IDAgMCAyNSU7XG5cdG1heC13aWR0aDogMjUlO1xufVxuXG4uY29sLTQge1xuXHRmbGV4OiAwIDAgMzMuMzMzMzMzJTtcblx0bWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xufVxuXG4uY29sLTUge1xuXHRmbGV4OiAwIDAgNDEuNjY2NjY3JTtcblx0bWF4LXdpZHRoOiA0MS42NjY2NjclO1xufVxuXG4uY29sLTYge1xuXHRmbGV4OiAwIDAgNTAlO1xuXHRtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmNvbC03IHtcblx0ZmxleDogMCAwIDU4LjMzMzMzMyU7XG5cdG1heC13aWR0aDogNTguMzMzMzMzJTtcbn1cblxuLmNvbC04IHtcblx0ZmxleDogMCAwIDY2LjY2NjY2NyU7XG5cdG1heC13aWR0aDogNjYuNjY2NjY3JTtcbn1cblxuLmNvbC05IHtcblx0ZmxleDogMCAwIDc1JTtcblx0bWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jb2wtMTAge1xuXHRmbGV4OiAwIDAgODMuMzMzMzMzJTtcblx0bWF4LXdpZHRoOiA4My4zMzMzMzMlO1xufVxuXG4uY29sLTExIHtcblx0ZmxleDogMCAwIDkxLjY2NjY2NyU7XG5cdG1heC13aWR0aDogOTEuNjY2NjY3JTtcbn1cblxuLmNvbC0xMiB7XG5cdGZsZXg6IDAgMCAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbHVtbmFzIGF1dG9tw6F0aWNhcyAqL1xuLmNvbCB7XG5cdGZsZXgtYmFzaXM6IDA7XG5cdGZsZXgtZ3JvdzogMTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBDb2x1bW5hcyByZXNwb25zaXZlIC0gRXh0cmEgc21hbGwgKHBvciBkZWZlY3RvKSAqL1xuLmNvbC14cy0xIHtcblx0ZmxleDogMCAwIDguMzMzMzMzJTtcblx0bWF4LXdpZHRoOiA4LjMzMzMzMyU7XG59XG5cbi5jb2wteHMtMiB7XG5cdGZsZXg6IDAgMCAxNi42NjY2NjclO1xuXHRtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG59XG5cbi5jb2wteHMtMyB7XG5cdGZsZXg6IDAgMCAyNSU7XG5cdG1heC13aWR0aDogMjUlO1xufVxuXG4uY29sLXhzLTQge1xuXHRmbGV4OiAwIDAgMzMuMzMzMzMzJTtcblx0bWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xufVxuXG4uY29sLXhzLTUge1xuXHRmbGV4OiAwIDAgNDEuNjY2NjY3JTtcblx0bWF4LXdpZHRoOiA0MS42NjY2NjclO1xufVxuXG4uY29sLXhzLTYge1xuXHRmbGV4OiAwIDAgNTAlO1xuXHRtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmNvbC14cy03IHtcblx0ZmxleDogMCAwIDU4LjMzMzMzMyU7XG5cdG1heC13aWR0aDogNTguMzMzMzMzJTtcbn1cblxuLmNvbC14cy04IHtcblx0ZmxleDogMCAwIDY2LjY2NjY2NyU7XG5cdG1heC13aWR0aDogNjYuNjY2NjY3JTtcbn1cblxuLmNvbC14cy05IHtcblx0ZmxleDogMCAwIDc1JTtcblx0bWF4LXdpZHRoOiA3NSU7XG59XG5cbi5jb2wteHMtMTAge1xuXHRmbGV4OiAwIDAgODMuMzMzMzMzJTtcblx0bWF4LXdpZHRoOiA4My4zMzMzMzMlO1xufVxuXG4uY29sLXhzLTExIHtcblx0ZmxleDogMCAwIDkxLjY2NjY2NyU7XG5cdG1heC13aWR0aDogOTEuNjY2NjY3JTtcbn1cblxuLmNvbC14cy0xMiB7XG5cdGZsZXg6IDAgMCAxMDAlO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIENvbHVtbmFzIHJlc3BvbnNpdmUgLSBTbWFsbCAo4omlNTc2cHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcblx0LmNvbC1zbS0xIHtcblx0XHRmbGV4OiAwIDAgOC4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogOC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1zbS0yIHtcblx0XHRmbGV4OiAwIDAgMTYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLXNtLTMge1xuXHRcdGZsZXg6IDAgMCAyNSU7XG5cdFx0bWF4LXdpZHRoOiAyNSU7XG5cdH1cblxuXHQuY29sLXNtLTQge1xuXHRcdGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogMzMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtc20tNSB7XG5cdFx0ZmxleDogMCAwIDQxLjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA0MS42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1zbS02IHtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cblx0LmNvbC1zbS03IHtcblx0XHRmbGV4OiAwIDAgNTguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLXNtLTgge1xuXHRcdGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNjYuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtc20tOSB7XG5cdFx0ZmxleDogMCAwIDc1JTtcblx0XHRtYXgtd2lkdGg6IDc1JTtcblx0fVxuXG5cdC5jb2wtc20tMTAge1xuXHRcdGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogODMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtc20tMTEge1xuXHRcdGZsZXg6IDAgMCA5MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogOTEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtc20tMTIge1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBDb2x1bW5hcyByZXNwb25zaXZlIC0gTWVkaXVtICjiiaU3NjhweCkgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHQuY29sLW1kLTEge1xuXHRcdGZsZXg6IDAgMCA4LjMzMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA4LjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLW1kLTIge1xuXHRcdGZsZXg6IDAgMCAxNi42NjY2NjclO1xuXHRcdG1heC13aWR0aDogMTYuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtbWQtMyB7XG5cdFx0ZmxleDogMCAwIDI1JTtcblx0XHRtYXgtd2lkdGg6IDI1JTtcblx0fVxuXG5cdC5jb2wtbWQtNCB7XG5cdFx0ZmxleDogMCAwIDMzLjMzMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1tZC01IHtcblx0XHRmbGV4OiAwIDAgNDEuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDQxLjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLW1kLTYge1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblxuXHQuY29sLW1kLTcge1xuXHRcdGZsZXg6IDAgMCA1OC4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogNTguMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtbWQtOCB7XG5cdFx0ZmxleDogMCAwIDY2LjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA2Ni42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1tZC05IHtcblx0XHRmbGV4OiAwIDAgNzUlO1xuXHRcdG1heC13aWR0aDogNzUlO1xuXHR9XG5cblx0LmNvbC1tZC0xMCB7XG5cdFx0ZmxleDogMCAwIDgzLjMzMzMzMyU7XG5cdFx0bWF4LXdpZHRoOiA4My4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1tZC0xMSB7XG5cdFx0ZmxleDogMCAwIDkxLjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA5MS42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1tZC0xMiB7XG5cdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi8qIENvbHVtbmFzIHJlc3BvbnNpdmUgLSBMYXJnZSAo4omlOTkycHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcblx0LmNvbC1sZy0xIHtcblx0XHRmbGV4OiAwIDAgOC4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogOC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC1sZy0yIHtcblx0XHRmbGV4OiAwIDAgMTYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLWxnLTMge1xuXHRcdGZsZXg6IDAgMCAyNSU7XG5cdFx0bWF4LXdpZHRoOiAyNSU7XG5cdH1cblxuXHQuY29sLWxnLTQge1xuXHRcdGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogMzMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtbGctNSB7XG5cdFx0ZmxleDogMCAwIDQxLjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA0MS42NjY2NjclO1xuXHR9XG5cblx0LmNvbC1sZy02IHtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cblx0LmNvbC1sZy03IHtcblx0XHRmbGV4OiAwIDAgNTguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLWxnLTgge1xuXHRcdGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNjYuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtbGctOSB7XG5cdFx0ZmxleDogMCAwIDc1JTtcblx0XHRtYXgtd2lkdGg6IDc1JTtcblx0fVxuXG5cdC5jb2wtbGctMTAge1xuXHRcdGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogODMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wtbGctMTEge1xuXHRcdGZsZXg6IDAgMCA5MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogOTEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wtbGctMTIge1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufVxuXG4vKiBDb2x1bW5hcyByZXNwb25zaXZlIC0gRXh0cmEgTGFyZ2UgKOKJpTEyMDBweCkgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0LmNvbC14bC0xIHtcblx0XHRmbGV4OiAwIDAgOC4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogOC4zMzMzMzMlO1xuXHR9XG5cblx0LmNvbC14bC0yIHtcblx0XHRmbGV4OiAwIDAgMTYuNjY2NjY3JTtcblx0XHRtYXgtd2lkdGg6IDE2LjY2NjY2NyU7XG5cdH1cblxuXHQuY29sLXhsLTMge1xuXHRcdGZsZXg6IDAgMCAyNSU7XG5cdFx0bWF4LXdpZHRoOiAyNSU7XG5cdH1cblxuXHQuY29sLXhsLTQge1xuXHRcdGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogMzMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wteGwtNSB7XG5cdFx0ZmxleDogMCAwIDQxLjY2NjY2NyU7XG5cdFx0bWF4LXdpZHRoOiA0MS42NjY2NjclO1xuXHR9XG5cblx0LmNvbC14bC02IHtcblx0XHRmbGV4OiAwIDAgNTAlO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cblx0LmNvbC14bC03IHtcblx0XHRmbGV4OiAwIDAgNTguMzMzMzMzJTtcblx0XHRtYXgtd2lkdGg6IDU4LjMzMzMzMyU7XG5cdH1cblxuXHQuY29sLXhsLTgge1xuXHRcdGZsZXg6IDAgMCA2Ni42NjY2NjclO1xuXHRcdG1heC13aWR0aDogNjYuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wteGwtOSB7XG5cdFx0ZmxleDogMCAwIDc1JTtcblx0XHRtYXgtd2lkdGg6IDc1JTtcblx0fVxuXG5cdC5jb2wteGwtMTAge1xuXHRcdGZsZXg6IDAgMCA4My4zMzMzMzMlO1xuXHRcdG1heC13aWR0aDogODMuMzMzMzMzJTtcblx0fVxuXG5cdC5jb2wteGwtMTEge1xuXHRcdGZsZXg6IDAgMCA5MS42NjY2NjclO1xuXHRcdG1heC13aWR0aDogOTEuNjY2NjY3JTtcblx0fVxuXG5cdC5jb2wteGwtMTIge1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxufSIsIi8qIEdyaWQgdXRpbGl0aWVzICovXG4uZ3JpZC0yIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nLTI0KTtcbn1cblxuLmdyaWQtMyB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0yNCk7XG59XG5cbi5ncmlkLTQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMjQpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG5cdC5ncmlkLTIsXG5cdC5ncmlkLTMsXG5cdC5ncmlkLTQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cblx0LmdyaWQtMyxcblx0LmdyaWQtNCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0fVxufSIsIi8qIEZsZXggdXRpbGl0aWVzICovXG4uZmxleCB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWNvbHVtbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5mbGV4LWNlbnRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmxleC1iZXR3ZWVuIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ucGxhY2UtY2VudGVyIHtcblx0cGxhY2UtY29udGVudDogY2VudGVyO1xufVxuXG4vKiBHYXAgKi9cbi5nYXAtMCB7XG5cdGdhcDogMDtcbn1cblxuLmdhcC0xNiB7XG5cdGdhcDogdmFyKC0tc3BhY2luZy0xNik7XG59XG5cbi5nYXAtMzIge1xuXHRnYXA6IHZhcigtLXNwYWNpbmctMzIpO1xufSIsIi8qKlxuICogVWRlQyBEZXNpZ24gU3lzdGVtIC0gV29yZFByZXNzIFV0aWxpdGllc1xuICpcbiAqIENsYXNlcyB1dGlsaXRhcmlhcyBnZW5lcmFkYXMgYXV0b23DoXRpY2FtZW50ZSBwb3IgV29yZFByZXNzIGRlc2RlIHRoZW1lLmpzb24uXG4gKiBFc3RhcyBjbGFzZXMgcmVwbGljYW4gZWwgY29tcG9ydGFtaWVudG8gZGVsIGVkaXRvciBkZSBibG9xdWVzIGRlIFdvcmRQcmVzc1xuICogcGFyYSBtYW50ZW5lciBjb21wYXRpYmlsaWRhZCB0b3RhbCBlbnRyZSBlbCBDTVMgeSBsYSBsaWJyZXLDrWEgZXN0w6F0aWNhLlxuICpcbiAqIEJhc2FkbyBlbjpcbiAqIC0gc2V0dGluZ3MuY29sb3IucGFsZXR0ZSAtPiBoYXMte3NsdWd9LWJhY2tncm91bmQtY29sb3IsIGhhcy17c2x1Z30tY29sb3JcbiAqIC0gc2V0dGluZ3MudHlwb2dyYXBoeS5mb250U2l6ZXMgLT4gaGFzLXtzbHVnfS1mb250LXNpemVcbiAqIC0gc2V0dGluZ3Muc3BhY2luZy5zcGFjaW5nU2l6ZXMgLT4gVmFyaWFibGVzIC0td3AtLXByZXNldC0tc3BhY2luZy0te3NsdWd9XG4gKlxuICogRGVwZW5kZW5jaWFzOiB2YXJpYWJsZXMuY3NzXG4gKlxuICogQHBhY2thZ2UgVWRlQyBGcm9udGVuZCBMaWJyYXJ5XG4gKiBAdmVyc2lvbiAxLjAuMFxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYWNrZ3JvdW5kIENvbG9ycyAtIGhhcy17c2x1Z30tYmFja2dyb3VuZC1jb2xvclxuICAgRGVzZGUgc2V0dGluZ3MuY29sb3IucGFsZXR0ZSBlbiB0aGVtZS5qc29uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQcmltYXJ5IEJsdWUgKi9cbi5oYXMtYmx1ZS01MC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtMTAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMTAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtMzAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtNTAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtNzAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtOTAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtOTAwKSAhaW1wb3J0YW50O1xufVxuXG4vKiBOZXV0cmFsIEdyYXkgKi9cbi5oYXMtZ3JheS01MC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdyYXktNDAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNDAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdyYXktNzAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdyYXktODAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktODAwKSAhaW1wb3J0YW50O1xufVxuXG4vKiBQcmltYXJ5IFllbGxvdyAqL1xuLmhhcy15ZWxsb3ctMzAwLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMteWVsbG93LTUwMC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKSAhaW1wb3J0YW50O1xufVxuXG4vKiBXaGl0ZSAqL1xuLmhhcy13aGl0ZS1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC13aGl0ZS0wKSAhaW1wb3J0YW50O1xufVxuXG4vKiBDYXRlZ29yeSBDb2xvcnMgKi9cbi5oYXMtY2F0ZWdvcnktY3VsdHVyZS1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktY3VsdHVyZSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1oZWFsdGgtZW52aXJvbm1lbnQtYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWhlYWx0aC1lbnZpcm9ubWVudCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1zY2llbmNlLXRlY2hub2xvZ3ktYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXNjaWVuY2UtdGVjaG5vbG9neSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1odW1hbml0aWVzLXNvY2lldHktYmFja2dyb3VuZC1jb2xvciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWh1bWFuaXRpZXMtc29jaWV0eSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS11bml2ZXJzaXR5LWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS11bml2ZXJzaXR5KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWNhdGVnb3J5LXNwb3J0LWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1zcG9ydCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1hY2FkZW1pYy1hY3Rpdml0aWVzLWJhY2tncm91bmQtY29sb3Ige1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1hY2FkZW1pYy1hY3Rpdml0aWVzKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBDb2xvcnMgLSBoYXMte3NsdWd9LWNvbG9yXG4gICBEZXNkZSBzZXR0aW5ncy5jb2xvci5wYWxldHRlIGVuIHRoZW1lLmpzb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFByaW1hcnkgQmx1ZSAqL1xuLmhhcy1ibHVlLTUwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTEwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtMTAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtMzAwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS0zMDApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtYmx1ZS01MDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTUwMCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ibHVlLTcwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNzAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWJsdWUtOTAwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApICFpbXBvcnRhbnQ7XG59XG5cbi8qIE5ldXRyYWwgR3JheSAqL1xuLmhhcy1ncmF5LTUwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS01MCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1ncmF5LTQwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNDAwKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdyYXktNzAwLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS03MDApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtZ3JheS04MDAtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTgwMCkgIWltcG9ydGFudDtcbn1cblxuLyogUHJpbWFyeSBZZWxsb3cgKi9cbi5oYXMteWVsbG93LTMwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMteWVsbG93LTUwMC1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy01MDApICFpbXBvcnRhbnQ7XG59XG5cbi8qIFdoaXRlICovXG4uaGFzLXdoaXRlLWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCkgIWltcG9ydGFudDtcbn1cblxuLyogQ2F0ZWdvcnkgQ29sb3JzICovXG4uaGFzLWNhdGVnb3J5LWN1bHR1cmUtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktY3VsdHVyZSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS1oZWFsdGgtZW52aXJvbm1lbnQtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktaGVhbHRoLWVudmlyb25tZW50KSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWNhdGVnb3J5LXNjaWVuY2UtdGVjaG5vbG9neS1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1zY2llbmNlLXRlY2hub2xvZ3kpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktaHVtYW5pdGllcy1zb2NpZXR5LWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LWh1bWFuaXRpZXMtc29jaWV0eSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1jYXRlZ29yeS11bml2ZXJzaXR5LWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWNhdGVnb3J5LXVuaXZlcnNpdHkpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktc3BvcnQtY29sb3Ige1xuXHRjb2xvcjogdmFyKC0tY29sb3ItY2F0ZWdvcnktc3BvcnQpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtY2F0ZWdvcnktYWNhZGVtaWMtYWN0aXZpdGllcy1jb2xvciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1jYXRlZ29yeS1hY2FkZW1pYy1hY3Rpdml0aWVzKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9udCBTaXplcyAtIGhhcy17c2x1Z30tZm9udC1zaXplXG4gICBEZXNkZSBzZXR0aW5ncy50eXBvZ3JhcGh5LmZvbnRTaXplcyBlbiB0aGVtZS5qc29uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGFzLWhlcm8tZm9udC1zaXplIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaGVybykgIWltcG9ydGFudDtcbn1cblxuLmhhcy00LXhsLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTR4bCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy0zLXhsLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTN4bCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy0yLXhsLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTJ4bCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy14bC1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1sLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWwpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtYmFzZS1mb250LXNpemUge1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLW0tZm9udC1zaXplIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1zLWZvbnQtc2l6ZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXMpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMteHMtZm9udC1zaXplIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteHMpICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb3JkUHJlc3MgU3BhY2luZyBWYXJpYWJsZXNcbiAgIERlc2RlIHNldHRpbmdzLnNwYWNpbmcuc3BhY2luZ1NpemVzIGVuIHRoZW1lLmpzb25cbiAgIEVzdGFzIHZhcmlhYmxlcyBzZSB1c2FuIGNvbiBpbmxpbmUgc3R5bGVzIGVuIFdvcmRQcmVzc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTA6IHZhcigtLXNwYWNpbmctMCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tNDogdmFyKC0tc3BhY2luZy00KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS04OiB2YXIoLS1zcGFjaW5nLTgpO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTEyOiB2YXIoLS1zcGFjaW5nLTEyKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xNjogdmFyKC0tc3BhY2luZy0xNik7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tMjA6IHZhcigtLXNwYWNpbmctMjApO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTI0OiB2YXIoLS1zcGFjaW5nLTI0KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yODogdmFyKC0tc3BhY2luZy0yOCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tMzI6IHZhcigtLXNwYWNpbmctMzIpO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTM2OiB2YXIoLS1zcGFjaW5nLTM2KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS00MDogdmFyKC0tc3BhY2luZy00MCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tNDQ6IHZhcigtLXNwYWNpbmctNDQpO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTQ4OiB2YXIoLS1zcGFjaW5nLTQ4KTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS02MDogdmFyKC0tc3BhY2luZy02MCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tNjQ6IHZhcigtLXNwYWNpbmctNjQpO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTgwOiB2YXIoLS1zcGFjaW5nLTgwKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xMDA6IHZhcigtLXNwYWNpbmctMTAwKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xNjA6IHZhcigtLXNwYWNpbmctMTYwKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdvcmRQcmVzcyBGb250IEZhbWlseSBWYXJpYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcblx0LS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tcG9wcGluczogdmFyKC0tZm9udC1mYW1pbHktaGVhZGluZyk7XG5cdC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXJvYm90bzogdmFyKC0tZm9udC1mYW1pbHktYm9keSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXb3JkUHJlc3MgRm9udCBTaXplIFZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taGVybzogdmFyKC0tZm9udC1zaXplLWhlcm8pO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tNC14bDogdmFyKC0tZm9udC1zaXplLTR4bCk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS0zLXhsOiB2YXIoLS1mb250LXNpemUtM3hsKTtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLTIteGw6IHZhcigtLWZvbnQtc2l6ZS0yeGwpO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teGw6IHZhcigtLWZvbnQtc2l6ZS14bCk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS1sOiB2YXIoLS1mb250LXNpemUtbCk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS1iYXNlOiB2YXIoLS1mb250LXNpemUtYmFzZSk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tOiB2YXIoLS1mb250LXNpemUtbSk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zOiB2YXIoLS1mb250LXNpemUtcyk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS14czogdmFyKC0tZm9udC1zaXplLXhzKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBDbGFzc2VzXG4gICBDbGFzZXMgYXV4aWxpYXJlcyBnZW5lcmFkYXMgcG9yIFdvcmRQcmVzc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhhcy10ZXh0LWNvbG9yIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGVmYXVsdCkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1iYWNrZ3JvdW5kIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdXJmYWNlKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWxpbmstY29sb3IgYSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saW5rLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRleHQgQWxpZ25tZW50ICovXG4uaGFzLXRleHQtYWxpZ24tbGVmdCB7XG5cdHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmhhcy10ZXh0LWFsaWduLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uaGFzLXRleHQtYWxpZ24tcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV29yZFByZXNzIEN1c3RvbSBQcm9wZXJ0aWVzXG4gICBQcm9waWVkYWRlcyBwZXJzb25hbGl6YWRhcyB1c2FkYXMgZW4gdGhlbWUuanNvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuXHQtLXdwLS1jdXN0b20tLXNwYWNpbmctLWNvbXBvbmVudC1nYXA6IHZhcigtLXNwYWNpbmctY29tcG9uZW50LWdhcCk7XG5cdC0td3AtLWN1c3RvbS0tc3BhY2luZy0tY29udGFpbmVyLXBhZGRpbmc6IHZhcigtLXNwYWNpbmctY29udGFpbmVyLXBhZGRpbmcpO1xuXHQtLXdwLS1jdXN0b20tLXNwYWNpbmctLXNlY3Rpb24tcGFkZGluZzogdmFyKC0tc3BhY2luZy1zZWN0aW9uLXBhZGRpbmcpO1xufSIsIi8qIENvbG9yZXMgZGUgdGV4dG9zICovXG4udGV4dC1uZXV0cmFsLWdyYXktMTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0xMDApO1xufVxuXG4udGV4dC1uZXV0cmFsLWdyYXktMjAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xufVxuXG4udGV4dC1uZXV0cmFsLWdyYXktMzAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0zMDApO1xufVxuXG4udGV4dC1uZXV0cmFsLWdyYXktNDAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS00MDApO1xufVxuXG4udGV4dC1uZXV0cmFsLWdyYXktNTAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTUwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTYwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNjAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTcwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTgwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktODAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC1ncmF5LTkwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktOTAwKTtcbn1cblxuLnRleHQtbmV1dHJhbC13aGl0ZS0wIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi50ZXh0LXByaW1hcnktYmx1ZS0xMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTEwMCk7XG59XG5cbi50ZXh0LXByaW1hcnktYmx1ZS0yMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTIwMCk7XG59XG5cbi50ZXh0LXByaW1hcnktYmx1ZS0zMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTMwMCk7XG59XG5cbi50ZXh0LXByaW1hcnktYmx1ZS00MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTQwMCk7XG59XG5cbi50ZXh0LXByaW1hcnktYmx1ZS01MCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtNTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtNjAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS02MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtNzAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtODAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS04MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LWJsdWUtOTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LXllbGxvdy0xMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMTAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctMjAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMCk7XG59XG5cbi50ZXh0LXByaW1hcnkteWVsbG93LTMwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApO1xufVxuXG4udGV4dC1wcmltYXJ5LXllbGxvdy00MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNDAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctNTAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTApO1xufVxuXG4udGV4dC1wcmltYXJ5LXllbGxvdy01MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctNjAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTYwMCk7XG59XG5cbi50ZXh0LXByaW1hcnkteWVsbG93LTcwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy03MDApO1xufVxuXG4udGV4dC1wcmltYXJ5LXllbGxvdy04MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctODAwKTtcbn1cblxuLnRleHQtcHJpbWFyeS15ZWxsb3ctOTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTkwMCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtMTAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtMTAwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC0yMDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC0yMDApO1xufVxuXG4udGV4dC1zZWNvbmRhcnktcmVkLTMwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTMwMCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtNDAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNDAwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC01MCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTUwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC01MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC01MDApO1xufVxuXG4udGV4dC1zZWNvbmRhcnktcmVkLTYwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTYwMCk7XG59XG5cbi50ZXh0LXNlY29uZGFyeS1yZWQtNzAwIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNzAwKTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5LXJlZC04MDAge1xuXHRjb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC04MDApO1xufVxuXG4udGV4dC1zZWNvbmRhcnktcmVkLTkwMCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTkwMCk7XG59XG5cbi8qIENvbG9yZXMgZGUgZm9uZG9zICovXG4uYmctbmV1dHJhbC1ncmF5LTEwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0xMDApO1xufVxuXG4uYmctbmV1dHJhbC1ncmF5LTIwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0yMDApO1xufVxuXG4uYmctbmV1dHJhbC1ncmF5LTMwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS0zMDApO1xufVxuXG4uYmctbmV1dHJhbC1ncmF5LTQwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtZ3JheS00MDApO1xufVxuXG4uYmctbmV1dHJhbC1ncmF5LTUwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC1ncmF5LTUwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS01MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNTAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS02MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNjAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS03MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktNzAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS04MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktODAwKTtcbn1cblxuLmJnLW5ldXRyYWwtZ3JheS05MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLWdyYXktOTAwKTtcbn1cblxuLmJnLW5ldXRyYWwtd2hpdGUtMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtd2hpdGUtMCk7XG59XG5cbi5iZy1wcmltYXJ5LWJsdWUtMTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTEwMCk7XG59XG5cbi5iZy1wcmltYXJ5LWJsdWUtMjAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTIwMCk7XG59XG5cbi5iZy1wcmltYXJ5LWJsdWUtMzAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTMwMCk7XG59XG5cbi5iZy1wcmltYXJ5LWJsdWUtNDAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ibHVlLTQwMCk7XG59XG5cbi5iZy1wcmltYXJ5LWJsdWUtNTAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWJsdWUtNTApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTUwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS01MDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTYwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS02MDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTcwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS03MDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTgwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS04MDApO1xufVxuXG4uYmctcHJpbWFyeS1ibHVlLTkwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktYmx1ZS05MDApO1xufVxuXG4uYmctcHJpbWFyeS15ZWxsb3ctMTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctMTAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTIwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTIwMCk7XG59XG5cbi5iZy1wcmltYXJ5LXllbGxvdy0zMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy0zMDApO1xufVxuXG4uYmctcHJpbWFyeS15ZWxsb3ctNDAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNDAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTUwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTApO1xufVxuXG4uYmctcHJpbWFyeS15ZWxsb3ctNTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctNTAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTYwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTYwMCk7XG59XG5cbi5iZy1wcmltYXJ5LXllbGxvdy03MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXllbGxvdy03MDApO1xufVxuXG4uYmctcHJpbWFyeS15ZWxsb3ctODAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS15ZWxsb3ctODAwKTtcbn1cblxuLmJnLXByaW1hcnkteWVsbG93LTkwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkteWVsbG93LTkwMCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTEwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtMTAwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtMjAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC0yMDApO1xufVxuXG4uYmctc2Vjb25kYXJ5LXJlZC0zMDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTMwMCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTQwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNDAwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtNTAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTUwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtNTAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC01MDApO1xufVxuXG4uYmctc2Vjb25kYXJ5LXJlZC02MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTYwMCk7XG59XG5cbi5iZy1zZWNvbmRhcnktcmVkLTcwMCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeS1yZWQtNzAwKTtcbn1cblxuLmJnLXNlY29uZGFyeS1yZWQtODAwIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LXJlZC04MDApO1xufVxuXG4uYmctc2Vjb25kYXJ5LXJlZC05MDAge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnktcmVkLTkwMCk7XG59Il0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/