/*!*************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./assets/css/main.css ***!
  \*************************************************************************************************************************************************************************/
/* ==========================================================================
	Main CSS Entry Point
	Imports all styles in proper order for WordPress block theme
	========================================================================== */

/* Global Foundation */

/* ==========================================================================
	Global CSS Custom Properties
	Synced with theme.json settings for WordPress block theme compatibility
	========================================================================== */

/* ==========================================================================
	Responsive Type System
	Using clamp() for fluid typography and spacing that scales smoothly
	between mobile and desktop viewports.
	
	Formula: clamp(minimum, preferred, maximum)
	- minimum: ~75% of original size for mobile screens
	- preferred: viewport-based scaling using vw units
	- maximum: original rem value for desktop screens
	
	This creates a smooth scaling experience without hard breakpoints.
	========================================================================== */

/* Base WordPress Variables Override */

:root {
	/* Colors - synced with theme.json palette */
	--wp--preset--color--black: #000000;
	--wp--preset--color--white: #ffffff;
	--wp--preset--color--primary: #0aa39c;
	--wp--preset--color--secondary: #003044;
	--wp--preset--color--accent: rgba(10, 163, 156, 0.1);
	--wp--preset--color--accent-hex: #e4f5f4;
	--wp--preset--color--base: #ffffff;
	--wp--preset--color--base-2: #f7f7f7;
	--wp--preset--color--base-3: #e0e0e0;
	--wp--preset--color--contrast: #000000;
	--wp--preset--color--contrast-2: #636363;
	--wp--preset--color--contrast-3: #a7a7a7;

	/* Neutral Colors - expanded neutral palette */
	--wp--preset--color--neutral-50: #fafafa;
	--wp--preset--color--neutral-100: #f5f5f5;
	--wp--preset--color--neutral-200: #e5e5e5;
	--wp--preset--color--neutral-300: #d4d4d4;
	--wp--preset--color--neutral-400: #a3a3a3;
	--wp--preset--color--neutral-500: #737373;
	--wp--preset--color--neutral-600: #525252;
	--wp--preset--color--neutral-700: #404040;
	--wp--preset--color--neutral-800: #262626;
	--wp--preset--color--neutral-900: #171717;
	--wp--preset--color--neutral-950: #0a0a0a;

	/* Semantic Colors */
	--wp--preset--color--success: #00a32a;
	--wp--preset--color--warning: #ca8a04;
	--wp--preset--color--error: #dc2626;
	--wp--preset--color--info: #0ea5e9;

	/* Primary color variations */
	--wp--preset--color--primary-50: rgba(0, 92, 238, 0.05);
	--wp--preset--color--primary-100: rgba(0, 92, 238, 0.1);

	/* Component-specific colors */
	--wp--preset--color--text-dark: #242424;
	--wp--preset--color--button-purple: #5c53e9;
	--wp--preset--color--border-light: #eef0f3;
	--wp--preset--color--editor-blue: #007cba;
	--wp--preset--color--text-muted: #757575;
	--wp--preset--color--border-gray: #dddddd;
	--wp--preset--color--border-medium: #e0e0e0;
	--wp--preset--color--bg-light: #f8f9fa;
	--wp--preset--color--bg-lighter: #e9ecef;
	--wp--preset--color--text-light: #666666;

	/* Gradient-specific colors */
	--wp--preset--color--hero-gradient-start: #ffffff;
	--wp--preset--color--hero-gradient-end: rgba(3, 57, 96, 0);
	--wp--preset--color--button-gradient-base: #0f80d2;
	--wp--preset--color--button-gradient-overlay-light: rgba(108, 108, 108, 0.15);
	--wp--preset--color--button-gradient-overlay-dark: rgba(108, 108, 108, 0.25);

	/* Component interaction colors */
	--wp--preset--color--nav-mobile-backdrop: rgba(0, 0, 0, 0.6);
	--wp--preset--color--primary-hover: rgba(0, 92, 238, 0.08);
	--wp--preset--color--success-light: rgba(0, 163, 42, 0.1);
	--wp--preset--color--error-light: rgba(220, 38, 38, 0.1);

	/* Typography - responsive fluid type system using clamp() */
	/* Formula: clamp(min-size, preferred-size, max-size) */
	/* Min = ~75% of max for mobile, Max = original rem value */
	--wp--preset--font-size--2xs: clamp(0.5rem, 0.45rem + 0.25vw, 0.625rem);
	--wp--preset--font-size--xs: clamp(0.625rem, 0.55rem + 0.375vw, 0.75rem);
	--wp--preset--font-size--sm: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
	--wp--preset--font-size--base: clamp(0.875rem, 0.75rem + 0.625vw, 1rem);
	--wp--preset--font-size--lg: clamp(1rem, 0.85rem + 0.75vw, 1.125rem);
	--wp--preset--font-size--xl: clamp(1.125rem, 0.95rem + 0.875vw, 1.25rem);
	--wp--preset--font-size--2xl: clamp(1.25rem, 1rem + 1.25vw, 1.5rem);
	--wp--preset--font-size--3xl: clamp(1.5rem, 1.2rem + 1.5vw, 1.875rem);
	--wp--preset--font-size--4xl: clamp(1.875rem, 1.5rem + 1.875vw, 2.25rem);
	--wp--preset--font-size--5xl: clamp(2.25rem, 1.8rem + 2.25vw, 3rem);
	--wp--preset--font-size--6xl: clamp(2.5rem, 2rem + 2.5vw, 3.75rem);

	/* Font Families - synced with updated theme.json fontFamilies */
	--wp--preset--font-family--poppins:
		"Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
		"Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji",
		"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--wp--preset--font-family--system:
		-apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Helvetica Neue",
		arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
		"Segoe UI Symbol", "Noto Color Emoji";
	--wp--preset--font-family--sans:
		"Poppins", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, blinkmacsystemfont,
		"Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--wp--preset--font-family--serif:
		ui-serif, georgia, cambria, "Times New Roman", times, serif;
	--wp--preset--font-family--mono:
		ui-monospace, sfmono-regular, "SF Mono", menlo, monaco, consolas,
		"Liberation Mono", "Courier New", monospace;

	/* Spacing - responsive fluid spacing system using clamp() */
	/* Formula: clamp(min-size, preferred-size, max-size) */
	/* Mobile-first approach: reasonable mobile minimums, fluid scaling to desktop */
	--wp--preset--spacing--xs: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	--wp--preset--spacing--sm: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	--wp--preset--spacing--base: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	--wp--preset--spacing--md: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	--wp--preset--spacing--lg: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	--wp--preset--spacing--xl: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
	--wp--preset--spacing--2xl: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
	--wp--preset--spacing--3xl: clamp(0.75rem, 0.75rem + 3.5vw, 3.75rem);
	--wp--preset--spacing--4xl: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
	--wp--preset--spacing--5xl: clamp(0.75rem, 0.75rem + 4.5vw, 4.75rem);
	--wp--preset--spacing--6xl: clamp(0.75rem, 0.75rem + 5vw, 5.25rem);

	/* Additional spacing aliases for consistency */
	--wp--preset--spacing--small: var(--wp--preset--spacing--sm);
	--wp--preset--spacing--medium: var(--wp--preset--spacing--md);
	--wp--preset--spacing--large: var(--wp--preset--spacing--lg);

	/* Layout */
	--wp--style--block-gap: var(--wp--preset--spacing--base);
	--wp--style--global--content-size: 1280px;
	--wp--style--global--wide-size: 1400px;

	/* Border Radius - Tailwind-inspired scale */
	--wp--preset--border-radius--none: 0;
	--wp--preset--border-radius--sm: 0.125rem;
	--wp--preset--border-radius--base: 0.25rem;
	--wp--preset--border-radius--md: 0.375rem;
	--wp--preset--border-radius--lg: 0.5rem;
	--wp--preset--border-radius--xl: 0.75rem;
	--wp--preset--border-radius--2xl: 1rem;
	--wp--preset--border-radius--3xl: 1.5rem;
	--wp--preset--border-radius--full: 9999px;

	/* Border widths */
	--border-width-thin: 1px;
	--border-width-base: 2px;
	--border-width-thick: 3px;

	/* Component sizes */
	--icon-size-sm: 2rem;
	--icon-size-base: 3.75rem;
	--icon-size-lg: 4rem;
	--hamburger-size: 1.25rem;
	--hamburger-line-height: 0.125rem;
	--header-height: 96px;

	/* Transform values */
	--transform-hover-lift: translateY(-1px);
	--transform-hover-lift-sm: translateY(-2px);
	--transform-scale-hover: scale(1.05);

	/* Content width constraints */
	--content-width-narrow: 37.5rem; /* 600px */
	--content-width-medium: 43.75rem; /* 700px */

	/* Shadows - synced with updated theme.json shadow presets */
	--wp--preset--shadow--xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	--wp--preset--shadow--sm:
		0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
	--wp--preset--shadow--base:
		0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	--wp--preset--shadow--md:
		0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	--wp--preset--shadow--lg:
		0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
	--wp--preset--shadow--xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	--wp--preset--shadow--inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);

	/* Z-Index Scale */
	--z-index-dropdown: 1000;
	--z-index-sticky: 1020;
	--z-index-fixed: 1030;
	--z-index-modal-backdrop: 1040;
	--z-index-modal: 1050;
	--z-index-popover: 1060;
	--z-index-tooltip: 1070;
	--z-index-header: 100;

	/* Breakpoints */
	--breakpoint-sm: 640px;
	--breakpoint-md: 768px;
	--breakpoint-lg: 1024px;
	--breakpoint-xl: 1280px;
	--breakpoint-2xl: 1536px;

	/* Transitions */
	--transition-fast: 0.15s ease-in-out;
	--transition-base: 0.25s ease-in-out;
	--transition-slow: 0.5s ease-in-out;

	/* Grid */
	--grid-columns: 12;
	--grid-gap: var(--wp--preset--spacing--base);
	--grid-max-width: var(--wp--style--global--wide-size);

	/* Custom Media Queries */
	--bp-tiny: 25em; /* 400px */
	--bp-small: 30em; /* 480px */
	--bp-small-max: 35.625em; /* 570px */
	--bp-medium: 48em; /* 768px */
	--bp-large: 64em; /* 1024px */
	--bp-xlarge: 80em; /* 1280px */
	--bp-xxlarge: 90em; /* 1440px */

	/* WP Core Breakpoints (used for the admin bar for example) */
	--wp-small: 600px;
	--wp-medium-max: 782px;
}

/* Custom Media Queries */

/* Responsive Variable Adjustments */

@media (min-width: 768px) {
	:root {
		--wp--style--block-gap: var(--wp--preset--spacing--md);
		--grid-gap: var(--wp--preset--spacing--md);
		--header-height: 116px;
	}
}

@media (min-width: 1024px) {
	:root {
		--wp--style--block-gap: var(--wp--preset--spacing--lg);
		--grid-gap: var(--wp--preset--spacing--lg);
	}
}

/* ==========================================================================
	Base Styles & CSS Reset
	========================================================================== */

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}

* {
	margin: 0;
}

html {
	height: 100%;
	scroll-behavior: smooth;
}

body {
	background-color: #ffffff;
	background-color: var(--wp--preset--color--base);
	color: #003044;
	color: var(--wp--preset--color--secondary);
	font-family: "Poppins", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, blinkmacsystemfont,
		"Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-family: var(--wp--preset--font-family--sans);
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	height: 100%;
	line-height: 1.4;
	padding-left: 0;
	padding-right: 0;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	height: auto;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
}

/* Typography Hierarchy */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Poppins", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif, blinkmacsystemfont,
		"Segoe UI", roboto, "Helvetica Neue", arial, "Noto Sans", sans-serif,
		"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-family: var(--wp--preset--font-family--sans);
	margin-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	margin-bottom: var(--wp--preset--spacing--sm);
}

h1 {
	font-size: clamp(2.5rem, 2rem + 2.5vw, 3.75rem);
	font-size: var(--wp--preset--font-size--6xl);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	margin-bottom: var(--wp--preset--spacing--lg);
}

h2 {
	font-size: clamp(2.25rem, 1.8rem + 2.25vw, 3rem);
	font-size: var(--wp--preset--font-size--5xl);
	font-weight: 700;
	letter-spacing: -0.022em;
	line-height: 1.2;
	margin-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-bottom: var(--wp--preset--spacing--md);
}

h3 {
	font-size: clamp(1.875rem, 1.5rem + 1.875vw, 2.25rem);
	font-size: var(--wp--preset--font-size--4xl);
	font-weight: 600;
	letter-spacing: -0.019em;
	line-height: 1.25;
	margin-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-bottom: var(--wp--preset--spacing--md);
}

h4 {
	font-size: clamp(1.5rem, 1.2rem + 1.5vw, 1.875rem);
	font-size: var(--wp--preset--font-size--3xl);
	font-weight: 600;
	letter-spacing: -0.016em;
	line-height: 1.3;
	margin-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	margin-bottom: var(--wp--preset--spacing--sm);
}

h5 {
	font-size: clamp(1.25rem, 1rem + 1.25vw, 1.5rem);
	font-size: var(--wp--preset--font-size--2xl);
	font-weight: 600;
	letter-spacing: -0.014em;
	line-height: 1.375;
	margin-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	margin-bottom: var(--wp--preset--spacing--sm);
}

h6 {
	font-size: clamp(1.125rem, 0.95rem + 0.875vw, 1.25rem);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	letter-spacing: 0.025em;
	line-height: 1.4;
	margin-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	margin-bottom: var(--wp--preset--spacing--sm);
	text-transform: uppercase;
}

p {
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base);
}

ul,
ol {
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base);
	padding-left: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-left: var(--wp--preset--spacing--md);
}

li:not(:last-child):not(.menu-item):not(
		.wp-block-outermost-social-sharing-link
	) {
	margin-bottom: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-bottom: var(--wp--preset--spacing--xs);
}

a {
	color: #0aa39c;
	color: var(--wp--preset--color--primary);
	-webkit-text-decoration: underline;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.125em;
	-webkit-transition: color 0.15s ease-in-out;
	transition: color 0.15s ease-in-out;
	-webkit-transition: color var(--transition-fast);
	transition: color var(--transition-fast);
}

a:not(.wp-block-button__link):hover,
a:not(.wp-block-button__link):focus {
	color: #003044;
	color: var(--wp--preset--color--secondary);
}

strong,
b {
	font-weight: 700;
}

/* Focus styles for accessibility */

:focus {
	outline: 2px solid #0aa39c;
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

:focus:not(:focus-visible) {
	outline: none;
}

/* Skip link for accessibility */

.skip-link {
	background: #0aa39c;
	background: var(--wp--preset--color--primary);
	border-radius: 0.25rem;
	border-radius: var(--wp--preset--border-radius--base);
	color: #ffffff;
	color: var(--wp--preset--color--white);
	left: -9999px;
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
	position: absolute;
	-webkit-text-decoration: none;
	text-decoration: none;
	z-index: 1070;
	z-index: var(--z-index-tooltip);
}

.skip-link:focus {
	top: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	top: var(--wp--preset--spacing--sm);
	left: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	left: var(--wp--preset--spacing--sm);
}

/* ==========================================================================
   WordPress Alignment Classes
   ========================================================================== */

.alignnone {
	margin: clamp(0.75rem, 0.75rem + 1vw, 1.25rem) 0;
	margin: var(--wp--preset--spacing--base) 0;
}

.aligncenter,
.alignleft,
.alignright {
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base);
}

.alignleft {
	float: left;
	margin-right: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-right: var(--wp--preset--spacing--base);
	text-align: left;
}

.alignright {
	float: right;
	margin-left: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-left: var(--wp--preset--spacing--base);
	text-align: right;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.alignwide {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size, 1200px);
	width: 100%;
}

.alignfull {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

.wp-site-blocks > * {
	/* Default: all content goes in the center column */
	grid-column: 2;
}

.wp-site-blocks > .alignfull {
	/* Full-width content spans all columns */
	grid-column: 1 / -1;
}

.wp-site-blocks > .alignwide {
	/* Wide content spans all columns but with max-width constraint */
	grid-column: 1 / -1;
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size, 1200px);
}

.wp-site-blocks > .wp-block-template-part {
	/* Template parts span full width and manage their own layout */
	grid-column: 1 / -1;
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* Entry content inherits the same grid behavior */

.entry-content {
	overflow-x: visible;
}

.entry-content > * {
	grid-column: 2;
}

.entry-content > .wp-block-group {
		padding-left: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		padding-left: var(--wp--preset--spacing--base);
		padding-right: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		padding-right: var(--wp--preset--spacing--base);
	}

@media (min-width: 48em) {

.entry-content > .wp-block-group {
			padding-left: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
			padding-left: var(--wp--preset--spacing--2xl);
			padding-right: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
			padding-right: var(--wp--preset--spacing--2xl);
	}
		}

.entry-content > .alignwide {
	grid-column: 1 / -1;
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size, 1200px);
}

/* WordPress caption styles */

.wp-caption {
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base);
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	color: #525252;
	color: var(--wp--preset--color--neutral-600);
	font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
	font-size: var(--wp--preset--font-size--sm);
	margin-bottom: 0;
	margin-top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-top: var(--wp--preset--spacing--xs);
	margin-left: 0;
	margin-right: 0;
	text-align: center;
}

.wp-caption.aligncenter {
	text-align: center;
}

.wp-caption.alignright {
	text-align: right;
}

.wp-caption-text {
	margin: 0;
}

/* Screen reader text */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f5f5f5;
	background-color: var(--wp--preset--color--neutral-100);
	border-radius: 0.25rem;
	border-radius: var(--wp--preset--border-radius--base);
	-webkit-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: var(--wp--preset--shadow--base);
	        box-shadow: var(--wp--preset--shadow--base);
	clip: auto !important;
	clip-path: none;
	color: #171717;
	color: var(--wp--preset--color--neutral-900);
	display: block;
	font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 700;
	height: auto;
	top: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	top: var(--wp--preset--spacing--sm);
	left: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	left: var(--wp--preset--spacing--sm);
	line-height: normal;
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(1rem, 1rem + 1.5vw, 1.75rem)
		clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--md)
		var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
	-webkit-text-decoration: none;
	text-decoration: none;
	width: auto;
	z-index: 1070;
	z-index: var(--z-index-tooltip);
}

/* 
 * Simplified Container Utilities
 * Consolidated from multiple competing approaches
 */

.container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size);
	padding-left: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-right: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-left: var(--wp--preset--spacing--base);
	padding-right: var(--wp--preset--spacing--base);
}

.container-narrow {
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
	max-width: var(--wp--style--global--content-size);
	padding-left: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-right: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-left: var(--wp--preset--spacing--base);
	padding-right: var(--wp--preset--spacing--base);
}

/* 
 * Essential Layout Utilities
 * Simplified grid system (1-6 columns) and essential flex utilities
 */

/* Grid System - Reduced from 12 to 6 columns */

.grid {
	display: grid;
	grid-gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	grid-gap: var(--wp--preset--spacing--base, 1rem);
	gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	gap: var(--wp--preset--spacing--base, 1rem);
}

.grid-cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid-cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid-cols-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.grid-cols-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* Essential Flex Utilities */

.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.flex-col {
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
}

.flex-wrap {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

.items-center {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.items-start {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
}

.items-end {
	-webkit-box-align: end;
	    -ms-flex-align: end;
	        align-items: flex-end;
}

.justify-center {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

.justify-between {
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.justify-start {
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

.justify-end {
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

/* Gap Utilities */

.gap-xs {
	gap: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	gap: var(--wp--preset--spacing--xs);
}

.gap-sm {
	gap: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	gap: var(--wp--preset--spacing--sm);
}

.gap-base {
	gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	gap: var(--wp--preset--spacing--base);
}

.gap-md {
	gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	gap: var(--wp--preset--spacing--md);
}

.gap-lg {
	gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	gap: var(--wp--preset--spacing--lg);
}

.gap-xl {
	gap: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
	gap: var(--wp--preset--spacing--xl);
}

/* Responsive Utilities */

@media (min-width: 640px) {
	.sm\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sm\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.sm\:flex-row {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
	}
}

@media (min-width: 768px) {
	.md\:grid-cols-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.md\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.md\:grid-cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.md\:flex-row {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row;
	}
}

@media (min-width: 1024px) {
	.lg\:grid-cols-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.lg\:grid-cols-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.lg\:grid-cols-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.lg\:grid-cols-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* Reduced motion preferences */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		-webkit-animation-duration: 0.01ms !important;
		        animation-duration: 0.01ms !important;
		-webkit-animation-iteration-count: 1 !important;
		        animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		-webkit-transition-duration: 0.01ms !important;
		        transition-duration: 0.01ms !important;
	}
}

/* Enhanced support for nested block content */

.entry-content > .wp-block-group > *:not(.alignfull):not(.alignwide) {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size);
}

/* Ensure proper spacing for block content */

.wp-site-blocks > .entry-content > * + * {
	margin-top: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-top: var(--wp--preset--spacing--base, 1rem);
}

.wp-site-blocks > .entry-content > * + :last-child {
		margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		margin-bottom: var(--wp--preset--spacing--base, 1rem);
	}

/* Fallback for older browsers */

@supports not (grid-template-columns: subgrid) {
	.alignfull {
		left: 50%;
		margin-left: -50vw;
		margin-right: -50vw;
		position: relative;
		right: 50%;
		width: 100vw;
	}
}

.-pad6xl {
	padding-left: clamp(0.75rem, 0.75rem + 1vw, 1.25rem) !important;
	padding-right: clamp(0.75rem, 0.75rem + 1vw, 1.25rem) !important;
	padding-left: var(--wp--preset--spacing--base) !important;
	padding-right: var(--wp--preset--spacing--base) !important;
}

@media (min-width: 48em) {

.-pad6xl {
		padding-left: clamp(0.75rem, 0.75rem + 5vw, 5.25rem) !important;
		padding-right: clamp(0.75rem, 0.75rem + 5vw, 5.25rem) !important;
		padding-left: var(--wp--preset--spacing--6xl) !important;
		padding-right: var(--wp--preset--spacing--6xl) !important;
}
	}

/* Components */

/* ==========================================================================
   Accessibility 
   ========================================================================== */

/* Focus Management */

:focus {
	border-radius: 2px;
	outline: 2px solid #171717;
	outline: 2px solid var(--wp--preset--color--neutral-900, #171717);
	outline-offset: 2px;
}

/* Remove outline for mouse users but keep for keyboard users */

:focus:not(:focus-visible) {
	outline: none;
}

:focus-visible {
	border-radius: 2px;
	outline: 2px solid #171717;
	outline: 2px solid var(--wp--preset--color--neutral-900, #171717);
	outline-offset: 2px;
}

/* Enhanced focus for interactive elements */

a:focus,
input:focus,
textarea:focus,
select:focus,
[tabindex]:focus {
	-webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1);
	outline: 2px solid #171717;
	outline: 2px solid var(--wp--preset--color--neutral-900, #171717);
	outline-offset: 2px;
	-webkit-transition: -webkit-box-shadow 0.15s ease-in-out;
	transition: -webkit-box-shadow 0.15s ease-in-out;
	transition: box-shadow 0.15s ease-in-out;
	transition: box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-webkit-transition: -webkit-box-shadow var(--transition-fast);
	transition: -webkit-box-shadow var(--transition-fast);
	transition: box-shadow var(--transition-fast);
	transition: box-shadow var(--transition-fast), -webkit-box-shadow var(--transition-fast);
}

/* Focus for navigation links */

.wp-block-navigation a:focus {
	background-color: #0aa39c;
	background-color: var(--wp--preset--color--primary, #005cee);
	-webkit-box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8);
	        box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8);
	color: #ffffff;
	color: var(--wp--preset--color--white, #ffffff);
	outline: 3px solid #171717;
	outline: 3px solid var(--wp--preset--color--neutral-900, #171717);
	outline-offset: 3px;
	-webkit-text-decoration: none;
	text-decoration: none;
}

/* Focus for buttons - Let button component styles handle this */

/* Removed duplicate button focus styles to avoid conflicts */

/* Keyboard Navigation Indicators */

.keyboard-navigation .wp-block-navigation-item > a:focus {
	background-color: #0aa39c;
	background-color: var(--wp--preset--color--primary, #005cee);
	-webkit-box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8);
	        box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8);
	color: #ffffff;
	color: var(--wp--preset--color--white, #ffffff);
	outline: 3px solid #171717;
	outline: 3px solid var(--wp--preset--color--neutral-900, #171717);
	outline-offset: 3px;
}

/* Windows High Contrast Mode Support */

@media screen and (-ms-high-contrast: active) {
	:focus {
		outline: 3px solid;
		outline-color: ButtonText;
	}

	.wp-block-navigation a:focus {
		background-color: ButtonText;
		color: ButtonFace;
	}

	.skip-link:focus,
	.screen-reader-text:focus {
		background-color: ButtonText;
		color: ButtonFace;
		outline: 2px solid ButtonText;
	}
}

/* Reduced Motion Support */

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		-webkit-animation-duration: 0.01ms !important;
		        animation-duration: 0.01ms !important;
		-webkit-animation-iteration-count: 1 !important;
		        animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		-webkit-transition-duration: 0.01ms !important;
		        transition-duration: 0.01ms !important;
	}
}

/* Ensure minimum target size for interactive elements */

button,
input,
select,
textarea,
[role="button"],
.wp-block-button a,
.wp-block-social-links a,
.wp-block-search__button,
nav:not(footer nav):not(.wp-block-site-footer nav) a,
.menu:not(footer .menu):not(.wp-block-site-footer .menu) a,
.pagination a,
.wp-block-navigation:not(.wp-block-site-footer .wp-block-navigation) a {
	min-height: 44px;
	min-width: 44px;
}

/* Exception for inline content links - they should flow naturally */

.entry-content a,
.wp-block-post-content a,
.has-text-align-left a,
.has-text-align-center a,
.has-text-align-right a,
p a,
li a:not(.wp-block-navigation a),
blockquote a,
.wp-block-quote a {
	min-height: auto;
	min-width: auto;
}

/* Footer links - ensure adequate spacing without forced dimensions */

.wp-block-site-footer a,
footer a,
.site-footer a,
[role="contentinfo"] a,
.footer a,
.wp-block-site-footer .wp-block-navigation a {
	display: inline-block;
	min-height: auto !important;
	min-width: auto !important;
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
}

/* More specific footer navigation handling */

.wp-block-site-footer .wp-block-navigation__container a,
.wp-block-site-footer .wp-block-navigation-item a,
footer nav a,
.site-footer nav a {
	display: inline-block;
	min-height: auto !important;
	min-width: auto !important;
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem) !important;
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm) !important;
}

/* Standalone links that should maintain target size */

a:not(p a):not(li a):not(.entry-content a):not(.wp-block-post-content a):not(
		.wp-block-site-footer a
	):not(footer a):not(.site-footer a):not([role="contentinfo"] a):not(
		.nav-logo-section a
	) {
	min-height: 44px;
	min-width: 44px;
}

/* Form Accessibility */

fieldset {
	border: 1px solid #636363;
	border: 1px solid var(--wp--preset--color--contrast-2, #cccccc);
	border-radius: 4px;
	margin: clamp(0.75rem, 0.75rem + 1vw, 1.25rem) 0;
	margin: var(--wp--preset--spacing--base, 1rem) 0;
	padding: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding: var(--wp--preset--spacing--base, 1rem);
}

legend {
	font-weight: 600;
	padding: 0 clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	padding: 0 var(--wp--preset--spacing--xs, 0.5rem);
}

/* Error states for forms */

.has-error input,
.has-error select,
.has-error textarea {
	border-color: #cf2e2e;
	border-color: var(--wp--preset--color--vivid-red, #cf2e2e);
	outline-color: #cf2e2e;
	outline-color: var(--wp--preset--color--vivid-red, #cf2e2e);
}

.error-message {
	color: #cf2e2e;
	color: var(--wp--preset--color--vivid-red, #cf2e2e);
	display: block;
	font-size: 0.875rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	margin-top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-top: var(--wp--preset--spacing--xs, 0.5rem);
}

/* Required field indicators */

.required::after {
	color: #cf2e2e;
	color: var(--wp--preset--color--vivid-red, #cf2e2e);
	content: " *";
	font-weight: 600;
}

/* Color Contrast Utilities */

.high-contrast {
	background-color: #000000;
	background-color: var(--wp--preset--color--contrast, #000000);
	color: #ffffff;
	color: var(--wp--preset--color--base, #ffffff);
}

.low-contrast {
	background-color: #636363;
	background-color: var(--wp--preset--color--contrast-2, #f7f7f7);
	color: #000000;
	color: var(--wp--preset--color--contrast, #000000);
}

/* Print Accessibility */

@media print {
	.skip-link,
	.screen-reader-text {
		display: none !important;
	}

	abbr[title]::after {
		content: " (" attr(title) ")";
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
	}
}

/* Additional accessibility properties */

:root {
	--focus-outline-width: 2px;
	--focus-outline-offset: 2px;
	--focus-outline-color: var(--wp--preset--color--neutral-900, #171717);
	--target-size-min: 44px;
}

/* ARIA and semantic elements */

[role="banner"],
[role="main"],
[role="navigation"],
[role="contentinfo"] {
	position: relative;
}

/* Search form accessibility */

.wp-block-search .wp-block-search__input {
	min-height: 44px;
	min-height: var(--target-size-min);
}

.wp-block-search .wp-block-search__button {
	min-height: 44px;
	min-height: var(--target-size-min);
	min-width: 44px;
	min-width: var(--target-size-min);
}

/* Social links accessibility */

.wp-block-social-links a {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-height: 44px;
	min-height: var(--target-size-min);
	min-width: 44px;
	min-width: var(--target-size-min);
}

/* Reduce motion for specific elements */

.no-motion *,
.no-motion *::before,
.no-motion *::after {
	-webkit-animation-duration: 0.01ms !important;
	        animation-duration: 0.01ms !important;
	-webkit-animation-iteration-count: 1 !important;
	        animation-iteration-count: 1 !important;
	-webkit-transition-duration: 0.01ms !important;
	        transition-duration: 0.01ms !important;
}

/* Enhanced keyboard navigation styles */

.keyboard-navigation .wp-block-button__link:focus {
	outline: 3px solid #171717;
	outline: 3px solid var(--focus-outline-color);
	outline-offset: 2px;
	outline-offset: var(--focus-outline-offset);
}

.keyboard-navigation .wp-block-navigation-item a:focus {
	background-color: #0aa39c;
	background-color: var(--wp--preset--color--primary, #005cee);
	-webkit-box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8);
	        box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.8);
	color: #ffffff;
	color: var(--wp--preset--color--white, #ffffff);
	outline: 3px solid #171717;
	outline: 3px solid var(--focus-outline-color);
	outline-offset: 3px;
}

/* Force target size utility */

.force-target-size {
	min-height: 44px !important;
	min-height: var(--target-size-min) !important;
	min-width: 44px !important;
	min-width: var(--target-size-min) !important;
}

.no-target-size {
	min-height: auto !important;
	min-width: auto !important;
}

.small-interactive {
	min-height: 32px !important;
	min-width: 32px !important;
}

/* ==========================================================================
	Primary Button Component
	Reusable button styles based on the "Book Demo" design
	========================================================================== */

/* ==========================================================================
	CSS Custom Properties for Buttons
	========================================================================== */

:root {
	/* Button Colors */
	--btn-primary-bg: var(--wp--preset--color--accent);
	--btn-primary-border: var(--nav-teal);
	--btn-primary-text: var(--nav-text-primary);
	--btn-primary-icon-bg: var(--nav-teal);
	--btn-primary-hover-bg: var(--nav-teal);
	--btn-primary-hover-text: var(--nav-white);

	/* Button Sizing */
	--btn-primary-border-radius: 35px;
	--btn-primary-height: 3.25em;
	--btn-primary-font-size: 15.98px;
	--btn-primary-padding-vertical: 0;
	--btn-primary-padding-horizontal: 1em;
	--btn-primary-icon-text-gap: 10px;

	/* Button Animation */
	--btn-primary-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ==========================================================================
	Primary Button Base Styles
	========================================================================== */

.btn-primary {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: rgba(10, 163, 156, 0.1);
	background: var(--btn-primary-bg);
	border: 1.5px solid #0aa39c;
	border: 1.5px solid var(--btn-primary-border);
	border-radius: 35px;
	border-radius: var(--btn-primary-border-radius);
	cursor: pointer;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	font-family: var(--nav-font-family);
	font-size: 15.98px;
	font-size: var(--btn-primary-font-size);
	font-weight: 700;
	font-weight: var(--nav-font-weight-bold);
	height: 3.25em;
	height: var(--btn-primary-height);
	line-height: 1.1;
	line-height: var(--nav-line-height);
	padding-right: 1em;
	padding-right: var(--btn-primary-padding-horizontal);
	position: relative;
	-webkit-text-decoration: none;
	text-decoration: none;
	text-transform: capitalize;
	-webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	-webkit-transition: var(--btn-primary-transition);
	transition: var(--btn-primary-transition);
	width: 100%;
}

@media (min-width: 64em) {

.btn-primary {
		width: auto;
}
	}

.btn-primary .wp-block-button__link {
		background-color: rgba(10, 163, 156, 0.1);
		background-color: var(--wp--preset--color--accent);
		min-width: -webkit-max-content;
		min-width: -moz-max-content;
		min-width: max-content;
	}

.btn-primary.variant-small {
		--btn-primary-height: 2.75em;
		font-size: 14px;
		padding-left: 1em;
		padding-left: var(--btn-primary-padding-horizontal);
	}

.btn-primary.variant-small .btn-text {
			padding-left: 3.25em;
			padding-left: var(--btn-primary-height);
		}

/* Button text */

.btn-primary .btn-text {
		color: #003044;
		color: var(--btn-primary-text);
		padding-left: 16px;
		text-align: center;
		-webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		-webkit-transition: var(--btn-primary-transition);
		transition: var(--btn-primary-transition);
		white-space: nowrap;
		width: 100%;
	}

@media (min-width: 64em) {

.btn-primary .btn-text {
			padding: 0 0 0
				calc(3.25em + 10px);
			padding: 0 0 0
				calc(var(--btn-primary-height) + var(--btn-primary-icon-text-gap));
			text-align: left;
			width: auto;
	}
		}

/* Button icon container */

.btn-primary .btn-icon {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		aspect-ratio: 1/1;
		background: #0aa39c;
		background: var(--btn-primary-icon-bg);
		border-radius: 50%;
		color: #ffffff;
		color: var(--nav-white);
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-negative: 0;
		    flex-shrink: 0;
		height: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		left: 0;
		pointer-events: none;
		position: absolute;
		top: 0;
		-webkit-transform-origin: center;
		        transform-origin: center;
		-webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		-webkit-transition: var(--btn-primary-transition);
		transition: var(--btn-primary-transition);
		width: auto;
	}

/* Button icon SVG */

.btn-primary .btn-icon svg {
		height: 35%;
		-webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		-webkit-transition: var(--btn-primary-transition);
		transition: var(--btn-primary-transition);
		width: 35%;
	}

/* ==========================================================================
	Primary Button Hover & Focus States
	========================================================================== */

.btn-primary:hover,
.btn-primary:focus {
	background: #0aa39c;
	background: var(--btn-primary-hover-bg);
}

.variant-small.btn-primary:hover .btn-text,.variant-small.btn-primary:focus .btn-text {
			-webkit-transform: translateX(calc(3.25em * -0.75));
			        transform: translateX(calc(3.25em * -0.75));
			-webkit-transform: translateX(calc(var(--btn-primary-height) * -0.75));
			        transform: translateX(calc(var(--btn-primary-height) * -0.75));
		}

.btn-primary:hover .btn-text,.btn-primary:focus .btn-text {
		color: #ffffff;
		color: var(--btn-primary-hover-text);
		-webkit-transform: translateX(calc(3.25em * -0.75));
		        transform: translateX(calc(3.25em * -0.75));
		-webkit-transform: translateX(calc(var(--btn-primary-height) * -0.75));
		        transform: translateX(calc(var(--btn-primary-height) * -0.75));
	}

.btn-primary:hover .btn-icon,.btn-primary:focus .btn-icon {
		left: calc(100% - 3.25em);
		left: calc(100% - var(--btn-primary-height));
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

.btn-primary:hover .btn-icon svg,.btn-primary:focus .btn-icon svg {
			-webkit-transform: rotate(45deg);
			        transform: rotate(45deg);
		}

.btn-primary:focus {
	outline: 2px solid #003044;
	outline: 2px solid var(--nav-navy);
	outline-offset: 2px;
}

/* ==========================================================================
	Button Variants
	========================================================================== */

/* Secondary Button */

.btn-secondary {
	--btn-primary-bg: transparent;
	--btn-primary-border: var(--nav-text-primary);
	--btn-primary-icon-bg: var(--nav-text-primary);
	--btn-primary-hover-bg: var(--nav-text-primary);
}

/* Small Button */

.btn-small {
	--btn-primary-height: 2.75em;
	font-size: 14px;
}

/* Large Button */

.btn-large {
	--btn-primary-height: 4em;
	font-size: 18px;
}

/* ==========================================================================
	Accessibility & Reduced Motion
	========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.btn-primary,
	.btn-primary .btn-text,
	.btn-primary .btn-icon,
	.btn-primary .btn-icon svg {
		-webkit-transition: none !important;
		transition: none !important;
	}
}

/* ==========================================================================
	Button States for Interaction
	========================================================================== */

.btn-primary:active {
	-webkit-transform: translateY(1px);
	        transform: translateY(1px);
}

.btn-primary:disabled,
.btn-primary[aria-disabled="true"],
.btn-primary.btn-disabled {
	cursor: not-allowed;
	opacity: 0.6;
	pointer-events: none;
}

/**
 * Card Component System
 */

/* ==========================================================================
   Base Card Structure
   ========================================================================== */

.feed .card:not(.card--job)::after {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background-color: var(--wp--preset--color--primary-accent);
		background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 106 14%27%3E%3Cpath fill=%27%23003044%27 d=%27M8.667 1.198c-3.863 0-7.163 2.488-8.5 6 1.337 3.512 4.637 6 8.5 6 3.864 0 7.164-2.488 8.5-6-1.337-3.512-4.636-6-8.5-6Zm0 10c-2.132 0-3.863-1.792-3.863-4s1.73-4 3.863-4 3.864 1.792 3.864 4-1.73 4-3.864 4Zm0-6.4c-1.282 0-2.318 1.072-2.318 2.4 0 1.328 1.036 2.4 2.318 2.4 1.283 0 2.319-1.072 2.319-2.4 0-1.328-1.036-2.4-2.319-2.4ZM33.007 10.446l2.8-8.48h2.896L34.72 13.198h-3.424L27.311 1.966h2.912l2.784 8.48Zm6.84 2.752V4.27h2.736v8.928h-2.736Zm1.376-9.856c-.976 0-1.632-.656-1.632-1.472 0-.832.656-1.488 1.632-1.488.96 0 1.616.656 1.616 1.488 0 .816-.656 1.472-1.616 1.472Zm7.279 2.992c-.896 0-1.584.544-1.744 1.536h3.424c0-.976-.768-1.536-1.68-1.536Zm4.272 3.904c-.432 1.744-2.016 3.088-4.24 3.088-2.624 0-4.512-1.76-4.512-4.592s1.856-4.592 4.512-4.592c2.608 0 4.448 1.728 4.448 4.448 0 .256-.016.528-.048.8h-6.192c.096 1.168.816 1.712 1.696 1.712.768 0 1.2-.384 1.424-.864h2.912Zm3.155 2.96L53.497 4.27h2.736l1.264 6.384 1.504-6.384h2.896l1.52 6.352 1.248-6.352h2.576l-2.416 8.928h-3.024l-1.408-5.792-1.456 5.792h-3.008ZM74.411 6.99h1.488c1.088 0 1.552-.544 1.552-1.408 0-.864-.464-1.408-1.552-1.408h-1.488V6.99Zm5.824-1.408c0 1.856-1.264 3.584-4.128 3.584h-1.696v4.032h-2.736V1.966h4.432c2.752 0 4.128 1.552 4.128 3.616Zm10.16 3.152c0 2.832-2.048 4.592-4.672 4.592-2.624 0-4.608-1.76-4.608-4.592s2.032-4.592 4.64-4.592c2.624 0 4.64 1.76 4.64 4.592Zm-6.496 0c0 1.504.832 2.224 1.824 2.224.976 0 1.888-.72 1.888-2.224 0-1.52-.896-2.224-1.856-2.224-.992 0-1.856.704-1.856 2.224Zm15.196 1.872c0 1.552-1.376 2.72-3.616 2.72-2.384 0-3.984-1.328-4.112-3.056h2.704c.064.624.624 1.04 1.376 1.04.704 0 1.072-.32 1.072-.72 0-1.44-4.864-.4-4.864-3.68 0-1.52 1.296-2.768 3.632-2.768 2.304 0 3.584 1.28 3.76 3.04h-2.528c-.08-.608-.544-1.008-1.312-1.008-.64 0-.992.256-.992.688 0 1.424 4.832.416 4.88 3.744Zm2.106-.512V6.542h-1.088V4.27h1.088V2.094h2.736V4.27h1.792v2.272h-1.792v3.584c0 .528.224.752.832.752h.976v2.32h-1.392c-1.856 0-3.152-.784-3.152-3.104Z%27/%3E%3C/svg%3E");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 107px 18px;
		border-radius: 0 0 20px 20px;
		bottom: 0;
		color: #003044;
		color: var(--wp--preset--color--secondary);
		content: "";
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
		"Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji",
		"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
		font-family: var(--wp--preset--font-family--poppins);
		font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
		font-size: var(--wp--preset--font-size--sm);
		font-weight: 600;
		height: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		max-height: 50px;
		opacity: 0;
		padding: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem) clamp(1rem, 1rem + 1.5vw, 1.75rem);
		padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
		pointer-events: none;
		position: absolute;
		text-align: center;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		-webkit-transition:
			opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
		transition:
			opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
		transition:
			transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
		transition:
			transform 0.25s ease-in-out, opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
		-webkit-transition:
			opacity var(--transition-base), -webkit-transform var(--transition-base);
		transition:
			opacity var(--transition-base), -webkit-transform var(--transition-base);
		transition:
			transform var(--transition-base), opacity var(--transition-base);
		transition:
			transform var(--transition-base), opacity var(--transition-base), -webkit-transform var(--transition-base);
		width: 100%;
		z-index: -1;
	}

.wp-block-query .card:not(.card--job)::after {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background-color: var(--wp--preset--color--primary-accent);
		background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 106 14%27%3E%3Cpath fill=%27%23003044%27 d=%27M8.667 1.198c-3.863 0-7.163 2.488-8.5 6 1.337 3.512 4.637 6 8.5 6 3.864 0 7.164-2.488 8.5-6-1.337-3.512-4.636-6-8.5-6Zm0 10c-2.132 0-3.863-1.792-3.863-4s1.73-4 3.863-4 3.864 1.792 3.864 4-1.73 4-3.864 4Zm0-6.4c-1.282 0-2.318 1.072-2.318 2.4 0 1.328 1.036 2.4 2.318 2.4 1.283 0 2.319-1.072 2.319-2.4 0-1.328-1.036-2.4-2.319-2.4ZM33.007 10.446l2.8-8.48h2.896L34.72 13.198h-3.424L27.311 1.966h2.912l2.784 8.48Zm6.84 2.752V4.27h2.736v8.928h-2.736Zm1.376-9.856c-.976 0-1.632-.656-1.632-1.472 0-.832.656-1.488 1.632-1.488.96 0 1.616.656 1.616 1.488 0 .816-.656 1.472-1.616 1.472Zm7.279 2.992c-.896 0-1.584.544-1.744 1.536h3.424c0-.976-.768-1.536-1.68-1.536Zm4.272 3.904c-.432 1.744-2.016 3.088-4.24 3.088-2.624 0-4.512-1.76-4.512-4.592s1.856-4.592 4.512-4.592c2.608 0 4.448 1.728 4.448 4.448 0 .256-.016.528-.048.8h-6.192c.096 1.168.816 1.712 1.696 1.712.768 0 1.2-.384 1.424-.864h2.912Zm3.155 2.96L53.497 4.27h2.736l1.264 6.384 1.504-6.384h2.896l1.52 6.352 1.248-6.352h2.576l-2.416 8.928h-3.024l-1.408-5.792-1.456 5.792h-3.008ZM74.411 6.99h1.488c1.088 0 1.552-.544 1.552-1.408 0-.864-.464-1.408-1.552-1.408h-1.488V6.99Zm5.824-1.408c0 1.856-1.264 3.584-4.128 3.584h-1.696v4.032h-2.736V1.966h4.432c2.752 0 4.128 1.552 4.128 3.616Zm10.16 3.152c0 2.832-2.048 4.592-4.672 4.592-2.624 0-4.608-1.76-4.608-4.592s2.032-4.592 4.64-4.592c2.624 0 4.64 1.76 4.64 4.592Zm-6.496 0c0 1.504.832 2.224 1.824 2.224.976 0 1.888-.72 1.888-2.224 0-1.52-.896-2.224-1.856-2.224-.992 0-1.856.704-1.856 2.224Zm15.196 1.872c0 1.552-1.376 2.72-3.616 2.72-2.384 0-3.984-1.328-4.112-3.056h2.704c.064.624.624 1.04 1.376 1.04.704 0 1.072-.32 1.072-.72 0-1.44-4.864-.4-4.864-3.68 0-1.52 1.296-2.768 3.632-2.768 2.304 0 3.584 1.28 3.76 3.04h-2.528c-.08-.608-.544-1.008-1.312-1.008-.64 0-.992.256-.992.688 0 1.424 4.832.416 4.88 3.744Zm2.106-.512V6.542h-1.088V4.27h1.088V2.094h2.736V4.27h1.792v2.272h-1.792v3.584c0 .528.224.752.832.752h.976v2.32h-1.392c-1.856 0-3.152-.784-3.152-3.104Z%27/%3E%3C/svg%3E");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 107px 18px;
		border-radius: 0 0 20px 20px;
		bottom: 0;
		color: #003044;
		color: var(--wp--preset--color--secondary);
		content: "";
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
		"Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji",
		"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
		font-family: var(--wp--preset--font-family--poppins);
		font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
		font-size: var(--wp--preset--font-size--sm);
		font-weight: 600;
		height: 100%;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		max-height: 50px;
		opacity: 0;
		padding: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem) clamp(1rem, 1rem + 1.5vw, 1.75rem);
		padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--md);
		pointer-events: none;
		position: absolute;
		text-align: center;
		-webkit-transform: translateY(0);
		        transform: translateY(0);
		-webkit-transition:
			opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
		transition:
			opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
		transition:
			transform 0.25s ease-in-out, opacity 0.25s ease-in-out;
		transition:
			transform 0.25s ease-in-out, opacity 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out;
		-webkit-transition:
			opacity var(--transition-base), -webkit-transform var(--transition-base);
		transition:
			opacity var(--transition-base), -webkit-transform var(--transition-base);
		transition:
			transform var(--transition-base), opacity var(--transition-base);
		transition:
			transform var(--transition-base), opacity var(--transition-base), -webkit-transform var(--transition-base);
		width: 100%;
		z-index: -1;
	}

.feed .card:focus-within:not(.card--job) {
		height: calc(100% - 50px);
	}

.wp-block-query .card:focus-within:not(.card--job) {
		height: calc(100% - 50px);
	}

.feed .card.card--hover:not(.card--job),.wp-block-query .card.card--hover:not(.card--job) {
		height: calc(100% - 50px);
	}

.feed .card:focus-within:not(.card--job) .card__content {
			background-color: #003044;
			background-color: var(--wp--preset--color--secondary);
			border-radius: 0;
		}

.wp-block-query .card:focus-within:not(.card--job) .card__content {
			background-color: #003044;
			background-color: var(--wp--preset--color--secondary);
			border-radius: 0;
		}

.feed .card.card--hover:not(.card--job) .card__content,.wp-block-query .card.card--hover:not(.card--job) .card__content {
			background-color: #003044;
			background-color: var(--wp--preset--color--secondary);
			border-radius: 0;
		}

.feed .card:focus-within:not(.card--job) .card__content .card__title a {
				color: #ffffff;
				color: var(--wp--preset--color--white);
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.wp-block-query .card:focus-within:not(.card--job) .card__content .card__title a {
				color: #ffffff;
				color: var(--wp--preset--color--white);
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.feed .card.card--hover:not(.card--job) .card__content .card__title a,.wp-block-query .card.card--hover:not(.card--job) .card__content .card__title a {
				color: #ffffff;
				color: var(--wp--preset--color--white);
				-webkit-text-decoration: none;
				text-decoration: none;
			}

.feed .card:focus-within:not(.card--job) .card__meta {
			color: #ffffff !important;
			color: var(--wp--preset--color--white) !important;
		}

.wp-block-query .card:focus-within:not(.card--job) .card__meta {
			color: #ffffff !important;
			color: var(--wp--preset--color--white) !important;
		}

.feed .card.card--hover:not(.card--job) .card__meta,.wp-block-query .card.card--hover:not(.card--job) .card__meta {
			color: #ffffff !important;
			color: var(--wp--preset--color--white) !important;
		}

.feed .card.card--hover:not(.card--job)::after {
			opacity: 1;
			-webkit-transform: translateY(100%);
			        transform: translateY(100%);
		}

.wp-block-query .card.card--hover:not(.card--job)::after {
			opacity: 1;
			-webkit-transform: translateY(100%);
			        transform: translateY(100%);
		}

.feed .card:focus-within:not(.card--job)::after {
			opacity: 1;
			-webkit-transform: translateY(100%);
			        transform: translateY(100%);
		}

.wp-block-query .card:focus-within:not(.card--job)::after {
			opacity: 1;
			-webkit-transform: translateY(100%);
			        transform: translateY(100%);
		}

.feed .card__image,.wp-block-query .card__image {
		aspect-ratio: 18 / 11;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		width: 100%;
	}

.feed .card__image img,.wp-block-query .card__image img,.feed .card__image picture,.wp-block-query .card__image picture {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
		}

.card {
	background: #ffffff;
	background: var(--wp--preset--color--white);
	border-radius: 1rem;
	border-radius: var(--wp--preset--border-radius--2xl); /* 20px */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	position: relative;
	-webkit-transition: height 0.25s ease-in-out;
	transition: height 0.25s ease-in-out;
	-webkit-transition: height var(--transition-base);
	transition: height var(--transition-base);
}

.card.card--job {
		background-color: transparent !important;
		border: 1px solid #e0e0e0;
		border: 1px solid var(--wp--preset--color--base-3);
		gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
		gap: var(--wp--preset--spacing--md);
		padding: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding: var(--wp--preset--spacing--lg);
	}

.card.card--job .card__image-container {
			background: #f7f7f7;
			background: var(--wp--preset--color--base-2);
			border-radius: 20px;
		}

.card.card--job .card__image {
			aspect-ratio: 23 / 8;
			-o-object-fit: contain;
			   object-fit: contain;
		}

.card.card--job .card__content {
			background-color: transparent;
			padding: 0;
		}

/* Card Image Container */

.card__image-container {
	border-radius: 20px 20px 0 0;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	overflow: hidden;
	position: relative;
	width: 100%;
}

/* Card Content */

.card__content {
	background: var(--wp--preset--color--primary-accent);
	border-radius: 0 0 20px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	gap: var(--wp--preset--spacing--sm);
	padding: clamp(1rem, 1rem + 1.5vw, 1.75rem) clamp(0.75rem, 0.75rem + 2vw, 2.25rem)
		clamp(0.75rem, 0.75rem + 2vw, 2.25rem) clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	padding: var(--wp--preset--spacing--md) var(--wp--preset--spacing--lg)
		var(--wp--preset--spacing--lg) var(--wp--preset--spacing--lg);
	-webkit-transition:
		background-color 0.25s ease-in-out, border-radius 0.25s ease-in-out;
	transition:
		background-color 0.25s ease-in-out, border-radius 0.25s ease-in-out;
	-webkit-transition:
		background-color var(--transition-base), border-radius var(--transition-base);
	transition:
		background-color var(--transition-base), border-radius var(--transition-base);
	width: 100%;
}

.card__content .wp-block-hyperlocology-reading-time {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

/* Card Category Badge */

.card__category {
	background: #ffffff;
	background: var(--wp--preset--color--white);
	border-radius: 0.5rem;
	border-radius: var(--wp--preset--border-radius--lg);
	bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	bottom: var(--wp--preset--spacing--sm);
	color: #003044;
	color: var(--wp--preset--color--secondary);
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
		"Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji",
		"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	left: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	left: var(--wp--preset--spacing--sm);
	line-height: 1.2;
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--md);
	position: absolute;
	-webkit-transition: background-color 0.25s ease-in-out;
	transition: background-color 0.25s ease-in-out;
	-webkit-transition: background-color var(--transition-base);
	transition: background-color var(--transition-base);
	z-index: 2;
}

.card__category > a {
		color: currentcolor;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.card__category > a:hover,.card__category > a:focus {
			color: currentcolor;
			-webkit-text-decoration: underline;
			text-decoration: underline;
		}

.card__category > a:not(:first-child) {
			display: none;
		}

.card__category > span {
		display: none;
	}

/* Card Meta Information */

.card__meta {
	color: #003044;
	color: var(--wp--preset--color--secondary);
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
		"Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji",
		"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
	font-size: var(--wp--preset--font-size--sm);
	font-weight: 500;
	line-height: 1.2;
	margin: 0;
	-webkit-transition: color 0.25s ease-in-out;
	transition: color 0.25s ease-in-out;
	-webkit-transition: color var(--transition-base);
	transition: color var(--transition-base);
}

/* Card Title */

.card__title {
	color: #003044;
	color: var(--wp--preset--color--secondary);
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto,
		"Helvetica Neue", arial, "Noto Sans", sans-serif, "Apple Color Emoji",
		"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	font-family: var(--wp--preset--font-family--poppins);
	font-size: clamp(1rem, 0.85rem + 0.75vw, 1.125rem);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 600;
	line-height: 1.4;
	margin: 0;
}

.card__title a {
		-webkit-box-orient: vertical;
		color: inherit;
		display: -webkit-box;
		-webkit-line-clamp: 3;
		overflow: hidden;
		-webkit-text-decoration: none;
		text-decoration: none;
	}

.card__title[class*="taxonomy-customer-story"] {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}

/* ==========================================================================
   Card Size Variants
   ========================================================================== */

.card--large .card__title {
	font-size: clamp(1.125rem, 0.95rem + 0.875vw, 1.25rem);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 700;
}

.card--medium .card__title {
	font-size: clamp(1rem, 0.85rem + 0.75vw, 1.125rem);
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 600;
}

.card--small .card__title {
	font-size: clamp(0.875rem, 0.75rem + 0.625vw, 1rem);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 600;
}

/* ==========================================================================
   Card Grid Layouts
   ========================================================================== */

/* Base Grid */

.card-grid {
	display: grid;
	grid-gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
	grid-gap: var(--wp--preset--spacing--2xl);
	gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
	gap: var(--wp--preset--spacing--2xl);
	margin-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	margin-bottom: var(--wp--preset--spacing--lg);
}

.card-grid > * {
		margin-top: 0;
	}

/* Grid Column Variants */

.card-grid--3-cols {
	grid-template-columns: repeat(3, 1fr);
}

.card-grid--2-cols {
	grid-template-columns: repeat(2, 1fr);
}

.card-grid--1-col {
	grid-template-columns: 1fr;
}

/* ==========================================================================
   Responsive Design
   ========================================================================== */

@media (max-width: 1024px) {
	.card-grid--3-cols {
		gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		gap: var(--wp--preset--spacing--lg);
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.card-grid,
	.card-grid--3-cols,
	.card-grid--2-cols {
		gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		gap: var(--wp--preset--spacing--lg);
		grid-template-columns: 1fr;
	}

	.card__content {
		padding: clamp(1rem, 1rem + 1.5vw, 1.75rem);
		padding: var(--wp--preset--spacing--md);
	}

	.card__title {
		font-size: clamp(0.875rem, 0.75rem + 0.625vw, 1rem);
		font-size: var(--wp--preset--font-size--base);
	}
}

/* ==========================================================================
   Accessibility Enhancements
   ========================================================================== */

/* Focus States */

.card:focus-within {
	-webkit-box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
	        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: var(--wp--preset--shadow--lg);
	        box-shadow: var(--wp--preset--shadow--lg);
	outline: 2px solid #0aa39c;
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

/* High Contrast Mode */

@media (prefers-contrast: more) {
	.card {
		border: 2px solid #003044;
		border: 2px solid var(--wp--preset--color--secondary);
	}

	.card__category {
		border: 1px solid #003044;
		border: 1px solid var(--wp--preset--color--secondary);
	}
}

/* Reduced Motion */

@media (prefers-reduced-motion: reduce) {
	.card,
	.card__title a {
		-webkit-transition: none;
		transition: none;
	}

	.card:hover {
		-webkit-transform: none;
		        transform: none;
	}
}

/* Check List Component */

.wp-block-list.check-list,
.wp-block-list.is-style-check-list {
	list-style: none;
	padding: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem) 0;
	padding: var(--wp--preset--spacing--xl) 0;
}

.wp-block-list.check-list li,
.wp-block-list.is-style-check-list li {
	padding-left: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
	padding-left: var(--wp--preset--spacing--xl);
	position: relative;
}

.wp-block-list.check-list li:not(:last-child) {
		margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		margin-bottom: var(--wp--preset--spacing--base);
	}

.wp-block-list.is-style-check-list li:not(:last-child) {
		margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		margin-bottom: var(--wp--preset--spacing--base);
	}

.check-list li::before,
.is-style-check-list li::before {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	aspect-ratio: 1 / 1;
	background-color: #003044;
	border-radius: 50%;
	color: #ffffff;
	color: var(--wp--preset--color--white);
	content: "✓";
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
	font-size: var(--wp--preset--font-size--sm);
	height: 1.75rem;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	left: 0;
	position: absolute;
	width: 1.75rem;
}

/* Responsive adjustments */

@media (max-width: 768px) {
	.check-list li,
	.is-style-check-list li,
	.is-style-check-list-outline li,
	.is-style-check-list-success li,
	.is-style-check-list-primary li,
	.is-style-check-list-secondary li {
		gap: 0.5rem;
	}

	.check-list li::before,
	.is-style-check-list li::before,
	.is-style-check-list-outline li::before,
	.is-style-check-list-success li::before,
	.is-style-check-list-primary li::before,
	.is-style-check-list-secondary li::before {
		height: 1.5rem;
		width: 1.5rem;
	}
}

/* Outline style check icons */

.check-list.outline-style,
.is-style-check-list-outline {
	list-style: none;
	padding-left: 0;
}

.check-list.outline-style li,
.is-style-check-list-outline li {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	padding-left: 0;
	position: relative;
}

.check-list.outline-style li::before,
.is-style-check-list-outline li::before {
	background-color: transparent;
	border: 2px solid #003044;
	border-radius: 50%;
	display: inline-block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: 1.75rem;
	position: relative;
	width: 1.75rem;
}

/* Success style check icons */

.check-list.success,
.is-style-check-list-success {
	list-style: none;
	padding-left: 0;
}

.check-list.success li,
.is-style-check-list-success li {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	padding-left: 0;
	position: relative;
}

.check-list.success li::before,
.is-style-check-list-success li::before {
	background-color: #22c55e;
	border-radius: 50%;
	display: inline-block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: 1.75rem;
	position: relative;
	width: 1.75rem;
}

/* Primary style check icons */

.check-list.primary,
.is-style-check-list-primary {
	list-style: none;
	padding-left: 0;
}

.check-list.primary li,
.is-style-check-list-primary li {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	padding-left: 0;
	position: relative;
}

.check-list.primary li::before,
.is-style-check-list-primary li::before {
	background-color: #0aa39c;
	background-color: var(--wp--preset--color--primary, #003044);
	border-radius: 50%;
	display: inline-block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: 1.75rem;
	position: relative;
	width: 1.75rem;
}

/* Secondary style check icons */

.check-list.secondary,
.is-style-check-list-secondary {
	list-style: none;
	padding-left: 0;
}

.check-list.secondary li,
.is-style-check-list-secondary li {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0.625rem;
	padding-left: 0;
	position: relative;
}

.check-list.secondary li::before,
.is-style-check-list-secondary li::before {
	background-color: #003044;
	background-color: var(--wp--preset--color--secondary, #666666);
	border-radius: 50%;
	display: inline-block;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: 1.75rem;
	position: relative;
	width: 1.75rem;
}

/* Check List Component Styles */

.is-style-check-list {
	list-style: none;
	padding-left: 0;
}

.is-style-check-list li {
		position: relative;
	}

/**
 * Customer Stories Feed Styles
 *
 * Layout-specific styles for customer story feeds.
 * Card styling is now handled by the unified cards component.
 *
 * @package Hyperlocology
 * @since 1.0.0
 */

/* Customer Stories Feed Container */

.customer-stories-grid {
	display: grid;
	grid-gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	grid-gap: var(--wp--preset--spacing--lg);
	gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	gap: var(--wp--preset--spacing--lg);
	margin-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	margin-bottom: var(--wp--preset--spacing--lg);
}

@media (min-width: 64em) {

.customer-stories-grid {
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
	}

.customer-stories-grid > * {
		margin-top: 0;
	}

/* Grid variants using unified card grid styles */

.customer-stories-grid--3-cols {
	grid-template-columns: repeat(3, 1fr);
}

.customer-stories-grid--2-cols {
	grid-template-columns: repeat(2, 1fr);
}

.customer-stories-grid--1-col {
	grid-template-columns: 1fr;
}

/* ==========================================================================
   Footer Styles
   ========================================================================== */

/* Footer Container */

.footer-container {
	padding-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-bottom: var(--wp--preset--spacing--base);
	padding-top: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-top: var(--wp--preset--spacing--base);
}

.footer-container .hyperlocology-logo-block {
		padding: 0;
	}

.footer-container .hyperlocology-logo-block svg {
			max-height: 230px;
		}

.footer-container .wp-block-group-is-layout-grid {
		gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		gap: var(--wp--preset--spacing--base);
		grid-template-columns: 1fr;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		text-align: center;
	}

@media (min-width: 48em) {

.footer-container .wp-block-group-is-layout-grid {
			grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
			margin-left: 0 !important;
			margin-right: 0 !important;
			max-width: none;
			text-align: left;
	}
		}

.footer-container .wp-block-group-is-layout-grid > :first-child {
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			grid-column: 1 / -1;
			-webkit-box-pack: center;
			    -ms-flex-pack: center;
			        justify-content: center;
		}

@media (min-width: 64em) {

.footer-container .wp-block-group-is-layout-grid > :first-child {
				grid-column: auto;
		}
			}

.footer-container .wp-block-social-links {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
	}

@media (min-width: 48em) {

.footer-container .wp-block-social-links {
			-webkit-box-pack: start;
			    -ms-flex-pack: start;
			        justify-content: flex-start;
	}
		}

.footer-container .wp-block-navigation {
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		margin-bottom: var(--wp--preset--spacing--base);
		width: 100%;
	}

@media (min-width: 48em) {

.footer-container .wp-block-navigation {
			margin-bottom: 0;
			width: auto;
	}
		}

.footer-container .wp-block-navigation .wp-block-navigation__container {
			gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
			gap: var(--wp--preset--spacing--base);
		}

.footer-container .wp-block-navigation li {
			margin-bottom: 0;
		}

.footer-container .wp-block-navigation li a {
				font-size: var(--wp--preset--font-size--small);
				font-weight: 300;
				line-height: 1.2;
				-webkit-text-decoration: underline;
				text-decoration: underline;
			}

.footer-container .wp-block-navigation li a:hover,.footer-container .wp-block-navigation li a:focus {
					background-color: transparent;
					color: #0aa39c;
					color: var(--wp--preset--color--primary);
				}

.footer-container .wp-block-separator {
		max-width: 1400px;
		max-width: var(--wp--style--global--wide-size);
	}

.footer-container .address {
		line-height: 1.5;
	}

.footer-container .copyright-notice {
		text-align: center;
		width: 100%;
	}

@media (min-width: 48em) {

.footer-container .copyright-notice {
			text-align: left;
			width: auto;
	}
		}

.footer-container .footer-bottom li:not(:last-child) {
			margin-bottom: 0;
		}

/* ==========================================================================
	Hyperlocology Navigation - Figma Design Implementation
	Modern navigation with rounded container and specific color scheme
	Colors: Navy (#003044), ADA Teal (#0AA39C), Light Background (#f0faf9)
	========================================================================== */

/* ==========================================================================
	CSS Custom Properties
	========================================================================== */

:root {
	/* Hyperlocology Brand Colors */
	--nav-navy: #003044;
	--nav-teal: #0aa39c;
	--nav-white: #ffffff;
	--nav-bg-light: #f0faf9;
	--nav-text-primary: var(--nav-navy);

	/* Typography */
	--nav-font-family:
		"Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	--nav-font-size: 16px;
	--nav-font-weight-medium: 500;
	--nav-font-weight-semibold: 600;
	--nav-font-weight-bold: 700;
	--nav-line-height: 1.1;

	/* Layout */
	--nav-container-padding: var(--wp--preset--spacing--2xl);
	--nav-inner-padding: 20px 26px;
	--nav-gap: 16px;
	--nav-border-radius: 35px;
	--nav-btn-border-radius: 35px;
	--nav-btn-icon-size: 42px;

	/* Transitions */
	--nav-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--nav-transition-fast: all 0.2s ease;

	/* Z-Index */
	--header-z-index: 100;
	--nav-mobile-z-index: 1010;
}

/* ==========================================================================
	Header Base Styles
	========================================================================== */

.site-header.hyperlocology-nav {
	padding: 16px clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
	padding: 16px var(--nav-container-padding);
	z-index: 100;
	z-index: var(--header-z-index);
}

.site-header.hyperlocology-nav:not(.block-editor-block-list__block) {
		position: fixed;
	}

.nav-outer-container {
	-webkit-box-align: center !important;
	    -ms-flex-align: center !important;
	        align-items: center !important;
	background: #f0faf9;
	background: var(--nav-bg-light);
	border-radius: 35px;
	border-radius: var(--nav-border-radius);
	-webkit-box-pack: justify !important;
	    -ms-flex-pack: justify !important;
	        justify-content: space-between !important;
	margin: 0 auto;
	max-width: 1200px;
	min-height: 60px;
	padding: 20px 26px;
	padding: var(--nav-inner-padding);
	position: relative;
	width: 100%;
}

/* ==========================================================================
	Logo Section - WordPress Site Logo Block
	========================================================================== */

.nav-logo-section {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.nav-logo-section .wp-block-site-logo {
	margin: 0;
}

.nav-logo-section .wp-block-site-logo a {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px;
}

.nav-logo-section .wp-block-site-logo img,
.nav-logo-section .wp-block-site-logo svg {
	height: auto;
	max-width: 162px;
	width: 162px;
}

/* ==========================================================================
	WordPress Navigation Block
	========================================================================== */

.primary-nav-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/* WordPress Navigation Block Container - inherits from shared base styles */

.wp-block-navigation.primary-nav-menu {
	position: static;
}

/* Navigation block container and items inherit from shared base styles in primary-nav.css */

/* Links, hover states, and focus states are defined in the shared base styles */

/* Dropdown Menus */

.wp-block-navigation.primary-nav-menu .wp-block-navigation__submenu-container {
	background: #ffffff;
	background: var(--nav-white);
	border-radius: 12px;
	-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	left: 50%;
	min-width: 200px;
	opacity: 0;
	padding: 12px 0;
	position: absolute;
	top: 100%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: var(--nav-transition);
	transition: var(--nav-transition);
	visibility: hidden;
	z-index: 1000;
}

.wp-block-navigation.primary-nav-menu
	.wp-block-navigation-item:hover
	.wp-block-navigation__submenu-container,
.wp-block-navigation.primary-nav-menu
	.wp-block-navigation-item:focus-within
	.wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
}

.wp-block-navigation.primary-nav-menu
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
	border-radius: 6px;
	color: #003044;
	color: var(--nav-text-primary);
	margin: 0 8px;
	padding: 8px 20px;
}

.wp-block-navigation.primary-nav-menu
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:hover {
	background: rgba(10, 163, 156, 0.1);
	color: #0aa39c;
	color: var(--nav-teal);
}

/* ==========================================================================
	Navigation Actions (Utility Nav & Book Demo)
	========================================================================== */

.nav-actions {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 12px;
}

@media (min-width: 768px) and (max-width: 1200px) {
		.nav-actions.wp-block-group.is-layout-flex {
			margin-left: auto;
		}
	}

/* Utility Navigation Styles - inherits from shared base styles */

.wp-block-navigation.utility-nav {
	position: static;
}

.wp-block-navigation.utility-nav .wp-block-navigation__container {
	gap: 12px; /* Override default gap for utility nav */
}

.wp-block-navigation.utility-nav .wp-block-navigation-item__content {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center; /* Center utility nav items */
}

/* Utility nav inherits all other styles from shared base navigation styles */

/* Login link styles moved to utility navigation above */

/* Book Demo button styles moved to .btn-primary component in buttons.css */

/* ==========================================================================
	Mobile Menu Toggle
	========================================================================== */

.mobile-menu-toggle {
	background: none;
	border: none;
	cursor: pointer;
	display: none;
	padding: 8px;
	position: absolute;
	right: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 1001;
}

.hamburger-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 3px;
	height: 18px;
	width: 24px;
}

.hamburger-line {
	background: #003044;
	background: var(--nav-text-primary);
	border-radius: 1px;
	height: 2px;
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: var(--nav-transition);
	transition: var(--nav-transition);
	width: 100%;
}

.mobile-menu-toggle.is-active .hamburger-line:nth-child(1) {
	-webkit-transform: rotate(45deg) translate(5px, 5px);
	        transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-toggle.is-active .hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobile-menu-toggle.is-active .hamburger-line:nth-child(3) {
	-webkit-transform: rotate(-45deg) translate(7px, -6px);
	        transform: rotate(-45deg) translate(7px, -6px);
}

/* ==========================================================================
	Mobile Responsive Styles
	========================================================================== */

@media (max-width: 1200px) {
	.site-header.hyperlocology-nav {
		padding: 16px 40px;
	}
}

@media (max-width: 1024px) {
	.site-header.hyperlocology-nav {
		padding: 16px 20px;
	}

	.wp-block-navigation.primary-nav-menu .wp-block-navigation-item__content {
		font-size: 15px;
		padding: 8px 16px;
	}

	.wp-block-navigation.utility-nav .wp-block-navigation-item__content {
		font-size: 15px;
		padding: 8px 16px;
	}
}

@media (max-width: 768px) {
	.mobile-menu-toggle {
		display: block;
	}

	.nav-actions {
		display: none;
	}

	.nav-outer-container {
		border-radius: 30px;
		padding: 10px 20px;
	}

	.nav-logo-section .wp-block-site-logo a {
		padding: 5px 10px;
	}

	/* WordPress Navigation Mobile Styles */
	.wp-block-navigation.primary-nav-menu {
		display: none;
	}

	.wp-block-navigation.primary-nav-menu.is-open {
		background: #ffffff;
		background: var(--nav-white);
		border-radius: 12px;
		-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
		        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
		display: block;
		margin-top: 20px;
		padding: 20px;
		position: absolute;
		right: 20px;
		top: 100%;
		width: calc(100% - 40px);
		z-index: 1000;
	}

	.wp-block-navigation.primary-nav-menu.is-open
		.wp-block-navigation__container {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 8px;
	}

	.wp-block-navigation.primary-nav-menu.is-open
		.wp-block-navigation-item__content {
		font-size: 16px;
		padding: 12px 16px;
		width: 100%;
	}
}

@media (max-width: 480px) {
	.site-header.hyperlocology-nav {
		padding: 16px;
	}

	.nav-outer-container {
		padding: 8px 16px;
	}

	.nav-logo-section .wp-block-site-logo img,
	.nav-logo-section .wp-block-site-logo svg {
		max-width: 120px;
		width: 120px;
	}
}

/* ==========================================================================
	Accessibility & Motion Preferences
	========================================================================== */

@media (prefers-reduced-motion: reduce) {
	* {
		-webkit-animation: none !important;
		        animation: none !important;
		-webkit-transition: none !important;
		transition: none !important;
	}
}

@media (prefers-contrast: more) {
	.nav-menu-link:hover,
	.nav-menu-link:focus,
	.login-link:hover,
	.login-link:focus {
		background: #0aa39c;
		background: var(--nav-teal);
		color: #ffffff;
		color: var(--nav-white);
	}

	.nav-menu-link:focus,
	.login-link:focus,
	.book-demo-btn:focus {
		outline-width: 3px;
	}
}

/* ==========================================================================
	Print Styles
	========================================================================== */

@media print {
	.mobile-menu-toggle,
	.book-demo-btn {
		display: none;
	}

	.site-header.hyperlocology-nav {
		background: white;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}

	.nav-outer-container {
		background: white;
		border: 1px solid #cccccc;
	}
}

/* ==========================================================================
   Security Messages Component
   Styles for success, error, and validation messages
   ========================================================================== */

.success-message {
	background: rgb(230, 246, 234);
	border: 1px solid #00a32a;
	border: 1px solid var(--wp--preset--color--success);
	border-radius: var(--wp--preset--border-radius--small);
	color: #00a32a;
	color: var(--wp--preset--color--success);
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base);
	opacity: 1;
	padding: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding: var(--wp--preset--spacing--base);
	-webkit-transition: opacity 0.5s ease-in-out;
	transition: opacity 0.5s ease-in-out;
	-webkit-transition: opacity var(--transition-slow);
	transition: opacity var(--transition-slow);
}

@supports (color: color-mix(in lch, red, blue)) {
.success-message {
	background: color-mix(in srgb, var(--wp--preset--color--success) 10%, white);
}
}

.success-message.fade-out {
	opacity: 0;
}

.error-message,
.file-error {
	background: rgb(252, 233, 233);
	border: 1px solid #dc2626;
	border: 1px solid var(--wp--preset--color--error);
	border-radius: var(--wp--preset--border-radius--small);
	color: #dc2626;
	color: var(--wp--preset--color--error);
	font-size: var(--wp--preset--font-size--small);
	margin-top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-top: var(--wp--preset--spacing--xs);
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	padding: var(--wp--preset--spacing--xs);
}

@supports (color: color-mix(in lch, red, blue)) {
.error-message,
.file-error {
	background: color-mix(in srgb, var(--wp--preset--color--error) 10%, white);
}
}

.field-error {
	border-color: #dc2626 !important;
	border-color: var(--wp--preset--color--error) !important;
	-webkit-box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25);
	        box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.25);
}

@supports (color: color-mix(in lch, red, blue)) {
.field-error {
	-webkit-box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--error) 25%, transparent);
	        box-shadow: 0 0 0 2px color-mix(in srgb, var(--wp--preset--color--error) 25%, transparent);
}
}

/* ==========================================================================
   Skip Link Component
   Accessibility skip link for keyboard navigation
   ========================================================================== */

/* Skip Link Accessibility */

.skip-link {
	background: #171717;
	background: var(--wp--preset--color--neutral-900);
	border-radius: 0 0 4px 4px;
	color: #ffffff;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	left: -9999px;
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--base);
	position: absolute;
	-webkit-text-decoration: none;
	text-decoration: none;
	-webkit-transition: 0.15s ease-in-out;
	transition: 0.15s ease-in-out;
	-webkit-transition: var(--transition-fast);
	transition: var(--transition-fast);
	z-index: 1070;
	z-index: var(--z-index-tooltip);
}

.skip-link:focus {
	left: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	left: var(--wp--preset--spacing--xs);
	outline: 2px solid rgba(10, 163, 156, 0.1);
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
	top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	top: var(--wp--preset--spacing--xs);
}

/* Blocks */

/* ==========================================================================
   Blocks CSS Entry Point
   Imports all block styles for WordPress block theme
   ========================================================================== */

/* Core WordPress Blocks */

/* ==========================================================================
	Core Columns Block Styles
	WordPress core columns block styling using custom properties
	========================================================================== */

.wp-block-columns {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	gap: var(--wp--preset--spacing--base);
}

.wp-block-column {
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	min-width: 0;
}

/* Responsive Behavior */

@media (max-width: 781px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) .wp-block-column {
		-ms-flex-preferred-size: auto !important;
		    flex-basis: auto !important;
	}
}

/* Column Variations */

.wp-block-columns.is-style-no-gap {
	gap: 0;
}

.wp-block-columns.is-style-wide-gap {
	gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	gap: var(--wp--preset--spacing--large);
}

.wp-block-columns.is-style-bordered .wp-block-column {
	border: 2px solid #e5e5e5;
	border: 2px solid var(--wp--preset--color--neutral-200);
	border-radius: var(--wp--preset--border-radius--small);
	padding: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--medium);
}

.wp-block-columns.is-style-cards .wp-block-column {
	background-color: #ffffff;
	background-color: var(--wp--preset--color--white);
	border-radius: var(--wp--preset--border-radius--medium);
	-webkit-box-shadow: var(--wp--preset--shadow--small);
	        box-shadow: var(--wp--preset--shadow--small);
	padding: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	padding: var(--wp--preset--spacing--large);
	-webkit-transition: -webkit-box-shadow 0.15s ease-in-out;
	transition: -webkit-box-shadow 0.15s ease-in-out;
	transition: box-shadow 0.15s ease-in-out;
	transition: box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
	-webkit-transition: -webkit-box-shadow var(--transition-fast);
	transition: -webkit-box-shadow var(--transition-fast);
	transition: box-shadow var(--transition-fast);
	transition: box-shadow var(--transition-fast), -webkit-box-shadow var(--transition-fast);
}

.wp-block-columns.is-style-cards .wp-block-column:hover {
	-webkit-box-shadow: var(--wp--preset--shadow--medium);
	        box-shadow: var(--wp--preset--shadow--medium);
}

/* Column Width Classes */

.wp-block-column.is-vertically-aligned-top {
	-ms-flex-item-align: start;
	    align-self: flex-start;
}

.wp-block-column.is-vertically-aligned-center {
	-ms-flex-item-align: center;
	    align-self: center;
}

.wp-block-column.is-vertically-aligned-bottom {
	-ms-flex-item-align: end;
	    align-self: flex-end;
}

/* Editor Specific Styles */

.editor-styles-wrapper .wp-block-columns {
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base);
}

.editor-styles-wrapper .wp-block-column {
	margin-bottom: 0;
}

/**
 * Core Cover Block Styles
 * 
 * @package Hyperlocology
 */

.wp-block-cover__background {
	bottom: 0;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.wp-block-cover__inner-container {
	color: #ffffff;
	color: var(--wp--preset--color--white, #ffffff);
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
	max-width: var(--wp--style--global--content-size, 650px);
	padding: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--medium, 2rem);
	position: relative;
	text-align: center;
	width: 100%;
	z-index: 2;
}

.wp-block-cover.is-light .wp-block-cover__inner-container {
	color: #000000;
	color: var(--wp--preset--color--black, #000000);
}

.wp-block-cover.has-background-dim::before {
	background-color: #000000;
	background-color: var(--wp--preset--color--black, #000000);
	bottom: 0;
	content: "";
	left: 0;
	opacity: 0.5;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}

.wp-block-cover.has-background-dim-10::before {
	opacity: 0.1;
}

.wp-block-cover.has-background-dim-20::before {
	opacity: 0.2;
}

.wp-block-cover.has-background-dim-30::before {
	opacity: 0.3;
}

.wp-block-cover.has-background-dim-40::before {
	opacity: 0.4;
}

.wp-block-cover.has-background-dim-50::before {
	opacity: 0.5;
}

.wp-block-cover.has-background-dim-60::before {
	opacity: 0.6;
}

.wp-block-cover.has-background-dim-70::before {
	opacity: 0.7;
}

.wp-block-cover.has-background-dim-80::before {
	opacity: 0.8;
}

.wp-block-cover.has-background-dim-90::before {
	opacity: 0.9;
}

.wp-block-cover.has-background-dim-100::before {
	opacity: 1;
}

/* Responsive adjustments */

@media (max-width: 768px) {
	.wp-block-cover {
		min-height: 320px;
	}

	.wp-block-cover__inner-container {
		padding: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
		padding: var(--wp--preset--spacing--small, 1rem);
	}
}

/* Hero Section Styles */

.wp-block-cover .wp-block-heading.hero-gradient-title {
	background: -webkit-gradient(
		linear,
		left top, left bottom,
		color-stop(71.201%, #ffffff),
		color-stop(699.31%, rgba(3, 57, 96, 0))
	);
	background: linear-gradient(
		to bottom,
		#ffffff 71.201%,
		rgba(3, 57, 96, 0) 699.31%
	);
	background: -webkit-gradient(
		linear,
		left top, left bottom,
		color-stop(71.201%, var(--wp--preset--color--hero-gradient-start, #ffffff)),
		color-stop(699.31%, var(--wp--preset--color--hero-gradient-end, rgba(3, 57, 96, 0)))
	);
	background: linear-gradient(
		to bottom,
		var(--wp--preset--color--hero-gradient-start, #ffffff) 71.201%,
		var(--wp--preset--color--hero-gradient-end, rgba(3, 57, 96, 0)) 699.31%
	);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 499;
	-webkit-text-fill-color: transparent;
}

.hero-features {
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}

/* ===============================
  Core Button Group Styles
	=============================== */

.wp-block-buttons {
	width: 100%;
}

@media (min-width: 64em) {

.wp-block-buttons {
		width: auto;
}
	}

.wp-block-buttons > * {
		margin-top: 0;
	}

.has-secondary-background-color + .wp-block-cover__inner-container
		.wp-block-buttons
		.wp-block-button.is-style-outline .wp-block-button__link,.has-secondary-background-color ~ .wp-block-cover__inner-container
		.wp-block-buttons
		.wp-block-button.is-style-outline .wp-block-button__link {
			border-color: #0aa39c !important;
			border-color: var(--wp--preset--color--primary) !important;
			color: #ffffff !important;
			color: var(--wp--preset--color--base) !important;
		}

.has-secondary-background-color .wp-block-button.is-style-outline .wp-block-button__link {
			border-color: #0aa39c !important;
			border-color: var(--wp--preset--color--primary) !important;
			color: #ffffff !important;
			color: var(--wp--preset--color--base) !important;
		}

.wp-block-button.is-style-outline {
		border-radius: 2.1875rem;
		width: 100%;
	}

@media (min-width: 64em) {

.wp-block-button.is-style-outline {
			width: auto;
	}
		}

.wp-block-button.is-style-outline .wp-block-button__link {
			border-color: #e0e0e0;
			border-color: var(--wp--preset--color--base-3);
			border-radius: 2.1875rem;
			border-width: 1.5px;
			color: #003044;
			color: var(--wp--preset--color--secondary);
			font-size: 15.98px;
			font-weight: 700;
			min-width: -webkit-max-content;
			min-width: -moz-max-content;
			min-width: max-content;
			padding: 15px 20px;
			-webkit-text-decoration: none;
			text-decoration: none;
			-webkit-transition:
				border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
			transition:
				border-color 0.3s ease-in-out, background-color 0.3s ease-in-out;
		}

.wp-block-button.is-style-outline .wp-block-button__link::after {
				content: "→";
				display: inline-block;
				margin-left: 5px;
				max-width: 0;
				opacity: 0;
				-webkit-transform: translateX(0);
				        transform: translateX(0);
				-webkit-transition:
					opacity 0.3s ease-in-out, max-width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
				transition:
					opacity 0.3s ease-in-out, max-width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
				transition:
					opacity 0.3s ease-in-out, transform 0.3s ease-in-out, max-width 0.3s ease-in-out;
				transition:
					opacity 0.3s ease-in-out, transform 0.3s ease-in-out, max-width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
			}

.wp-block-button.is-style-outline .wp-block-button__link:hover,.wp-block-button.is-style-outline .wp-block-button__link:focus {
				background-color: rgba(10, 163, 156, 0.1);
				background-color: var(--wp--preset--color--accent);
				border-color: #0aa39c;
				border-color: var(--wp--preset--color--primary);
			}

.wp-block-button.is-style-outline .wp-block-button__link:hover::after {
					max-width: 10px;
					opacity: 1;
				}

.wp-block-button.is-style-outline .wp-block-button__link:focus::after {
					max-width: 10px;
					opacity: 1;
				}

.wp-block-lbb-lightbox,
.lbbContent_area,
.lbbContent_area a {
	width: 100% !important;
}

@media (min-width: 64em) {

.wp-block-lbb-lightbox,
.lbbContent_area,
.lbbContent_area a {
		width: auto !important;
}
	}

.lbbBtnDesign {
	-webkit-column-gap: 0 !important;
	   -moz-column-gap: 0 !important;
	        column-gap: 0 !important;
}

.lbbBtnDesign span {
		font-size: 15.98px !important;
		font-size: var(--btn-primary-font-size) !important;
	}

.lbbBtnDesign::after {
		content: "→";
		display: inline-block;
		margin-left: 5px;
		max-width: 0;
		opacity: 0;
		-webkit-transform: translateX(0);
		        transform: translateX(0);
		-webkit-transition:
			opacity 0.3s ease-in-out, max-width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
		transition:
			opacity 0.3s ease-in-out, max-width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
		transition:
			opacity 0.3s ease-in-out, transform 0.3s ease-in-out, max-width 0.3s ease-in-out;
		transition:
			opacity 0.3s ease-in-out, transform 0.3s ease-in-out, max-width 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
	}

.lbbBtnDesign:hover,.lbbBtnDesign:focus {
		background-color: rgba(10, 163, 156, 0.1) !important;
		background-color: var(--wp--preset--color--accent) !important;
		border-color: #0aa39c !important;
		border-color: var(--wp--preset--color--primary) !important;
	}

.lbbBtnDesign:hover::after {
			max-width: 10px;
			opacity: 1;
		}

.lbbBtnDesign:focus::after {
			max-width: 10px;
			opacity: 1;
		}

/* ==========================================================================
	Core Group Block Styles
	========================================================================== */

/* Reset default padding - groups should not have padding by default */

.wp-block-group {
	padding: 0;
}

/* Inner container constraints */

.wp-block-group__inner-container {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size);
}

/* ==========================================================================
	Intentional Spacing System
	========================================================================== */

/* Visual containers - groups that need padding for visual separation */

.wp-block-group.has-background,
.wp-block-group.is-style-container,
.wp-block-group.is-style-card {
	padding: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--medium);
}

/* Large visual containers */

.wp-block-group.is-style-section,
.wp-block-group.is-style-hero {
	padding: clamp(0.75rem, 0.75rem + 2vw, 2.25rem) clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--large) var(--wp--preset--spacing--medium);
}

/* Site structure containers - semantic containers that need padding */

.wp-block-group.site-footer,
.wp-block-group.site-main {
	padding-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-bottom: var(--wp--preset--spacing--medium);
	padding-top: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-top: var(--wp--preset--spacing--medium);
}

/* ==========================================================================
	Flow and Vertical Rhythm System
	========================================================================== */

/* Apply consistent gap to flex and grid layouts */

.wp-block-group.is-layout-flex {
	gap: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	gap: var(--wp--preset--spacing--small);
}

.wp-block-group.is-layout-grid {
	gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	gap: var(--wp--preset--spacing--medium);
}

@media (max-width: 1024px) {

.wp-block-group.is-layout-grid {
		grid-template-columns: 1fr;
}
	}

.wp-block-group.is-layout-grid.gap-large {
		gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		gap: var(--wp--preset--spacing--large);
	}

.wp-block-group.is-layout-grid.gap-xl {
		gap: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
		gap: var(--wp--preset--spacing--xl);
	}

.wp-block-group.is-layout-grid.gap-2xl {
		gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
		gap: var(--wp--preset--spacing--2xl);
	}

.wp-block-group.is-layout-grid.gap-3xl {
		gap: clamp(0.75rem, 0.75rem + 3.5vw, 3.75rem);
		gap: var(--wp--preset--spacing--3xl);
	}

.wp-block-group.is-layout-grid.gap-4xl {
		gap: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
		gap: var(--wp--preset--spacing--4xl);
	}

/* Flow spacing - consistent vertical rhythm for block content */

.wp-block-group.is-layout-flow > * + * {
	margin-top: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-top: var(--wp--preset--spacing--medium);
}

/* Reduce spacing for tightly related content */

.wp-block-group.is-style-tight > .is-layout-flow > * + * {
	margin-top: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	margin-top: var(--wp--preset--spacing--small);
}

/* Increase spacing for section-level content */

.wp-block-group.is-style-spacious > .is-layout-flow > * + * {
	margin-top: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	margin-top: var(--wp--preset--spacing--large);
}

/* ==========================================================================
	Responsive Adjustments
	========================================================================== */

@media (min-width: 768px) {
	/* Increase padding on larger screens for visual containers */
	.wp-block-group.has-background,
	.wp-block-group.is-style-container,
	.wp-block-group.is-style-card {
		padding: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding: var(--wp--preset--spacing--large);
	}

	.wp-block-group.is-style-section,
	.wp-block-group.is-style-hero {
		padding: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem) clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding: var(--wp--preset--spacing--xl) var(--wp--preset--spacing--large);
	}

	/* Increase site structure padding */
	.wp-block-group.site-footer,
	.wp-block-group.site-main {
		padding-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding-bottom: var(--wp--preset--spacing--large);
		padding-top: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding-top: var(--wp--preset--spacing--large);
	}
}

/* ==========================================================================
	Utility Classes for Manual Control
	========================================================================== */

/* Explicit padding utilities when needed */

.wp-block-group.has-padding-small {
	padding: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding: var(--wp--preset--spacing--small);
}

.wp-block-group.has-padding-medium {
	padding: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--medium);
}

.wp-block-group.has-padding-large {
	padding: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	padding: var(--wp--preset--spacing--large);
}

/* Explicit no-padding utility */

.wp-block-group.has-no-padding {
	padding: 0 !important;
}

/* ==========================================================================
	Group Variations
	========================================================================== */

.wp-block-group.is-style-full-height {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	min-height: 100vh;
}

.wp-block-group.is-style-container {
	border-radius: var(--wp--preset--border-radius--medium);
	-webkit-box-shadow: var(--wp--preset--shadow--small);
	        box-shadow: var(--wp--preset--shadow--small);
}

/* ==========================================================================
	Editor Specific Styles
	========================================================================== */

.editor-styles-wrapper .wp-block-group {
	/* Remove default margins in editor to prevent double spacing */
	margin-bottom: 0;
}

/* Add visual indicator for empty groups in editor */

.editor-styles-wrapper .wp-block-group:empty::before {
	background: #636363;
	background: var(--wp--preset--color--contrast-2);
	color: #ffffff;
	color: var(--wp--preset--color--base);
	content: "Group Block";
	display: block;
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.5;
	padding: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding: var(--wp--preset--spacing--small);
	text-align: center;
}

/* ==========================================================================
	Core Heading Block Styles
	========================================================================== */

.wp-block-heading {
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	margin-bottom: var(--wp--preset--spacing--base, 1rem);
	margin-top: 0;
}

.wp-block-heading h1,
.wp-block-heading h2,
.wp-block-heading h3,
.wp-block-heading h4,
.wp-block-heading h5,
.wp-block-heading h6 {
	margin: 0;
}

/* Typography scale */

.wp-block-heading h1 {
	font-size: 2.5rem;
	font-size: var(--wp--preset--font-size--xx-large, 2.5rem);
	line-height: 1.1;
}

.wp-block-heading h2 {
	font-size: 2rem;
	font-size: var(--wp--preset--font-size--x-large, 2rem);
	line-height: 1.15;
}

.wp-block-heading h3 {
	font-size: 1.5rem;
	font-size: var(--wp--preset--font-size--large, 1.5rem);
	line-height: 1.2;
}

.wp-block-heading h4 {
	font-size: 1.25rem;
	font-size: var(--wp--preset--font-size--medium, 1.25rem);
	line-height: 1.25;
}

.wp-block-heading h5 {
	font-size: clamp(0.875rem, 0.75rem + 0.625vw, 1rem);
	font-size: var(--wp--preset--font-size--base, 1rem);
	line-height: 1.3;
}

.wp-block-heading h6 {
	font-size: 0.875rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* Responsive typography */

@media (max-width: 768px) {
	.wp-block-heading h1 {
		font-size: 2rem;
		font-size: var(--wp--preset--font-size--x-large, 2rem);
	}

	.wp-block-heading h2 {
		font-size: 1.5rem;
		font-size: var(--wp--preset--font-size--large, 1.5rem);
	}
}

/* ==========================================================================
	Core Image Block Styles
	========================================================================== */

.wp-block-image {
	margin: 0 0 clamp(1rem, 1rem + 1.5vw, 1.75rem) 0;
	margin: 0 0 var(--wp--preset--spacing--medium, 1.5rem) 0;
}

.wp-block-image:last-child {
	margin-bottom: 0;
}

.wp-block-image img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
}

.wp-block-image figcaption {
	color: #636363;
	color: var(--wp--preset--color--contrast-2, #757575);
	font-size: 0.875rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-style: italic;
	margin-top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-top: var(--wp--preset--spacing--xs, 0.5rem);
	text-align: center;
}

/* Alignment styles */

.wp-block-image.alignleft {
	float: left;
	margin-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-bottom: var(--wp--preset--spacing--medium, 1.5rem);
	margin-right: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-right: var(--wp--preset--spacing--medium, 1.5rem);
}

.wp-block-image.alignright {
	float: right;
	margin-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-bottom: var(--wp--preset--spacing--medium, 1.5rem);
	margin-left: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-left: var(--wp--preset--spacing--medium, 1.5rem);
}

.wp-block-image.aligncenter {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* Size variants */

.wp-block-image.size-thumbnail {
	max-width: 150px;
}

.wp-block-image.size-medium {
	max-width: 300px;
}

.wp-block-image.size-large {
	max-width: 1024px;
}

/* Rounded style */

.wp-block-image.is-style-rounded img {
	border-radius: 50%;
}

/* Border style */

.wp-block-image.is-style-border img {
	border: 1px solid #a7a7a7;
	border: 1px solid var(--wp--preset--color--contrast-3, #e0e0e0);
	padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	padding: var(--wp--preset--spacing--xs, 0.5rem);
}

/* Responsive adjustments */

@media (max-width: 768px) {
	.wp-block-image.alignleft,
	.wp-block-image.alignright {
		display: block;
		float: none;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ==========================================================================
	Core List Block Styles
	========================================================================== */

.wp-block-list {
	margin: 0 0 clamp(1rem, 1rem + 1.5vw, 1.75rem) 0;
	margin: 0 0 var(--wp--preset--spacing--medium, 1.5rem) 0;
	padding-left: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-left: var(--wp--preset--spacing--medium, 1.5rem);
}

.wp-block-list:last-child {
	margin-bottom: 0;
}

.wp-block-list li {
	line-height: 1.6;
	margin-bottom: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-bottom: var(--wp--preset--spacing--xs, 0.5rem);
}

.wp-block-list li:last-child {
	margin-bottom: 0;
}

/* Nested lists */

.wp-block-list ul,
.wp-block-list ol {
	margin-bottom: 0;
	margin-top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-top: var(--wp--preset--spacing--xs, 0.5rem);
}

/* Ordered list styles */

.wp-block-list ol {
	list-style-type: decimal;
}

.wp-block-list ol ol {
	list-style-type: lower-alpha;
}

.wp-block-list ol ol ol {
	list-style-type: lower-roman;
}

/* Unordered list styles */

.wp-block-list ul {
	list-style-type: disc;
}

.wp-block-list ul ul {
	list-style-type: circle;
}

.wp-block-list ul ul ul {
	list-style-type: square;
}

/* No markers variant */

.wp-block-list.is-style-no-markers {
	list-style: none;
	padding-left: 0;
}

/* Checkmark list variant */

.wp-block-list.is-style-checkmark li::before {
	color: #0aa39c;
	color: var(--wp--preset--color--primary, #0073aa);
	content: "✓";
	font-weight: 700;
	margin-right: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	margin-right: var(--wp--preset--spacing--xs, 0.5rem);
}

/* ==========================================================================
	Core Paragraph Block Styles
	========================================================================== */

.wp-block-paragraph {
	line-height: 1.6;
	margin-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-bottom: var(--wp--preset--spacing--medium, 1.5rem);
	margin-top: 0;
}

.wp-block-paragraph:last-child {
	margin-bottom: 0;
}

/* Drop cap styles */

.wp-block-paragraph.has-drop-cap:not(:focus)::first-letter {
	float: left;
	font-size: 8.4em;
	font-style: normal;
	font-weight: 100;
	line-height: 0.68;
	margin: 0.05em 0.1em 0 0;
	text-transform: uppercase;
}

/* Lead paragraph variant */

.wp-block-paragraph.is-style-lead {
	font-size: 1.25rem;
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	font-weight: 300;
	line-height: 1.5;
	margin-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	margin-bottom: var(--wp--preset--spacing--large, 2rem);
}

/* Small text variant */

.wp-block-paragraph.is-style-small {
	font-size: 0.875rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	line-height: 1.5;
}

/* Responsive adjustments */

@media (max-width: 768px) {
	.wp-block-paragraph.is-style-lead {
		font-size: 1.125rem;
		font-size: var(--wp--preset--font-size--medium, 1.125rem);
	}
}

.wp-block-separator.is-style-wide {
		border-width: 1px;
	}

.wp-block-gallery {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 16px;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
}

.wp-block-gallery.has-nested-images:not(.is-cropped)
	figure.wp-block-image:not(#individual-image) {
	margin-bottom: 0;
}

.wp-block-details {
	background-color: #e4f5f4;
	background-color: var(--wp--preset--color--accent-hex);
	border: 1px solid #e4f5f4;
	border: 1px solid var(--wp--preset--color--accent-hex);
	border-radius: 0.375rem;
	border-radius: var(--wp--preset--border-radius--md);
	color: #003044;
	color: var(--wp--preset--color--secondary);
	padding: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding: var(--wp--preset--spacing--md);
	text-align: left;
	-webkit-transition:
		background-color 0.25s ease-in-out, color 0.25s ease-in-out;
	transition:
		background-color 0.25s ease-in-out, color 0.25s ease-in-out;
	-webkit-transition:
		background-color var(--transition-base), color var(--transition-base);
	transition:
		background-color var(--transition-base), color var(--transition-base);
}

.wp-block-details:hover,.wp-block-details:focus {
		background-color: #003044;
		background-color: var(--wp--preset--color--secondary);
		color: #e4f5f4;
		color: var(--wp--preset--color--accent-hex);
	}

.wp-block-details:hover summary::after {
			-webkit-filter: brightness(0) invert(1);
			        filter: brightness(0) invert(1);
		}

.wp-block-details:focus summary::after {
			-webkit-filter: brightness(0) invert(1);
			        filter: brightness(0) invert(1);
		}

.wp-block-details:hover summary::before {
			-webkit-filter: brightness(0) invert(1);
			        filter: brightness(0) invert(1);
		}

.wp-block-details:focus summary::before {
			-webkit-filter: brightness(0) invert(1);
			        filter: brightness(0) invert(1);
		}

.wp-block-details:not([class*="is-style-"]) summary::before {
			content: "✓";
		}

.wp-block-details summary {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background-color: transparent;
		border: none;
		cursor: pointer;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: clamp(1.25rem, 1rem + 1.25vw, 1.5rem);
		font-size: var(--wp--preset--font-size--2xl);
		font-weight: 900;
		gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		gap: var(--wp--preset--spacing--base);
		padding-right: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding-right: var(--wp--preset--spacing--lg);
		position: relative;
	}

.wp-block-details summary::marker {
			content: "";
		}

.wp-block-details summary::before {
			color: #003044;
			color: var(--wp--preset--color--secondary);
			content: "";
			display: inline-block;
			-webkit-transition: -webkit-filter 0.25s ease-in-out;
			transition: -webkit-filter 0.25s ease-in-out;
			transition: filter 0.25s ease-in-out;
			transition: filter 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
			-webkit-transition: -webkit-filter var(--transition-base);
			transition: -webkit-filter var(--transition-base);
			transition: filter var(--transition-base);
			transition: filter var(--transition-base), -webkit-filter var(--transition-base);
		}

.wp-block-details summary::after {
			background-image: url("data:image/svg+xml,%3Csvg width=%2716%27 height=%2717%27 viewBox=%270 0 16 17%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M7.97852 0.5V16.5%27 stroke=%27%23003044%27 stroke-width=%273%27/%3E%3Cpath d=%27M16 8.48682L0 8.48682%27 stroke=%27%23003044%27 stroke-width=%273%27/%3E%3C/svg%3E%0A");
			color: currentcolor;
			content: "";
			height: 16px;
			position: absolute;
			right: 0;
			top: 50%;
			-webkit-transform: translateY(-50%);
			        transform: translateY(-50%);
			-webkit-transform-origin: top;
			        transform-origin: top;
			-webkit-transition:
				-webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
			transition:
				-webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
			transition:
				transform 0.25s ease-in-out, filter 0.25s ease-in-out;
			transition:
				transform 0.25s ease-in-out, filter 0.25s ease-in-out, -webkit-transform 0.25s ease-in-out, -webkit-filter 0.25s ease-in-out;
			-webkit-transition:
				-webkit-transform var(--transition-base), -webkit-filter var(--transition-base);
			transition:
				-webkit-transform var(--transition-base), -webkit-filter var(--transition-base);
			transition:
				transform var(--transition-base), filter var(--transition-base);
			transition:
				transform var(--transition-base), filter var(--transition-base), -webkit-transform var(--transition-base), -webkit-filter var(--transition-base);
			width: 16px;
		}

.wp-block-details[open] {
		background-color: #003044;
		background-color: var(--wp--preset--color--secondary);
		color: #e4f5f4;
		color: var(--wp--preset--color--accent-hex);
	}

.wp-block-details[open] summary::before {
			-webkit-filter: brightness(0) invert(1);
			        filter: brightness(0) invert(1);
		}

.wp-block-details[open] summary::after {
			-webkit-filter: brightness(0) invert(1);
			        filter: brightness(0) invert(1);
			-webkit-transform: rotate(45deg) translateY(-50%);
			        transform: rotate(45deg) translateY(-50%);
		}

.wp-block-details.is-style-money summary::before {
			background-image: url("data:image/svg+xml,%3Csvg width=%2720%27 height=%2720%27 viewBox=%270 0 20 20%27 fill=%27currentcolor%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath fill-rule=%27evenodd%27 clip-rule=%27evenodd%27 d=%27M1.35 0.5C0.60442 0.5 0 1.10442 0 1.85V18.65C0 19.3956 0.60444 20 1.35 20H18.15C18.8956 20 19.5 19.3956 19.5 18.65V1.85C19.5 1.10444 18.8956 0.5 18.15 0.5H1.35ZM10.5 3.75C10.5 3.33579 10.1642 3 9.75 3C9.3358 3 9 3.33579 9 3.75V4.85325C8.4848 4.9298 7.9803 5.10793 7.5525 5.43193C6.88016 5.94119 6.5 6.73349 6.5 7.75001C6.5 8.24538 6.61527 8.6857 6.84233 9.0661C7.06679 9.4421 7.37636 9.7194 7.70672 9.9296C8.3194 10.3195 9.1005 10.5323 9.7457 10.7081L9.8027 10.7236C10.522 10.9197 11.0875 11.081 11.488 11.3359C11.6732 11.4538 11.7934 11.5749 11.8697 11.7028C11.9434 11.8263 12 11.9954 12 12.25C12 12.8592 11.7547 13.2421 11.3958 13.4935C11.0067 13.766 10.431 13.915 9.7769 13.8915C8.7751 13.8555 7.8209 13.4279 7.35 12.8C7.10147 12.4686 6.63137 12.4015 6.3 12.65C5.96863 12.8985 5.90147 13.3686 6.15 13.7C6.81955 14.5927 7.9074 15.125 9 15.3147V16.75C9 17.1642 9.3358 17.5 9.75 17.5C10.1642 17.5 10.5 17.1642 10.5 16.75V15.359C11.1277 15.2837 11.7415 15.0827 12.2563 14.7221C13.0134 14.192 13.5 13.3518 13.5 12.25C13.5 11.7546 13.3847 11.3144 13.1577 10.934C12.9332 10.5579 12.6236 10.2806 12.2933 10.0704C11.6806 9.6805 10.8995 9.4677 10.2543 9.2919L10.1973 9.2764C9.478 9.0803 8.9125 8.919 8.512 8.6641C8.3268 8.5462 8.2066 8.4251 8.1303 8.2972C8.0566 8.17373 8 8.00463 8 7.75001C8 7.1365 8.2103 6.81541 8.4582 6.62765C8.7374 6.41615 9.1739 6.29349 9.7298 6.30845C10.6786 6.33398 11.6914 6.75209 12.2197 7.28033C12.5126 7.57323 12.9874 7.57322 13.2803 7.28033C13.5732 6.98743 13.5732 6.51256 13.2803 6.21967C12.5979 5.53726 11.5487 5.05659 10.5 4.88088V3.75Z%27 fill=%27%23003044%27/%3E%3C/svg%3E%0A");
			height: 19px;
			width: 19px;
		}

.wp-block-details.is-style-umbrella summary::before {
			background-image: url("data:image/svg+xml,%3Csvg width=%2722%27 height=%2721%27 viewBox=%270 0 22 21%27 fill=%27currentcolor%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M21.5008 10.3716C21.2756 7.74346 20.0713 5.29584 18.1266 3.51379C16.1818 1.73174 13.6386 0.745323 11.0008 0.750017C8.36388 0.746499 5.82179 1.73345 3.87803 3.51538C1.93428 5.29731 0.730637 7.74426 0.505509 10.3716C0.487709 10.5787 0.513154 10.7872 0.580228 10.984C0.647302 11.1808 0.754541 11.3614 0.895141 11.5146C1.03574 11.6677 1.20663 11.7899 1.39697 11.8735C1.58731 11.957 1.79294 12.0001 2.00082 12H10.2508V17.25C10.2508 18.0457 10.5669 18.8087 11.1295 19.3713C11.6921 19.9339 12.4552 20.25 13.2508 20.25C14.0465 20.25 14.8095 19.9339 15.3721 19.3713C15.9348 18.8087 16.2508 18.0457 16.2508 17.25C16.2508 17.0511 16.1718 16.8603 16.0312 16.7197C15.8905 16.579 15.6997 16.5 15.5008 16.5C15.3019 16.5 15.1111 16.579 14.9705 16.7197C14.8298 16.8603 14.7508 17.0511 14.7508 17.25C14.7508 17.6478 14.5928 18.0294 14.3115 18.3107C14.0302 18.592 13.6486 18.75 13.2508 18.75C12.853 18.75 12.4715 18.592 12.1902 18.3107C11.9089 18.0294 11.7508 17.6478 11.7508 17.25V12H20.0008C20.2091 12.0008 20.4152 11.9582 20.6061 11.8749C20.797 11.7916 20.9685 11.6695 21.1096 11.5163C21.2507 11.3631 21.3584 11.1822 21.4257 10.9851C21.4931 10.788 21.5187 10.5791 21.5008 10.3716ZM2.00082 10.5C2.16704 8.568 2.95188 6.74109 4.2388 5.29051C5.52572 3.83994 7.24612 2.84304 9.14457 2.44783C8.04582 3.93752 6.67426 6.57283 6.51676 10.5H2.00082ZM15.4849 10.5C15.3274 6.57283 13.9558 3.93752 12.8599 2.44314C14.7591 2.83802 16.48 3.8355 17.7667 5.28718C19.0533 6.73886 19.8369 8.56715 20.0008 10.5H15.4849Z%27 fill=%27%23003044%27/%3E%3C/svg%3E%0A");
			height: 21px;
			width: 22px;
		}

.wp-block-details.is-style-pin summary::before {
			background-image: url("data:image/svg+xml,%3Csvg width=%2716%27 height=%2721%27 viewBox=%270 0 16 21%27 fill=%27currentcolor%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M8 0.5C3.8 0.5 0 3.72 0 8.7C0 11.88 2.45 15.62 7.34 19.93C7.72 20.26 8.29 20.26 8.67 19.93C13.55 15.62 16 11.88 16 8.7C16 3.72 12.2 0.5 8 0.5ZM8 10.5C6.9 10.5 6 9.6 6 8.5C6 7.4 6.9 6.5 8 6.5C9.1 6.5 10 7.4 10 8.5C10 9.6 9.1 10.5 8 10.5Z%27 fill=%27%23003044%27/%3E%3C/svg%3E%0A");
			height: 21px;
			width: 16px;
		}

.wp-block-details.is-style-present summary::before {
			background-image: url("data:image/svg+xml,%3Csvg width=%2722%27 height=%2722%27 viewBox=%270 0 22 22%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath fill-rule=%27evenodd%27 clip-rule=%27evenodd%27 d=%27M0.199219 1.7999C0.199219 1.56121 0.29404 1.33229 0.462823 1.16351C0.631605 0.994723 0.860524 0.899902 1.09922 0.899902H20.8992C21.1379 0.899902 21.3668 0.994723 21.5356 1.16351C21.7044 1.33229 21.7992 1.56121 21.7992 1.7999C21.7992 2.0386 21.7044 2.26752 21.5356 2.4363C21.3668 2.60508 21.1379 2.6999 20.8992 2.6999H20.5992V13.1999C20.5992 14.0751 20.2515 14.9145 19.6327 15.5334C19.0138 16.1522 18.1744 16.4999 17.2992 16.4999H16.0128L16.9704 20.1719C17.0309 20.403 16.9971 20.6486 16.8765 20.8547C16.7558 21.0609 16.5583 21.2106 16.3272 21.2711C16.0962 21.3316 15.8505 21.2978 15.6444 21.1772C15.4383 21.0565 15.2885 20.859 15.228 20.6279L15.0912 20.0999H6.90722L6.77042 20.6279C6.70995 20.859 6.56017 21.0565 6.35403 21.1772C6.14789 21.2978 5.90228 21.3316 5.67122 21.2711C5.44016 21.2106 5.24259 21.0609 5.12197 20.8547C5.00134 20.6486 4.96755 20.403 5.02802 20.1719L5.98682 16.4999H4.69922C3.824 16.4999 2.98464 16.1522 2.36577 15.5334C1.7469 14.9145 1.39922 14.0751 1.39922 13.1999V2.6999H1.09922C0.860524 2.6999 0.631605 2.60508 0.462823 2.4363C0.29404 2.26752 0.199219 2.0386 0.199219 1.7999ZM7.84682 16.4999L7.37762 18.2999H14.622L14.1516 16.4999H7.84682ZM16.8348 5.7827C16.9734 5.97701 17.0291 6.2184 16.9897 6.45379C16.9504 6.68918 16.8191 6.89928 16.6248 7.0379C15.1223 8.11018 13.7534 9.35824 12.5472 10.7555C12.4663 10.849 12.3671 10.9247 12.2557 10.9782C12.1442 11.0316 12.023 11.0615 11.8995 11.066C11.776 11.0705 11.6529 11.0495 11.5378 11.0043C11.4228 10.9592 11.3183 10.8908 11.2308 10.8035L9.19922 8.7731L6.53522 11.4371C6.45216 11.523 6.35281 11.5915 6.24299 11.6387C6.13316 11.6858 6.01505 11.7105 5.89555 11.7115C5.77605 11.7125 5.65755 11.6897 5.54697 11.6444C5.43638 11.5991 5.33593 11.5322 5.25146 11.4476C5.167 11.3631 5.10022 11.2626 5.05502 11.152C5.00982 11.0413 4.9871 10.9228 4.9882 10.8033C4.98929 10.6838 5.01417 10.5657 5.06139 10.4559C5.10861 10.3462 5.17722 10.2469 5.26322 10.1639L8.56322 6.8639C8.73197 6.69536 8.96072 6.60069 9.19922 6.60069C9.43772 6.60069 9.66647 6.69536 9.83522 6.8639L11.832 8.8595C12.9691 7.64239 14.224 6.541 15.5784 5.5715C15.6747 5.50276 15.7837 5.45369 15.899 5.4271C16.0143 5.40051 16.1337 5.39692 16.2504 5.41654C16.3671 5.43615 16.4788 5.47859 16.5791 5.54142C16.6794 5.60426 16.7663 5.68625 16.8348 5.7827Z%27 fill=%27%23003044%27/%3E%3C/svg%3E%0A");
			height: 22px;
			width: 22px;
		}

.wp-block-details.is-style-plane summary::before {
			background-image: url("data:image/svg+xml,%3Csvg width=%2719%27 height=%2720%27 viewBox=%270 0 19 20%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M18.2057 15.9932C18.2545 16.1273 18.264 16.2726 18.2331 16.4119C18.2022 16.5512 18.1322 16.6788 18.0314 16.7798L15.7814 19.0298C15.7117 19.0996 15.629 19.155 15.538 19.1928C15.4469 19.2306 15.3493 19.25 15.2507 19.2501C15.2261 19.2515 15.2013 19.2515 15.1767 19.2501C15.0662 19.2392 14.9596 19.204 14.8644 19.1469C14.7693 19.0899 14.688 19.0124 14.6264 18.9201L10.4948 12.7213L8.50073 14.7117V17.0001C8.50064 17.1987 8.42174 17.3892 8.28135 17.5298C8.28135 17.5298 6.96885 18.8479 6.7926 19.0185C6.71935 19.0953 6.63047 19.1554 6.53198 19.1948C6.34843 19.2695 6.14275 19.2686 5.95988 19.1922C5.77701 19.1158 5.63182 18.9701 5.55604 18.787L5.55042 18.7729L4.17229 15.3267L0.719478 13.9457C0.604294 13.8996 0.502339 13.8257 0.422747 13.7305C0.343155 13.6354 0.288412 13.522 0.263422 13.4005C0.238431 13.2789 0.243974 13.1531 0.279553 13.0343C0.315133 12.9154 0.379638 12.8073 0.46729 12.7195L1.96729 11.2195C2.03733 11.1495 2.12052 11.0941 2.21208 11.0565C2.30363 11.0188 2.40173 10.9996 2.50073 11.0001H4.78823L6.78229 9.00603L0.584477 4.87353C0.492038 4.812 0.414417 4.7307 0.357219 4.63551C0.300021 4.54033 0.264675 4.43363 0.253732 4.32312C0.242788 4.21261 0.256522 4.10105 0.29394 3.9965C0.331358 3.89194 0.391527 3.797 0.470103 3.71853L2.7201 1.46853C2.82104 1.36765 2.94866 1.29765 3.08798 1.26676C3.22731 1.23588 3.37255 1.24538 3.50667 1.29416L11.5635 4.22385L14.5195 1.26791C15.0118 0.775599 15.6795 0.499023 16.3757 0.499023C16.7205 0.499023 17.0618 0.566924 17.3803 0.69885C17.6988 0.830775 17.9882 1.02414 18.232 1.26791C18.4757 1.51167 18.6691 1.80107 18.801 2.11956C18.933 2.43806 19.0009 2.77942 19.0009 3.12416C19.0009 3.46889 18.933 3.81026 18.801 4.12875C18.6691 4.44725 18.4757 4.73664 18.232 4.98041L15.276 7.93635L18.2057 15.9932Z%27 fill=%27%23003044%27/%3E%3C/svg%3E%0A");
			height: 20px;
			width: 19px;
		}

.wp-block-details.is-style-people summary::before {
			background-image: url("data:image/svg+xml,%3Csvg width=%2722%27 height=%2715%27 viewBox=%270 0 22 15%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M15 6.5C16.66 6.5 17.99 5.16 17.99 3.5C17.99 1.84 16.66 0.5 15 0.5C13.34 0.5 12 1.84 12 3.5C12 5.16 13.34 6.5 15 6.5ZM7 6.5C8.66 6.5 9.99 5.16 9.99 3.5C9.99 1.84 8.66 0.5 7 0.5C5.34 0.5 4 1.84 4 3.5C4 5.16 5.34 6.5 7 6.5ZM7 8.5C4.67 8.5 0 9.67 0 12V14.5H14V12C14 9.67 9.33 8.5 7 8.5ZM15 8.5C14.71 8.5 14.38 8.52 14.03 8.55C15.19 9.39 16 10.52 16 12V14.5H22V12C22 9.67 17.33 8.5 15 8.5Z%27 fill=%27%23003044%27/%3E%3C/svg%3E%0A");
			height: 15px;
			width: 22px;
		}

/* Custom Blocks */

.wp-block-hyperlocology-utility-navigation {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1rem;
}

.wp-block-hyperlocology-utility-navigation .book-demo-btn {
		width: auto;
	}

.wp-block-hyperlocology-utility-navigation .utility-nav {
	margin: 0;
}

.utility-navigation-block .utility-nav .wp-block-navigation__container {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0;
	margin: 0;
}

.utility-navigation-block .utility-nav .wp-block-navigation-item {
	margin: 0;
}

.utility-navigation-block .utility-nav .wp-block-navigation-item__content {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 6px;
	color: #000000;
	color: var(--wp--preset--color--contrast, #1e1e1e);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-size: 15px;
	font-weight: 500;
	padding: 8px 16px;
	-webkit-text-decoration: none;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
}

.utility-navigation-block
	.utility-nav
	.wp-block-navigation-item__content:hover {
	background: rgba(0, 48, 68, 0.05);
	background: var(--nav-hover-bg, rgba(0, 48, 68, 0.05));
	color: #0aa39c;
	color: var(--wp--preset--color--primary, #0aa39c);
}

.utility-navigation-block
	.utility-nav
	.wp-block-navigation-item__content:focus {
	outline: 2px solid #0aa39c;
	outline: 2px solid var(--wp--preset--color--primary, #0aa39c);
	outline-offset: 2px;
}

/* Responsive behavior */

@media (max-width: 768px) {
	.nav-actions.is-layout-flex {
		margin-left: auto;
	}

	.utility-navigation-block {
		gap: 0.5rem;
	}

		.utility-navigation-block .book-demo-btn {
			display: none;
		}

	.utility-navigation-block .utility-nav .wp-block-navigation-item__content {
		font-size: 14px;
		padding: 6px 12px;
	}
}

/* ==========================================================================
   CSS Custom Properties & Base Navigation Styles
   Shared across all navigation components
   ========================================================================== */

/* Base navigation container styles */

.nav-base,
.wp-block-navigation__container,
.mega-nav-menu {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 16px;
	gap: var(--nav-gap, 16px);
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Base navigation link styles - shared across all navigation types */

.nav-link-base,
.wp-block-navigation-item__content,
.mega-nav-menu > li > .nav-link {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 10px;
	color: #003044;
	color: var(--nav-text-primary, #003044);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	font-family: var(
		--nav-font-family,
		"Poppins",
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		sans-serif
	);
	font-size: 16px;
	font-size: var(--nav-font-size, 16px);
	font-weight: 600;
	font-weight: var(--nav-font-weight-semibold, 600);
	gap: 4px;
	line-height: 1.1;
	line-height: var(--nav-line-height, 1.1);
	padding: 8px 24px;
	-webkit-text-decoration: none;
	text-decoration: none;
	text-transform: capitalize;
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: var(
		--nav-transition,
		all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
	);
	transition: var(
		--nav-transition,
		all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
	);
	white-space: nowrap;

	/* Base navigation link hover and focus states - shared */
}

.nav-link-base:not(.does-not-exist):not(does-not-exist):hover,.wp-block-navigation-item__content:not(.does-not-exist):not(does-not-exist):hover,.mega-nav-menu > li > .nav-link:hover,.nav-link-base:not(.does-not-exist):not(does-not-exist):focus,.wp-block-navigation-item__content:not(.does-not-exist):not(does-not-exist):focus,.mega-nav-menu > li > .nav-link:focus {
		background: rgba(10, 163, 156, 0.1);
	}

.nav-link-base:not(.does-not-exist):not(does-not-exist):focus,.wp-block-navigation-item__content:not(.does-not-exist):not(does-not-exist):focus,.mega-nav-menu > li > .nav-link:focus {
		outline: 2px solid #0aa39c;
		outline: 2px solid var(--nav-teal, #0aa39c);
		outline-offset: 2px;
	}

/* Base dropdown indicator styles - shared */

.dropdown-indicator-base,
.dropdown-indicator {
	fill: none;
	height: 5px;
	stroke: currentcolor;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
	transition: var(--nav-transition-fast, all 0.2s ease);
	width: 8px;
}

/* Base dropdown hover state - shared, only on devices that support hover */

@media (hover: hover) {
	.has-mega-menu:hover .dropdown-indicator-base,
	.has-mega-menu:hover .dropdown-indicator {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}
}

/* Keep focus-within for keyboard navigation on all devices */

.has-mega-menu:focus-within .dropdown-indicator-base,
.has-mega-menu:focus-within .dropdown-indicator {
	-webkit-transform: rotate(180deg);
	        transform: rotate(180deg);
}

/* Screen Reader Only */

.sr-only {
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute;
	width: 1px;
}

/* ==========================================================================
   Mega Navigation Block Container
   ========================================================================== */

.mega-navigation-block {
	container-name: mega-nav;
	container-type: inline-size;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin: 0 2rem;
	max-width: 44px;
	-webkit-box-ordinal-group: 2;
	    -ms-flex-order: 1;
	        order: 1;
	position: relative;
}

@media (min-width: 1200px) {

.mega-navigation-block {
		max-width: none;
		-webkit-box-ordinal-group: initial;
		    -ms-flex-order: initial;
		        order: initial;
		width: 100%;
}
	}

.mega-navigation-block .primary-navigation {
		position: relative;
	}

/* Main Navigation Menu - matches header.css styling */

.mega-navigation-block .mega-nav-menu {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		    -ms-flex-direction: row;
		        flex-direction: row; /* Ensure horizontal layout by default */
		gap: 16px;
		gap: var(--nav-gap, 16px);
		list-style: none;
		margin: 0;
		padding: 0;

		/* Top-level navigation items */
	}

.mega-navigation-block .mega-nav-menu > li:not(:has(.mega-menu-cta)) {
				position: relative;
			}

/* Top-Level Navigation Links - matches header.css exactly */

.mega-navigation-block .mega-nav-menu > li > .nav-link {
				-webkit-box-align: center;
				    -ms-flex-align: center;
				        align-items: center;
				border-radius: 10px;
				color: #003044;
				color: var(--nav-text-primary, #003044);
				display: -webkit-box;
				display: -ms-flexbox;
				display: flex;
				font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
				font-family: var(
					--nav-font-family,
					"Poppins",
					-apple-system,
					BlinkMacSystemFont,
					"Segoe UI",
					Roboto,
					sans-serif
				);
				font-size: 16px;
				font-size: var(--nav-font-size, 16px);
				font-weight: 600;
				font-weight: var(--nav-font-weight-semibold, 600);
				gap: 4px;
				line-height: 1.1;
				line-height: var(--nav-line-height, 1.1);
				padding: 8px 24px;
				position: relative;
				-webkit-text-decoration: none;
				text-decoration: none;
				text-transform: capitalize;
				-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
				transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
				-webkit-transition: var(
					--nav-transition,
					all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
				);
				transition: var(
					--nav-transition,
					all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
				);
				white-space: nowrap;

				/* Hover and focus states - matches header.css */
			}

.mega-navigation-block .mega-nav-menu > li > .nav-link:hover,.mega-navigation-block .mega-nav-menu > li > .nav-link:focus {
					background: rgba(10, 163, 156, 0.1);
					color: #0aa39c;
					color: var(--nav-teal, #0aa39c);
				}

.mega-navigation-block .mega-nav-menu > li > .nav-link:focus {
					outline: 2px solid #0aa39c;
					outline: 2px solid var(--nav-teal, #0aa39c);
					outline-offset: 2px;
				}

/* Hack to ensure no dead zone between the top level nav items and their sub-menu children */

.mega-navigation-block .mega-nav-menu > li > .nav-link::after {
					content: "";
					display: block;
					height: 1.5625rem;
					left: 0;
					position: absolute;
					top: 100%;
					width: 100%;
				}

/* Dropdown Indicators - Figma design arrows for Solutions, Platform, Resources */

.mega-navigation-block .dropdown-indicator {
		fill: none;
		height: 5px;
		stroke: currentcolor;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
		transition: var(--nav-transition-fast, all 0.2s ease);
		width: 8px;
	}

/* Only apply hover effects on devices that support hover (desktop) */

@media (min-width: 1200px) {
		.mega-navigation-block .has-mega-menu:hover .dropdown-indicator {
			-webkit-transform: rotate(180deg);
			        transform: rotate(180deg);
		}
	}

/* Keep focus-within for keyboard navigation on all devices */

.mega-navigation-block .has-mega-menu:focus-within .dropdown-indicator {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}

/* ==========================================================================
   Desktop Navigation Wrapper
   ========================================================================== */

.desktop-nav-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
}

/* ==========================================================================
   Mobile Navigation System
   ========================================================================== */

/* Mobile Navigation Toggle Button */

.mobile-nav-toggle {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: transparent;
	border: 2px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	display: none; /* Hidden by default, shown only in mobile container state */
	height: 44px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 8px;
	position: relative;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
	transition: var(--nav-transition-fast, all 0.2s ease);
	width: 44px;
	z-index: 999; /* Lower than mobile nav container so it gets hidden behind overlay */
}

.mobile-nav-toggle:hover {
		background: rgba(10, 163, 156, 0.1);
		border-color: rgba(10, 163, 156, 0.2);
	}

.mobile-nav-toggle:focus {
		background: rgba(10, 163, 156, 0.1);
		border-color: #0aa39c;
		border-color: var(--nav-teal, #0aa39c);
		outline: none;
	}

/* Hamburger Icon */

.mobile-nav-toggle.is-active .hamburger-line:nth-child(1) {
			-webkit-transform: translateY(8.5px) rotate(45deg);
			        transform: translateY(8.5px) rotate(45deg);
		}

.mobile-nav-toggle.is-active .hamburger-line:nth-child(2) {
			opacity: 0;
		}

.mobile-nav-toggle.is-active .hamburger-line:nth-child(3) {
			-webkit-transform: translateY(-7.5px) rotate(-45deg);
			        transform: translateY(-7.5px) rotate(-45deg);
		}

.hamburger-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 18px;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	width: 24px;
}

.hamburger-line {
	background: #003044;
	background: var(--nav-text-primary, #003044);
	border-radius: 2px;
	height: 3px;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
	transition: var(--nav-transition-fast, all 0.2s ease);
	width: 100%;
}

/* Mobile Navigation Container & States */

.mobile-nav-container {
	background: #ffffff;
	background: var(--nav-white, #ffffff);
	bottom: 0;
	display: none;
	left: 0;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1000;

	/* Show mobile navigation when open */
}

.mobile-nav-container.mobile-nav-open {
		display: block;
		outline: none; /* Ensure proper focus management */
	}

/* Mobile navigation content wrapper - handles centering and layout */

.mobile-nav-container .mobile-nav-content-wrapper {
		margin: 0 auto; /* Center the content */
		max-width: 1200px; /* Match your site's content width */
		padding: 120px 24px 24px;
		width: 100%;
	}

/* Mobile navigation menu styling - extends base nav styles */

.mobile-nav-container .mega-nav-menu.mobile-nav {
		-webkit-box-align: start;
		    -ms-flex-align: start;
		        align-items: flex-start;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 0;
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
	}

.mobile-nav-container .mega-nav-menu.mobile-nav > li {
			border-bottom: 1px solid rgba(0, 48, 68, 0.1);
			position: relative; /* Inherit from base nav item styles */
			width: 100%;
		}

.mobile-nav-container .mega-nav-menu.mobile-nav > li:last-child {
				border-bottom: none;
			}

/* Mobile nav links - inherit from shared base but override for mobile layout */

.mobile-nav-container .mega-nav-menu.mobile-nav > li > .nav-link {
				/* Inherit all base nav-link styles, then override specific properties */
				border-radius: 0;
				font-size: 18px;
				-webkit-box-pack: justify;
				    -ms-flex-pack: justify;
				        justify-content: space-between;
				padding: 1.25rem 2rem;
				width: 100%;
			}

/* Mobile Navigation - Show dropdown indicators and allow expansion */

.mobile-nav-container .mega-nav-menu.mobile-nav .dropdown-indicator {
			-webkit-transform: rotate(0deg);
			        transform: rotate(0deg);
			-webkit-transition: -webkit-transform 0.2s ease;
			transition: -webkit-transform 0.2s ease;
			transition: transform 0.2s ease;
			transition: transform 0.2s ease, -webkit-transform 0.2s ease;
		}

.mobile-nav-container .mega-nav-menu.mobile-nav .has-mega-menu.expanded .dropdown-indicator {
			-webkit-transform: rotate(180deg);
			        transform: rotate(180deg);
		}

/* Mobile Navigation - Make parent links with children clickable for expand/collapse */

.mobile-nav-container .mega-nav-menu.mobile-nav .has-mega-menu > .nav-link {
			cursor: pointer;
			position: relative;
		}

/* Mobile Navigation - Transform mega menus into accordion-style layout */

.mobile-nav-container .mega-menu-dropdown {
		background: rgba(10, 163, 156, 0.05);
		border-radius: 0;
		-webkit-box-shadow: none;
		        box-shadow: none;
		display: none; /* Hidden by default, shown when expanded */
		left: 0;
		margin-top: 0;
		max-height: 0;
		min-width: 100%;
		opacity: 0;
		overflow: hidden;
		position: static;
		-webkit-transition:
			max-height 0.3s ease, opacity 0.2s ease;
		transition:
			max-height 0.3s ease, opacity 0.2s ease;
		visibility: hidden;
		width: 100%;
	}

.mobile-nav-container .has-mega-menu.expanded .mega-menu-dropdown {
		display: block;
		max-height: 600px; /* Large enough to accommodate content */
		opacity: 1;
		visibility: visible;
	}

/* Mobile Navigation - Accordion layout for mega menu content */

.mobile-nav-container .mega-menu-content {
		display: block;
		grid-template-columns: none;
		padding: 16px 24px;
	}

.mobile-nav-container .mega-menu-links {
		display: block;
		gap: 8px;
		grid-template-columns: none;
		padding-right: 0;
	}

.mobile-nav-container .mega-menu-item {
		border-radius: 4px;
		margin-bottom: 8px;
		padding: 12px;
	}

/* Mobile Navigation - Hide CTA section in mobile accordion */

.mobile-nav-container .mega-menu-cta {
		display: none;
	}

/* Mobile Navigation Close Button */

.mobile-nav-container .mobile-nav-close {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background: transparent;
		border: 2px solid transparent;
		border-radius: 8px;
		color: #003044;
		color: var(--nav-text-primary, #003044);
		cursor: pointer;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex; /* Show close button in mobile overlay */
		height: 44px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		padding: 8px;
		position: absolute;
		right: 0;
		top: 44px;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
		transition: var(--nav-transition-fast, all 0.2s ease);
		width: 44px;
		z-index: 1001;
	}

.mobile-nav-container .mobile-nav-close:hover {
			background: rgba(10, 163, 156, 0.1);
			border-color: rgba(10, 163, 156, 0.2);
		}

.mobile-nav-container .mobile-nav-close:focus {
			background: rgba(10, 163, 156, 0.1);
			border-color: #0aa39c;
			border-color: var(--nav-teal, #0aa39c);
			outline: none;
		}

/* Mobile Navigation Close Button - fallback for when not in container */

.mobile-nav-close {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: transparent;
	border: 2px solid transparent;
	border-radius: 8px;
	color: #003044;
	color: var(--nav-text-primary, #003044);
	cursor: pointer;
	display: none; /* Hidden by default, shown only in mobile overlay */
	height: 44px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 8px;
	position: absolute;
	right: 0;
	top: 44px;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
	transition: var(--nav-transition-fast, all 0.2s ease);
	width: 44px;
	z-index: 1001;
}

.mobile-nav-close:hover {
		background: rgba(10, 163, 156, 0.1);
		border-color: rgba(10, 163, 156, 0.2);
	}

.mobile-nav-close:focus {
		background: rgba(10, 163, 156, 0.1);
		border-color: #0aa39c;
		border-color: var(--nav-teal, #0aa39c);
		outline: none;
	}

/* Container-based mobile state controlled by JavaScript ResizeObserver */

.mega-navigation-block.mobile-container {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
}

.mega-navigation-block.mobile-container .mobile-nav-toggle {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex; /* Show hamburger button in mobile container state */
	}

/* Hide desktop nav on mobile */

.mega-navigation-block.mobile-container .desktop-nav-wrapper {
		display: none;
	}

/* Lock body scroll when mobile navigation is open */

:root body.nav-open {
	overflow: hidden;
}

/* ==========================================================================
   Mega Menu Components
   ========================================================================== */

/* Mega Menu Dropdown Container */

.mega-menu-dropdown {
	background: #f0faf9;
	background: var(--nav-bg-light, #f0faf9);
	border-radius: 12px;
	-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	left: 0;
	opacity: 0;
	position: absolute;
	top: calc(100% + 1.5625rem);
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: var(--nav-transition, opacity 0.3s ease);
	transition: var(--nav-transition, opacity 0.3s ease);
	visibility: hidden;
	width: 100cqw;
	z-index: 1000;
}

@media (min-width: 1200px) {

.mega-menu-dropdown.mega-menu-dropdown-wide {
			left: 62.5%;
			-webkit-transform: translateX(-62.5%);
			        transform: translateX(-62.5%);
			width: 125cqw;
	}
		}

@media (min-width: 1200px) {

.mega-menu-dropdown.mega-menu-dropdown-wide .mega-menu-content {
				grid-template-columns: 3fr 1fr;
		}
			}

@media (min-width: 1200px) {

.mega-menu-dropdown:not(:has(.mega-menu-cta)) {
			left: 50%;
			-webkit-transform: translateX(-50%);
			        transform: translateX(-50%);
			width: -webkit-max-content;
			width: -moz-max-content;
			width: max-content;
	}
		}

@media (min-width: 1200px) {

.mega-menu-dropdown:has(.mega-menu-cta) {
			min-height: 300px;
	}
		}

/* Only apply hover effects on devices that support hover (desktop) */

@media (min-width: 1200px) {
	:root .has-mega-menu:hover .mega-menu-dropdown,:root .has-mega-menu:focus-within .mega-menu-dropdown {
		opacity: 1;
		visibility: visible;
	}
}

/* Mega Menu Content Layout */

.mega-menu-content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 1.45rem;
}

@media (max-width: 1200px) {

.mega-menu-content {
		min-height: -webkit-fit-content;
		min-height: -moz-fit-content;
		min-height: fit-content;
}
	}

.mega-menu-content:not(:has(.mega-menu-cta)) {
		grid-template-columns: 1fr;
	}

.mega-menu-content:not(:has(.mega-menu-cta)) .mega-menu-links {
			padding-right: 0;
		}

.mega-menu-links {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.45rem;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding-right: 2rem;
}

@media (min-width: 48em) {

.mega-menu-links:has( > :nth-child(4)) {
			display: grid;
			grid-template-columns: repeat(2, 1fr);
	}
		}

/* Mega Menu Items (Sub-Navigation) */

.mega-menu-item {
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	border-radius: 8px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 12px;
	padding: 16px;
	-webkit-text-decoration: none;
	text-decoration: none;
	-webkit-transition: all 0.2s ease;
	transition: all 0.2s ease;
	-webkit-transition: var(--nav-transition-fast, all 0.2s ease);
	transition: var(--nav-transition-fast, all 0.2s ease);
	width: 100%;
}

.mega-menu-item:hover,.mega-menu-item:focus {
		background: rgba(10, 163, 156, 0.1);
	}

.mega-menu-item:focus {
		outline: 2px solid #003044;
		outline: 2px solid var(--nav-navy, #003044);
		outline-offset: -2px;
	}

/* Mega menu item links should inherit base link behaviors */

.mega-menu-item .menu-item-link {
		display: block;
		-webkit-text-decoration: none;
		text-decoration: none;
		width: 100%;
	}

.mega-menu-item .menu-item-link:focus {
			border-radius: 8px;
			outline: 2px solid #0aa39c;
			outline: 2px solid var(--nav-teal, #0aa39c);
			outline-offset: -2px;
		}

/* Menu Item Icons */

.menu-item-icon {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: 24px;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 24px;
}

.menu-item-icon-placeholder {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: rgba(10, 163, 156, 0.1);
	border-radius: 6px;
	color: #0aa39c;
	color: var(--nav-teal, #0aa39c);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/* Menu Item Content */

.menu-item-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 4px;
}

.menu-item-link {
	-webkit-text-decoration: none;
	text-decoration: none;
}

.menu-item-title {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	color: #003044;
	color: var(--nav-text-primary, #003044);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	font-family: var(--nav-font-family, "Poppins", sans-serif);
	font-size: 16px;
	font-weight: 600;
	font-weight: var(--nav-font-weight-semibold, 600);
	gap: 0.45rem;
	line-height: 1.2;
}

.menu-item-description {
	color: #003044;
	color: var(--nav-text-primary, #003044);
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	font-family: var(--nav-font-family, "Poppins", sans-serif);
	font-size: 14px;
	line-height: 1.3;
}

/* CTA Section */

.mega-menu-cta {
	background: #003044;
	background: var(--nav-navy, #003044);
	border-left: 1px solid rgba(10, 163, 156, 0.1);
	border-radius: 8px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 16px;
	padding: 24px;
}

.cta-image {
	border-radius: 6px;
	overflow: hidden;
}

.cta-image img {
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		width: 100%;
	}

.cta-content {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 12px;
}

.cta-content .cta-button {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		color: #ffffff;
		color: var(--nav-white, #ffffff);
		display: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
		font-family: var(--nav-font-family, "Poppins", sans-serif);
		font-size: clamp(0.5rem, 0.45rem + 0.25vw, 0.625rem);
		font-size: var(--wp--preset--font-size--2xs);
		font-weight: 600;
		font-weight: var(--nav-font-weight-semibold, 600);
		gap: 0.25rem;
		-webkit-text-decoration: none;
		text-decoration: none;
		-webkit-transition: all 0.2s ease;
		transition: all 0.2s ease;
		-webkit-transition: var(
			--nav-transition-fast,
			color 0.2s ease,
			transform 0.2s ease
		);
		transition: var(
			--nav-transition-fast,
			color 0.2s ease,
			transform 0.2s ease
		);
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
	}

.cta-content .cta-button:hover,.cta-content .cta-button:focus {
			color: #0aa39c;
			color: var(--nav-teal, #0aa39c);
			-webkit-transform: translateY(-1px);
			        transform: translateY(-1px);
		}

.cta-content .cta-button:hover .cta-arrow,.cta-content .cta-button:focus .cta-arrow {
				-webkit-transform: translate(2px, -2px);
				        transform: translate(2px, -2px);
			}

.cta-title {
	color: #ffffff;
	color: var(--nav-white, #ffffff);
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	font-family: var(--nav-font-family, "Poppins", sans-serif);
	font-size: clamp(0.625rem, 0.55rem + 0.375vw, 0.75rem);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	font-weight: var(--nav-font-weight-semibold, 600);
	line-height: 1.2;
	margin: 0;
}

.cta-description {
	color: #ffffff;
	color: var(--nav-white, #ffffff);
	font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	font-family: var(--nav-font-family, "Poppins", sans-serif);
	font-size: clamp(0.625rem, 0.55rem + 0.375vw, 0.75rem);
	font-size: var(--wp--preset--font-size--xs);
	line-height: 1.4;
	margin: 0;
}

.cta-arrow {
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

/* ==========================================================================
   Editor & Placeholder Styles
   ========================================================================== */

.mega-nav-placeholder {
	background: rgba(10, 163, 156, 0.05);
	border: 2px dashed rgba(10, 163, 156, 0.2);
	border-radius: 8px;
	padding: 24px;
	text-align: center;
}

.mega-nav-placeholder p {
		color: #003044;
		color: var(--nav-text-primary, #003044);
		font-family: "Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
		font-family: var(--nav-font-family, "Poppins", sans-serif);
		margin: 0;
	}

/* ==========================================================================
   Responsive Design - Mobile Navigation Adjustments
   ========================================================================== */

/* Adjust mobile nav for smaller screens */

@media (max-width: 480px) {
	.mobile-nav-content-wrapper {
		padding: 100px 16px 16px;
	}

	.mobile-nav-container .mega-nav-menu.mobile-nav > li > .nav-link {
		font-size: 16px;
		padding: 16px 0;
	}
}

/* ==========================================================================
   Container Query Responsive Design
   ========================================================================== */

/* Large container (tablet) - for containers narrower than 900px */

@container mega-nav (max-width: 900px) {
	.mega-menu-content {
		padding: 24px;
	}

	.mega-menu-links {
		grid-template-columns: 1fr;
		padding-right: 24px;
	}
}

/* Medium container (small tablet) - for containers narrower than 600px */

@container mega-nav (max-width: 600px) {
	.mega-menu-dropdown {
		left: 0;
	}

	.mega-menu-content {
		padding: 20px;
	}

		@media (min-width: 1200px) {

	.mega-menu-content {
			gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
			gap: var(--wp--preset--spacing--base);
			grid-template-columns: repeat(2, 1fr);
	}
		}

	.mega-menu-links {
		padding-right: 0;
	}

	.mega-menu-cta {
		border-left: none;
		border-top: 1px solid rgba(10, 163, 156, 0.1);
		margin-top: 16px;
		padding-top: 20px;
	}
}

@container mega-nav (--small-max) {
	.mega-navigation-block {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
	}

	.mega-nav-menu {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 0;
		width: 100%;
	}

		.mega-nav-menu > li {
			width: 100%;
		}

			.mega-nav-menu > li > .nav-link {
				border-radius: 0;
				-webkit-box-pack: justify;
				    -ms-flex-pack: justify;
				        justify-content: space-between;
				padding: 16px 24px;
				width: 100%;
			}

	.mega-menu-dropdown {
		background: #ffffff;
		background: var(--nav-white, #ffffff);
		border-radius: 0;
		-webkit-box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
		        box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.1);
		left: 0;
		min-width: 100%;
		opacity: 1;
		position: static;
		-webkit-transform: none;
		        transform: none;
		visibility: visible;
	}

	.has-mega-menu:hover .mega-menu-dropdown,
	.has-mega-menu:focus-within .mega-menu-dropdown {
		-webkit-transform: none;
		        transform: none;
	}

	.mega-menu-content {
		grid-template-columns: 1fr;
		padding: 16px 24px;
	}

	.mega-menu-links {
		gap: 8px;
		grid-template-columns: 1fr;
	}

	.mega-menu-item {
		border-radius: 4px;
		padding: 12px;
	}
}

/* ==========================================================================
   Container Query Fallbacks - for browsers without container query support
   ========================================================================== */

@supports not (container-type: inline-size) {
	/* Fallback to viewport-based media queries */
	@media (max-width: 900px) {
		.mega-menu-dropdown {
			min-width: 400px;
		}

		.mega-menu-content {
			padding: 24px;
		}

		.mega-menu-links {
			grid-template-columns: 1fr;
			padding-right: 24px;
		}
	}

	@media (max-width: 600px) {
		.mega-menu-dropdown {
			left: 10px;
			min-width: calc(100vw - 20px);
		}

		.mega-menu-content {
			grid-template-columns: 1fr;
			padding: 20px;
		}

		.mega-menu-links {
			padding-right: 0;
		}

		.mega-menu-cta {
			border-left: none;
			border-top: 1px solid rgba(10, 163, 156, 0.1);
			margin-top: 16px;
			padding-top: 20px;
		}
	}

	@media (max-width: 35.625em) {
		.mega-nav-menu {
			-webkit-box-orient: vertical;
			-webkit-box-direction: normal;
			    -ms-flex-direction: column;
			        flex-direction: column;
			gap: 0;
			width: 100%;
		}

			.mega-nav-menu > li {
				width: 100%;
			}

				.mega-nav-menu > li > .nav-link {
					border-radius: 0;
					-webkit-box-pack: justify;
					    -ms-flex-pack: justify;
					        justify-content: space-between;
					padding: 16px 24px;
					width: 100%;
				}
	}
}

/* ==========================================================================
   Accessibility & Motion Preferences
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	.mega-menu-dropdown,
	.dropdown-indicator,
	.cta-button,
	.cta-arrow,
	.mega-navigation-block.mobile-container .mega-menu-dropdown,
	.mega-navigation-block.mobile-container .dropdown-indicator {
		-webkit-transition: none !important;
		transition: none !important;
	}
}

@media (prefers-contrast: more) {
	.mega-menu-item:hover,
	.mega-menu-item:focus {
		background: #0aa39c;
		background: var(--nav-teal, #0aa39c);
		color: #ffffff;
		color: var(--nav-white, #ffffff);
	}

		.mega-menu-item:hover .menu-item-title,.mega-menu-item:focus .menu-item-title {
			color: #ffffff;
			color: var(--nav-white, #ffffff);
		}

		.mega-menu-item:hover .menu-item-description,.mega-menu-item:focus .menu-item-description {
			color: rgba(255, 255, 255, 0.9);
		}
}

/**
 * Frontend styles for the Hyperlocology Logo block
 */

.wp-block-hyperlocology-hyperlocology-logo {
	display: inline-block;
}

.hyperlocology-logo-svg {
	display: block;
	height: auto;
	max-width: 100%;
}

@media (max-width: 768px) {
	.hyperlocology-logo-svg .logo-text {
		display: none;
	}
}

/* Responsive adjustments */

@media (max-width: 768px) {
	.hyperlocology-logo-svg {
		max-width: 140px;
	}

	/* Mobile-specific animation states */
	.hyperlocology-logo.mobile-compact .logo-text {
		opacity: 0;
	}

	.hyperlocology-logo.mobile-compact .logo-dot-2,
	.hyperlocology-logo.mobile-compact .logo-dot-3 {
		opacity: 0;
		-webkit-transform: scale(0);
		        transform: scale(0);
	}
}

/* Dynamic Page List Block */

.wp-block-hyperlocology-dynamic-page-list .wp-block-page-list {
		list-style: none;
		margin: 0;
		padding: 0;
	}

.wp-block-hyperlocology-dynamic-page-list h4 {
		margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		margin-bottom: var(--wp--preset--spacing--base);
	}

.wp-block-hyperlocology-dynamic-page-list a {
		padding: 0;
		-webkit-text-decoration: none;
		text-decoration: none;
		-webkit-transition:
			color 0.2s ease-in-out, -webkit-text-decoration 0.2s ease-in-out;
		transition:
			color 0.2s ease-in-out, -webkit-text-decoration 0.2s ease-in-out;
		transition:
			color 0.2s ease-in-out, text-decoration 0.2s ease-in-out;
		transition:
			color 0.2s ease-in-out, text-decoration 0.2s ease-in-out, -webkit-text-decoration 0.2s ease-in-out;
	}

.wp-block-hyperlocology-dynamic-page-list a:hover,.wp-block-hyperlocology-dynamic-page-list a:focus {
			color: #0aa39c;
			color: var(--wp--preset--color--primary);
			-webkit-text-decoration: underline;
			text-decoration: underline;
		}

.wp-block-hyperlocology-dynamic-page-list li {
		padding-bottom: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
		padding-bottom: var(--wp--preset--spacing--xs);
	}

.wp-block-hyperlocology-dynamic-page-list li a {
			font-size: var(--wp--preset--font-size--small);
			font-weight: 300;
			line-height: 1.2;
			margin-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
			margin-bottom: var(--wp--preset--spacing--sm);
		}

/* Editor styles */

.block-editor-help {
	background: #f0f0f0;
	border-radius: 4px;
	color: #666666;
	font-style: italic;
	padding: 1rem;
}

.block-editor-warning {
	background: #fff3cd;
	border: 1px solid #ffeaa7;
	border-radius: 4px;
	color: #856404;
	padding: 1rem;
}

/* ================================================
 * Copyright Block
 * ================================================ */

.copyright-block {
	font-size: clamp(0.625rem, 0.55rem + 0.375vw, 0.75rem);
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 300;
	line-height: 1.2;
}

/* Platform Showcase Block Frontend Styles */

.wp-block-hyperlocology-platform-showcase {
	margin: 40px 0;
	padding: 0;
}

.platform-showcase-responsive {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	width: 100%;
}

.platform-showcase-desktop,
.platform-showcase-tablet,
.platform-showcase-mobile {
	height: auto;
	max-width: 100%;
	width: auto;
}

/* Default: Show desktop image */

.platform-showcase-desktop {
	display: block;
}

.platform-showcase-tablet {
	display: none;
}

.platform-showcase-mobile {
	display: none;
}

/* Tablet: Show tablet image, hide others */

@media (max-width: 1199px) and (min-width: 768px) {
	.platform-showcase-desktop {
		display: none;
	}

	.platform-showcase-tablet {
		display: block;
	}

	.platform-showcase-mobile {
		display: none;
	}
}

/* Mobile: Show mobile image, hide others */

@media (max-width: 767px) {
	.wp-block-hyperlocology-platform-showcase {
		margin: 20px 0;
	}

	.platform-showcase-desktop {
		display: none;
	}

	.platform-showcase-tablet {
		display: none;
	}

	.platform-showcase-mobile {
		display: block;
	}
}

/* Fallback: If only one image is provided, show it on all screen sizes */

.platform-showcase-responsive:has(.platform-showcase-desktop:only-child)
	.platform-showcase-desktop,
.platform-showcase-responsive:has(.platform-showcase-tablet:only-child)
	.platform-showcase-tablet,
.platform-showcase-responsive:has(.platform-showcase-mobile:only-child)
	.platform-showcase-mobile {
	display: block !important;
}

/* If desktop is missing but tablet exists, show tablet on desktop */

.platform-showcase-responsive:not(:has(.platform-showcase-desktop)):has(
		.platform-showcase-tablet
	)
	.platform-showcase-tablet {
	display: block;
}

/* If both desktop and tablet are missing, show mobile on all sizes */

.platform-showcase-responsive:not(:has(.platform-showcase-desktop)):not(
		:has(.platform-showcase-tablet)
	)
	.platform-showcase-mobile {
	display: block !important;
}

/* Trust Bar Block Styles */

.wp-block-hyperlocology-trust-bar {
	--animation-speed: 30s;
	--logo-height: 60px;
	--spacing: 4rem;
	--gradient-width: 100px;

	overflow: hidden;
	padding: 2rem 0;
}

.trust-bar-container {
	max-width: 100vw;
	position: relative;
	width: 100%;
}

.trust-bar-mask {
	/* Gradient mask for smooth edges */
	-webkit-mask-image: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(0, transparent),
		color-stop(black),
		color-stop(black),
		to(transparent)
	);
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0,
		black var(--gradient-width),
		black calc(100% - var(--gradient-width)),
		transparent 100%
	);
	mask-image: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(0, transparent),
		color-stop(black),
		color-stop(black),
		to(transparent)
	);
	mask-image: linear-gradient(
		to right,
		transparent 0,
		black var(--gradient-width),
		black calc(100% - var(--gradient-width)),
		transparent 100%
	);
	overflow: hidden;
	position: relative;
}

.trust-bar-track {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-animation: scroll-horizontal var(--animation-speed) linear infinite;
	        animation: scroll-horizontal var(--animation-speed) linear infinite;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: var(--spacing);
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

/* Pause animation on hover if enabled */

.trust-bar-container.pause-on-hover:hover .trust-bar-track {
	-webkit-animation-play-state: paused;
	        animation-play-state: paused;
}

.trust-bar-logo {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	height: var(--logo-height);
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-width: var(--logo-height);
}

.trust-bar-logo img {
	-webkit-filter: grayscale(1) opacity(0.7);
	        filter: grayscale(1) opacity(0.7);
	height: auto;
	max-height: 100%;
	max-width: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
	-webkit-transition: -webkit-filter 0.3s ease;
	transition: -webkit-filter 0.3s ease;
	transition: filter 0.3s ease;
	transition: filter 0.3s ease, -webkit-filter 0.3s ease;
	width: auto;
}

.trust-bar-logo:hover img {
	-webkit-filter: grayscale(0) opacity(1);
	        filter: grayscale(0) opacity(1);
}

/* Keyframes for infinite scroll */

@-webkit-keyframes scroll-horizontal {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}

@keyframes scroll-horizontal {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}

/* Responsive adjustments */

@media (max-width: 768px) {
	.wp-block-hyperlocology-trust-bar {
		--gradient-width: 50px;
		--spacing: 2rem;
		padding: 1.5rem 0;
	}

	.trust-bar-logo {
		min-width: calc(var(--logo-height) * 0.8);
	}
}

@media (max-width: 480px) {
	.wp-block-hyperlocology-trust-bar {
		--gradient-width: 30px;
		--spacing: 1.5rem;
		padding: 1rem 0;
	}
}

/* Reduce motion for accessibility */

@media (prefers-reduced-motion: reduce) {
	.trust-bar-track {
		-webkit-animation: none;
		        animation: none;
	}

	.trust-bar-mask {
		-ms-overflow-style: none;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.trust-bar-mask::-webkit-scrollbar {
		display: none;
	}
}

/* Focus styles for accessibility */

.trust-bar-logo:focus-within {
	outline: 2px solid currentcolor;
	outline-offset: 2px;
}

/* Channel Carousel Block */

.channel-carousel {
	--animation-speed: 30s;
	--item-height: 120px;
	--item-spacing: 2rem;

	overflow: hidden;
	padding: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem) 0;
	padding: var(--wp--preset--spacing--xl) 0;
	position: relative;
	width: 100%;
}

.channel-carousel-wrapper {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 2rem;
}

.channel-carousel-row {
	overflow: hidden;
	position: relative;
	width: 100%;
}

.channel-carousel-container {
	height: var(--item-height);
	position: relative;
	width: 100%;
}

.channel-carousel-mask {
	height: 100%;
	-webkit-mask-image: -webkit-gradient(
		linear,
		left top, right top,
		from(transparent),
		color-stop(5%, black),
		color-stop(95%, black),
		to(transparent)
	);
	-webkit-mask-image: linear-gradient(
		to right,
		transparent,
		black 5%,
		black 95%,
		transparent
	);
	mask-image: -webkit-gradient(
		linear,
		left top, right top,
		from(transparent),
		color-stop(5%, black),
		color-stop(95%, black),
		to(transparent)
	);
	mask-image: linear-gradient(
		to right,
		transparent,
		black 5%,
		black 95%,
		transparent
	);
	overflow: hidden;
	position: relative;
	width: 100%;
}

.channel-carousel-track {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: var(--item-spacing);
	height: 100%;
	width: -webkit-max-content;
	width: -moz-max-content;
	width: max-content;
	will-change: transform;
}

/* Animation for left direction (top row) */

.channel-carousel-row.left .channel-carousel-track {
	-webkit-animation: marquee-left var(--animation-speed) linear infinite;
	        animation: marquee-left var(--animation-speed) linear infinite;
}

/* Animation for right direction (bottom row) */

.channel-carousel-row.right .channel-carousel-track {
	-webkit-animation: marquee-right var(--animation-speed) linear infinite;
	        animation: marquee-right var(--animation-speed) linear infinite;
}

@-webkit-keyframes marquee-left {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}

@keyframes marquee-left {
	0% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}

	100% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}
}

@-webkit-keyframes marquee-right {
	0% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}

	100% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

@keyframes marquee-right {
	0% {
		-webkit-transform: translateX(-50%);
		        transform: translateX(-50%);
	}

	100% {
		-webkit-transform: translateX(0);
		        transform: translateX(0);
	}
}

/* Pause on hover */

.channel-carousel-container.pause-on-hover:hover .channel-carousel-track {
	-webkit-animation-play-state: paused;
	        animation-play-state: paused;
}

/* Channel Item Styling */

.channel-carousel-item {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	height: 100%;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-width: 200px;
	position: relative;
}

.channel-item-link {
	color: inherit;
	display: block;
	height: 100%;
	-webkit-text-decoration: none;
	text-decoration: none;
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
	width: 100%;
}

.channel-item-link:hover {
	-webkit-transform: scale(1.05);
	        transform: scale(1.05);
}

.channel-item-content {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background: #ffffff;
	border: 1px solid #e0e0e0;
	border-radius: 12px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	height: 100%;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	padding: 1rem;
	text-align: center;
	-webkit-transition: -webkit-box-shadow 0.2s ease;
	transition: -webkit-box-shadow 0.2s ease;
	transition: box-shadow 0.2s ease;
	transition: box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
	width: 100%;
}

.channel-item-image {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 auto;
	        flex: 0 0 auto;
	margin-bottom: 0.5rem;
}

.channel-item-image img {
	display: block;
	height: 30px;
	max-width: 80px;
	-o-object-fit: contain;
	   object-fit: contain;
	width: auto;
}

.channel-item-text {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-height: 0;
}

.channel-item-title {
	color: #003044;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 0.25rem 0;
}

.channel-item-description {
	color: #666666;
	font-size: 0.875rem;
	line-height: 1.3;
	margin: 0;
}

/* Responsive Design */

@media (max-width: 768px) {
	.channel-carousel-wrapper {
		gap: 1.5rem;
	}

	.channel-carousel-item {
		min-width: 180px;
	}

	.channel-item-content {
		padding: 0.75rem;
	}

	.channel-item-image img {
		height: 32px;
		max-width: 60px;
	}

	.channel-item-title {
		font-size: 0.875rem;
	}

	.channel-item-description {
		font-size: 0.75rem;
	}
}

@media (max-width: 480px) {
	.channel-carousel-item {
		min-width: 160px;
	}

	.channel-item-content {
		padding: 0.5rem;
	}

	.channel-item-image img {
		height: 28px;
		max-width: 50px;
	}
}

/* High contrast mode support */

@media (prefers-contrast: more) {
	.channel-item-content {
		background: #ffffff;
		border: 2px solid #000000;
	}

	.channel-item-title {
		color: #000000;
	}

	.channel-item-description {
		color: #333333;
	}
}

/* Reduced motion support */

@media (prefers-reduced-motion: reduce) {
	.channel-carousel-track {
		-webkit-animation: none;
		        animation: none;
	}
}

/* ==========================================================================
   Features Hero Section Block Pattern Styles
   ========================================================================== */

.features-hero-section {
	overflow: hidden;
	position: relative;
}

.features-hero-section.wp-block-columns {
		display: grid;
		grid-gap: 0;
		gap: 0;
		grid-template-columns: 1fr;
	}

@media (min-width: 64em) {

.features-hero-section.wp-block-columns {
			grid-template-columns: 2fr 3fr;
	}
		}

.features-hero-section.wp-block-columns .wp-block-column:first-child {
			border-radius: 20px 0 0 20px;
			overflow: hidden;
			padding: clamp(0.75rem, 0.75rem + 4vw, 4.25rem) clamp(0.75rem, 0.75rem + 3vw, 3.25rem)
				clamp(0.75rem, 0.75rem + 5vw, 5.25rem) clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
			padding: var(--wp--preset--spacing--4xl) var(--wp--preset--spacing--2xl)
				var(--wp--preset--spacing--6xl) var(--wp--preset--spacing--2xl);
			position: relative;
		}

.features-hero-section.wp-block-columns .wp-block-column:first-child::after {
				background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 378 157%27%3E %3Cg opacity=%27.1%27%3E %3Cpath fill=%27%230AA39C%27 d=%27M21.568 28.462h124.784v15.28H21.568z%27/%3E %3Cellipse cx=%27-1.347%27 cy=%2736.101%27 fill=%27%230AA39C%27 rx=%2735.653%27 ry=%2735.652%27/%3E %3Cellipse cx=%2783.963%27 cy=%2736.101%27 fill=%27%230AA39C%27 rx=%2735.653%27 ry=%2735.652%27/%3E %3Cellipse cx=%27170.547%27 cy=%2736.101%27 fill=%27%230AA39C%27 rx=%2735.653%27 ry=%2735.652%27/%3E %3C/g%3E %3Cpath fill=%27%230AA39C%27 d=%27M170.547 93.043c17.068 0 31.331 11.994 34.829 28.013h15.559c3.497-16.018 17.761-28.012 34.829-28.012 17.067 0 31.331 11.994 34.829 28.012h16.924c3.497-16.018 17.761-28.012 34.829-28.012 19.69 0 35.652 15.962 35.652 35.652s-15.962 35.652-35.652 35.652c-17.068 0-31.332-11.994-34.829-28.013h-16.924c-3.498 16.019-17.761 28.013-34.829 28.013s-31.332-11.994-34.829-28.013h-15.559c-3.498 16.019-17.761 28.012-34.829 28.012l-.01-.001-.084.002c-17.068 0-31.332-11.994-34.829-28.013h-16.831c-3.498 16.019-17.762 28.013-34.83 28.013-17.068 0-31.332-11.994-34.83-28.013H33.482c-3.497 16.019-17.761 28.012-34.829 28.012-19.69 0-35.652-15.961-35.652-35.651 0-19.69 15.962-35.653 35.652-35.653 17.068 0 31.332 11.994 34.83 28.013h15.652c3.497-16.019 17.761-28.013 34.829-28.013s31.333 11.994 34.83 28.013h16.831c3.498-16.018 17.762-28.012 34.829-28.012h.094Z%27 opacity=%27.1%27/%3E %3C/svg%3E");
				background-repeat: no-repeat;
				bottom: 0;
				content: "";
				display: block;
				height: 100%;
				left: 0;
				max-height: 163px;
				max-width: 415px;
				position: absolute;
				width: 100%;
				z-index: 1;
			}

.features-hero-section.wp-block-columns .wp-block-column:last-child {
			background-color: rgba(10, 163, 156, 0.1);
			background-color: var(--wp--preset--color--accent);
			border-radius: 0 20px 20px 0;
		}

.features-hero-section .wp-block-media-text {
		gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
		gap: var(--wp--preset--spacing--md);
		grid-template-columns: 2fr 3fr;
	}

@media (min-width: 64em) {

.features-hero-section .wp-block-media-text {
			gap: 0;
	}
		}

.features-hero-section .wp-block-media-text img {
			aspect-ratio: 16/9;
			-o-object-fit: contain;
			   object-fit: contain;
			width: 100%;
		}

.demo-cta {
	-webkit-transition: background-color 0.3s ease;
	transition: background-color 0.3s ease;
}

.demo-cta > * {
		-webkit-transition:
			background-color 0.3s ease, color 0.3s ease;
		transition:
			background-color 0.3s ease, color 0.3s ease;
	}

.demo-cta > .has-primary-accent-background-color:first-child:hover {
				background-color: #003044 !important;
				background-color: var(--wp--preset--color--secondary) !important;
				color: #ffffff;
				color: var(--wp--preset--color--base);
			}

.demo-cta > .has-primary-accent-background-color:first-child:focus {
				background-color: #003044 !important;
				background-color: var(--wp--preset--color--secondary) !important;
				color: #ffffff;
				color: var(--wp--preset--color--base);
			}

.demo-cta > .has-primary-accent-background-color:first-child:focus-within {
				background-color: #003044 !important;
				background-color: var(--wp--preset--color--secondary) !important;
				color: #ffffff;
				color: var(--wp--preset--color--base);
			}

.demo-cta > :first-child:hover .btn-primary {
				background: #0aa39c;
				background: var(--btn-primary-hover-bg);
			}

.demo-cta > :first-child:focus .btn-primary {
				background: #0aa39c;
				background: var(--btn-primary-hover-bg);
			}

.demo-cta > :first-child:focus-within .btn-primary {
				background: #0aa39c;
				background: var(--btn-primary-hover-bg);
			}

.demo-cta > :first-child:hover .btn-primary .btn-text {
					color: #ffffff;
					color: var(--btn-primary-hover-text);
					-webkit-transform: translateX(calc(3.25em * -0.75));
					        transform: translateX(calc(3.25em * -0.75));
					-webkit-transform: translateX(calc(var(--btn-primary-height) * -0.75));
					        transform: translateX(calc(var(--btn-primary-height) * -0.75));
				}

.demo-cta > :first-child:focus .btn-primary .btn-text {
					color: #ffffff;
					color: var(--btn-primary-hover-text);
					-webkit-transform: translateX(calc(3.25em * -0.75));
					        transform: translateX(calc(3.25em * -0.75));
					-webkit-transform: translateX(calc(var(--btn-primary-height) * -0.75));
					        transform: translateX(calc(var(--btn-primary-height) * -0.75));
				}

.demo-cta > :first-child:focus-within .btn-primary .btn-text {
					color: #ffffff;
					color: var(--btn-primary-hover-text);
					-webkit-transform: translateX(calc(3.25em * -0.75));
					        transform: translateX(calc(3.25em * -0.75));
					-webkit-transform: translateX(calc(var(--btn-primary-height) * -0.75));
					        transform: translateX(calc(var(--btn-primary-height) * -0.75));
				}

.demo-cta > :first-child:hover .btn-primary .btn-icon {
					left: calc(100% - 3.25em);
					left: calc(100% - var(--btn-primary-height));
					-webkit-transform: translateX(0);
					        transform: translateX(0);
				}

.demo-cta > :first-child:focus .btn-primary .btn-icon {
					left: calc(100% - 3.25em);
					left: calc(100% - var(--btn-primary-height));
					-webkit-transform: translateX(0);
					        transform: translateX(0);
				}

.demo-cta > :first-child:focus-within .btn-primary .btn-icon {
					left: calc(100% - 3.25em);
					left: calc(100% - var(--btn-primary-height));
					-webkit-transform: translateX(0);
					        transform: translateX(0);
				}

.demo-cta > :first-child:hover .btn-primary .btn-icon svg {
					-webkit-transform: rotate(45deg);
					        transform: rotate(45deg);
				}

.demo-cta > :first-child:focus .btn-primary .btn-icon svg {
					-webkit-transform: rotate(45deg);
					        transform: rotate(45deg);
				}

.demo-cta > :first-child:focus-within .btn-primary .btn-icon svg {
					-webkit-transform: rotate(45deg);
					        transform: rotate(45deg);
				}

.demo-cta .wp-block-group.is-layout-grid {
		gap: clamp(0.75rem, 0.75rem + 5vw, 5.25rem);
		gap: var(--wp--preset--spacing--6xl);
		grid-template-columns: 1fr;
	}

@media (min-width: 64em) {

.demo-cta .wp-block-group.is-layout-grid {
			grid-template-columns: 3fr 1fr;
	}
		}

.demo-cta .has-primary-accent-background-color {
		padding-left: clamp(0.75rem, 0.75rem + 3vw, 3.25rem) !important;
		padding-left: var(--wp--preset--spacing--2xl) !important;
		padding-right: clamp(0.75rem, 0.75rem + 3vw, 3.25rem) !important;
		padding-right: var(--wp--preset--spacing--2xl) !important;
	}

@media (min-width: 64em) {

.demo-cta .has-primary-accent-background-color {
			padding-left: clamp(0.75rem, 0.75rem + 5vw, 5.25rem) !important;
			padding-left: var(--wp--preset--spacing--6xl) !important;
			padding-right: clamp(0.75rem, 0.75rem + 5vw, 5.25rem) !important;
			padding-right: var(--wp--preset--spacing--6xl) !important;
	}
		}

/* Resources Feed Pattern Styles */

/* Layout-specific styles for the resources feed pattern */

/* Card styling is now handled by the unified cards component */

.resources-feed-query {
	width: 100%;
}

.resources-feed-posts {
	display: grid;
	grid-gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
	grid-gap: var(--wp--preset--spacing--2xl);
	gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
	gap: var(--wp--preset--spacing--2xl);
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.resources-feed-posts .wp-block-post {
		margin-bottom: 0 !important;
		margin-top: 0;
	}

.resources-feed-posts a {
		color: var(--wp-preset-color-primary);
	}

.resources-feed-posts a:hover,.resources-feed-posts a:focus {
			color: var(--wp-preset-color-primary);
			-webkit-text-decoration: underline;
			text-decoration: underline;
		}

/* Responsive Design */

@media (max-width: 768px) {
	.resources-feed-posts {
		gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
		gap: var(--wp--preset--spacing--2xl);
	}
}

/**
 * Customer Story Card Block Styles
 * Main entry point for customer story card styles
 * 
 * @package Hyperlocology\Blocks
 */

.customer-story-card {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border: 2px solid #e5e5e5;
	border: 2px solid var(--wp--preset--color--neutral-200);
	border-radius: 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	height: 100%;
	padding: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	padding: var(--wp--preset--spacing--lg);
}

@media (min-width: 64em) {

.customer-story-card {
		gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		gap: var(--wp--preset--spacing--base);
		grid-template-columns: 1.5fr 3fr;
}
	}

.customer-story-card .customer-story-card__content-header {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		gap: var(--wp--preset--spacing--base);
		-webkit-box-pack: justify;
		    -ms-flex-pack: justify;
		        justify-content: space-between;
		padding-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		padding-bottom: var(--wp--preset--spacing--base);
	}

@media (min-width: 64em) {

.customer-story-card .customer-story-card__content-header {
			-webkit-box-orient: horizontal;
			-webkit-box-direction: normal;
			    -ms-flex-direction: row;
			        flex-direction: row;
			gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
			gap: var(--wp--preset--spacing--base);
	}
		}

.customer-story-card .customer-story-card__rating .star {
			color: #0aa39c;
			color: var(--wp--preset--color--primary);
		}

.customer-story-card .customer-story-card__image {
		justify-self: center;
	}

.customer-story-card .customer-story-card__image img {
			aspect-ratio: 1 / 1;
			border-radius: 20px;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

.customer-story-card .customer-story-card__logo {
		max-width: 100px;
	}

.customer-story-card .customer-story-card__logo img {
			max-width: 100%;
		}

.customer-story-card .customer-story-card__quote {
		-webkit-box-orient: vertical;
		display: -webkit-box;
		-webkit-box-flex: 1;
		    -ms-flex: 1;
		        flex: 1;
		-ms-hyphens: auto;
		hyphens: auto;
		-webkit-line-clamp: 4;
		line-clamp: 4;
		margin-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
		margin-bottom: var(--wp--preset--spacing--base);
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: normal;
		word-wrap: break-word;
	}

.customer-story-card .customer-story-card__content-inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
		gap: var(--wp--preset--spacing--md);
	}

@media (min-width: 64em) {

.customer-story-card .customer-story-card__content-inner {
			-webkit-box-align: end;
			    -ms-flex-align: end;
			        align-items: flex-end;
			-webkit-box-orient: horizontal;
			-webkit-box-direction: normal;
			    -ms-flex-direction: row;
			        flex-direction: row;
			-webkit-box-pack: justify;
			    -ms-flex-pack: justify;
			        justify-content: space-between;
	}
		}

.customer-story-card .customer-story-card__info {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}

.customer-story-card .customer-story-card__info .customer-story-card__name,.customer-story-card .customer-story-card__info .customer-story-card__position {
			margin-bottom: 0;
		}

.customer-story-card .customer-story-card__actions {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		min-width: 37%;
	}

.customer-story-card .customer-story-card__actions .customer-story-card__read-more {
			-webkit-box-align: center;
			    -ms-flex-align: center;
			        align-items: center;
			color: #003044;
			color: var(--wp--preset--color--secondary);
			display: -webkit-box;
			display: -ms-flexbox;
			display: flex;
			font-weight: 700;
			gap: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
			gap: var(--wp--preset--spacing--xs);
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.customer-story-card .customer-story-card__actions .customer-story-card__read-more:hover,.customer-story-card .customer-story-card__actions .customer-story-card__read-more:focus {
				-webkit-text-decoration: underline;
				text-decoration: underline;
			}

/* Placeholder styles for missing images */

.customer-story-card .customer-story-card__image-placeholder {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background: #e5e5e5;
		border: 2px dashed #cccccc;
		border-radius: 4px;
		color: #666666;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 0.9rem;
		height: 150px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 100%;
	}

.customer-story-card .customer-story-card__logo-placeholder {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background: #e5e5e5;
		border: 2px dashed #cccccc;
		border-radius: 4px;
		color: #666666;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 0.8rem;
		height: 30px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: 80px;
	}

.page-hero::after {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAzNzMgNDE3Ij4KICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTM2LjM3MyAxMDUuMjAzaDk3LjQxVjBoOTMuNTE0djI4NC40MzhoLTkzLjUxNFYxNzkuMjM1aC05Ny40MXYxMDUuMjAzSDQyLjg1OVYwaDkzLjUxNHYxMDUuMjAzWk04OS42MTcgMzUwLjY3N2gxOTAuOTI0djIzLjM3OEg4OS42MTd6Ii8+CiAgPGNpcmNsZSBjeD0iNTQuNTUiIGN5PSIzNjIuMzY2IiByPSI1NC41NSIgZmlsbD0iI2ZmZiIvPgogIDxjaXJjbGUgY3g9IjE4NS4wNzkiIGN5PSIzNjIuMzY2IiByPSI1NC41NSIgZmlsbD0iI2ZmZiIvPgogIDxjaXJjbGUgY3g9IjMxNy41NTgiIGN5PSIzNjIuMzY2IiByPSI1NC41NSIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4=);
		bottom: -20px;
		content: "";
		display: block;
		height: 416px;
		opacity: 0.05;
		position: absolute;
		right: -15px;
		width: 372px;
		z-index: 1;
	}

.page-hero:has(.page-hero__content > .page-hero__image:first-child)::after {
			left: -15px;
			right: auto;
		}

.page-hero:has(.page-hero__content > .wp-block-video:first-child)::after {
			left: -15px;
			right: auto;
		}

.page-hero:has(.page-hero__content > .wp-block-image:first-child)::after {
			left: -15px;
			right: auto;
		}

.page-hero:has(.page-hero__content > .wp-block-video:first-child) .wp-block-cover__inner-container {
			padding-left: 0;
			padding-right: 0;
		}

.page-hero:has(.page-hero__content > .wp-block-video:first-child) .page-hero__content {
			gap: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
			gap: var(--wp--preset--spacing--2xl);
		}

@media (min-width: 48em) {

.page-hero:has(.page-hero__content > .wp-block-video:first-child) .page-hero__content {
				grid-template-columns: 1fr 1fr;
		}
			}

.page-hero .page-hero__image,.page-hero .wp-block-video,.page-hero .wp-block-image {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		border-radius: 20px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-o-object-fit: cover;
		   object-fit: cover;
		overflow: hidden;
		width: 100%;
	}

.page-hero .page-hero__image img,.page-hero .wp-block-video img,.page-hero .wp-block-image img,.page-hero .page-hero__image picture,.page-hero .wp-block-video picture,.page-hero .wp-block-image picture,.page-hero .page-hero__image video,.page-hero .wp-block-video video,.page-hero .wp-block-image video {
			height: 100%;
			-o-object-fit: cover;
			   object-fit: cover;
			width: 100%;
		}

.page-hero .page-hero__image,.page-hero .wp-block-image {
		aspect-ratio: 1 / 1;
		max-width: 450px;
	}

.page-hero .wp-block-video {
		aspect-ratio: 600 / 469;
	}

.page-hero .page-hero__category {
		background-color: #ffffff;
		background-color: var(--wp--preset--color--white);
		border-radius: 20px;
		color: #003044;
		color: var(--wp--preset--color--secondary);
		display: block;
		float: left;
		font-size: clamp(0.75rem, 0.65rem + 0.5vw, 0.875rem);
		font-size: var(--wp--preset--font-size--sm);
		padding: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
		padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--sm);
		text-align: left;
	}

.page-hero .page-hero__category:only-child {
			margin-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
			margin-bottom: var(--wp--preset--spacing--sm);
		}

.page-hero .page-hero__category > :not(:first-child) {
			display: none;
		}

.page-hero .page-hero__category > span {
			display: none;
		}

.page-hero .page-hero__category a {
			color: #003044;
			color: var(--wp--preset--color--secondary);
			-webkit-text-decoration: none;
			text-decoration: none;
		}

.page-hero .page-hero__title {
		clear: both;
		text-align: left;
	}

.page-hero .page-hero__content {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		display: grid;
		grid-gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
		grid-gap: var(--wp--preset--spacing--md);
		gap: clamp(1rem, 1rem + 1.5vw, 1.75rem);
		gap: var(--wp--preset--spacing--md);
		grid-template-columns: 1fr;
	}

.page-hero .page-hero__content p {
			text-align: left;
		}

@media (min-width: 48em) {

.page-hero .page-hero__content:has( > .page-hero__image:first-child) {
				grid-template-columns: 2fr 3fr;
		}
			}

@media (min-width: 48em) {

.page-hero .page-hero__content {
			grid-template-columns: 3fr 2fr;
	}
		}

.cb-carousel-block {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	    -ms-flex-direction: row;
	        flex-direction: row;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	gap: var(--wp--preset--spacing--base);
	-webkit-box-pack: end;
	    -ms-flex-pack: end;
	        justify-content: flex-end;
}

.cb-carousel-block .cb-button-prev,.cb-carousel-block .cb-button-next {
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		background-color: transparent;
		border: 2px solid #e1e1e1;
		border-radius: 120px;
		color: #0aa39c;
		color: var(--wp--preset--color--primary);
		cursor: pointer;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 50px;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		margin: 0;
		padding: 10px;
		position: relative;
		right: 0;
		top: 0;
		-webkit-transition: all 0.3s ease;
		transition: all 0.3s ease;
		width: 60px;
	}

.cb-carousel-block .cb-button-prev:hover,.cb-carousel-block .cb-button-next:hover,.cb-carousel-block .cb-button-prev:focus,.cb-carousel-block .cb-button-next:focus {
			background-color: #0aa39c;
			background-color: var(--wp--preset--color--primary);
			border-color: #0aa39c;
			border-color: var(--wp--preset--color--primary);
			color: #ffffff;
			color: var(--wp--preset--color--white);
		}

/* Add gap between navigation buttons */

.cb-carousel-block .cb-button-prev {
		margin-right: 10px;
	}

.cb-carousel-block .swiper {
		-ms-flex-preferred-size: 100%;
		    flex-basis: 100%;
	}

/* Ensure buttons are displayed inline */

.cb-carousel-block .swiper-button-prev,.cb-carousel-block .swiper-button-next {
		left: auto;
		margin: 0;
		position: relative;
		right: auto;
		top: auto;
		-webkit-transform: none;
		        transform: none;
	}

.cb-carousel-block .swiper-button-prev::after {
			background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M5 11.1982L10 6.19824L5 1.19824%27 stroke=%27%23003044%27 stroke-width=%272%27/%3E%3Cpath d=%27M10 6.19824L0 6.19824%27 stroke=%27%23003044%27 stroke-width=%272%27/%3E%3C/svg%3E%0A");
			background-position: center;
			content: "";
			height: 0.625rem;
			width: 0.625rem;
		}

.cb-carousel-block .swiper-button-next::after {
			background-image: url("data:image/svg+xml,%3Csvg width=%2712%27 height=%2712%27 viewBox=%270 0 12 12%27 fill=%27none%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cpath d=%27M5 11.1982L10 6.19824L5 1.19824%27 stroke=%27%23003044%27 stroke-width=%272%27/%3E%3Cpath d=%27M10 6.19824L0 6.19824%27 stroke=%27%23003044%27 stroke-width=%272%27/%3E%3C/svg%3E%0A");
			background-position: center;
			content: "";
			height: 0.625rem;
			width: 0.625rem;
		}

.cb-carousel-block .swiper-button-prev::after {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}

/**
 * Post Feed Block Styles
 * Styles for the post feed custom block
 */

.post-feed-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1rem;
	-webkit-box-pack: justify;
	    -ms-flex-pack: justify;
	        justify-content: space-between;
	padding-bottom: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
	padding-bottom: var(--wp--preset--spacing--4xl);
}

.post-feed-header .wp-block-heading {
		margin: 0;
	}

.post-feed-filters {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 0.5rem;
	-webkit-box-pack: start;
	    -ms-flex-pack: start;
	        justify-content: flex-start;
}

.post-feed-filters .wp-block-button.is-style-outline {
			width: auto;
		}

.post-feed-filters .wp-block-button.is-style-outline .wp-block-button__link {
				background-color: transparent;
				border: 1.5px solid #e0e0e0;
				border: 1.5px solid var(--wp--preset--color--base-3);
				cursor: pointer;
				display: block;
				padding: 0.5rem 1rem;
				-webkit-transition: all 0.3s ease;
				transition: all 0.3s ease;
			}

.post-feed-filters .wp-block-button.is-style-outline .wp-block-button__link::after {
					display: none;
				}

.post-feed-filters .wp-block-button.is-style-outline .wp-block-button__link:hover,.post-feed-filters .wp-block-button.is-style-outline .wp-block-button__link:focus {
					background-color: var(--wp--preset--color--primary-accent);
				}

.post-feed-filters .wp-block-button.is-style-outline .wp-block-button__link.is-active {
					background-color: #0aa39c;
					background-color: var(--wp--preset--color--primary);
					border-color: #0aa39c;
					border-color: var(--wp--preset--color--primary);
					color: #ffffff;
					color: var(--wp--preset--color--base);
				}

.post-feed-block .post-feed-list {
		display: grid;
		grid-gap: 1rem;
		gap: 1rem;
		grid-template-columns: 1fr;
		-webkit-transition: opacity 0.3s ease;
		transition: opacity 0.3s ease;
	}

@media (min-width: 48em) {

.post-feed-block .post-feed-list {
			grid-template-columns: repeat(auto-fill, minmax(378px, 1fr));
	}
		}

.post-feed-block picture,.post-feed-block img {
		height: 100%;
		max-width: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
	}

/* Loading and error states */

.post-feed-list.is-loading {
		opacity: 0.6;
		pointer-events: none;
	}

.post-feed-list .no-posts-message,.post-feed-list .error-message {
		color: #f7f7f7;
		color: var(--wp--preset--color--base-2);
		font-style: italic;
		grid-column: 1 / -1;
		padding: 2rem;
		text-align: center;
	}

.post-feed-list .error-message {
		color: #dc2626;
		color: var(--wp--preset--color--error, #dc3545);
	}

.post-card-skeleton {
	background: #ffffff;
	background: var(--wp--preset--color--base);
	border-radius: 8px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 1rem;
	overflow: hidden;
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.skeleton-image {
	-webkit-animation: skeleton-shimmer 1.5s infinite;
	        animation: skeleton-shimmer 1.5s infinite;
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, #e0e0e0),
		color-stop(50%, #f7f7f7),
		color-stop(75%, #e0e0e0)
	);
	background: linear-gradient(
		90deg,
		#e0e0e0 25%,
		#f7f7f7 50%,
		#e0e0e0 75%
	);
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, var(--wp--preset--color--base-3)),
		color-stop(50%, var(--wp--preset--color--base-2)),
		color-stop(75%, var(--wp--preset--color--base-3))
	);
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--base-3) 25%,
		var(--wp--preset--color--base-2) 50%,
		var(--wp--preset--color--base-3) 75%
	);
	background-size: 200% 100%;
	height: 200px;
	width: 100%;
}

.skeleton-title {
	-webkit-animation: skeleton-shimmer 1.5s infinite;
	        animation: skeleton-shimmer 1.5s infinite;
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, #e0e0e0),
		color-stop(50%, #f7f7f7),
		color-stop(75%, #e0e0e0)
	);
	background: linear-gradient(
		90deg,
		#e0e0e0 25%,
		#f7f7f7 50%,
		#e0e0e0 75%
	);
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, var(--wp--preset--color--base-3)),
		color-stop(50%, var(--wp--preset--color--base-2)),
		color-stop(75%, var(--wp--preset--color--base-3))
	);
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--base-3) 25%,
		var(--wp--preset--color--base-2) 50%,
		var(--wp--preset--color--base-3) 75%
	);
	background-size: 200% 100%;
	border-radius: 4px;
	height: 24px;
	margin-bottom: 1rem;
	width: 100%;
}

.skeleton-excerpt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.skeleton-line {
	-webkit-animation: skeleton-shimmer 1.5s infinite;
	        animation: skeleton-shimmer 1.5s infinite;
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, #e0e0e0),
		color-stop(50%, #f7f7f7),
		color-stop(75%, #e0e0e0)
	);
	background: linear-gradient(
		90deg,
		#e0e0e0 25%,
		#f7f7f7 50%,
		#e0e0e0 75%
	);
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, var(--wp--preset--color--base-3)),
		color-stop(50%, var(--wp--preset--color--base-2)),
		color-stop(75%, var(--wp--preset--color--base-3))
	);
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--base-3) 25%,
		var(--wp--preset--color--base-2) 50%,
		var(--wp--preset--color--base-3) 75%
	);
	background-size: 200% 100%;
	border-radius: 4px;
	height: 16px;
	width: 100%;
}

.skeleton-line.skeleton-line-short {
		width: 60%;
	}

.skeleton-meta {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
	margin-top: auto;
}

.skeleton-date,
.skeleton-reading-time {
	-webkit-animation: skeleton-shimmer 1.5s infinite;
	        animation: skeleton-shimmer 1.5s infinite;
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, #e0e0e0),
		color-stop(50%, #f7f7f7),
		color-stop(75%, #e0e0e0)
	);
	background: linear-gradient(
		90deg,
		#e0e0e0 25%,
		#f7f7f7 50%,
		#e0e0e0 75%
	);
	background: -webkit-gradient(
		linear,
		left top, right top,
		color-stop(25%, var(--wp--preset--color--base-3)),
		color-stop(50%, var(--wp--preset--color--base-2)),
		color-stop(75%, var(--wp--preset--color--base-3))
	);
	background: linear-gradient(
		90deg,
		var(--wp--preset--color--base-3) 25%,
		var(--wp--preset--color--base-2) 50%,
		var(--wp--preset--color--base-3) 75%
	);
	background-size: 200% 100%;
	border-radius: 4px;
	height: 14px;
	width: 80px;
}

.skeleton-reading-time {
	width: 60px;
}

/* Skeleton shimmer animation */

@-webkit-keyframes skeleton-shimmer {
	0% {
		background-position: -200% 0;
	}

	100% {
		background-position: 200% 0;
	}
}

@keyframes skeleton-shimmer {
	0% {
		background-position: -200% 0;
	}

	100% {
		background-position: 200% 0;
	}
}

/* Loading state for the entire post feed block */

.post-feed-block.is-loading .post-feed-filters {
		opacity: 0.7;
		pointer-events: none;
	}

.post-feed-block.is-loading .post-feed-list {
		opacity: 1;
		pointer-events: none;
	}

/* Smooth transitions for content updates */

.post-feed-list .wp-block-post-template {
	-webkit-transition: opacity 0.3s ease-in-out;
	transition: opacity 0.3s ease-in-out;
}

/* Responsive adjustments for skeleton */

@media (max-width: 768px) {
	.post-feed-skeleton {
		grid-template-columns: 1fr;
	}

	.skeleton-image {
		height: 160px;
	}

	.skeleton-title {
		height: 20px;
	}

	.skeleton-line {
		height: 14px;
	}
}

/* Templates */

/* Utilities - Only Essential Classes Used in Theme */

/* ==========================================================================
	Essential Utilities - Optimized & Systematic
	Streamlined utility classes using modern CSS and logical properties
	Only includes utilities actually used in the theme
	========================================================================== */

/* 
 * Spacing Utilities - Using Logical Properties
 * Consistent system based on design tokens
 */

/* Section Spacing - Improved naming and consistency */

.has-section-spacing-xs {
	padding-top: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	padding-bottom: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem);
	padding-top: var(--wp--preset--spacing--xs);
	padding-bottom: var(--wp--preset--spacing--xs);
}

.has-section-spacing-sm {
	padding-top: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding-bottom: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	padding-top: var(--wp--preset--spacing--sm);
	padding-bottom: var(--wp--preset--spacing--sm);
}

.has-section-spacing {
	padding-top: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-bottom: clamp(0.75rem, 0.75rem + 1vw, 1.25rem);
	padding-top: var(--wp--preset--spacing--base);
	padding-bottom: var(--wp--preset--spacing--base);
}

.has-section-spacing-md {
	padding-top: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-top: var(--wp--preset--spacing--md);
	padding-bottom: var(--wp--preset--spacing--md);
}

.has-section-spacing-lg {
	padding-top: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	padding-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	padding-top: var(--wp--preset--spacing--lg);
	padding-bottom: var(--wp--preset--spacing--lg);
}

/* Maintain backward compatibility */

.has-section-spacing-small {
	padding-top: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-bottom: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	padding-top: var(--wp--preset--spacing--md);
	padding-bottom: var(--wp--preset--spacing--md);
}

/* 
 * Gap Utilities - Simplified and Consistent
 * Using logical properties and updated naming
 */

.has-gap-xs {
	gap: clamp(0.25rem, 0.25rem + 0.5vw, 0.5rem) !important;
	gap: var(--wp--preset--spacing--xs) !important;
}

.has-gap-sm {
	gap: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem) !important;
	gap: var(--wp--preset--spacing--sm) !important;
}

.has-gap {
	gap: clamp(0.75rem, 0.75rem + 1vw, 1.25rem) !important;
	gap: var(--wp--preset--spacing--base) !important;
}

.has-gap-md {
	gap: clamp(1rem, 1rem + 1.5vw, 1.75rem) !important;
	gap: var(--wp--preset--spacing--md) !important;
}

.has-gap-lg {
	gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem) !important;
	gap: var(--wp--preset--spacing--lg) !important;
}

.has-gap-xl {
	gap: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem) !important;
	gap: var(--wp--preset--spacing--xl) !important;
}

/* Maintain backward compatibility */

.has-gap-small {
	gap: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem) !important;
	gap: var(--wp--preset--spacing--sm) !important;
}

.has-gap-medium {
	gap: clamp(1rem, 1rem + 1.5vw, 1.75rem) !important;
	gap: var(--wp--preset--spacing--md) !important;
}

/* 
 * Content Flow - Enhanced spacing system
 * Using modern CSS and logical properties
 */

.is-content-flow {
	padding: 0;
}

.is-content-flow > * + * {
	margin-top: clamp(1rem, 1rem + 1.5vw, 1.75rem);
	margin-top: var(--wp--preset--spacing--md);
}

.is-content-flow-sm > * + * {
	margin-top: clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem);
	margin-top: var(--wp--preset--spacing--sm);
}

.is-content-flow-lg > * + * {
	margin-top: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
	margin-top: var(--wp--preset--spacing--lg);
}

/* 
 * Responsive Spacing Utilities
 * Using clamp() for fluid spacing where appropriate
 */

.has-fluid-spacing {
	padding-top: max(clamp(0.75rem, 0.75rem + 1vw, 1.25rem), min(4vw, clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem)));
	padding-bottom: max(clamp(0.75rem, 0.75rem + 1vw, 1.25rem), min(4vw, clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem)));
	padding-top: max(var(--wp--preset--spacing--base), min(4vw, var(--wp--preset--spacing--xl)));
	padding-bottom: max(var(--wp--preset--spacing--base), min(4vw, var(--wp--preset--spacing--xl)));
}

.has-fluid-gap {
	gap: max(clamp(0.5rem, 0.5rem + 0.75vw, 0.75rem), min(2vw, clamp(0.75rem, 0.75rem + 2vw, 2.25rem)));
	gap: max(var(--wp--preset--spacing--sm), min(2vw, var(--wp--preset--spacing--lg)));
}

/* 
 * Accessibility Utilities
 * Essential screen reader and focus utilities
 */

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

.sr-only:focus {
	clip: auto;
	height: auto;
	margin: 0;
	margin: initial;
	overflow: visible;
	padding: 0;
	padding: initial;
	position: static;
	white-space: normal;
	width: auto;
}

/* 
 * Layout Utilities - Essential only
 * Reduced to most commonly used patterns
 */

.full-width {
	width: 100%;
}

.max-content-width {
	margin-left: auto;
	margin-right: auto;
	max-width: 1280px;
	max-width: var(--wp--style--global--content-size);
}

.max-wide-width {
	margin-left: auto;
	margin-right: auto;
	max-width: 1400px;
	max-width: var(--wp--style--global--wide-size);
}

/* 
 * Text Utilities - Essential only
 */

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

.text-start {
	text-align: left;
}

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

/* 
 * Responsive Utilities - Mobile-first approach
 */

@media (min-width: 768px) {
	.md\:has-section-spacing-lg {
		padding-top: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding-bottom: clamp(0.75rem, 0.75rem + 2vw, 2.25rem);
		padding-top: var(--wp--preset--spacing--lg);
		padding-bottom: var(--wp--preset--spacing--lg);
	}

	.md\:has-gap-lg {
		gap: clamp(0.75rem, 0.75rem + 2vw, 2.25rem) !important;
		gap: var(--wp--preset--spacing--lg) !important;
	}
}

@media (min-width: 1024px) {
	.lg\:has-section-spacing-xl {
		padding-top: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
		padding-bottom: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
		padding-top: var(--wp--preset--spacing--xl);
		padding-bottom: var(--wp--preset--spacing--xl);
	}

	.lg\:has-gap-xl {
		gap: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem) !important;
		gap: var(--wp--preset--spacing--xl) !important;
	}
}

.customer-story-content .entry-content:only-child {
		margin-top: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
		margin-top: var(--wp--preset--spacing--4xl);
	}

.post-content .entry-content:only-child {
		margin-top: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
		margin-top: var(--wp--preset--spacing--4xl);
	}

.customer-story-content .entry-content > :not(.wp-block-quote),.post-content .entry-content > :not(.wp-block-quote) {
		margin-left: auto;
		margin-right: auto;
		max-width: 768px;
	}

.customer-story-content .entry-content h2.wp-block-heading:not(:first-child) {
		margin-top: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
		margin-top: var(--wp--preset--spacing--4xl);
	}

.post-content .entry-content h2.wp-block-heading:not(:first-child) {
		margin-top: clamp(0.75rem, 0.75rem + 4vw, 4.25rem);
		margin-top: var(--wp--preset--spacing--4xl);
	}

.customer-story-content .entry-content h3.wp-block-heading:not(:first-child) {
		margin-top: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
		margin-top: var(--wp--preset--spacing--2xl);
	}

.post-content .entry-content h3.wp-block-heading:not(:first-child) {
		margin-top: clamp(0.75rem, 0.75rem + 3vw, 3.25rem);
		margin-top: var(--wp--preset--spacing--2xl);
	}

.customer-story-content .entry-content h4.wp-block-heading:not(:first-child) {
		margin-top: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
		margin-top: var(--wp--preset--spacing--xl);
	}

.post-content .entry-content h4.wp-block-heading:not(:first-child) {
		margin-top: clamp(0.75rem, 0.75rem + 2.5vw, 2.75rem);
		margin-top: var(--wp--preset--spacing--xl);
	}

.customer-story-stats a:hover {
			color: #003044;
			color: var(--wp--preset--color--secondary);
		}

.wp-block-quote p {
		line-height: 1.5;
	}

.wp-block-embed.is-type-video {
	width: 100%;
}

/* Print Styles */

@media print {

/**
 * Print Styles
 * 
 * @package Hyperlocology
 */

/* Hide non-essential elements when printing */
@media print {
	/* Navigation and interactive elements */
	.wp-block-navigation,
	.wp-site-blocks > header,
	.wp-site-blocks > footer,
	.wp-block-search,
	.skip-link,
	button,
	input[type="submit"],
	input[type="button"],
	.newsletter-form,
	.wp-block-social-links {
		display: none !important;
	}

	/* Ensure good typography for print */
	body {
		background: #ffffff;
		background: var(--wp--preset--color--white, #ffffff);
		color: #000000;
		color: var(--wp--preset--color--black, #000000);
		font-family: "Times New Roman", serif;
		font-size: 12pt;
		line-height: 1.5;
	}

	/* Headings */
	h1, h2, h3, h4, h5, h6 {
		color: #000000;
		color: var(--wp--preset--color--black, #000000);
		font-weight: 700;
		page-break-after: avoid;
	}

	h1 { font-size: 18pt; }

	h2 { font-size: 16pt; }

	h3 { font-size: 14pt; }

	h4 { font-size: 13pt; }

	h5 { font-size: 12pt; }

	h6 { font-size: 11pt; }

	/* Paragraphs and text */
	p {
		margin-bottom: 12pt;
		orphans: 3;
		widows: 3;
	}

	/* Links */
	a {
		color: #000000;
		color: var(--wp--preset--color--black, #000000);
		-webkit-text-decoration: underline;
		text-decoration: underline;
	}

	a[href^="http"]::after {
		color: #666666;
		color: var(--wp--preset--color--text-light, #666666);
		content: " (" attr(href) ")";
		font-size: 10pt;
	}

	/* Images */
	img {
		height: auto;
		max-width: 100%;
		page-break-inside: avoid;
	}

	/* Blocks */
	.wp-block-group,
	.wp-block-columns {
		margin-bottom: 12pt;
		page-break-inside: avoid;
	}

	/* Lists */
	ul, ol {
		margin-bottom: 12pt;
	}

	/* Tables */
	table {
		border-collapse: collapse;
		margin-bottom: 12pt;
		width: 100%;
	}

	th, td {
		border: 1px solid #dddddd;
		border: 1px solid var(--wp--preset--color--border-gray, #cccccc);
		padding: 6pt;
		text-align: left;
	}

	th {
		background-color: #f5f5f5;
		background-color: var(--wp--preset--color--neutral-100, #f5f5f5);
		font-weight: 700;
	}

	/* Page breaks */
	.page-break {
		page-break-before: always;
	}

	/* Ensure content fits well */
	.wp-site-blocks {
		margin: 0;
		padding: 20pt;
	}
}
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3N0eWxlLmNzcyIsIm1hcHBpbmdzIjoiOzs7QUFBQTs7O0FBR0E7O0FBRUE7O0FDTEE7OztBQUdBOztBQUVBOzs7Ozs7Ozs7OztBQVdBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBOzs7QUFHQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQVNBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUMzUEE7O0FBRUE7O0FBRUE7OztBQUdBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7OztBQUlBO0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7OztBQU1BOztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOzs7QUFHQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7O0FBR0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFXQTs7QUFUQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7O0FBSkE7O0FBSkE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7O0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOzs7QUFHQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTs7O0FBR0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7OztBQUdBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBS0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUtBOztBQUhBOztBQUhBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQURBOztBRnBoQkE7O0FHVEE7O0FBRUE7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7O0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBOzs7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7OztBQVlBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7O0FBU0E7QUFDQTtBQUNBOztBQUVBOztBQUNBOzs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBOzs7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUlBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTs7O0FBR0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQy9SQTs7O0FBR0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQWdFQTs7QUE5REE7O0FBbkJBO0FBb0JBO0FBNkRBO0FBNURBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTs7QUFIQTtBQUNBO0FBQUE7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBUUE7O0FBTkE7O0FBUkE7QUFTQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQURBOztBQUdBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBR0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFBQTtBQXFCQTs7QUFsQkE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBOztBQUhBO0FBQ0E7QUFBQTtBQUNBOztBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7Ozs7QUFJQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FDMU1BOztBQUVBOztBQUVBOztBQUVBOztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUE3QkE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBOztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFvQkE7O0FBdEJBO0FBRUE7QUFvQkE7O0FBdEJBO0FBRUE7QUFvQkE7O0FBbEJBO0FBQ0E7QUFBQTtBQUNBO0FBTUE7O0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFNQTs7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQU1BOztBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFIQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBSEE7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFIQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUhBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBT0E7O0FBTEE7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUF1QkE7O0FBckJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFnQkE7O0FBZEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUlBOztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBQ0E7QUFNQTs7QUFKQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQW9CQTs7QUFsQkE7QUFDQTtBQUNBO0FBQUE7QUFXQTs7QUFUQTtBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBY0E7O0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7O0FBR0E7O0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUtBOztBQUhBO0FBQ0E7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTs7QUFFQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUM5VEE7O0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBRUE7QUFBQTtBQUNBO0FBS0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7O0FBRkE7QUFDQTtBQUFBO0FBQ0E7O0FBR0E7O0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTs7QUFFQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFLQTs7QUFIQTtBQUNBO0FBQ0E7O0FDNUtBOzs7Ozs7OztBQVFBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFTQTs7QUFQQTs7QUFMQTtBQU1BO0FBTUE7QUFMQTs7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FDcENBOztBQUVBOztBQUlBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFtR0E7O0FBakdBO0FBQ0E7QUFLQTs7QUFIQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQW9CQTs7QUFsQkE7O0FBTkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUE7QUFaQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBS0E7O0FBSEE7O0FBTkE7QUFPQTtBQUVBO0FBREE7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFLQTs7QUFIQTs7QUFIQTtBQUlBO0FBQUE7QUFBQTtBQUVBO0FBREE7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUEyQkE7O0FBekJBOztBQUxBO0FBTUE7QUFDQTtBQXVCQTtBQXRCQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBY0E7O0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0E7O0FBTEE7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFLQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBTUE7O0FBSkE7O0FBSkE7QUFLQTtBQUNBO0FBRUE7QUFEQTs7QUFJQTtBQUNBO0FBQ0E7O0FDMUdBOzs7O0FBSUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUtBOztBQUhBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7Ozs7O0FBTUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFPQTs7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7Ozs7QUFJQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUN2WEE7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBVEE7QUFBQTtBQUNBO0FBUUE7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQVRBO0FBQUE7O0FBRUE7QUFPQTtBQUFBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFIQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7O0FDbENBOzs7QUFHQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBWExBOztBWXBCQTs7O0FBR0E7O0FBRUE7O0FDTEE7OztBQUdBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FDMUVBOzs7O0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBOzs7OztBQUlBO0FBSkE7Ozs7QUFJQTtBQUpBOzs7OztBQUlBO0FBSkE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUM5R0E7O0FBRUE7O0FBQ0E7QUFDQTtBQVNBOztBQVBBOztBQUhBO0FBSUE7QUFNQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTs7QUFZQTs7Ozs7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUE0Q0E7O0FBMUNBOztBQUpBO0FBS0E7QUF5Q0E7QUF4Q0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUZBO0FBRUE7QUF5QkE7O0FBdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBSEE7QUFHQTtBQUhBO0FBR0E7QUFIQTtBQUdBO0FBQ0E7O0FBRUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQU1BOztBQUpBO0FBQ0E7QUFDQTtBQUNBOztBQUhBO0FBQ0E7QUFDQTtBQUNBOztBQU1BOzs7QUFHQTtBQUtBOztBQUhBOztBQUxBOzs7QUFNQTtBQUVBO0FBREE7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUE2QkE7O0FBM0JBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBSEE7QUFHQTtBQUhBO0FBR0E7QUFIQTtBQUdBO0FBQ0E7O0FBRUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQU1BOztBQUpBO0FBQ0E7QUFDQTtBQUNBOztBQUhBO0FBQ0E7QUFDQTtBQUNBOztBQzlIQTs7QUFFQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUNBOzs7QUFHQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7O0FBRUE7QUFBQTtBQUNBOztBQUVBOztBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBeUJBOztBQXZCQTs7QUFIQTtBQUlBO0FBc0JBO0FBckJBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUdBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFBQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FDN0tBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBOzs7Ozs7QUFNQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FDOURBOztBQUVBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQy9FQTs7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FDbkVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FDM0NBO0FBQ0E7QUFDQTs7QUNIQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQ1hBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUEyRUE7O0FBekVBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFTQTs7QUFQQTtBQUNBO0FBQUE7QUFDQTs7QUFGQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFGQTtBQUNBO0FBQUE7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBNEJBOztBQTFCQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBRkE7QUFFQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVVBOztBQVJBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QVg1SEE7O0FZbEJBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7O0FBSEE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOzs7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOzs7QUFHQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBS0E7O0FBSEE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FDdEVBOzs7QUFHQTs7QUFFQTs7QUFDQTs7O0FBR0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBOzs7QUFHQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBOzs7Ozs7OztBQVFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTs7O0FBR0E7QUFIQTs7O0FBR0E7QUFDQTs7QUFFQTtBQVVBOztBQVRBO0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUdBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBOztBQUVBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUF1R0E7O0FBckdBOztBQVZBO0FBV0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQWtHQTtBQWpHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUEyREE7O0FBekRBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7Ozs7Ozs7O0FBUUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7OztBQUdBO0FBSEE7OztBQUdBO0FBQ0E7O0FBRUE7QUFzQkE7O0FBckJBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBS0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUdBOztBQUVBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUEyQkE7O0FBekJBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFnSkE7O0FBL0lBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXFDQTs7QUFuQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTs7QUFiQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFGQTtBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFZQTs7QUFWQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBSUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFZQTs7QUFWQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFVQTs7QUFSQTtBQUNBO0FBQUE7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQTZCQTs7QUExQkE7O0FBREE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQVFBO0FBUEE7O0FBR0E7O0FBREE7QUFFQTtBQUVBO0FBREE7O0FBS0E7O0FBREE7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQURBOztBQUlBOztBQURBO0FBRUE7QUFFQTtBQURBOztBQUlBOztBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWFBOztBQVhBOztBQUxBO0FBTUE7QUFBQTtBQUFBO0FBVUE7QUFUQTs7QUFFQTtBQUNBO0FBS0E7O0FBSEE7QUFDQTtBQUNBOztBQUlBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBUUE7O0FBTEE7O0FBREE7QUFFQTtBQUNBO0FBRUE7QUFEQTs7QUFJQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBd0JBOztBQXRCQTtBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBT0E7O0FBTEE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUlBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFPQTs7QUFMQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBNEJBOztBQTFCQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7Ozs7QUFJQTtBQUpBOzs7O0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFXQTs7QUFUQTtBQUVBO0FBQUE7QUFDQTtBQUFBO0FBS0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7O0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTs7QUFMQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFHQTs7QUFFQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQU1BOztBQUpBOztBQUhBO0FBSUE7QUFBQTtBQUNBO0FBRUE7QUFEQTs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBWUE7O0FBVkE7QUFDQTtBQVFBOztBQU5BO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQVlBOztBQVZBO0FBQ0E7QUFRQTs7QUFOQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBOzs7Ozs7QUFNQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBU0E7O0FBUEE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBRUE7O0FDdjhCQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FDcENBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBRkE7QUFFQTtBQUZBO0FBRUE7QUFGQTtBQUVBO0FBT0E7O0FBTEE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQVFBOztBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUlBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQ3REQTs7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FDUkE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7O0FBTUE7QUFDQTs7QUFFQTs7QUFDQTs7OztBQUlBO0FBQ0E7O0FBRUE7O0FBQ0E7Ozs7QUFJQTtBQUNBOztBQzNGQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7OztBQU1BO0FBTkE7Ozs7OztBQU1BO0FBQ0E7Ozs7Ozs7QUFNQTtBQU5BOzs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQVJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQy9IQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7OztBQU1BO0FBTkE7Ozs7OztBQU1BO0FBQ0E7Ozs7Ozs7QUFNQTtBQU5BOzs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQVJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBUkE7QUFDQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUMxT0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBc0RBOztBQXBEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBaUNBOztBQS9CQTs7QUFMQTtBQU1BO0FBOEJBO0FBN0JBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFnQkE7O0FBZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBV0E7O0FBVEE7O0FBSkE7QUFLQTtBQVFBO0FBUEE7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQzFEQTtBQUNBO0FBQUE7QUF1REE7O0FBckRBO0FBQ0E7QUFFQTtBQUZBO0FBRUE7QUFDQTs7QUFNQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUhBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFlQTs7QUFoQkE7QUFDQTtBQUFBO0FBZUE7O0FBaEJBO0FBQ0E7QUFBQTtBQWVBOztBQWJBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFIQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFIQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBSEE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUtBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7O0FBSEE7O0FBSkE7QUFLQTtBQUVBO0FBREE7O0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BOztBQUpBOztBQUpBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBOztBQ3REQTs7QUFDQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFnQkE7O0FBZEE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQU9BOztBQUxBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBSUE7O0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQ2xDQTs7Ozs7QUFLQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFrSUE7O0FBaElBOztBQVRBO0FBVUE7QUFBQTtBQUNBO0FBOEhBO0FBN0hBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQU1BOztBQUpBOztBQVJBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTs7QUFJQTtBQUNBO0FBQUE7QUFDQTs7QUFHQTtBQUNBO0FBUUE7O0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBR0E7QUFDQTtBQUtBOztBQUhBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBT0E7O0FBTEE7O0FBTEE7QUFNQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBREE7O0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQU1BOztBQUpBO0FBRUE7QUFDQTs7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBZUE7O0FBYkE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BOztBQUpBO0FBRUE7QUFBQTtBQUNBOztBQUlBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7O0FDOUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFIQTtBQUNBO0FBQ0E7QUFDQTs7QUFIQTtBQUNBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFLQTs7QUFIQTs7QUFIQTtBQUlBO0FBRUE7QUFEQTs7QUFJQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFTQTs7QUFQQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBa0JBOztBQWhCQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQWVBOztBQWJBO0FBQ0E7QUFDQTs7QUFHQTs7QUFEQTtBQUVBO0FBRUE7QUFEQTs7QUFHQTs7QUFoQkE7QUFpQkE7QUFFQTtBQURBOztBQ3RIQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUE0REE7O0FBMURBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBUUE7O0FBTkE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNBOztBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQUNBOztBQ2hFQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBS0E7O0FBSEE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBK0JBOztBQTVCQTtBQUNBO0FBeUJBOztBQXZCQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFnQkE7O0FBZEE7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQU9BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7O0FBSEE7O0FBTkE7QUFPQTtBQUVBO0FBREE7O0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOzs7Ozs7QUFLQTtBQUxBOzs7OztBQUtBO0FBTEE7Ozs7OztBQUtBO0FBTEE7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTs7Ozs7O0FBS0E7QUFMQTs7Ozs7QUFLQTtBQUxBOzs7Ozs7QUFLQTtBQUxBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7Ozs7OztBQUtBO0FBTEE7Ozs7O0FBS0E7QUFMQTs7Ozs7O0FBS0E7QUFMQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7O0FBSEE7QUFDQTtBQUNBOztBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQUE7QUFDQTs7Ozs7O0FBS0E7QUFMQTs7Ozs7QUFLQTtBQUxBOzs7Ozs7QUFLQTtBQUxBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBUkE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBR0E7O0FBQ0E7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QXRDOU1BOztBQUVBOztBdUN6QkE7Ozs7QUFJQTs7QUFFQTs7O0FBR0E7O0FBRUE7O0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTs7QUFFQTs7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7OztBQUdBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOzs7QUFHQTs7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7OztBQUdBOztBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFLQTs7QUFFQTtBQUNBO0FBQUE7QUFLQTs7QUFFQTs7O0FBR0E7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7OztBQUdBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOztBQUVBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFJQTtBQUNBO0FBQUE7QUFDQTs7QUFGQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQUNBOztBQUZBO0FBQ0E7QUFBQTtBQUNBOztBQUtBO0FBQ0E7QUFBQTtBQUNBOztBQUtBO0FBQ0E7QUFDQTs7QUFHQTtBQUNBO0FBQ0E7O0F2Q2pOQTs7QXdDNUJBOztBQUFBOzs7O0FBSUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7QUFVQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSIsInNvdXJjZXMiOlsid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL21haW4uY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2dsb2JhbC92YXJpYWJsZXMuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2dsb2JhbC9iYXNlLmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL2FjY2Vzc2liaWxpdHkuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvYnV0dG9ucy5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9jYXJkcy5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9jaGVjay1saXN0LmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL2N1c3RvbWVyLXN0b3JpZXMuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvZm9vdGVyLmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL2hlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9zZWN1cml0eS1tZXNzYWdlcy5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9za2lwLWxpbmsuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9pbmRleC5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NvcmUvY29sdW1ucy5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NvcmUvY292ZXIuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9jb3JlL2J1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NvcmUvZ3JvdXAuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9jb3JlL2hlYWRpbmcuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9jb3JlL2ltYWdlLmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9ibG9ja3MvY29yZS9saXN0LmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9ibG9ja3MvY29yZS9wYXJhZ3JhcGguY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9jb3JlL3NlcGFyYXRvci5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NvcmUvZ2FsbGVyeS5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NvcmUvZGV0YWlscy5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL3V0aWxpdHktbmF2L3V0aWxpdHktbmF2LmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9ibG9ja3MvbWVnYS1uYXYvcHJpbWFyeS1uYXYuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9oeXBlcmxvY29sb2d5LWxvZ28uY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9keW5hbWljLXBhZ2UtbGlzdC5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NvcHlyaWdodC5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL3BsYXRmb3JtLXNob3djYXNlL3BsYXRmb3JtLXNob3djYXNlLmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9ibG9ja3MvdHJ1c3QtYmFyL3RydXN0LWJhci5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2NoYW5uZWwtY2Fyb3VzZWwvY2hhbm5lbC1jYXJvdXNlbC5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL2ZlYXR1cmVzLWhlcm8uY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL2Jsb2Nrcy9kZW1vLWN0YS5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL3Jlc291cmNlcy1mZWVkLmNzcyIsIndlYnBhY2s6Ly9oeXBlcmxvY29sb2d5Ly4vYXNzZXRzL2Nzcy9ibG9ja3MvY3VzdG9tZXItc3RvcnktY2FyZC5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL3BhZ2UtaGVyby5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL3NsaWRlci5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvYmxvY2tzL3Bvc3QtZmVlZC5jc3MiLCJ3ZWJwYWNrOi8vaHlwZXJsb2NvbG9neS8uL2Fzc2V0cy9jc3MvdXRpbGl0aWVzL2NvbnRhaW5lcnMuY3NzIiwid2VicGFjazovL2h5cGVybG9jb2xvZ3kvLi9hc3NldHMvY3NzL3ByaW50LmNzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRNYWluIENTUyBFbnRyeSBQb2ludFxuXHRJbXBvcnRzIGFsbCBzdHlsZXMgaW4gcHJvcGVyIG9yZGVyIGZvciBXb3JkUHJlc3MgYmxvY2sgdGhlbWVcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogR2xvYmFsIEZvdW5kYXRpb24gKi9cbkBpbXBvcnQgXCJnbG9iYWwvdmFyaWFibGVzLmNzc1wiO1xuQGltcG9ydCBcImdsb2JhbC9iYXNlLmNzc1wiO1xuXG4vKiBDb21wb25lbnRzICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy9hY2Nlc3NpYmlsaXR5LmNzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9ucy5jc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NhcmRzLmNzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2hlY2stbGlzdC5jc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2N1c3RvbWVyLXN0b3JpZXMuY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXIuY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9oZWFkZXIuY3NzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zZWN1cml0eS1tZXNzYWdlcy5jc3NcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NraXAtbGluay5jc3NcIjtcblxuLyogQmxvY2tzICovXG5AaW1wb3J0IFwiYmxvY2tzL2luZGV4LmNzc1wiO1xuXG4vKiBUZW1wbGF0ZXMgKi9cblxuLyogVXRpbGl0aWVzIC0gT25seSBFc3NlbnRpYWwgQ2xhc3NlcyBVc2VkIGluIFRoZW1lICovXG5AaW1wb3J0IFwidXRpbGl0aWVzL2NvbnRhaW5lcnMuY3NzXCI7XG5cbi8qIFByaW50IFN0eWxlcyAqL1xuQGltcG9ydCBcInByaW50LmNzc1wiIHByaW50O1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0R2xvYmFsIENTUyBDdXN0b20gUHJvcGVydGllc1xuXHRTeW5jZWQgd2l0aCB0aGVtZS5qc29uIHNldHRpbmdzIGZvciBXb3JkUHJlc3MgYmxvY2sgdGhlbWUgY29tcGF0aWJpbGl0eVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRSZXNwb25zaXZlIFR5cGUgU3lzdGVtXG5cdFVzaW5nIGNsYW1wKCkgZm9yIGZsdWlkIHR5cG9ncmFwaHkgYW5kIHNwYWNpbmcgdGhhdCBzY2FsZXMgc21vb3RobHlcblx0YmV0d2VlbiBtb2JpbGUgYW5kIGRlc2t0b3Agdmlld3BvcnRzLlxuXHRcblx0Rm9ybXVsYTogY2xhbXAobWluaW11bSwgcHJlZmVycmVkLCBtYXhpbXVtKVxuXHQtIG1pbmltdW06IH43NSUgb2Ygb3JpZ2luYWwgc2l6ZSBmb3IgbW9iaWxlIHNjcmVlbnNcblx0LSBwcmVmZXJyZWQ6IHZpZXdwb3J0LWJhc2VkIHNjYWxpbmcgdXNpbmcgdncgdW5pdHNcblx0LSBtYXhpbXVtOiBvcmlnaW5hbCByZW0gdmFsdWUgZm9yIGRlc2t0b3Agc2NyZWVuc1xuXHRcblx0VGhpcyBjcmVhdGVzIGEgc21vb3RoIHNjYWxpbmcgZXhwZXJpZW5jZSB3aXRob3V0IGhhcmQgYnJlYWtwb2ludHMuXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEJhc2UgV29yZFByZXNzIFZhcmlhYmxlcyBPdmVycmlkZSAqL1xuOnJvb3Qge1xuXHQvKiBDb2xvcnMgLSBzeW5jZWQgd2l0aCB0aGVtZS5qc29uIHBhbGV0dGUgKi9cblx0LS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2s6ICMwMDAwMDA7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlOiAjZmZmZmZmO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5OiAjMGFhMzljO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnk6ICMwMDMwNDQ7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWFjY2VudDogcmdiYSgxMCwgMTYzLCAxNTYsIDAuMSk7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWFjY2VudC1oZXg6ICNlNGY1ZjQ7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWJhc2U6ICNmZmZmZmY7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMjogI2Y3ZjdmNztcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZS0zOiAjZTBlMGUwO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb250cmFzdDogIzAwMDAwMDtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tY29udHJhc3QtMjogIzYzNjM2Mztcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tY29udHJhc3QtMzogI2E3YTdhNztcblxuXHQvKiBOZXV0cmFsIENvbG9ycyAtIGV4cGFuZGVkIG5ldXRyYWwgcGFsZXR0ZSAqL1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTUwOiAjZmFmYWZhO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTEwMDogI2Y1ZjVmNTtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC0yMDA6ICNlNWU1ZTU7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtMzAwOiAjZDRkNGQ0O1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTQwMDogI2EzYTNhMztcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC01MDA6ICM3MzczNzM7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtNjAwOiAjNTI1MjUyO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTcwMDogIzQwNDA0MDtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC04MDA6ICMyNjI2MjY7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtOTAwOiAjMTcxNzE3O1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTk1MDogIzBhMGEwYTtcblxuXHQvKiBTZW1hbnRpYyBDb2xvcnMgKi9cblx0LS13cC0tcHJlc2V0LS1jb2xvci0tc3VjY2VzczogIzAwYTMyYTtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0td2FybmluZzogI2NhOGEwNDtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tZXJyb3I6ICNkYzI2MjY7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWluZm86ICMwZWE1ZTk7XG5cblx0LyogUHJpbWFyeSBjb2xvciB2YXJpYXRpb25zICovXG5cdC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnktNTA6IHJnYmEoMCwgOTIsIDIzOCwgMC4wNSk7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnktMTAwOiByZ2JhKDAsIDkyLCAyMzgsIDAuMSk7XG5cblx0LyogQ29tcG9uZW50LXNwZWNpZmljIGNvbG9ycyAqL1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS10ZXh0LWRhcms6ICMyNDI0MjQ7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWJ1dHRvbi1wdXJwbGU6ICM1YzUzZTk7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWJvcmRlci1saWdodDogI2VlZjBmMztcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tZWRpdG9yLWJsdWU6ICMwMDdjYmE7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLXRleHQtbXV0ZWQ6ICM3NTc1NzU7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWJvcmRlci1ncmF5OiAjZGRkZGRkO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1ib3JkZXItbWVkaXVtOiAjZTBlMGUwO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZy1saWdodDogI2Y4ZjlmYTtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tYmctbGlnaHRlcjogI2U5ZWNlZjtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tdGV4dC1saWdodDogIzY2NjY2NjtcblxuXHQvKiBHcmFkaWVudC1zcGVjaWZpYyBjb2xvcnMgKi9cblx0LS13cC0tcHJlc2V0LS1jb2xvci0taGVyby1ncmFkaWVudC1zdGFydDogI2ZmZmZmZjtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0taGVyby1ncmFkaWVudC1lbmQ6IHJnYmEoMywgNTcsIDk2LCAwKTtcblx0LS13cC0tcHJlc2V0LS1jb2xvci0tYnV0dG9uLWdyYWRpZW50LWJhc2U6ICMwZjgwZDI7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWJ1dHRvbi1ncmFkaWVudC1vdmVybGF5LWxpZ2h0OiByZ2JhKDEwOCwgMTA4LCAxMDgsIDAuMTUpO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1idXR0b24tZ3JhZGllbnQtb3ZlcmxheS1kYXJrOiByZ2JhKDEwOCwgMTA4LCAxMDgsIDAuMjUpO1xuXG5cdC8qIENvbXBvbmVudCBpbnRlcmFjdGlvbiBjb2xvcnMgKi9cblx0LS13cC0tcHJlc2V0LS1jb2xvci0tbmF2LW1vYmlsZS1iYWNrZHJvcDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5LWhvdmVyOiByZ2JhKDAsIDkyLCAyMzgsIDAuMDgpO1xuXHQtLXdwLS1wcmVzZXQtLWNvbG9yLS1zdWNjZXNzLWxpZ2h0OiByZ2JhKDAsIDE2MywgNDIsIDAuMSk7XG5cdC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yLWxpZ2h0OiByZ2JhKDIyMCwgMzgsIDM4LCAwLjEpO1xuXG5cdC8qIFR5cG9ncmFwaHkgLSByZXNwb25zaXZlIGZsdWlkIHR5cGUgc3lzdGVtIHVzaW5nIGNsYW1wKCkgKi9cblx0LyogRm9ybXVsYTogY2xhbXAobWluLXNpemUsIHByZWZlcnJlZC1zaXplLCBtYXgtc2l6ZSkgKi9cblx0LyogTWluID0gfjc1JSBvZiBtYXggZm9yIG1vYmlsZSwgTWF4ID0gb3JpZ2luYWwgcmVtIHZhbHVlICovXG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS0yeHM6IGNsYW1wKDAuNXJlbSwgMC40NXJlbSArIDAuMjV2dywgMC42MjVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teHM6IGNsYW1wKDAuNjI1cmVtLCAwLjU1cmVtICsgMC4zNzV2dywgMC43NXJlbSk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbTogY2xhbXAoMC43NXJlbSwgMC42NXJlbSArIDAuNXZ3LCAwLjg3NXJlbSk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS1iYXNlOiBjbGFtcCgwLjg3NXJlbSwgMC43NXJlbSArIDAuNjI1dncsIDFyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGc6IGNsYW1wKDFyZW0sIDAuODVyZW0gKyAwLjc1dncsIDEuMTI1cmVtKTtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLXhsOiBjbGFtcCgxLjEyNXJlbSwgMC45NXJlbSArIDAuODc1dncsIDEuMjVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tMnhsOiBjbGFtcCgxLjI1cmVtLCAxcmVtICsgMS4yNXZ3LCAxLjVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tM3hsOiBjbGFtcCgxLjVyZW0sIDEuMnJlbSArIDEuNXZ3LCAxLjg3NXJlbSk7XG5cdC0td3AtLXByZXNldC0tZm9udC1zaXplLS00eGw6IGNsYW1wKDEuODc1cmVtLCAxLjVyZW0gKyAxLjg3NXZ3LCAyLjI1cmVtKTtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLTV4bDogY2xhbXAoMi4yNXJlbSwgMS44cmVtICsgMi4yNXZ3LCAzcmVtKTtcblx0LS13cC0tcHJlc2V0LS1mb250LXNpemUtLTZ4bDogY2xhbXAoMi41cmVtLCAycmVtICsgMi41dncsIDMuNzVyZW0pO1xuXG5cdC8qIEZvbnQgRmFtaWxpZXMgLSBzeW5jZWQgd2l0aCB1cGRhdGVkIHRoZW1lLmpzb24gZm9udEZhbWlsaWVzICovXG5cdC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXBvcHBpbnM6XG5cdFx0XCJQb3BwaW5zXCIsIC1hcHBsZS1zeXN0ZW0sIGJsaW5rbWFjc3lzdGVtZm9udCwgXCJTZWdvZSBVSVwiLCByb2JvdG8sXG5cdFx0XCJIZWx2ZXRpY2EgTmV1ZVwiLCBhcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLFxuXHRcdFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG5cdC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXN5c3RlbTpcblx0XHQtYXBwbGUtc3lzdGVtLCBibGlua21hY3N5c3RlbWZvbnQsIFwiU2Vnb2UgVUlcIiwgcm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsXG5cdFx0YXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLFxuXHRcdFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuXHQtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1zYW5zOlxuXHRcdFwiUG9wcGluc1wiLCB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIGJsaW5rbWFjc3lzdGVtZm9udCxcblx0XHRcIlNlZ29lIFVJXCIsIHJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBhcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZixcblx0XHRcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG5cdC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXNlcmlmOlxuXHRcdHVpLXNlcmlmLCBnZW9yZ2lhLCBjYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCB0aW1lcywgc2VyaWY7XG5cdC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLW1vbm86XG5cdFx0dWktbW9ub3NwYWNlLCBzZm1vbm8tcmVndWxhciwgXCJTRiBNb25vXCIsIG1lbmxvLCBtb25hY28sIGNvbnNvbGFzLFxuXHRcdFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuXG5cdC8qIFNwYWNpbmcgLSByZXNwb25zaXZlIGZsdWlkIHNwYWNpbmcgc3lzdGVtIHVzaW5nIGNsYW1wKCkgKi9cblx0LyogRm9ybXVsYTogY2xhbXAobWluLXNpemUsIHByZWZlcnJlZC1zaXplLCBtYXgtc2l6ZSkgKi9cblx0LyogTW9iaWxlLWZpcnN0IGFwcHJvYWNoOiByZWFzb25hYmxlIG1vYmlsZSBtaW5pbXVtcywgZmx1aWQgc2NhbGluZyB0byBkZXNrdG9wICovXG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0teHM6IGNsYW1wKDAuMjVyZW0sIDAuMjVyZW0gKyAwLjV2dywgMC41cmVtKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbTogY2xhbXAoMC41cmVtLCAwLjVyZW0gKyAwLjc1dncsIDAuNzVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2U6IGNsYW1wKDAuNzVyZW0sIDAuNzVyZW0gKyAxdncsIDEuMjVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kOiBjbGFtcCgxcmVtLCAxcmVtICsgMS41dncsIDEuNzVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnOiBjbGFtcCgwLjc1cmVtLCAwLjc1cmVtICsgMnZ3LCAyLjI1cmVtKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS14bDogY2xhbXAoMC43NXJlbSwgMC43NXJlbSArIDIuNXZ3LCAyLjc1cmVtKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yeGw6IGNsYW1wKDAuNzVyZW0sIDAuNzVyZW0gKyAzdncsIDMuMjVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTN4bDogY2xhbXAoMC43NXJlbSwgMC43NXJlbSArIDMuNXZ3LCAzLjc1cmVtKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS00eGw6IGNsYW1wKDAuNzVyZW0sIDAuNzVyZW0gKyA0dncsIDQuMjVyZW0pO1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTV4bDogY2xhbXAoMC43NXJlbSwgMC43NXJlbSArIDQuNXZ3LCA0Ljc1cmVtKTtcblx0LS13cC0tcHJlc2V0LS1zcGFjaW5nLS02eGw6IGNsYW1wKDAuNzVyZW0sIDAuNzVyZW0gKyA1dncsIDUuMjVyZW0pO1xuXG5cdC8qIEFkZGl0aW9uYWwgc3BhY2luZyBhbGlhc2VzIGZvciBjb25zaXN0ZW5jeSAqL1xuXHQtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtYWxsOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZCk7XG5cdC0td3AtLXByZXNldC0tc3BhY2luZy0tbGFyZ2U6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcblxuXHQvKiBMYXlvdXQgKi9cblx0LS13cC0tc3R5bGUtLWJsb2NrLWdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZTogMTI4MHB4O1xuXHQtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemU6IDE0MDBweDtcblxuXHQvKiBCb3JkZXIgUmFkaXVzIC0gVGFpbHdpbmQtaW5zcGlyZWQgc2NhbGUgKi9cblx0LS13cC0tcHJlc2V0LS1ib3JkZXItcmFkaXVzLS1ub25lOiAwO1xuXHQtLXdwLS1wcmVzZXQtLWJvcmRlci1yYWRpdXMtLXNtOiAwLjEyNXJlbTtcblx0LS13cC0tcHJlc2V0LS1ib3JkZXItcmFkaXVzLS1iYXNlOiAwLjI1cmVtO1xuXHQtLXdwLS1wcmVzZXQtLWJvcmRlci1yYWRpdXMtLW1kOiAwLjM3NXJlbTtcblx0LS13cC0tcHJlc2V0LS1ib3JkZXItcmFkaXVzLS1sZzogMC41cmVtO1xuXHQtLXdwLS1wcmVzZXQtLWJvcmRlci1yYWRpdXMtLXhsOiAwLjc1cmVtO1xuXHQtLXdwLS1wcmVzZXQtLWJvcmRlci1yYWRpdXMtLTJ4bDogMXJlbTtcblx0LS13cC0tcHJlc2V0LS1ib3JkZXItcmFkaXVzLS0zeGw6IDEuNXJlbTtcblx0LS13cC0tcHJlc2V0LS1ib3JkZXItcmFkaXVzLS1mdWxsOiA5OTk5cHg7XG5cblx0LyogQm9yZGVyIHdpZHRocyAqL1xuXHQtLWJvcmRlci13aWR0aC10aGluOiAxcHg7XG5cdC0tYm9yZGVyLXdpZHRoLWJhc2U6IDJweDtcblx0LS1ib3JkZXItd2lkdGgtdGhpY2s6IDNweDtcblxuXHQvKiBDb21wb25lbnQgc2l6ZXMgKi9cblx0LS1pY29uLXNpemUtc206IDJyZW07XG5cdC0taWNvbi1zaXplLWJhc2U6IDMuNzVyZW07XG5cdC0taWNvbi1zaXplLWxnOiA0cmVtO1xuXHQtLWhhbWJ1cmdlci1zaXplOiAxLjI1cmVtO1xuXHQtLWhhbWJ1cmdlci1saW5lLWhlaWdodDogMC4xMjVyZW07XG5cdC0taGVhZGVyLWhlaWdodDogOTZweDtcblxuXHQvKiBUcmFuc2Zvcm0gdmFsdWVzICovXG5cdC0tdHJhbnNmb3JtLWhvdmVyLWxpZnQ6IHRyYW5zbGF0ZVkoLTFweCk7XG5cdC0tdHJhbnNmb3JtLWhvdmVyLWxpZnQtc206IHRyYW5zbGF0ZVkoLTJweCk7XG5cdC0tdHJhbnNmb3JtLXNjYWxlLWhvdmVyOiBzY2FsZSgxLjA1KTtcblxuXHQvKiBDb250ZW50IHdpZHRoIGNvbnN0cmFpbnRzICovXG5cdC0tY29udGVudC13aWR0aC1uYXJyb3c6IDM3LjVyZW07IC8qIDYwMHB4ICovXG5cdC0tY29udGVudC13aWR0aC1tZWRpdW06IDQzLjc1cmVtOyAvKiA3MDBweCAqL1xuXG5cdC8qIFNoYWRvd3MgLSBzeW5jZWQgd2l0aCB1cGRhdGVkIHRoZW1lLmpzb24gc2hhZG93IHByZXNldHMgKi9cblx0LS13cC0tcHJlc2V0LS1zaGFkb3ctLXhzOiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHQtLXdwLS1wcmVzZXQtLXNoYWRvdy0tc206XG5cdFx0MCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdC0td3AtLXByZXNldC0tc2hhZG93LS1iYXNlOlxuXHRcdDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggNHB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHQtLXdwLS1wcmVzZXQtLXNoYWRvdy0tbWQ6XG5cdFx0MCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0LS13cC0tcHJlc2V0LS1zaGFkb3ctLWxnOlxuXHRcdDAgMjBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDhweCAxMHB4IC02cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXHQtLXdwLS1wcmVzZXQtLXNoYWRvdy0teGw6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdC0td3AtLXByZXNldC0tc2hhZG93LS1pbm5lcjogaW5zZXQgMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblxuXHQvKiBaLUluZGV4IFNjYWxlICovXG5cdC0tei1pbmRleC1kcm9wZG93bjogMTAwMDtcblx0LS16LWluZGV4LXN0aWNreTogMTAyMDtcblx0LS16LWluZGV4LWZpeGVkOiAxMDMwO1xuXHQtLXotaW5kZXgtbW9kYWwtYmFja2Ryb3A6IDEwNDA7XG5cdC0tei1pbmRleC1tb2RhbDogMTA1MDtcblx0LS16LWluZGV4LXBvcG92ZXI6IDEwNjA7XG5cdC0tei1pbmRleC10b29sdGlwOiAxMDcwO1xuXHQtLXotaW5kZXgtaGVhZGVyOiAxMDA7XG5cblx0LyogQnJlYWtwb2ludHMgKi9cblx0LS1icmVha3BvaW50LXNtOiA2NDBweDtcblx0LS1icmVha3BvaW50LW1kOiA3NjhweDtcblx0LS1icmVha3BvaW50LWxnOiAxMDI0cHg7XG5cdC0tYnJlYWtwb2ludC14bDogMTI4MHB4O1xuXHQtLWJyZWFrcG9pbnQtMnhsOiAxNTM2cHg7XG5cblx0LyogVHJhbnNpdGlvbnMgKi9cblx0LS10cmFuc2l0aW9uLWZhc3Q6IDAuMTVzIGVhc2UtaW4tb3V0O1xuXHQtLXRyYW5zaXRpb24tYmFzZTogMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdC0tdHJhbnNpdGlvbi1zbG93OiAwLjVzIGVhc2UtaW4tb3V0O1xuXG5cdC8qIEdyaWQgKi9cblx0LS1ncmlkLWNvbHVtbnM6IDEyO1xuXHQtLWdyaWQtZ2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0LS1ncmlkLW1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7XG5cblx0LyogQ3VzdG9tIE1lZGlhIFF1ZXJpZXMgKi9cblx0LS1icC10aW55OiAyNWVtOyAvKiA0MDBweCAqL1xuXHQtLWJwLXNtYWxsOiAzMGVtOyAvKiA0ODBweCAqL1xuXHQtLWJwLXNtYWxsLW1heDogMzUuNjI1ZW07IC8qIDU3MHB4ICovXG5cdC0tYnAtbWVkaXVtOiA0OGVtOyAvKiA3NjhweCAqL1xuXHQtLWJwLWxhcmdlOiA2NGVtOyAvKiAxMDI0cHggKi9cblx0LS1icC14bGFyZ2U6IDgwZW07IC8qIDEyODBweCAqL1xuXHQtLWJwLXh4bGFyZ2U6IDkwZW07IC8qIDE0NDBweCAqL1xuXG5cdC8qIFdQIENvcmUgQnJlYWtwb2ludHMgKHVzZWQgZm9yIHRoZSBhZG1pbiBiYXIgZm9yIGV4YW1wbGUpICovXG5cdC0td3Atc21hbGw6IDYwMHB4O1xuXHQtLXdwLW1lZGl1bS1tYXg6IDc4MnB4O1xufVxuXG4vKiBDdXN0b20gTWVkaWEgUXVlcmllcyAqL1xuQGN1c3RvbS1tZWRpYSAtLW1pbi10aW55IChtaW4td2lkdGg6IDI1ZW0pO1xuQGN1c3RvbS1tZWRpYSAtLW1pbi1zbWFsbCAobWluLXdpZHRoOiAzMGVtKTtcbkBjdXN0b20tbWVkaWEgLS1taW4tbWVkaXVtIChtaW4td2lkdGg6IDQ4ZW0pO1xuQGN1c3RvbS1tZWRpYSAtLW1pbi1sYXJnZSAobWluLXdpZHRoOiA2NGVtKTtcbkBjdXN0b20tbWVkaWEgLS1taW4teGxhcmdlIChtaW4td2lkdGg6IDgwZW0pO1xuQGN1c3RvbS1tZWRpYSAtLW1pbi14eGxhcmdlIChtaW4td2lkdGg6IDkwZW0pO1xuQGN1c3RvbS1tZWRpYSAtLXNtYWxsLW1heCAobWF4LXdpZHRoOiAzNS42MjVlbSk7XG5cbi8qIFJlc3BvbnNpdmUgVmFyaWFibGUgQWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHQ6cm9vdCB7XG5cdFx0LS13cC0tc3R5bGUtLWJsb2NrLWdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpO1xuXHRcdC0tZ3JpZC1nYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcblx0XHQtLWhlYWRlci1oZWlnaHQ6IDExNnB4O1xuXHR9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcblx0OnJvb3Qge1xuXHRcdC0td3AtLXN0eWxlLS1ibG9jay1nYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcblx0XHQtLWdyaWQtZ2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEJhc2UgU3R5bGVzICYgQ1NTIFJlc2V0XG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuXHRtYXJnaW46IDA7XG59XG5cbmh0bWwge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UpO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tc2Fucyk7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHBhZGRpbmctaW5saW5lOiAwO1xufVxuXG5pbWcsXG5waWN0dXJlLFxudmlkZW8sXG5jYW52YXMsXG5zdmcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHRmb250OiBpbmhlcml0O1xufVxuXG4vKiBUeXBvZ3JhcGh5IEhpZXJhcmNoeSAqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1zYW5zKTtcblx0bWFyZ2luLWJsb2NrLWVuZDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc20pO1xufVxuXG5oMSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS02eGwpO1xuXHRmb250LXdlaWdodDogODAwO1xuXHRsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcbn1cblxuaDIge1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tNXhsKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bGV0dGVyLXNwYWNpbmc6IC0wLjAyMmVtO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZCk7XG59XG5cbmgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLTR4bCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxldHRlci1zcGFjaW5nOiAtMC4wMTllbTtcblx0bGluZS1oZWlnaHQ6IDEuMjU7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcbn1cblxuaDQge1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tM3hsKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bGV0dGVyLXNwYWNpbmc6IC0wLjAxNmVtO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG59XG5cbmg1IHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLTJ4bCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxldHRlci1zcGFjaW5nOiAtMC4wMTRlbTtcblx0bGluZS1oZWlnaHQ6IDEuMzc1O1xuXHRtYXJnaW4tYmxvY2stZW5kOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG59XG5cbmg2IHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXhsKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxucCB7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xufVxuXG51bCxcbm9sIHtcblx0bWFyZ2luLWJsb2NrLWVuZDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZCk7XG59XG5cbmxpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5tZW51LWl0ZW0pOm5vdChcblx0XHQud3AtYmxvY2stb3V0ZXJtb3N0LXNvY2lhbC1zaGFyaW5nLWxpbmtcblx0KSB7XG5cdG1hcmdpbi1ibG9jay1lbmQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKTtcbn1cblxuYSB7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG5cdHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMjVlbTtcblx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuYTpub3QoLndwLWJsb2NrLWJ1dHRvbl9fbGluayk6aG92ZXIsXG5hOm5vdCgud3AtYmxvY2stYnV0dG9uX19saW5rKTpmb2N1cyB7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcbn1cblxuc3Ryb25nLFxuYiB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qIEZvY3VzIHN0eWxlcyBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuOmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vKiBTa2lwIGxpbmsgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbi5za2lwLWxpbmsge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXdwLS1wcmVzZXQtLWJvcmRlci1yYWRpdXMtLWJhc2UpO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0aW5zZXQtaW5saW5lLXN0YXJ0OiAtOTk5OXB4O1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cykgdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc20pO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0ei1pbmRleDogdmFyKC0tei1pbmRleC10b29sdGlwKTtcbn1cblxuLnNraXAtbGluazpmb2N1cyB7XG5cdGluc2V0LWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG5cdGluc2V0LWlubGluZS1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc20pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV29yZFByZXNzIEFsaWdubWVudCBDbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWxpZ25ub25lIHtcblx0bWFyZ2luOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKSAwO1xufVxuXG4uYWxpZ25jZW50ZXIsXG4uYWxpZ25sZWZ0LFxuLmFsaWducmlnaHQge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcbn1cblxuLmFsaWdubGVmdCB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4taW5saW5lLWVuZDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdHRleHQtYWxpZ246IHN0YXJ0O1xufVxuXG4uYWxpZ25yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcblx0bWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdHRleHQtYWxpZ246IGVuZDtcbn1cblxuLmFsaWduY2VudGVyIHtcblx0Y2xlYXI6IGJvdGg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hbGlnbndpZGUge1xuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUsIDEyMDBweCk7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uYWxpZ25mdWxsIHtcblx0bWFyZ2luLWlubGluZTogMDtcblx0bWF4LXdpZHRoOiBub25lO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLndwLXNpdGUtYmxvY2tzID4gKiB7XG5cdC8qIERlZmF1bHQ6IGFsbCBjb250ZW50IGdvZXMgaW4gdGhlIGNlbnRlciBjb2x1bW4gKi9cblx0Z3JpZC1jb2x1bW46IDI7XG59XG5cbi53cC1zaXRlLWJsb2NrcyA+IC5hbGlnbmZ1bGwge1xuXHQvKiBGdWxsLXdpZHRoIGNvbnRlbnQgc3BhbnMgYWxsIGNvbHVtbnMgKi9cblx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcbn1cblxuLndwLXNpdGUtYmxvY2tzID4gLmFsaWdud2lkZSB7XG5cdC8qIFdpZGUgY29udGVudCBzcGFucyBhbGwgY29sdW1ucyBidXQgd2l0aCBtYXgtd2lkdGggY29uc3RyYWludCAqL1xuXHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUsIDEyMDBweCk7XG59XG5cbi53cC1zaXRlLWJsb2NrcyA+IC53cC1ibG9jay10ZW1wbGF0ZS1wYXJ0IHtcblx0LyogVGVtcGxhdGUgcGFydHMgc3BhbiBmdWxsIHdpZHRoIGFuZCBtYW5hZ2UgdGhlaXIgb3duIGxheW91dCAqL1xuXHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRtYXgtd2lkdGg6IG5vbmU7XG5cdHBhZGRpbmctaW5saW5lOiAwO1xufVxuXG4vKiBFbnRyeSBjb250ZW50IGluaGVyaXRzIHRoZSBzYW1lIGdyaWQgYmVoYXZpb3IgKi9cbi5lbnRyeS1jb250ZW50IHtcblx0b3ZlcmZsb3cteDogdmlzaWJsZTtcbn1cblxuLmVudHJ5LWNvbnRlbnQgPiAqIHtcblx0Z3JpZC1jb2x1bW46IDI7XG5cblx0Ji53cC1ibG9jay1ncm91cCB7XG5cdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblxuXHRcdEBtZWRpYSAoLS1taW4tbWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTJ4bCk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yeGwpO1xuXHRcdH1cblx0fVxufVxuXG4uZW50cnktY29udGVudCA+IC5hbGlnbndpZGUge1xuXHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUsIDEyMDBweCk7XG59XG5cbi8qIFdvcmRQcmVzcyBjYXB0aW9uIHN0eWxlcyAqL1xuLndwLWNhcHRpb24ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG4ud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtNjAwKTtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtKTtcblx0bWFyZ2luLWJsb2NrLWVuZDogMDtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cyk7XG5cdG1hcmdpbi1pbmxpbmU6IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuXHR0ZXh0LWFsaWduOiBlbmQ7XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFNjcmVlbiByZWFkZXIgdGV4dCAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMXB4O1xuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtMTAwKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tYmFzZSk7XG5cdGJveC1zaGFkb3c6IHZhcigtLXdwLS1wcmVzZXQtLXNoYWRvdy0tYmFzZSk7XG5cdGNsaXA6IGF1dG8gIWltcG9ydGFudDtcblx0Y2xpcC1wYXRoOiBub25lO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtOTAwKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbSk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGhlaWdodDogYXV0bztcblx0aW5zZXQtYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcblx0aW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZClcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cykgdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc20pO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHdpZHRoOiBhdXRvO1xuXHR6LWluZGV4OiB2YXIoLS16LWluZGV4LXRvb2x0aXApO1xufVxuXG4vKiBcbiAqIFNpbXBsaWZpZWQgQ29udGFpbmVyIFV0aWxpdGllc1xuICogQ29uc29saWRhdGVkIGZyb20gbXVsdGlwbGUgY29tcGV0aW5nIGFwcHJvYWNoZXNcbiAqL1xuLmNvbnRhaW5lciB7XG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7XG5cdHBhZGRpbmctaW5saW5lOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3cge1xuXHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS1jb250ZW50LXNpemUpO1xuXHRwYWRkaW5nLWlubGluZTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG59XG5cbi8qIFxuICogRXNzZW50aWFsIExheW91dCBVdGlsaXRpZXNcbiAqIFNpbXBsaWZpZWQgZ3JpZCBzeXN0ZW0gKDEtNiBjb2x1bW5zKSBhbmQgZXNzZW50aWFsIGZsZXggdXRpbGl0aWVzXG4gKi9cblxuLyogR3JpZCBTeXN0ZW0gLSBSZWR1Y2VkIGZyb20gMTIgdG8gNiBjb2x1bW5zICovXG4uZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSwgMXJlbSk7XG59XG5cbi5ncmlkLWNvbHMtMSB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTtcbn1cblxuLmdyaWQtY29scy0yIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xufVxuXG4uZ3JpZC1jb2xzLTMge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG59XG5cbi5ncmlkLWNvbHMtNCB7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbn1cblxuLmdyaWQtY29scy01IHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpO1xufVxuXG4uZ3JpZC1jb2xzLTYge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7XG59XG5cbi8qIEVzc2VudGlhbCBGbGV4IFV0aWxpdGllcyAqL1xuLmZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jb2wge1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC13cmFwIHtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaXRlbXMtY2VudGVyIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLml0ZW1zLXN0YXJ0IHtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5pdGVtcy1lbmQge1xuXHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5qdXN0aWZ5LWNlbnRlciB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uanVzdGlmeS1iZXR3ZWVuIHtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uanVzdGlmeS1zdGFydCB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmp1c3RpZnktZW5kIHtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLyogR2FwIFV0aWxpdGllcyAqL1xuLmdhcC14cyB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMpO1xufVxuXG4uZ2FwLXNtIHtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG59XG5cbi5nYXAtYmFzZSB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG59XG5cbi5nYXAtbWQge1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcbn1cblxuLmdhcC1sZyB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGcpO1xufVxuXG4uZ2FwLXhsIHtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14bCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgVXRpbGl0aWVzICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcblx0LnNtXFw6Z3JpZC1jb2xzLTIge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblx0fVxuXG5cdC5zbVxcOmdyaWQtY29scy0zIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG5cdH1cblxuXHQuc21cXDpmbGV4LXJvdyB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0fVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0Lm1kXFw6Z3JpZC1jb2xzLTIge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblx0fVxuXG5cdC5tZFxcOmdyaWQtY29scy0zIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG5cdH1cblxuXHQubWRcXDpncmlkLWNvbHMtNCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuXHR9XG5cblx0Lm1kXFw6ZmxleC1yb3cge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuXHQubGdcXDpncmlkLWNvbHMtMyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuXHR9XG5cblx0LmxnXFw6Z3JpZC1jb2xzLTQge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcblx0fVxuXG5cdC5sZ1xcOmdyaWQtY29scy01IHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7XG5cdH1cblxuXHQubGdcXDpncmlkLWNvbHMtNiB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpO1xuXHR9XG59XG5cbi8qIFJlZHVjZWQgbW90aW9uIHByZWZlcmVuY2VzICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQqLFxuXHQqOjpiZWZvcmUsXG5cdCo6OmFmdGVyIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuXHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcblx0XHRzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcblx0fVxufVxuXG4vKiBFbmhhbmNlZCBzdXBwb3J0IGZvciBuZXN0ZWQgYmxvY2sgY29udGVudCAqL1xuLmVudHJ5LWNvbnRlbnQgPiAud3AtYmxvY2stZ3JvdXAgPiAqOm5vdCguYWxpZ25mdWxsKTpub3QoLmFsaWdud2lkZSkge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpO1xufVxuXG4vKiBFbnN1cmUgcHJvcGVyIHNwYWNpbmcgZm9yIGJsb2NrIGNvbnRlbnQgKi9cbi53cC1zaXRlLWJsb2NrcyA+IC5lbnRyeS1jb250ZW50ID4gKiArICoge1xuXHRtYXJnaW4tdG9wOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlLCAxcmVtKTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UsIDFyZW0pO1xuXHR9XG59XG5cbi8qIEZhbGxiYWNrIGZvciBvbGRlciBicm93c2VycyAqL1xuQHN1cHBvcnRzIG5vdCAoZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBzdWJncmlkKSB7XG5cdC5hbGlnbmZ1bGwge1xuXHRcdGxlZnQ6IDUwJTtcblx0XHRtYXJnaW4taW5saW5lOiAtNTB2dztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cmlnaHQ6IDUwJTtcblx0XHR3aWR0aDogMTAwdnc7XG5cdH1cbn1cblxuLi1wYWQ2eGwge1xuXHRwYWRkaW5nLWlubGluZTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSkgIWltcG9ydGFudDtcblxuXHRAbWVkaWEgKC0tbWluLW1lZGl1bSkge1xuXHRcdHBhZGRpbmctaW5saW5lOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS02eGwpICFpbXBvcnRhbnQ7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBY2Nlc3NpYmlsaXR5IFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRm9jdXMgTWFuYWdlbWVudCAqL1xuOmZvY3VzIHtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtOTAwLCAjMTcxNzE3KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogUmVtb3ZlIG91dGxpbmUgZm9yIG1vdXNlIHVzZXJzIGJ1dCBrZWVwIGZvciBrZXlib2FyZCB1c2VycyAqL1xuOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG46Zm9jdXMtdmlzaWJsZSB7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTkwMCwgIzE3MTcxNyk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIEVuaGFuY2VkIGZvY3VzIGZvciBpbnRlcmFjdGl2ZSBlbGVtZW50cyAqL1xuYTpmb2N1cyxcbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMsXG5bdGFiaW5kZXhdOmZvY3VzIHtcblx0Ym94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1uZXV0cmFsLTkwMCwgIzE3MTcxNyk7XG5cdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLyogRm9jdXMgZm9yIG5hdmlnYXRpb24gbGlua3MgKi9cbi53cC1ibG9jay1uYXZpZ2F0aW9uIGE6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSwgIzAwNWNlZSk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUsICNmZmZmZmYpO1xuXHRvdXRsaW5lOiAzcHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtOTAwLCAjMTcxNzE3KTtcblx0b3V0bGluZS1vZmZzZXQ6IDNweDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBGb2N1cyBmb3IgYnV0dG9ucyAtIExldCBidXR0b24gY29tcG9uZW50IHN0eWxlcyBoYW5kbGUgdGhpcyAqL1xuLyogUmVtb3ZlZCBkdXBsaWNhdGUgYnV0dG9uIGZvY3VzIHN0eWxlcyB0byBhdm9pZCBjb25mbGljdHMgKi9cblxuLyogS2V5Ym9hcmQgTmF2aWdhdGlvbiBJbmRpY2F0b3JzICovXG4ua2V5Ym9hcmQtbmF2aWdhdGlvbiAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtID4gYTpmb2N1cyB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5LCAjMDA1Y2VlKTtcblx0Ym94LXNoYWRvdzogMCAwIDAgNnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcblx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSwgI2ZmZmZmZik7XG5cdG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC05MDAsICMxNzE3MTcpO1xuXHRvdXRsaW5lLW9mZnNldDogM3B4O1xufVxuXG4vKiBXaW5kb3dzIEhpZ2ggQ29udHJhc3QgTW9kZSBTdXBwb3J0ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuXHQ6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDNweCBzb2xpZDtcblx0XHRvdXRsaW5lLWNvbG9yOiBCdXR0b25UZXh0O1xuXHR9XG5cblx0LndwLWJsb2NrLW5hdmlnYXRpb24gYTpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQnV0dG9uVGV4dDtcblx0XHRjb2xvcjogQnV0dG9uRmFjZTtcblx0fVxuXG5cdC5za2lwLWxpbms6Zm9jdXMsXG5cdC5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEJ1dHRvblRleHQ7XG5cdFx0Y29sb3I6IEJ1dHRvbkZhY2U7XG5cdFx0b3V0bGluZTogMnB4IHNvbGlkIEJ1dHRvblRleHQ7XG5cdH1cbn1cblxuLyogUmVkdWNlZCBNb3Rpb24gU3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0Kixcblx0Kjo6YmVmb3JlLFxuXHQqOjphZnRlciB7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcblx0XHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG5cdFx0c2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyogRW5zdXJlIG1pbmltdW0gdGFyZ2V0IHNpemUgZm9yIGludGVyYWN0aXZlIGVsZW1lbnRzICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhLFxuW3JvbGU9XCJidXR0b25cIl0sXG4ud3AtYmxvY2stYnV0dG9uIGEsXG4ud3AtYmxvY2stc29jaWFsLWxpbmtzIGEsXG4ud3AtYmxvY2stc2VhcmNoX19idXR0b24sXG5uYXY6bm90KGZvb3RlciBuYXYpOm5vdCgud3AtYmxvY2stc2l0ZS1mb290ZXIgbmF2KSBhLFxuLm1lbnU6bm90KGZvb3RlciAubWVudSk6bm90KC53cC1ibG9jay1zaXRlLWZvb3RlciAubWVudSkgYSxcbi5wYWdpbmF0aW9uIGEsXG4ud3AtYmxvY2stbmF2aWdhdGlvbjpub3QoLndwLWJsb2NrLXNpdGUtZm9vdGVyIC53cC1ibG9jay1uYXZpZ2F0aW9uKSBhIHtcblx0bWluLWhlaWdodDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xufVxuXG4vKiBFeGNlcHRpb24gZm9yIGlubGluZSBjb250ZW50IGxpbmtzIC0gdGhleSBzaG91bGQgZmxvdyBuYXR1cmFsbHkgKi9cbi5lbnRyeS1jb250ZW50IGEsXG4ud3AtYmxvY2stcG9zdC1jb250ZW50IGEsXG4uaGFzLXRleHQtYWxpZ24tbGVmdCBhLFxuLmhhcy10ZXh0LWFsaWduLWNlbnRlciBhLFxuLmhhcy10ZXh0LWFsaWduLXJpZ2h0IGEsXG5wIGEsXG5saSBhOm5vdCgud3AtYmxvY2stbmF2aWdhdGlvbiBhKSxcbmJsb2NrcXVvdGUgYSxcbi53cC1ibG9jay1xdW90ZSBhIHtcblx0bWluLWhlaWdodDogYXV0bztcblx0bWluLXdpZHRoOiBhdXRvO1xufVxuXG4vKiBGb290ZXIgbGlua3MgLSBlbnN1cmUgYWRlcXVhdGUgc3BhY2luZyB3aXRob3V0IGZvcmNlZCBkaW1lbnNpb25zICovXG4ud3AtYmxvY2stc2l0ZS1mb290ZXIgYSxcbmZvb3RlciBhLFxuLnNpdGUtZm9vdGVyIGEsXG5bcm9sZT1cImNvbnRlbnRpbmZvXCJdIGEsXG4uZm9vdGVyIGEsXG4ud3AtYmxvY2stc2l0ZS1mb290ZXIgLndwLWJsb2NrLW5hdmlnYXRpb24gYSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMpIHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcbn1cblxuLyogTW9yZSBzcGVjaWZpYyBmb290ZXIgbmF2aWdhdGlvbiBoYW5kbGluZyAqL1xuLndwLWJsb2NrLXNpdGUtZm9vdGVyIC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIgYSxcbi53cC1ibG9jay1zaXRlLWZvb3RlciAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtIGEsXG5mb290ZXIgbmF2IGEsXG4uc2l0ZS1mb290ZXIgbmF2IGEge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSkgIWltcG9ydGFudDtcbn1cblxuLyogU3RhbmRhbG9uZSBsaW5rcyB0aGF0IHNob3VsZCBtYWludGFpbiB0YXJnZXQgc2l6ZSAqL1xuYTpub3QocCBhKTpub3QobGkgYSk6bm90KC5lbnRyeS1jb250ZW50IGEpOm5vdCgud3AtYmxvY2stcG9zdC1jb250ZW50IGEpOm5vdChcblx0XHQud3AtYmxvY2stc2l0ZS1mb290ZXIgYVxuXHQpOm5vdChmb290ZXIgYSk6bm90KC5zaXRlLWZvb3RlciBhKTpub3QoW3JvbGU9XCJjb250ZW50aW5mb1wiXSBhKTpub3QoXG5cdFx0Lm5hdi1sb2dvLXNlY3Rpb24gYVxuXHQpIHtcblx0bWluLWhlaWdodDogNDRweDtcblx0bWluLXdpZHRoOiA0NHB4O1xufVxuXG4vKiBGb3JtIEFjY2Vzc2liaWxpdHkgKi9cbmZpZWxkc2V0IHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbnRyYXN0LTIsICNjY2NjY2MpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdG1hcmdpbjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSwgMXJlbSkgMDtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSwgMXJlbSk7XG59XG5cbmxlZ2VuZCB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHBhZGRpbmc6IDAgdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMsIDAuNXJlbSk7XG59XG5cbi8qIEVycm9yIHN0YXRlcyBmb3IgZm9ybXMgKi9cbi5oYXMtZXJyb3IgaW5wdXQsXG4uaGFzLWVycm9yIHNlbGVjdCxcbi5oYXMtZXJyb3IgdGV4dGFyZWEge1xuXHRib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS12aXZpZC1yZWQsICNjZjJlMmUpO1xuXHRvdXRsaW5lLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdml2aWQtcmVkLCAjY2YyZTJlKTtcbn1cblxuLmVycm9yLW1lc3NhZ2Uge1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCwgI2NmMmUyZSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGwsIDAuODc1cmVtKTtcblx0bWFyZ2luLXRvcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMsIDAuNXJlbSk7XG59XG5cbi8qIFJlcXVpcmVkIGZpZWxkIGluZGljYXRvcnMgKi9cbi5yZXF1aXJlZDo6YWZ0ZXIge1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXZpdmlkLXJlZCwgI2NmMmUyZSk7XG5cdGNvbnRlbnQ6IFwiICpcIjtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogQ29sb3IgQ29udHJhc3QgVXRpbGl0aWVzICovXG4uaGlnaC1jb250cmFzdCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1jb250cmFzdCwgIzAwMDAwMCk7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZSwgI2ZmZmZmZik7XG59XG5cbi5sb3ctY29udHJhc3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29udHJhc3QtMiwgI2Y3ZjdmNyk7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29udHJhc3QsICMwMDAwMDApO1xufVxuXG4vKiBQcmludCBBY2Nlc3NpYmlsaXR5ICovXG5AbWVkaWEgcHJpbnQge1xuXHQuc2tpcC1saW5rLFxuXHQuc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcblx0fVxuXG5cdGFbaHJlZl49XCJodHRwXCJdOjphZnRlciB7XG5cdFx0Y29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG5cdH1cbn1cblxuLyogQWRkaXRpb25hbCBhY2Nlc3NpYmlsaXR5IHByb3BlcnRpZXMgKi9cbjpyb290IHtcblx0LS1mb2N1cy1vdXRsaW5lLXdpZHRoOiAycHg7XG5cdC0tZm9jdXMtb3V0bGluZS1vZmZzZXQ6IDJweDtcblx0LS1mb2N1cy1vdXRsaW5lLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC05MDAsICMxNzE3MTcpO1xuXHQtLXRhcmdldC1zaXplLW1pbjogNDRweDtcbn1cblxuLyogQVJJQSBhbmQgc2VtYW50aWMgZWxlbWVudHMgKi9cbltyb2xlPVwiYmFubmVyXCJdLFxuW3JvbGU9XCJtYWluXCJdLFxuW3JvbGU9XCJuYXZpZ2F0aW9uXCJdLFxuW3JvbGU9XCJjb250ZW50aW5mb1wiXSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogU2VhcmNoIGZvcm0gYWNjZXNzaWJpbGl0eSAqL1xuLndwLWJsb2NrLXNlYXJjaCAud3AtYmxvY2stc2VhcmNoX19pbnB1dCB7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXRhcmdldC1zaXplLW1pbik7XG59XG5cbi53cC1ibG9jay1zZWFyY2ggLndwLWJsb2NrLXNlYXJjaF9fYnV0dG9uIHtcblx0bWluLWhlaWdodDogdmFyKC0tdGFyZ2V0LXNpemUtbWluKTtcblx0bWluLXdpZHRoOiB2YXIoLS10YXJnZXQtc2l6ZS1taW4pO1xufVxuXG4vKiBTb2NpYWwgbGlua3MgYWNjZXNzaWJpbGl0eSAqL1xuLndwLWJsb2NrLXNvY2lhbC1saW5rcyBhIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXRhcmdldC1zaXplLW1pbik7XG5cdG1pbi13aWR0aDogdmFyKC0tdGFyZ2V0LXNpemUtbWluKTtcbn1cblxuLyogUmVkdWNlIG1vdGlvbiBmb3Igc3BlY2lmaWMgZWxlbWVudHMgKi9cbi5uby1tb3Rpb24gKixcbi5uby1tb3Rpb24gKjo6YmVmb3JlLFxuLm5vLW1vdGlvbiAqOjphZnRlciB7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVuaGFuY2VkIGtleWJvYXJkIG5hdmlnYXRpb24gc3R5bGVzICovXG4ua2V5Ym9hcmQtbmF2aWdhdGlvbiAud3AtYmxvY2stYnV0dG9uX19saW5rOmZvY3VzIHtcblx0b3V0bGluZTogM3B4IHNvbGlkIHZhcigtLWZvY3VzLW91dGxpbmUtY29sb3IpO1xuXHRvdXRsaW5lLW9mZnNldDogdmFyKC0tZm9jdXMtb3V0bGluZS1vZmZzZXQpO1xufVxuXG4ua2V5Ym9hcmQtbmF2aWdhdGlvbiAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtIGE6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSwgIzAwNWNlZSk7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDZweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0td2hpdGUsICNmZmZmZmYpO1xuXHRvdXRsaW5lOiAzcHggc29saWQgdmFyKC0tZm9jdXMtb3V0bGluZS1jb2xvcik7XG5cdG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi8qIEZvcmNlIHRhcmdldCBzaXplIHV0aWxpdHkgKi9cbi5mb3JjZS10YXJnZXQtc2l6ZSB7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLXRhcmdldC1zaXplLW1pbikgIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiB2YXIoLS10YXJnZXQtc2l6ZS1taW4pICFpbXBvcnRhbnQ7XG59XG5cbi5uby10YXJnZXQtc2l6ZSB7XG5cdG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5zbWFsbC1pbnRlcmFjdGl2ZSB7XG5cdG1pbi1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcblx0bWluLXdpZHRoOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRQcmltYXJ5IEJ1dHRvbiBDb21wb25lbnRcblx0UmV1c2FibGUgYnV0dG9uIHN0eWxlcyBiYXNlZCBvbiB0aGUgXCJCb29rIERlbW9cIiBkZXNpZ25cblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q1NTIEN1c3RvbSBQcm9wZXJ0aWVzIGZvciBCdXR0b25zXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcblx0LyogQnV0dG9uIENvbG9ycyAqL1xuXHQtLWJ0bi1wcmltYXJ5LWJnOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWNjZW50KTtcblx0LS1idG4tcHJpbWFyeS1ib3JkZXI6IHZhcigtLW5hdi10ZWFsKTtcblx0LS1idG4tcHJpbWFyeS10ZXh0OiB2YXIoLS1uYXYtdGV4dC1wcmltYXJ5KTtcblx0LS1idG4tcHJpbWFyeS1pY29uLWJnOiB2YXIoLS1uYXYtdGVhbCk7XG5cdC0tYnRuLXByaW1hcnktaG92ZXItYmc6IHZhcigtLW5hdi10ZWFsKTtcblx0LS1idG4tcHJpbWFyeS1ob3Zlci10ZXh0OiB2YXIoLS1uYXYtd2hpdGUpO1xuXG5cdC8qIEJ1dHRvbiBTaXppbmcgKi9cblx0LS1idG4tcHJpbWFyeS1ib3JkZXItcmFkaXVzOiAzNXB4O1xuXHQtLWJ0bi1wcmltYXJ5LWhlaWdodDogMy4yNWVtO1xuXHQtLWJ0bi1wcmltYXJ5LWZvbnQtc2l6ZTogMTUuOThweDtcblx0LS1idG4tcHJpbWFyeS1wYWRkaW5nLXZlcnRpY2FsOiAwO1xuXHQtLWJ0bi1wcmltYXJ5LXBhZGRpbmctaG9yaXpvbnRhbDogMWVtO1xuXHQtLWJ0bi1wcmltYXJ5LWljb24tdGV4dC1nYXA6IDEwcHg7XG5cblx0LyogQnV0dG9uIEFuaW1hdGlvbiAqL1xuXHQtLWJ0bi1wcmltYXJ5LXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFByaW1hcnkgQnV0dG9uIEJhc2UgU3R5bGVzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5idG4tcHJpbWFyeSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWJnKTtcblx0Ym9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1idG4tcHJpbWFyeS1ib3JkZXItcmFkaXVzKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLW5hdi1mb250LWZhbWlseSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tYnRuLXByaW1hcnktZm9udC1zaXplKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLW5hdi1mb250LXdlaWdodC1ib2xkKTtcblx0aGVpZ2h0OiB2YXIoLS1idG4tcHJpbWFyeS1oZWlnaHQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbmF2LWxpbmUtaGVpZ2h0KTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tYnRuLXByaW1hcnktcGFkZGluZy1ob3Jpem9udGFsKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1idG4tcHJpbWFyeS10cmFuc2l0aW9uKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0QG1lZGlhICgtLW1pbi1sYXJnZSkge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0JiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWNjZW50KTtcblx0XHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xuXHR9XG5cblx0Ji52YXJpYW50LXNtYWxsIHtcblx0XHQtLWJ0bi1wcmltYXJ5LWhlaWdodDogMi43NWVtO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWJ0bi1wcmltYXJ5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG5cblx0XHQmIC5idG4tdGV4dCB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWJ0bi1wcmltYXJ5LWhlaWdodCk7XG5cdFx0fVxuXHR9XG5cblx0LyogQnV0dG9uIHRleHQgKi9cblx0JiAuYnRuLXRleHQge1xuXHRcdGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS10ZXh0KTtcblx0XHRwYWRkaW5nLWxlZnQ6IDE2cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb246IHZhcigtLWJ0bi1wcmltYXJ5LXRyYW5zaXRpb24pO1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMFxuXHRcdFx0XHRjYWxjKHZhcigtLWJ0bi1wcmltYXJ5LWhlaWdodCkgKyB2YXIoLS1idG4tcHJpbWFyeS1pY29uLXRleHQtZ2FwKSk7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0LyogQnV0dG9uIGljb24gY29udGFpbmVyICovXG5cdCYgLmJ0bi1pY29uIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGFzcGVjdC1yYXRpbzogMS8xO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltYXJ5LWljb24tYmcpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRjb2xvcjogdmFyKC0tbmF2LXdoaXRlKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRsZWZ0OiAwO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb246IHZhcigtLWJ0bi1wcmltYXJ5LXRyYW5zaXRpb24pO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LyogQnV0dG9uIGljb24gU1ZHICovXG5cdCYgLmJ0bi1pY29uIHN2ZyB7XG5cdFx0aGVpZ2h0OiAzNSU7XG5cdFx0dHJhbnNpdGlvbjogdmFyKC0tYnRuLXByaW1hcnktdHJhbnNpdGlvbik7XG5cdFx0d2lkdGg6IDM1JTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRQcmltYXJ5IEJ1dHRvbiBIb3ZlciAmIEZvY3VzIFN0YXRlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnRuLXByaW1hcnk6aG92ZXIsXG4uYnRuLXByaW1hcnk6Zm9jdXMge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1ob3Zlci1iZyk7XG5cblx0Ji52YXJpYW50LXNtYWxsIHtcblx0XHQmIC5idG4tdGV4dCB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1idG4tcHJpbWFyeS1oZWlnaHQpICogLTAuNzUpKTtcblx0XHR9XG5cdH1cblxuXHQmIC5idG4tdGV4dCB7XG5cdFx0Y29sb3I6IHZhcigtLWJ0bi1wcmltYXJ5LWhvdmVyLXRleHQpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKHZhcigtLWJ0bi1wcmltYXJ5LWhlaWdodCkgKiAtMC43NSkpO1xuXHR9XG5cblx0JiAuYnRuLWljb24ge1xuXHRcdGxlZnQ6IGNhbGMoMTAwJSAtIHZhcigtLWJ0bi1wcmltYXJ5LWhlaWdodCkpO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblxuXHRcdCYgc3ZnIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHR9XG5cdH1cbn1cblxuLmJ0bi1wcmltYXJ5OmZvY3VzIHtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLW5hdi1uYXZ5KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0QnV0dG9uIFZhcmlhbnRzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFNlY29uZGFyeSBCdXR0b24gKi9cbi5idG4tc2Vjb25kYXJ5IHtcblx0LS1idG4tcHJpbWFyeS1iZzogdHJhbnNwYXJlbnQ7XG5cdC0tYnRuLXByaW1hcnktYm9yZGVyOiB2YXIoLS1uYXYtdGV4dC1wcmltYXJ5KTtcblx0LS1idG4tcHJpbWFyeS1pY29uLWJnOiB2YXIoLS1uYXYtdGV4dC1wcmltYXJ5KTtcblx0LS1idG4tcHJpbWFyeS1ob3Zlci1iZzogdmFyKC0tbmF2LXRleHQtcHJpbWFyeSk7XG59XG5cbi8qIFNtYWxsIEJ1dHRvbiAqL1xuLmJ0bi1zbWFsbCB7XG5cdC0tYnRuLXByaW1hcnktaGVpZ2h0OiAyLjc1ZW07XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyogTGFyZ2UgQnV0dG9uICovXG4uYnRuLWxhcmdlIHtcblx0LS1idG4tcHJpbWFyeS1oZWlnaHQ6IDRlbTtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRBY2Nlc3NpYmlsaXR5ICYgUmVkdWNlZCBNb3Rpb25cblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0LmJ0bi1wcmltYXJ5LFxuXHQuYnRuLXByaW1hcnkgLmJ0bi10ZXh0LFxuXHQuYnRuLXByaW1hcnkgLmJ0bi1pY29uLFxuXHQuYnRuLXByaW1hcnkgLmJ0bi1pY29uIHN2ZyB7XG5cdFx0dHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEJ1dHRvbiBTdGF0ZXMgZm9yIEludGVyYWN0aW9uXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5idG4tcHJpbWFyeTphY3RpdmUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbn1cblxuLmJ0bi1wcmltYXJ5OmRpc2FibGVkLFxuLmJ0bi1wcmltYXJ5W2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuLmJ0bi1wcmltYXJ5LmJ0bi1kaXNhYmxlZCB7XG5cdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdG9wYWNpdHk6IDAuNjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iLCIvKipcbiAqIENhcmQgQ29tcG9uZW50IFN5c3RlbVxuICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIENhcmQgU3RydWN0dXJlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmVlZCxcbi53cC1ibG9jay1xdWVyeSB7XG5cdCYgLmNhcmQ6bm90KC5jYXJkLS1qb2IpOjphZnRlciB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeS1hY2NlbnQpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMTA2IDE0JyUzRSUzQ3BhdGggZmlsbD0nJTIzMDAzMDQ0JyBkPSdNOC42NjcgMS4xOThjLTMuODYzIDAtNy4xNjMgMi40ODgtOC41IDYgMS4zMzcgMy41MTIgNC42MzcgNiA4LjUgNiAzLjg2NCAwIDcuMTY0LTIuNDg4IDguNS02LTEuMzM3LTMuNTEyLTQuNjM2LTYtOC41LTZabTAgMTBjLTIuMTMyIDAtMy44NjMtMS43OTItMy44NjMtNHMxLjczLTQgMy44NjMtNCAzLjg2NCAxLjc5MiAzLjg2NCA0LTEuNzMgNC0zLjg2NCA0Wm0wLTYuNGMtMS4yODIgMC0yLjMxOCAxLjA3Mi0yLjMxOCAyLjQgMCAxLjMyOCAxLjAzNiAyLjQgMi4zMTggMi40IDEuMjgzIDAgMi4zMTktMS4wNzIgMi4zMTktMi40IDAtMS4zMjgtMS4wMzYtMi40LTIuMzE5LTIuNFpNMzMuMDA3IDEwLjQ0NmwyLjgtOC40OGgyLjg5NkwzNC43MiAxMy4xOThoLTMuNDI0TDI3LjMxMSAxLjk2NmgyLjkxMmwyLjc4NCA4LjQ4Wm02Ljg0IDIuNzUyVjQuMjdoMi43MzZ2OC45MjhoLTIuNzM2Wm0xLjM3Ni05Ljg1NmMtLjk3NiAwLTEuNjMyLS42NTYtMS42MzItMS40NzIgMC0uODMyLjY1Ni0xLjQ4OCAxLjYzMi0xLjQ4OC45NiAwIDEuNjE2LjY1NiAxLjYxNiAxLjQ4OCAwIC44MTYtLjY1NiAxLjQ3Mi0xLjYxNiAxLjQ3MlptNy4yNzkgMi45OTJjLS44OTYgMC0xLjU4NC41NDQtMS43NDQgMS41MzZoMy40MjRjMC0uOTc2LS43NjgtMS41MzYtMS42OC0xLjUzNlptNC4yNzIgMy45MDRjLS40MzIgMS43NDQtMi4wMTYgMy4wODgtNC4yNCAzLjA4OC0yLjYyNCAwLTQuNTEyLTEuNzYtNC41MTItNC41OTJzMS44NTYtNC41OTIgNC41MTItNC41OTJjMi42MDggMCA0LjQ0OCAxLjcyOCA0LjQ0OCA0LjQ0OCAwIC4yNTYtLjAxNi41MjgtLjA0OC44aC02LjE5MmMuMDk2IDEuMTY4LjgxNiAxLjcxMiAxLjY5NiAxLjcxMi43NjggMCAxLjItLjM4NCAxLjQyNC0uODY0aDIuOTEyWm0zLjE1NSAyLjk2TDUzLjQ5NyA0LjI3aDIuNzM2bDEuMjY0IDYuMzg0IDEuNTA0LTYuMzg0aDIuODk2bDEuNTIgNi4zNTIgMS4yNDgtNi4zNTJoMi41NzZsLTIuNDE2IDguOTI4aC0zLjAyNGwtMS40MDgtNS43OTItMS40NTYgNS43OTJoLTMuMDA4Wk03NC40MTEgNi45OWgxLjQ4OGMxLjA4OCAwIDEuNTUyLS41NDQgMS41NTItMS40MDggMC0uODY0LS40NjQtMS40MDgtMS41NTItMS40MDhoLTEuNDg4VjYuOTlabTUuODI0LTEuNDA4YzAgMS44NTYtMS4yNjQgMy41ODQtNC4xMjggMy41ODRoLTEuNjk2djQuMDMyaC0yLjczNlYxLjk2Nmg0LjQzMmMyLjc1MiAwIDQuMTI4IDEuNTUyIDQuMTI4IDMuNjE2Wm0xMC4xNiAzLjE1MmMwIDIuODMyLTIuMDQ4IDQuNTkyLTQuNjcyIDQuNTkyLTIuNjI0IDAtNC42MDgtMS43Ni00LjYwOC00LjU5MnMyLjAzMi00LjU5MiA0LjY0LTQuNTkyYzIuNjI0IDAgNC42NCAxLjc2IDQuNjQgNC41OTJabS02LjQ5NiAwYzAgMS41MDQuODMyIDIuMjI0IDEuODI0IDIuMjI0Ljk3NiAwIDEuODg4LS43MiAxLjg4OC0yLjIyNCAwLTEuNTItLjg5Ni0yLjIyNC0xLjg1Ni0yLjIyNC0uOTkyIDAtMS44NTYuNzA0LTEuODU2IDIuMjI0Wm0xNS4xOTYgMS44NzJjMCAxLjU1Mi0xLjM3NiAyLjcyLTMuNjE2IDIuNzItMi4zODQgMC0zLjk4NC0xLjMyOC00LjExMi0zLjA1NmgyLjcwNGMuMDY0LjYyNC42MjQgMS4wNCAxLjM3NiAxLjA0LjcwNCAwIDEuMDcyLS4zMiAxLjA3Mi0uNzIgMC0xLjQ0LTQuODY0LS40LTQuODY0LTMuNjggMC0xLjUyIDEuMjk2LTIuNzY4IDMuNjMyLTIuNzY4IDIuMzA0IDAgMy41ODQgMS4yOCAzLjc2IDMuMDRoLTIuNTI4Yy0uMDgtLjYwOC0uNTQ0LTEuMDA4LTEuMzEyLTEuMDA4LS42NCAwLS45OTIuMjU2LS45OTIuNjg4IDAgMS40MjQgNC44MzIuNDE2IDQuODggMy43NDRabTIuMTA2LS41MTJWNi41NDJoLTEuMDg4VjQuMjdoMS4wODhWMi4wOTRoMi43MzZWNC4yN2gxLjc5MnYyLjI3MmgtMS43OTJ2My41ODRjMCAuNTI4LjIyNC43NTIuODMyLjc1MmguOTc2djIuMzJoLTEuMzkyYy0xLjg1NiAwLTMuMTUyLS43ODQtMy4xNTItMy4xMDRaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTA3cHggMThweDtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgMjBweCAyMHB4O1xuXHRcdGJvdHRvbTogMDtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tcG9wcGlucyk7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtKTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtYXgtaGVpZ2h0OiA1MHB4O1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc20pIHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0dHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tYmFzZSksXG5cdFx0XHRvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ei1pbmRleDogLTE7XG5cdH1cblxuXHQmIC5jYXJkLmNhcmQtLWhvdmVyOm5vdCguY2FyZC0tam9iKSxcblx0JiAuY2FyZDpmb2N1cy13aXRoaW46bm90KC5jYXJkLS1qb2IpIHtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwJSAtIDUwcHgpO1xuXG5cdFx0JiAuY2FyZF9fY29udGVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRcdCYgLmNhcmRfX3RpdGxlIGEge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYgLmNhcmRfX21ldGEge1xuXHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSkgIWltcG9ydGFudDtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuXHRcdH1cblx0fVxuXG5cdCYgLmNhcmRfX2ltYWdlIHtcblx0XHRhc3BlY3QtcmF0aW86IDE4IC8gMTE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0JiBpbWcsXG5cdFx0JiBwaWN0dXJlIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdH1cblx0fVxufVxuXG4uY2FyZCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXdwLS1wcmVzZXQtLWJvcmRlci1yYWRpdXMtLTJ4bCk7IC8qIDIwcHggKi9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuXG5cdCYuY2FyZC0tam9iIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlLTMpO1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpO1xuXHRcdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcblxuXHRcdCYgLmNhcmRfX2ltYWdlLWNvbnRhaW5lciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZS0yKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0fVxuXG5cdFx0JiAuY2FyZF9faW1hZ2Uge1xuXHRcdFx0YXNwZWN0LXJhdGlvOiAyMyAvIDg7XG5cdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdH1cblxuXHRcdCYgLmNhcmRfX2NvbnRlbnQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufVxuXG4vKiBDYXJkIEltYWdlIENvbnRhaW5lciAqL1xuLmNhcmRfX2ltYWdlLWNvbnRhaW5lciB7XG5cdGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG5cdGZsZXg6IDE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIENhcmQgQ29udGVudCAqL1xuLmNhcmRfX2NvbnRlbnQge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeS1hY2NlbnQpO1xuXHRib3JkZXItcmFkaXVzOiAwIDAgMjBweCAyMHB4O1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpIHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKVxuXHRcdHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG5cdHRyYW5zaXRpb246XG5cdFx0YmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpLFxuXHRcdGJvcmRlci1yYWRpdXMgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0JiAud3AtYmxvY2staHlwZXJsb2NvbG9neS1yZWFkaW5nLXRpbWUge1xuXHRcdG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLyogQ2FyZCBDYXRlZ29yeSBCYWRnZSAqL1xuLmNhcmRfX2NhdGVnb3J5IHtcblx0YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tbGcpO1xuXHRib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcblx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xuXHRmb250LWZhbWlseTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXBvcHBpbnMpO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc20pO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsZWZ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWJhc2UpO1xuXHR6LWluZGV4OiAyO1xuXG5cdCYgPiBhIHtcblx0XHRjb2xvcjogY3VycmVudGNvbG9yO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogY3VycmVudGNvbG9yO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXG5cdFx0Jjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYgPiBzcGFuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIENhcmQgTWV0YSBJbmZvcm1hdGlvbiAqL1xuLmNhcmRfX21ldGEge1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0tcG9wcGlucyk7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbSk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdG1hcmdpbjogMDtcblx0dHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcbn1cblxuLyogQ2FyZCBUaXRsZSAqL1xuLmNhcmRfX3RpdGxlIHtcblx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xuXHRmb250LWZhbWlseTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLXBvcHBpbnMpO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tbGcpO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW46IDA7XG5cblx0JiBhIHtcblx0XHQtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xuXHRcdC13ZWJraXQtbGluZS1jbGFtcDogMztcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdCZbY2xhc3MqPVwidGF4b25vbXktY3VzdG9tZXItc3RvcnlcIl0ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcmQgU2l6ZSBWYXJpYW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmNhcmQtLWxhcmdlIC5jYXJkX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14bCk7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jYXJkLS1tZWRpdW0gLmNhcmRfX3RpdGxlIHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxnKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmNhcmQtLXNtYWxsIC5jYXJkX190aXRsZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1iYXNlKTtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcmQgR3JpZCBMYXlvdXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBCYXNlIEdyaWQgKi9cbi5jYXJkLWdyaWQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTJ4bCk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcblxuXHQmID4gKiB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG4vKiBHcmlkIENvbHVtbiBWYXJpYW50cyAqL1xuLmNhcmQtZ3JpZC0tMy1jb2xzIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbn1cblxuLmNhcmQtZ3JpZC0tMi1jb2xzIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbn1cblxuLmNhcmQtZ3JpZC0tMS1jb2wge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc3BvbnNpdmUgRGVzaWduXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5jYXJkLWdyaWQtLTMtY29scyB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmNhcmQtZ3JpZCxcblx0LmNhcmQtZ3JpZC0tMy1jb2xzLFxuXHQuY2FyZC1ncmlkLS0yLWNvbHMge1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGcpO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG5cblx0LmNhcmRfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcblx0fVxuXG5cdC5jYXJkX190aXRsZSB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWJhc2UpO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBY2Nlc3NpYmlsaXR5IEVuaGFuY2VtZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRm9jdXMgU3RhdGVzICovXG4uY2FyZDpmb2N1cy13aXRoaW4ge1xuXHRib3gtc2hhZG93OiB2YXIoLS13cC0tcHJlc2V0LS1zaGFkb3ctLWxnKTtcblx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogSGlnaCBDb250cmFzdCBNb2RlICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIHtcblx0LmNhcmQge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xuXHR9XG5cblx0LmNhcmRfX2NhdGVnb3J5IHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0fVxufVxuXG4vKiBSZWR1Y2VkIE1vdGlvbiAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0LmNhcmQsXG5cdC5jYXJkX190aXRsZSBhIHtcblx0XHR0cmFuc2l0aW9uOiBub25lO1xuXHR9XG5cblx0LmNhcmQ6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuIiwiLyogQ2hlY2sgTGlzdCBDb21wb25lbnQgKi9cbi53cC1ibG9jay1saXN0LmNoZWNrLWxpc3QsXG4ud3AtYmxvY2stbGlzdC5pcy1zdHlsZS1jaGVjay1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teGwpIDA7XG59XG5cbi53cC1ibG9jay1saXN0LmNoZWNrLWxpc3QgbGksXG4ud3AtYmxvY2stbGlzdC5pcy1zdHlsZS1jaGVjay1saXN0IGxpIHtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14bCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xuXHR9XG59XG5cbi5jaGVjay1saXN0IGxpOjpiZWZvcmUsXG4uaXMtc3R5bGUtY2hlY2stbGlzdCBsaTo6YmVmb3JlIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YXNwZWN0LXJhdGlvOiAxIC8gMTtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMzA0NDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0Y29udGVudDogXCLinJNcIjtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtKTtcblx0aGVpZ2h0OiAxLjc1cmVtO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bGVmdDogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMS43NXJlbTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5jaGVjay1saXN0IGxpLFxuXHQuaXMtc3R5bGUtY2hlY2stbGlzdCBsaSxcblx0LmlzLXN0eWxlLWNoZWNrLWxpc3Qtb3V0bGluZSBsaSxcblx0LmlzLXN0eWxlLWNoZWNrLWxpc3Qtc3VjY2VzcyBsaSxcblx0LmlzLXN0eWxlLWNoZWNrLWxpc3QtcHJpbWFyeSBsaSxcblx0LmlzLXN0eWxlLWNoZWNrLWxpc3Qtc2Vjb25kYXJ5IGxpIHtcblx0XHRnYXA6IDAuNXJlbTtcblx0fVxuXG5cdC5jaGVjay1saXN0IGxpOjpiZWZvcmUsXG5cdC5pcy1zdHlsZS1jaGVjay1saXN0IGxpOjpiZWZvcmUsXG5cdC5pcy1zdHlsZS1jaGVjay1saXN0LW91dGxpbmUgbGk6OmJlZm9yZSxcblx0LmlzLXN0eWxlLWNoZWNrLWxpc3Qtc3VjY2VzcyBsaTo6YmVmb3JlLFxuXHQuaXMtc3R5bGUtY2hlY2stbGlzdC1wcmltYXJ5IGxpOjpiZWZvcmUsXG5cdC5pcy1zdHlsZS1jaGVjay1saXN0LXNlY29uZGFyeSBsaTo6YmVmb3JlIHtcblx0XHRoZWlnaHQ6IDEuNXJlbTtcblx0XHR3aWR0aDogMS41cmVtO1xuXHR9XG59XG5cbi8qIE91dGxpbmUgc3R5bGUgY2hlY2sgaWNvbnMgKi9cbi5jaGVjay1saXN0Lm91dGxpbmUtc3R5bGUsXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1vdXRsaW5lIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2stbGlzdC5vdXRsaW5lLXN0eWxlIGxpLFxuLmlzLXN0eWxlLWNoZWNrLWxpc3Qtb3V0bGluZSBsaSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC42MjVyZW07XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2hlY2stbGlzdC5vdXRsaW5lLXN0eWxlIGxpOjpiZWZvcmUsXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1vdXRsaW5lIGxpOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAycHggc29saWQgIzAwMzA0NDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRoZWlnaHQ6IDEuNzVyZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEuNzVyZW07XG59XG5cbi8qIFN1Y2Nlc3Mgc3R5bGUgY2hlY2sgaWNvbnMgKi9cbi5jaGVjay1saXN0LnN1Y2Nlc3MsXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1zdWNjZXNzIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2stbGlzdC5zdWNjZXNzIGxpLFxuLmlzLXN0eWxlLWNoZWNrLWxpc3Qtc3VjY2VzcyBsaSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC42MjVyZW07XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2hlY2stbGlzdC5zdWNjZXNzIGxpOjpiZWZvcmUsXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1zdWNjZXNzIGxpOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjJjNTVlO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ZmxleC1zaHJpbms6IDA7XG5cdGhlaWdodDogMS43NXJlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMS43NXJlbTtcbn1cblxuLyogUHJpbWFyeSBzdHlsZSBjaGVjayBpY29ucyAqL1xuLmNoZWNrLWxpc3QucHJpbWFyeSxcbi5pcy1zdHlsZS1jaGVjay1saXN0LXByaW1hcnkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jaGVjay1saXN0LnByaW1hcnkgbGksXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1wcmltYXJ5IGxpIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjYyNXJlbTtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jaGVjay1saXN0LnByaW1hcnkgbGk6OmJlZm9yZSxcbi5pcy1zdHlsZS1jaGVjay1saXN0LXByaW1hcnkgbGk6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5LCAjMDAzMDQ0KTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRoZWlnaHQ6IDEuNzVyZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEuNzVyZW07XG59XG5cbi8qIFNlY29uZGFyeSBzdHlsZSBjaGVjayBpY29ucyAqL1xuLmNoZWNrLWxpc3Quc2Vjb25kYXJ5LFxuLmlzLXN0eWxlLWNoZWNrLWxpc3Qtc2Vjb25kYXJ5IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uY2hlY2stbGlzdC5zZWNvbmRhcnkgbGksXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1zZWNvbmRhcnkgbGkge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDAuNjI1cmVtO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNoZWNrLWxpc3Quc2Vjb25kYXJ5IGxpOjpiZWZvcmUsXG4uaXMtc3R5bGUtY2hlY2stbGlzdC1zZWNvbmRhcnkgbGk6OmJlZm9yZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnksICM2NjY2NjYpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ZmxleC1zaHJpbms6IDA7XG5cdGhlaWdodDogMS43NXJlbTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMS43NXJlbTtcbn1cblxuLyogQ2hlY2sgTGlzdCBDb21wb25lbnQgU3R5bGVzICovXG4uaXMtc3R5bGUtY2hlY2stbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdHBhZGRpbmctbGVmdDogMDtcblxuXHQmIGxpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cbn1cbiIsIi8qKlxuICogQ3VzdG9tZXIgU3RvcmllcyBGZWVkIFN0eWxlc1xuICpcbiAqIExheW91dC1zcGVjaWZpYyBzdHlsZXMgZm9yIGN1c3RvbWVyIHN0b3J5IGZlZWRzLlxuICogQ2FyZCBzdHlsaW5nIGlzIG5vdyBoYW5kbGVkIGJ5IHRoZSB1bmlmaWVkIGNhcmRzIGNvbXBvbmVudC5cbiAqXG4gKiBAcGFja2FnZSBIeXBlcmxvY29sb2d5XG4gKiBAc2luY2UgMS4wLjBcbiAqL1xuXG4vKiBDdXN0b21lciBTdG9yaWVzIEZlZWQgQ29udGFpbmVyICovXG4uY3VzdG9tZXItc3Rvcmllcy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcblxuXHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG5cdH1cblxuXHQmID4gKiB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG4vKiBHcmlkIHZhcmlhbnRzIHVzaW5nIHVuaWZpZWQgY2FyZCBncmlkIHN0eWxlcyAqL1xuLmN1c3RvbWVyLXN0b3JpZXMtZ3JpZC0tMy1jb2xzIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbn1cblxuLmN1c3RvbWVyLXN0b3JpZXMtZ3JpZC0tMi1jb2xzIHtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbn1cblxuLmN1c3RvbWVyLXN0b3JpZXMtZ3JpZC0tMS1jb2wge1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AaW1wb3J0IFwiLi4vZ2xvYmFsL3ZhcmlhYmxlcy5jc3NcIjtcblxuLyogRm9vdGVyIENvbnRhaW5lciAqL1xuLmZvb3Rlci1jb250YWluZXIge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblxuXHQmIC5oeXBlcmxvY29sb2d5LWxvZ28tYmxvY2sge1xuXHRcdHBhZGRpbmc6IDA7XG5cblx0XHQmIHN2ZyB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAyMzBweDtcblx0XHR9XG5cdH1cblxuXHQmIC53cC1ibG9jay1ncm91cC1pcy1sYXlvdXQtZ3JpZCB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAbWVkaWEgKC0tbWluLW1lZGl1bSkge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNzBweCwgMWZyKSk7XG5cdFx0XHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblxuXHRcdCYgPiA6Zmlyc3QtY2hpbGQge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRcdEBtZWRpYSAoLS1taW4tbGFyZ2UpIHtcblx0XHRcdFx0Z3JpZC1jb2x1bW46IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiAud3AtYmxvY2stc29jaWFsLWxpbmtzIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdEBtZWRpYSAoLS1taW4tbWVkaXVtKSB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXHR9XG5cblx0JiAud3AtYmxvY2stbmF2aWdhdGlvbiB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAbWVkaWEgKC0tbWluLW1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdCYgLndwLWJsb2NrLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG5cdFx0XHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xuXHRcdH1cblxuXHRcdCYgbGkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0JiBhIHtcblx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgLndwLWJsb2NrLXNlcGFyYXRvciB7XG5cdFx0bWF4LXdpZHRoOiB2YXIoLS13cC0tc3R5bGUtLWdsb2JhbC0td2lkZS1zaXplKTtcblx0fVxuXG5cdCYgLmFkZHJlc3Mge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cblxuXHQmIC5jb3B5cmlnaHQtbm90aWNlIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAbWVkaWEgKC0tbWluLW1lZGl1bSkge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdCYgLmZvb3Rlci1ib3R0b20ge1xuXHRcdCYgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SHlwZXJsb2NvbG9neSBOYXZpZ2F0aW9uIC0gRmlnbWEgRGVzaWduIEltcGxlbWVudGF0aW9uXG5cdE1vZGVybiBuYXZpZ2F0aW9uIHdpdGggcm91bmRlZCBjb250YWluZXIgYW5kIHNwZWNpZmljIGNvbG9yIHNjaGVtZVxuXHRDb2xvcnM6IE5hdnkgKCMwMDMwNDQpLCBBREEgVGVhbCAoIzBBQTM5QyksIExpZ2h0IEJhY2tncm91bmQgKCNmMGZhZjkpXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdENTUyBDdXN0b20gUHJvcGVydGllc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG5cdC8qIEh5cGVybG9jb2xvZ3kgQnJhbmQgQ29sb3JzICovXG5cdC0tbmF2LW5hdnk6ICMwMDMwNDQ7XG5cdC0tbmF2LXRlYWw6ICMwYWEzOWM7XG5cdC0tbmF2LXdoaXRlOiAjZmZmZmZmO1xuXHQtLW5hdi1iZy1saWdodDogI2YwZmFmOTtcblx0LS1uYXYtdGV4dC1wcmltYXJ5OiB2YXIoLS1uYXYtbmF2eSk7XG5cblx0LyogVHlwb2dyYXBoeSAqL1xuXHQtLW5hdi1mb250LWZhbWlseTpcblx0XHRcIlBvcHBpbnNcIiwgLWFwcGxlLXN5c3RlbSwgYmxpbmttYWNzeXN0ZW1mb250LCBcIlNlZ29lIFVJXCIsIHJvYm90bywgc2Fucy1zZXJpZjtcblx0LS1uYXYtZm9udC1zaXplOiAxNnB4O1xuXHQtLW5hdi1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcblx0LS1uYXYtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcblx0LS1uYXYtZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuXHQtLW5hdi1saW5lLWhlaWdodDogMS4xO1xuXG5cdC8qIExheW91dCAqL1xuXHQtLW5hdi1jb250YWluZXItcGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMnhsKTtcblx0LS1uYXYtaW5uZXItcGFkZGluZzogMjBweCAyNnB4O1xuXHQtLW5hdi1nYXA6IDE2cHg7XG5cdC0tbmF2LWJvcmRlci1yYWRpdXM6IDM1cHg7XG5cdC0tbmF2LWJ0bi1ib3JkZXItcmFkaXVzOiAzNXB4O1xuXHQtLW5hdi1idG4taWNvbi1zaXplOiA0MnB4O1xuXG5cdC8qIFRyYW5zaXRpb25zICovXG5cdC0tbmF2LXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblx0LS1uYXYtdHJhbnNpdGlvbi1mYXN0OiBhbGwgMC4ycyBlYXNlO1xuXG5cdC8qIFotSW5kZXggKi9cblx0LS1oZWFkZXItei1pbmRleDogMTAwO1xuXHQtLW5hdi1tb2JpbGUtei1pbmRleDogMTAxMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0SGVhZGVyIEJhc2UgU3R5bGVzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zaXRlLWhlYWRlci5oeXBlcmxvY29sb2d5LW5hdiB7XG5cdHBhZGRpbmc6IDE2cHggdmFyKC0tbmF2LWNvbnRhaW5lci1wYWRkaW5nKTtcblx0ei1pbmRleDogdmFyKC0taGVhZGVyLXotaW5kZXgpO1xuXG5cdCY6bm90KC5ibG9jay1lZGl0b3ItYmxvY2stbGlzdF9fYmxvY2spIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdH1cbn1cblxuLm5hdi1vdXRlci1jb250YWluZXIge1xuXHRhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLW5hdi1iZy1saWdodCk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLW5hdi1ib3JkZXItcmFkaXVzKTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IDEyMDBweDtcblx0bWluLWhlaWdodDogNjBweDtcblx0cGFkZGluZzogdmFyKC0tbmF2LWlubmVyLXBhZGRpbmcpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRMb2dvIFNlY3Rpb24gLSBXb3JkUHJlc3MgU2l0ZSBMb2dvIEJsb2NrXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5uYXYtbG9nby1zZWN0aW9uIHtcblx0ZmxleC1zaHJpbms6IDA7XG59XG5cbi5uYXYtbG9nby1zZWN0aW9uIC53cC1ibG9jay1zaXRlLWxvZ28ge1xuXHRtYXJnaW46IDA7XG59XG5cbi5uYXYtbG9nby1zZWN0aW9uIC53cC1ibG9jay1zaXRlLWxvZ28gYSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IDEwcHg7XG59XG5cbi5uYXYtbG9nby1zZWN0aW9uIC53cC1ibG9jay1zaXRlLWxvZ28gaW1nLFxuLm5hdi1sb2dvLXNlY3Rpb24gLndwLWJsb2NrLXNpdGUtbG9nbyBzdmcge1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogMTYycHg7XG5cdHdpZHRoOiAxNjJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0V29yZFByZXNzIE5hdmlnYXRpb24gQmxvY2tcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByaW1hcnktbmF2LW1lbnUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogV29yZFByZXNzIE5hdmlnYXRpb24gQmxvY2sgQ29udGFpbmVyIC0gaW5oZXJpdHMgZnJvbSBzaGFyZWQgYmFzZSBzdHlsZXMgKi9cbi53cC1ibG9jay1uYXZpZ2F0aW9uLnByaW1hcnktbmF2LW1lbnUge1xuXHRwb3NpdGlvbjogc3RhdGljO1xufVxuXG4vKiBOYXZpZ2F0aW9uIGJsb2NrIGNvbnRhaW5lciBhbmQgaXRlbXMgaW5oZXJpdCBmcm9tIHNoYXJlZCBiYXNlIHN0eWxlcyBpbiBwcmltYXJ5LW5hdi5jc3MgKi9cbi8qIExpbmtzLCBob3ZlciBzdGF0ZXMsIGFuZCBmb2N1cyBzdGF0ZXMgYXJlIGRlZmluZWQgaW4gdGhlIHNoYXJlZCBiYXNlIHN0eWxlcyAqL1xuXG4vKiBEcm9wZG93biBNZW51cyAqL1xuLndwLWJsb2NrLW5hdmlnYXRpb24ucHJpbWFyeS1uYXYtbWVudSAud3AtYmxvY2stbmF2aWdhdGlvbl9fc3VibWVudS1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1uYXYtd2hpdGUpO1xuXHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cdGxlZnQ6IDUwJTtcblx0bWluLXdpZHRoOiAyMDBweDtcblx0b3BhY2l0eTogMDtcblx0cGFkZGluZzogMTJweCAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTAwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1uYXYtdHJhbnNpdGlvbik7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0ei1pbmRleDogMTAwMDtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24ucHJpbWFyeS1uYXYtbWVudVxuXHQud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtOmhvdmVyXG5cdC53cC1ibG9jay1uYXZpZ2F0aW9uX19zdWJtZW51LWNvbnRhaW5lcixcbi53cC1ibG9jay1uYXZpZ2F0aW9uLnByaW1hcnktbmF2LW1lbnVcblx0LndwLWJsb2NrLW5hdmlnYXRpb24taXRlbTpmb2N1cy13aXRoaW5cblx0LndwLWJsb2NrLW5hdmlnYXRpb25fX3N1Ym1lbnUtY29udGFpbmVyIHtcblx0b3BhY2l0eTogMTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24ucHJpbWFyeS1uYXYtbWVudVxuXHQud3AtYmxvY2stbmF2aWdhdGlvbl9fc3VibWVudS1jb250YWluZXJcblx0LndwLWJsb2NrLW5hdmlnYXRpb24taXRlbV9fY29udGVudCB7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0Y29sb3I6IHZhcigtLW5hdi10ZXh0LXByaW1hcnkpO1xuXHRtYXJnaW46IDAgOHB4O1xuXHRwYWRkaW5nOiA4cHggMjBweDtcbn1cblxuLndwLWJsb2NrLW5hdmlnYXRpb24ucHJpbWFyeS1uYXYtbWVudVxuXHQud3AtYmxvY2stbmF2aWdhdGlvbl9fc3VibWVudS1jb250YWluZXJcblx0LndwLWJsb2NrLW5hdmlnYXRpb24taXRlbV9fY29udGVudDpob3ZlciB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjEpO1xuXHRjb2xvcjogdmFyKC0tbmF2LXRlYWwpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHROYXZpZ2F0aW9uIEFjdGlvbnMgKFV0aWxpdHkgTmF2ICYgQm9vayBEZW1vKVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubmF2LWFjdGlvbnMge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IDEycHg7XG5cblx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG5cdFx0Ji53cC1ibG9jay1ncm91cC5pcy1sYXlvdXQtZmxleCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuLyogVXRpbGl0eSBOYXZpZ2F0aW9uIFN0eWxlcyAtIGluaGVyaXRzIGZyb20gc2hhcmVkIGJhc2Ugc3R5bGVzICovXG4ud3AtYmxvY2stbmF2aWdhdGlvbi51dGlsaXR5LW5hdiB7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi53cC1ibG9jay1uYXZpZ2F0aW9uLnV0aWxpdHktbmF2IC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuXHRnYXA6IDEycHg7IC8qIE92ZXJyaWRlIGRlZmF1bHQgZ2FwIGZvciB1dGlsaXR5IG5hdiAqL1xufVxuXG4ud3AtYmxvY2stbmF2aWdhdGlvbi51dGlsaXR5LW5hdiAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50IHtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7IC8qIENlbnRlciB1dGlsaXR5IG5hdiBpdGVtcyAqL1xufVxuXG4vKiBVdGlsaXR5IG5hdiBpbmhlcml0cyBhbGwgb3RoZXIgc3R5bGVzIGZyb20gc2hhcmVkIGJhc2UgbmF2aWdhdGlvbiBzdHlsZXMgKi9cblxuLyogTG9naW4gbGluayBzdHlsZXMgbW92ZWQgdG8gdXRpbGl0eSBuYXZpZ2F0aW9uIGFib3ZlICovXG5cbi8qIEJvb2sgRGVtbyBidXR0b24gc3R5bGVzIG1vdmVkIHRvIC5idG4tcHJpbWFyeSBjb21wb25lbnQgaW4gYnV0dG9ucy5jc3MgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0TW9iaWxlIE1lbnUgVG9nZ2xlXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tb2JpbGUtbWVudS10b2dnbGUge1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogbm9uZTtcblx0cGFkZGluZzogOHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAyMHB4O1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR6LWluZGV4OiAxMDAxO1xufVxuXG4uaGFtYnVyZ2VyLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDNweDtcblx0aGVpZ2h0OiAxOHB4O1xuXHR3aWR0aDogMjRweDtcbn1cblxuLmhhbWJ1cmdlci1saW5lIHtcblx0YmFja2dyb3VuZDogdmFyKC0tbmF2LXRleHQtcHJpbWFyeSk7XG5cdGJvcmRlci1yYWRpdXM6IDFweDtcblx0aGVpZ2h0OiAycHg7XG5cdHRyYW5zaXRpb246IHZhcigtLW5hdi10cmFuc2l0aW9uKTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tb2JpbGUtbWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItbGluZTpudGgtY2hpbGQoMSkge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDVweCwgNXB4KTtcbn1cblxuLm1vYmlsZS1tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1saW5lOm50aC1jaGlsZCgyKSB7XG5cdG9wYWNpdHk6IDA7XG59XG5cbi5tb2JpbGUtbWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItbGluZTpudGgtY2hpbGQoMykge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSg3cHgsIC02cHgpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRNb2JpbGUgUmVzcG9uc2l2ZSBTdHlsZXNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHQuc2l0ZS1oZWFkZXIuaHlwZXJsb2NvbG9neS1uYXYge1xuXHRcdHBhZGRpbmc6IDE2cHggNDBweDtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdC5zaXRlLWhlYWRlci5oeXBlcmxvY29sb2d5LW5hdiB7XG5cdFx0cGFkZGluZzogMTZweCAyMHB4O1xuXHR9XG5cblx0LndwLWJsb2NrLW5hdmlnYXRpb24ucHJpbWFyeS1uYXYtbWVudSAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50IHtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0cGFkZGluZzogOHB4IDE2cHg7XG5cdH1cblxuXHQud3AtYmxvY2stbmF2aWdhdGlvbi51dGlsaXR5LW5hdiAud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50IHtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0cGFkZGluZzogOHB4IDE2cHg7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5tb2JpbGUtbWVudS10b2dnbGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Lm5hdi1hY3Rpb25zIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm5hdi1vdXRlci1jb250YWluZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDMwcHg7XG5cdFx0cGFkZGluZzogMTBweCAyMHB4O1xuXHR9XG5cblx0Lm5hdi1sb2dvLXNlY3Rpb24gLndwLWJsb2NrLXNpdGUtbG9nbyBhIHtcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0fVxuXG5cdC8qIFdvcmRQcmVzcyBOYXZpZ2F0aW9uIE1vYmlsZSBTdHlsZXMgKi9cblx0LndwLWJsb2NrLW5hdmlnYXRpb24ucHJpbWFyeS1uYXYtbWVudSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC53cC1ibG9jay1uYXZpZ2F0aW9uLnByaW1hcnktbmF2LW1lbnUuaXMtb3BlbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbmF2LXdoaXRlKTtcblx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAyMHB4O1xuXHRcdHRvcDogMTAwJTtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG5cdFx0ei1pbmRleDogMTAwMDtcblx0fVxuXG5cdC53cC1ibG9jay1uYXZpZ2F0aW9uLnByaW1hcnktbmF2LW1lbnUuaXMtb3BlblxuXHRcdC53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiA4cHg7XG5cdH1cblxuXHQud3AtYmxvY2stbmF2aWdhdGlvbi5wcmltYXJ5LW5hdi1tZW51LmlzLW9wZW5cblx0XHQud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50IHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQuc2l0ZS1oZWFkZXIuaHlwZXJsb2NvbG9neS1uYXYge1xuXHRcdHBhZGRpbmc6IDE2cHg7XG5cdH1cblxuXHQubmF2LW91dGVyLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogOHB4IDE2cHg7XG5cdH1cblxuXHQubmF2LWxvZ28tc2VjdGlvbiAud3AtYmxvY2stc2l0ZS1sb2dvIGltZyxcblx0Lm5hdi1sb2dvLXNlY3Rpb24gLndwLWJsb2NrLXNpdGUtbG9nbyBzdmcge1xuXHRcdG1heC13aWR0aDogMTIwcHg7XG5cdFx0d2lkdGg6IDEyMHB4O1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEFjY2Vzc2liaWxpdHkgJiBNb3Rpb24gUHJlZmVyZW5jZXNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblx0KiB7XG5cdFx0YW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0dHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbkBtZWRpYSAocHJlZmVycy1jb250cmFzdDogbW9yZSkge1xuXHQubmF2LW1lbnUtbGluazpob3Zlcixcblx0Lm5hdi1tZW51LWxpbms6Zm9jdXMsXG5cdC5sb2dpbi1saW5rOmhvdmVyLFxuXHQubG9naW4tbGluazpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tbmF2LXRlYWwpO1xuXHRcdGNvbG9yOiB2YXIoLS1uYXYtd2hpdGUpO1xuXHR9XG5cblx0Lm5hdi1tZW51LWxpbms6Zm9jdXMsXG5cdC5sb2dpbi1saW5rOmZvY3VzLFxuXHQuYm9vay1kZW1vLWJ0bjpmb2N1cyB7XG5cdFx0b3V0bGluZS13aWR0aDogM3B4O1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdFByaW50IFN0eWxlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuXHQubW9iaWxlLW1lbnUtdG9nZ2xlLFxuXHQuYm9vay1kZW1vLWJ0biB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5zaXRlLWhlYWRlci5oeXBlcmxvY29sb2d5LW5hdiB7XG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXG5cdC5uYXYtb3V0ZXItY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kOiB3aGl0ZTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdXJpdHkgTWVzc2FnZXMgQ29tcG9uZW50XG4gICBTdHlsZXMgZm9yIHN1Y2Nlc3MsIGVycm9yLCBhbmQgdmFsaWRhdGlvbiBtZXNzYWdlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnN1Y2Nlc3MtbWVzc2FnZSB7XG5cdGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc3VjY2VzcykgMTAlLCB3aGl0ZSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zdWNjZXNzKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tc21hbGwpO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXN1Y2Nlc3MpO1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0b3BhY2l0eTogMTtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zbG93KTtcbn1cblxuLnN1Y2Nlc3MtbWVzc2FnZS5mYWRlLW91dCB7XG5cdG9wYWNpdHk6IDA7XG59XG5cbi5lcnJvci1tZXNzYWdlLFxuLmZpbGUtZXJyb3Ige1xuXHRiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yKSAxMCUsIHdoaXRlKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tc21hbGwpO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yKTtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsKTtcblx0bWFyZ2luLXRvcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMpO1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cyk7XG59XG5cbi5maWVsZC1lcnJvciB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yKSAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiAwIDAgMCAycHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1lcnJvcikgMjUlLCB0cmFuc3BhcmVudCk7XG59ICIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTa2lwIExpbmsgQ29tcG9uZW50XG4gICBBY2Nlc3NpYmlsaXR5IHNraXAgbGluayBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU2tpcCBMaW5rIEFjY2Vzc2liaWxpdHkgKi9cbi5za2lwLWxpbmsge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC05MDApO1xuXHRib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcblx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbWFsbCk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxlZnQ6IC05OTk5cHg7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZmFzdCk7XG5cdHotaW5kZXg6IHZhcigtLXotaW5kZXgtdG9vbHRpcCk7XG59XG5cbi5za2lwLWxpbms6Zm9jdXMge1xuXHRsZWZ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cyk7XG5cdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWNjZW50KTtcblx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0dG9wOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmxvY2tzIENTUyBFbnRyeSBQb2ludFxuICAgSW1wb3J0cyBhbGwgYmxvY2sgc3R5bGVzIGZvciBXb3JkUHJlc3MgYmxvY2sgdGhlbWVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIENvcmUgV29yZFByZXNzIEJsb2NrcyAqL1xuQGltcG9ydCBcImNvcmUvY29sdW1ucy5jc3NcIjtcbkBpbXBvcnQgXCJjb3JlL2NvdmVyLmNzc1wiO1xuQGltcG9ydCBcImNvcmUvYnV0dG9uLmNzc1wiO1xuQGltcG9ydCBcImNvcmUvZ3JvdXAuY3NzXCI7XG5AaW1wb3J0IFwiY29yZS9oZWFkaW5nLmNzc1wiO1xuQGltcG9ydCBcImNvcmUvaW1hZ2UuY3NzXCI7XG5AaW1wb3J0IFwiY29yZS9saXN0LmNzc1wiO1xuQGltcG9ydCBcImNvcmUvcGFyYWdyYXBoLmNzc1wiO1xuQGltcG9ydCBcImNvcmUvc2VwYXJhdG9yLmNzc1wiO1xuQGltcG9ydCBcImNvcmUvZ2FsbGVyeS5jc3NcIjtcbkBpbXBvcnQgXCJjb3JlL2RldGFpbHMuY3NzXCI7XG5cbi8qIEN1c3RvbSBCbG9ja3MgKi9cbkBpbXBvcnQgXCJ1dGlsaXR5LW5hdi91dGlsaXR5LW5hdi5jc3NcIjtcbkBpbXBvcnQgXCJtZWdhLW5hdi9wcmltYXJ5LW5hdi5jc3NcIjtcbkBpbXBvcnQgXCJoeXBlcmxvY29sb2d5LWxvZ28uY3NzXCI7XG5AaW1wb3J0IFwiZHluYW1pYy1wYWdlLWxpc3QuY3NzXCI7XG5AaW1wb3J0IFwiY29weXJpZ2h0LmNzc1wiO1xuQGltcG9ydCBcInBsYXRmb3JtLXNob3djYXNlL3BsYXRmb3JtLXNob3djYXNlLmNzc1wiO1xuQGltcG9ydCBcInRydXN0LWJhci90cnVzdC1iYXIuY3NzXCI7XG5AaW1wb3J0IFwiY2hhbm5lbC1jYXJvdXNlbC9jaGFubmVsLWNhcm91c2VsLmNzc1wiO1xuQGltcG9ydCBcImZlYXR1cmVzLWhlcm8uY3NzXCI7XG5AaW1wb3J0IFwiZGVtby1jdGEuY3NzXCI7XG5AaW1wb3J0IFwicmVzb3VyY2VzLWZlZWQuY3NzXCI7XG5AaW1wb3J0IFwiY3VzdG9tZXItc3RvcnktY2FyZC5jc3NcIjtcbkBpbXBvcnQgXCJwYWdlLWhlcm8uY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVyLmNzc1wiO1xuQGltcG9ydCBcInBvc3QtZmVlZC5jc3NcIjtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdENvcmUgQ29sdW1ucyBCbG9jayBTdHlsZXNcblx0V29yZFByZXNzIGNvcmUgY29sdW1ucyBibG9jayBzdHlsaW5nIHVzaW5nIGN1c3RvbSBwcm9wZXJ0aWVzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cC1ibG9jay1jb2x1bW5zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xufVxuXG4ud3AtYmxvY2stY29sdW1uIHtcblx0ZmxleDogMTtcblx0bWluLXdpZHRoOiAwO1xufVxuXG4vKiBSZXNwb25zaXZlIEJlaGF2aW9yICovXG5AbWVkaWEgKG1heC13aWR0aDogNzgxcHgpIHtcblx0LndwLWJsb2NrLWNvbHVtbnM6bm90KC5pcy1ub3Qtc3RhY2tlZC1vbi1tb2JpbGUpIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cblx0LndwLWJsb2NrLWNvbHVtbnM6bm90KC5pcy1ub3Qtc3RhY2tlZC1vbi1tb2JpbGUpIC53cC1ibG9jay1jb2x1bW4ge1xuXHRcdGZsZXgtYmFzaXM6IGF1dG8gIWltcG9ydGFudDtcblx0fVxufVxuXG4vKiBDb2x1bW4gVmFyaWF0aW9ucyAqL1xuLndwLWJsb2NrLWNvbHVtbnMuaXMtc3R5bGUtbm8tZ2FwIHtcblx0Z2FwOiAwO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucy5pcy1zdHlsZS13aWRlLWdhcCB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGFyZ2UpO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucy5pcy1zdHlsZS1ib3JkZXJlZCAud3AtYmxvY2stY29sdW1uIHtcblx0Ym9yZGVyOiAycHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtMjAwKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tc21hbGwpO1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0pO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucy5pcy1zdHlsZS1jYXJkcyAud3AtYmxvY2stY29sdW1uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tbWVkaXVtKTtcblx0Ym94LXNoYWRvdzogdmFyKC0td3AtLXByZXNldC0tc2hhZG93LS1zbWFsbCk7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxhcmdlKTtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ud3AtYmxvY2stY29sdW1ucy5pcy1zdHlsZS1jYXJkcyAud3AtYmxvY2stY29sdW1uOmhvdmVyIHtcblx0Ym94LXNoYWRvdzogdmFyKC0td3AtLXByZXNldC0tc2hhZG93LS1tZWRpdW0pO1xufVxuXG4vKiBDb2x1bW4gV2lkdGggQ2xhc3NlcyAqL1xuLndwLWJsb2NrLWNvbHVtbi5pcy12ZXJ0aWNhbGx5LWFsaWduZWQtdG9wIHtcblx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLndwLWJsb2NrLWNvbHVtbi5pcy12ZXJ0aWNhbGx5LWFsaWduZWQtY2VudGVyIHtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4ud3AtYmxvY2stY29sdW1uLmlzLXZlcnRpY2FsbHktYWxpZ25lZC1ib3R0b20ge1xuXHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLyogRWRpdG9yIFNwZWNpZmljIFN0eWxlcyAqL1xuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stY29sdW1ucyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xufVxuXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1jb2x1bW4ge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLyoqXG4gKiBDb3JlIENvdmVyIEJsb2NrIFN0eWxlc1xuICogXG4gKiBAcGFja2FnZSBIeXBlcmxvY29sb2d5XG4gKi9cblxuLndwLWJsb2NrLWNvdmVyX19iYWNrZ3JvdW5kIHtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDE7XG59XG5cbi53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyIHtcblx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSwgI2ZmZmZmZik7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSwgNjUwcHgpO1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0sIDJyZW0pO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDI7XG59XG5cbi53cC1ibG9jay1jb3Zlci5pcy1saWdodCAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2ssICMwMDAwMDApO1xufVxuXG4ud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2ssICMwMDAwMDApO1xuXHRib3R0b206IDA7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdGxlZnQ6IDA7XG5cdG9wYWNpdHk6IDAuNTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxO1xufVxuXG4ud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltLTEwOjpiZWZvcmUge1xuXHRvcGFjaXR5OiAwLjE7XG59XG5cbi53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0tMjA6OmJlZm9yZSB7XG5cdG9wYWNpdHk6IDAuMjtcbn1cblxuLndwLWJsb2NrLWNvdmVyLmhhcy1iYWNrZ3JvdW5kLWRpbS0zMDo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC4zO1xufVxuXG4ud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltLTQwOjpiZWZvcmUge1xuXHRvcGFjaXR5OiAwLjQ7XG59XG5cbi53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0tNTA6OmJlZm9yZSB7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLndwLWJsb2NrLWNvdmVyLmhhcy1iYWNrZ3JvdW5kLWRpbS02MDo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC42O1xufVxuXG4ud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltLTcwOjpiZWZvcmUge1xuXHRvcGFjaXR5OiAwLjc7XG59XG5cbi53cC1ibG9jay1jb3Zlci5oYXMtYmFja2dyb3VuZC1kaW0tODA6OmJlZm9yZSB7XG5cdG9wYWNpdHk6IDAuODtcbn1cblxuLndwLWJsb2NrLWNvdmVyLmhhcy1iYWNrZ3JvdW5kLWRpbS05MDo6YmVmb3JlIHtcblx0b3BhY2l0eTogMC45O1xufVxuXG4ud3AtYmxvY2stY292ZXIuaGFzLWJhY2tncm91bmQtZGltLTEwMDo6YmVmb3JlIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC53cC1ibG9jay1jb3ZlciB7XG5cdFx0bWluLWhlaWdodDogMzIwcHg7XG5cdH1cblxuXHQud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc21hbGwsIDFyZW0pO1xuXHR9XG59XG5cbi8qIEhlcm8gU2VjdGlvbiBTdHlsZXMgKi9cbi53cC1ibG9jay1jb3ZlciAud3AtYmxvY2staGVhZGluZy5oZXJvLWdyYWRpZW50LXRpdGxlIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIGJvdHRvbSxcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0taGVyby1ncmFkaWVudC1zdGFydCwgI2ZmZmZmZikgNzEuMjAxJSxcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0taGVyby1ncmFkaWVudC1lbmQsIHJnYmEoMywgNTcsIDk2LCAwKSkgNjk5LjMxJVxuXHQpO1xuXHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0YmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuXHRjb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGZvbnQtd2VpZ2h0OiA0OTk7XG5cdC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmhlcm8tZmVhdHVyZXMge1xuXHRmbGV4LXdyYXA6IHdyYXA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIENvcmUgQnV0dG9uIEdyb3VwIFN0eWxlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud3AtYmxvY2stYnV0dG9ucyB7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1taW4tbGFyZ2UpIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxuXG5cdCYgPiAqIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59XG5cbi5oYXMtc2Vjb25kYXJ5LWJhY2tncm91bmQtY29sb3Ige1xuXHQmXG5cdFx0KyAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lclxuXHRcdC53cC1ibG9jay1idXR0b25zXG5cdFx0LndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lLFxuXHQmXG5cdFx0fiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lclxuXHRcdC53cC1ibG9jay1idXR0b25zXG5cdFx0LndwLWJsb2NrLWJ1dHRvbi5pcy1zdHlsZS1vdXRsaW5lIHtcblx0XHQmIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSkgIWltcG9ydGFudDtcblx0XHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZSkgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQmIC53cC1ibG9jay1idXR0b24uaXMtc3R5bGUtb3V0bGluZSB7XG5cdFx0JiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpICFpbXBvcnRhbnQ7XG5cdFx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi53cC1ibG9jay1idXR0b24ge1xuXHQmLmlzLXN0eWxlLW91dGxpbmUge1xuXHRcdGJvcmRlci1yYWRpdXM6IDIuMTg3NXJlbTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdEBtZWRpYSAoLS1taW4tbGFyZ2UpIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdCYgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlLTMpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMi4xODc1cmVtO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAxLjVweDtcblx0XHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRcdGZvbnQtc2l6ZTogMTUuOThweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRtaW4td2lkdGg6IG1heC1jb250ZW50O1xuXHRcdFx0cGFkZGluZzogMTVweCAyMHB4O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0dHJhbnNpdGlvbjpcblx0XHRcdFx0Ym9yZGVyLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQsXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIuKGklwiO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XG5cdFx0XHRcdG1heC13aWR0aDogMDtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdFx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0XHRcdG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCxcblx0XHRcdFx0XHR0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dCxcblx0XHRcdFx0XHRtYXgtd2lkdGggMC4zcyBlYXNlLWluLW91dDtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWNjZW50KTtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdG1heC13aWR0aDogMTBweDtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi53cC1ibG9jay1sYmItbGlnaHRib3gsXG4ubGJiQ29udGVudF9hcmVhLFxuLmxiYkNvbnRlbnRfYXJlYSBhIHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuXHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0fVxufVxuXG4ubGJiQnRuRGVzaWduIHtcblx0Y29sdW1uLWdhcDogMCAhaW1wb3J0YW50O1xuXG5cdCYgc3BhbiB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS1idG4tcHJpbWFyeS1mb250LXNpemUpICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogXCLihpJcIjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRtYXgtd2lkdGg6IDA7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0dHJhbnNpdGlvbjpcblx0XHRcdG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCxcblx0XHRcdHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0LFxuXHRcdFx0bWF4LXdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWNjZW50KSAhaW1wb3J0YW50O1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpICFpbXBvcnRhbnQ7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwcHg7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q29yZSBHcm91cCBCbG9jayBTdHlsZXNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUmVzZXQgZGVmYXVsdCBwYWRkaW5nIC0gZ3JvdXBzIHNob3VsZCBub3QgaGF2ZSBwYWRkaW5nIGJ5IGRlZmF1bHQgKi9cbi53cC1ibG9jay1ncm91cCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIElubmVyIGNvbnRhaW5lciBjb25zdHJhaW50cyAqL1xuLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRJbnRlbnRpb25hbCBTcGFjaW5nIFN5c3RlbVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWaXN1YWwgY29udGFpbmVycyAtIGdyb3VwcyB0aGF0IG5lZWQgcGFkZGluZyBmb3IgdmlzdWFsIHNlcGFyYXRpb24gKi9cbi53cC1ibG9jay1ncm91cC5oYXMtYmFja2dyb3VuZCxcbi53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1jb250YWluZXIsXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtY2FyZCB7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XG59XG5cbi8qIExhcmdlIHZpc3VhbCBjb250YWluZXJzICovXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtc2VjdGlvbixcbi53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1oZXJvIHtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGFyZ2UpIHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XG59XG5cbi8qIFNpdGUgc3RydWN0dXJlIGNvbnRhaW5lcnMgLSBzZW1hbnRpYyBjb250YWluZXJzIHRoYXQgbmVlZCBwYWRkaW5nICovXG4ud3AtYmxvY2stZ3JvdXAuc2l0ZS1mb290ZXIsXG4ud3AtYmxvY2stZ3JvdXAuc2l0ZS1tYWluIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRGbG93IGFuZCBWZXJ0aWNhbCBSaHl0aG0gU3lzdGVtXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEFwcGx5IGNvbnNpc3RlbnQgZ2FwIHRvIGZsZXggYW5kIGdyaWQgbGF5b3V0cyAqL1xuLndwLWJsb2NrLWdyb3VwLmlzLWxheW91dC1mbGV4IHtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbWFsbCk7XG59XG5cbi53cC1ibG9jay1ncm91cC5pcy1sYXlvdXQtZ3JpZCB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtKTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQmLmdhcC1sYXJnZSB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sYXJnZSk7XG5cdH1cblxuXHQmLmdhcC14bCB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14bCk7XG5cdH1cblxuXHQmLmdhcC0yeGwge1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMnhsKTtcblx0fVxuXG5cdCYuZ2FwLTN4bCB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0zeGwpO1xuXHR9XG5cblx0Ji5nYXAtNHhsIHtcblx0XHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTR4bCk7XG5cdH1cbn1cblxuLyogRmxvdyBzcGFjaW5nIC0gY29uc2lzdGVudCB2ZXJ0aWNhbCByaHl0aG0gZm9yIGJsb2NrIGNvbnRlbnQgKi9cbi53cC1ibG9jay1ncm91cC5pcy1sYXlvdXQtZmxvdyA+ICogKyAqIHtcblx0bWFyZ2luLXRvcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWVkaXVtKTtcbn1cblxuLyogUmVkdWNlIHNwYWNpbmcgZm9yIHRpZ2h0bHkgcmVsYXRlZCBjb250ZW50ICovXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtdGlnaHQgPiAuaXMtbGF5b3V0LWZsb3cgPiAqICsgKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtYWxsKTtcbn1cblxuLyogSW5jcmVhc2Ugc3BhY2luZyBmb3Igc2VjdGlvbi1sZXZlbCBjb250ZW50ICovXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtc3BhY2lvdXMgPiAuaXMtbGF5b3V0LWZsb3cgPiAqICsgKiB7XG5cdG1hcmdpbi10b3A6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxhcmdlKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0UmVzcG9uc2l2ZSBBZGp1c3RtZW50c1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0LyogSW5jcmVhc2UgcGFkZGluZyBvbiBsYXJnZXIgc2NyZWVucyBmb3IgdmlzdWFsIGNvbnRhaW5lcnMgKi9cblx0LndwLWJsb2NrLWdyb3VwLmhhcy1iYWNrZ3JvdW5kLFxuXHQud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtY29udGFpbmVyLFxuXHQud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtY2FyZCB7XG5cdFx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGFyZ2UpO1xuXHR9XG5cblx0LndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXNlY3Rpb24sXG5cdC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1oZXJvIHtcblx0XHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14bCkgdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGFyZ2UpO1xuXHR9XG5cblx0LyogSW5jcmVhc2Ugc2l0ZSBzdHJ1Y3R1cmUgcGFkZGluZyAqL1xuXHQud3AtYmxvY2stZ3JvdXAuc2l0ZS1mb290ZXIsXG5cdC53cC1ibG9jay1ncm91cC5zaXRlLW1haW4ge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sYXJnZSk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxhcmdlKTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRVdGlsaXR5IENsYXNzZXMgZm9yIE1hbnVhbCBDb250cm9sXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEV4cGxpY2l0IHBhZGRpbmcgdXRpbGl0aWVzIHdoZW4gbmVlZGVkICovXG4ud3AtYmxvY2stZ3JvdXAuaGFzLXBhZGRpbmctc21hbGwge1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbWFsbCk7XG59XG5cbi53cC1ibG9jay1ncm91cC5oYXMtcGFkZGluZy1tZWRpdW0ge1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0pO1xufVxuXG4ud3AtYmxvY2stZ3JvdXAuaGFzLXBhZGRpbmctbGFyZ2Uge1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sYXJnZSk7XG59XG5cbi8qIEV4cGxpY2l0IG5vLXBhZGRpbmcgdXRpbGl0eSAqL1xuLndwLWJsb2NrLWdyb3VwLmhhcy1uby1wYWRkaW5nIHtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRHcm91cCBWYXJpYXRpb25zXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1mdWxsLWhlaWdodCB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtY29udGFpbmVyIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tbWVkaXVtKTtcblx0Ym94LXNoYWRvdzogdmFyKC0td3AtLXByZXNldC0tc2hhZG93LS1zbWFsbCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cdEVkaXRvciBTcGVjaWZpYyBTdHlsZXNcblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmVkaXRvci1zdHlsZXMtd3JhcHBlciAud3AtYmxvY2stZ3JvdXAge1xuXHQvKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zIGluIGVkaXRvciB0byBwcmV2ZW50IGRvdWJsZSBzcGFjaW5nICovXG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEFkZCB2aXN1YWwgaW5kaWNhdG9yIGZvciBlbXB0eSBncm91cHMgaW4gZWRpdG9yICovXG4uZWRpdG9yLXN0eWxlcy13cmFwcGVyIC53cC1ibG9jay1ncm91cDplbXB0eTo6YmVmb3JlIHtcblx0YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbnRyYXN0LTIpO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UpO1xuXHRjb250ZW50OiBcIkdyb3VwIEJsb2NrXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGwpO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtYWxsKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q29yZSBIZWFkaW5nIEJsb2NrIFN0eWxlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud3AtYmxvY2staGVhZGluZyB7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UsIDFyZW0pO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG4ud3AtYmxvY2staGVhZGluZyBoMSxcbi53cC1ibG9jay1oZWFkaW5nIGgyLFxuLndwLWJsb2NrLWhlYWRpbmcgaDMsXG4ud3AtYmxvY2staGVhZGluZyBoNCxcbi53cC1ibG9jay1oZWFkaW5nIGg1LFxuLndwLWJsb2NrLWhlYWRpbmcgaDYge1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFR5cG9ncmFwaHkgc2NhbGUgKi9cbi53cC1ibG9jay1oZWFkaW5nIGgxIHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXh4LWxhcmdlLCAyLjVyZW0pO1xuXHRsaW5lLWhlaWdodDogMS4xO1xufVxuXG4ud3AtYmxvY2staGVhZGluZyBoMiB7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14LWxhcmdlLCAycmVtKTtcblx0bGluZS1oZWlnaHQ6IDEuMTU7XG59XG5cbi53cC1ibG9jay1oZWFkaW5nIGgzIHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlLCAxLjVyZW0pO1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG4ud3AtYmxvY2staGVhZGluZyBoNCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0sIDEuMjVyZW0pO1xuXHRsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuLndwLWJsb2NrLWhlYWRpbmcgaDUge1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tYmFzZSwgMXJlbSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi53cC1ibG9jay1oZWFkaW5nIGg2IHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsLCAwLjg3NXJlbSk7XG5cdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIFJlc3BvbnNpdmUgdHlwb2dyYXBoeSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC53cC1ibG9jay1oZWFkaW5nIGgxIHtcblx0XHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0teC1sYXJnZSwgMnJlbSk7XG5cdH1cblxuXHQud3AtYmxvY2staGVhZGluZyBoMiB7XG5cdFx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWxhcmdlLCAxLjVyZW0pO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHRDb3JlIEltYWdlIEJsb2NrIFN0eWxlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud3AtYmxvY2staW1hZ2Uge1xuXHRtYXJnaW46IDAgMCB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0sIDEuNXJlbSkgMDtcbn1cblxuLndwLWJsb2NrLWltYWdlOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ud3AtYmxvY2staW1hZ2UgaW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuLndwLWJsb2NrLWltYWdlIGZpZ2NhcHRpb24ge1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbnRyYXN0LTIsICM3NTc1NzUpO1xuXHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc21hbGwsIDAuODc1cmVtKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cywgMC41cmVtKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBBbGlnbm1lbnQgc3R5bGVzICovXG4ud3AtYmxvY2staW1hZ2UuYWxpZ25sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSwgMS41cmVtKTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0sIDEuNXJlbSk7XG59XG5cbi53cC1ibG9jay1pbWFnZS5hbGlnbnJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0sIDEuNXJlbSk7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0sIDEuNXJlbSk7XG59XG5cbi53cC1ibG9jay1pbWFnZS5hbGlnbmNlbnRlciB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogU2l6ZSB2YXJpYW50cyAqL1xuLndwLWJsb2NrLWltYWdlLnNpemUtdGh1bWJuYWlsIHtcblx0bWF4LXdpZHRoOiAxNTBweDtcbn1cblxuLndwLWJsb2NrLWltYWdlLnNpemUtbWVkaXVtIHtcblx0bWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLndwLWJsb2NrLWltYWdlLnNpemUtbGFyZ2Uge1xuXHRtYXgtd2lkdGg6IDEwMjRweDtcbn1cblxuLyogUm91bmRlZCBzdHlsZSAqL1xuLndwLWJsb2NrLWltYWdlLmlzLXN0eWxlLXJvdW5kZWQgaW1nIHtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBCb3JkZXIgc3R5bGUgKi9cbi53cC1ibG9jay1pbWFnZS5pcy1zdHlsZS1ib3JkZXIgaW1nIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWNvbnRyYXN0LTMsICNlMGUwZTApO1xuXHRwYWRkaW5nOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cywgMC41cmVtKTtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC53cC1ibG9jay1pbWFnZS5hbGlnbmxlZnQsXG5cdC53cC1ibG9jay1pbWFnZS5hbGlnbnJpZ2h0IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmbG9hdDogbm9uZTtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cbn0gIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q29yZSBMaXN0IEJsb2NrIFN0eWxlc1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ud3AtYmxvY2stbGlzdCB7XG5cdG1hcmdpbjogMCAwIHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSwgMS41cmVtKSAwO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1lZGl1bSwgMS41cmVtKTtcbn1cblxuLndwLWJsb2NrLWxpc3Q6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53cC1ibG9jay1saXN0IGxpIHtcblx0bGluZS1oZWlnaHQ6IDEuNjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMsIDAuNXJlbSk7XG59XG5cbi53cC1ibG9jay1saXN0IGxpOmxhc3QtY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBOZXN0ZWQgbGlzdHMgKi9cbi53cC1ibG9jay1saXN0IHVsLFxuLndwLWJsb2NrLWxpc3Qgb2wge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cywgMC41cmVtKTtcbn1cblxuLyogT3JkZXJlZCBsaXN0IHN0eWxlcyAqL1xuLndwLWJsb2NrLWxpc3Qgb2wge1xuXHRsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG59XG5cbi53cC1ibG9jay1saXN0IG9sIG9sIHtcblx0bGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbn1cblxuLndwLWJsb2NrLWxpc3Qgb2wgb2wgb2wge1xuXHRsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1xufVxuXG4vKiBVbm9yZGVyZWQgbGlzdCBzdHlsZXMgKi9cbi53cC1ibG9jay1saXN0IHVsIHtcblx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG4ud3AtYmxvY2stbGlzdCB1bCB1bCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xufVxuXG4ud3AtYmxvY2stbGlzdCB1bCB1bCB1bCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xufVxuXG4vKiBObyBtYXJrZXJzIHZhcmlhbnQgKi9cbi53cC1ibG9jay1saXN0LmlzLXN0eWxlLW5vLW1hcmtlcnMge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi8qIENoZWNrbWFyayBsaXN0IHZhcmlhbnQgKi9cbi53cC1ibG9jay1saXN0LmlzLXN0eWxlLWNoZWNrbWFyayBsaTo6YmVmb3JlIHtcblx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5LCAjMDA3M2FhKTtcblx0Y29udGVudDogXCLinJNcIjtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cywgMC41cmVtKTtcbn0gIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0Q29yZSBQYXJhZ3JhcGggQmxvY2sgU3R5bGVzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53cC1ibG9jay1wYXJhZ3JhcGgge1xuXHRsaW5lLWhlaWdodDogMS42O1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZWRpdW0sIDEuNXJlbSk7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi53cC1ibG9jay1wYXJhZ3JhcGg6bGFzdC1jaGlsZCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIERyb3AgY2FwIHN0eWxlcyAqL1xuLndwLWJsb2NrLXBhcmFncmFwaC5oYXMtZHJvcC1jYXA6bm90KDpmb2N1cyk6OmZpcnN0LWxldHRlciB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRmb250LXNpemU6IDguNGVtO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiAxMDA7XG5cdGxpbmUtaGVpZ2h0OiAwLjY4O1xuXHRtYXJnaW46IDAuMDVlbSAwLjFlbSAwIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIExlYWQgcGFyYWdyYXBoIHZhcmlhbnQgKi9cbi53cC1ibG9jay1wYXJhZ3JhcGguaXMtc3R5bGUtbGVhZCB7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1sYXJnZSwgMS4yNXJlbSk7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxhcmdlLCAycmVtKTtcbn1cblxuLyogU21hbGwgdGV4dCB2YXJpYW50ICovXG4ud3AtYmxvY2stcGFyYWdyYXBoLmlzLXN0eWxlLXNtYWxsIHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXNtYWxsLCAwLjg3NXJlbSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQud3AtYmxvY2stcGFyYWdyYXBoLmlzLXN0eWxlLWxlYWQge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1tZWRpdW0sIDEuMTI1cmVtKTtcblx0fVxufSAiLCIud3AtYmxvY2stc2VwYXJhdG9yIHtcblx0Ji5pcy1zdHlsZS13aWRlIHtcblx0XHRib3JkZXItd2lkdGg6IDFweDtcblx0fVxufVxuIiwiLndwLWJsb2NrLWdhbGxlcnkge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogMTZweDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi53cC1ibG9jay1nYWxsZXJ5Lmhhcy1uZXN0ZWQtaW1hZ2VzOm5vdCguaXMtY3JvcHBlZClcblx0ZmlndXJlLndwLWJsb2NrLWltYWdlOm5vdCgjaW5kaXZpZHVhbC1pbWFnZSkge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLndwLWJsb2NrLWRldGFpbHMge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWNjZW50LWhleCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1hY2NlbnQtaGV4KTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3AtLXByZXNldC0tYm9yZGVyLXJhZGl1cy0tbWQpO1xuXHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0dHJhbnNpdGlvbjpcblx0XHRiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tYmFzZSksXG5cdFx0Y29sb3IgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWFjY2VudC1oZXgpO1xuXG5cdFx0JiBzdW1tYXJ5OjphZnRlciB7XG5cdFx0XHRmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuXHRcdH1cblxuXHRcdCYgc3VtbWFyeTo6YmVmb3JlIHtcblx0XHRcdGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG5cdFx0fVxuXHR9XG5cblx0Jjpub3QoOmlzKFtjbGFzcyo9XCJpcy1zdHlsZS1cIl0pKSB7XG5cdFx0JiBzdW1tYXJ5OjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogXCLinJNcIjtcblx0XHR9XG5cdH1cblxuXHQmIHN1bW1hcnkge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS0yeGwpO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Jjo6bWFya2VyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0fVxuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR0cmFuc2l0aW9uOiBmaWx0ZXIgdmFyKC0tdHJhbnNpdGlvbi1iYXNlKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxNicgaGVpZ2h0PScxNycgdmlld0JveD0nMCAwIDE2IDE3JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNy45Nzg1MiAwLjVWMTYuNScgc3Ryb2tlPSclMjMwMDMwNDQnIHN0cm9rZS13aWR0aD0nMycvJTNFJTNDcGF0aCBkPSdNMTYgOC40ODY4MkwwIDguNDg2ODInIHN0cm9rZT0nJTIzMDAzMDQ0JyBzdHJva2Utd2lkdGg9JzMnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0XHRjb2xvcjogY3VycmVudGNvbG9yO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG5cdFx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0XHR0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1iYXNlKSxcblx0XHRcdFx0ZmlsdGVyIHZhcigtLXRyYW5zaXRpb24tYmFzZSk7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHR9XG5cdH1cblxuXHQmW29wZW5dIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWFjY2VudC1oZXgpO1xuXG5cdFx0JiBzdW1tYXJ5OjpiZWZvcmUge1xuXHRcdFx0ZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcblx0XHR9XG5cblx0XHQmIHN1bW1hcnk6OmFmdGVyIHtcblx0XHRcdGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cdH1cbn1cblxuLndwLWJsb2NrLWRldGFpbHMuaXMtc3R5bGUtbW9uZXkge1xuXHQmIHN1bW1hcnkge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMCcgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDIwIDIwJyBmaWxsPSdjdXJyZW50Y29sb3InIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNMS4zNSAwLjVDMC42MDQ0MiAwLjUgMCAxLjEwNDQyIDAgMS44NVYxOC42NUMwIDE5LjM5NTYgMC42MDQ0NCAyMCAxLjM1IDIwSDE4LjE1QzE4Ljg5NTYgMjAgMTkuNSAxOS4zOTU2IDE5LjUgMTguNjVWMS44NUMxOS41IDEuMTA0NDQgMTguODk1NiAwLjUgMTguMTUgMC41SDEuMzVaTTEwLjUgMy43NUMxMC41IDMuMzM1NzkgMTAuMTY0MiAzIDkuNzUgM0M5LjMzNTggMyA5IDMuMzM1NzkgOSAzLjc1VjQuODUzMjVDOC40ODQ4IDQuOTI5OCA3Ljk4MDMgNS4xMDc5MyA3LjU1MjUgNS40MzE5M0M2Ljg4MDE2IDUuOTQxMTkgNi41IDYuNzMzNDkgNi41IDcuNzUwMDFDNi41IDguMjQ1MzggNi42MTUyNyA4LjY4NTcgNi44NDIzMyA5LjA2NjFDNy4wNjY3OSA5LjQ0MjEgNy4zNzYzNiA5LjcxOTQgNy43MDY3MiA5LjkyOTZDOC4zMTk0IDEwLjMxOTUgOS4xMDA1IDEwLjUzMjMgOS43NDU3IDEwLjcwODFMOS44MDI3IDEwLjcyMzZDMTAuNTIyIDEwLjkxOTcgMTEuMDg3NSAxMS4wODEgMTEuNDg4IDExLjMzNTlDMTEuNjczMiAxMS40NTM4IDExLjc5MzQgMTEuNTc0OSAxMS44Njk3IDExLjcwMjhDMTEuOTQzNCAxMS44MjYzIDEyIDExLjk5NTQgMTIgMTIuMjVDMTIgMTIuODU5MiAxMS43NTQ3IDEzLjI0MjEgMTEuMzk1OCAxMy40OTM1QzExLjAwNjcgMTMuNzY2IDEwLjQzMSAxMy45MTUgOS43NzY5IDEzLjg5MTVDOC43NzUxIDEzLjg1NTUgNy44MjA5IDEzLjQyNzkgNy4zNSAxMi44QzcuMTAxNDcgMTIuNDY4NiA2LjYzMTM3IDEyLjQwMTUgNi4zIDEyLjY1QzUuOTY4NjMgMTIuODk4NSA1LjkwMTQ3IDEzLjM2ODYgNi4xNSAxMy43QzYuODE5NTUgMTQuNTkyNyA3LjkwNzQgMTUuMTI1IDkgMTUuMzE0N1YxNi43NUM5IDE3LjE2NDIgOS4zMzU4IDE3LjUgOS43NSAxNy41QzEwLjE2NDIgMTcuNSAxMC41IDE3LjE2NDIgMTAuNSAxNi43NVYxNS4zNTlDMTEuMTI3NyAxNS4yODM3IDExLjc0MTUgMTUuMDgyNyAxMi4yNTYzIDE0LjcyMjFDMTMuMDEzNCAxNC4xOTIgMTMuNSAxMy4zNTE4IDEzLjUgMTIuMjVDMTMuNSAxMS43NTQ2IDEzLjM4NDcgMTEuMzE0NCAxMy4xNTc3IDEwLjkzNEMxMi45MzMyIDEwLjU1NzkgMTIuNjIzNiAxMC4yODA2IDEyLjI5MzMgMTAuMDcwNEMxMS42ODA2IDkuNjgwNSAxMC44OTk1IDkuNDY3NyAxMC4yNTQzIDkuMjkxOUwxMC4xOTczIDkuMjc2NEM5LjQ3OCA5LjA4MDMgOC45MTI1IDguOTE5IDguNTEyIDguNjY0MUM4LjMyNjggOC41NDYyIDguMjA2NiA4LjQyNTEgOC4xMzAzIDguMjk3MkM4LjA1NjYgOC4xNzM3MyA4IDguMDA0NjMgOCA3Ljc1MDAxQzggNy4xMzY1IDguMjEwMyA2LjgxNTQxIDguNDU4MiA2LjYyNzY1QzguNzM3NCA2LjQxNjE1IDkuMTczOSA2LjI5MzQ5IDkuNzI5OCA2LjMwODQ1QzEwLjY3ODYgNi4zMzM5OCAxMS42OTE0IDYuNzUyMDkgMTIuMjE5NyA3LjI4MDMzQzEyLjUxMjYgNy41NzMyMyAxMi45ODc0IDcuNTczMjIgMTMuMjgwMyA3LjI4MDMzQzEzLjU3MzIgNi45ODc0MyAxMy41NzMyIDYuNTEyNTYgMTMuMjgwMyA2LjIxOTY3QzEyLjU5NzkgNS41MzcyNiAxMS41NDg3IDUuMDU2NTkgMTAuNSA0Ljg4MDg4VjMuNzVaJyBmaWxsPSclMjMwMDMwNDQnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0XHRoZWlnaHQ6IDE5cHg7XG5cdFx0XHR3aWR0aDogMTlweDtcblx0XHR9XG5cdH1cbn1cblxuLndwLWJsb2NrLWRldGFpbHMuaXMtc3R5bGUtdW1icmVsbGEge1xuXHQmIHN1bW1hcnkge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMicgaGVpZ2h0PScyMScgdmlld0JveD0nMCAwIDIyIDIxJyBmaWxsPSdjdXJyZW50Y29sb3InIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00yMS41MDA4IDEwLjM3MTZDMjEuMjc1NiA3Ljc0MzQ2IDIwLjA3MTMgNS4yOTU4NCAxOC4xMjY2IDMuNTEzNzlDMTYuMTgxOCAxLjczMTc0IDEzLjYzODYgMC43NDUzMjMgMTEuMDAwOCAwLjc1MDAxN0M4LjM2Mzg4IDAuNzQ2NDk5IDUuODIxNzkgMS43MzM0NSAzLjg3ODAzIDMuNTE1MzhDMS45MzQyOCA1LjI5NzMxIDAuNzMwNjM3IDcuNzQ0MjYgMC41MDU1MDkgMTAuMzcxNkMwLjQ4NzcwOSAxMC41Nzg3IDAuNTEzMTU0IDEwLjc4NzIgMC41ODAyMjggMTAuOTg0QzAuNjQ3MzAyIDExLjE4MDggMC43NTQ1NDEgMTEuMzYxNCAwLjg5NTE0MSAxMS41MTQ2QzEuMDM1NzQgMTEuNjY3NyAxLjIwNjYzIDExLjc4OTkgMS4zOTY5NyAxMS44NzM1QzEuNTg3MzEgMTEuOTU3IDEuNzkyOTQgMTIuMDAwMSAyLjAwMDgyIDEySDEwLjI1MDhWMTcuMjVDMTAuMjUwOCAxOC4wNDU3IDEwLjU2NjkgMTguODA4NyAxMS4xMjk1IDE5LjM3MTNDMTEuNjkyMSAxOS45MzM5IDEyLjQ1NTIgMjAuMjUgMTMuMjUwOCAyMC4yNUMxNC4wNDY1IDIwLjI1IDE0LjgwOTUgMTkuOTMzOSAxNS4zNzIxIDE5LjM3MTNDMTUuOTM0OCAxOC44MDg3IDE2LjI1MDggMTguMDQ1NyAxNi4yNTA4IDE3LjI1QzE2LjI1MDggMTcuMDUxMSAxNi4xNzE4IDE2Ljg2MDMgMTYuMDMxMiAxNi43MTk3QzE1Ljg5MDUgMTYuNTc5IDE1LjY5OTcgMTYuNSAxNS41MDA4IDE2LjVDMTUuMzAxOSAxNi41IDE1LjExMTEgMTYuNTc5IDE0Ljk3MDUgMTYuNzE5N0MxNC44Mjk4IDE2Ljg2MDMgMTQuNzUwOCAxNy4wNTExIDE0Ljc1MDggMTcuMjVDMTQuNzUwOCAxNy42NDc4IDE0LjU5MjggMTguMDI5NCAxNC4zMTE1IDE4LjMxMDdDMTQuMDMwMiAxOC41OTIgMTMuNjQ4NiAxOC43NSAxMy4yNTA4IDE4Ljc1QzEyLjg1MyAxOC43NSAxMi40NzE1IDE4LjU5MiAxMi4xOTAyIDE4LjMxMDdDMTEuOTA4OSAxOC4wMjk0IDExLjc1MDggMTcuNjQ3OCAxMS43NTA4IDE3LjI1VjEySDIwLjAwMDhDMjAuMjA5MSAxMi4wMDA4IDIwLjQxNTIgMTEuOTU4MiAyMC42MDYxIDExLjg3NDlDMjAuNzk3IDExLjc5MTYgMjAuOTY4NSAxMS42Njk1IDIxLjEwOTYgMTEuNTE2M0MyMS4yNTA3IDExLjM2MzEgMjEuMzU4NCAxMS4xODIyIDIxLjQyNTcgMTAuOTg1MUMyMS40OTMxIDEwLjc4OCAyMS41MTg3IDEwLjU3OTEgMjEuNTAwOCAxMC4zNzE2Wk0yLjAwMDgyIDEwLjVDMi4xNjcwNCA4LjU2OCAyLjk1MTg4IDYuNzQxMDkgNC4yMzg4IDUuMjkwNTFDNS41MjU3MiAzLjgzOTk0IDcuMjQ2MTIgMi44NDMwNCA5LjE0NDU3IDIuNDQ3ODNDOC4wNDU4MiAzLjkzNzUyIDYuNjc0MjYgNi41NzI4MyA2LjUxNjc2IDEwLjVIMi4wMDA4MlpNMTUuNDg0OSAxMC41QzE1LjMyNzQgNi41NzI4MyAxMy45NTU4IDMuOTM3NTIgMTIuODU5OSAyLjQ0MzE0QzE0Ljc1OTEgMi44MzgwMiAxNi40OCAzLjgzNTUgMTcuNzY2NyA1LjI4NzE4QzE5LjA1MzMgNi43Mzg4NiAxOS44MzY5IDguNTY3MTUgMjAuMDAwOCAxMC41SDE1LjQ4NDlaJyBmaWxsPSclMjMwMDMwNDQnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0XHRoZWlnaHQ6IDIxcHg7XG5cdFx0XHR3aWR0aDogMjJweDtcblx0XHR9XG5cdH1cbn1cblxuLndwLWJsb2NrLWRldGFpbHMuaXMtc3R5bGUtcGluIHtcblx0JiBzdW1tYXJ5IHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTYnIGhlaWdodD0nMjEnIHZpZXdCb3g9JzAgMCAxNiAyMScgZmlsbD0nY3VycmVudGNvbG9yJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNOCAwLjVDMy44IDAuNSAwIDMuNzIgMCA4LjdDMCAxMS44OCAyLjQ1IDE1LjYyIDcuMzQgMTkuOTNDNy43MiAyMC4yNiA4LjI5IDIwLjI2IDguNjcgMTkuOTNDMTMuNTUgMTUuNjIgMTYgMTEuODggMTYgOC43QzE2IDMuNzIgMTIuMiAwLjUgOCAwLjVaTTggMTAuNUM2LjkgMTAuNSA2IDkuNiA2IDguNUM2IDcuNCA2LjkgNi41IDggNi41QzkuMSA2LjUgMTAgNy40IDEwIDguNUMxMCA5LjYgOS4xIDEwLjUgOCAxMC41WicgZmlsbD0nJTIzMDAzMDQ0Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuXHRcdFx0aGVpZ2h0OiAyMXB4O1xuXHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0fVxuXHR9XG59XG5cbi53cC1ibG9jay1kZXRhaWxzLmlzLXN0eWxlLXByZXNlbnQge1xuXHQmIHN1bW1hcnkge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScyMicgaGVpZ2h0PScyMicgdmlld0JveD0nMCAwIDIyIDIyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTAuMTk5MjE5IDEuNzk5OUMwLjE5OTIxOSAxLjU2MTIxIDAuMjk0MDQgMS4zMzIyOSAwLjQ2MjgyMyAxLjE2MzUxQzAuNjMxNjA1IDAuOTk0NzIzIDAuODYwNTI0IDAuODk5OTAyIDEuMDk5MjIgMC44OTk5MDJIMjAuODk5MkMyMS4xMzc5IDAuODk5OTAyIDIxLjM2NjggMC45OTQ3MjMgMjEuNTM1NiAxLjE2MzUxQzIxLjcwNDQgMS4zMzIyOSAyMS43OTkyIDEuNTYxMjEgMjEuNzk5MiAxLjc5OTlDMjEuNzk5MiAyLjAzODYgMjEuNzA0NCAyLjI2NzUyIDIxLjUzNTYgMi40MzYzQzIxLjM2NjggMi42MDUwOCAyMS4xMzc5IDIuNjk5OSAyMC44OTkyIDIuNjk5OUgyMC41OTkyVjEzLjE5OTlDMjAuNTk5MiAxNC4wNzUxIDIwLjI1MTUgMTQuOTE0NSAxOS42MzI3IDE1LjUzMzRDMTkuMDEzOCAxNi4xNTIyIDE4LjE3NDQgMTYuNDk5OSAxNy4yOTkyIDE2LjQ5OTlIMTYuMDEyOEwxNi45NzA0IDIwLjE3MTlDMTcuMDMwOSAyMC40MDMgMTYuOTk3MSAyMC42NDg2IDE2Ljg3NjUgMjAuODU0N0MxNi43NTU4IDIxLjA2MDkgMTYuNTU4MyAyMS4yMTA2IDE2LjMyNzIgMjEuMjcxMUMxNi4wOTYyIDIxLjMzMTYgMTUuODUwNSAyMS4yOTc4IDE1LjY0NDQgMjEuMTc3MkMxNS40MzgzIDIxLjA1NjUgMTUuMjg4NSAyMC44NTkgMTUuMjI4IDIwLjYyNzlMMTUuMDkxMiAyMC4wOTk5SDYuOTA3MjJMNi43NzA0MiAyMC42Mjc5QzYuNzA5OTUgMjAuODU5IDYuNTYwMTcgMjEuMDU2NSA2LjM1NDAzIDIxLjE3NzJDNi4xNDc4OSAyMS4yOTc4IDUuOTAyMjggMjEuMzMxNiA1LjY3MTIyIDIxLjI3MTFDNS40NDAxNiAyMS4yMTA2IDUuMjQyNTkgMjEuMDYwOSA1LjEyMTk3IDIwLjg1NDdDNS4wMDEzNCAyMC42NDg2IDQuOTY3NTUgMjAuNDAzIDUuMDI4MDIgMjAuMTcxOUw1Ljk4NjgyIDE2LjQ5OTlINC42OTkyMkMzLjgyNCAxNi40OTk5IDIuOTg0NjQgMTYuMTUyMiAyLjM2NTc3IDE1LjUzMzRDMS43NDY5IDE0LjkxNDUgMS4zOTkyMiAxNC4wNzUxIDEuMzk5MjIgMTMuMTk5OVYyLjY5OTlIMS4wOTkyMkMwLjg2MDUyNCAyLjY5OTkgMC42MzE2MDUgMi42MDUwOCAwLjQ2MjgyMyAyLjQzNjNDMC4yOTQwNCAyLjI2NzUyIDAuMTk5MjE5IDIuMDM4NiAwLjE5OTIxOSAxLjc5OTlaTTcuODQ2ODIgMTYuNDk5OUw3LjM3NzYyIDE4LjI5OTlIMTQuNjIyTDE0LjE1MTYgMTYuNDk5OUg3Ljg0NjgyWk0xNi44MzQ4IDUuNzgyN0MxNi45NzM0IDUuOTc3MDEgMTcuMDI5MSA2LjIxODQgMTYuOTg5NyA2LjQ1Mzc5QzE2Ljk1MDQgNi42ODkxOCAxNi44MTkxIDYuODk5MjggMTYuNjI0OCA3LjAzNzlDMTUuMTIyMyA4LjExMDE4IDEzLjc1MzQgOS4zNTgyNCAxMi41NDcyIDEwLjc1NTVDMTIuNDY2MyAxMC44NDkgMTIuMzY3MSAxMC45MjQ3IDEyLjI1NTcgMTAuOTc4MkMxMi4xNDQyIDExLjAzMTYgMTIuMDIzIDExLjA2MTUgMTEuODk5NSAxMS4wNjZDMTEuNzc2IDExLjA3MDUgMTEuNjUyOSAxMS4wNDk1IDExLjUzNzggMTEuMDA0M0MxMS40MjI4IDEwLjk1OTIgMTEuMzE4MyAxMC44OTA4IDExLjIzMDggMTAuODAzNUw5LjE5OTIyIDguNzczMUw2LjUzNTIyIDExLjQzNzFDNi40NTIxNiAxMS41MjMgNi4zNTI4MSAxMS41OTE1IDYuMjQyOTkgMTEuNjM4N0M2LjEzMzE2IDExLjY4NTggNi4wMTUwNSAxMS43MTA1IDUuODk1NTUgMTEuNzExNUM1Ljc3NjA1IDExLjcxMjUgNS42NTc1NSAxMS42ODk3IDUuNTQ2OTcgMTEuNjQ0NEM1LjQzNjM4IDExLjU5OTEgNS4zMzU5MyAxMS41MzIyIDUuMjUxNDYgMTEuNDQ3NkM1LjE2NyAxMS4zNjMxIDUuMTAwMjIgMTEuMjYyNiA1LjA1NTAyIDExLjE1MkM1LjAwOTgyIDExLjA0MTMgNC45ODcxIDEwLjkyMjggNC45ODgyIDEwLjgwMzNDNC45ODkyOSAxMC42ODM4IDUuMDE0MTcgMTAuNTY1NyA1LjA2MTM5IDEwLjQ1NTlDNS4xMDg2MSAxMC4zNDYyIDUuMTc3MjIgMTAuMjQ2OSA1LjI2MzIyIDEwLjE2MzlMOC41NjMyMiA2Ljg2MzlDOC43MzE5NyA2LjY5NTM2IDguOTYwNzIgNi42MDA2OSA5LjE5OTIyIDYuNjAwNjlDOS40Mzc3MiA2LjYwMDY5IDkuNjY2NDcgNi42OTUzNiA5LjgzNTIyIDYuODYzOUwxMS44MzIgOC44NTk1QzEyLjk2OTEgNy42NDIzOSAxNC4yMjQgNi41NDEgMTUuNTc4NCA1LjU3MTVDMTUuNjc0NyA1LjUwMjc2IDE1Ljc4MzcgNS40NTM2OSAxNS44OTkgNS40MjcxQzE2LjAxNDMgNS40MDA1MSAxNi4xMzM3IDUuMzk2OTIgMTYuMjUwNCA1LjQxNjU0QzE2LjM2NzEgNS40MzYxNSAxNi40Nzg4IDUuNDc4NTkgMTYuNTc5MSA1LjU0MTQyQzE2LjY3OTQgNS42MDQyNiAxNi43NjYzIDUuNjg2MjUgMTYuODM0OCA1Ljc4MjdaJyBmaWxsPSclMjMwMDMwNDQnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0XHRoZWlnaHQ6IDIycHg7XG5cdFx0XHR3aWR0aDogMjJweDtcblx0XHR9XG5cdH1cbn1cblxuLndwLWJsb2NrLWRldGFpbHMuaXMtc3R5bGUtcGxhbmUge1xuXHQmIHN1bW1hcnkge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxOScgaGVpZ2h0PScyMCcgdmlld0JveD0nMCAwIDE5IDIwJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMTguMjA1NyAxNS45OTMyQzE4LjI1NDUgMTYuMTI3MyAxOC4yNjQgMTYuMjcyNiAxOC4yMzMxIDE2LjQxMTlDMTguMjAyMiAxNi41NTEyIDE4LjEzMjIgMTYuNjc4OCAxOC4wMzE0IDE2Ljc3OThMMTUuNzgxNCAxOS4wMjk4QzE1LjcxMTcgMTkuMDk5NiAxNS42MjkgMTkuMTU1IDE1LjUzOCAxOS4xOTI4QzE1LjQ0NjkgMTkuMjMwNiAxNS4zNDkzIDE5LjI1IDE1LjI1MDcgMTkuMjUwMUMxNS4yMjYxIDE5LjI1MTUgMTUuMjAxMyAxOS4yNTE1IDE1LjE3NjcgMTkuMjUwMUMxNS4wNjYyIDE5LjIzOTIgMTQuOTU5NiAxOS4yMDQgMTQuODY0NCAxOS4xNDY5QzE0Ljc2OTMgMTkuMDg5OSAxNC42ODggMTkuMDEyNCAxNC42MjY0IDE4LjkyMDFMMTAuNDk0OCAxMi43MjEzTDguNTAwNzMgMTQuNzExN1YxNy4wMDAxQzguNTAwNjQgMTcuMTk4NyA4LjQyMTc0IDE3LjM4OTIgOC4yODEzNSAxNy41Mjk4QzguMjgxMzUgMTcuNTI5OCA2Ljk2ODg1IDE4Ljg0NzkgNi43OTI2IDE5LjAxODVDNi43MTkzNSAxOS4wOTUzIDYuNjMwNDcgMTkuMTU1NCA2LjUzMTk4IDE5LjE5NDhDNi4zNDg0MyAxOS4yNjk1IDYuMTQyNzUgMTkuMjY4NiA1Ljk1OTg4IDE5LjE5MjJDNS43NzcwMSAxOS4xMTU4IDUuNjMxODIgMTguOTcwMSA1LjU1NjA0IDE4Ljc4N0w1LjU1MDQyIDE4Ljc3MjlMNC4xNzIyOSAxNS4zMjY3TDAuNzE5NDc4IDEzLjk0NTdDMC42MDQyOTQgMTMuODk5NiAwLjUwMjMzOSAxMy44MjU3IDAuNDIyNzQ3IDEzLjczMDVDMC4zNDMxNTUgMTMuNjM1NCAwLjI4ODQxMiAxMy41MjIgMC4yNjM0MjIgMTMuNDAwNUMwLjIzODQzMSAxMy4yNzg5IDAuMjQzOTc0IDEzLjE1MzEgMC4yNzk1NTMgMTMuMDM0M0MwLjMxNTEzMyAxMi45MTU0IDAuMzc5NjM4IDEyLjgwNzMgMC40NjcyOSAxMi43MTk1TDEuOTY3MjkgMTEuMjE5NUMyLjAzNzMzIDExLjE0OTUgMi4xMjA1MiAxMS4wOTQxIDIuMjEyMDggMTEuMDU2NUMyLjMwMzYzIDExLjAxODggMi40MDE3MyAxMC45OTk2IDIuNTAwNzMgMTEuMDAwMUg0Ljc4ODIzTDYuNzgyMjkgOS4wMDYwM0wwLjU4NDQ3NyA0Ljg3MzUzQzAuNDkyMDM4IDQuODEyIDAuNDE0NDE3IDQuNzMwNyAwLjM1NzIxOSA0LjYzNTUxQzAuMzAwMDIxIDQuNTQwMzMgMC4yNjQ2NzUgNC40MzM2MyAwLjI1MzczMiA0LjMyMzEyQzAuMjQyNzg4IDQuMjEyNjEgMC4yNTY1MjIgNC4xMDEwNSAwLjI5Mzk0IDMuOTk2NUMwLjMzMTM1OCAzLjg5MTk0IDAuMzkxNTI3IDMuNzk3IDAuNDcwMTAzIDMuNzE4NTNMMi43MjAxIDEuNDY4NTNDMi44MjEwNCAxLjM2NzY1IDIuOTQ4NjYgMS4yOTc2NSAzLjA4Nzk4IDEuMjY2NzZDMy4yMjczMSAxLjIzNTg4IDMuMzcyNTUgMS4yNDUzOCAzLjUwNjY3IDEuMjk0MTZMMTEuNTYzNSA0LjIyMzg1TDE0LjUxOTUgMS4yNjc5MUMxNS4wMTE4IDAuNzc1NTk5IDE1LjY3OTUgMC40OTkwMjMgMTYuMzc1NyAwLjQ5OTAyM0MxNi43MjA1IDAuNDk5MDIzIDE3LjA2MTggMC41NjY5MjQgMTcuMzgwMyAwLjY5ODg1QzE3LjY5ODggMC44MzA3NzUgMTcuOTg4MiAxLjAyNDE0IDE4LjIzMiAxLjI2NzkxQzE4LjQ3NTcgMS41MTE2NyAxOC42NjkxIDEuODAxMDcgMTguODAxIDIuMTE5NTZDMTguOTMzIDIuNDM4MDYgMTkuMDAwOSAyLjc3OTQyIDE5LjAwMDkgMy4xMjQxNkMxOS4wMDA5IDMuNDY4ODkgMTguOTMzIDMuODEwMjYgMTguODAxIDQuMTI4NzVDMTguNjY5MSA0LjQ0NzI1IDE4LjQ3NTcgNC43MzY2NCAxOC4yMzIgNC45ODA0MUwxNS4yNzYgNy45MzYzNUwxOC4yMDU3IDE1Ljk5MzJaJyBmaWxsPSclMjMwMDMwNDQnLyUzRSUzQy9zdmclM0UlMEFcIik7XG5cdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHR3aWR0aDogMTlweDtcblx0XHR9XG5cdH1cbn1cblxuLndwLWJsb2NrLWRldGFpbHMuaXMtc3R5bGUtcGVvcGxlIHtcblx0JiBzdW1tYXJ5IHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMjInIGhlaWdodD0nMTUnIHZpZXdCb3g9JzAgMCAyMiAxNScgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZD0nTTE1IDYuNUMxNi42NiA2LjUgMTcuOTkgNS4xNiAxNy45OSAzLjVDMTcuOTkgMS44NCAxNi42NiAwLjUgMTUgMC41QzEzLjM0IDAuNSAxMiAxLjg0IDEyIDMuNUMxMiA1LjE2IDEzLjM0IDYuNSAxNSA2LjVaTTcgNi41QzguNjYgNi41IDkuOTkgNS4xNiA5Ljk5IDMuNUM5Ljk5IDEuODQgOC42NiAwLjUgNyAwLjVDNS4zNCAwLjUgNCAxLjg0IDQgMy41QzQgNS4xNiA1LjM0IDYuNSA3IDYuNVpNNyA4LjVDNC42NyA4LjUgMCA5LjY3IDAgMTJWMTQuNUgxNFYxMkMxNCA5LjY3IDkuMzMgOC41IDcgOC41Wk0xNSA4LjVDMTQuNzEgOC41IDE0LjM4IDguNTIgMTQuMDMgOC41NUMxNS4xOSA5LjM5IDE2IDEwLjUyIDE2IDEyVjE0LjVIMjJWMTJDMjIgOS42NyAxNy4zMyA4LjUgMTUgOC41WicgZmlsbD0nJTIzMDAzMDQ0Jy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xuXHRcdFx0aGVpZ2h0OiAxNXB4O1xuXHRcdFx0d2lkdGg6IDIycHg7XG5cdFx0fVxuXHR9XG59XG4iLCIud3AtYmxvY2staHlwZXJsb2NvbG9neS11dGlsaXR5LW5hdmlnYXRpb24ge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGdhcDogMXJlbTtcblxuXHQmIC5ib29rLWRlbW8tYnRuIHtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4ud3AtYmxvY2staHlwZXJsb2NvbG9neS11dGlsaXR5LW5hdmlnYXRpb24gLnV0aWxpdHktbmF2IHtcblx0bWFyZ2luOiAwO1xufVxuXG4udXRpbGl0eS1uYXZpZ2F0aW9uLWJsb2NrIC51dGlsaXR5LW5hdiAud3AtYmxvY2stbmF2aWdhdGlvbl9fY29udGFpbmVyIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwO1xuXHRtYXJnaW46IDA7XG59XG5cbi51dGlsaXR5LW5hdmlnYXRpb24tYmxvY2sgLnV0aWxpdHktbmF2IC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW0ge1xuXHRtYXJnaW46IDA7XG59XG5cbi51dGlsaXR5LW5hdmlnYXRpb24tYmxvY2sgLnV0aWxpdHktbmF2IC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tY29udHJhc3QsICMxZTFlMWUpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IDE1cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi51dGlsaXR5LW5hdmlnYXRpb24tYmxvY2tcblx0LnV0aWxpdHktbmF2XG5cdC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQ6aG92ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1uYXYtaG92ZXItYmcsIHJnYmEoMCwgNDgsIDY4LCAwLjA1KSk7XG5cdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSwgIzBhYTM5Yyk7XG59XG5cbi51dGlsaXR5LW5hdmlnYXRpb24tYmxvY2tcblx0LnV0aWxpdHktbmF2XG5cdC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQ6Zm9jdXMge1xuXHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnksICMwYWEzOWMpO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBSZXNwb25zaXZlIGJlaGF2aW9yICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0Lm5hdi1hY3Rpb25zLmlzLWxheW91dC1mbGV4IHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0fVxuXG5cdC51dGlsaXR5LW5hdmlnYXRpb24tYmxvY2sge1xuXHRcdGdhcDogMC41cmVtO1xuXG5cdFx0JiAuYm9vay1kZW1vLWJ0biB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC51dGlsaXR5LW5hdmlnYXRpb24tYmxvY2sgLnV0aWxpdHktbmF2IC53cC1ibG9jay1uYXZpZ2F0aW9uLWl0ZW1fX2NvbnRlbnQge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRwYWRkaW5nOiA2cHggMTJweDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENTUyBDdXN0b20gUHJvcGVydGllcyAmIEJhc2UgTmF2aWdhdGlvbiBTdHlsZXNcbiAgIFNoYXJlZCBhY3Jvc3MgYWxsIG5hdmlnYXRpb24gY29tcG9uZW50c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogQmFzZSBuYXZpZ2F0aW9uIGNvbnRhaW5lciBzdHlsZXMgKi9cbi5uYXYtYmFzZSxcbi53cC1ibG9jay1uYXZpZ2F0aW9uX19jb250YWluZXIsXG4ubWVnYS1uYXYtbWVudSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0tbmF2LWdhcCwgMTZweCk7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLyogQmFzZSBuYXZpZ2F0aW9uIGxpbmsgc3R5bGVzIC0gc2hhcmVkIGFjcm9zcyBhbGwgbmF2aWdhdGlvbiB0eXBlcyAqL1xuLm5hdi1saW5rLWJhc2UsXG4ud3AtYmxvY2stbmF2aWdhdGlvbi1pdGVtX19jb250ZW50LFxuLm1lZ2EtbmF2LW1lbnUgPiBsaSA+IC5uYXYtbGluayB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdGNvbG9yOiB2YXIoLS1uYXYtdGV4dC1wcmltYXJ5LCAjMDAzMDQ0KTtcblx0ZGlzcGxheTogZmxleDtcblx0Zm9udC1mYW1pbHk6IHZhcihcblx0XHQtLW5hdi1mb250LWZhbWlseSxcblx0XHRcIlBvcHBpbnNcIixcblx0XHQtYXBwbGUtc3lzdGVtLFxuXHRcdEJsaW5rTWFjU3lzdGVtRm9udCxcblx0XHRcIlNlZ29lIFVJXCIsXG5cdFx0Um9ib3RvLFxuXHRcdHNhbnMtc2VyaWZcblx0KTtcblx0Zm9udC1zaXplOiB2YXIoLS1uYXYtZm9udC1zaXplLCAxNnB4KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLW5hdi1mb250LXdlaWdodC1zZW1pYm9sZCwgNjAwKTtcblx0Z2FwOiA0cHg7XG5cdGxpbmUtaGVpZ2h0OiB2YXIoLS1uYXYtbGluZS1oZWlnaHQsIDEuMSk7XG5cdHBhZGRpbmc6IDhweCAyNHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHR0cmFuc2l0aW9uOiB2YXIoXG5cdFx0LS1uYXYtdHJhbnNpdGlvbixcblx0XHRhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NClcblx0KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHQvKiBCYXNlIG5hdmlnYXRpb24gbGluayBob3ZlciBhbmQgZm9jdXMgc3RhdGVzIC0gc2hhcmVkICovXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjEpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogMnB4IHNvbGlkIHZhcigtLW5hdi10ZWFsLCAjMGFhMzljKTtcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHR9XG59XG5cbi8qIEJhc2UgZHJvcGRvd24gaW5kaWNhdG9yIHN0eWxlcyAtIHNoYXJlZCAqL1xuLmRyb3Bkb3duLWluZGljYXRvci1iYXNlLFxuLmRyb3Bkb3duLWluZGljYXRvciB7XG5cdGZpbGw6IG5vbmU7XG5cdGhlaWdodDogNXB4O1xuXHRzdHJva2U6IGN1cnJlbnRjb2xvcjtcblx0dHJhbnNpdGlvbjogdmFyKC0tbmF2LXRyYW5zaXRpb24tZmFzdCwgYWxsIDAuMnMgZWFzZSk7XG5cdHdpZHRoOiA4cHg7XG59XG5cbi8qIEJhc2UgZHJvcGRvd24gaG92ZXIgc3RhdGUgLSBzaGFyZWQsIG9ubHkgb24gZGV2aWNlcyB0aGF0IHN1cHBvcnQgaG92ZXIgKi9cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG5cdC5oYXMtbWVnYS1tZW51OmhvdmVyIC5kcm9wZG93bi1pbmRpY2F0b3ItYmFzZSxcblx0Lmhhcy1tZWdhLW1lbnU6aG92ZXIgLmRyb3Bkb3duLWluZGljYXRvciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0fVxufVxuXG4vKiBLZWVwIGZvY3VzLXdpdGhpbiBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbiBvbiBhbGwgZGV2aWNlcyAqL1xuLmhhcy1tZWdhLW1lbnU6Zm9jdXMtd2l0aGluIC5kcm9wZG93bi1pbmRpY2F0b3ItYmFzZSxcbi5oYXMtbWVnYS1tZW51OmZvY3VzLXdpdGhpbiAuZHJvcGRvd24taW5kaWNhdG9yIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLyogU2NyZWVuIFJlYWRlciBPbmx5ICovXG4uc3Itb25seSB7XG5cdGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cdGhlaWdodDogMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZWdhIE5hdmlnYXRpb24gQmxvY2sgQ29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ubWVnYS1uYXZpZ2F0aW9uLWJsb2NrIHtcblx0Y29udGFpbmVyLW5hbWU6IG1lZ2EtbmF2O1xuXHRjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG5cdGZsZXg6IDE7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRtYXJnaW46IDAgMnJlbTtcblx0bWF4LXdpZHRoOiA0NHB4O1xuXHRvcmRlcjogMTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0b3JkZXI6IHVuc2V0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0JiAucHJpbWFyeS1uYXZpZ2F0aW9uIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHQvKiBNYWluIE5hdmlnYXRpb24gTWVudSAtIG1hdGNoZXMgaGVhZGVyLmNzcyBzdHlsaW5nICovXG5cdCYgLm1lZ2EtbmF2LW1lbnUge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93OyAvKiBFbnN1cmUgaG9yaXpvbnRhbCBsYXlvdXQgYnkgZGVmYXVsdCAqL1xuXHRcdGdhcDogdmFyKC0tbmF2LWdhcCwgMTZweCk7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdC8qIFRvcC1sZXZlbCBuYXZpZ2F0aW9uIGl0ZW1zICovXG5cdFx0JiA+IGxpIHtcblx0XHRcdCY6bm90KDpoYXMoLm1lZ2EtbWVudS1jdGEpKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblxuXHRcdFx0LyogVG9wLUxldmVsIE5hdmlnYXRpb24gTGlua3MgLSBtYXRjaGVzIGhlYWRlci5jc3MgZXhhY3RseSAqL1xuXHRcdFx0JiA+IC5uYXYtbGluayB7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1uYXYtdGV4dC1wcmltYXJ5LCAjMDAzMDQ0KTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IHZhcihcblx0XHRcdFx0XHQtLW5hdi1mb250LWZhbWlseSxcblx0XHRcdFx0XHRcIlBvcHBpbnNcIixcblx0XHRcdFx0XHQtYXBwbGUtc3lzdGVtLFxuXHRcdFx0XHRcdEJsaW5rTWFjU3lzdGVtRm9udCxcblx0XHRcdFx0XHRcIlNlZ29lIFVJXCIsXG5cdFx0XHRcdFx0Um9ib3RvLFxuXHRcdFx0XHRcdHNhbnMtc2VyaWZcblx0XHRcdFx0KTtcblx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS1uYXYtZm9udC1zaXplLCAxNnB4KTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLW5hdi1mb250LXdlaWdodC1zZW1pYm9sZCwgNjAwKTtcblx0XHRcdFx0Z2FwOiA0cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1uYXYtbGluZS1oZWlnaHQsIDEuMSk7XG5cdFx0XHRcdHBhZGRpbmc6IDhweCAyNHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cdFx0XHRcdHRyYW5zaXRpb246IHZhcihcblx0XHRcdFx0XHQtLW5hdi10cmFuc2l0aW9uLFxuXHRcdFx0XHRcdGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KVxuXHRcdFx0XHQpO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0XHRcdC8qIEhvdmVyIGFuZCBmb2N1cyBzdGF0ZXMgLSBtYXRjaGVzIGhlYWRlci5jc3MgKi9cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgxMCwgMTYzLCAxNTYsIDAuMSk7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLW5hdi10ZWFsLCAjMGFhMzljKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1uYXYtdGVhbCwgIzBhYTM5Yyk7XG5cdFx0XHRcdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8qIEhhY2sgdG8gZW5zdXJlIG5vIGRlYWQgem9uZSBiZXR3ZWVuIHRoZSB0b3AgbGV2ZWwgbmF2IGl0ZW1zIGFuZCB0aGVpciBzdWItbWVudSBjaGlsZHJlbiAqL1xuXHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRoZWlnaHQ6IDEuNTYyNXJlbTtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiBEcm9wZG93biBJbmRpY2F0b3JzIC0gRmlnbWEgZGVzaWduIGFycm93cyBmb3IgU29sdXRpb25zLCBQbGF0Zm9ybSwgUmVzb3VyY2VzICovXG5cdCYgLmRyb3Bkb3duLWluZGljYXRvciB7XG5cdFx0ZmlsbDogbm9uZTtcblx0XHRoZWlnaHQ6IDVweDtcblx0XHRzdHJva2U6IGN1cnJlbnRjb2xvcjtcblx0XHR0cmFuc2l0aW9uOiB2YXIoLS1uYXYtdHJhbnNpdGlvbi1mYXN0LCBhbGwgMC4ycyBlYXNlKTtcblx0XHR3aWR0aDogOHB4O1xuXHR9XG5cblx0LyogT25seSBhcHBseSBob3ZlciBlZmZlY3RzIG9uIGRldmljZXMgdGhhdCBzdXBwb3J0IGhvdmVyIChkZXNrdG9wKSAqL1xuXHRAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG5cdFx0JiAuaGFzLW1lZ2EtbWVudTpob3ZlciAuZHJvcGRvd24taW5kaWNhdG9yIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXHR9XG5cblx0LyogS2VlcCBmb2N1cy13aXRoaW4gZm9yIGtleWJvYXJkIG5hdmlnYXRpb24gb24gYWxsIGRldmljZXMgKi9cblx0JiAuaGFzLW1lZ2EtbWVudTpmb2N1cy13aXRoaW4gLmRyb3Bkb3duLWluZGljYXRvciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVza3RvcCBOYXZpZ2F0aW9uIFdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kZXNrdG9wLW5hdi13cmFwcGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9iaWxlIE5hdmlnYXRpb24gU3lzdGVtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBNb2JpbGUgTmF2aWdhdGlvbiBUb2dnbGUgQnV0dG9uICovXG4ubW9iaWxlLW5hdi10b2dnbGUge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBub25lOyAvKiBIaWRkZW4gYnkgZGVmYXVsdCwgc2hvd24gb25seSBpbiBtb2JpbGUgY29udGFpbmVyIHN0YXRlICovXG5cdGhlaWdodDogNDRweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDhweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1uYXYtdHJhbnNpdGlvbi1mYXN0LCBhbGwgMC4ycyBlYXNlKTtcblx0d2lkdGg6IDQ0cHg7XG5cdHotaW5kZXg6IDk5OTsgLyogTG93ZXIgdGhhbiBtb2JpbGUgbmF2IGNvbnRhaW5lciBzbyBpdCBnZXRzIGhpZGRlbiBiZWhpbmQgb3ZlcmxheSAqL1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjEpO1xuXHRcdGJvcmRlci1jb2xvcjogcmdiYSgxMCwgMTYzLCAxNTYsIDAuMik7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNjMsIDE1NiwgMC4xKTtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLW5hdi10ZWFsLCAjMGFhMzljKTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0LyogSGFtYnVyZ2VyIEljb24gKi9cblx0Ji5pcy1hY3RpdmUge1xuXHRcdCYgLmhhbWJ1cmdlci1saW5lOm50aC1jaGlsZCgxKSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOC41cHgpIHJvdGF0ZSg0NWRlZyk7XG5cdFx0fVxuXG5cdFx0JiAuaGFtYnVyZ2VyLWxpbmU6bnRoLWNoaWxkKDIpIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0fVxuXG5cdFx0JiAuaGFtYnVyZ2VyLWxpbmU6bnRoLWNoaWxkKDMpIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNy41cHgpIHJvdGF0ZSgtNDVkZWcpO1xuXHRcdH1cblx0fVxufVxuXG4uaGFtYnVyZ2VyLWljb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDE4cHg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0d2lkdGg6IDI0cHg7XG59XG5cbi5oYW1idXJnZXItbGluZSB7XG5cdGJhY2tncm91bmQ6IHZhcigtLW5hdi10ZXh0LXByaW1hcnksICMwMDMwNDQpO1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGhlaWdodDogM3B4O1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1uYXYtdHJhbnNpdGlvbi1mYXN0LCBhbGwgMC4ycyBlYXNlKTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi8qIE1vYmlsZSBOYXZpZ2F0aW9uIENvbnRhaW5lciAmIFN0YXRlcyAqL1xuLm1vYmlsZS1uYXYtY29udGFpbmVyIHtcblx0YmFja2dyb3VuZDogdmFyKC0tbmF2LXdoaXRlLCAjZmZmZmZmKTtcblx0Ym90dG9tOiAwO1xuXHRkaXNwbGF5OiBub25lO1xuXHRsZWZ0OiAwO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDEwMDA7XG5cblx0LyogU2hvdyBtb2JpbGUgbmF2aWdhdGlvbiB3aGVuIG9wZW4gKi9cblx0Ji5tb2JpbGUtbmF2LW9wZW4ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG91dGxpbmU6IG5vbmU7IC8qIEVuc3VyZSBwcm9wZXIgZm9jdXMgbWFuYWdlbWVudCAqL1xuXHR9XG5cblx0LyogTW9iaWxlIG5hdmlnYXRpb24gY29udGVudCB3cmFwcGVyIC0gaGFuZGxlcyBjZW50ZXJpbmcgYW5kIGxheW91dCAqL1xuXHQmIC5tb2JpbGUtbmF2LWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0bWFyZ2luOiAwIGF1dG87IC8qIENlbnRlciB0aGUgY29udGVudCAqL1xuXHRcdG1heC13aWR0aDogMTIwMHB4OyAvKiBNYXRjaCB5b3VyIHNpdGUncyBjb250ZW50IHdpZHRoICovXG5cdFx0cGFkZGluZzogMTIwcHggMjRweCAyNHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0LyogTW9iaWxlIG5hdmlnYXRpb24gbWVudSBzdHlsaW5nIC0gZXh0ZW5kcyBiYXNlIG5hdiBzdHlsZXMgKi9cblx0JiAubWVnYS1uYXYtbWVudS5tb2JpbGUtbmF2IHtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgNDgsIDY4LCAwLjEpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlOyAvKiBJbmhlcml0IGZyb20gYmFzZSBuYXYgaXRlbSBzdHlsZXMgKi9cblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQvKiBNb2JpbGUgbmF2IGxpbmtzIC0gaW5oZXJpdCBmcm9tIHNoYXJlZCBiYXNlIGJ1dCBvdmVycmlkZSBmb3IgbW9iaWxlIGxheW91dCAqL1xuXHRcdFx0JiA+IC5uYXYtbGluayB7XG5cdFx0XHRcdC8qIEluaGVyaXQgYWxsIGJhc2UgbmF2LWxpbmsgc3R5bGVzLCB0aGVuIG92ZXJyaWRlIHNwZWNpZmljIHByb3BlcnRpZXMgKi9cblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdHBhZGRpbmc6IDEuMjVyZW0gMnJlbTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogTW9iaWxlIE5hdmlnYXRpb24gLSBTaG93IGRyb3Bkb3duIGluZGljYXRvcnMgYW5kIGFsbG93IGV4cGFuc2lvbiAqL1xuXHRcdCYgLmRyb3Bkb3duLWluZGljYXRvciB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cdFx0fVxuXG5cdFx0JiAuaGFzLW1lZ2EtbWVudS5leHBhbmRlZCAuZHJvcGRvd24taW5kaWNhdG9yIHtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdFx0fVxuXG5cdFx0LyogTW9iaWxlIE5hdmlnYXRpb24gLSBNYWtlIHBhcmVudCBsaW5rcyB3aXRoIGNoaWxkcmVuIGNsaWNrYWJsZSBmb3IgZXhwYW5kL2NvbGxhcHNlICovXG5cdFx0JiAuaGFzLW1lZ2EtbWVudSA+IC5uYXYtbGluayB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXHR9XG5cblx0LyogTW9iaWxlIE5hdmlnYXRpb24gLSBUcmFuc2Zvcm0gbWVnYSBtZW51cyBpbnRvIGFjY29yZGlvbi1zdHlsZSBsYXlvdXQgKi9cblx0JiAubWVnYS1tZW51LWRyb3Bkb3duIHtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNjMsIDE1NiwgMC4wNSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGRpc3BsYXk6IG5vbmU7IC8qIEhpZGRlbiBieSBkZWZhdWx0LCBzaG93biB3aGVuIGV4cGFuZGVkICovXG5cdFx0bGVmdDogMDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdG1heC1oZWlnaHQ6IDA7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdHRyYW5zaXRpb246XG5cdFx0XHRtYXgtaGVpZ2h0IDAuM3MgZWFzZSxcblx0XHRcdG9wYWNpdHkgMC4ycyBlYXNlO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCYgLmhhcy1tZWdhLW1lbnUuZXhwYW5kZWQgLm1lZ2EtbWVudS1kcm9wZG93biB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWF4LWhlaWdodDogNjAwcHg7IC8qIExhcmdlIGVub3VnaCB0byBhY2NvbW1vZGF0ZSBjb250ZW50ICovXG5cdFx0b3BhY2l0eTogMTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cblx0LyogTW9iaWxlIE5hdmlnYXRpb24gLSBBY2NvcmRpb24gbGF5b3V0IGZvciBtZWdhIG1lbnUgY29udGVudCAqL1xuXHQmIC5tZWdhLW1lbnUtY29udGVudCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuXHRcdHBhZGRpbmc6IDE2cHggMjRweDtcblx0fVxuXG5cdCYgLm1lZ2EtbWVudS1saW5rcyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cblxuXHQmIC5tZWdhLW1lbnUtaXRlbSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDhweDtcblx0XHRwYWRkaW5nOiAxMnB4O1xuXHR9XG5cblx0LyogTW9iaWxlIE5hdmlnYXRpb24gLSBIaWRlIENUQSBzZWN0aW9uIGluIG1vYmlsZSBhY2NvcmRpb24gKi9cblx0JiAubWVnYS1tZW51LWN0YSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC8qIE1vYmlsZSBOYXZpZ2F0aW9uIENsb3NlIEJ1dHRvbiAqL1xuXHQmIC5tb2JpbGUtbmF2LWNsb3NlIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRjb2xvcjogdmFyKC0tbmF2LXRleHQtcHJpbWFyeSwgIzAwMzA0NCk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7IC8qIFNob3cgY2xvc2UgYnV0dG9uIGluIG1vYmlsZSBvdmVybGF5ICovXG5cdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDhweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiA0NHB4O1xuXHRcdHRyYW5zaXRpb246IHZhcigtLW5hdi10cmFuc2l0aW9uLWZhc3QsIGFsbCAwLjJzIGVhc2UpO1xuXHRcdHdpZHRoOiA0NHB4O1xuXHRcdHotaW5kZXg6IDEwMDE7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjEpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDEwLCAxNjMsIDE1NiwgMC4yKTtcblx0XHR9XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjEpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1uYXYtdGVhbCwgIzBhYTM5Yyk7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vKiBNb2JpbGUgTmF2aWdhdGlvbiBDbG9zZSBCdXR0b24gLSBmYWxsYmFjayBmb3Igd2hlbiBub3QgaW4gY29udGFpbmVyICovXG4ubW9iaWxlLW5hdi1jbG9zZSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRjb2xvcjogdmFyKC0tbmF2LXRleHQtcHJpbWFyeSwgIzAwMzA0NCk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0ZGlzcGxheTogbm9uZTsgLyogSGlkZGVuIGJ5IGRlZmF1bHQsIHNob3duIG9ubHkgaW4gbW9iaWxlIG92ZXJsYXkgKi9cblx0aGVpZ2h0OiA0NHB4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZzogOHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDQ0cHg7XG5cdHRyYW5zaXRpb246IHZhcigtLW5hdi10cmFuc2l0aW9uLWZhc3QsIGFsbCAwLjJzIGVhc2UpO1xuXHR3aWR0aDogNDRweDtcblx0ei1pbmRleDogMTAwMTtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNjMsIDE1NiwgMC4xKTtcblx0XHRib3JkZXItY29sb3I6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjIpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxMCwgMTYzLCAxNTYsIDAuMSk7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1uYXYtdGVhbCwgIzBhYTM5Yyk7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxufVxuXG4vKiBDb250YWluZXItYmFzZWQgbW9iaWxlIHN0YXRlIGNvbnRyb2xsZWQgYnkgSmF2YVNjcmlwdCBSZXNpemVPYnNlcnZlciAqL1xuLm1lZ2EtbmF2aWdhdGlvbi1ibG9jay5tb2JpbGUtY29udGFpbmVyIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdCYgLm1vYmlsZS1uYXYtdG9nZ2xlIHtcblx0XHRkaXNwbGF5OiBmbGV4OyAvKiBTaG93IGhhbWJ1cmdlciBidXR0b24gaW4gbW9iaWxlIGNvbnRhaW5lciBzdGF0ZSAqL1xuXHR9XG5cblx0LyogSGlkZSBkZXNrdG9wIG5hdiBvbiBtb2JpbGUgKi9cblx0JiAuZGVza3RvcC1uYXYtd3JhcHBlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBMb2NrIGJvZHkgc2Nyb2xsIHdoZW4gbW9iaWxlIG5hdmlnYXRpb24gaXMgb3BlbiAqL1xuJiBib2R5Lm5hdi1vcGVuIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1lZ2EgTWVudSBDb21wb25lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBNZWdhIE1lbnUgRHJvcGRvd24gQ29udGFpbmVyICovXG4ubWVnYS1tZW51LWRyb3Bkb3duIHtcblx0YmFja2dyb3VuZDogdmFyKC0tbmF2LWJnLWxpZ2h0LCAjZjBmYWY5KTtcblx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0Ym94LXNoYWRvdzogMCA4cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXHRsZWZ0OiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogY2FsYygxMDAlICsgMS41NjI1cmVtKTtcblx0dHJhbnNpdGlvbjogdmFyKC0tbmF2LXRyYW5zaXRpb24sIG9wYWNpdHkgMC4zcyBlYXNlKTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR3aWR0aDogMTAwY3F3O1xuXHR6LWluZGV4OiAxMDAwO1xuXG5cdCYubWVnYS1tZW51LWRyb3Bkb3duLXdpZGUge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0XHRcdGxlZnQ6IDYyLjUlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02Mi41JSk7XG5cdFx0XHR3aWR0aDogMTI1Y3F3O1xuXHRcdH1cblxuXHRcdCYgLm1lZ2EtbWVudS1jb250ZW50IHtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0XHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzZnIgMWZyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCY6bm90KDpoYXMoLm1lZ2EtbWVudS1jdGEpKSB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0d2lkdGg6IG1heC1jb250ZW50O1xuXHRcdH1cblx0fVxuXG5cdCY6aGFzKC5tZWdhLW1lbnUtY3RhKSB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXHRcdFx0bWluLWhlaWdodDogMzAwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi8qIE9ubHkgYXBwbHkgaG92ZXIgZWZmZWN0cyBvbiBkZXZpY2VzIHRoYXQgc3VwcG9ydCBob3ZlciAoZGVza3RvcCkgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0JiAuaGFzLW1lZ2EtbWVudTpob3ZlciAubWVnYS1tZW51LWRyb3Bkb3duLFxuXHQmIC5oYXMtbWVnYS1tZW51OmZvY3VzLXdpdGhpbiAubWVnYS1tZW51LWRyb3Bkb3duIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cbn1cblxuLyogTWVnYSBNZW51IENvbnRlbnQgTGF5b3V0ICovXG4ubWVnYS1tZW51LWNvbnRlbnQge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cdHBhZGRpbmc6IDEuNDVyZW07XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHRcdG1pbi1oZWlnaHQ6IGZpdC1jb250ZW50O1xuXHR9XG5cblx0Jjpub3QoOmhhcygubWVnYS1tZW51LWN0YSkpIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuXHRcdCYgLm1lZ2EtbWVudS1saW5rcyB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxufVxuXG4ubWVnYS1tZW51LWxpbmtzIHtcblx0YWxpZ24taXRlbXM6IHN0YXJ0O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNDVyZW07XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXG5cdCY6aGFzKD4gOm50aC1jaGlsZCg0KSkge1xuXHRcdEBtZWRpYSAoLS1taW4tbWVkaXVtKSB7XG5cdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0XHR9XG5cdH1cbn1cblxuLyogTWVnYSBNZW51IEl0ZW1zIChTdWItTmF2aWdhdGlvbikgKi9cbi5tZWdhLW1lbnUtaXRlbSB7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMTJweDtcblx0cGFkZGluZzogMTZweDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiB2YXIoLS1uYXYtdHJhbnNpdGlvbi1mYXN0LCBhbGwgMC4ycyBlYXNlKTtcblx0d2lkdGg6IDEwMCU7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgxMCwgMTYzLCAxNTYsIDAuMSk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbmF2LW5hdnksICMwMDMwNDQpO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuXHR9XG5cblx0LyogTWVnYSBtZW51IGl0ZW0gbGlua3Mgc2hvdWxkIGluaGVyaXQgYmFzZSBsaW5rIGJlaGF2aW9ycyAqL1xuXHQmIC5tZW51LWl0ZW0tbGluayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0XHRvdXRsaW5lOiAycHggc29saWQgdmFyKC0tbmF2LXRlYWwsICMwYWEzOWMpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cdFx0fVxuXHR9XG59XG5cbi8qIE1lbnUgSXRlbSBJY29ucyAqL1xuLm1lbnUtaXRlbS1pY29uIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGhlaWdodDogMjRweDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xufVxuXG4ubWVudS1pdGVtLWljb24tcGxhY2Vob2xkZXIge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDEwLCAxNjMsIDE1NiwgMC4xKTtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRjb2xvcjogdmFyKC0tbmF2LXRlYWwsICMwYWEzOWMpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogTWVudSBJdGVtIENvbnRlbnQgKi9cbi5tZW51LWl0ZW0tY29udGVudCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogNHB4O1xufVxuXG4ubWVudS1pdGVtLWxpbmsge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5tZW51LWl0ZW0tdGl0bGUge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogdmFyKC0tbmF2LXRleHQtcHJpbWFyeSwgIzAwMzA0NCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1uYXYtZm9udC1mYW1pbHksIFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmKTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LXdlaWdodDogdmFyKC0tbmF2LWZvbnQtd2VpZ2h0LXNlbWlib2xkLCA2MDApO1xuXHRnYXA6IDAuNDVyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5tZW51LWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRjb2xvcjogdmFyKC0tbmF2LXRleHQtcHJpbWFyeSwgIzAwMzA0NCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1uYXYtZm9udC1mYW1pbHksIFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiBDVEEgU2VjdGlvbiAqL1xuLm1lZ2EtbWVudS1jdGEge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1uYXYtbmF2eSwgIzAwMzA0NCk7XG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxMCwgMTYzLCAxNTYsIDAuMSk7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxNnB4O1xuXHRwYWRkaW5nOiAyNHB4O1xufVxuXG4uY3RhLWltYWdlIHtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdCYgaW1nIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmN0YS1jb250ZW50IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAxMnB4O1xuXG5cdCYgLmN0YS1idXR0b24ge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Y29sb3I6IHZhcigtLW5hdi13aGl0ZSwgI2ZmZmZmZik7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLW5hdi1mb250LWZhbWlseSwgXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWYpO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS0yeHMpO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1uYXYtZm9udC13ZWlnaHQtc2VtaWJvbGQsIDYwMCk7XG5cdFx0Z2FwOiAwLjI1cmVtO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiB2YXIoXG5cdFx0XHQtLW5hdi10cmFuc2l0aW9uLWZhc3QsXG5cdFx0XHRjb2xvciAwLjJzIGVhc2UsXG5cdFx0XHR0cmFuc2Zvcm0gMC4ycyBlYXNlXG5cdFx0KTtcblx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6IHZhcigtLW5hdi10ZWFsLCAjMGFhMzljKTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcblxuXHRcdFx0JiAuY3RhLWFycm93IHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMnB4LCAtMnB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmN0YS10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1uYXYtd2hpdGUsICNmZmZmZmYpO1xuXHRmb250LWZhbWlseTogdmFyKC0tbmF2LWZvbnQtZmFtaWx5LCBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZik7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14cyk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1uYXYtZm9udC13ZWlnaHQtc2VtaWJvbGQsIDYwMCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdG1hcmdpbjogMDtcbn1cblxuLmN0YS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiB2YXIoLS1uYXYtd2hpdGUsICNmZmZmZmYpO1xuXHRmb250LWZhbWlseTogdmFyKC0tbmF2LWZvbnQtZmFtaWx5LCBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZik7XG5cdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS14cyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdG1hcmdpbjogMDtcbn1cblxuLmN0YS1hcnJvdyB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFZGl0b3IgJiBQbGFjZWhvbGRlciBTdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tZWdhLW5hdi1wbGFjZWhvbGRlciB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMTAsIDE2MywgMTU2LCAwLjA1KTtcblx0Ym9yZGVyOiAycHggZGFzaGVkIHJnYmEoMTAsIDE2MywgMTU2LCAwLjIpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdHBhZGRpbmc6IDI0cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmIHAge1xuXHRcdGNvbG9yOiB2YXIoLS1uYXYtdGV4dC1wcmltYXJ5LCAjMDAzMDQ0KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tbmF2LWZvbnQtZmFtaWx5LCBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZik7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlIERlc2lnbiAtIE1vYmlsZSBOYXZpZ2F0aW9uIEFkanVzdG1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBBZGp1c3QgbW9iaWxlIG5hdiBmb3Igc21hbGxlciBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcblx0Lm1vYmlsZS1uYXYtY29udGVudC13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAxMDBweCAxNnB4IDE2cHg7XG5cdH1cblxuXHQubW9iaWxlLW5hdi1jb250YWluZXIgLm1lZ2EtbmF2LW1lbnUubW9iaWxlLW5hdiA+IGxpID4gLm5hdi1saW5rIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0cGFkZGluZzogMTZweCAwO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWluZXIgUXVlcnkgUmVzcG9uc2l2ZSBEZXNpZ25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIExhcmdlIGNvbnRhaW5lciAodGFibGV0KSAtIGZvciBjb250YWluZXJzIG5hcnJvd2VyIHRoYW4gOTAwcHggKi9cbkBjb250YWluZXIgbWVnYS1uYXYgKG1heC13aWR0aDogOTAwcHgpIHtcblx0Lm1lZ2EtbWVudS1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAyNHB4O1xuXHR9XG5cblx0Lm1lZ2EtbWVudS1saW5rcyB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0cGFkZGluZy1yaWdodDogMjRweDtcblx0fVxufVxuXG4vKiBNZWRpdW0gY29udGFpbmVyIChzbWFsbCB0YWJsZXQpIC0gZm9yIGNvbnRhaW5lcnMgbmFycm93ZXIgdGhhbiA2MDBweCAqL1xuQGNvbnRhaW5lciBtZWdhLW5hdiAobWF4LXdpZHRoOiA2MDBweCkge1xuXHQubWVnYS1tZW51LWRyb3Bkb3duIHtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Lm1lZ2EtbWVudS1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAyMHB4O1xuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuXHRcdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdFx0fVxuXHR9XG5cblx0Lm1lZ2EtbWVudS1saW5rcyB7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXG5cdC5tZWdhLW1lbnUtY3RhIHtcblx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMCwgMTYzLCAxNTYsIDAuMSk7XG5cdFx0bWFyZ2luLXRvcDogMTZweDtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0fVxufVxuXG5AY29udGFpbmVyIG1lZ2EtbmF2ICgtLXNtYWxsLW1heCkge1xuXHQubWVnYS1uYXZpZ2F0aW9uLWJsb2NrIHtcblx0XHRvcmRlcjogMTtcblx0fVxuXG5cdC5tZWdhLW5hdi1tZW51IHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogMDtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCYgPiBsaSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0JiA+IC5uYXYtbGluayB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0cGFkZGluZzogMTZweCAyNHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubWVnYS1tZW51LWRyb3Bkb3duIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1uYXYtd2hpdGUsICNmZmZmZmYpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cdFx0bGVmdDogMDtcblx0XHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cblx0Lmhhcy1tZWdhLW1lbnU6aG92ZXIgLm1lZ2EtbWVudS1kcm9wZG93bixcblx0Lmhhcy1tZWdhLW1lbnU6Zm9jdXMtd2l0aGluIC5tZWdhLW1lbnUtZHJvcGRvd24ge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxuXG5cdC5tZWdhLW1lbnUtY29udGVudCB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0cGFkZGluZzogMTZweCAyNHB4O1xuXHR9XG5cblx0Lm1lZ2EtbWVudS1saW5rcyB7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cblxuXHQubWVnYS1tZW51LWl0ZW0ge1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRwYWRkaW5nOiAxMnB4O1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWluZXIgUXVlcnkgRmFsbGJhY2tzIC0gZm9yIGJyb3dzZXJzIHdpdGhvdXQgY29udGFpbmVyIHF1ZXJ5IHN1cHBvcnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBzdXBwb3J0cyBub3QgKGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZSkge1xuXHQvKiBGYWxsYmFjayB0byB2aWV3cG9ydC1iYXNlZCBtZWRpYSBxdWVyaWVzICovXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuXHRcdC5tZWdhLW1lbnUtZHJvcGRvd24ge1xuXHRcdFx0bWluLXdpZHRoOiA0MDBweDtcblx0XHR9XG5cblx0XHQubWVnYS1tZW51LWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMjRweDtcblx0XHR9XG5cblx0XHQubWVnYS1tZW51LWxpbmtzIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMjRweDtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcblx0XHQubWVnYS1tZW51LWRyb3Bkb3duIHtcblx0XHRcdGxlZnQ6IDEwcHg7XG5cdFx0XHRtaW4td2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcblx0XHR9XG5cblx0XHQubWVnYS1tZW51LWNvbnRlbnQge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdH1cblxuXHRcdC5tZWdhLW1lbnUtbGlua3Mge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cblx0XHQubWVnYS1tZW51LWN0YSB7XG5cdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEwLCAxNjMsIDE1NiwgMC4xKTtcblx0XHRcdG1hcmdpbi10b3A6IDE2cHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKC0tc21hbGwtbWF4KSB7XG5cdFx0Lm1lZ2EtbmF2LW1lbnUge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGdhcDogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHQmID4gbGkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0XHQmID4gLm5hdi1saW5rIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRwYWRkaW5nOiAxNnB4IDI0cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFjY2Vzc2liaWxpdHkgJiBNb3Rpb24gUHJlZmVyZW5jZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5tZWdhLW1lbnUtZHJvcGRvd24sXG5cdC5kcm9wZG93bi1pbmRpY2F0b3IsXG5cdC5jdGEtYnV0dG9uLFxuXHQuY3RhLWFycm93LFxuXHQubWVnYS1uYXZpZ2F0aW9uLWJsb2NrLm1vYmlsZS1jb250YWluZXIgLm1lZ2EtbWVudS1kcm9wZG93bixcblx0Lm1lZ2EtbmF2aWdhdGlvbi1ibG9jay5tb2JpbGUtY29udGFpbmVyIC5kcm9wZG93bi1pbmRpY2F0b3Ige1xuXHRcdHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0fVxufVxuXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IG1vcmUpIHtcblx0Lm1lZ2EtbWVudS1pdGVtOmhvdmVyLFxuXHQubWVnYS1tZW51LWl0ZW06Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLW5hdi10ZWFsLCAjMGFhMzljKTtcblx0XHRjb2xvcjogdmFyKC0tbmF2LXdoaXRlLCAjZmZmZmZmKTtcblxuXHRcdCYgLm1lbnUtaXRlbS10aXRsZSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tbmF2LXdoaXRlLCAjZmZmZmZmKTtcblx0XHR9XG5cblx0XHQmIC5tZW51LWl0ZW0tZGVzY3JpcHRpb24ge1xuXHRcdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogRnJvbnRlbmQgc3R5bGVzIGZvciB0aGUgSHlwZXJsb2NvbG9neSBMb2dvIGJsb2NrXG4gKi9cblxuLndwLWJsb2NrLWh5cGVybG9jb2xvZ3ktaHlwZXJsb2NvbG9neS1sb2dvIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaHlwZXJsb2NvbG9neS1sb2dvLXN2ZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5oeXBlcmxvY29sb2d5LWxvZ28tc3ZnIC5sb2dvLXRleHQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC5oeXBlcmxvY29sb2d5LWxvZ28tc3ZnIHtcblx0XHRtYXgtd2lkdGg6IDE0MHB4O1xuXHR9XG5cblx0LyogTW9iaWxlLXNwZWNpZmljIGFuaW1hdGlvbiBzdGF0ZXMgKi9cblx0Lmh5cGVybG9jb2xvZ3ktbG9nby5tb2JpbGUtY29tcGFjdCAubG9nby10ZXh0IHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Lmh5cGVybG9jb2xvZ3ktbG9nby5tb2JpbGUtY29tcGFjdCAubG9nby1kb3QtMixcblx0Lmh5cGVybG9jb2xvZ3ktbG9nby5tb2JpbGUtY29tcGFjdCAubG9nby1kb3QtMyB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuXHR9XG59XG4iLCIvKiBEeW5hbWljIFBhZ2UgTGlzdCBCbG9jayAqL1xuXG4ud3AtYmxvY2staHlwZXJsb2NvbG9neS1keW5hbWljLXBhZ2UtbGlzdCB7XG5cdCYgLndwLWJsb2NrLXBhZ2UtbGlzdCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdCYgaDQge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xuXHR9XG5cblx0JiBhIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0cmFuc2l0aW9uOlxuXHRcdFx0Y29sb3IgMC4ycyBlYXNlLWluLW91dCxcblx0XHRcdHRleHQtZGVjb3JhdGlvbiAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblxuXHQmIGxpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teHMpO1xuXG5cdFx0JiBhIHtcblx0XHRcdGZvbnQtc2l6ZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1zbWFsbCk7XG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcblx0XHR9XG5cdH1cbn1cblxuLyogRWRpdG9yIHN0eWxlcyAqL1xuLmJsb2NrLWVkaXRvci1oZWxwIHtcblx0YmFja2dyb3VuZDogI2YwZjBmMDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRjb2xvcjogIzY2NjY2Njtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRwYWRkaW5nOiAxcmVtO1xufVxuXG4uYmxvY2stZWRpdG9yLXdhcm5pbmcge1xuXHRiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZmZlYWE3O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiAjODU2NDA0O1xuXHRwYWRkaW5nOiAxcmVtO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb3B5cmlnaHQgQmxvY2tcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY29weXJpZ2h0LWJsb2NrIHtcblx0Zm9udC1zaXplOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXhzKTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcbn1cbiIsIi8qIFBsYXRmb3JtIFNob3djYXNlIEJsb2NrIEZyb250ZW5kIFN0eWxlcyAqL1xuLndwLWJsb2NrLWh5cGVybG9jb2xvZ3ktcGxhdGZvcm0tc2hvd2Nhc2Uge1xuXHRtYXJnaW46IDQwcHggMDtcblx0cGFkZGluZzogMDtcbn1cblxuLnBsYXRmb3JtLXNob3djYXNlLXJlc3BvbnNpdmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5wbGF0Zm9ybS1zaG93Y2FzZS1kZXNrdG9wLFxuLnBsYXRmb3JtLXNob3djYXNlLXRhYmxldCxcbi5wbGF0Zm9ybS1zaG93Y2FzZS1tb2JpbGUge1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC13aWR0aDogMTAwJTtcblx0d2lkdGg6IGF1dG87XG59XG5cbi8qIERlZmF1bHQ6IFNob3cgZGVza3RvcCBpbWFnZSAqL1xuLnBsYXRmb3JtLXNob3djYXNlLWRlc2t0b3Age1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnBsYXRmb3JtLXNob3djYXNlLXRhYmxldCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbGF0Zm9ybS1zaG93Y2FzZS1tb2JpbGUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUYWJsZXQ6IFNob3cgdGFibGV0IGltYWdlLCBoaWRlIG90aGVycyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdC5wbGF0Zm9ybS1zaG93Y2FzZS1kZXNrdG9wIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnBsYXRmb3JtLXNob3djYXNlLXRhYmxldCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQucGxhdGZvcm0tc2hvd2Nhc2UtbW9iaWxlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi8qIE1vYmlsZTogU2hvdyBtb2JpbGUgaW1hZ2UsIGhpZGUgb3RoZXJzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcblx0LndwLWJsb2NrLWh5cGVybG9jb2xvZ3ktcGxhdGZvcm0tc2hvd2Nhc2Uge1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHR9XG5cblx0LnBsYXRmb3JtLXNob3djYXNlLWRlc2t0b3Age1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQucGxhdGZvcm0tc2hvd2Nhc2UtdGFibGV0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnBsYXRmb3JtLXNob3djYXNlLW1vYmlsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLyogRmFsbGJhY2s6IElmIG9ubHkgb25lIGltYWdlIGlzIHByb3ZpZGVkLCBzaG93IGl0IG9uIGFsbCBzY3JlZW4gc2l6ZXMgKi9cbi5wbGF0Zm9ybS1zaG93Y2FzZS1yZXNwb25zaXZlOmhhcygucGxhdGZvcm0tc2hvd2Nhc2UtZGVza3RvcDpvbmx5LWNoaWxkKVxuXHQucGxhdGZvcm0tc2hvd2Nhc2UtZGVza3RvcCxcbi5wbGF0Zm9ybS1zaG93Y2FzZS1yZXNwb25zaXZlOmhhcygucGxhdGZvcm0tc2hvd2Nhc2UtdGFibGV0Om9ubHktY2hpbGQpXG5cdC5wbGF0Zm9ybS1zaG93Y2FzZS10YWJsZXQsXG4ucGxhdGZvcm0tc2hvd2Nhc2UtcmVzcG9uc2l2ZTpoYXMoLnBsYXRmb3JtLXNob3djYXNlLW1vYmlsZTpvbmx5LWNoaWxkKVxuXHQucGxhdGZvcm0tc2hvd2Nhc2UtbW9iaWxlIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyogSWYgZGVza3RvcCBpcyBtaXNzaW5nIGJ1dCB0YWJsZXQgZXhpc3RzLCBzaG93IHRhYmxldCBvbiBkZXNrdG9wICovXG4ucGxhdGZvcm0tc2hvd2Nhc2UtcmVzcG9uc2l2ZTpub3QoOmhhcygucGxhdGZvcm0tc2hvd2Nhc2UtZGVza3RvcCkpOmhhcyhcblx0XHQucGxhdGZvcm0tc2hvd2Nhc2UtdGFibGV0XG5cdClcblx0LnBsYXRmb3JtLXNob3djYXNlLXRhYmxldCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBJZiBib3RoIGRlc2t0b3AgYW5kIHRhYmxldCBhcmUgbWlzc2luZywgc2hvdyBtb2JpbGUgb24gYWxsIHNpemVzICovXG4ucGxhdGZvcm0tc2hvd2Nhc2UtcmVzcG9uc2l2ZTpub3QoOmhhcygucGxhdGZvcm0tc2hvd2Nhc2UtZGVza3RvcCkpOm5vdChcblx0XHQ6aGFzKC5wbGF0Zm9ybS1zaG93Y2FzZS10YWJsZXQpXG5cdClcblx0LnBsYXRmb3JtLXNob3djYXNlLW1vYmlsZSB7XG5cdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4iLCIvKiBUcnVzdCBCYXIgQmxvY2sgU3R5bGVzICovXG4ud3AtYmxvY2staHlwZXJsb2NvbG9neS10cnVzdC1iYXIge1xuXHQtLWFuaW1hdGlvbi1zcGVlZDogMzBzO1xuXHQtLWxvZ28taGVpZ2h0OiA2MHB4O1xuXHQtLXNwYWNpbmc6IDRyZW07XG5cdC0tZ3JhZGllbnQtd2lkdGg6IDEwMHB4O1xuXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDJyZW0gMDtcbn1cblxuLnRydXN0LWJhci1jb250YWluZXIge1xuXHRtYXgtd2lkdGg6IDEwMHZ3O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4udHJ1c3QtYmFyLW1hc2sge1xuXHQvKiBHcmFkaWVudCBtYXNrIGZvciBzbW9vdGggZWRnZXMgKi9cblx0LXdlYmtpdC1tYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0dG8gcmlnaHQsXG5cdFx0dHJhbnNwYXJlbnQgMCxcblx0XHRibGFjayB2YXIoLS1ncmFkaWVudC13aWR0aCksXG5cdFx0YmxhY2sgY2FsYygxMDAlIC0gdmFyKC0tZ3JhZGllbnQtd2lkdGgpKSxcblx0XHR0cmFuc3BhcmVudCAxMDAlXG5cdCk7XG5cdG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byByaWdodCxcblx0XHR0cmFuc3BhcmVudCAwLFxuXHRcdGJsYWNrIHZhcigtLWdyYWRpZW50LXdpZHRoKSxcblx0XHRibGFjayBjYWxjKDEwMCUgLSB2YXIoLS1ncmFkaWVudC13aWR0aCkpLFxuXHRcdHRyYW5zcGFyZW50IDEwMCVcblx0KTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udHJ1c3QtYmFyLXRyYWNrIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YW5pbWF0aW9uOiBzY3JvbGwtaG9yaXpvbnRhbCB2YXIoLS1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiB2YXIoLS1zcGFjaW5nKTtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4vKiBQYXVzZSBhbmltYXRpb24gb24gaG92ZXIgaWYgZW5hYmxlZCAqL1xuLnRydXN0LWJhci1jb250YWluZXIucGF1c2Utb24taG92ZXI6aG92ZXIgLnRydXN0LWJhci10cmFjayB7XG5cdGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5cbi50cnVzdC1iYXItbG9nbyB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtc2hyaW5rOiAwO1xuXHRoZWlnaHQ6IHZhcigtLWxvZ28taGVpZ2h0KTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogdmFyKC0tbG9nby1oZWlnaHQpO1xufVxuXG4udHJ1c3QtYmFyLWxvZ28gaW1nIHtcblx0ZmlsdGVyOiBncmF5c2NhbGUoMSkgb3BhY2l0eSgwLjcpO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1heC1oZWlnaHQ6IDEwMCU7XG5cdG1heC13aWR0aDogMTAwJTtcblx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0dHJhbnNpdGlvbjogZmlsdGVyIDAuM3MgZWFzZTtcblx0d2lkdGg6IGF1dG87XG59XG5cbi50cnVzdC1iYXItbG9nbzpob3ZlciBpbWcge1xuXHRmaWx0ZXI6IGdyYXlzY2FsZSgwKSBvcGFjaXR5KDEpO1xufVxuXG4vKiBLZXlmcmFtZXMgZm9yIGluZmluaXRlIHNjcm9sbCAqL1xuQGtleWZyYW1lcyBzY3JvbGwtaG9yaXpvbnRhbCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdH1cbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdC53cC1ibG9jay1oeXBlcmxvY29sb2d5LXRydXN0LWJhciB7XG5cdFx0LS1ncmFkaWVudC13aWR0aDogNTBweDtcblx0XHQtLXNwYWNpbmc6IDJyZW07XG5cdFx0cGFkZGluZzogMS41cmVtIDA7XG5cdH1cblxuXHQudHJ1c3QtYmFyLWxvZ28ge1xuXHRcdG1pbi13aWR0aDogY2FsYyh2YXIoLS1sb2dvLWhlaWdodCkgKiAwLjgpO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQud3AtYmxvY2staHlwZXJsb2NvbG9neS10cnVzdC1iYXIge1xuXHRcdC0tZ3JhZGllbnQtd2lkdGg6IDMwcHg7XG5cdFx0LS1zcGFjaW5nOiAxLjVyZW07XG5cdFx0cGFkZGluZzogMXJlbSAwO1xuXHR9XG59XG5cbi8qIFJlZHVjZSBtb3Rpb24gZm9yIGFjY2Vzc2liaWxpdHkgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC50cnVzdC1iYXItdHJhY2sge1xuXHRcdGFuaW1hdGlvbjogbm9uZTtcblx0fVxuXG5cdC50cnVzdC1iYXItbWFzayB7XG5cdFx0LW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuXHRcdG92ZXJmbG93LXg6IGF1dG87XG5cdFx0c2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXHR9XG5cblx0LnRydXN0LWJhci1tYXNrOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vKiBGb2N1cyBzdHlsZXMgZm9yIGFjY2Vzc2liaWxpdHkgKi9cbi50cnVzdC1iYXItbG9nbzpmb2N1cy13aXRoaW4ge1xuXHRvdXRsaW5lOiAycHggc29saWQgY3VycmVudGNvbG9yO1xuXHRvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuIiwiLyogQ2hhbm5lbCBDYXJvdXNlbCBCbG9jayAqL1xuLmNoYW5uZWwtY2Fyb3VzZWwge1xuXHQtLWFuaW1hdGlvbi1zcGVlZDogMzBzO1xuXHQtLWl0ZW0taGVpZ2h0OiAxMjBweDtcblx0LS1pdGVtLXNwYWNpbmc6IDJyZW07XG5cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teGwpIDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jaGFubmVsLWNhcm91c2VsLXdyYXBwZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDJyZW07XG59XG5cbi5jaGFubmVsLWNhcm91c2VsLXJvdyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jaGFubmVsLWNhcm91c2VsLWNvbnRhaW5lciB7XG5cdGhlaWdodDogdmFyKC0taXRlbS1oZWlnaHQpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY2hhbm5lbC1jYXJvdXNlbC1tYXNrIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHQtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudChcblx0XHR0byByaWdodCxcblx0XHR0cmFuc3BhcmVudCxcblx0XHRibGFjayA1JSxcblx0XHRibGFjayA5NSUsXG5cdFx0dHJhbnNwYXJlbnRcblx0KTtcblx0bWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuXHRcdHRvIHJpZ2h0LFxuXHRcdHRyYW5zcGFyZW50LFxuXHRcdGJsYWNrIDUlLFxuXHRcdGJsYWNrIDk1JSxcblx0XHR0cmFuc3BhcmVudFxuXHQpO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY2hhbm5lbC1jYXJvdXNlbC10cmFjayB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogdmFyKC0taXRlbS1zcGFjaW5nKTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG59XG5cbi8qIEFuaW1hdGlvbiBmb3IgbGVmdCBkaXJlY3Rpb24gKHRvcCByb3cpICovXG4uY2hhbm5lbC1jYXJvdXNlbC1yb3cubGVmdCAuY2hhbm5lbC1jYXJvdXNlbC10cmFjayB7XG5cdGFuaW1hdGlvbjogbWFycXVlZS1sZWZ0IHZhcigtLWFuaW1hdGlvbi1zcGVlZCkgbGluZWFyIGluZmluaXRlO1xufVxuXG4vKiBBbmltYXRpb24gZm9yIHJpZ2h0IGRpcmVjdGlvbiAoYm90dG9tIHJvdykgKi9cbi5jaGFubmVsLWNhcm91c2VsLXJvdy5yaWdodCAuY2hhbm5lbC1jYXJvdXNlbC10cmFjayB7XG5cdGFuaW1hdGlvbjogbWFycXVlZS1yaWdodCB2YXIoLS1hbmltYXRpb24tc3BlZWQpIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBtYXJxdWVlLWxlZnQge1xuXHQwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgbWFycXVlZS1yaWdodCB7XG5cdDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdH1cblxuXHQxMDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdH1cbn1cblxuLyogUGF1c2Ugb24gaG92ZXIgKi9cbi5jaGFubmVsLWNhcm91c2VsLWNvbnRhaW5lci5wYXVzZS1vbi1ob3Zlcjpob3ZlciAuY2hhbm5lbC1jYXJvdXNlbC10cmFjayB7XG5cdGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5cbi8qIENoYW5uZWwgSXRlbSBTdHlsaW5nICovXG4uY2hhbm5lbC1jYXJvdXNlbC1pdGVtIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMCAwIGF1dG87XG5cdGhlaWdodDogMTAwJTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogMjAwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNoYW5uZWwtaXRlbS1saW5rIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5jaGFubmVsLWl0ZW0tbGluazpob3ZlciB7XG5cdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5jaGFubmVsLWl0ZW0tY29udGVudCB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG5cdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IDFyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2U7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uY2hhbm5lbC1pdGVtLWltYWdlIHtcblx0ZmxleDogMCAwIGF1dG87XG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuLmNoYW5uZWwtaXRlbS1pbWFnZSBpbWcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAzMHB4O1xuXHRtYXgtd2lkdGg6IDgwcHg7XG5cdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdHdpZHRoOiBhdXRvO1xufVxuXG4uY2hhbm5lbC1pdGVtLXRleHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWluLWhlaWdodDogMDtcbn1cblxuLmNoYW5uZWwtaXRlbS10aXRsZSB7XG5cdGNvbG9yOiAjMDAzMDQ0O1xuXHRmb250LXNpemU6IDFyZW07XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcbn1cblxuLmNoYW5uZWwtaXRlbS1kZXNjcmlwdGlvbiB7XG5cdGNvbG9yOiAjNjY2NjY2O1xuXHRmb250LXNpemU6IDAuODc1cmVtO1xuXHRsaW5lLWhlaWdodDogMS4zO1xuXHRtYXJnaW46IDA7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0LmNoYW5uZWwtY2Fyb3VzZWwtd3JhcHBlciB7XG5cdFx0Z2FwOiAxLjVyZW07XG5cdH1cblxuXHQuY2hhbm5lbC1jYXJvdXNlbC1pdGVtIHtcblx0XHRtaW4td2lkdGg6IDE4MHB4O1xuXHR9XG5cblx0LmNoYW5uZWwtaXRlbS1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwLjc1cmVtO1xuXHR9XG5cblx0LmNoYW5uZWwtaXRlbS1pbWFnZSBpbWcge1xuXHRcdGhlaWdodDogMzJweDtcblx0XHRtYXgtd2lkdGg6IDYwcHg7XG5cdH1cblxuXHQuY2hhbm5lbC1pdGVtLXRpdGxlIHtcblx0XHRmb250LXNpemU6IDAuODc1cmVtO1xuXHR9XG5cblx0LmNoYW5uZWwtaXRlbS1kZXNjcmlwdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuXHQuY2hhbm5lbC1jYXJvdXNlbC1pdGVtIHtcblx0XHRtaW4td2lkdGg6IDE2MHB4O1xuXHR9XG5cblx0LmNoYW5uZWwtaXRlbS1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwLjVyZW07XG5cdH1cblxuXHQuY2hhbm5lbC1pdGVtLWltYWdlIGltZyB7XG5cdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdG1heC13aWR0aDogNTBweDtcblx0fVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBtb3JlKSB7XG5cdC5jaGFubmVsLWl0ZW0tY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwO1xuXHR9XG5cblx0LmNoYW5uZWwtaXRlbS10aXRsZSB7XG5cdFx0Y29sb3I6ICMwMDAwMDA7XG5cdH1cblxuXHQuY2hhbm5lbC1pdGVtLWRlc2NyaXB0aW9uIHtcblx0XHRjb2xvcjogIzMzMzMzMztcblx0fVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQuY2hhbm5lbC1jYXJvdXNlbC10cmFjayB7XG5cdFx0YW5pbWF0aW9uOiBub25lO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmVhdHVyZXMgSGVybyBTZWN0aW9uIEJsb2NrIFBhdHRlcm4gU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmVhdHVyZXMtaGVyby1zZWN0aW9uIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYud3AtYmxvY2stY29sdW1ucyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRnYXA6IDA7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cblx0XHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAzZnI7XG5cdFx0fVxuXG5cdFx0JiAud3AtYmxvY2stY29sdW1uOmZpcnN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHggMCAwIDIwcHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0cGFkZGluZzogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tNHhsKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yeGwpXG5cdFx0XHRcdHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTZ4bCkgdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMnhsKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDM3OCAxNTcnJTNFICUzQ2cgb3BhY2l0eT0nLjEnJTNFICUzQ3BhdGggZmlsbD0nJTIzMEFBMzlDJyBkPSdNMjEuNTY4IDI4LjQ2MmgxMjQuNzg0djE1LjI4SDIxLjU2OHonLyUzRSAlM0NlbGxpcHNlIGN4PSctMS4zNDcnIGN5PSczNi4xMDEnIGZpbGw9JyUyMzBBQTM5Qycgcng9JzM1LjY1Mycgcnk9JzM1LjY1MicvJTNFICUzQ2VsbGlwc2UgY3g9JzgzLjk2MycgY3k9JzM2LjEwMScgZmlsbD0nJTIzMEFBMzlDJyByeD0nMzUuNjUzJyByeT0nMzUuNjUyJy8lM0UgJTNDZWxsaXBzZSBjeD0nMTcwLjU0NycgY3k9JzM2LjEwMScgZmlsbD0nJTIzMEFBMzlDJyByeD0nMzUuNjUzJyByeT0nMzUuNjUyJy8lM0UgJTNDL2clM0UgJTNDcGF0aCBmaWxsPSclMjMwQUEzOUMnIGQ9J00xNzAuNTQ3IDkzLjA0M2MxNy4wNjggMCAzMS4zMzEgMTEuOTk0IDM0LjgyOSAyOC4wMTNoMTUuNTU5YzMuNDk3LTE2LjAxOCAxNy43NjEtMjguMDEyIDM0LjgyOS0yOC4wMTIgMTcuMDY3IDAgMzEuMzMxIDExLjk5NCAzNC44MjkgMjguMDEyaDE2LjkyNGMzLjQ5Ny0xNi4wMTggMTcuNzYxLTI4LjAxMiAzNC44MjktMjguMDEyIDE5LjY5IDAgMzUuNjUyIDE1Ljk2MiAzNS42NTIgMzUuNjUycy0xNS45NjIgMzUuNjUyLTM1LjY1MiAzNS42NTJjLTE3LjA2OCAwLTMxLjMzMi0xMS45OTQtMzQuODI5LTI4LjAxM2gtMTYuOTI0Yy0zLjQ5OCAxNi4wMTktMTcuNzYxIDI4LjAxMy0zNC44MjkgMjguMDEzcy0zMS4zMzItMTEuOTk0LTM0LjgyOS0yOC4wMTNoLTE1LjU1OWMtMy40OTggMTYuMDE5LTE3Ljc2MSAyOC4wMTItMzQuODI5IDI4LjAxMmwtLjAxLS4wMDEtLjA4NC4wMDJjLTE3LjA2OCAwLTMxLjMzMi0xMS45OTQtMzQuODI5LTI4LjAxM2gtMTYuODMxYy0zLjQ5OCAxNi4wMTktMTcuNzYyIDI4LjAxMy0zNC44MyAyOC4wMTMtMTcuMDY4IDAtMzEuMzMyLTExLjk5NC0zNC44My0yOC4wMTNIMzMuNDgyYy0zLjQ5NyAxNi4wMTktMTcuNzYxIDI4LjAxMi0zNC44MjkgMjguMDEyLTE5LjY5IDAtMzUuNjUyLTE1Ljk2MS0zNS42NTItMzUuNjUxIDAtMTkuNjkgMTUuOTYyLTM1LjY1MyAzNS42NTItMzUuNjUzIDE3LjA2OCAwIDMxLjMzMiAxMS45OTQgMzQuODMgMjguMDEzaDE1LjY1MmMzLjQ5Ny0xNi4wMTkgMTcuNzYxLTI4LjAxMyAzNC44MjktMjguMDEzczMxLjMzMyAxMS45OTQgMzQuODMgMjguMDEzaDE2LjgzMWMzLjQ5OC0xNi4wMTggMTcuNzYyLTI4LjAxMiAzNC44MjktMjguMDEyaC4wOTRaJyBvcGFjaXR5PScuMScvJTNFICUzQy9zdmclM0VcIik7XG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0bWF4LWhlaWdodDogMTYzcHg7XG5cdFx0XHRcdG1heC13aWR0aDogNDE1cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAud3AtYmxvY2stY29sdW1uOmxhc3QtY2hpbGQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWFjY2VudCk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDIwcHggMjBweCAwO1xuXHRcdH1cblx0fVxuXG5cdCYgLndwLWJsb2NrLW1lZGlhLXRleHQge1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDNmcjtcblxuXHRcdEBtZWRpYSAoLS1taW4tbGFyZ2UpIHtcblx0XHRcdGdhcDogMDtcblx0XHR9XG5cblx0XHQmIGltZyB7XG5cdFx0XHRhc3BlY3QtcmF0aW86IDE2Lzk7XG5cdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG4iLCIuZGVtby1jdGEge1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcblxuXHQmID4gKiB7XG5cdFx0dHJhbnNpdGlvbjpcblx0XHRcdGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLFxuXHRcdFx0Y29sb3IgMC4zcyBlYXNlO1xuXHR9XG5cblx0JiA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmZvY3VzLXdpdGhpbiB7XG5cdFx0XHQmLmhhcy1wcmltYXJ5LWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSkgIWltcG9ydGFudDtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlKTtcblx0XHRcdH1cblxuXHRcdFx0JiAuYnRuLXByaW1hcnkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbWFyeS1ob3Zlci1iZyk7XG5cblx0XHRcdFx0JiAuYnRuLXRleHQge1xuXHRcdFx0XHRcdGNvbG9yOiB2YXIoLS1idG4tcHJpbWFyeS1ob3Zlci10ZXh0KTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1idG4tcHJpbWFyeS1oZWlnaHQpICogLTAuNzUpKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYgLmJ0bi1pY29uIHtcblx0XHRcdFx0XHRsZWZ0OiBjYWxjKDEwMCUgLSB2YXIoLS1idG4tcHJpbWFyeS1oZWlnaHQpKTtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmIC5idG4taWNvbiBzdmcge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgLndwLWJsb2NrLWdyb3VwLmlzLWxheW91dC1ncmlkIHtcblx0XHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTZ4bCk7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cblx0XHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDNmciAxZnI7XG5cdFx0fVxuXHR9XG5cblx0JiAuaGFzLXByaW1hcnktYWNjZW50LWJhY2tncm91bmQtY29sb3Ige1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMnhsKSAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTJ4bCkgIWltcG9ydGFudDtcblxuXHRcdEBtZWRpYSAoLS1taW4tbGFyZ2UpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tNnhsKSAhaW1wb3J0YW50O1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tNnhsKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuIiwiLyogUmVzb3VyY2VzIEZlZWQgUGF0dGVybiBTdHlsZXMgKi9cbi8qIExheW91dC1zcGVjaWZpYyBzdHlsZXMgZm9yIHRoZSByZXNvdXJjZXMgZmVlZCBwYXR0ZXJuICovXG4vKiBDYXJkIHN0eWxpbmcgaXMgbm93IGhhbmRsZWQgYnkgdGhlIHVuaWZpZWQgY2FyZHMgY29tcG9uZW50ICovXG5cbi5yZXNvdXJjZXMtZmVlZC1xdWVyeSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucmVzb3VyY2VzLWZlZWQtcG9zdHMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTJ4bCk7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpO1xuXG5cdCYgLndwLWJsb2NrLXBvc3Qge1xuXHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0JiBhIHtcblx0XHRjb2xvcjogdmFyKC0td3AtcHJlc2V0LWNvbG9yLXByaW1hcnkpO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiB2YXIoLS13cC1wcmVzZXQtY29sb3ItcHJpbWFyeSk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cbn1cblxuLyogUmVzcG9uc2l2ZSBEZXNpZ24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucmVzb3VyY2VzLWZlZWQtcG9zdHMge1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMnhsKTtcblx0fVxufVxuIiwiLyoqXG4gKiBDdXN0b21lciBTdG9yeSBDYXJkIEJsb2NrIFN0eWxlc1xuICogTWFpbiBlbnRyeSBwb2ludCBmb3IgY3VzdG9tZXIgc3RvcnkgY2FyZCBzdHlsZXNcbiAqIFxuICogQHBhY2thZ2UgSHlwZXJsb2NvbG9neVxcQmxvY2tzXG4gKi9cblxuLmN1c3RvbWVyLXN0b3J5LWNhcmQge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXI6IDJweCBzb2xpZCB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tbmV1dHJhbC0yMDApO1xuXHRib3JkZXItcmFkaXVzOiAxLjVyZW07XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKTtcblxuXHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDNmcjtcblx0fVxuXG5cdCYgLmN1c3RvbWVyLXN0b3J5LWNhcmRfX2NvbnRlbnQtaGVhZGVyIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSk7XG5cblx0XHRAbWVkaWEgKC0tbWluLWxhcmdlKSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHR9XG5cdH1cblxuXHQmIC5jdXN0b21lci1zdG9yeS1jYXJkX19yYXRpbmcge1xuXHRcdCYgLnN0YXIge1xuXHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTtcblx0XHR9XG5cdH1cblxuXHQmIC5jdXN0b21lci1zdG9yeS1jYXJkX19pbWFnZSB7XG5cdFx0anVzdGlmeS1zZWxmOiBjZW50ZXI7XG5cblx0XHQmIGltZyB7XG5cdFx0XHRhc3BlY3QtcmF0aW86IDEgLyAxO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0JiAuY3VzdG9tZXItc3RvcnktY2FyZF9fbG9nbyB7XG5cdFx0bWF4LXdpZHRoOiAxMDBweDtcblxuXHRcdCYgaW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmIC5jdXN0b21lci1zdG9yeS1jYXJkX19xdW90ZSB7XG5cdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDtcblx0XHRmbGV4OiAxO1xuXHRcdC13ZWJraXQtaHlwaGVuczogYXV0bztcblx0XHQtbW96LWh5cGhlbnM6IGF1dG87XG5cdFx0LW1zLWh5cGhlbnM6IGF1dG87XG5cdFx0aHlwaGVuczogYXV0bztcblx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG5cdFx0bGluZS1jbGFtcDogNDtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHR9XG5cblx0JiAuY3VzdG9tZXItc3RvcnktY2FyZF9fY29udGVudC1pbm5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpO1xuXG5cdFx0QG1lZGlhICgtLW1pbi1sYXJnZSkge1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHR9XG5cdH1cblxuXHQmIC5jdXN0b21lci1zdG9yeS1jYXJkX19pbmZvIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHQmIC5jdXN0b21lci1zdG9yeS1jYXJkX19uYW1lLFxuXHRcdCYgLmN1c3RvbWVyLXN0b3J5LWNhcmRfX3Bvc2l0aW9uIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0JiAuY3VzdG9tZXItc3RvcnktY2FyZF9fYWN0aW9ucyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRtaW4td2lkdGg6IDM3JTtcblxuXHRcdCYgLmN1c3RvbWVyLXN0b3J5LWNhcmRfX3JlYWQtbW9yZSB7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiBQbGFjZWhvbGRlciBzdHlsZXMgZm9yIG1pc3NpbmcgaW1hZ2VzICovXG5cdCYgLmN1c3RvbWVyLXN0b3J5LWNhcmRfX2ltYWdlLXBsYWNlaG9sZGVyIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJhY2tncm91bmQ6ICNlNWU1ZTU7XG5cdFx0Ym9yZGVyOiAycHggZGFzaGVkICNjY2NjY2M7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGNvbG9yOiAjNjY2NjY2O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Zm9udC1zaXplOiAwLjlyZW07XG5cdFx0aGVpZ2h0OiAxNTBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCYgLmN1c3RvbWVyLXN0b3J5LWNhcmRfX2xvZ28tcGxhY2Vob2xkZXIge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZDogI2U1ZTVlNTtcblx0XHRib3JkZXI6IDJweCBkYXNoZWQgI2NjY2NjYztcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0Y29sb3I6ICM2NjY2NjY7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmb250LXNpemU6IDAuOHJlbTtcblx0XHRoZWlnaHQ6IDMwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdH1cbn1cbiIsIi5wYWdlLWhlcm8ge1xuXHQmOjphZnRlciB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUdacGJHdzlJbTV2Ym1VaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TnpNZ05ERTNJajRLSUNBOGNHRjBhQ0JtYVd4c1BTSWpabVptSWlCa1BTSk5NVE0yTGpNM015QXhNRFV1TWpBemFEazNMalF4VmpCb09UTXVOVEUwZGpJNE5DNDBNemhvTFRrekxqVXhORll4TnprdU1qTTFhQzA1Tnk0ME1YWXhNRFV1TWpBelNEUXlMamcxT1ZZd2FEa3pMalV4TkhZeE1EVXVNakF6V2swNE9TNDJNVGNnTXpVd0xqWTNOMmd4T1RBdU9USTBkakl6TGpNM09FZzRPUzQyTVRkNklpOCtDaUFnUEdOcGNtTnNaU0JqZUQwaU5UUXVOVFVpSUdONVBTSXpOakl1TXpZMklpQnlQU0kxTkM0MU5TSWdabWxzYkQwaUkyWm1aaUl2UGdvZ0lEeGphWEpqYkdVZ1kzZzlJakU0TlM0d056a2lJR041UFNJek5qSXVNelkySWlCeVBTSTFOQzQxTlNJZ1ptbHNiRDBpSTJabVppSXZQZ29nSUR4amFYSmpiR1VnWTNnOUlqTXhOeTQxTlRnaUlHTjVQU0l6TmpJdU16WTJJaUJ5UFNJMU5DNDFOU0lnWm1sc2JEMGlJMlptWmlJdlBnbzhMM04yWno0PVwiKTtcblx0XHRib3R0b206IC0yMHB4O1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiA0MTZweDtcblx0XHRvcGFjaXR5OiAwLjA1O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogLTE1cHg7XG5cdFx0d2lkdGg6IDM3MnB4O1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblxuXHQmOmhhcygucGFnZS1oZXJvX19jb250ZW50ID4gLnBhZ2UtaGVyb19faW1hZ2U6Zmlyc3QtY2hpbGQpLFxuXHQmOmhhcygucGFnZS1oZXJvX19jb250ZW50ID4gLndwLWJsb2NrLXZpZGVvOmZpcnN0LWNoaWxkKSxcblx0JjpoYXMoLnBhZ2UtaGVyb19fY29udGVudCA+IC53cC1ibG9jay1pbWFnZTpmaXJzdC1jaGlsZCkge1xuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGxlZnQ6IC0xNXB4O1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG5cblx0JjpoYXMoLnBhZ2UtaGVyb19fY29udGVudCA+IC53cC1ibG9jay12aWRlbzpmaXJzdC1jaGlsZCkge1xuXHRcdCYgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cblx0XHQmIC5wYWdlLWhlcm9fX2NvbnRlbnQge1xuXHRcdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yeGwpO1xuXG5cdFx0XHRAbWVkaWEgKC0tbWluLW1lZGl1bSkge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0JiAucGFnZS1oZXJvX19pbWFnZSxcblx0JiAud3AtYmxvY2stdmlkZW8sXG5cdCYgLndwLWJsb2NrLWltYWdlIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0JiBpbWcsXG5cdFx0JiBwaWN0dXJlLFxuXHRcdCYgdmlkZW8ge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmIC5wYWdlLWhlcm9fX2ltYWdlLFxuXHQmIC53cC1ibG9jay1pbWFnZSB7XG5cdFx0YXNwZWN0LXJhdGlvOiAxIC8gMTtcblx0XHRtYXgtd2lkdGg6IDQ1MHB4O1xuXHR9XG5cblx0JiAud3AtYmxvY2stdmlkZW8ge1xuXHRcdGFzcGVjdC1yYXRpbzogNjAwIC8gNDY5O1xuXHR9XG5cblx0JiAucGFnZS1oZXJvX19jYXRlZ29yeSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmbG9hdDogbGVmdDtcblx0XHRmb250LXNpemU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tc20pO1xuXHRcdHBhZGRpbmc6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhzKSB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6aXMoOm9ubHktY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcblx0XHR9XG5cblx0XHQmID4gKjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCYgPiBzcGFuIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JiBhIHtcblx0XHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc2Vjb25kYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmIC5wYWdlLWhlcm9fX3RpdGxlIHtcblx0XHRjbGVhcjogYm90aDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cblx0JiAucGFnZS1oZXJvX19jb250ZW50IHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1tZCk7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cblx0XHQmIHAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQmOmhhcyg+IC5wYWdlLWhlcm9fX2ltYWdlOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRAbWVkaWEgKC0tbWluLW1lZGl1bSkge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAzZnI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QG1lZGlhICgtLW1pbi1tZWRpdW0pIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogM2ZyIDJmcjtcblx0XHR9XG5cdH1cbn1cbiIsIi5jYi1jYXJvdXNlbC1ibG9jayB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHQmIC5jYi1idXR0b24tcHJldixcblx0JiAuY2ItYnV0dG9uLW5leHQge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgI2UxZTFlMTtcblx0XHRib3JkZXItcmFkaXVzOiAxMjBweDtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGhlaWdodDogNTBweDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdFx0d2lkdGg6IDYwcHg7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcblx0XHR9XG5cdH1cblxuXHQvKiBBZGQgZ2FwIGJldHdlZW4gbmF2aWdhdGlvbiBidXR0b25zICovXG5cdCYgLmNiLWJ1dHRvbi1wcmV2IHtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cblxuXHQmIC5zd2lwZXIge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdH1cblxuXHQvKiBFbnN1cmUgYnV0dG9ucyBhcmUgZGlzcGxheWVkIGlubGluZSAqL1xuXHQmIC5zd2lwZXItYnV0dG9uLXByZXYsXG5cdCYgLnN3aXBlci1idXR0b24tbmV4dCB7XG5cdFx0bGVmdDogYXV0bztcblx0XHRtYXJnaW46IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHRcdHRvcDogYXV0bztcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNNSAxMS4xOTgyTDEwIDYuMTk4MjRMNSAxLjE5ODI0JyBzdHJva2U9JyUyMzAwMzA0NCcgc3Ryb2tlLXdpZHRoPScyJy8lM0UlM0NwYXRoIGQ9J00xMCA2LjE5ODI0TDAgNi4xOTgyNCcgc3Ryb2tlPSclMjMwMDMwNDQnIHN0cm9rZS13aWR0aD0nMicvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRoZWlnaHQ6IDAuNjI1cmVtO1xuXHRcdFx0d2lkdGg6IDAuNjI1cmVtO1xuXHRcdH1cblx0fVxuXG5cdCYgLnN3aXBlci1idXR0b24tcHJldjo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG5cdH1cbn1cbiIsIi8qKlxuICogUG9zdCBGZWVkIEJsb2NrIFN0eWxlc1xuICogU3R5bGVzIGZvciB0aGUgcG9zdCBmZWVkIGN1c3RvbSBibG9ja1xuICovXG5cbi5wb3N0LWZlZWQtaGVhZGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IDFyZW07XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTR4bCk7XG5cblx0JiAud3AtYmxvY2staGVhZGluZyB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG59XG5cbi5wb3N0LWZlZWQtZmlsdGVycyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0Z2FwOiAwLjVyZW07XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuXHQmIC53cC1ibG9jay1idXR0b24ge1xuXHRcdCYuaXMtc3R5bGUtb3V0bGluZSB7XG5cdFx0XHR3aWR0aDogYXV0bztcblxuXHRcdFx0JiAud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlcjogMS41cHggc29saWQgdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMyk7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnktYWNjZW50KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tcHJpbWFyeSk7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucG9zdC1mZWVkLWJsb2NrIHtcblx0JiAucG9zdC1mZWVkLWxpc3Qge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z2FwOiAxcmVtO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuXG5cdFx0QG1lZGlhICgtLW1pbi1tZWRpdW0pIHtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDM3OHB4LCAxZnIpKTtcblx0XHR9XG5cdH1cblxuXHQmIHBpY3R1cmUsXG5cdCYgaW1nIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR9XG59XG5cbi8qIExvYWRpbmcgYW5kIGVycm9yIHN0YXRlcyAqL1xuLnBvc3QtZmVlZC1saXN0IHtcblx0Ji5pcy1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQmIC5uby1wb3N0cy1tZXNzYWdlLFxuXHQmIC5lcnJvci1tZXNzYWdlIHtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMik7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdFx0cGFkZGluZzogMnJlbTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQmIC5lcnJvci1tZXNzYWdlIHtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yLCAjZGMzNTQ1KTtcblx0fVxufVxuXG4ucG9zdC1jYXJkLXNrZWxldG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UpO1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMXJlbTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnNrZWxldG9uLWltYWdlIHtcblx0YW5pbWF0aW9uOiBza2VsZXRvbi1zaGltbWVyIDEuNXMgaW5maW5pdGU7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcblx0XHQ5MGRlZyxcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZS0zKSAyNSUsXG5cdFx0dmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMikgNTAlLFxuXHRcdHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlLTMpIDc1JVxuXHQpO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDIwMCUgMTAwJTtcblx0aGVpZ2h0OiAyMDBweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5za2VsZXRvbi10aXRsZSB7XG5cdGFuaW1hdGlvbjogc2tlbGV0b24tc2hpbW1lciAxLjVzIGluZmluaXRlO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG5cdFx0OTBkZWcsXG5cdFx0dmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMykgMjUlLFxuXHRcdHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlLTIpIDUwJSxcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZS0zKSA3NSVcblx0KTtcblx0YmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0aGVpZ2h0OiAyNHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLnNrZWxldG9uLWV4Y2VycHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRnYXA6IDAuNXJlbTtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnNrZWxldG9uLWxpbmUge1xuXHRhbmltYXRpb246IHNrZWxldG9uLXNoaW1tZXIgMS41cyBpbmZpbml0ZTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDkwZGVnLFxuXHRcdHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlLTMpIDI1JSxcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZS0yKSA1MCUsXG5cdFx0dmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMykgNzUlXG5cdCk7XG5cdGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGhlaWdodDogMTZweDtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji5za2VsZXRvbi1saW5lLXNob3J0IHtcblx0XHR3aWR0aDogNjAlO1xuXHR9XG59XG5cbi5za2VsZXRvbi1tZXRhIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxcmVtO1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xufVxuXG4uc2tlbGV0b24tZGF0ZSxcbi5za2VsZXRvbi1yZWFkaW5nLXRpbWUge1xuXHRhbmltYXRpb246IHNrZWxldG9uLXNoaW1tZXIgMS41cyBpbmZpbml0ZTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuXHRcdDkwZGVnLFxuXHRcdHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iYXNlLTMpIDI1JSxcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmFzZS0yKSA1MCUsXG5cdFx0dmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJhc2UtMykgNzUlXG5cdCk7XG5cdGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGhlaWdodDogMTRweDtcblx0d2lkdGg6IDgwcHg7XG59XG5cbi5za2VsZXRvbi1yZWFkaW5nLXRpbWUge1xuXHR3aWR0aDogNjBweDtcbn1cblxuLyogU2tlbGV0b24gc2hpbW1lciBhbmltYXRpb24gKi9cbkBrZXlmcmFtZXMgc2tlbGV0b24tc2hpbW1lciB7XG5cdDAlIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjAwJSAwO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSAwO1xuXHR9XG59XG5cbi8qIExvYWRpbmcgc3RhdGUgZm9yIHRoZSBlbnRpcmUgcG9zdCBmZWVkIGJsb2NrICovXG4ucG9zdC1mZWVkLWJsb2NrLmlzLWxvYWRpbmcge1xuXHQmIC5wb3N0LWZlZWQtZmlsdGVycyB7XG5cdFx0b3BhY2l0eTogMC43O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG5cblx0JiAucG9zdC1mZWVkLWxpc3Qge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cbn1cblxuLyogU21vb3RoIHRyYW5zaXRpb25zIGZvciBjb250ZW50IHVwZGF0ZXMgKi9cbi5wb3N0LWZlZWQtbGlzdCAud3AtYmxvY2stcG9zdC10ZW1wbGF0ZSB7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbn1cblxuLyogUmVzcG9uc2l2ZSBhZGp1c3RtZW50cyBmb3Igc2tlbGV0b24gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHQucG9zdC1mZWVkLXNrZWxldG9uIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0fVxuXG5cdC5za2VsZXRvbi1pbWFnZSB7XG5cdFx0aGVpZ2h0OiAxNjBweDtcblx0fVxuXG5cdC5za2VsZXRvbi10aXRsZSB7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHR9XG5cblx0LnNrZWxldG9uLWxpbmUge1xuXHRcdGhlaWdodDogMTRweDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblx0RXNzZW50aWFsIFV0aWxpdGllcyAtIE9wdGltaXplZCAmIFN5c3RlbWF0aWNcblx0U3RyZWFtbGluZWQgdXRpbGl0eSBjbGFzc2VzIHVzaW5nIG1vZGVybiBDU1MgYW5kIGxvZ2ljYWwgcHJvcGVydGllc1xuXHRPbmx5IGluY2x1ZGVzIHV0aWxpdGllcyBhY3R1YWxseSB1c2VkIGluIHRoZSB0aGVtZVxuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBcbiAqIFNwYWNpbmcgVXRpbGl0aWVzIC0gVXNpbmcgTG9naWNhbCBQcm9wZXJ0aWVzXG4gKiBDb25zaXN0ZW50IHN5c3RlbSBiYXNlZCBvbiBkZXNpZ24gdG9rZW5zXG4gKi9cblxuLyogU2VjdGlvbiBTcGFjaW5nIC0gSW1wcm92ZWQgbmFtaW5nIGFuZCBjb25zaXN0ZW5jeSAqL1xuLmhhcy1zZWN0aW9uLXNwYWNpbmcteHMge1xuXHRwYWRkaW5nLWJsb2NrOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cyk7XG59XG5cbi5oYXMtc2VjdGlvbi1zcGFjaW5nLXNtIHtcblx0cGFkZGluZy1ibG9jazogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tc20pO1xufVxuXG4uaGFzLXNlY3Rpb24tc3BhY2luZyB7XG5cdHBhZGRpbmctYmxvY2s6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWJhc2UpO1xufVxuXG4uaGFzLXNlY3Rpb24tc3BhY2luZy1tZCB7XG5cdHBhZGRpbmctYmxvY2s6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKTtcbn1cblxuLmhhcy1zZWN0aW9uLXNwYWNpbmctbGcge1xuXHRwYWRkaW5nLWJsb2NrOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG59XG5cbi8qIE1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgKi9cbi5oYXMtc2VjdGlvbi1zcGFjaW5nLXNtYWxsIHtcblx0cGFkZGluZy1ibG9jazogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpO1xufVxuXG4vKiBcbiAqIEdhcCBVdGlsaXRpZXMgLSBTaW1wbGlmaWVkIGFuZCBDb25zaXN0ZW50XG4gKiBVc2luZyBsb2dpY2FsIHByb3BlcnRpZXMgYW5kIHVwZGF0ZWQgbmFtaW5nXG4gKi9cbi5oYXMtZ2FwLXhzIHtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14cykgIWltcG9ydGFudDtcbn1cblxuLmhhcy1nYXAtc20ge1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdhcCB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tYmFzZSkgIWltcG9ydGFudDtcbn1cblxuLmhhcy1nYXAtbWQge1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdhcC1sZyB7XG5cdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGcpICFpbXBvcnRhbnQ7XG59XG5cbi5oYXMtZ2FwLXhsIHtcblx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS14bCkgIWltcG9ydGFudDtcbn1cblxuLyogTWFpbnRhaW4gYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqL1xuLmhhcy1nYXAtc21hbGwge1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKSAhaW1wb3J0YW50O1xufVxuXG4uaGFzLWdhcC1tZWRpdW0ge1xuXHRnYXA6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLW1kKSAhaW1wb3J0YW50O1xufVxuXG4vKiBcbiAqIENvbnRlbnQgRmxvdyAtIEVuaGFuY2VkIHNwYWNpbmcgc3lzdGVtXG4gKiBVc2luZyBtb2Rlcm4gQ1NTIGFuZCBsb2dpY2FsIHByb3BlcnRpZXNcbiAqL1xuLmlzLWNvbnRlbnQtZmxvdyB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5pcy1jb250ZW50LWZsb3cgPiAqICsgKiB7XG5cdG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbWQpO1xufVxuXG4uaXMtY29udGVudC1mbG93LXNtID4gKiArICoge1xuXHRtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXNtKTtcbn1cblxuLmlzLWNvbnRlbnQtZmxvdy1sZyA+ICogKyAqIHtcblx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZyk7XG59XG5cbi8qIFxuICogUmVzcG9uc2l2ZSBTcGFjaW5nIFV0aWxpdGllc1xuICogVXNpbmcgY2xhbXAoKSBmb3IgZmx1aWQgc3BhY2luZyB3aGVyZSBhcHByb3ByaWF0ZVxuICovXG4uaGFzLWZsdWlkLXNwYWNpbmcge1xuXHRwYWRkaW5nLWJsb2NrOiBjbGFtcChcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1iYXNlKSxcblx0XHQ0dncsXG5cdFx0dmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teGwpXG5cdCk7XG59XG5cbi5oYXMtZmx1aWQtZ2FwIHtcblx0Z2FwOiBjbGFtcChcblx0XHR2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1zbSksXG5cdFx0MnZ3LFxuXHRcdHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLWxnKVxuXHQpO1xufVxuXG4vKiBcbiAqIEFjY2Vzc2liaWxpdHkgVXRpbGl0aWVzXG4gKiBFc3NlbnRpYWwgc2NyZWVuIHJlYWRlciBhbmQgZm9jdXMgdXRpbGl0aWVzXG4gKi9cbi5zci1vbmx5IHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHdpZHRoOiAxcHg7XG59XG5cbi5zci1vbmx5OmZvY3VzIHtcblx0Y2xpcDogYXV0bztcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXJnaW46IGluaXRpYWw7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRwYWRkaW5nOiBpbml0aWFsO1xuXHRwb3NpdGlvbjogc3RhdGljO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR3aWR0aDogYXV0bztcbn1cblxuLyogXG4gKiBMYXlvdXQgVXRpbGl0aWVzIC0gRXNzZW50aWFsIG9ubHlcbiAqIFJlZHVjZWQgdG8gbW9zdCBjb21tb25seSB1c2VkIHBhdHRlcm5zXG4gKi9cbi5mdWxsLXdpZHRoIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5tYXgtY29udGVudC13aWR0aCB7XG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7XG59XG5cbi5tYXgtd2lkZS13aWR0aCB7XG5cdG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cdG1heC13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLXdpZGUtc2l6ZSk7XG59XG5cbi8qIFxuICogVGV4dCBVdGlsaXRpZXMgLSBFc3NlbnRpYWwgb25seVxuICovXG4udGV4dC1jZW50ZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LXN0YXJ0IHtcblx0dGV4dC1hbGlnbjogc3RhcnQ7XG59XG5cbi50ZXh0LWVuZCB7XG5cdHRleHQtYWxpZ246IGVuZDtcbn1cblxuLyogXG4gKiBSZXNwb25zaXZlIFV0aWxpdGllcyAtIE1vYmlsZS1maXJzdCBhcHByb2FjaFxuICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0Lm1kXFw6aGFzLXNlY3Rpb24tc3BhY2luZy1sZyB7XG5cdFx0cGFkZGluZy1ibG9jazogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tbGcpO1xuXHR9XG5cblx0Lm1kXFw6aGFzLWdhcC1sZyB7XG5cdFx0Z2FwOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS1sZykgIWltcG9ydGFudDtcblx0fVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cdC5sZ1xcOmhhcy1zZWN0aW9uLXNwYWNpbmcteGwge1xuXHRcdHBhZGRpbmctYmxvY2s6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhsKTtcblx0fVxuXG5cdC5sZ1xcOmhhcy1nYXAteGwge1xuXHRcdGdhcDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0teGwpICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmN1c3RvbWVyLXN0b3J5LWNvbnRlbnQgLmVudHJ5LWNvbnRlbnQsXG4ucG9zdC1jb250ZW50IC5lbnRyeS1jb250ZW50IHtcblx0Jjppcyg6b25seS1jaGlsZCkge1xuXHRcdG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tNHhsKTtcblx0fVxuXG5cdCYgPiAqOm5vdCgud3AtYmxvY2stcXVvdGUpIHtcblx0XHRtYXJnaW4taW5saW5lOiBhdXRvO1xuXHRcdG1heC13aWR0aDogNzY4cHg7XG5cdH1cblxuXHQmIGgyLndwLWJsb2NrLWhlYWRpbmc6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tNHhsKTtcblx0fVxuXG5cdCYgaDMud3AtYmxvY2staGVhZGluZzpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0bWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yeGwpO1xuXHR9XG5cblx0JiBoNC53cC1ibG9jay1oZWFkaW5nOm5vdCg6Zmlyc3QtY2hpbGQpIHtcblx0XHRtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLXhsKTtcblx0fVxufVxuXG4uY3VzdG9tZXItc3Rvcnktc3RhdHMge1xuXHQmIGEge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xuXHRcdH1cblx0fVxufVxuXG4ud3AtYmxvY2stcXVvdGUge1xuXHQmIHAge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdH1cbn1cblxuLndwLWJsb2NrLWVtYmVkLmlzLXR5cGUtdmlkZW8ge1xuXHR3aWR0aDogMTAwJTtcbn1cbiIsIi8qKlxuICogUHJpbnQgU3R5bGVzXG4gKiBcbiAqIEBwYWNrYWdlIEh5cGVybG9jb2xvZ3lcbiAqL1xuXG4vKiBIaWRlIG5vbi1lc3NlbnRpYWwgZWxlbWVudHMgd2hlbiBwcmludGluZyAqL1xuQG1lZGlhIHByaW50IHtcblx0LyogTmF2aWdhdGlvbiBhbmQgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cblx0LndwLWJsb2NrLW5hdmlnYXRpb24sXG5cdC53cC1zaXRlLWJsb2NrcyA+IGhlYWRlcixcblx0LndwLXNpdGUtYmxvY2tzID4gZm9vdGVyLFxuXHQud3AtYmxvY2stc2VhcmNoLFxuXHQuc2tpcC1saW5rLFxuXHRidXR0b24sXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5cdGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5cdC5uZXdzbGV0dGVyLWZvcm0sXG5cdC53cC1ibG9jay1zb2NpYWwtbGlua3Mge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdC8qIEVuc3VyZSBnb29kIHR5cG9ncmFwaHkgZm9yIHByaW50ICovXG5cdGJvZHkge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSwgI2ZmZmZmZik7XG5cdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaywgIzAwMDAwMCk7XG5cdFx0Zm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuXHRcdGZvbnQtc2l6ZTogMTJwdDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHR9XG5cblx0LyogSGVhZGluZ3MgKi9cblx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdFx0Y29sb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjaywgIzAwMDAwMCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcblx0fVxuXG5cdGgxIHsgZm9udC1zaXplOiAxOHB0OyB9XG5cblx0aDIgeyBmb250LXNpemU6IDE2cHQ7IH1cblxuXHRoMyB7IGZvbnQtc2l6ZTogMTRwdDsgfVxuXG5cdGg0IHsgZm9udC1zaXplOiAxM3B0OyB9XG5cblx0aDUgeyBmb250LXNpemU6IDEycHQ7IH1cblxuXHRoNiB7IGZvbnQtc2l6ZTogMTFwdDsgfVxuXG5cdC8qIFBhcmFncmFwaHMgYW5kIHRleHQgKi9cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTJwdDtcblx0XHRvcnBoYW5zOiAzO1xuXHRcdHdpZG93czogMztcblx0fVxuXG5cdC8qIExpbmtzICovXG5cdGEge1xuXHRcdGNvbG9yOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmxhY2ssICMwMDAwMDApO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0YVtocmVmXj1cImh0dHBcIl06OmFmdGVyIHtcblx0XHRjb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXRleHQtbGlnaHQsICM2NjY2NjYpO1xuXHRcdGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuXHRcdGZvbnQtc2l6ZTogMTBwdDtcblx0fVxuXG5cdC8qIEltYWdlcyAqL1xuXHRpbWcge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHR9XG5cblx0LyogQmxvY2tzICovXG5cdC53cC1ibG9jay1ncm91cCxcblx0LndwLWJsb2NrLWNvbHVtbnMge1xuXHRcdG1hcmdpbi1ib3R0b206IDEycHQ7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHR9XG5cblx0LyogTGlzdHMgKi9cblx0dWwsIG9sIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMnB0O1xuXHR9XG5cblx0LyogVGFibGVzICovXG5cdHRhYmxlIHtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdG1hcmdpbi1ib3R0b206IDEycHQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHR0aCwgdGQge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ib3JkZXItZ3JheSwgI2NjY2NjYyk7XG5cdFx0cGFkZGluZzogNnB0O1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHR0aCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLW5ldXRyYWwtMTAwLCAjZjVmNWY1KTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHR9XG5cblx0LyogUGFnZSBicmVha3MgKi9cblx0LnBhZ2UtYnJlYWsge1xuXHRcdHBhZ2UtYnJlYWstYmVmb3JlOiBhbHdheXM7XG5cdH1cblxuXHQvKiBFbnN1cmUgY29udGVudCBmaXRzIHdlbGwgKi9cblx0LndwLXNpdGUtYmxvY2tzIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMjBwdDtcblx0fVxufSAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/