/** Shopify CDN: Minification failed

Line 6849:44 Expected "]" to go with "["
Line 6849:76 Unexpected "]"
Line 6894:46 Expected "]" to go with "["
Line 6894:77 Unexpected "]"
Line 8789:24 Expected "]" to go with "["
Line 8789:60 Unexpected "]"
Line 8797:36 Expected "]" to go with "["
Line 8797:72 Unexpected "]"
Line 12715:8 Expected "]" to go with "["
Line 12715:29 Unexpected "]"
... and 18 more hidden warnings

**/
/* =============================================================================
 # Style                                                                      #
============================================================================= */

/**
 * This is the major css file. Here all other files are imported.
 */

/* Include reset.css via NPM. */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

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

/* -----------------------------------------------------------------------------
 # Settings - Global variables, config switches.                              #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Media Queries                                                              #
============================================================================= */

/*
 # Breakpoints
============================================================================= */

/* Specific breakpoint for product-slider to match David's design */

/*
 # Breakpoints Max
============================================================================= */

/*
 # WP Core Breakpoints (used for the admin bar for example)
============================================================================= */

/* =============================================================================
 # Global Settings                                                            #
============================================================================= */

:root {
	/* stylelint-disable */
	/**
	 * Baseline should always follow an 8pt or 4pt grid (if not an extreme
	 * design). E.g. .25rem or .5rem
	 *
	 * @credit https://builttoadapt.io/intro-to-the-8-point-grid-system-d2573cde8632
	 */
	/* stylelint-enable */
	--baseline-unit: 0.25rem;

	/**
	 * Gap is used in grid layouts and margins/paddings around elements
	 */
	--gap-micro: calc(var(--baseline-unit) * 2);
	--gap-tiny: calc(var(--baseline-unit) * 4);
	--gap-small: calc(var(--baseline-unit) * 6);
	--gap: calc(var(--baseline-unit) * 8);
	--gap-medium: calc(var(--baseline-unit) * 8);
	--gap-large: calc(var(--baseline-unit) * 16);
	--gap-xlarge: calc(var(--baseline-unit) * 28);
	--gap-huge: calc(var(--baseline-unit) * 32);

	/**
	 * Special gaps
	 */

	/* Grid gap: Gap between grid columns in flexbox grid */
	--gap-grid: 1rem;

	/* Container gap: used for left and right padding on the site main container */
	--gap-container: 1.5rem;
}

@media ( min-width: 768px ) {

:root {
		--gap-grid: 1rem;
		--gap-container: 2.55rem;
}
	}

:root {

	/**
	 * Max Widths
	 *
	 * Naming: narrow, wide, full
	 */
	--l-max-width-narrow: 720px;
	--l-max-width-wide: 1400px;
	--l-max-width-full: none; /* 2560px; */

	/**
	 * Adminbar
	 *
	 * Used to add offset for admin-bar to elements such as site-header.
	 */
	--admin-bar: 32px;
}

@media (max-width: 782px) {

:root {
		--admin-bar: 46px;
}
	}

:root {

	/**
	 * Scrollbar
	 *
	 * Used for sliders to make sure it works with every scrollbar-setting.
	 */
	--scrollbar-width: 0.001px;

	/**
	 * Variables for easy access of fonts
	 * Fonts are imported using @font-face in typography.scss
	 */
	--font-heading: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	--font-body:
		"Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;

	--font-weight-bold: 500;
	--font-weight-bolder: 600;

	/**
	 * Base Font Size
	 *
	 * Match this variable with the base-font size in the design.
	 * Note: Don't include pixels (16 instead of 16px).
	 */
	--base-font-size: 16;

	/**
	 * Font sizes always expressed in rems!
	 *
	 * Naming: micro, tiny, small, medium (base), large, huge, mega
	 */

	--font-size-micro: calc((12 / var(--base-font-size)) * 1rem);
	--font-size-tiny: calc((14.3 / var(--base-font-size)) * 1rem);
	--font-size-small: calc((16.5 / var(--base-font-size)) * 1rem);
	--font-size-smallx: calc((18.5 / var(--base-font-size)) * 1rem);
	--font-size-xmedium: calc((20 / var(--base-font-size)) * 1rem);
	--font-size-medium: calc((22 / var(--base-font-size)) * 1rem);
	--font-size-large: calc((26 / var(--base-font-size)) * 1rem);
	--font-size-xlarge-mobile: calc((34 / var(--base-font-size)) * 1rem);
	--font-size-xlarge: calc((42 / var(--base-font-size)) * 1rem);
	--font-size-huge: calc((52 / var(--base-font-size)) * 1rem);
	--font-size-xhuge: calc((62 / var(--base-font-size)) * 1rem);
}

@media ( min-width: 1280px ) {

:root {
		--font-size-large: calc((32 / var(--base-font-size)) * 1rem);
		--font-size-medium: calc((25 / var(--base-font-size)) * 1rem);
		--font-size-xhuge: calc((83 / var(--base-font-size)) * 1rem);
}
	}

:root {

	/**
	 * Line heights shall match their respective font-size and always
	 * be calculated using the baseline-unit
	 */

	--line-height-micro: calc(var(--baseline-unit) * 4);
	--line-height-tiny: calc(var(--baseline-unit) * 4);
	--line-height-xsmall: calc(var(--baseline-unit) * 4);
	--line-height-small: calc(var(--baseline-unit) * 6);
	--line-height-xmedium: calc(var(--baseline-unit) * 7);
	--line-height-medium: calc(var(--baseline-unit) * 7);
	--line-height-large: calc(var(--baseline-unit) * 9.5);
	--line-height-xlarge: calc(var(--baseline-unit) * 12);
	--line-height-huge: calc(var(--baseline-unit) * 14);
	--line-height-xhuge: calc(var(--baseline-unit) * 18);

	--line-height-body: calc(var(--baseline-unit) * 7.5);
}

@media ( min-width: 1440px ) {

:root {
		--line-height-xhuge: calc(var(--baseline-unit) * 23);
}
	}

:root {

	/* Transitions */
	--transition: 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	--transition-slow: 0.8s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	--transition-quick: 0.1s ease-in-out;

	/* Animations */
	--animation: 0.3s ease-in-out;
	--animation-slow: 0.65s ease-in-out;
	--animation-quick: 0.15s ease-in-out;

	/* Animation delay */
	--animation-delay: 0.15s;

	/* Drop shadows */
	--drop-shadow-small: 0 2px 10px 0 rgba(0, 0, 0, 0.2);
	--drop-shadow: 0 5px 40px 0 rgba(0, 0, 0, 0.2);
	--drop-shadow-large: 0 5px 60px 0 rgba(0, 0, 0, 0.15);

	/* Radius – Example! */
	--radius-small: 2px;
	--radius: 0;
	--radius-medium: 8px;
	--radius-large: 10px;

	--font-family-base: var(--font-family-primary);
	--font-family-headings: var(--font-family-primary);
	--font-family-mono: var(--font-family-primary);
	--font-family-serif: var(--font-family-primary);
	--font-family-system: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Oxygen-Sans,
		Ubuntu,
		Cantarell,
		"Helvetica Neue",
		Arial,
		sans-serif;
}

/* =============================================================================
 # Fonts                                                                      #
============================================================================= */

/**
 * This file is used for web fonts (@font-face).
 */

@font-face {
    font-display: swap;
    font-family: 'Atlas Grotesk';
    font-style: normal;
	font-synthesis: none;
    font-weight: 100;
    src: url('AtlasGrotesk-Thin.woff2') format('woff2'),
        url('AtlasGrotesk-Thin.woff') format('woff');
}

@font-face {
    font-display: swap;
    font-family: 'Atlas Grotesk';
    font-style: normal;
	font-synthesis: none;
    font-weight: normal;
    src: url('AtlasGrotesk-Regular.woff2') format('woff2'),
        url('AtlasGrotesk-Regular.woff') format('woff');
}

@font-face {
    font-display: swap;
    font-family: 'Atlas Grotesk';
    font-style: normal;
	font-synthesis: none;
    font-weight: 500;
    src: url('AtlasGrotesk-Medium.woff2') format('woff2'),
        url('AtlasGrotesk-Medium.woff') format('woff');
}

@font-face {
    font-display: swap;
    font-family: 'Minion Pro';
    font-style: normal;
	font-synthesis: none;
    font-weight: normal;
    src: url('MinionPro-Regular.woff2') format('woff2'),
        url('MinionPro-Regular.woff') format('woff');
}

/* =============================================================================
 # Color System                                                                #
============================================================================= */

/**
 * Color System Documentation
 *
 * This file defines the color system for the Davida theme using CSS custom
 * properties. Colors are organized into semantic groups for better maintainability
 * and consistency.
 *
 * Usage Guidelines:
 * 1. Use semantic color variables instead of raw color values
 * 2. Use --color-secondary for separators and disabled states
 * 3. Maintain WCAG 2.1 AA contrast ratios (4.5:1 for normal text, 3:1 for large)
 * 4. Use utility colors appropriately (e.g., --error-color for error states)
 */

:root {
  /* Core Colors
	 * These are the foundational colors that define the brand identity.
	 * Only use raw color values here - all other colors should reference these.
	 * =================================================================================== */
  --color-white: #fff;
  --color-black: #2d2d2c;
	--color-pink: #e9d1c5;
	--color-brown: #bda893;
	--color-orange: #ab582b;
	--color-light-gray: #575756;
	--color-gray: #f4f4f4;
	--color-dark-gray: #d5d5d5;
	--color-green: #cfd6d5;
	--color-green-dark: #687977;
  --color-primary: #2d2d2c;                        /* Main brand color */
  --color-secondary: #eaeaea;
	--color-background-gray: #e7ebea;                    /* Secondary brand color */

  /* Hover Colors */
  --hover-primary: #fff;                             /* White hover state */
  --hover-secondary: #2d2d2c;                           /* Black hover state */

  /* Semantic Text Colors
	 * These variables give meaning to colors based on their usage in text.
	 * Always use these instead of core colors for text.
	 * =================================================================================== */
  --color-text: var(--color-primary);                /* Default text color */
  --color-heading: var(--color-primary);    				 /* All headings */
  --color-body-text: #2d2d2c;             					     /* Body text */
  --color-text-light: var(--color-white);   				 /* Text on dark background */
	--color-text-secondary: var(--color-light-gray);

  /* Utility Colors
	 * Colors for specific UI purposes like borders, backgrounds, and states.
	 * =================================================================================== */
  --color-border: #e0e0e0;                	        /* Default border color */
  --color-background: #f3f2ef;            					/* Default background */
  --color-error: #ce3127;                 					/* Error states */
  --color-success: #2e7d32;               					/* Success states */
  --color-background-image: #f9f9f9;      					/* Background color for images */
  --color-background-footer: var(--color-white); /* Background color for footer */
	--color-border: #eaeaea;                  /* Border color */
}

/* Usage Examples:
 *
 * 1. Text Colors:
 *    color: var(--color-text);         		 Default text color
 *    color: var(--color-heading);      		 Headings
 *    color: var(--color-body);         		 Body text
 *
 * 2. Interactive Elements:
 *    background: var(--color-primary);      Default state
 *    &:hover {
 *      background: var(--hover-primary);
 *      color: var(--color-primary);
 *    }
 *
 * 3. Backgrounds:
 *    background: var(--color-white);      	 Main content
 *    background: var(--color-background); 	 Alternate sections
 *
 * 4. Borders:
 *    border-color: var(--color-border);      Default borders
 *    border-color: var(--color-secondary);  Separators
 *
 * 5. Status:
 *    color: var(--color-error);             Error messages
 *    color: var(--color-success);           Success messages
 */

/* =============================================================================
 # Typography                                                                 #
============================================================================= */

/**
 * This file is for fluid font sizing and some standard font styling.
 */

/**
 * Fluid typography. This makes it possible to build sites for infinite large
 * screens (almost ;-) )
 *
 * We are practically doing this calculation:
 * font-size: calc([minimum size] + ([maximum size] - [minimum size]) * ((100vw - [minimum viewport width]) / ([maximum viewport width] - [minimum viewport width])));
 *
 * @credit https://www.smashingmagazine.com/2016/05/fluid-typography/
 * @credit https://css-tricks.com/snippets/css/fluid-typography/
 */

:root {
  /* Font-sizes */
  --r-min-font-no-px: 14;
  --r-max-font-no-px: 16;
  --r-min-font: calc(var(--r-min-font-no-px) * 1px);
  --r-max-font: calc(var(--r-max-font-no-px) * 1px);
  --r-font-diff: calc(var(--r-max-font-no-px) - var(--r-min-font-no-px));

  /* Breakpoints */
  --r-min-breakpoint-no-px: 576;
  --r-max-breakpoint-no-px: 1680;
  --r-min-breakpoint: calc(var(--r-min-breakpoint-no-px) * 1px);
  --r-max-breakpoint: calc(var(--r-max-breakpoint-no-px) * 1px);
  --r-breakpoint-diff: calc(var(--r-max-breakpoint-no-px) - var(--r-min-breakpoint-no-px)); /* stylelint-disable-line max-line-length */

  /* Setting min font size */
  font-size: calc(14 * 1px);
  font-size: var(--r-min-font)
}

@media ( min-width: 360px ) {

:root {
    font-size: calc(calc(14 * 1px) + calc(16 - 14) * (100vw - calc(576 * 1px)) / calc(1680 - 576));
    font-size: calc(var(--r-min-font) + var(--r-font-diff) * (100vw - var(--r-min-breakpoint)) / var(--r-breakpoint-diff)) /* stylelint-disable-line max-line-length */
}
  }

@media ( min-width: 1680px ) {

:root {
    font-size: calc(16 / 1680 * 100vw);
    font-size: calc(var(--r-max-font-no-px) / var(--r-max-breakpoint-no-px) * 100vw) /* stylelint-disable-line max-line-length */
}
  }

/**
 * Standard font element styling. Variables are set in _settings.scss
 */

body {
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);

  /* Designers always want the font smoothing stuff! */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
}

/* -----------------------------------------------------------------------------
 # Tools - Default mixins and functions.                                      #
----------------------------------------------------------------------------- */

/**
 * Maintain aspect ratio
 *
 * @css
 	.aspect-ratio-wrapper-class {
 		@mixin aspect-ratio $width, $height;
		@mixin aspect-ratio-object $object-fit, $object-position;
 	}
 *
 * @markup
	<element class="aspect-ratio-wrapper-class">
		<embed/iframe/img/video>
	</element>
 *
 */

/**
 * Use for modifiers of aspect ratio, only changing the aspect ratio
 */

/**
 * Set object-fit on inner object (embed, iframe, img or video)
 *
 * possible $object-fit values:
 * https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
 *
 * possible $object-position values:
 * https://developer.mozilla.org/en-US/docs/Web/CSS/object-position
 *
 */

/**
 * Dynamic aspect ratio. Safe tecnique if content is higher than aspect ratio
 * height.
 *
 * @link https://css-tricks.com/aspect-ratio-boxes/#the-psuedo-element-tactic
 *
 * @css
 	.aspect-ratio-wrapper-class {
 		@mixin aspect-ratio-dynamic $width, $height;
		@mixin aspect-ratio-object $object-fit, $object-position;
 	}
 *
 * @markup
	<element class="aspect-ratio-wrapper-class">
		<embed/iframe/img/video>
	</element>
 *
 */

/* =============================================================================
 # Mixins - Font Size                                                         #
============================================================================= */

/**
 * Mixins for font-sizes.
 */

/* =============================================================================
 # Mixins - Typography                                                        #
============================================================================= */

/**
 * Add typography 'Very simple' support.
 *
 * @css
 	.typography-very-simple-class {
 		@mixin typography-very-simple;
 	}
 *
 * @markup
	<element class="typography-very-simple-class">
		<p/a/strong>
	</element>
 *
 */

/**
 * Add typography 'Full' support.
 *
 * @css
 	.typography-full-class {
 		@mixin typography-full;
 	}
 *
 * @markup
	<element class="typography-full-class">
		<h1/p/ul/...>
	</element>
 *
 */

/**
 * Typography-offset can be used to align
 * texts in different sizes with eachother.
 */

/* =============================================================================
 # Mixins                                                                     #
============================================================================= */

/* Wrap outer containers (width, padding, center) */

/* Can be used for sections on pages, e.g. standard paddings for blocks. */

/**
 * Grid mixins
 *
 * @css
 	.grid-class {
 		@mixin flex-grid $align, $justify;
 	}
 	.col-class {
 		@mixin flex-column $col, $cols;
 		@mixin flex-column-offset $offset, $cols;
 	}
 *
 * @markup
	<element class="grid-class">
		<element class="col-class">
			[text node]
		</element>
	</element>
 *
 */

/**
 * Flex grid mixin can be used to create a flexbox grid rapidly
 */

/**
 * Use the flex-column mixin together with the flex-grid mixin to build your
 * flexbox grid systems
 */

/**
 * Use the flex-column-offset mixin together with the flex-column mixin to
 * create offsets (extra margin) in the grid.
 *
 * Please observe. margin-left/-right: auto can also
 * be used outside this mixins.
 */

/**
 * Set the top padding for an element to a specified value.
 *
 * This mixin automatically removes the top padding
 * from the last element in the group.
 */

/**
 * Set the bottom padding for an element to a specified value.
 *
 * This mixin automatically removes the bottom padding
 * from the last element in the group.
 */

/**
 * Set padding-right for an element to a specified value.
 *
 * This mixin automatically removes the right padding
 * from the last element in the group.
 */

/**
 * Set the bottom margin for an element to a specified value.
 *
 * This mixin automatically removes the bottom margin
 * from the last element in the group.
 */

/**
 * Set margin-right for an element to a specified value.
 *
 * This mixin automatically removes the right margin
 * from the last element in the group.
 */

/**
 * Add underline to a link.
 */

/* -----------------------------------------------------------------------------
 # Generic - Ground-zero styles (box-sizing, etc.).                           #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Box-sizing                                                                 #
============================================================================= */

html {
  box-sizing: border-box;
}

/**
 * Inherit box-sizing to make it easier to change the property
 * for components that leverage other behavior.
 */

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* =============================================================================
 # Buttons                                                                    #
============================================================================= */

button,
input[type="submit"] {
  -webkit-appearance: none;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  text-transform: inherit;
  vertical-align: baseline;
  width: auto;
}

/* =============================================================================
 # Links                                                                      #
============================================================================= */

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

a:hover,
  a:focus {
    /* opacity: .6; */
    text-decoration: underline;
  }

/* =============================================================================
 # Generic                                                                    #
============================================================================= */

::selection {
	background: #2d2d2c;
	background: var(--color-text);
	color: #f3f2ef;
	color: var(--color-background);
}

img::selection {
	background: #2d2d2c;
	background: var(--color-text);
}

/* stylelint-disable */

/**
 * Make anchor-links smooth scrolling in modern browsers
 *
 * @credit https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior#Browser_compatibility
 */

/* stylelint-enable */

html {
	/**
	 * Also, set default background color for html
	 * (https://martinwolf.org/2018/06/osx-mojave-dark-mode)
	 */
	background-color: #f3f2ef;
	background-color: var(--color-background);
	overflow-x: hidden;
	scroll-behavior: smooth;
	width: 100vw;

}

body {
	margin: 0;
}

.l-main > *:first-child .s-rich-text {
			padding-top: calc(calc(0.25rem * 8) * 4);
			padding-top: calc(var(--gap) * 4);
		}

.l-main {
	min-height: 70vh;
}

.l-main .s-page-header-full {
		margin-top: calc(calc(0.25rem * 8) * -2.1);
		margin-top: calc(var(--gap) * -2.1)
	}

@media ( min-width: 768px ) {

	.l-main .s-page-header-full {
			margin-top: calc(calc(0.25rem * 8) * -2.25);
			margin-top: calc(var(--gap) * -2.25)
	}
		}

.l-main .l-page-breadcrumb + div .s-page-header-full {
			margin-top: 0;
		}

/* =============================================================================
 # Scooped                                                                    #
============================================================================= */

/**
 * A scoped class for standard content. Typically from WYSIWYG output from a
 * CMS.
 *
 * @markup
 	<div class="s-standard-typography">
		[CMS OUTPUT]
	</div>
 *
 */

.s-standard-typography {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-standard-typography {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7);
}
  }

.s-standard-typography a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-standard-typography a:hover,
  .s-standard-typography a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-standard-typography p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-standard-typography strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-standard-typography em {
    font-style: italic;
  }

.s-standard-typography del {
    text-decoration: line-through;
  }

.s-standard-typography h1,
  .s-standard-typography h2,
  .s-standard-typography h3,
  .s-standard-typography h4,
  .s-standard-typography h5,
  .s-standard-typography h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-standard-typography h1:first-child, .s-standard-typography h2:first-child, .s-standard-typography h3:first-child, .s-standard-typography h4:first-child, .s-standard-typography h5:first-child, .s-standard-typography h6:first-child {
      padding-top: 0;
    }

.s-standard-typography h1:last-child, .s-standard-typography h2:last-child, .s-standard-typography h3:last-child, .s-standard-typography h4:last-child, .s-standard-typography h5:last-child, .s-standard-typography h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-standard-typography h1,
  .s-standard-typography h2,
  .s-standard-typography h3,
  .s-standard-typography h4,
  .s-standard-typography h5,
  .s-standard-typography h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-standard-typography hr + h1,
    .s-standard-typography hr + h2,
    .s-standard-typography hr + h3,
    .s-standard-typography hr + h4,
    .s-standard-typography hr + h5,
    .s-standard-typography hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-standard-typography p,
  .s-standard-typography ul,
  .s-standard-typography ol,
  .s-standard-typography table,
  .s-standard-typography figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-standard-typography p:last-child, .s-standard-typography ul:last-child, .s-standard-typography ol:last-child, .s-standard-typography table:last-child, .s-standard-typography figure:last-child {
      padding-bottom: 0;
    }

.s-standard-typography pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-standard-typography pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-standard-typography hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-standard-typography blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-standard-typography blockquote p:last-child {
      padding-bottom: 0;
    }

.s-standard-typography blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-standard-typography blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-standard-typography blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-standard-typography ul,
  .s-standard-typography ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-standard-typography ul > ul,
    .s-standard-typography ul > ol,
    .s-standard-typography ol > ul,
    .s-standard-typography ol > ol {
      margin-bottom: 0;
    }

.s-standard-typography ul li, .s-standard-typography ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-standard-typography ul li > ul,
      .s-standard-typography ul li > ol,
      .s-standard-typography ol li > ul,
      .s-standard-typography ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-standard-typography ul li > ul li:last-of-type, .s-standard-typography ul li > ol li:last-of-type, .s-standard-typography ol li > ul li:last-of-type, .s-standard-typography ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-standard-typography ul {
		list-style: disc;
  }

.s-standard-typography ul li {
      list-style-type: disc;
    }

.s-standard-typography ol {
    counter-reset: ol;
  }

.s-standard-typography ol li {
      list-style-type: decimal;
    }

.s-standard-typography figure {
    max-width: 100%;
    width: 100%;
  }

.s-standard-typography figure a {
      display: block;
    }

.s-standard-typography figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-standard-typography figcaption img {
      margin-top: 0;
    }

.s-standard-typography img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-standard-typography img:last-child {
      margin-bottom: 0;
    }

.s-standard-typography .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-standard-typography table,
  .acf-preview .s-standard-typography .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-standard-typography table th,
    .s-standard-typography table td,
    .acf-preview .s-standard-typography .table-wrapper table th,
    .acf-preview .s-standard-typography .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-standard-typography table th:not(:first-child), .s-standard-typography table td:not(:first-child), .acf-preview .s-standard-typography .table-wrapper table th:not(:first-child), .acf-preview .s-standard-typography .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-standard-typography table th, .acf-preview .s-standard-typography .table-wrapper table th {
      line-height: 1.1375;
    }

/* -----------------------------------------------------------------------------
 # Components –                                                               #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Accordion                                                                  #
============================================================================= */

/* Component Variables
============================================================================= */

:root {
  --accordion-border-color: var(--color-dark-gray, #e0e0e0);
  --accordion-background: var(--color-background, #fff);
  --accordion-text-color: var(--color-text, #000);
  --accordion-padding: var(--gap-small, 1rem);
  --accordion-transition: var(--transition);
}

/* Component Base
============================================================================= */

.c-accordion {
  width: 100%;
}

.c-accordion__item {
  border-bottom: 1px solid #d5d5d5;
  border-bottom: 1px solid var(--accordion-border-color)
}

.c-accordion__item:first-of-type {
		border-top: 1px solid #d5d5d5;
		border-top: 1px solid var(--accordion-border-color);
	}

.c-accordion__title {
  align-items: center;
  background: #f3f2ef;
  background: var(--accordion-background);
  border: none;
  color: #2d2d2c;
  color: var(--accordion-text-color);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
	padding-bottom: calc(0.25rem * 5);
  padding-top: calc(0.25rem * 5);
  text-align: left;
  transition: background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: background-color var(--accordion-transition);
  width: 100%
}

@media ( min-width: 768px ) {

.c-accordion__title {
		padding-bottom: calc(0.25rem * 4.5);
  	padding-top: calc(0.25rem * 4.5)
}
	}

.c-accordion__title-text {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.6px;
}

.c-accordion__title-icon {
  align-items: center;
  display: flex;
	font-size: 1.5rem;
  justify-content: center;
  transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: transform var(--accordion-transition);
}

.c-accordion__content {
  background: #f3f2ef;
  background: var(--accordion-background);
	color: var(--color-body);
	height: 0;
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), opacity 0.8s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: height var(--accordion-transition), opacity var(--transition-slow);
}

.c-accordion__content-text {
 	color: #2d2d2c;
 	color: var(--color-black);
 	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
 	font-family: var(--font-body);
 	font-size: calc((16.5 / 16) * 1rem);
 	font-size: var(--font-size-small);
 	line-height: var(--line-height-small);
 	color: #2d2d2c;
 	color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.c-accordion__content-text {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7)
}
  }

.c-accordion__content-text a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.c-accordion__content-text a:hover,
  .c-accordion__content-text a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.c-accordion__content-text p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.c-accordion__content-text strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.c-accordion__content-text em {
    font-style: italic;
  }

.c-accordion__content-text del {
    text-decoration: line-through;
  }

.c-accordion__content-text h1,
  .c-accordion__content-text h2,
  .c-accordion__content-text h3,
  .c-accordion__content-text h4,
  .c-accordion__content-text h5,
  .c-accordion__content-text h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.c-accordion__content-text h1:first-child, .c-accordion__content-text h2:first-child, .c-accordion__content-text h3:first-child, .c-accordion__content-text h4:first-child, .c-accordion__content-text h5:first-child, .c-accordion__content-text h6:first-child {
      padding-top: 0;
    }

.c-accordion__content-text h1:last-child, .c-accordion__content-text h2:last-child, .c-accordion__content-text h3:last-child, .c-accordion__content-text h4:last-child, .c-accordion__content-text h5:last-child, .c-accordion__content-text h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .c-accordion__content-text h1,
  .c-accordion__content-text h2,
  .c-accordion__content-text h3,
  .c-accordion__content-text h4,
  .c-accordion__content-text h5,
  .c-accordion__content-text h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.c-accordion__content-text hr + h1,
    .c-accordion__content-text hr + h2,
    .c-accordion__content-text hr + h3,
    .c-accordion__content-text hr + h4,
    .c-accordion__content-text hr + h5,
    .c-accordion__content-text hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.c-accordion__content-text p,
  .c-accordion__content-text ul,
  .c-accordion__content-text ol,
  .c-accordion__content-text table,
  .c-accordion__content-text figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.c-accordion__content-text p:last-child, .c-accordion__content-text ul:last-child, .c-accordion__content-text ol:last-child, .c-accordion__content-text table:last-child, .c-accordion__content-text figure:last-child {
      padding-bottom: 0;
    }

.c-accordion__content-text pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .c-accordion__content-text pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.c-accordion__content-text hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.c-accordion__content-text blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.c-accordion__content-text blockquote p:last-child {
      padding-bottom: 0;
    }

.c-accordion__content-text blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.c-accordion__content-text blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.c-accordion__content-text blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.c-accordion__content-text ul,
  .c-accordion__content-text ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.c-accordion__content-text ul > ul,
    .c-accordion__content-text ul > ol,
    .c-accordion__content-text ol > ul,
    .c-accordion__content-text ol > ol {
      margin-bottom: 0;
    }

.c-accordion__content-text ul li, .c-accordion__content-text ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.c-accordion__content-text ul li > ul,
      .c-accordion__content-text ul li > ol,
      .c-accordion__content-text ol li > ul,
      .c-accordion__content-text ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.c-accordion__content-text ul li > ul li:last-of-type, .c-accordion__content-text ul li > ol li:last-of-type, .c-accordion__content-text ol li > ul li:last-of-type, .c-accordion__content-text ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.c-accordion__content-text ul {
		list-style: disc;
  }

.c-accordion__content-text ul li {
      list-style-type: disc;
    }

.c-accordion__content-text ol {
    counter-reset: ol;
  }

.c-accordion__content-text ol li {
      list-style-type: decimal;
    }

.c-accordion__content-text figure {
    max-width: 100%;
    width: 100%;
  }

.c-accordion__content-text figure a {
      display: block;
    }

.c-accordion__content-text figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.c-accordion__content-text figcaption img {
      margin-top: 0;
    }

.c-accordion__content-text img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.c-accordion__content-text img:last-child {
      margin-bottom: 0;
    }

.c-accordion__content-text .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.c-accordion__content-text table,
  .acf-preview .c-accordion__content-text .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.c-accordion__content-text table th,
    .c-accordion__content-text table td,
    .acf-preview .c-accordion__content-text .table-wrapper table th,
    .acf-preview .c-accordion__content-text .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.c-accordion__content-text table th:not(:first-child), .c-accordion__content-text table td:not(:first-child), .acf-preview .c-accordion__content-text .table-wrapper table th:not(:first-child), .acf-preview .c-accordion__content-text .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.c-accordion__content-text table th, .acf-preview .c-accordion__content-text .table-wrapper table th {
      line-height: 1.1375;
    }

.c-accordion__content-text {
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.c-accordion__content-text .metafield-single_line_text_field-array {
    width: 50%;
  }

.c-accordion__content-text .metafield-single_line_text_field {
    list-style: none;
  }

.c-accordion__content-text-content p {
    color: var(--color-body);
  }

.c-accordion__content-text-content + .c-accordion__content-details-list {
  padding-top: calc(0.25rem * 6);
  padding-top: var(--gap-small);
}

.c-accordion__content-details {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.c-accordion__content-details-title {
  line-height: calc(0.25rem * 6);
  line-height: var(--line-height-small);
  width: 40%;
}

.c-accordion__content-details-description {
  color: #2d2d2c;
  color: var(--color-text);
  line-height: calc(0.25rem * 6);
  line-height: var(--line-height-small);
  width: 60%;
}

.c-accordion__content-inner {
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
}

/* States
============================================================================= */

/* Expanded State */

.c-accordion__item[data-state='expanded'] .c-accordion__title {
  background-color: #f3f2ef;
  background-color: var(--accordion-background);
}

.c-accordion__item[data-state='expanded'] .c-accordion__title-icon {
  transform: rotate(180deg);
}

.c-accordion__item[data-state='expanded'] .c-accordion__content {
  opacity: 1;
	overflow: visible;
}

/* Collapsed State */

.c-accordion__item[data-state='collapsed'] .c-accordion__content {
  opacity: 0;
}

/* Disabled State */

.c-accordion__item[data-disabled='true'] {
  opacity: 0.5;
}

.c-accordion__item[data-disabled='true'] .c-accordion__title {
  cursor: not-allowed;
}

/* ============================================================================
 # Announcement Bar                                                           #
============================================================================= */

/**
 * A component for announcement-bar.
*/

:root {
	--announcement-bar-color: #f4e8e2;
}

.l-site-header-announcement-bar {
  background-color: #f4e8e2;
  background-color: var(--announcement-bar-color);
	position: relative;
	z-index: 17;
}

.c-announcement-bar {
  align-items: center;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  width: 100%
}

@media ( min-width: 992px ) {

.c-announcement-bar {
    justify-content: center;
    padding-left: 1.5rem;
    padding-left: var(--gap-container);
    padding-right: 1.5rem;
    padding-right: var(--gap-container)
}
  }

.c-announcement-bar__inner {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.c-announcement-text {
	font-style: italic;
  align-items: center;
  color: #2d2d2c;
  color: var(--color-text);
  display: flex;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  justify-content: center;
  left: 0;
  min-width: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  transition: opacity 0.5s ease;
  visibility: hidden;
}

.c-announcement-text a {
    border-bottom: 1px solid currentColor;
    text-decoration: none;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition)
  }

.c-announcement-text a:hover {
      opacity: 0.6;
    }

.c-announcement-text.is-visible {
    opacity: 1;
    visibility: visible;
  }

.c-announcement-text::after {
    background-color: currentColor;
    border-radius: 50%;
    content: "";
    display: none;
    height: 0.25rem;
    margin-left: 1rem;
    width: 0.25rem
  }

@media ( min-width: 768px ) {

.c-announcement-text::after {
      display: block
  }
    }

.c-announcement-text:last-of-type {
    margin-right: 0
  }

.c-announcement-text:last-of-type::after {
      content: unset;
      margin-left: 0;
    }

@media ( min-width: 768px ) {

.c-announcement-text {
    margin-right: 1rem;
    opacity: 1;
    position: static;
    visibility: visible
}
  }

.c-announcement-bar__selector {
  align-items: center;
  display: none;
  height: 100%
}

@media ( min-width: 992px ) {

.c-announcement-bar__selector {
    display: flex
}
  }

.c-announcement-bar__selector--left {
  justify-content: flex-start;
	margin-right: auto;
}

.c-announcement-bar__selector--right {
  justify-content: flex-end;
}

.c-announcement-bar__content {
  align-items: center;
  display: flex;
  flex: 1;
  justify-content: center

}

@media ( min-width: 768px ) {

.c-announcement-bar__content {
		position: absolute

}
	}

.c-announcement-bar-selector {
  color: #2d2d2c;
  color: var(--color-text);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
}

.c-announcement-bar-selector__button {
  align-items: center;
  appearance: none;
  background: none;
  border: none;
  color: #2d2d2c;
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  grid-gap: 0.25rem;
  gap: 0.25rem;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition)
}

.c-announcement-bar-selector__button:hover {
    opacity: 0.7;
  }

.c-announcement-bar-selector--currency .c-announcement-bar-selector__button {
		padding-left: 1rem;

	}

.c-modal--nav .c-announcement-bar-selector__button {
			font-size: calc((16.5 / 16) * 1rem);
			font-size: var(--font-size-small);
			padding-left: 0;
	}

.c-announcement-bar-selector__icon {
  font-size: 0.6rem;
	transform: rotate(90deg);
}

.c-announcement-bar-selector__icon svg {
    height: 1em;
		width: 1em;
	}

.c-announcement-bar-selector[aria-expanded="true"] .c-announcement-bar-selector__icon {
  transform: rotate(180deg);
}

.c-announcement-bar-selector__dropdown {
  background: #fff;
  background: var(--color-white);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: none;
	margin-left: -0.75rem;
  min-width: 8rem;
  position: absolute;
  top: 100%;
  z-index: 100
}

.c-announcement-bar-selector__dropdown.is-open {
    display: block;
  }

.has-scrolled .c-announcement-bar-selector__dropdown {
		display: none;
	}

.c-announcement-bar-selector--currency .c-announcement-bar-selector__dropdown {
		margin-left: 0.25rem;
	}

.c-announcement-bar-selector__dropdown-item {
  color: #2d2d2c;
  color: var(--color-text);
  display: block;
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  transition: background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: background-color var(--transition)
}

.c-announcement-bar-selector__dropdown-item:hover {
    background-color: #f3f2ef;
    background-color: var(--color-background);
		text-decoration: none;
  }

.c-announcement-bar-selector__dropdown-item.is-active {
    background-color: #e7ebea;
    background-color: var(--color-background-gray);
  }

.c-announcement-bar-selector--hidden {
  display: none !important;
}

/* =============================================================================
 # Breadcrumb Component                                                       #
============================================================================= */

/**
 * A responsive breadcrumb navigation component that provides hierarchical
 * navigation context across different Shopify page types.
 *
 * Features:
 * - URL-based hierarchy parsing for collections and products
 * - Semantic HTML with proper navigation markup
 * - Responsive design with mobile-first approach
 * - Consistent styling with existing theme variables
 * - Accessible navigation structure
 *
 * @component Breadcrumb
 * @version 1.0.0
 * @since 1.0.0
 * @status stable
 *
 * @example
 * <nav class="c-breadcrumb" aria-label="Breadcrumb">
 *   <ol class="c-breadcrumb__list">
 *     <li class="c-breadcrumb__item">
 *       <a href="/" class="c-breadcrumb__link">Start</a>
 *     </li>
 *     <li class="c-breadcrumb__item">
 *       <span class="c-breadcrumb__current">Current Page</span>
 *     </li>
 *   </ol>
 * </nav>
 */

/* Component Variables
============================================================================= */

.c-breadcrumb {
  --c-breadcrumb-spacing: var(--gap-micro);
  --c-breadcrumb-font-size: var(--font-size-tiny);
  --c-breadcrumb-line-height: var(--line-height-tiny);
  --c-breadcrumb-color: var(--color-text-secondary);
  --c-breadcrumb-link-color: var(--color-text-secondary);
  --c-breadcrumb-current-color: var(--color-text-secondary);
  --c-breadcrumb-separator-color: var(--color-text-secondary);
  --c-breadcrumb-hover-color: var(--color-text-secondary);

}

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

.c-breadcrumb {
  font-size: var(--c-breadcrumb-font-size);
  line-height: var(--c-breadcrumb-line-height);
	padding-bottom: calc(calc(0.25rem * 4));
	padding-bottom: calc(var(--gap-tiny));
	padding-top: calc(calc(0.25rem * 4));
	padding-top: calc(var(--gap-tiny))
}

@media ( min-width: 768px ) {

.c-breadcrumb {
		padding-bottom: calc(calc(0.25rem * 4) * 1.2);
		padding-bottom: calc(var(--gap-tiny) * 1.2);
		padding-top: calc(calc(0.25rem * 4) * 1.2);
		padding-top: calc(var(--gap-tiny) * 1.2)
}
	}

.c-breadcrumb__list {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  grid-gap: var(--c-breadcrumb-spacing);
  gap: var(--c-breadcrumb-spacing);
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Breadcrumb Items
============================================================================= */

.c-breadcrumb__item {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);
	align-items: center;
  color: var(--c-breadcrumb-color);
  display: flex
}

.c-breadcrumb__item:last-of-type {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
	}

.c-breadcrumb__item:not(:last-child)::after {
	border-radius: 50%;
  content: "•";
	display: block;
	font-size: 0.8rem;
	margin-left: var(--c-breadcrumb-spacing);
	opacity: 0.5
}

@media ( min-width: 768px ) {

.c-breadcrumb__item:not(:last-child)::after {
}

	}

/* Links
============================================================================= */

.c-breadcrumb__link {
  color: var(--c-breadcrumb-link-color);
	line-height: inherited;
  transition: color 0.1s ease-in-out;
  transition: color var(--transition-quick);
}

.c-breadcrumb__link:hover,
.c-breadcrumb__link:focus {
  color: var(--c-breadcrumb-hover-color);
	text-decoration: none;
}

.c-breadcrumb__link:focus {
  outline: 2px solid #2d2d2c;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Current Page
============================================================================= */

.c-breadcrumb__item .c-breadcrumb__current {
  color: var(--c-breadcrumb-current-color);
	cursor: default;
	font-weight: 500;
	font-weight: var(--font-weight-bold)
}

.c-breadcrumb__item .c-breadcrumb__current:hover::after,
	.c-breadcrumb__item .c-breadcrumb__current:focus::after {
		transform: scaleX(0);
		transform-origin: right;
	}

/* States
============================================================================= */

.c-breadcrumb.is-hidden {
  display: none;
}

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

/* Mobile: Stack items if needed */

@media (max-width: 480px) {
  .c-breadcrumb__list {
    grid-gap: calc(0.25rem * 2);
    gap: calc(0.25rem * 2);
    grid-gap: var(--gap-micro);
    gap: var(--gap-micro);
  }

  .c-breadcrumb__item:not(:last-child)::after {
    margin-left: calc(0.25rem * 2);
    margin-left: var(--gap-micro);
  }

  /* Truncate very long breadcrumb items on mobile */
  .c-breadcrumb__link,
  .c-breadcrumb__current {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

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

@media (prefers-reduced-motion: reduce) {
  .c-breadcrumb__link {
    transition: none;
  }
}

/* High contrast mode support */

@media (prefers-contrast: high) {
  .c-breadcrumb__item:not(:last-child)::after {
    opacity: 1;
  }
}

/*
 * Browsehappy – used for older browsers that doesn't support modern features.
 * Inserted in wp_footer hook
 */

.c-browsehappy {
  background-color: #2d2d2c;
  background-color: var(--color-primary);
  color: #fff;
  color: var(--color-white);
  display: none;
  font-size: 1em;
  left: 0;
  line-height: 1.2;
  margin: 0;
  padding: 0.75em 1.5em;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1000
}

.c-browsehappy a {
    color: #fff;
    color: var(--color-white);
    text-decoration: underline;
  }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {

.c-browsehappy {
    /* IE10 & IE11 */
    display: block
}
  }

@supports (-ms-ime-align:auto) and (not (-webkit-mask: url())) {

.c-browsehappy {
    /* Edge 17- https://browserstrangeness.github.io/css_hacks.html */
    display: block
}
  }

/* ============================================================================
 # Button                                                                     #
============================================================================= */

/**
 * Button Component
 *
 * Implements four button variants as specified:
 * 1. Primary: var(--color-primary) with white hover
 * 2. Secondary: var(--color-secondary) with white hover
 * 3. White: var(--color-white) with black hover
 * 4. Black: var(--color-black) with white hover
 *
 * Features:
 * - Uses scale3d transform for hover effects
 * - Individual property transitions for better performance
 * - Disabled states using var(--color-secondary)
 * - No size variations or special case buttons
 */

/* Component-specific variables */

:root {
  --c-button-font-size: var(--font-size-medium);
  --c-button-line-height: var(--line-height-medium);
  --c-button-padding-bottom: calc(var(--c-button-font-size) * 0.72);
  --c-button-padding-top: calc(var(--c-button-font-size) * 0.72);
  --c-button-padding-right-left: calc(var(--c-button-font-size) * 2);
  --c-button-border-radius: 0;
	--c-button-font-family: var(--font-heading);

  /* Component-specific color mappings */
  --c-button-bg-primary: transparent;
  --c-button-bg-secondary: transparent;
  --c-button-disabled: var(--color-light-gray)
}

@media ( min-width: 768px ) {

:root {
		--c-button-font-size: calc((20 / 16) * 1rem)
}
	}

/* Base Button */

.c-button {
  background-color: transparent;
  background-color: var(--c-button-bg-primary);
  border: 1px solid #2d2d2c;
  border: 1px solid var(--color-black);
  border-radius: 0;
  border-radius: var(--c-button-border-radius);
  color: #2d2d2c;
  color: var(--color-black);
  display: inline-flex;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--c-button-font-family);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--c-button-font-size);
	font-style: italic;
  line-height: calc(0.25rem * 7);
  line-height: var(--c-button-line-height);
  padding-bottom: calc(calc((22 / 16) * 1rem) * 0.72);
  padding-bottom: var(--c-button-padding-bottom);
  padding-left: calc(calc((22 / 16) * 1rem) * 2);
  padding-left: var(--c-button-padding-right-left);
  padding-right: calc(calc((22 / 16) * 1rem) * 2);
  padding-right: var(--c-button-padding-right-left);
  padding-top: calc(calc((22 / 16) * 1rem) * 0.72);
  padding-top: var(--c-button-padding-top);
  transform: scale3d(1, 1, 1);
  transition:
    background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
    color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
    transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
    border-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition:
    background-color var(--transition),
    color var(--transition),
    transform var(--transition),
    border-color var(--transition);
  white-space: nowrap
}

.c-button:hover,
  .c-button:focus {
    background-color: #2d2d2c;
    background-color: var(--color-black);
    color: #fff;
    color: var(--color-white);
    text-decoration: none;
  }

.c-button:disabled,
  .c-button.is-disabled,
  .c-button[aria-disabled="true"] {
    background-color: #575756;
    background-color: var(--c-button-disabled);
    border-color: #575756;
    border-color: var(--c-button-disabled);
    color: #fff;
    color: var(--color-text-light);
    cursor: not-allowed;
		opacity: 0.6;
    transform: none;
  }

/* Secondary Button */

.c-button--secondary {
  background-color: transparent;
  background-color: var(--c-button-bg-secondary);
  border-color: #fff;
  border-color: var(--color-white);
  color: #fff;
  color: var(--color-white)
}

.c-button--secondary:hover,
  .c-button--secondary:focus {
    background-color: #fff;
    background-color: var(--color-white);
    border-color: #fff;
    border-color: var(--color-white);
    color: #2d2d2c;
    color: var(--color-black);
  }

/* =============================================================================
 # Card                                                                       #
============================================================================= */

/**
 * A component for card.
 */

.c-card {

  background-color: #f3f2ef;

  background-color: var(--color-background);
  border-radius: var(--radius-block);
  border-radius: 8px;
  border-radius: var(--radius-medium);
  display: block;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.c-card embed,
  .c-card iframe,
  .c-card img,
  .c-card video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.c-card {
  aspect-ratio: 3 / 4;
  position: relative;
}

@supports not (aspect-ratio: 1 / 1) {

.c-card {
    height: 0;
    overflow: hidden;
    padding-top: calc((4 / 3) * 100%)
}
  }

.c-card::after {
    background: linear-gradient(0deg, #2d2d2c, transparent);
    background: linear-gradient(0deg, var(--color-black), transparent);
    bottom: 0;
    content: "";
    height: 70%;
    left: 0;
    opacity: 0.8;
    position: absolute;
    transition: opacity 0.3s ease;
    width: 100%;
  }

@media ( min-width: 768px ) {

.c-card {
    aspect-ratio: 5 / 6;
    position: relative;
}
    @supports not (aspect-ratio: 1 / 1) {

.c-card {
    height: 0;
    overflow: hidden;
    padding-top: calc((6 / 5) * 100%)
}
  }
  }

.c-card__inner {
  bottom: 0;
  display: flex;
  left: 0;
  padding: calc(0.25rem * 8);
  padding: var(--gap-medium);
  padding-bottom: calc(calc(0.25rem * 8) + calc(0.25rem * 2));
  padding-bottom: calc(var(--gap-medium) + var(--gap-micro));
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0
}

@media ( min-width: 1280px ) {

.c-card__inner {
    padding: calc(0.25rem * 8);
    padding: var(--gap-medium);
    padding-bottom: calc(0.25rem * 14);
    padding-bottom: calc(var(--baseline-unit) * 14)
}
  }

.c-card__media {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
}

.c-card__media img {
    aspect-ratio: auto;
    height: 100%;
    object-fit: cover;
    transition: transform 1s ease-in-out;
    width: 100%;
  }

.c-card:hover .c-card__media img {
    transform: scale(1.0325);
  }

.c-card__content {
  align-items: center;
  color: #fff;
  color: var(--color-text-light);
  display: flex;
  flex-direction: column;
  justify-content: end;
  margin: 0 auto;
  max-width: 30rem;
  text-align: center;
  z-index: 1;
}

.c-card__label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  padding-bottom: var(--gap-micro);
}

.c-card__label:last-child {
    padding-bottom: 0;
  }

.c-card__label {

  color: #fff;

  color: var(--color-text-light);
}

.c-card__intro {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
  padding-bottom: var(--gap-small);
}

.c-card__intro:last-child {
    padding-bottom: 0;
  }

.c-card__intro {

  font-weight: 300;
}

/* =============================================================================
 # Cart Item                                                                   #
============================================================================= */

/**
 * A component for cart item.
 * Uses the color system variables for consistent theming:
 * - Text: --color-text
 * - Borders: --color-border
 * - Background: --color-background
 */

/* Component-specific variables */

:root {
  --c-cart-item-text: var(--color-text);
  --c-cart-item-border: var(--color-border);
  --c-cart-item-bg: var(--color-background);
}

.c-cart-item {
  border-bottom: 1px solid #eaeaea;
  border-bottom: 1px solid var(--c-cart-item-border);
  display: flex;
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap)
}

.c-cart-item:last-child {
    border-bottom: none;
  }

.c-cart-item__header {
  align-items: baseline;
  display: flex;
  justify-content: space-between;
}

.c-cart-item__thumbnail img {
  max-width: 100%;
}

.c-cart-item__details {
  flex-grow: 1;
  padding-left: calc(0.25rem * 6);
  padding-left: var(--gap-small);
  padding-right: calc(0.25rem * 6);
  padding-right: var(--gap-small);
}

.c-cart-item__vendor {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;

  font-weight: 400;
  line-height: 1.125;
  padding-bottom: 0.25rem;
  padding-bottom: var(--baseline-unit);
}

.c-cart-item__info {

	margin-top: auto;
}

.c-cart-item__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: 1.125;

  color: #2d2d2c;

  color: var(--c-cart-item-text);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  padding-right: calc(0.25rem * 6);
  padding-right: var(--gap-small);
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition)
}

.c-cart-item__title:hover,
  .c-cart-item__title:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.c-cart-item__info-item {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	line-height: 1.125;
	padding-top: calc(calc(0.25rem * 2) / 2);
	padding-top: calc(var(--gap-micro) / 2);
}

.c-cart-item__info-item span {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
	}

.c-cart-item__info-item:first-of-type {
		padding-top: 0;
	}

.c-cart-item__size,
.c-cart-item__material,
.c-cart-item__color {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	line-height: 1.125;
	padding-top: calc(calc(0.25rem * 2) / 2);
	padding-top: calc(var(--gap-micro) / 2);
}

.c-cart-item-modal__quantity {
  color: #2d2d2c;
  color: var(--c-cart-item-text);
}

.c-cart-item__price {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #2d2d2c;
  color: var(--c-cart-item-text);
	text-transform: none;
  white-space: nowrap;
}

.c-cart-item__remove button {
  color: #2d2d2c;
  color: var(--c-cart-item-text);
  cursor: pointer;
	font-size: 1.3rem;
}

.c-cart-item__remove button .c-icon {
		stroke: none;
	}

.c-cart-item__footer {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  margin-top: auto;
}

.c-cart-item__quantity-wrapper {
  align-items: center;
  border: 1px solid #eaeaea;
  border: 1px solid var(--c-cart-item-border);
  border-radius: 0;
  border-radius: var(--radius);
  display: flex;
  height: 30px;
  justify-content: space-between;
  margin-top: auto;
  width: 75px;
}

.c-cart-item__quantity-wrapper input[type="number"] {
    background-color: #f3f2ef;
    background-color: var(--c-cart-item-bg);
    border: none;
    text-align: center;
    width: 100%
  }

.c-cart-item__quantity-wrapper input[type="number"]::-webkit-inner-spin-button,
    .c-cart-item__quantity-wrapper input[type="number"]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

@media ( min-width: 768px ) {

.c-cart-item__quantity-wrapper {
  	height: 42px;
		width: 100px
}
	}

.c-cart-item__quantity-update {
  color: #2d2d2c;
  color: var(--c-cart-item-text);
  font-size: 0.75rem;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition)
}

.c-cart-item__quantity-update:hover,
  .c-cart-item__quantity-update:focus {
    opacity: 0.6;
  }

.c-cart-item__quantity-update .c-icon {
		stroke: currentColor;
	}

.c-cart-item__quantity-update--minus {
  color: #2d2d2c;
  color: var(--c-cart-item-text);
  padding-left: calc(calc(0.25rem * 4) * 0.75);
  padding-left: calc(var(--gap-tiny) * 0.75);
}

.c-cart-item__quantity-update--plus {
  color: #2d2d2c;
  color: var(--c-cart-item-text);
  padding-right: calc(calc(0.25rem * 4) * 0.75);
  padding-right: calc(var(--gap-tiny) * 0.75);
}

/* =============================================================================
 # Cart Table                                                            #
============================================================================= */

/**
 * A component for cart table.
 */

.c-cart-table {
  margin-top: calc(0.25rem * 16);
  margin-top: var(--gap-large);
}

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

.c-cart__empty-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);

  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;

  font-family: var(--font-heading);
  text-align: center;
}

.c-cart__empty-actions {
  padding-bottom: 1.5rem;
  padding-bottom: var(--gap-container);
}

.c-cart__empty-actions .c-button {
    width: 100%;
  }

.c-cart__empty-actions .c-button__label {
    text-align: center;
    width: 100%;
  }

/* =============================================================================
 # Color Picker                                                               #
============================================================================= */

/**
 * Color Picker Component
 *
 * DESIGN RATIONALE:
 * - Extends existing variant-selector patterns for consistency
 * - Uses circular swatches with black borders for active/hover states
 * - Implements dynamic color name display as shown in design
 * - Provides fallback for colors not defined in theme settings
 *
 * USAGE:
 * - Used in product information sections for same-SKU product navigation
 * - Displays color swatches that link to different product variants
 * - Shows dynamic color name updates on hover and selection
 *
 * MARKUP STRUCTURE:
 * .c-color-picker
 *   .c-color-picker__label
 *     .c-color-picker__label-text
 *     .c-color-picker__selected-color
 *   .c-color-picker__swatches
 *     .c-color-picker__swatch-container
 *       .c-color-picker__swatch
 *         .c-color-picker__swatch-color
 */

/* Component-specific variables */

:root {
  --c-color-picker-swatch-size: 24px;
  --c-color-picker-swatch-border: 1px;
  --c-color-picker-gap: calc(0.25rem * 3);
  --c-color-picker-border-color: var(--color-black);
  --c-color-picker-border-radius: 50%;
}

.c-color-picker {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap)
}

.c-color-picker.c-color-picker--compact {
    padding-bottom: calc(0.25rem * 6);
    padding-bottom: var(--gap-small);
  }

.c-color-picker__label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  align-items: baseline;

  display: flex;
  grid-gap: 0.25em;
  gap: 0.25em;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
  text-transform: capitalize
}

@media ( min-width: 768px ) {

.c-color-picker__label {
		padding-bottom: calc(0.25rem * 2);
		padding-bottom: var(--gap-micro)
}
	}

.c-color-picker__label-text {
  font-weight: 500;
  font-weight: var(--font-weight-bold);
}

.c-color-picker__selected-color {
  font-style: italic;
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-weight: 400;
  text-transform: capitalize;
  transition: color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: color var(--transition);
}

.c-color-picker__swatches {
  display: flex;
  flex-wrap: wrap;
  grid-gap: calc(0.25rem * 3);
  gap: calc(0.25rem * 3);
  grid-gap: var(--c-color-picker-gap);
  gap: var(--c-color-picker-gap);
}

.c-color-picker__swatch-container {
  position: relative;
}

.c-color-picker__swatch {
  border-radius: 50%;
  border-radius: var(--c-color-picker-border-radius);
  display: inline-block;
  height: 24px;
  height: var(--c-color-picker-swatch-size);
  position: relative;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: all var(--transition);
  width: 24px;
  width: var(--c-color-picker-swatch-size)

  /* Default state - no border */
}

.c-color-picker__swatch::before {
    border: 1px solid transparent;
    border: var(--c-color-picker-swatch-border) solid transparent;
    border-radius: 50%;
    border-radius: var(--c-color-picker-border-radius);
    bottom: calc(-1 * 1px - 2px);
    bottom: calc(-1 * var(--c-color-picker-swatch-border) - 2px);
    content: '';
    left: calc(-1 * 1px - 2px);
    left: calc(-1 * var(--c-color-picker-swatch-border) - 2px);
    position: absolute;
    right: calc(-1 * 1px - 2px);
    right: calc(-1 * var(--c-color-picker-swatch-border) - 2px);
    top: calc(-1 * 1px - 2px);
    top: calc(-1 * var(--c-color-picker-swatch-border) - 2px);
    transition: border-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: border-color var(--transition);
  }

.c-color-picker__swatch {

  /* Hover state - show black border */
}

.c-color-picker__swatch:hover::before {
    border-color: #2d2d2c;
    border-color: var(--c-color-picker-border-color);
  }

.c-color-picker__swatch {

  /* Active state - current product */
}

.c-color-picker__swatch.is-active::before {
    border-color: #2d2d2c;
    border-color: var(--c-color-picker-border-color);
  }

.c-color-picker__swatch {

  /* Focus state for accessibility */
}

.c-color-picker__swatch:focus {
    outline: 2px solid #2d2d2c;
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

.c-color-picker__swatch-color {
  border-radius: 50%;
  border-radius: var(--c-color-picker-border-radius);
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%

  /* Fallback for colors without hex values */
}

.c-color-picker__swatch-color.c-color-picker__swatch-color--fallback {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((14.3 / 16) * 1rem);
    font-size: var(--font-size-tiny);
    line-height: var(--line-height-tiny);
    align-items: center;
    background: repeating-linear-gradient(
      -45deg,
      #fff,
      #fff 4px,
      #2d2d2c 4px,
      #2d2d2c 8px
    );
    background: repeating-linear-gradient(
      -45deg,
      #fff,
      #fff 4px,
      var(--color-black) 4px,
      var(--color-black) 8px
    );
    color: #d5d5d5;
    color: var(--color-dark-gray);
    display: flex;
    font-weight: 500;
    font-weight: var(--font-weight-bold);
    justify-content: center;
    text-transform: uppercase;
  }

/* High contrast mode support - removed for browser compatibility */

/* Reduced motion support */

@media (prefers-reduced-motion: reduce) {
  .c-color-picker__swatch,
  .c-color-picker__swatch::before,
  .c-color-picker__selected-color {
    transition: none;
  }
}

/* =============================================================================
 # Color Tag Filter                                                          #
============================================================================= */

/**
 * Color Tag Filter Component
 *
 * DESIGN RATIONALE:
 * - Provides visual color filtering for collection pages
 * - Supports both individual colors and grouped color families
 * - Integrates with existing color picker system for consistency
 * - Uses hover and active states for clear user feedback
 *
 * USAGE:
 * - Used on collection pages to filter products by color
 * - Leverages color mapping metaobject data
 * - JavaScript-powered filtering for immediate response
 *
 * MARKUP STRUCTURE:
 * .s-color-tag-filter
 *   .s-color-tag-filter__inner
 *     .s-color-tag-filter__header
 *       .s-color-tag-filter__title
 *       .s-color-tag-filter__clear
 *     .s-color-tag-filter__swatches
 *       .s-color-tag-filter__swatch-container
 *         .s-color-tag-filter__swatch
 *           .s-color-tag-filter__swatch-color(s)
 *           .s-color-tag-filter__swatch-label
 *     .s-color-tag-filter__results
 */

/* Component-specific variables */

:root {
  --s-color-tag-filter-swatch-size: 32px;
  --s-color-tag-filter-swatch-gap: 1rem;
  --s-color-tag-filter-border-radius: 50%;
  --s-color-tag-filter-border-width: 2px;
  --s-color-tag-filter-border-color: var(--color-black);
  --s-color-tag-filter-label-gap: 0.5rem
}

@media ( min-width: 992px ) {

:root {
    --s-color-tag-filter-swatch-size: 40px;
    --s-color-tag-filter-swatch-gap: 1.25rem
}
  }

/* Main container */

.s-color-tag-filter {
  margin-bottom: calc(0.25rem * 8);
  margin-bottom: var(--gap-medium);
  margin-top: calc(0.25rem * 6);
  margin-top: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-color-tag-filter {
    margin-bottom: calc(0.25rem * 16);
    margin-bottom: var(--gap-large);
    margin-top: calc(0.25rem * 8);
    margin-top: var(--gap-medium)
}
  }

.s-color-tag-filter__inner {
  margin: 0 auto;
  max-width: var(--page-width);
  padding-left: calc(0.25rem * 6);
  padding-left: var(--gap-small);
  padding-right: calc(0.25rem * 6);
  padding-right: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-color-tag-filter__inner {
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap-medium);
    padding-right: calc(0.25rem * 8);
    padding-right: var(--gap-medium)
}
  }

/* Header section */

.s-color-tag-filter__header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(0.25rem * 6);
  margin-bottom: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-color-tag-filter__header {
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap-medium)
}
  }

.s-color-tag-filter__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-black);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  margin: 0
}

@media ( min-width: 992px ) {

.s-color-tag-filter__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium)
}
  }

.s-color-tag-filter__clear {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  background: none;
  border: 1px solid #575756;
  border: 1px solid var(--color-light-gray);
  border-radius: 0;
  border-radius: var(--radius);
  color: #d5d5d5;
  color: var(--color-dark-gray);
  cursor: pointer;
  padding: calc(0.25rem * 2) calc(0.25rem * 6);
  padding: var(--gap-micro) var(--gap-small);
  transition: all 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: all var(--transition)
}

.s-color-tag-filter__clear:hover {
    background-color: #575756;
    background-color: var(--color-light-gray);
    color: #2d2d2c;
    color: var(--color-black);
  }

.s-color-tag-filter__clear:focus {
    outline: 2px solid #2d2d2c;
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

/* Swatches container */

.s-color-tag-filter__swatches {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  grid-gap: 1rem;
  gap: 1rem;
  grid-gap: var(--s-color-tag-filter-swatch-gap);
  gap: var(--s-color-tag-filter-swatch-gap);
}

.s-color-tag-filter__swatch-container {
  align-items: center;
  display: flex;
  flex-direction: column;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  grid-gap: var(--s-color-tag-filter-label-gap);
  gap: var(--s-color-tag-filter-label-gap);
}

/* Individual swatch styles */

.s-color-tag-filter__swatch {
  align-items: center;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  grid-gap: var(--s-color-tag-filter-label-gap);
  gap: var(--s-color-tag-filter-label-gap);
  padding: 0;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: transform var(--transition)
}

.s-color-tag-filter__swatch:hover {
    transform: translateY(-2px);
  }

.s-color-tag-filter__swatch:focus {
    border-radius: 0;
    border-radius: var(--radius);
    outline: 2px solid #2d2d2c;
    outline: 2px solid var(--color-primary);
    outline-offset: 4px;
  }

.s-color-tag-filter__swatch {

  /* Active state */
}

.s-color-tag-filter__swatch.is-active .s-color-tag-filter__swatch-color::before, .s-color-tag-filter__swatch.is-active .s-color-tag-filter__swatch-colors .s-color-tag-filter__swatch-color::before {
        border-color: #2d2d2c;
        border-color: var(--s-color-tag-filter-border-color);
      }

.s-color-tag-filter__swatch.is-active .s-color-tag-filter__swatch-label {
      color: #2d2d2c;
      color: var(--color-black);
      font-weight: 500;
      font-weight: var(--font-weight-bold);
    }

/* Individual color circle */

.s-color-tag-filter__swatch-color {
  border-radius: 50%;
  border-radius: var(--s-color-tag-filter-border-radius);
  display: block;
  height: 32px;
  height: var(--s-color-tag-filter-swatch-size);
  position: relative;
  width: 32px;
  width: var(--s-color-tag-filter-swatch-size)

  /* Border effect using ::before */
}

.s-color-tag-filter__swatch-color::before {
    border: 2px solid transparent;
    border: var(--s-color-tag-filter-border-width) solid transparent;
    border-radius: 50%;
    border-radius: var(--s-color-tag-filter-border-radius);
    bottom: calc(-1 * 2px);
    bottom: calc(-1 * var(--s-color-tag-filter-border-width));
    content: '';
    left: calc(-1 * 2px);
    left: calc(-1 * var(--s-color-tag-filter-border-width));
    position: absolute;
    right: calc(-1 * 2px);
    right: calc(-1 * var(--s-color-tag-filter-border-width));
    top: calc(-1 * 2px);
    top: calc(-1 * var(--s-color-tag-filter-border-width));
    transition: border-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: border-color var(--transition);
  }

/* Hover border */

.s-color-tag-filter__swatch:hover .s-color-tag-filter__swatch-color::before {
    border-color: #2d2d2c;
    border-color: var(--s-color-tag-filter-border-color);
  }

/* Grouped color swatches */

.s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-colors {
    display: flex;
    position: relative;
  }

.s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-color {
    /* Smaller size for grouped colors */
    height: calc(32px * 0.8);
    height: calc(var(--s-color-tag-filter-swatch-size) * 0.8);

    /* Overlap grouped colors slightly */
    margin-left: -4px;
    width: calc(32px * 0.8);
    width: calc(var(--s-color-tag-filter-swatch-size) * 0.8)
  }

.s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-color:first-child {
      margin-left: 0;
      z-index: 3;
    }

.s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-color:nth-child(2) {
      z-index: 2;
    }

.s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-color:nth-child(3) {
      z-index: 1;
    }

@media ( min-width: 992px ) {

  .s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-color {
      /* Less overlap on larger screens */
      margin-left: -2px
  }

      .s-color-tag-filter__swatch--grouped .s-color-tag-filter__swatch-color:first-child {
        margin-left: 0;
      }
    }

/* Color labels */

.s-color-tag-filter__swatch-label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #d5d5d5;
  color: var(--color-dark-gray);
  font-weight: var(--font-weight-normal);
  text-align: center;
  transition: color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), font-weight 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: color var(--transition), font-weight var(--transition);
  white-space: nowrap
}

@media ( min-width: 992px ) {

.s-color-tag-filter__swatch-label {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small)
}
  }

/* Results section */

.s-color-tag-filter__results {
  border-top: 1px solid #575756;
  border-top: 1px solid var(--color-light-gray);
  margin-top: calc(0.25rem * 8);
  margin-top: var(--gap-medium);
  padding-top: calc(0.25rem * 6);
  padding-top: var(--gap-small);
  text-align: center
}

@media ( min-width: 992px ) {

.s-color-tag-filter__results {
    text-align: left
}
  }

.s-color-tag-filter__results-text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #d5d5d5;
  color: var(--color-dark-gray);
  font-style: italic
}

@media ( min-width: 992px ) {

.s-color-tag-filter__results-text {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small)
}
  }

/* Loading and disabled states */

.s-color-tag-filter__swatch.is-loading {
  cursor: wait;
  opacity: 0.6;
  pointer-events: none;
}

.s-color-tag-filter__swatch:disabled {
  cursor: not-allowed;
  opacity: 0.4
}

.s-color-tag-filter__swatch:disabled:hover {
    transform: none;
  }

/* Animation for filtering */

.s-color-tag-filter .s-main-product-grid__item {
    transition: opacity 0.3s ease, transform 0.3s ease;
  }

.s-color-tag-filter .s-main-product-grid__item.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.95);
  }

/* Responsive adjustments */

@media ( min-width: 768px ) {
  .s-color-tag-filter__swatches {
    justify-content: center;
  }
}

@media ( min-width: 992px ) {
  .s-color-tag-filter__swatches {
    justify-content: flex-start;
  }
}

/* High contrast mode support */

@media (prefers-contrast: high) {
  .s-color-tag-filter__swatch-color::before {
    border-width: 3px;
  }

  .s-color-tag-filter__swatch-label {
    font-weight: 500;
    font-weight: var(--font-weight-bold);
  }
}

/* Reduced motion support */

@media (prefers-reduced-motion: reduce) {
  .s-color-tag-filter__swatch,
  .s-color-tag-filter__swatch-color::before,
  .s-color-tag-filter__swatch-label,
  .s-main-product-grid__item {
    transition: none;
  }

  .s-color-tag-filter__swatch:hover {
    transform: none;
  }
}

/* ============================================================================
 # Coordinated Selector                                                       #
============================================================================= */

/**
 * Coordinated language-currency selector component for announcement bar
 * Identical styling to announcement-bar-selector but with separate classes
 */

.c-coordinated-selector {
  color: #2d2d2c;
  color: var(--color-text);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  position: relative;
}

.c-coordinated-selector__button {
  align-items: center;
  appearance: none;
  background: none;
  border: none;
  color: #2d2d2c;
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  grid-gap: 0.25rem;
  gap: 0.25rem;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition)
}

.c-coordinated-selector__button:hover {
    opacity: 0.7;
  }

.c-coordinated-selector--currency .c-coordinated-selector__button {
    padding-left: 1rem;
  }

.c-mobile-menu-selectors__inner .c-coordinated-selector__button {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
	}

.c-coordinated-selector__current {
	align-items: center;
	display: flex;
	grid-gap: 0.5rem;
	gap: 0.5rem;
	text-transform: uppercase;
}

.c-coordinated-selector__flag {
	border-radius: 2px;
	height: 1rem;
	margin-top: 0.1rem;
	object-fit: cover;
	width: auto

	/* Fallback handling for missing flags */
}

.c-coordinated-selector__flag:not([src]) {
		display: none;
	}

.c-coordinated-selector__flag {

	/* Hide broken images */
}

.c-coordinated-selector__flag[alt]::after {
		content: "";
	}

.c-coordinated-selector__icon {
  font-size: 0.6rem;
  transform: rotate(90deg);
  transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: transform var(--transition);
}

.c-coordinated-selector__icon svg {
    height: 1em;
    width: 1em;
  }

.c-coordinated-selector__button[aria-expanded="true"] + .c-coordinated-selector__dropdown {
  display: block;
}

.c-coordinated-selector__button[aria-expanded="true"] .c-coordinated-selector__icon {
  transform: rotate(-90deg);
}

.c-coordinated-selector__dropdown {
  background: #fff;
  background: var(--color-white);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  display: none;
  margin-left: -0.75rem;
  min-width: 8rem;
  position: absolute;
  top: 1.25rem;
  z-index: 100
}

.c-coordinated-selector__dropdown:not([hidden]) {
    display: block;
  }

.has-scrolled .c-coordinated-selector__dropdown {
    display: none;
  }

.c-coordinated-selector--currency .c-coordinated-selector__dropdown {
    margin-left: 0.25rem;
  }

.c-coordinated-selector__dropdown-item {
  align-items: center;
  color: #2d2d2c;
  color: var(--color-text);
  cursor: pointer;
  display: flex;
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  grid-gap: 0.5rem;
  gap: 0.5rem;
	letter-spacing: 0.05em;
  padding: 0.75rem 0.75rem;
  text-decoration: none;
	text-transform: uppercase;
  transition: background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: background-color var(--transition)
}

.c-coordinated-selector__dropdown-item:hover {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    text-decoration: none;
  }

.c-coordinated-selector__dropdown-item.is-active {
    background-color: #e7ebea;
    background-color: var(--color-background-gray);
  }

.c-coordinated-selector__dropdown-item {

  /* Hide currency options based on language coordination */
}

.c-coordinated-selector__dropdown-item[style*="display: none"] {
    display: none !important;
  }

/* Disabled state when only one currency available */

.c-coordinated-selector--disabled {
  opacity: 0.6;
  pointer-events: none;
}

.c-coordinated-selector--disabled .c-coordinated-selector__button {
    cursor: not-allowed;
  }

/* =============================================================================
 # Country Selector                                                           #
============================================================================= */

/**
 * A component for country-selector.
 */

.c-country-selector {
  display: flex;
  flex-direction: column;
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  text-align: left;
  width: 100%;
}

.c-country-selector localization-form {
  display: block

  /* @mixin padding-bottom var(--gap-micro); */
}

@media ( min-width: 768px ) {

.c-country-selector localization-form {
    /* @mixin padding-right var(--gap-micro);
		@mixin padding-bottom 0; */
}
  }

.c-country-selector__language {
  position: relative;
}

.c-country-selector__button {
  appearance: none;
  border: 1px solid #eaeaea;
  border: 1px solid var(--color-border);
  border-radius: 0;
  color: #fff;
  color: var(--color-text-light);
  cursor: pointer;
  display: block;
  margin-bottom: 0;
  margin-top: 0;
  padding-right: calc(0.25rem * 16);
  padding-right: var(--gap-large);
  text-align: left;
  white-space: nowrap;
  width: 100%
}

@media ( min-width: 768px ) {

.c-country-selector__button {
    width: auto
}
  }

.c-country-selector__icon {
  color: #fff;
  color: var(--color-text-light);
  font-size: 0.75rem;
  margin-left: calc(0.25rem * 6);
  margin-left: var(--gap-small);
  position: absolute;
  right: 1rem;
  transform: rotate(180deg);
}

.c-country-selector__list {
  background: #fff;
  background: var(--color-background-footer);
  border-bottom: 1px solid #eaeaea;
  border-bottom: 1px solid var(--color-border);
  border-bottom-left-radius: 0;
  border-bottom-left-radius: var(--radius);
  border-bottom-right-radius: 0;
  border-bottom-right-radius: var(--radius);
  border-left: 1px solid #eaeaea;
  border-left: 1px solid var(--color-border);
  border-right: 1px solid #eaeaea;
  border-right: 1px solid var(--color-border);
  height: 0;
  margin-left: -1rem;
  opacity: 0;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
  padding-top: calc(0.25rem * 4);
  padding-top: var(--gap-tiny);
  pointer-events: none;
  transform: translateY(-10px);
  transition:
    height 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.2s ease-in-out,
    transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)
}

.c-country-selector__list.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

.c-country-selector__list-item {
  color: #fff;
  color: var(--color-white);
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
  padding-left: calc(0.25rem * 4);
  padding-left: var(--gap-tiny);
}

.c-country-selector__link.is-active {
    text-decoration: underline;
  }

/* =============================================================================
 # Dropdown                                                                   #
============================================================================= */

/**
 * A component for dropdown menus
 * Uses the color system variables for consistent theming:
 * - Background: --color-background
 * - Text: --color-text
 * - Borders: --color-border
 */

/* Component-specific variables */

:root {
  --c-dropdown-bg: var(--color-background);
  --c-dropdown-text: var(--color-text);
  --c-dropdown-border: var(--color-border);
  --c-dropdown-active-text: var(--color-black);
}

.c-dropdown {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);

  background-color: #f3f2ef;

  background-color: var(--c-dropdown-bg);
  border-bottom: 1px solid #eaeaea;
  border-bottom: 1px solid var(--c-dropdown-border);
  left: 0;
  padding-bottom: calc(0.25rem * 24);
  padding-bottom: calc(var(--baseline-unit) * 24);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  padding-top: calc(calc(1.7rem + (calc(0.25rem * 4) * 2)) + (calc(0.25rem * 8) / 2));
  padding-top: calc(var(--site-header-height) + (var(--gap) / 2));
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: -1
}

.c-dropdown.active-dropdown {
    color: #2d2d2c;
    color: var(--c-dropdown-active-text);
  }

.c-dropdown__grid {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: calc(1rem / 2 * -1);
  margin-left: calc(var(--gap-grid) / 2 * -1);
  margin-right: calc(1rem / 2 * -1);
  margin-right: calc(var(--gap-grid) / 2 * -1);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid));

  transition: padding-top 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);

  transition: padding-top var(--transition);
}

.l-site-header-announcement-bar:not(:empty) ~ .l-site-header__inner .c-dropdown__grid {
  padding-top: 3rem;
}

.has-scrolled .l-site-header-announcement-bar:not(:empty) ~ .l-site-header__inner .c-dropdown__grid {
    padding-top: 0;
  }

.c-dropdown__column {
  flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 6 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-top: calc(0.25rem * 8);

  padding-top: var(--gap)
}

.c-dropdown__column:last-child {
    margin-left: auto;
  }

@media ( min-width: 1920px ) {
    .c-dropdown__column.c-dropdown__column--small {
      flex-basis: calc(( 100 / ( 12 / 5 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 5 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);

      max-width: 32.5rem;
    }

    .c-dropdown__column.c-dropdown__column--medium {
      flex-basis: calc(( 100 / ( 12 / 7 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 7 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
    }
  }

.c-dropdown__list {
  padding-left: 0;
}

.c-dropdown__item {
  color: #2d2d2c;
  color: var(--c-dropdown-text);
  display: flex;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny)
}

.c-dropdown__item:last-child {
    padding-bottom: 0;
  }

.c-dropdown__item-link {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);

  align-items: center;
  display: flex;
  display: block;
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  position: relative
}

.c-dropdown__item-link:hover,
  .c-dropdown__item-link:focus {
    text-decoration: none
  }

@media ( min-width: 768px ) {

.c-dropdown__item-link:hover,
  .c-dropdown__item-link:focus {
      text-decoration: none;
  }

      .c-dropdown__item-link:hover .c-dropdown__item-icon, .c-dropdown__item-link:focus .c-dropdown__item-icon {
        opacity: 1;
        transition: opacity 0.2s linear;
      }
    }

.c-dropdown__item-link:last-child {
    padding-bottom: 0;
  }

.c-dropdown__item-icon {
  color: #2d2d2c;
  color: var(--c-dropdown-text);
  display: flex;
  font-size: 0.5rem;
  opacity: 0;
  position: absolute;
  right: -1rem;
  top: 0.8rem;
  transition: opacity 0.2s linear;
}

.c-dropdown__item-icon .c-icon {
    transform: rotate(90deg);
  }

.c-dropdown__content {
}

.c-dropdown__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((42 / 16) * 1rem);
  font-size: var(--font-size-xlarge);
  line-height: var(--line-height-xlarge);

  color: #2d2d2c;

  color: var(--c-dropdown-text);
  margin: 0;
  padding-bottom: calc(calc(0.25rem * 8) * 1.5);
  padding-bottom: calc(var(--gap) * 1.5);
  text-transform: none;
  text-transform: initial;
  transition: 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: var(--transition);
  width: 100%;
}

/* ============================================================================
 # Filter button                                                              #
============================================================================= */

.c-filter-button {
  border: 1px solid gray;
  padding: 0.25rem;
}

.c-filter-button .filter-icon svg {
      height: auto;
      width: 1em;
    }

/* ============================================================================
 * Filter list									                                              #
 * ========================================================================== */

.c-filter-list {
}

.c-filter-list__item {
}

.c-filter-price-range {
  padding-top: calc(0.25rem * 3);
}

.c-filter-list__label {
  display: flex;
}

.c-filter-list__input[type="checkbox"] {
 appearance: none;
  background: transparent;
  color: #f3f2ef;
  color: var(--color-background);
  cursor: pointer;
  height: 100%;
  margin: 0;
  position: relative;
  width: 100%;

}

.c-filter-list__input[type="checkbox"]:checked {
  background-color: #2d2d2c;
  background-color: var(--color-black);
  border-color: #2d2d2c;
  border-color: var(--color-black);
}

.c-filter-list__input[type="checkbox"]:checked::after {
  display: none;
}

.c-filter-list__input[type="checkbox"]:checked ~ .c-filter-list__label-text {
  color: #fff;
  color: var(--color-white);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.c-filter-list__input[type="checkbox"]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.c-filter-list__input[type="checkbox"]:disabled ~ .c-filter-list__label-text {
  cursor: not-allowed;
  opacity: 0.5;
}

.c-filter-list__label-text {
  vertical-align: middle;
}

.c-filter-price-range__input {
  appearance: none;
  background: transparent;
  border-color: #2d2d2c;
  border-color: var(--color-black);
  border-image: none;
  border-radius: 2px;
  border-radius: var(--radius-small);
  border-style: solid;
  border-width: 1px;
  min-width: 5rem;
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro);
}

.c-filter-price-range__from,
.c-filter-price-range__to {
  align-items: center;
  display: flex;
}

.c-filter-price-range__label {
  display: flex;
  min-width: 3rem;
}

.c-filter-list__label-text {
  cursor: pointer;
}

/* =============================================================================
 # Horizontal Scroll                                                          #
============================================================================= */

/**
 * A component for horizontal-scroll.
 *
 * @markup
	<element class="c-horizontal-scroll js-slider" data-slider-name="slider-name">
		<element class="c-horizontal-scroll__inner js-slider-list">
			<item class="c-horizontal-scroll__item js-slider-item">
				[content]
			</item>
		</element>
	</element>
 *
 */

.c-horizontal-scroll {
  overflow-x: hidden;
  position: relative;
  width: 100%
}

.c-horizontal-scroll.js-slider-draggable embed,
    .c-horizontal-scroll.js-slider-draggable iframe,
    .c-horizontal-scroll.js-slider-draggable img,
    .c-horizontal-scroll.js-slider-draggable video {
      pointer-events: none;
    }

.c-horizontal-scroll.js-slider-draggable img::selection {
      background: none;
    }

.c-horizontal-scroll__inner {
  align-items: stretch;
  display: flex;
  flex-wrap: nowrap;
  margin-left: calc((1rem / 2) * -1);
  margin-left: calc((var(--gap-grid) / 2) * -1);
  margin-right: calc((1rem / 2) * -1);
  margin-right: calc((var(--gap-grid) / 2) * -1);
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: auto;
  overflow-y: hidden;
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  scrollbar-width: none;
  transition: all 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: all var(--transition);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid))
}

.c-horizontal-scroll__inner::-webkit-scrollbar {
    display: none;
  }

@supports (-webkit-overflow-scrolling: touch) {

.c-horizontal-scroll__inner {
    -webkit-overflow-scrolling: touch;
    overflow-x: scroll
}
  }

.c-horizontal-scroll__inner::after {
    /* This is needed for margin-right on last item */
    content: "";
    display: block;
    flex: 0 0 auto;
    margin-left: -1px;
    width: 1px;
  }

.c-horizontal-scroll__item {
  display: flex;
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 0;
  min-width: 12.5rem;
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);
  width: calc((100vw - ((1.5rem * 2) + 0.001px) + (1rem)) / var(--columns));
  width: calc((100vw - ((var(--gap-container) * 2) + var(--scrollbar-width)) + (var(--gap-grid))) / var(--columns)); /* stylelint-disable-line max-line-length */

  --column: 12;
  --columns: calc(12 / var(--column))
}

.c-horizontal-scroll__item:last-child {
    margin-right: 1.5rem;
    margin-right: var(--gap-container);
  }

/* =============================================================================
 # Icons                                                                      #
============================================================================= */

/**
 * Class used on svg icons. It is set by webpack automatically.
 * They can be modified with modifiers if that's needed.
 */

.c-icon {
  display: inline-block;
  fill: none;
  height: 1em;
  stroke: currentColor;

  /**
	 * Sometimes this is needed for icons to align:
	 * transform: translateY(-1px);
	 */
  vertical-align: top;
  width: 1em;

  /* Hide title on hover */
}

.c-icon path {
		fill: currentColor;
	}

.c-icon[title] {
    pointer-events: none;
  }

.c-logo {
  display: inline-flex;
  font-size: 1.7rem;
}

.c-logo .c-icon {
    fill: currentColor;
    width: auto;
  }

/* =============================================================================
 # Labels                                                                      #
============================================================================= */

/**
 * Labels are used to add a label to a section.
 * They can be used to add a label to a section.
 */

.c-label {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	line-height: 1.125;
	background-color: #fff;
	background-color: var(--color-white);
	border-radius: 2px;
	border-radius: var(--radius-small);
	color: #2d2d2c;
	color: var(--color-black);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	letter-spacing: 1px;
	padding-bottom: calc(calc(0.25rem * 2) * 0.75);
	padding-bottom: calc(var(--gap-micro) * 0.75);
	padding-left: calc(calc(0.25rem * 2) * 1.1);
	padding-left: calc(var(--gap-micro) * 1.1);
	padding-right: calc(calc(0.25rem * 2) * 1.1);
	padding-right: calc(var(--gap-micro) * 1.1);
	padding-top: calc(calc(0.25rem * 2) * 0.75);
	padding-top: calc(var(--gap-micro) * 0.75);
	text-transform: uppercase;
	width: -moz-fit-content;
	width: fit-content
}

@media ( min-width: 768px ) {

.c-label {

		padding-left: calc(calc(0.25rem * 1.5) * 1);
		padding-right: calc(calc(0.25rem * 1.5) * 1)
}
	}

/* =============================================================================
 # Simple Lightbox Component                                                 #
============================================================================= */

/**
 * Simple lightbox for desktop image viewing.
 * Only active on desktop breakpoint.
 */

/* Lightbox Base - Desktop Only */

@media (min-width: 768px) {
  .c-lightbox {
    background-color: #fff;
    background-color: var(--color-white);
    bottom: 0;
    display: none;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    visibility: hidden;
    z-index: 9999;
  }

  .c-lightbox.is-visible {
    opacity: 1;
    visibility: visible;
  }

  .c-lightbox__inner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    width: 100%;
  }

  /* Close Button */
  .c-lightbox__close {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    height: 3rem;
    position: absolute;
    right: 2rem;
    top: 2rem;
		transform: rotate(45deg);
    transition: opacity 0.2s ease;
    width: 3rem;
    z-index: 10;
  }

  .c-lightbox__close:hover {
    opacity: 0.7;
  }

  .c-lightbox__close svg {
    height: 1.5rem;
    width: 1.5rem;
  }

  /* Loading Spinner */
  .c-lightbox__loading {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 5;
  }

  .c-lightbox__loading.is-hidden {
    display: none;
  }

  .c-lightbox__spinner {
    animation: lightbox-spin 1s linear infinite;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-left: 2px solid #2d2d2c;
    border-left: 2px solid var(--color-text);
    border-radius: 50%;
    height: 3rem;
    width: 3rem;
  }

  @keyframes lightbox-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
  }

  /* Image Container */
  .c-lightbox__image-container {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
  }

  .c-lightbox__image {
    height: auto;
    max-height: calc(100vh);
    max-width: calc(100vw);
    object-fit: contain;
    width: auto
  }

		.c-lightbox__image:hover {
			cursor: url('zoom-out.svg') 13 13, auto;
		}
}

/* Hide on mobile */

@media (max-width: 767px) {
  .c-lightbox {
    display: none !important;
  }
}

/**
 * ============================================================================
 * Link                                                                       #
 * ============================================================================
 *
 * A component for links.
*/

.c-link {
  color: inherit;
  cursor: pointer;
	line-height: 1;
  position: relative;
  text-decoration: none
}

.c-link::after {
		background: currentColor;
		bottom: 0;
		bottom: -3px;
		color: #ab582b;
		color: var(--color-orange);
		content: "";
		height: 1px;
		left: 0;
		pointer-events: none;
		position: absolute;
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
		width: 100%;
	}

.c-link:hover::after,
	.c-link:focus::after {
		transform: scaleX(1);
		transform-origin: left;
	}

.localization-form {
  display: flex;
  flex: auto 1 0;
  flex-direction: column;
  width: 100%;
}

.localization-form:only-child {
  display: inline-flex;
  flex: initial;
  flex-wrap: wrap;
}

.localization-form:only-child .button,
.localization-form:only-child .localization-form__select {
  flex-grow: 1;
}

@media screen and (min-width: 750px) {
  .localization-form {

  }

  .localization-form:first-of-type {
    padding-left: 0;
  }

  .localization-form:only-child {

  }
}

.localization-form .button {
  padding: 1rem;
}

.localization-form__currency {
  opacity: 0;
  padding-right: 1.7rem;
  transition: opacity 0.15s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  white-space: nowrap;
}

@media screen and (max-width: 749px) {
  .localization-form .button {
    word-break: break-all;
  }

  .localization-form__currency {
    opacity: 1;
  }
}

.localization-form__select {
  border-radius: 0;
  border-radius: var(--radius);
  min-width: calc(7rem + 1px * 2);
  position: relative;
  text-align: left;
}

.disclosure__button.localization-form__select {
  /* padding: calc(2rem + 1px); */
}

.localization-form__select .icon-caret {
  content: '';
  height: 0.6rem;
  position: absolute;
  right: calc(1px + 1.5rem);
  top: calc(50% - 0.2rem);
}

.localization-selector.link {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  appearance: none;
  color: #fff;
  color: var(--color-text-light);
  text-decoration: none;
  width: 100%
}

@media screen and (min-width: 1444px) {

.localization-selector.link {
}

  }

.localization-selector option {
  color: #2d2d2c;
  color: var(--color-black);
}

.localization-selector + .disclosure__list-wrapper {
  animation: animateLocalization 0.3s ease;
  opacity: 1;
  width: 100%
}

@media screen and (min-width: 1444px) {

.localization-selector + .disclosure__list-wrapper {
    width: calc(100% - 4rem)
}
  }

.disclosure {
  position: relative;
  width: 100%;
}

.disclosure__button {
  cursor: pointer;
  display: flex;
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  justify-content: space-between;
  width: 100%;
}

.disclosure__icon {
  font-size: 0.6rem;
  margin-right: 0.5rem;
  margin-top: 0.1rem
}

@media screen and (min-width: 1444px) {

.disclosure__icon {
    margin-right: 4rem
}
  }

.disclosure__icon .c-icon {
    transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: transform var(--transition);
  }

[aria-expanded="true"] .disclosure__icon .c-icon {
    transform: rotate(180deg);
  }

.disclosure__list-wrapper {
  background-color: var(--color-red);
  border-color: #eaeaea;
  border-color: var(--color-border);
  border-radius: 0;
  border-radius: var(--radius);
  border-style: solid;
  border-width: 1px;
  bottom: 100%;
  max-height: 27.5rem;
  overflow: hidden;
  position: absolute;
  transform: translateY(-1rem);
  z-index: 2;
}

.disclosure__list {
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  max-height: 20.5rem;
  max-width: 100%;
  min-width: 12rem;
  overflow-y: auto;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  position: relative;
  scroll-padding: 0.5rem 0;
  width: max-content;
}

.country-selector__list {
  padding-bottom: 0.95rem;
  padding-top: 0;
  width: 100%;
}

.country-selector__list--with-multiple-currencies {
  width: 25.5rem;
}

.country-selector__close-button {
  display: none;
}

.country-filter {
  align-items: center;
  background-color: #fff;
  background-color: var(--color-white);
  display: flex;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  justify-content: end;
  padding: 1.5rem 1.5rem 0.6rem;
  position: sticky;
  top: -0.02rem;
  z-index: 6;
}

.country-filter__input {
  min-width: 200px;
}

.country-filter__reset-button,
.country-filter__search-icon {
  right: var(--inputs-border-width);
  top: var(--inputs-border-width);
}

.country-filter__reset-button:not(.focus-visible)::after,
.country-filter__reset-button:not(:focus)::after {
  content: '';
  display: block;
  height: calc(100% - 1.8rem);
  position: absolute;
  right: 0;
}

.country-filter__reset-button:not(:focus-visible)::after,
.country-filter__reset-button:not(:focus)::after {
  content: '';
  display: block;
  height: calc(100% - 1.8rem);
  position: absolute;
  right: 0;
}

.country-filter__reset-button:focus,
.country-filter__reset-button.focus-visible {
  background-color: #fff;
  background-color: var(--color-white);
  z-index: 4;
}

.country-filter__reset-button:focus,
.country-filter__reset-button:focus-visible {
  background-color: #fff;
  background-color: var(--color-white);
  z-index: 4;
}

.country-filter__reset-button:not(.focus-visible):not(.focused) {
  background-color: inherit;
  box-shadow: inherit;
}

.country-filter__reset-button:not(:focus-visible):not(.focused) {
  background-color: inherit;
  box-shadow: inherit;
}

.country-filter__reset-button:hover .icon {
  transform: scale(1.07);
}

.country-filter__reset-button .icon.icon-close,
.country-filter__search-icon .icon {
  height: 1.8rem;
  stroke-width: 0.1rem;
  width: 1.8rem;
}

.country-filter__search-icon {
  cursor: text;
  opacity: 1;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  visibility: visible;
}

.country-filter__search-icon--hidden {
  opacity: 0;
  visibility: hidden;
}

@media screen and (min-width: 750px) {
  .country-filter--no-padding {
    padding: 0;
  }
}

.countries {
  padding-top: 0.6rem;
}

.popular-countries {
  padding-bottom: 0.6rem;
  padding-top: 0.6rem;
}

.disclosure__item {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  color: #fff;

  color: var(--color-text-light);
  position: relative;
}

.disclosure__link {
  display: -ms-grid;
  display: grid;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  -ms-grid-columns: auto 1fr auto;
  grid-template-columns: auto 1fr auto;
  padding: 0.5rem 1.5rem;
  text-decoration: none;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition);
  word-break: break-word
}

.disclosure__link:hover,
  .disclosure__link:focus {
    opacity: 0.5;
    text-decoration: none;
  }

.disclosure__link .icon-checkmark {
  margin-right: 0.2rem;
  width: 1rem;
}

.disclosure__link:hover .localization-form__currency,
.disclosure__link.focus-visible .localization-form__currency,
.disclosure__link:focus .localization-form__currency {
  display: inline-block;
  opacity: 1;
}

.disclosure__link:hover .localization-form__currency,
.disclosure__link:focus-visible .localization-form__currency,
.disclosure__link:focus .localization-form__currency {
  display: inline-block;
  opacity: 1;
}

.disclosure__button[aria-expanded='true'] .icon-caret {
  transform: rotate(180deg);
}

/* Header localization */

.header-localization .localization-form:only-child {
  margin: 0;
  padding: 0;
}

.header-localization .disclosure .localization-form__select {
  background: transparent;
  font-size: 1.4rem;
  height: auto;
  letter-spacing: 0.06rem;
  min-height: 0;
  min-height: initial;
}

.header-localization .disclosure .localization-form__select:hover {
  text-decoration: underline;
}

.header-localization .localization-form__select.link::after,
.header-localization .localization-form__select.link::before {
  box-shadow: none;
}

.header-localization .localization-form__select.link.focus-visible {
  outline-offset: -0.2rem;
}

.header-localization .localization-form__select.link:focus-visible {
  outline-offset: -0.2rem;
}

/* Header icons (desktop) */

.desktop-localization-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.desktop-localization-wrapper .localization-selector + .disclosure__list-wrapper {
  animation: animateMenuOpen 0.3s ease;
}

.desktop-localization-wrapper .localization-form:only-child {
  padding: 0;
}

.header-localization:not(.menu-drawer__localization) {
  align-items: center;
}

.js .header-localization:not(.menu-drawer__localization) .localization-form__select {
  height: 3.8rem;
  padding: 0 2.7rem 0 1.2rem;
  width: max-content;
}

.header-localization:not(.menu-drawer__localization) .localization-form:only-child .localization-form__select {
  margin: 0;
}

.header-localization:not(.menu-drawer__localization).localization-form__select > span {
  max-width: 20ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.header-localization:not(.menu-drawer__localization) localization-form:only-child .localization-form__select > span {
  max-width: 26ch;
}

.header-localization:not(.menu-drawer__localization) .localization-form__select .icon-caret {
  right: 0.8rem;
}

.header-localization:not(.menu-drawer__localization) .disclosure__list-wrapper {
  bottom: auto;
  bottom: initial;
  right: 0;
  top: 100%;
  transform: translateY(0);
}

/* Menu drawer */

@media screen and (min-width: 990px) {
  .menu-drawer__localization {
    display: none;
  }
}

.menu-drawer__localization localization-form {
  display: block;
}

.menu-drawer__localization .localization-form__select {
  background-color: transparent;
  background-color: initial;
  margin-top: 0;
  padding: 1rem 3.6rem 1rem 0;
}

.menu-drawer__localization .localization-form {
  padding: 0;
}

.menu-drawer__localization .localization-form:only-child .localization-form__select {
  margin: 0;
}

.menu-drawer__localization + .list-social {
  margin-top: 1rem;
}

.language-selector .disclosure__list {
  min-width: 200px;
}

/* =============================================================================
 # Mega-menu (mobile)                                                                 #
============================================================================= */

/**
 * A component for mega-menu (mobile)
 */

.c-mega-menu-mobile__item-button {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: center;
	padding-bottom: calc(0.25rem * 3);
	padding-top: calc(0.25rem * 3);
	width: 100%;
}

.c-mega-menu-mobile__item--second:first-of-type {
		border-top: 1px solid #eaeaea;
		border-top: 1px solid var(--color-border);
	}

.c-mega-menu-mobile__item {
	border-bottom: 1px solid #eaeaea;
	border-bottom: 1px solid var(--color-border);
}

.c-mega-menu-mobile__item-icon {
	font-size: 0.85rem;
	margin-left: auto;
	margin-right: calc(calc(0.25rem * 8) * 0.75);
	margin-right: calc(var(--gap) * 0.75);
	transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
	transition: transform var(--transition);
}

.c-mega-menu-mobile__item-icon svg {
    height: 1em;
		width: 1em;
	}

.c-mega-menu-mobile__item-image-container {
	border-radius: 50%;
	height: 4rem;
	margin-right: calc(0.25rem * 4);
	margin-right: var(--gap-tiny);
	overflow: hidden;
	width: 4rem;
}

.c-mega-menu-mobile__item-image-container img {
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

.c-mega-menu-mobile__item-text {
	color: #2d2d2c;
	color: var(--color-black);
	font-size: calc((14.3 / 16) * 1rem);
	font-size: var(--font-size-tiny);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	letter-spacing: 0.075em;
	text-transform: uppercase
}

.c-mega-menu-mobile__item-text:hover,
	.c-mega-menu-mobile__item-text:focus {
		text-decoration: none;
	}

.c-modal__menu {
	padding-left: 1.5rem;
	padding-left: var(--gap-container);
}

.c-mega-menu-mobile--footer-item {
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
}

/* Modal Step Transitions */

.js-modal-step-1,
.js-modal-step-2,
.js-modal-step-3 {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 100%;
}

/* Step 1 - Main menu */

.js-modal-step-1 {
  transform: translateX(0);
}

.js-modal-step-1.slide-out-left {
  transform: translateX(-100%);
}

/* Step 2 - Second level */

.js-modal-step-2 {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s ease, visibility 0.3s ease;
  visibility: hidden;
}

.js-modal-step-2.slide-in {
  opacity: 1;
  transform: translateX(0);
  visibility: visible;
}

.js-modal-step-2.slide-out-right {
  opacity: 0;
  transform: translateX(100%);
  visibility: hidden;
}

.js-modal-step-2.slide-out-left {
  opacity: 0;
  transform: translateX(-100%);
  visibility: hidden;
}

/* Step 3 - Third level */

.js-modal-step-3 {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transform: translateX(100%);
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.3s ease, visibility 0.3s ease;
  visibility: hidden;
}

.js-modal-step-3.slide-in {
  opacity: 1;
  transform: translateX(0);
  visibility: visible;
}

.js-modal-step-3.slide-out-right {
  opacity: 0;
  transform: translateX(100%);
  visibility: hidden;
}

/* Hide all second-step blocks by default */

.js-modal-step-2-block {
  display: none;
}

/* Show only the active one as a flex column */

.js-modal-step-2-block.is-visible {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Hide all third-step blocks by default */

.js-modal-step-3-block {
  display: block;
}

.js-modal-step-3-block.is-visible {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.c-mega-menu-second__menu {
  display: flex;
  flex-direction: column;
  margin-bottom: calc(0.25rem * 4);
  margin-bottom: var(--gap-tiny);

}

.c-mega-menu-second__link {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-size: calc((26 / 16) * 1rem);
	font-size: var(--font-size-large);
	line-height: var(--line-height-large);
  color: #2d2d2c;
  color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
  text-decoration: none;
}

.c-mega-menu-second__link--tag {
	justify-content: flex-start;
}

.c-mega-menu-second__link--plain {
	line-height: 1rem;
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

.c-mega-menu-third__parent-title {
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

/* =============================================================================
 # Mega-menu                                                                 #
============================================================================= */

/**
 * A component for mega-menu
 */

.c-mega-menu {
  background-color: #fff;
  background-color: var(--color-white);
	border: 1px solid #eaeaea;
	border: 1px solid var(--color-border);
  color: #2d2d2c;
  color: var(--color-black);
  left: 0;
  min-height: 200px;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: calc(100% - 1px);
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), visibility 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition), visibility var(--transition);
  visibility: hidden;
  z-index: 1000
}

.c-mega-menu.is-visible {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

.c-mega-menu a:hover,
		.c-mega-menu a:focus {
			text-decoration: none;
		}

.c-menu-mega-menu--link.has-dropdown .c-mega-menu.is-visible {
			opacity: 1;
			pointer-events: auto;
			visibility: visible;
		}

.c-mega-menu__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	max-width: var(--l-max-width-full);
	padding-left: 1.5rem;
	padding-left: var(--gap-container);
	padding-right: 1.5rem;
	padding-right: var(--gap-container);
	width: 100%;
  padding-bottom: 2rem;
  padding-top: 2rem;
}

/* Main links (first level to the left) */

.c-mega-menu__item-main:not(:last-child) {
		margin-bottom: calc(0.25rem * 4);
		margin-bottom: var(--gap-tiny);
	}

.c-mega-menu__item-main-link {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading)
}

.c-mega-menu__item-main-link:hover {
		text-decoration: none;
	}

.c-mega-menu__grid {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(1rem / 2 * -1);
	margin-left: calc(var(--gap-grid) / 2 * -1);
	margin-right: calc(1rem / 2 * -1);
	margin-right: calc(var(--gap-grid) / 2 * -1);
	width: calc(100% + 1rem);
	width: calc(100% + var(--gap-grid));
}

.c-mega-menu__column {
	column-count: 4;
  grid-column-gap: 3rem;
  column-gap: 3rem;
}

.c-mega-menu__column-item {
	break-inside: avoid-column;
	margin-bottom: calc(0.25rem * 6);
	margin-bottom: var(--gap-small);
}

.c-mega-menu__column--main {
	flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 8 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	height: 100%;
}

.c-mega-menu__column--secondary {
	flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 6 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	height: 100%;
}

.c-mega-menu__column--image {
	flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 4 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	display: flex;
	height: 100%;
	justify-content: flex-end;
}

.c-mega-menu__column--image .c-mega-menu__image {
		width: 85%;
	}

.c-mega-menu__column--image .c-mega-menu__image-image {
		aspect-ratio: 1/1;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

.c-mega-menu__column--secondary .c-mega-menu__list {
	column-count: auto;
	column-fill: balance;
	grid-column-gap: 2rem;
	column-gap: 2rem;
	column-width: 200px;
	height: 100%;
}

.c-mega-menu__column--secondary .c-mega-menu__item-secondary,
.c-mega-menu__column--secondary .c-mega-menu__item-secondary-child {
	page-break-inside: avoid;
	break-inside: avoid;
}

.c-mega-menu__item-secondary-link {
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.c-mega-menu__item-secondary {
	margin-bottom: calc(0.25rem * 4);
	margin-bottom: var(--gap-tiny);
}

.c-mega-menu__item-secondary-child {
	margin-bottom: calc(0.25rem * 4);
	margin-bottom: var(--gap-tiny);
}

.c-mega-menu__list--secondary-child {
	margin-bottom: calc(0.25rem * 4);
	margin-bottom: var(--gap-tiny);
}

.js-modal-step-3-block { display: none; }

.js-modal-step-3-block.is-visible { display: flex; }

.c-mega-menu-second__image-container {
	margin-left: calc(calc(0.25rem * 6) * -1);
	margin-left: calc(var(--gap-small) * -1);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
}

.c-mega-menu-second__image-container img {
		max-height: 9.75rem;
		object-fit: cover;
		object-position: center;
		width: 100%;
	}

.c-mega-menu-mobile__header-back svg {
		fill: #2d2d2c;
		fill: var(--color-black);
		height: 1.5rem;
		width: 1.5rem;
	}

.c-mega-menu-mobile__header-title {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((14.3 / 16) * 1rem);
	font-size: var(--font-size-tiny);
	line-height: var(--line-height-tiny);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
}

/* =============================================================================
 # Menu Footer                                                                 #
============================================================================= */

/**
 * A component for menu footer
 */

.c-menu-footer {
  display: flex;
  flex-direction: column;
  padding-top: calc(0.25rem * 2);
  padding-top: var(--gap-micro);
  width: max-content
}

@media ( min-width: 992px ) {

.c-menu-footer {
    flex-wrap: wrap
}
  }

.c-menu-footer__inner {
  display: flex;
  flex-direction: column;
}

.c-menu-footer__item-link {
  align-items: center;
  display: flex;
  position: relative
}

.c-menu-footer__item-link:hover,
  .c-menu-footer__item-link:focus {
    text-decoration: none
  }

@media ( min-width: 768px ) {

.c-menu-footer__item-link:hover,
  .c-menu-footer__item-link:focus {
      text-decoration: none;
  }

      .c-menu-footer__item-link:hover .c-menu-footer__item-icon, .c-menu-footer__item-link:focus .c-menu-footer__item-icon {
        opacity: 1;
        transition: opacity 0.2s linear;
      }
    }

.c-menu-footer__item {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  align-items: center;
  color: #fff;
  color: var(--color-white);
  display: flex;
  line-height: calc(0.25rem * 6);
  line-height: var(--line-height-small);
  padding-right: calc(0.25rem * 4);
  padding-right: var(--gap-tiny)
}

.c-menu-footer__item:last-of-type {
    padding-right: 0;
  }

@media ( min-width: 992px ) {

.c-menu-footer__item {
    flex-basis: 100%;
    padding-right: 0
}
  }

.c-menu-footer__item-icon {
  color: #fff;
  color: var(--color-white);
  display: flex;
  font-size: 0.5rem;
  margin-left: 0.75rem;
  opacity: 0;
  right: -1rem;
  top: 0.35rem;
  transition: opacity 0.2s linear;
}

.c-menu-footer__item-icon .c-icon {
    transform: rotate(90deg);
  }

/* =============================================================================
 # Menu Mobile                                                                #
============================================================================= */

/**
 * A component for menu mobile
 */

.c-menu-mobile__item {
  padding-bottom: var(--gap-tiny);
}

.c-menu-mobile__item:last-child {
    padding-bottom: 0;
  }

.c-menu-mobile__item a:hover,
    .c-menu-mobile__item a:focus {
      text-decoration: none;
    }

.c-menu-button--menu {
  font-size: 1.2rem;
}

/* =============================================================================
 # Menu                                                                       #
============================================================================= */

/**
 * A component for menu
 */

.c-menu {
  display: none
}

@media ( min-width: 768px ) {

.c-menu {
    color: inherit;
    display: flex;
    flex-wrap: wrap
}
  }

.c-menu__item {
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
	letter-spacing: 0.075em;
  padding-right: calc(0.25rem * 5)
}

.c-menu__item.has-dropdown .c-menu__dropdown.is-visible {
      opacity: 1;
      pointer-events: all;
      visibility: visible;
    }

.c-menu__item:last-of-type {
    padding-right: 0;
  }

.c-menu__item-link {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);
  align-items: center;
	border-bottom: 1px solid transparent;
	color: currentColor;
  display: flex;
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: calc(var(--baseline-unit) * 6);
  padding-top: calc(0.25rem * 6);
  padding-top: calc(var(--baseline-unit) * 6);
  position: relative;
  text-decoration: none;
	text-transform: uppercase;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), border-bottom-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition), border-bottom-color var(--transition);
	white-space: nowrap;
  z-index: 1001
}

@media ( min-width: 768px ) {

.c-menu__item-link {
    opacity: 1;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), border-bottom-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition), border-bottom-color var(--transition)
}

    .c-menu__item-link:hover,
    .c-menu__item-link:focus {
			border-bottom: 1px solid #2d2d2c;
			border-bottom: 1px solid var(--color-black);
      text-decoration: none;
    }
  }

.has-dropdown .c-menu__item-link:hover {
      text-decoration: none;
    }

.c-menu__item-link.is-active {
		border-bottom-color: #ab582b;
		border-bottom-color: var(--color-orange);
	}

.c-menu__item-icon {
  align-items: center;
  display: flex;
  font-size: 0.5rem;
  margin-left: calc(0.25rem * 2);
  margin-left: var(--gap-micro);
  transform: rotate(180deg);
  transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: transform var(--transition);
}

.is-active .c-menu__item-icon {
    transform: rotate(0deg);
  }

.c-menu__dropdown {
  opacity: 0;
  pointer-events: none;
  transition: 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: var(--transition);
  visibility: hidden;
}

/* =============================================================================
 # Mobile Menu Selectors                                                      #
============================================================================= */

/**
 * Mobile-specific styles for currency and language selectors in the modal menu
 */

.c-mobile-menu-selectors {
  padding-top: calc(0.25rem * 6);
  padding-top: var(--gap-small);
}

.c-mobile-menu-selectors__inner {
	align-items: center;
  display: flex;
  grid-gap: calc(0.25rem * 2);
  gap: calc(0.25rem * 2);
  justify-content: flex-start;
}

/* Override announcement bar selector styles for mobile menu context */

.c-mobile-menu-selectors .c-announcement-bar-selector {
  position: relative;
}

.c-mobile-menu-selectors .c-announcement-bar-selector__button {
  background: #fff;
  background: var(--color-white);
  border: 1px solid #eaeaea;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  padding: 0.5rem 0.75rem;
  position: relative;
  width: 100%;
}

.c-mobile-menu-selectors .c-announcement-bar-selector__current {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-mobile-menu-selectors .c-announcement-bar-selector__icon {
  font-size: 0.5rem;
}

.c-mobile-menu-selectors .c-announcement-bar-selector__dropdown {
  background: #fff;
  background: var(--color-white);
  left: 0;
  margin-left: 0;
  margin-top: 0.25rem;
  max-height: 200px;
  min-width: 120px;
  overflow-y: auto;
  position: absolute;
  top: 100%;
  width: 100%;
  z-index: 1000
}

.c-mobile-menu-selectors .c-announcement-bar-selector__dropdown.is-open {
    display: block;
  }

/* Override announcement bar hide on scroll */

.has-scrolled .c-mobile-menu-selectors .c-announcement-bar-selector__dropdown {
    display: block;
  }

.c-mobile-menu-selectors .c-announcement-bar-selector__dropdown-item {
  border-bottom: 1px solid #f3f2ef;
  border-bottom: 1px solid var(--color-background);
  color: #2d2d2c;
  color: var(--color-text);
  display: block;
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  padding: 0.5rem 0.75rem;
  text-decoration: none;
  transition: background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: background-color var(--transition);
  white-space: nowrap
}

.c-mobile-menu-selectors .c-announcement-bar-selector__dropdown-item:last-child {
    border-bottom: none;
  }

.c-mobile-menu-selectors .c-announcement-bar-selector__dropdown-item:hover {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    text-decoration: none;
  }

.c-mobile-menu-selectors .c-announcement-bar-selector__dropdown-item.is-active {
    background-color: #e7ebea;
    background-color: var(--color-background-gray);
    font-weight: 500;
    font-weight: var(--font-weight-bold);
  }

/* Hide currency selector if only one currency available */

.c-mobile-menu-selectors .c-announcement-bar-selector--hidden {
  display: none !important;
}

/* =============================================================================
 # Modal Button                                                               #
============================================================================= */

/**
 * A component for modal button
 * Uses currentColor to inherit text color from parent
 */

/* Component-specific variables */

:root {
  --c-modal-button-text: currentColor;
}

.c-modal-button {
  color: currentColor;
  color: var(--c-modal-button-text)
}

@media ( min-width: 768px ) {

.c-modal-button {
    /* display: none; */
}
  }

.c-modal-button[data-target="#nav-modal"] .c-modal-button__icon {
      font-size: 1.3rem;
    }

.c-modal-button[data-target="#nav-modal"] .c-modal-button__icon path {
				fill: currenColor;
			}

.c-modal-button[data-target="#filter-modal"] {
    align-items: center;
    display: flex;
    line-height: 1rem;
    margin-left: 0;
  }

.c-modal-button[data-target="#filter-modal"] .c-modal-button__icon {
      display: flex;
      font-size: 0.6rem;
    }

.c-modal-button[data-target="#filter-modal"] .c-modal-button__label {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((12 / 16) * 1rem);
      font-size: var(--font-size-micro);
      line-height: var(--line-height-micro);
      display: block;
			margin-left: calc(0.25rem * 2);
			margin-left: var(--gap-micro);
			text-transform: uppercase;
    }

@media ( min-width: 992px ) {

.c-modal-button--menu {
    display: none
}
  }

@media ( min-width: 992px ) {

.c-modal-button--search {
    align-items: center;
    display: flex
}
  }

.c-modal-button--search .c-modal-button__icon {
    font-size: 1.3rem;
  }

.c-modal-button--search .c-modal-button__icon .c-icon {
			fill: #fff;
		}

.c-modal-button--search .c-modal-button__icon .c-icon path {
				fill: currentColor;
			}

.c-modal-button--search .c-modal-button__label {
    display: none;
    padding-left: calc(0.25rem * 4);
    padding-left: var(--gap-tiny)
  }

@media ( min-width: 992px ) {

  .c-modal-button--search .c-modal-button__label {
      display: none
  }
    }

.c-modal-button--gauge {
    align-items: center;
    background-color: #fff;
    background-color: var(--color-white);
    border: none;
    border-radius: 100%;
		display: inline-flex;
    font-size: 11px;
    font-style: normal;
		font-weight: 500;
		font-weight: var(--font-weight-bold);
		height: 20px;
		justify-content: center;
		line-height: 22px;
    margin: 0 1em 0 0.5em;
    padding: 0;
		text-align: center;
		vertical-align: middle;
    width: 20px;
}

.c-modal--search .c-modal-button--search .c-modal-button__label {
      align-items: center;
      display: none;
    }

.c-modal-button--size-guide {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	line-height: var(--line-height-micro);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	text-decoration: underline;
}

/* =============================================================================
 # Modal Cart Component                                                          #
============================================================================= */

/**
 * Cart-specific modal styling that extends the base modal component.
 *
 * This file contains only cart-specific styles. Base modal functionality
 * is handled by modal.css.
 */

/* Cart Modal Variables
============================================================================= */

:root {
  --c-modal-cart-bg: var(--color-white);
  --c-modal-cart-text: var(--color-text);
  --c-modal-cart-border: var(--color-border);
  --c-modal-cart-image-bg: var(--color-background);
}

.c-modal--cart[class] {
  /* Inherit colors from parent modal */
  --color-background: var(--c-modal-cart-bg);
  --color-text: var(--c-modal-cart-text)

  /* Cart-specific responsive behavior */
}

@media ( min-width: 768px ) {

.c-modal--cart[class] {
    bottom: 0;
    left: auto;
    right: 0;
    width: 33rem
}
  }

.c-modal--cart[class].is-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

.c-modal--cart[class] {

  /* Cart-specific animations */
}

.c-modal--cart[class].is-animating-in {
    animation-name: animate-in-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--cart[class].is-animating-in {
      animation-name: animate-in-modal-desktop
  }
    }

.c-modal--cart[class].is-animating-out {
    animation-delay: 0s;
    animation-name: animate-out-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--cart[class].is-animating-out {
      animation-name: animate-out-modal-desktop
  }
    }

/* Cart-specific layout adjustments */

@media ( min-width: 768px ) {
  .c-modal--cart[class] .c-modal__inner {
      bottom: 0;
      left: auto;
      right: 0;
      top: 0;
      width: 100%
  }
    }

.c-modal--cart[class] .c-modal__main {
    padding-top: 0
  }

.c-modal--cart[class] .c-modal__main.is-empty {
      display: flex;
      flex-direction: column;
      height: 100%;
      justify-content: space-between;
    }

.c-modal--cart[class] .c-modal__body {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    height: 100%;
    width: 100%;
  }

.c-modal--cart[class] .c-modal__container {
    overflow: scroll;
  }

.c-modal--cart[class] .c-modal__content-header {
		margin-bottom: 0;
	}

.c-modal--cart[class] .c-modal__content {
		padding-top: 0;
	}

.c-modal--cart[class] .c-modal__header {
    padding-left: 0;
    padding-right: 0;
  }

@media ( min-width: 768px ) {

  .c-modal--cart[class] .c-modal__header-logo {
      display: none
  }
    }

.c-modal--cart[class] .c-modal__header-actions {
    align-items: center;
    display: flex;
		justify-content: space-between;
		width: 100%
  }

@media ( min-width: 768px ) {

  .c-modal--cart[class] .c-modal__header-actions {
  }
    }

/* Cart Items
============================================================================= */

.c-modal__cart {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.c-cart-item__content {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  padding-left: calc(calc(0.25rem * 8) * 0.375);
  padding-left: calc(var(--gap) * 0.375);
  width: 70%;
}

.c-cart-item__image {
  aspect-ratio: 16 / 9;
  position: relative;
	aspect-ratio: 35 / 48;
}

@supports not (aspect-ratio: 1 / 1) {

.c-cart-item__image {
    height: 0;
    overflow: hidden;
    padding-top: calc((9 / 16) * 100%);
}
  }

@supports not (aspect-ratio: 1 / 1) {

.c-cart-item__image {
    padding-top: calc((48 / 35) * 100%);
}
  }

.c-cart-item__image embed,
  .c-cart-item__image iframe,
  .c-cart-item__image img,
  .c-cart-item__image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.c-cart-item__image {

  background-color: #f3f2ef;

  background-color: var(--c-modal-cart-image-bg);
  border-radius: 8px;
  border-radius: var(--radius-medium);
}

.c-cart-item__figure {
  width: 30%;
}

/* Cart Footer
============================================================================= */

.c-cart__footer {
  background-color: #f3f2ef;
  background-color: var(--color-background);
  border-top: 1px solid #eaeaea;
  border-top: 1px solid var(--c-modal-cart-border);
  bottom: 0;
  margin-top: calc(0.25rem * 8);
  margin-top: var(--gap);
  padding: calc(0.25rem * 6) calc(0.25rem * 4);
  padding: var(--gap-small) var(--gap-tiny);
  position: sticky;
}

.c-cart-footer__item {
  display: flex;
  justify-content: space-between;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny)
}

.c-cart-footer__item:last-child {
    padding-bottom: 0;
  }

.c-cart-footer__item-title,
.c-cart-footer__item-value--subtotal {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.c-cart-footer__item-value--shipping {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
}

.c-cart-footer__button {
  padding-top: calc(calc(0.25rem * 8) * 0.875);
  padding-top: calc(var(--gap) * 0.875);
}

.c-cart-footer__button .c-button,
  .c-cart-footer__button .c-button__label {
    width: 100%;
  }

/* Cart Header Elements
============================================================================= */

.c-modal__bag {
  align-items: center;
  display: flex;
}

.c-modal__bag-icon.icon--fill .c-icon {
      fill: currentColor;
    }

.c-modal__bag-label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: 1;
}

@media ( min-width: 768px ) {

.c-modal__logo--cart {
    display: none
}
  }

.c-modal__menu-button--cart {
  margin-left: auto;
}

.c-modal__menu-button--cart .c-menu-button {
    background-color: transparent;
  }

.c-modal__menu-button--cart .c-menu-button .c-icon {
			stroke: currentColor;
		}

@media ( min-width: 768px ) {

  .c-modal__menu-button--cart .c-menu-button {
      padding-left: calc(0.25rem * 6);
      padding-left: var(--gap-small)
  }
    }

/* Empty Cart State
============================================================================= */

.c-cart__empty {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(0.25rem * 16);
  padding: var(--gap-large);
  text-align: center;
}

.c-cart__empty-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  margin-bottom: calc(0.25rem * 8);
  margin-bottom: var(--gap-medium);
}

.c-cart__empty-actions {
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.c-cart__empty-actions .c-button {
    width: 100%;
  }

/* =============================================================================
 # Modal Filter Component                                                        #
============================================================================= */

/**
 * Filter-specific modal styling that extends the base modal component.
 *
 * This file contains only filter-specific styles. Base modal functionality
 * is handled by modal.css.
 */

/* Filter Modal Variables
============================================================================= */

:root {
  --c-modal-filter-bg: var(--color-background);
  --c-modal-filter-text: var(--color-text);
  --c-modal-filter-border: var(--color-border);
  --c-modal-filter-image-bg: var(--color-secondary);
}

/* Filter Modal Layout
============================================================================= */

.c-modal--filter[class] {
  /* Inherit colors from parent modal */
  --color-background: var(--c-modal-filter-bg);
  --color-text: var(--c-modal-filter-text);
	left: 1.5rem
}

@media ( min-width: 768px ) {

.c-modal--filter[class] {
    bottom: 0;
    left: auto;
    right: 0;
    width: 33rem
}
  }

.c-modal--filter[class] .is-hidden {
    display: none;
  }

.c-modal--filter[class].is-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

.c-modal--filter[class] {

  /* Filter-specific animations */
}

.c-modal--filter[class].is-animating-in {
    animation-name: animate-in-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--filter[class].is-animating-in {
      animation-name: animate-in-modal-desktop
  }
    }

.c-modal--filter[class].is-animating-out {
    animation-delay: 0s;
    animation-name: animate-out-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--filter[class].is-animating-out {
      animation-name: animate-out-modal-desktop
  }
    }

/* Filter-specific layout adjustments */

@media ( min-width: 768px ) {
  .c-modal--filter[class] .c-modal__inner {
      bottom: 0;
      left: auto;
      right: 0;
      width: 100%
  }
    }

.c-modal--filter[class] .c-modal__main {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding-left: 1.5rem;
    padding-left: var(--gap-container);
    padding-right: 1.5rem;
    padding-right: var(--gap-container);
    padding-top: 0
  }

.c-modal--filter[class] .c-modal__main.is-empty {
      justify-content: space-between;
    }

.c-modal--filter[class] .c-modal__body {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    height: 100%;
    width: 100%;
  }

.c-modal--filter[class] .c-modal__container {
    overflow: scroll;
  }

.c-modal--filter[class] .c-modal__header {
    padding-left: 0;
    padding-right: 0
  }

@media ( min-width: 768px ) {

  .c-modal--filter[class] .c-modal__header {
      justify-content: space-between
  }
    }

.c-modal--filter[class] .c-modal__content {
		padding-top: 0;
	}

@media ( min-width: 768px ) {

  .c-modal--filter[class] .c-modal__header-actions {
      width: auto
  }
    }

.c-modal--filter[class] .c-modal__footer {
    border: none;
    padding: 0;
  }

.c-modal--filter[class] .c-modal__header-title {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((18.5 / 16) * 1rem);
		font-size: var(--font-size-smallx);
		line-height: var(--line-height-xmedium);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
	}

.c-modal--filter[class] .c-modal__accordion .c-accordion__title {
			background-color: #f3f2ef;
			background-color: var(--c-modal-filter-bg);
		}

.c-modal--filter[class] .c-modal__accordion .c-accordion__title-icon {
			font-size: 0.8rem;
			margin-left: auto;
			transform: rotate(-90deg);
		}

.c-modal--filter[class] .c-modal__accordion .c-accordion__title-icon svg {
				height: 1em;
				width: 1em;
			}

.c-modal--filter[class] .c-modal__accordion .c-accordion__item[data-state='expanded'] .c-accordion__title-icon {
  		transform: rotate(90deg);
		}

.c-modal--filter[class] .c-modal__accordion .c-accordion__content {
			background-color: #f3f2ef;
			background-color: var(--c-modal-filter-bg);
			padding-left: 0;
			padding-right: 0;
		}

.c-modal--filter[class] .c-modal__accordion .c-accordion .c-accordion__item {
				border-bottom: none;
			}

.c-modal--filter[class] .c-modal__accordion:first-of-type .c-accordion__item {
				border-top: none;
			}

.c-modal--filter[class] .c-modal__accordion:last-of-type .c-accordion__item {
				border-bottom: 1px solid #d5d5d5;
				border-bottom: 1px solid var(--accordion-border-color);
			}

/* Filter Footer
============================================================================= */

.c-modal__footer--filter {
  background-color: #f3f2ef;
  background-color: var(--color-background);
  bottom: 0;
  position: sticky;
	z-index: 3;
}

/* Filter Actions
============================================================================= */

.c-modal__filter-actions {
  display: flex
}

@media ( max-width: 768px ) {

.c-modal__filter-actions {
    flex-direction: column
}
  }

.c-modal-content__reset {
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap);
}

.c-modal__filter-reset {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	color: #2d2d2c;
	color: var(--color-primary);
  justify-content: center;
	text-decoration: underline
}

.c-modal__filter-reset:hover,
	.c-modal__filter-reset:active {
		text-decoration: none;
	}

.c-modal__filter-apply {
  display: flex;
  flex: 1;
  justify-content: center;

}

/* Filter Content
============================================================================= */

.c-modal__filter {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.c-modal__filter-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
}

/* Filter Items
============================================================================= */

.c-filter-item__figure {
  width: 30%;
}

.c-filter-item__content {
  display: flex;
  flex-direction: column;
  padding-left: calc(calc(0.25rem * 8) * 0.375);
  padding-left: calc(var(--gap) * 0.375);
  width: 70%;
}

.c-filter-item__image {
  aspect-ratio: 16 / 9;
  position: relative;
  aspect-ratio: 115 / 135;
}

@supports not (aspect-ratio: 1 / 1) {

.c-filter-item__image {
    height: 0;
    overflow: hidden;
    padding-top: calc((9 / 16) * 100%);
}
  }

@supports not (aspect-ratio: 1 / 1) {

.c-filter-item__image {
    padding-top: calc((135 / 115) * 100%);
}
  }

.c-filter-item__image embed,
  .c-filter-item__image iframe,
  .c-filter-item__image img,
  .c-filter-item__image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.c-filter-item__image {

  background-color: #eaeaea;

  background-color: var(--c-modal-filter-image-bg);
  border-radius: 8px;
  border-radius: var(--radius-medium);
}

/* Filter List Styling
============================================================================= */

.c-filter-list__color-display {
  align-items: center;
  border: 1px solid #eaeaea;
  border: 1px solid var(--c-modal-filter-border);
  border-radius: 50%;
  display: flex;
  height: 25px;
  justify-content: center;
  width: 25px;
}

/* Filter List Tiles (All Types) */

.c-filter-list {
  display: flex;
	flex-wrap: wrap;
  grid-gap: calc(0.25rem * 2);
  gap: calc(0.25rem * 2);
  grid-gap: var(--gap-micro);
  gap: var(--gap-micro);
}

.c-filter-list .c-filter-list__item {
  margin: 0;
}

.c-filter-list .c-filter-list__label {
  align-items: center;
  background-color: #fff;
  background-color: var(--color-white);
  border: 1px solid #eaeaea;
  border: 1px solid var(--c-modal-filter-border);
  border-radius: 2px;
  border-radius: var(--radius-small);
  cursor: pointer;
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding-bottom: calc(0.25rem * 2);
  padding-bottom: var(--gap-micro);
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro);
  padding-right: calc(0.25rem * 2);
  padding-right: var(--gap-micro);
  padding-top: calc(0.25rem * 2);
  padding-top: var(--gap-micro);
  position: relative;
  text-align: center;
  transition: all 0.1s ease;
}

.c-filter-list .c-filter-list__label:hover {
  border-color: #2d2d2c;
  border-color: var(--color-primary);
}

.c-filter-list .c-filter-list__input {
  cursor: pointer;
  height: 100%;
  margin: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
}

/* Checked state styling */

.c-filter-list .c-filter-list__label.is-checked,
.c-filter-list .c-filter-list__label[\:has\(.c-filter-list__input\:checked\)] {
  background-color: #2d2d2c;
  background-color: var(--color-primary);
  border-color: #2d2d2c;
  border-color: var(--color-primary);
  color: #fff;
  color: var(--color-white);
}

.c-filter-list .c-filter-list__label.is-checked,
.c-filter-list .c-filter-list__label:has(.c-filter-list__input:checked) {
  background-color: #2d2d2c;
  background-color: var(--color-primary);
  border-color: #2d2d2c;
  border-color: var(--color-primary);
  color: #fff;
  color: var(--color-white);
}

.c-filter-list .c-filter-list__label-text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}

/* Hide visual displays (color circles, images) for all filter types */

.c-filter-list .c-filter-list__display {
  display: none;
}

/* Show color displays specifically for color tag filters */

.c-filter-list .c-filter-list__display[\:has\(.c-filter-list__color-display\)] {
  display: flex;
  margin-right: calc(0.25rem * 4);
  margin-right: var(--gap-tiny);
}

.c-filter-list .c-filter-list__display:has(.c-filter-list__color-display) {
  display: flex;
  margin-right: calc(0.25rem * 4);
  margin-right: var(--gap-tiny);
}

/* Force show color displays in custom color tag filter */

.c-color-tag-filter-input ~ .c-filter-list__display {
  display: flex !important;
  margin-right: calc(0.25rem * 4);
  margin-right: var(--gap-tiny);
}

/* Add border to white/light colored swatches for visibility */

.c-filter-list__color-display {
  border: 1px solid #eaeaea;
  border: 1px solid var(--c-modal-filter-border);
}

/* Color group styling for tags */

.c-filter-list__color-group {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);
  color: #575756;
  color: var(--color-text-secondary, var(--color-text));
  font-weight: var(--font-weight-normal);
  opacity: 0.7;
}

.c-filter-list__image {
  border-radius: 2px;
  border-radius: var(--radius-small);
  height: 25px;
  object-fit: cover;
  width: 25px;
}

.c-filter-list__visual-display {
  background-color: #eaeaea;
  background-color: var(--c-modal-filter-image-bg);
  border-radius: 2px;
  border-radius: var(--radius-small);
  height: 25px;
  width: 25px;
}

/* Filter Price Range
============================================================================= */

.c-filter-price-range__container {
  align-items: end;
  display: flex;
  grid-gap: calc(0.25rem * 6);
  gap: calc(0.25rem * 6);
  grid-gap: var(--gap-small);
  gap: var(--gap-small);
}

.c-filter-price-range__from,
.c-filter-price-range__to {
  flex: 1;
  position: relative;
}

.c-filter-price-range__label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  display: block;
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.c-filter-price-range__input {
  width: 100%;
}

.c-filter-price-range__currency {
  color: #2d2d2c;
  color: var(--color-text);
  opacity: 0.7;
  pointer-events: none;
  position: absolute;
  right: calc(0.25rem * 6);
  right: var(--gap-small);
}

/* Price Range Slider Styling */

.c-filter-price-range__slider-container {
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
}

.c-filter-price-range__values {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(0.25rem * 6);
  margin-bottom: var(--gap-small);
}

.c-filter-price-range__value-min,
.c-filter-price-range__value-max {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-primary);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.c-filter-price-range__sliders {
  height: 20px;
  position: relative;
}

.c-filter-price-range__track-fill {
  background: #2d2d2c;
  background: var(--color-primary);
  border-radius: 2px;
  height: 2px;
	margin-left: 2px;
  position: absolute;
  top: 11px;
  z-index: 0;
}

.c-filter-price-range__slider {
  appearance: none;
  background: transparent;
  cursor: pointer;
  height: 20px;
  pointer-events: none;
  position: absolute;
  width: 100%;
  z-index: 1;
}

.c-filter-price-range__slider::-webkit-slider-thumb {
  pointer-events: all;
}

.c-filter-price-range__slider::-moz-range-thumb {
  pointer-events: all;
}

.c-filter-price-range__slider::-webkit-slider-track {
  background: #eaeaea;
  background: var(--color-border);
  border-radius: 2px;
  height: 4px;
}

.c-filter-price-range__slider::-webkit-slider-thumb {
  appearance: none;
  background: #2d2d2c;
  background: var(--color-primary);
  border: 2px solid #fff;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  height: 20px;
  width: 20px;
}

.c-filter-price-range__slider::-moz-range-track {
  background: #eaeaea;
  background: var(--color-border);
  border-radius: 2px;
  height: 4px;
}

.c-filter-price-range__slider::-moz-range-thumb {
  background: #2d2d2c;
  background: var(--color-primary);
  border: 2px solid #fff;
  border: 2px solid var(--color-white);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  height: 20px;
  width: 20px;
}

.c-filter-price-range__slider:focus {
  outline: none;
}

.c-filter-price-range__slider:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}

.c-filter-price-range__slider:focus::-moz-range-thumb {
  box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2);
}

.c-filter-price-range__slider--max {
  z-index: 2;
}

/* Screen Reader Only
============================================================================= */

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

/* Filter Footer (Legacy)
============================================================================= */

.c-filter__footer {
  background-color: #f3f2ef;
  background-color: var(--color-background);
  border-top: 1px solid #eaeaea;
  border-top: 1px solid var(--c-modal-filter-border);
  bottom: 0;
  margin-top: calc(0.25rem * 8);
  margin-top: var(--gap);
  padding: calc(0.25rem * 6) calc(0.25rem * 4);
  padding: var(--gap-small) var(--gap-tiny);
  position: sticky;
}

.c-filter-footer__item {
  display: flex;
  justify-content: space-between;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny)
}

.c-filter-footer__item:last-child {
    padding-bottom: 0;
  }

.c-filter-footer__item-title,
.c-filter-footer__item-value--subtotal {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.c-filter-footer__item-value--shipping {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
}

.c-filter-footer__button {
  padding-top: calc(calc(0.25rem * 8) * 0.875);
  padding-top: calc(var(--gap) * 0.875);
}

.c-filter-footer__button .c-button,
  .c-filter-footer__button .c-button__label {
    width: 100%;
  }

/* Filter Button Styling
============================================================================= */

.c-modal__filter-actions {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid var(--c-modal-filter-border);
  display: flex;
  flex-direction: row;
  margin-bottom: calc(0.25rem * 2);
  margin-bottom: var(--gap-micro);
  margin-left: calc((1.5rem * -1));
  margin-left: calc((var(--gap-container) * -1));
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  padding-top: calc(0.25rem * 2);
  padding-top: var(--gap-micro);
  width: calc(100% + (1.5rem * 2));
  width: calc(100% + (var(--gap-container) * 2));
}

.c-modal__menu-button--filter {
  margin-left: auto;
}

.c-modal__menu-button--filter .c-menu-button {
    background-color: transparent
  }

@media ( min-width: 768px ) {

  .c-modal__menu-button--filter .c-menu-button {
      padding-left: calc(0.25rem * 6);
      padding-left: var(--gap-small)
  }
    }

/* =============================================================================
 # Modal Gauge Info Component                                                  #
============================================================================= */

/**
 * Gauge info specific modal styling that extends the base modal component.
 *
 * This file contains only gauge info specific styles. Base modal functionality
 * is handled by modal.css.
 */

/* Gauge Info Modal Variables
============================================================================= */

:root {
  --c-modal-gauge-info-bg: var(--color-white);
  --c-modal-gauge-info-text: var(--color-text);
  --c-modal-gauge-info-border: var(--color-border);
  --c-modal-gauge-info-image-bg: var(--color-white);
}

/* Gauge Info Modal Layout
============================================================================= */

.c-modal--gauge-info[class] {
  /* Inherit colors from parent modal */
  --color-text: var(--c-modal-gauge-info-text)

  /* Gauge info specific responsive behavior */
}

@media ( min-width: 768px ) {

.c-modal--gauge-info[class] {
    bottom: 0;
    left: auto;
    right: 0;
    width: 33rem
}
  }

.c-modal--gauge-info[class].is-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

.c-modal--gauge-info[class] {

  /* Gauge info specific animations */
}

.c-modal--gauge-info[class].is-animating-in {
    animation-name: animate-in-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--gauge-info[class].is-animating-in {
      animation-name: animate-in-modal-desktop
  }
    }

.c-modal--gauge-info[class].is-animating-out {
    animation-delay: 0s;
    animation-name: animate-out-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--gauge-info[class].is-animating-out {
      animation-name: animate-out-modal-desktop
  }
    }

/* Gauge info specific layout adjustments */

@media ( min-width: 768px ) {
  .c-modal--gauge-info[class] .c-modal__inner {
      bottom: 0;
      left: auto;
      right: 0;
      top: 0;
      width: 100%
  }
    }

.c-modal--gauge-info[class] .c-modal__main {
    padding-top: 0;
  }

.c-modal--gauge-info[class] .c-modal__body {
    background-color: #fff;
    background-color: var(--c-modal-gauge-info-bg);
    height: 100%;
    width: 100%;
  }

.c-modal--gauge-info[class] .c-modal__container {
    overflow: scroll;
  }

.c-modal--gauge-info[class] .c-modal__header {
		border-bottom: none;
    padding-left: 0;
    padding-right: 0;
  }

@media ( min-width: 768px ) {

  .c-modal--gauge-info[class] .c-modal__header-logo {
      display: none
  }
    }

.c-modal--gauge-info[class] .c-modal__header-actions {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

.c-modal--gauge-info[class] .c-modal__content {
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
	}

.c-modal--gauge-info[class] .c-modal__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
    margin: 0;
  }

/* Gauge Info Content
============================================================================= */

.c-gauge-info__explanation {
  margin-bottom: calc(0.25rem * 8);
  margin-bottom: var(--gap-medium);
}

.c-gauge-info__explanation p {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    line-height: 1.5;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small)
  }

.c-gauge-info__explanation p:last-child {
      margin-bottom: 0;
    }

.c-gauge-info__main-illustration {
  margin-bottom: calc(0.25rem * 8);
  margin-bottom: var(--gap-medium);
  text-align: center;
}

.c-gauge-info__illustration-image {
  border-radius: 8px;
  border-radius: var(--radius-medium);
  height: auto;
  max-width: 100%;
}

/* Gauge Examples
============================================================================= */

.c-gauge-info__examples {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

.c-gauge-info__examples-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.c-gauge-info__examples-grid {
  display: flex;
	flex-direction: column;
  padding-top: calc(0.25rem * 2);
  padding-top: var(--gap-micro)
}

@media ( min-width: 768px ) {

.c-gauge-info__examples-grid {
}

  }

.c-gauge-info__example {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid var(--c-modal-gauge-info-border);
  overflow: hidden
}

.c-gauge-info__example:last-of-type {
		border-bottom: 1px solid #eaeaea;
		border-bottom: 1px solid var(--c-modal-gauge-info-border);
	}

.c-gauge-info__product-selected .c-gauge-info__example {
		background-color: #f3f2ef;
		background-color: var(--color-background);
		border: none;
		margin-top: calc(0.25rem * 2);
		margin-top: var(--gap-micro);
	}

.c-gauge-info__example-image {
  aspect-ratio: 1/1;
  background-color: #fff;
  background-color: var(--c-modal-gauge-info-image-bg);
	margin-right: calc(0.25rem * 4);
	margin-right: var(--gap-tiny);
  overflow: hidden;
}

.c-gauge-info__example-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
  }

.c-gauge-info__product-selected .c-gauge-info__example-image img {
			background-color: #f3f2ef;
			background-color: var(--color-background);
		}

.c-gauge-info__example-content {
	align-items: center;
	display: flex;
  padding: calc(0.25rem * 6);
  padding: var(--gap-small);
}

.c-gauge-info__example-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.c-gauge-info__example-description {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #575756;
  color: var(--color-text-secondary);
  line-height: 1.4;
  margin: 0;
}

/* Modal Header Elements
============================================================================= */

.c-modal__menu-button--gauge-info {
  margin-left: auto;
}

.c-modal__menu-button--gauge-info .c-menu-button {
    background-color: transparent
  }

@media ( min-width: 768px ) {

  .c-modal__menu-button--gauge-info .c-menu-button {
      padding-left: calc(0.25rem * 6);
      padding-left: var(--gap-small)
  }
    }

/* Empty State
============================================================================= */

.c-gauge-info__empty-state {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(0.25rem * 16);
  padding: var(--gap-large);
  text-align: center;
}

.c-gauge-info__empty-state p {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    color: #575756;
    color: var(--color-text-secondary);
    margin: 0;
  }

.c-modal--nav[class] {
	background-color: #fff;
	background-color: var(--color-white);
	right: 2.75rem;
}

.c-modal--nav[class] .c-modal__main {
		overflow: hidden;
		padding-left: 0;
		padding-right: 0;
		position: relative;
	}

.c-modal--nav[class] .c-modal__header {
		border-bottom: 1px solid #eaeaea;
		border-bottom: 1px solid var(--color-border);
		justify-content: space-between;
	}

.c-modal--nav[class] .c-mega-menu-mobile__header-button {
		margin-left: auto;
	}

.c-modal--nav[class] .c-mega-menu-mobile__header-back {
		margin-right: auto;
	}

/* =============================================================================
 # Modal Search Component                                                        #
============================================================================= */

/**
 * Search-specific modal styling that extends the base modal component.
 *
 * This file contains only search-specific styles. Base modal functionality
 * is handled by modal.css.
 */

/* Search Modal Variables
============================================================================= */

:root {
  --c-modal-search-bg: var(--color-secondary);
  --c-modal-search-text: var(--color-text);
  --c-modal-search-border: var(--color-border);
  --c-modal-search-image-bg: var(--color-background);
}

/* Search Modal Layout
============================================================================= */

.c-modal--search[class] {
  /* Inherit colors from parent modal */
  --color-background: var(--c-modal-search-bg);
  --color-text: var(--c-modal-search-text);
  border-radius: 0;
  bottom: auto;
  left: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  right: 0;
	top: calc(1.7rem + (calc(0.25rem * 4) * 2));
	top: var(--site-header-height);

  z-index: 14

	/* Adjust for announcement bar if present */
}

.c-modal--search[class].is-visible {
    opacity: 1;
    pointer-events: auto;
		visibility: visible;
  }

.c-modal--search[class] {

  /* Slide down animation for modal open/close */
}

.c-modal--search[class].is-animating-in {
    animation-fill-mode: both;
    animation-name: animate-in-modal-down;
  }

.c-modal--search[class].is-animating-out {
		animation-delay: 0s;
    animation-fill-mode: both;
    animation-name: animate-out-modal-up;
  }

.c-modal--search[class] .c-modal__content.c-search {
		padding-bottom: 0;
		padding-top: 0;
	}

.c-modal--search[class] .c-modal__inner {
		margin-left: auto;
		margin-right: auto;
		max-width: none;
		max-width: var(--l-max-width-full);
		padding-left: 1.5rem;
		padding-left: var(--gap-container);
		padding-right: 1.5rem;
		padding-right: var(--gap-container);
		width: 100%;
		background-color: #eaeaea;
		background-color: var(--c-modal-search-bg);
	}

.c-modal--search[class] .c-modal__search {
		align-items: center;
		display: flex;
		grid-gap: calc(0.25rem * 6);
		gap: calc(0.25rem * 6);
		grid-gap: var(--gap-small);
		gap: var(--gap-small);
		justify-content: space-between;
		margin-bottom: 0;
		padding-bottom: calc(0.25rem * 6);
		padding-bottom: var(--gap-small);
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
	}

.c-modal--search[class] .c-predictive-search__input-container {
		background-color: #eaeaea;
		background-color: var(--c-modal-search-bg);
		border-bottom: none;
	}

.c-modal--search[class] .c-predictive-search__input {
		background-color: #eaeaea;
		background-color: var(--c-modal-search-bg);
		color: #2d2d2c;
		color: var(--color-black);
		font-size: 16px
	}

.c-modal--search[class] .c-predictive-search__input:-ms-input-placeholder {
			color: #575756;
			color: var(--color-light-gray);
		}

.c-modal--search[class] .c-predictive-search__input::placeholder {
			color: #575756;
			color: var(--color-light-gray);
		}

.c-modal--search[class] predictive-search {
		width: 100%;
	}

/* Predictive search results container */

.c-modal--search[class] #predictive-search {
		background: #eaeaea;
		background: var(--c-modal-search-bg);
		border-top: 1px solid #eaeaea;
		border-top: 1px solid var(--color-border);
		display: none;
		max-height: 60vh;
		overflow-y: auto;
		width: 100%
	}

.c-modal--search[class] #predictive-search[aria-hidden="false"] {
			display: block;
		}

.c-modal--search[class] .c-predictive-search__input-container {
		padding-bottom: 0;
	}

.c-modal--search-button {
	transform: rotate(45deg);
}

.c-modal--search-button svg {
		height: 2rem;
    width: 2rem;
	}

/* Resetting some modal styles since this modal is nothing like the c-modal. */

.c-modal.c-modal--search,
.c-modal.c-modal--search .c-modal__inner,
.c-modal.c-modal--search .c-modal__body,
.c-modal.c-modal--search .c-modal__container,
.c-modal.c-modal--search .c-modal__main {
  height: auto;
  max-height: none;
  min-height: 0;
}

/* =============================================================================
 # Modal Component                                                               #
============================================================================= */

/**
 * A component for modals (overlays) with consistent theming and accessibility.
 *
 * Base Structure:
 * - c-modal: Root modal container
 * - c-modal__inner: Scroll container
 * - c-modal__body: Main form/content wrapper
 * - c-modal__container: Content container
 * - c-modal__main: Main content area
 * - c-modal__header: Header section
 * - c-modal__content: Content section
 * - c-modal__footer: Footer section
 * - c-modal__close: Close button (using c-menu-button)
 *
 * Modifiers:
 * - c-modal--cart: Cart-specific styling
 * - c-modal--search: Search-specific styling
 * - c-modal--filter: Filter-specific styling
 *
 * JavaScript Hooks:
 * - js-modal: Modal container
 * - js-modal-btn: Modal trigger/close buttons
 * - js-modal-main: Main content area
 * - js-overlay: Background overlay
 *
 * States:
 * - is-visible: Modal is open and visible
 * - is-animating-in: Modal is animating open
 * - is-animating-out: Modal is animating closed
 * - is-empty: Modal content is empty (cart specific)
 * - is-hidden: Element is hidden
 */

/* Component Variables
============================================================================= */

:root {
  --c-modal-bg: var(--color-background);
  --c-modal-text: var(--color-text);
  --c-modal-border: var(--color-border);
  --c-modal-transition: 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  --c-modal-header-height: var(--site-header-height, 80px);
  --c-modal-z-index: 99;
}

/* Base Modal
============================================================================= */

.c-modal {
  /* Color inheritance */
  --color-background: var(--c-modal-bg);
  --color-text: var(--c-modal-text);
  animation-duration: 0.4s;
  animation-timing-function: cubic-bezier(0.36, 0.64, 0.23, 0.94);

  /* Visual */
  background-color: #f3f2ef;
  background-color: var(--color-background);
  color: #2d2d2c;
  color: var(--color-text);
  height: 100%;
  left: 0;

  /* Animation */
  opacity: 0;
  overflow: hidden;

  /* Layout */
  position: fixed;
  right: 0;
  top: 0;
  visibility: hidden;
  z-index: 99;
  z-index: var(--c-modal-z-index)

  /* Accessibility */
}

.c-modal[aria-hidden="true"] {
    pointer-events: none;
  }

.c-modal[aria-hidden="false"] {
    pointer-events: auto;
  }

/* Modal States
============================================================================= */

.c-modal.is-animating-in {
  animation-delay: 0s;
  animation-name: animate-in-modal
}

.c-modal.is-animating-in.c-modal--nav {
    animation-name: animate-in-modal-nav;
  }

.c-modal.is-visible {
  opacity: 1;
  visibility: visible;
}

.c-modal.is-visible .c-modal__main,
  .c-modal.is-visible .c-modal__footer {
    opacity: 1;
    transition-duration: 0.5s;
    visibility: visible;
  }

.c-modal.is-visible .c-modal__footer {
    transition-delay: 0.2s;
  }

.c-modal.is-animating-out {
  animation-delay: 0.3s;
  animation-name: animate-out-modal
}

.c-modal.is-animating-out.c-modal--nav {
    animation-name: animate-out-modal-nav;
  }

.c-modal.is-animating-out .c-modal__main,
  .c-modal.is-animating-out .c-modal__footer {
    opacity: 0;
    transition-delay: 0.2s;
    transition-duration: 0.4s;
    visibility: hidden;
  }

.c-modal.is-animating-out .c-modal__footer {
    transition-delay: 0s;
  }

/* Modal Structure
============================================================================= */

.c-modal__inner {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: auto;

  /* Hide scrollbars for clean look */
  -ms-overflow-style: none;
  scrollbar-width: none
}

.c-modal__inner::-webkit-scrollbar {
    display: none;
  }

.c-modal__inner {

  /* iOS momentum scrolling */
}

@supports (-webkit-overflow-scrolling: touch) {

.c-modal__inner {
    overflow: scroll;
    -webkit-overflow-scrolling: touch
}
  }

.c-modal__body {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.c-modal__container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.c-modal__main {
  flex: 1;
  opacity: 0;
  padding-left: calc(0.25rem * 4);
  padding-left: var(--gap-tiny);
  padding-right: calc(0.25rem * 4);
  padding-right: var(--gap-tiny);
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), visibility 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--c-modal-transition), visibility var(--c-modal-transition);
  transition-delay: 0s
}

@media ( min-width: 768px ) {

.c-modal__main {
		padding-left: calc(0.25rem * 6);
		padding-left: var(--gap-small);
  	padding-right: calc(0.25rem * 6);
  	padding-right: var(--gap-small)
}
	}

.c-modal__footer {
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), visibility 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--c-modal-transition), visibility var(--c-modal-transition);
  transition-delay: 0s;
  visibility: hidden;
}

/* Modal Header
============================================================================= */

.c-modal__header-container {
  display: flex;
}

.c-modal__header {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
  align-items: center;
	border-bottom: 1px solid #d5d5d5;
	border-bottom: 1px solid var(--color-dark-gray);

  display: flex;
  height: calc(1.7rem + (calc(0.25rem * 4) * 2));
  height: var(--c-modal-header-height);
  justify-content: space-between;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
  padding-top: calc(0.25rem * 4);
  padding-top: var(--gap-tiny);
}

/* WordPress admin bar compatibility */

.admin-bar .c-modal__header {
    margin-top: 32px
  }

@media (max-width: 782px) {
  .admin-bar .c-modal__header {
      margin-top: 46px
  }
    }

.c-modal__header-logo {
  color: #2d2d2c;
  color: var(--color-text);
  font-size: 1.7rem;
}

.c-modal__header-logo .c-icon {
    fill: currentColor;
    width: auto;
  }

.c-modal__header-actions {
  align-items: center;
  display: flex;
  grid-gap: calc(0.25rem * 6);
  gap: calc(0.25rem * 6);
  grid-gap: var(--gap-small);
  gap: var(--gap-small);
}

/* Modal Content
============================================================================= */

.c-modal__content {
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);

  padding-top: calc(0.25rem * 16);

  padding-top: var(--gap-large);
}

.c-modal__content-header {
  margin-bottom: calc(0.25rem * 8);
  margin-bottom: var(--gap-medium);
}

.c-modal__content-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
  color: #2d2d2c;
  color: var(--color-text);

	font-weight: 500;

	font-weight: var(--font-weight-bold);
}

/* Modal Footer
============================================================================= */

.c-modal__footer {
  border-top: 1px solid #eaeaea;
  border-top: 1px solid var(--c-modal-border);
  margin-top: auto;
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
	padding-left: calc(0.25rem * 4);
	padding-left: var(--gap-tiny);
  padding-right: calc(0.25rem * 4);
  padding-right: var(--gap-tiny);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium)
}

@media ( min-width: 768px ) {

.c-modal__footer {
		padding-left: calc(0.25rem * 6);
		padding-left: var(--gap-small);
  	padding-right: calc(0.25rem * 6);
  	padding-right: var(--gap-small)
}
	}

.c-modal__footer--sticky {
  background-color: #f3f2ef;
  background-color: var(--color-background);
  bottom: 0;
  position: sticky;
}

/* Close Button
============================================================================= */

.c-modal__menu-button {
  margin-left: auto
}

@media ( min-width: 768px ) {
    .c-modal--nav .c-modal__menu-button {
      display: none;
    }
  }

/* Modal Variants
============================================================================= */

/* Cart Modal */

.c-modal--cart .c-modal__bag {
    align-items: center;
    display: flex;
    grid-gap: calc(0.25rem * 4);
    gap: calc(0.25rem * 4);
    grid-gap: var(--gap-tiny);
    gap: var(--gap-tiny);
  }

.c-modal--cart .c-modal__bag-icon .c-icon {
      height: 20px;
      width: 20px;
    }

.c-modal--cart .c-modal__bag-icon.icon--fill .c-icon {
      fill: #2d2d2c;
      fill: var(--color-primary);
    }

.c-modal--cart .c-modal__bag-label {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

/* Search Modal */

.c-modal--search .c-modal__header-search {
    align-items: center;
    display: flex;
    grid-gap: calc(0.25rem * 4);
    gap: calc(0.25rem * 4);
    grid-gap: var(--gap-tiny);
    gap: var(--gap-tiny);
  }

.c-modal--search .c-modal__header-search-icon .c-icon {
      height: 18px;
      width: 18px;
    }

.c-modal--search .c-modal__header-search-label {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.c-modal--search .c-modal__search {
    margin-bottom: calc(0.25rem * 16);
    margin-bottom: var(--gap-large);
  }

/* Filter Modal */

.c-modal--filter .c-modal__filter-actions {
    display: flex;
    grid-gap: calc(0.25rem * 6);
    gap: calc(0.25rem * 6);
    grid-gap: var(--gap-small);
    gap: var(--gap-small);
    justify-content: space-between
  }

@media ( min-width: 768px ) {
  .c-modal--filter .c-modal__filter-actions {
      flex-direction: column
  }
    }

.c-modal--filter .c-modal__filter-reset {
    flex: 1;
  }

.c-modal--filter .c-modal__filter-apply {
    flex: 2;
  }

/* Utility Classes
============================================================================= */

.is-empty .c-modal__main {
    align-items: center;
    display: flex;
    justify-content: center;
  }

.is-hidden {
  display: none !important;
}

/* Legacy Support
============================================================================= */

/* Keep some legacy classes for backward compatibility */

.c-modal__menu-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  color: #2d2d2c;

  color: var(--color-text);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
}

/* Mobile Menu Specific (legacy) */

.c-menu-mobile__item-link {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);
  padding-bottom: var(--gap-tiny);
}

.c-menu-mobile__item-link:last-child {
    padding-bottom: 0;
  }

.c-menu-mobile__item-link {

  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;

  font-family: var(--font-heading);
}

.c-menu-mobile__item-link:hover,
  .c-menu-mobile__item-link:focus {
    text-decoration: none;
  }

.c-menu-mobile__item-button {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);
  align-items: center;

  display: flex;
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
}

.c-menu-mobile__content {
  overflow: hidden;
  transition: height 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: height var(--accordion-transition);
}

/* Collapsed State */

.js-accordion-item[data-state='collapsed'] .c-menu-mobile__content {
  opacity: 0;
}

/* Expanded State */

.js-accordion-item[data-state='expanded'] .c-menu-mobile__content {
  opacity: 1;
}

.c-menu-mobile__item.c-menu-mobile__item--accordion:first-of-type {
      padding-top: calc(0.25rem * 6);
      padding-top: var(--gap-small);
    }

.c-menu-mobile__item-icon {
  display: flex;
  margin-left: auto;
}

.c-menu-mobile__item-icon .c-icon {
    transform: rotate(90deg);
    transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: transform var(--transition);
    width: 0.75rem;
  }

.js-accordion-item[data-state='expanded'] .c-menu-mobile__item-icon .c-icon {
      transform: rotate(180deg);
    }

.c-menu-mobile__item-link-text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);
  padding-right: calc(0.25rem * 2);
  padding-right: var(--gap-micro);
}

/* Animations
============================================================================= */

@keyframes animate-in-modal {
  0% {
    opacity: 0;
    visibility: hidden;
  }

  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes animate-out-modal {
  0% {
    opacity: 1;
    visibility: visible;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

/* Navigation Modal Slide Animations */

@keyframes animate-in-modal-nav {
  0% {
    opacity: 0;
    transform: translateX(-100%);
    visibility: hidden;
  }

  100% {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }
}

@keyframes animate-out-modal-nav {
  0% {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }

  100% {
    opacity: 0;
    transform: translateX(-100%);
    visibility: hidden;
  }
}

/* Admin UI (legacy)
============================================================================= */

.ui-admin-bar__body,
.ui-admin-bar__content {
  display: none !important;
}

/* =============================================================================
 # Newsletter                                                                      #
============================================================================= */

/**
 * A component for newsletter.
 */

.c-newsletter {
	background-color: #cfd6d5;
	background-color: var(--color-green);
	color: #2d2d2c;
	color: var(--color-black);
}

@media ( min-width: 768px ) {

.c-newsletter__inner {
		position: relative
}
	}

.c-newsletter__title {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.c-newsletter__title {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((20 / 16) * 1rem);
		font-size: var(--font-size-xmedium);
		line-height: var(--line-height-xmedium);
		padding-bottom: 0.5rem
}
	}

.c-newsletter__text {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny)
}

@media ( min-width: 992px ) {

.c-newsletter__text {
		padding-bottom: 0
}
	}

.c-newsletter__content {
	background-color: transparent;
	display: flex;
	flex-direction: column;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
  padding-left: calc(0.25rem * 8);
  padding-left: var(--gap);
	padding-right: calc(0.25rem * 8);
	padding-right: var(--gap);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap-medium);
	text-align: center
}

@media ( min-width: 768px ) {

.c-newsletter__content {
		position: relative;
    z-index: 2
}
	}

@media ( min-width: 992px ) {

.c-newsletter__content {
    margin-left: auto;
    margin-right: auto;
		max-width: 65rem;
		padding-bottom: calc(0.25rem * 16);
		padding-bottom: var(--gap-large);
		padding-top: calc(0.25rem * 16);
		padding-top: var(--gap-large)
}
	}

.c-newsletter__content-inner {
	background-color: #fff;
	background-color: var(--color-white);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
	padding-left: calc(0.25rem * 8);
	padding-left: var(--gap);
	padding-right: calc(0.25rem * 8);
	padding-right: var(--gap-medium);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap-medium)
}

@media ( min-width: 768px ) {

.c-newsletter__content-inner {
		margin-left: auto;
    margin-right: auto
}
	}

@media ( min-width: 992px ) {

.c-newsletter__content-inner {
		align-items: flex-start;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: calc(1rem / 2 * -1);
		margin-left: calc(var(--gap-grid) / 2 * -1);
		margin-right: calc(1rem / 2 * -1);
		margin-right: calc(var(--gap-grid) / 2 * -1);
		width: calc(100% + 1rem);
		width: calc(100% + var(--gap-grid));
		text-align: left
}
	}

@media ( min-width: 992px ) {

.c-newsletter__column {
		flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 6 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2)
}
	}

.c-newsletter__form-input--input {
	background-color: #f4f4f4;
	background-color: var(--color-gray);
	border: 1px solid #d5d5d5;
	border: 1px solid var(--color-dark-gray);
	font-size: 16px;
	padding: 0.8rem
}

@media ( min-width: 992px ) {

.c-newsletter__form-input--input {
		width: 100%
}
	}

.c-newsletter__form-input {
	display: flex;
	flex-direction: column
}

@media ( min-width: 992px ) {

.c-newsletter__form-input {
		flex-direction: row
}
	}

.c-newsletter__button {
	display: flex;
	font-size: calc((20 / 16) * 1rem);
	justify-content: center;
	margin-top: calc(0.25rem * 2);
	margin-top: var(--gap-micro);
	padding-bottom: calc(calc((22 / 16) * 1rem) * 0.65);
	padding-top: calc(calc((22 / 16) * 1rem) * 0.65)
}

@media ( min-width: 992px ) {

.c-newsletter__button {
		margin-top: 0
}
	}

/**
* Marquee
*/

.c-newsletter__marquee {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-size: calc((52 / 16) * 1rem);
	font-size: var(--font-size-huge);
	line-height: var(--line-height-huge);
	font-style: italic;
  align-items: center;
  background: transparent;
	color: #687977;
	color: var(--color-green-dark);
  display: flex;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	overflow: hidden;
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
  position: relative;
  white-space: nowrap;
  width: 100%

}

@media ( min-width: 768px ) {

.c-newsletter__marquee {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1

}
	}

@media ( min-width: 992px ) {

.c-newsletter__marquee {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((62 / 16) * 1rem);
		font-size: var(--font-size-xhuge);
		line-height: var(--line-height-xhuge);
		font-style: italic;
		color: #687977;
		color: var(--color-green-dark)

}

	}

.c-newsletter__marquee span {
		animation: marquee-left 8s linear infinite;
		display: inline-block;
		padding-right: calc(0.25rem * 6);
		padding-right: var(--gap-small)
	}

@media ( min-width: 992px ) {

	.c-newsletter__marquee span {
			padding-right: calc(0.25rem * 8);
			padding-right: var(--gap-medium)
	}
		}

.c-newsletter__marquee .c-newsletter__marquee-inner {
		animation: marquee-left 8s linear infinite;
		display: inline-block;
	}

.c-newsletter__marquee .newsletter-form__message {
		padding-top: calc(0.25rem * 6);
		padding-top: var(--gap-small);
	}

.newsletter-form__message--success {
	font-size: calc((26 / 16) * 1rem);
	font-size: var(--font-size-large);
	padding-top: 1rem;
	text-align: center
}

@media ( min-width: 992px ) {

.newsletter-form__message--success {
		padding-top: 0
}
	}

.newsletter-form[\:has\(.newsletter-form__message--success\)] .c-newsletter__form-input {
		display: none;
	}

.newsletter-form:has(.newsletter-form__message--success) .c-newsletter__form-input {
		display: none;
	}

.c-newsletter__content-inner[\:has\(.newsletter-form__message--success\)] {
	align-items: center;
}

.c-newsletter__content-inner:has(.newsletter-form__message--success) {
	align-items: center;
}

.c-overlay {
  animation-duration: 0.4s;
  animation-timing-function: cubic-bezier(0.36, 0.64, 0.23, 0.94);
  background-color: color-mix(in sRGB, #2d2d2c 50%, transparent);
  background-color: color-mix(in sRGB, var(--color-black) 50%, transparent);
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  position: fixed;
  transform: translate(100%, 0%);
  width: 100%;
  z-index: 16
}

@media ( min-width: 768px ) {

.c-overlay {
    display: block
}
  }

.c-overlay.is-animating-in {
    animation-delay: 0s;
    animation-name: animate-in-overlay;
    transform: translateX(0%);
  }

.c-overlay.is-animating-out {
    animation-delay: 0s;
    animation-name: animate-out-overlay;
    transform: translateX(100%);
  }

.c-overlay.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translate(0%, 0%);
  }

/* =============================================================================
 # Pagination                                                                  #
============================================================================= */

.c-pagination {
  align-items: center;
  display: flex;
  flex-direction: column;
  grid-gap: calc(0.25rem * 6);
  gap: calc(0.25rem * 6);
  grid-gap: var(--gap-small);
  gap: var(--gap-small);
  justify-content: center;
	padding-left: calc(0.25rem * 8);
	padding-left: var(--gap);
	padding-right: calc(0.25rem * 8);
	padding-right: var(--gap);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium)
}

@media ( min-width: 768px ) {

.c-pagination {
		grid-gap: 0;
		gap: 0;
		padding-left: 0;
		padding-right: 0
}
	}

/* Progress Indicator */

.c-pagination__progress {

  align-items: center;
  display: flex;
  flex-direction: column;
  grid-gap: calc(0.25rem * 4);
  gap: calc(0.25rem * 4);
  grid-gap: var(--gap-tiny);
  gap: var(--gap-tiny);
	max-width: 400px;
  width: 100%
}

@media ( min-width: 768px ) {

.c-pagination__progress {
		grid-gap: calc(0.25rem * 6);
		gap: calc(0.25rem * 6);
		grid-gap: var(--gap-small);
		gap: var(--gap-small);
  	max-width: 17rem
}
	}

.c-pagination__progress-text {
	color: #575756;
	color: var(--color-light-gray);
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  text-transform: uppercase
}

@media ( min-width: 768px ) {

.c-pagination__progress-text {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((12 / 16) * 1rem);
		font-size: var(--font-size-micro);
		line-height: var(--line-height-micro);
		color: #575756;
		color: var(--color-light-gray)
}
	}

.c-pagination__progress-bar {
  background-color: #eaeaea;
  background-color: var(--color-border);
  border-radius: 1px;
  height: 2px;
  overflow: hidden;
  width: 100%;
}

.c-pagination__progress-fill {
  background-color: #2d2d2c;
  background-color: var(--color-black);
  border-radius: 1px;
  height: 100%;
  transition: width 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: width var(--transition);
}

/* Load More Button */

.c-pagination__load-more {
  display: flex;
  justify-content: center;
	width: 100%
}

@media ( min-width: 768px ) {

.c-pagination__load-more {
  	margin-top: calc(0.25rem * 6);
  	margin-top: var(--gap-small);
		width: unset
}
	}

.c-pagination__load-more-btn {
	justify-content: center;
	width: 100%
}

.c-pagination__load-more-btn.loading .c-pagination__load-more-text {
      opacity: 0;
    }

.c-pagination__load-more-btn.loading .c-pagination__load-more-loading {
      opacity: 1;
    }

@media ( min-width: 768px ) {

.c-pagination__load-more-btn {
		width: unset
}
	}

.c-pagination__load-more-text,
.c-pagination__load-more-loading {
  transition: opacity 0.3s ease-in-out;
  transition: opacity var(--animation);
}

.c-pagination__load-more-loading {
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

/* Legacy styles for fallback */

.c-pagination__list {
  align-items: center;
  display: flex;
}

.c-pagination__list li {
    display: flex;
  }

.c-pagination__item {
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro);
  padding-right: calc(0.25rem * 2);
  padding-right: var(--gap-micro);
}

.c-pagination__item-arrow {
}

.c-pagination__icon {
  color: #2d2d2c;
  color: var(--color-black);
  font-size: 0.8rem;
}

.c-pagination__icon--prev .c-icon {
    transform: rotate(180deg);
  }

:root {
  --c-predictive-search-bg: var(--color-secondary);
}

.c-predictive-search__input-container {
  align-items: center;
	border-bottom: 1px solid #eaeaea;
	border-bottom: 1px solid var(--color-border);
  display: flex;
  justify-content: space-between;
  padding-bottom: calc(calc(0.25rem * 2) / 2);
  padding-bottom: calc(var(--gap-micro) / 2);
}

.c-predictive-search__input-icon {
	font-size: 1.3rem;
	position: absolute;
}

.c-predictive-search__input-icon .c-icon {
		stroke: none;
	}

@media ( min-width: 992px ) {

.c-predictive-search__input-icon {
		font-size: 1.55rem
}
	}

.c-predictive-search__input {
  background-color: #eaeaea;
  background-color: var(--c-predictive-search-bg);
  border: none;
  font-size: 16px;
	padding-left: calc(calc(0.25rem * 8) * 1.5);
	padding-left: calc(var(--gap) * 1.5);
  width: calc(100% - 2rem)
}

.c-predictive-search__input:-ms-input-placeholder {
    color: #2d2d2c;
    color: var(--color-text);
  }

.c-predictive-search__input::placeholder {
    color: #2d2d2c;
    color: var(--color-text);
  }

.c-predictive-search__input:-webkit-autofill {
    box-shadow: 0 0 0 30px #eaeaea inset;
    box-shadow: 0 0 0 30px var(--c-predictive-search-bg) inset;
    font-size: 16px !important;
    -webkit-text-fill-color: #2d2d2c;
    -webkit-text-fill-color: var(--color-text);
  }

.c-predictive-search__input:-internal-autofill-selected {
    appearance: menulist-button;
    background-color: #eaeaea !important;
    background-color: var(--c-predictive-search-bg) !important;
    background-image: none !important;
    color: fieldtext !important;
  }

.c-predictive-search__input:-webkit-autofill:focus {
    background-color: #eaeaea !important;
    background-color: var(--c-predictive-search-bg) !important;
    color: #2d2d2c !important;
    color: var(--color-text) !important;
    font-size: 16px !important;
  }

.c-predictive-search__input:focus {
    background-color: #eaeaea;
    background-color: var(--c-predictive-search-bg);
    color: #2d2d2c;
    color: var(--color-text);
  }

.c-predictive-search__input::-webkit-search-decoration,
  .c-predictive-search__input::-webkit-search-cancel-button,
  .c-predictive-search__input::-webkit-search-results-button,
  .c-predictive-search__input::-webkit-search-results-decoration {
    display: none;
  }

.c-predictive-search-button {
  color: currentColor;
  font-size: 16px;
}

.c-predictive-search {
  padding-top: calc(0.25rem * 16);
  padding-top: var(--gap-large);
}

.c-predictive-search__products-list {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.c-predictive-search__products-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);

  color: #2d2d2c;

  color: var(--color-text);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  letter-spacing: 1px;
  text-transform: uppercase;
}

.c-predictive-search__product-link {
  align-items: center;
  display: flex;
  width: 100%;
}

.c-predictive-search__product-container {
  display: flex;
  width: 100%;
}

.c-predictive-search__product {
  border-bottom: 1px solid #eaeaea;
  border-bottom: 1px solid var(--color-border);
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
  padding-top: calc(0.25rem * 4);
  padding-top: var(--gap-tiny)
}

.c-predictive-search__product:first-of-type {
    padding-top: 0;
  }

.c-predictive-search__product:last-of-type {
    border-bottom: none;
  }

.c-predictive-search__product-image {
  aspect-ratio: 35 / 48;
  position: relative;
}

@supports not (aspect-ratio: 1 / 1) {

.c-predictive-search__product-image {
    height: 0;
    overflow: hidden;
    padding-top: calc((48 / 35) * 100%);
}
  }

.c-predictive-search__product-image embed,
  .c-predictive-search__product-image iframe,
  .c-predictive-search__product-image img,
  .c-predictive-search__product-image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.c-predictive-search__product-image {

  background-color: #f9f9f9;

  background-color: var(--color-background-image);
  width: 10%;
}

.c-predictive-search__product-vendor {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  color: #2d2d2c;

  color: var(--color-text);
	padding-bottom: 0.25rem;
	padding-bottom: var(--baseline-unit);
  text-transform: uppercase;
}

.c-predictive-search__product-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;

  font-family: var(--font-heading);
}

.c-predictive-search__product-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-left: calc(0.25rem * 8);
  padding-left: var(--gap);
  width: 83%;
}

/* =============================================================================
 # Price Range Filtering                                                       #
============================================================================= */

.c-price-range-filter {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
}

/* =============================================================================
 # Price                                                                      #
============================================================================= */

/**
 * Price component
 * Uses the color system variables for consistent theming:
 * - Text: --color-text
 * - Compare price: --color-text with opacity
 */

/* Component-specific variables */

:root {
  --c-price-text: var(--color-text);
  --c-price-compare: var(--color-light-gray);
}

.c-price {
  align-items: center;
  color: #2d2d2c;
  color: var(--c-price-text);
  display: flex;
}

.c-price__price {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	letter-spacing: normal
}

@media ( min-width: 992px ) {

.c-price__price {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((18.5 / 16) * 1rem);
		font-size: var(--font-size-smallx);
		line-height: var(--line-height-xmedium)
}
	}

.c-price__compare-price {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
  color: #575756;
  color: var(--c-price-compare);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	text-decoration: line-through;
}

.s-product-information__price .c-price__compare-price {
		margin-left: calc(0.25rem * 2);
		margin-left: var(--gap-micro);
	}

@media ( min-width: 992px ) {

.c-price__compare-price {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((18.5 / 16) * 1rem);
		font-size: var(--font-size-smallx);
		line-height: var(--line-height-xmedium);

		color: #575756;

		color: var(--c-price-compare);
		font-weight: 500;
		font-weight: var(--font-weight-bold)
}
	}

.c-price__current-price {
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.has-compare-price .c-price__current-price {
		color: #ce3127;
		color: var(--color-error);
	}

/* =============================================================================
 # Product Card Color Picker                                                  #
============================================================================= */

/**
 * Product Card Color Picker Component
 *
 * DESIGN RATIONALE:
 * - Smaller version of the main color picker for use in product cards
 * - Positioned in product card footer
 * - Uses buttons instead of links (no navigation)
 * - Swaps images in the current card when clicked
 *
 * USAGE:
 * - Used in collection pages on product cards
 * - Shows color options for products with same SKU
 * - Changes card images on swatch interaction
 *
 * MARKUP STRUCTURE:
 * .c-product-card-color-picker
 *   .c-product-card-color-picker__swatches
 *     .c-product-card-color-picker__swatch-container
 *       .c-product-card-color-picker__swatch (button)
 *         .c-product-card-color-picker__swatch-color
 */

/* Component-specific variables */

:root {
  --c-product-card-color-picker-swatch-size: 11px;
  --c-product-card-color-picker-border: 1px;
  --c-product-card-color-picker-gap: 0.75rem;
  --c-product-card-color-picker-border-color: var(--color-black);
  --c-product-card-color-picker-border-radius: 50%;
}

.c-product-card-color-picker {
  margin-top: calc(0.25rem * 4);
  margin-top: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.c-product-card-color-picker {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro)
}
  }

.c-product-card-color-picker__swatches {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 0.75rem;
  gap: 0.75rem;
  grid-gap: var(--c-product-card-color-picker-gap);
  gap: var(--c-product-card-color-picker-gap);
  justify-content: flex-start;
	padding-left: calc(0.25rem * 2);
	padding-left: var(--gap-micro)
}

@media ( min-width: 768px ) {

.c-product-card-color-picker__swatches {
    grid-gap: 0.75rem;
    gap: 0.75rem;
    grid-gap: var(--c-product-card-color-picker-gap);
    gap: var(--c-product-card-color-picker-gap)
}
  }

.c-product-card-color-picker__swatch-container {
  position: relative;
}

.c-product-card-color-picker__swatch {
  background: none;
  border: none;
  border-radius: 50%;
  border-radius: var(--c-product-card-color-picker-border-radius);
  cursor: pointer;
  display: inline-block;
  height: 11px;
  height: var(--c-product-card-color-picker-swatch-size);
  padding: 0;
  position: relative;
  transition: all 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: all var(--transition);
  width: 11px;
  width: var(--c-product-card-color-picker-swatch-size)

  /* Default state - no border */
}

.c-product-card-color-picker__swatch::before {
    border: 1px solid transparent;
    border: var(--c-product-card-color-picker-border) solid transparent;
    border-radius: 50%;
    border-radius: var(--c-product-card-color-picker-border-radius);
    bottom: calc(-1 * 1px - 1px);
    bottom: calc(-1 * var(--c-product-card-color-picker-border) - 1px);
    content: '';
    left: calc(-1 * 1px - 1px);
    left: calc(-1 * var(--c-product-card-color-picker-border) - 1px);
    position: absolute;
    right: calc(-1 * 1px - 1px);
    right: calc(-1 * var(--c-product-card-color-picker-border) - 1px);
    top: calc(-1 * 1px - 1px);
    top: calc(-1 * var(--c-product-card-color-picker-border) - 1px);
    transition: border-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: border-color var(--transition);
  }

.c-product-card-color-picker__swatch {

  /* Hover state - show black border */
}

.c-product-card-color-picker__swatch:hover::before {
    border-color: #2d2d2c;
    border-color: var(--c-product-card-color-picker-border-color);
  }

.c-product-card-color-picker__swatch {

  /* Active state - current product */
}

.c-product-card-color-picker__swatch.is-active::before {
    border-color: #2d2d2c;
    border-color: var(--c-product-card-color-picker-border-color);
  }

.c-product-card-color-picker__swatch {

  /* Focus state for accessibility */
}

.c-product-card-color-picker__swatch:focus {
    outline: 2px solid #2d2d2c;
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

.c-product-card-color-picker__swatch {

  /* Loading state */
}

.c-product-card-color-picker__swatch.is-loading {
    cursor: wait;
    opacity: 0.6;
  }

.c-product-card-color-picker__swatch-color {
  border-radius: 50%;
  border-radius: var(--c-product-card-color-picker-border-radius);
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%

  /* Fallback for colors without hex values */
}

.c-product-card-color-picker__swatch-color.c-product-card-color-picker__swatch-color--fallback {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((14.3 / 16) * 1rem);
    font-size: var(--font-size-tiny);
    line-height: var(--line-height-tiny);
    align-items: center;
		background: repeating-linear-gradient(
      -45deg,
			#fff,
     	#fff 2px,
      #575756 2px,
      #575756 4px
    );
		background: repeating-linear-gradient(
      -45deg,
			#fff,
     	#fff 2px,
      var(--color-light-gray) 2px,
      var(--color-light-gray) 4px
    );
    color: #d5d5d5;
    color: var(--color-dark-gray);
    display: flex;
    font-size: 8px;
    font-weight: 500;
    font-weight: var(--font-weight-bold);
    justify-content: center;
    text-transform: uppercase
  }

@media ( min-width: 768px ) {

.c-product-card-color-picker__swatch-color.c-product-card-color-picker__swatch-color--fallback {
      font-size: 7px
  }
    }

/* High contrast mode support - removed for browser compatibility */

/* Reduced motion support */

@media (prefers-reduced-motion: reduce) {
  .c-product-card-color-picker__swatch,
  .c-product-card-color-picker__swatch::before {
    transition: none;
  }
}

/* Integration with product card */

.c-product-card__footer .c-product-card-color-picker {
    /* Ensure color picker doesn't interfere with card layout */
    flex-shrink: 0;
  }

/* =============================================================================
 # Price                                                                      #
============================================================================= */

.c-product-card-label {
	background-color: #2d2d2c;
	background-color: var(--color-black);
	border-radius: 2px;
	border-radius: var(--radius-small);
	color: #fff;
	color: var(--color-white);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	font-weight: 600;
	font-weight: var(--font-weight-bolder);
	left: 0.75rem;
	letter-spacing: 0.125em;
	line-height: 1;
	padding-bottom: calc(calc(0.25rem * 1.5));
	padding-left: calc(calc(0.25rem * 4) / 2);
	padding-left: calc(var(--gap-tiny) / 2);
	padding-right: calc(calc(0.25rem * 4) / 2);
	padding-right: calc(var(--gap-tiny) / 2);
	padding-top: calc(calc(0.25rem * 1.5));
	position: absolute;
	right: 0;
	text-align: center;
  top: 0.75rem;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 1;
}

.c-product-card-label__inner {
	transform: translateY(-1px);
}

/* =============================================================================
 # Product card modal                                                              #
============================================================================= */

/**
 * A component for product card modal
 */

.s-product-card-modal {
  /* height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%; */
}

.s-product-card-modal {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
  position: fixed;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
  z-index: 1000
}

.s-product-card-modal.is-active {
    opacity: 1;
    pointer-events: auto;
		visibility: visible;
  }

.s-product-card-modal__backdrop {
  background: #2d2d2c;
  background: var(--color-black, #000);
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.3;
  position: fixed;
  z-index: 0;
}

.s-product-card-modal__dialog {
  align-items: stretch;
  background: #f3f2ef;
  background: var(--color-background);
  bottom: 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  min-width: 320px;
  overflow-y: auto;
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
  padding-top: calc(0.25rem * 6);
  padding-top: var(--gap-small);
  position: fixed;
  width: 100%;
  z-index: 1;
}

.s-product-card-modal__close {
  background: none;
  border: none;
  color: #2d2d2c;
  color: var(--color-black);
  cursor: pointer;
  font-size: 2rem;
  position: absolute;
  right: 1rem;
  top: 1rem;
  z-index: 2;
}

.s-product-card-modal__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((18.5 / 16) * 1rem);
  font-size: var(--font-size-smallx);
  line-height: var(--line-height-xmedium);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  margin: 0 0 1.5rem 0;
  text-align: center;
}

.s-product-card-modal__sizes {
  display: flex;
  grid-gap: 1rem;
  gap: 1rem;
  justify-content: center;
  list-style: none;
  margin: 1rem 0 0 0;
  padding: 0;
}

.s-product-card-modal__size-btn {
  background: #fff;
  background: var(--color-white);
  border: 2px solid #eaeaea;
  border: 2px solid var(--color-border);
  color: #2d2d2c;
  color: var(--color-text);
  cursor: pointer;
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: 1rem;
  transition: all 0.2s ease;
  width: 100%;
}

.s-product-card-modal__size-btn:hover:not(:disabled) {
  background: #2d2d2c;
  background: var(--color-primary);
  border-color: #2d2d2c;
  border-color: var(--color-primary);
	color: #fff;
	color: var(--color-white);
}

.s-product-card-modal__size-btn:disabled {
  background: var(--color-grey-light);
  color: #d5d5d5;
  color: var(--color-dark-gray);
  cursor: not-allowed;
	pointer-events: none;
	text-decoration: line-through;
}

.s-product-card-modal__sizes-guide {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-left: auto;
  padding-right: auto;
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
  text-align: center;
	text-decoration: underline;
}

.s-product-card-modal__content {
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
}

.s-product-card-modal__sizes-guide {
	border-top: 1px solid #eaeaea;
	border-top: 1px solid var(--color-border);
}

/* =============================================================================
 # Product Card                                                               #
============================================================================= */

.c-product-card:hover,
  .c-product-card:focus {
    text-decoration: none
  }

@media ( min-width: 768px ) {
		.c-product-card:hover .c-product-card__desktop-add-variant-to-cart, .c-product-card:focus .c-product-card__desktop-add-variant-to-cart {
				opacity: 1;
				visibility: visible;
			}
		}

.c-product-card__image-container {
  aspect-ratio: 16 / 9;
  position: relative;
  aspect-ratio: 35 / 48;
}

@supports not (aspect-ratio: 1 / 1) {

.c-product-card__image-container {
    height: 0;
    overflow: hidden;
    padding-top: calc((9 / 16) * 100%);
}
  }

@supports not (aspect-ratio: 1 / 1) {

.c-product-card__image-container {
    padding-top: calc((48 / 35) * 100%);
}
  }

.c-product-card__image-container embed,
  .c-product-card__image-container iframe,
  .c-product-card__image-container img,
  .c-product-card__image-container video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.c-product-card__image-container {

  background-color: #f9f9f9;

  background-color: var(--color-background-image);
  border-radius: 0;
  border-radius: var(--radius);
  overflow: hidden;
}

.c-product-card__image {
  border-radius: 0;
  border-radius: var(--radius);
  opacity: 1;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
  visibility: visible;
}

/* Product Card Slider Styles */

.c-product-card__slider {
  height: 100%;
  position: relative;
  width: 100%;
}

.c-product-card__slider-inner {
	background-color: #f3f2ef;
	background-color: var(--color-background);
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.c-product-card__slider-grid {
  backface-visibility: hidden;
  box-sizing: border-box;
  display: flex;
  height: 100%;

  /* Prevent fractional pixel positioning */
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  perspective: 1000px;

  /* Fix for sub-pixel rendering issues */
  transform: translate3d(0, 0, 0);
  transition: transform 0.3s ease;
  width: 100%;
  will-change: transform;
}

.c-product-card__slider-item {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex: 0 0 100%;
  height: 100%;
  min-width: 100%;
  opacity: 0;
  position: relative;

  /* Ensure perfect pixel alignment and prevent sub-pixel rendering issues */
  transform: translateZ(0);
  transition: opacity 0.3s ease;
  width: 100%;
  will-change: transform, opacity

  /* Active/visible state */
}

.c-product-card__slider-item.is-active {
    opacity: 1;
  }

.c-product-card__slider-image {
  height: 100%;
  width: 100%;
}

.c-product-card__slider-media {
  backface-visibility: hidden;
  background-color: #f9f9f9;
  background-color: var(--color-background-image);
  border-radius: 0;
  border-radius: var(--radius);
  height: 100%;

  /* Improve image rendering quality */
  image-rendering: crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  object-fit: cover;

  /* Prevent sub-pixel rendering issues */
  transform: translate3d(0, 0, 0);
  width: 100%;
}

.c-product-card__slider-media--external-video {
  align-items: center;
  background-color: #f9f9f9;
  background-color: var(--color-background-image);
  border-radius: 0;
  border-radius: var(--radius);
  display: flex;
  justify-content: center;
}

.c-product-card__slider-dots {
  align-items: center;
	bottom: -2.5rem;
  display: flex;
  grid-gap: 0.5em;
  gap: 0.5em;
  justify-content: center;
  margin: 0.5em 0 0.25em 0;
	position: absolute;
	transition: opacity 0.3s ease-in-out
}

@media ( min-width: 768px ) {

.c-product-card__slider-dots {
		bottom: -1rem
}
	}

.c-product-card__slider-add-variant-to-cart {
	background-color: white;
	display: none;
	margin-left: 1rem;
	margin-right: 1rem;
	padding: calc(0.25rem * 2);
	padding: var(--gap-micro);
	transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, visibility 0.3s ease-in-out
}

@media ( min-width: 992px ) {

.c-product-card__slider-add-variant-to-cart {
		display: flex
}
	}

.c-product-card__slider-add-variant-to-cart.no-variants {
		display: none;
	}

.c-product-card__image-container-wrapper {
	position: relative;
}

.c-product-card__desktop-add-variant-to-cart {
    bottom: calc(0.25rem * 6);
    bottom: var(--gap-small);
		display: flex;
		justify-content: center;
		position: absolute;
    width: 100%
}

@media ( min-width: 992px ) {

.c-product-card__desktop-add-variant-to-cart {
			opacity: 0;
			visibility: hidden
}
		}

.c-product-card__slider-add-variant-to-cart-text {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	line-height: var(--line-height-micro);
  white-space: nowrap;
}

.c-product-card__slider-add-variant-to-cart-btns {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.one-variant .c-product-card__slider-add-variant-to-cart-btns {
		justify-content: flex-start;
	}

.one-variant .c-product-card__slider-add-variant-to-cart-btns .c-variant-selector__label {
			margin-left: calc(0.25rem * 8);
			margin-left: var(--gap-medium);
		}

.c-product-card__slider-add-variant-to-cart-btns .c-variant-selector__label {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((12 / 16) * 1rem);
		font-size: var(--font-size-micro);
		line-height: var(--line-height-micro);
		border: none;
		font-weight: 500;
		font-weight: var(--font-weight-bold);
		padding-bottom: calc(0.25rem * 2);
		padding-bottom: var(--gap-micro);
		padding-left: calc(0.25rem * 2);
		padding-left: var(--gap-micro);
		padding-right: calc(0.25rem * 2);
		padding-right: var(--gap-micro);
		padding-top: calc(0.25rem * 2);
		padding-top: var(--gap-micro)
	}

.c-product-card__slider-add-variant-to-cart-btns .c-variant-selector__label:hover {
			background-color: #fff;
			background-color: var(--color-white);
			color: #2d2d2c;
			color: var(--color-black);
			text-decoration: underline;
		}

.c-product-card__slider-dot {
  background: #d5d5d5;
  background: var(--color-dark-gray);
  border-radius: 50%;
  cursor: pointer;
  display: inline-block;
  height: 4px;
  transition: background 0.2s;
  width: 4px
}

@media ( min-width: 992px ) {

.c-product-card__slider-dot {
  	height: 5px;
	  width: 5px
}
	}

.c-product-card__slider-dot.is-active {
  background: #2d2d2c;
  background: var(--color-black);
}

.c-product-card__footer {
  display: flex;
	justify-content: space-between;
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro);
  padding-right: calc(0.25rem * 2);
  padding-right: var(--gap-micro);
  padding-top: calc(0.25rem * 5)

}

@media ( min-width: 992px ) {

.c-product-card__footer {
  	padding-top: calc(0.25rem * 2);
  	padding-top: var(--gap-micro)

}
	}

.c-product-card__footer-top {
	flex-basis: 55%;
	width: 55%;
}

.c-product-card__vendor {
	font-style: italic;
	color: #575756;
	color: var(--color-light-gray);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  font-weight: 400;
  padding-bottom: 0.25rem;
  padding-bottom: var(--baseline-unit);
	white-space: nowrap
}

@media ( min-width: 768px ) {

.c-product-card__vendor {
    padding-bottom: 0
}
  }

@media ( min-width: 992px ) {

.c-product-card__vendor {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small);
		line-height: var(--line-height-small);
		color: #575756;
		color: var(--color-light-gray);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading)
}
	}

.c-product-card__price {
  color: #2d2d2c;
  color: var(--color-black);
	margin-left: 1rem;
}

.has-compare-price .c-product-card__price .c-price__current-price {
			margin-bottom: calc(calc(0.25rem * 2) / 2);
			margin-bottom: calc(var(--gap-micro) / 2);
		}

.c-product-card__price .c-price__price {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((14.3 / 16) * 1rem);
		font-size: var(--font-size-tiny);
		line-height: var(--line-height-tiny);
		margin-left: calc(0.25rem * 2);
		margin-left: var(--gap-micro);
		text-align: right
	}

@media ( min-width: 992px ) {

	.c-product-card__price .c-price__price {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
			font-family: var(--font-body);
			font-size: calc((16.5 / 16) * 1rem);
			font-size: var(--font-size-small);
			line-height: var(--line-height-small)
	}
		}

.c-product-card__price .c-price__compare-price {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((14.3 / 16) * 1rem);
		font-size: var(--font-size-tiny);
		line-height: var(--line-height-tiny);
		display: block;
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		text-decoration: line-through;
		width: 100%;
	}

.c-product-card__footer-top .c-product-card__price {
    display: none
  }

@media ( min-width: 768px ) {

  .c-product-card__footer-top .c-product-card__price {
      display: block
  }
    }

.c-product-card__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-black);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	padding-bottom: calc(calc(0.25rem * 2) / 2);
	padding-bottom: calc(var(--gap-micro) / 2);
  width: 100%
}

@media ( min-width: 768px ) {

.c-product-card__title {
		padding-bottom: 0
}
  }

@media ( min-width: 992px ) {

.c-product-card__title {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small);
		line-height: var(--line-height-small);
		color: #2d2d2c;
		color: var(--color-black);
		font-weight: 500;
		font-weight: var(--font-weight-bold)
}

	}

.c-product-card__basket {
  align-items: center;
  background: #fff;
  background: var(--color-white, #fff);
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  cursor: pointer;

  display: flex;
  height: 2.5rem;
  justify-content: center;
  position: absolute;
  right: 0.75rem;
  top: 0.75rem;
  transition: box-shadow 0.2s;
  width: 2.5rem;
  z-index: 2;
}

.c-product-card__basket .c-icon {
		stroke: none;
	}

.s-product-card-modal .c-product-card__basket {
		display: block;
		height: 1.2rem;
		width: 1.2rem;
	}

@media ( min-width: 992px ) {

.c-product-card__basket {
		display: none
}
	}

.c-product-card__basket {

	/* Disabled state for out of stock products */
}

.c-product-card__basket.is-disabled,
	.c-product-card__basket:disabled {
		cursor: not-allowed;
		opacity: 0.5;
		pointer-events: none;
	}

.c-product-card__basket.is-disabled .c-icon, .c-product-card__basket:disabled .c-icon {
			opacity: 0.5;
		}

.c-product-card__basket {

	/* Hide button completely for unavailable products */
}

.c-product-card__basket.is-unavailable {
		display: none;
	}

/* =============================================================================
 # Product Form                                                                #
============================================================================= */

/**
 * Product form component
 * Uses the color system variables for consistent theming:
 * - Borders: --color-border
 * - Background: --color-background
 */

/* Component-specific variables */

:root {
  --c-product-form-border: var(--color-border);
  --c-product-form-bg: var(--color-background);
}

.c-product-form__footer {
  align-items: stretch;
  display: flex;
  padding-top: calc(calc(0.25rem * 6) - calc(0.25rem * 2));
  padding-top: calc(var(--gap-small) - var(--gap-micro));
  width: 100%;
}

.s-product-form__quantity {
  border: 1px solid #eaeaea;
  border: 1px solid var(--c-product-form-border);
  border-radius: 0;
  border-radius: var(--radius);
	display: none;
  height: auto;
  width: 100px;
}

.s-product-form__quantity input[type="number"] {
    background-color: #f3f2ef;
    background-color: var(--c-product-form-bg);
    border: none;
    text-align: center;
    width: 100%
  }

.s-product-form__quantity input[type="number"]::-webkit-inner-spin-button,
    .s-product-form__quantity input[type="number"]::-webkit-outer-spin-button {
      -webkit-appearance: none;
      margin: 0;
    }

@media ( min-width: 768px ) {

.s-product-form__quantity {
    width: 150px
}
  }

.s-product-form__variants-buttons {
  padding-top: calc(calc(0.25rem * 4) * 0.75);
  padding-top: calc(var(--gap-tiny) * 0.75);
}

.s-product-form__form {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.s-product-form__buy-button {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((22 / 16) * 1rem);
	font-size: var(--font-size-medium);
	line-height: var(--line-height-medium);
  width: 100%;
}

.s-product-form__buy-button .c-button {
    display: block;
    text-align: center;
    width: 100%;
  }

.c-product-form__product-info-text {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((14.3 / 16) * 1rem);
	font-size: var(--font-size-tiny);
	line-height: var(--line-height-tiny);
	font-style: italic;
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-weight: 300;
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(0.25rem * 8);
	margin-top: var(--gap);
	width: -moz-fit-content;
	width: fit-content;
}

/* Test Button for Gauge Info Modal */

.c-product-form__gauge-info-test {
	margin-left: auto;
	margin-right: auto;
	margin-top: calc(0.25rem * 6);
	margin-top: var(--gap-small);
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.c-product-form__gauge-info-test .c-button {
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small);
		padding: calc(0.25rem * 4) calc(0.25rem * 6);
		padding: var(--gap-tiny) var(--gap-small);
	}

/* =============================================================================
 # Product Image Slider                                                       #
============================================================================= */

/**
 * Product image slider component
 * Uses the color system variables for consistent theming:
 * - Image background: --color-background
 */

/* Component-specific variables */

:root {
  --c-product-slider-image-bg: var(--color-background);
}

.c-product-slider {
  position: relative;
}

.c-product-slider__images {

}

@media ( max-width: 767px ) {

.c-product-slider__inner {
    overflow: hidden;
    position: relative
}
  }

@media ( min-width: 768px ) {

.c-product-slider__inner {
		overflow-x: hidden;
    overflow-y: hidden
}
  }

.c-product-slider__grid {
  padding-left: 1.5rem;
  padding-left: var(--gap-container)
}

@media ( max-width: 767px ) {

.c-product-slider__grid {
    height: 75vh;
    overflow: hidden;
    padding-left: 0;

    /* Mobile: Stack container */
    position: relative;
    width: 100%
}
  }

@media ( min-width: 768px ) {

.c-product-slider__grid {
		align-items: flex-start;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: calc(1rem / 2 * -1);
		margin-left: calc(var(--gap-grid) / 2 * -1);
		margin-right: calc(1rem / 2 * -1);
		margin-right: calc(var(--gap-grid) / 2 * -1);
		width: calc(100% + 1rem);
		width: calc(100% + var(--gap-grid));
    -ms-overflow-style: none;
    overflow-x: hidden;
    overflow-y: hidden;
    padding-left: 0;
    scrollbar-width: none;
}

		.c-product-slider__grid .c-product-slider__item {
			flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
			flex-grow: 0;
			max-width: calc(( 100 / (12 / 4 ) ) * 1%);
			padding-left: calc(1rem / 2);
			padding-left: calc(var(--gap-grid) / 2);
			padding-right: calc(1rem / 2);
			padding-right: calc(var(--gap-grid) / 2);
		}

		.c-product-slider__grid .c-product-slider__item:nth-child(1),
		.c-product-slider__grid .c-product-slider__item:nth-child(2) {
			flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
			flex-grow: 0;
			max-width: calc(( 100 / (12 / 6 ) ) * 1%);
			padding-left: calc(1rem / 2);
			padding-left: calc(var(--gap-grid) / 2);
			padding-right: calc(1rem / 2);
			padding-right: calc(var(--gap-grid) / 2);
		}
  }

.c-product-slider__item {
  --column: 11.9
}

@media ( max-width: 767px ) {

.c-product-slider__item {
    height: 100%;
    left: 0;

    position: absolute;
    top: 0;
    transition: transform 0.3s ease;
    width: 100%
}
  }

@media ( min-width: 768px ) {

.c-product-slider__item {
    --column: 6;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    width: 100%
}

    .c-product-slider__item:last-child {
      padding-bottom: 0;
    }
  }

.c-product-slider__item:last-child img {
      padding: 0;
    }

@media ( max-width: 767px ) {
  .c-product-slider__item:nth-child(1) { z-index: 10; }
  .c-product-slider__item:nth-child(2) { z-index: 9; }
  .c-product-slider__item:nth-child(3) { z-index: 8; }
  .c-product-slider__item:nth-child(4) { z-index: 7; }
  .c-product-slider__item:nth-child(5) { z-index: 6; }
  .c-product-slider__item:nth-child(6) { z-index: 5; }
  .c-product-slider__item:nth-child(7) { z-index: 4; }
  .c-product-slider__item:nth-child(8) { z-index: 3; }
  .c-product-slider__item:nth-child(9) { z-index: 2; }
  .c-product-slider__item:nth-child(10) { z-index: 1; }
}

.c-product-slider__media,
.c-product-slider__image {
  width: 100%;
}

.c-product-slider__media video,
  .c-product-slider__media img,
  .c-product-slider__image video,
  .c-product-slider__image img {
    background-color: #f3f2ef;
    background-color: var(--c-product-slider-image-bg);
    height: 75vh;
    object-fit: cover;
    width: 100%
  }

.c-product-slider__media video:hover, .c-product-slider__media img:hover, .c-product-slider__image video:hover, .c-product-slider__image img:hover {
			cursor: url('zoom-in.svg') 13 13, auto;
		}

@media ( min-width: 768px ) {

	.c-product-slider__media video,
  .c-product-slider__media img,
  .c-product-slider__image video,
  .c-product-slider__image img {
      height: 100%
  }
    }

.c-product-slider__media video, .c-product-slider__image video {
    aspect-ratio: 3 / 4;
    touch-action: pan-x pan-y
  }

.c-product-slider__media video:hover, .c-product-slider__image video:hover {
			color: #fff;
			color: var(--color-white);
			cursor: url('play.svg') 13 13, auto
		}

.c-product-slider__media video:hover.playing, .c-product-slider__image video:hover.playing {
				color: #fff;
				color: var(--color-white);
				cursor: url('pause.svg') 13 13, auto;
			}

.c-product-slider__media video, .c-product-slider__image video {

    /* Better thumbnail quality */
  }

.c-product-slider__media video::-webkit-media-controls, .c-product-slider__image video::-webkit-media-controls {
      display: none !important;
    }

.c-product-slider__media video::-webkit-media-controls-enclosure, .c-product-slider__image video::-webkit-media-controls-enclosure {
      display: none !important;
    }

.c-product-slider__counter {
  background-color: #fff;
  background-color: var(--color-white);
  bottom: 0.5rem;
  color: #2d2d2c;
  color: var(--color-black);
  font-family: inherit;
  font-size: 12px;
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  padding: 0.25rem 0.5rem;
  pointer-events: none;
  position: absolute;
  right: 0.5rem;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  z-index: 15
}

@media ( min-width: 768px ) {

.c-product-slider__counter {
    display: none
}
  }

/* =============================================================================
 # Product Stock                                                              #
============================================================================= */

.c-product-stock__inner {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);

  align-items: center;
  display: flex;
  line-height: 1;
  text-transform: uppercase;
  width: 100%;
}

.c-product-stock__icon {
  border-radius: 50%;
  height: 0.5rem;
  width: 0.5rem
}

.c-product-stock__icon.is-in-stock {
    background-color: #2e7d32;
    background-color: var(--color-success);
  }

.c-product-stock__icon.is-out-of-stock {
    background-color: #ce3127;
    background-color: var(--color-error);
  }

.c-product-stock__title {
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro);
}

.c-product-stock__text {
  color: var(--color-grey);
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro);
}

/* =============================================================================
 # Size Chart Table                                                          #
============================================================================= */

/**
 * Reusable size chart table component
 *
 * Provides consistent styling for size chart tables across the site.
 * Includes responsive behavior and accessibility features.
 */

.c-size-chart {
  background-color: var(--color-background-primary);
  border-collapse: collapse;
  border-radius: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow-light);
  font-family: var(--font-family-body);
  margin: 0;
  overflow: hidden;
  width: 100%;
}

.c-size-chart th,
.c-size-chart td {
  border-bottom: 1px solid #eaeaea;
  border-bottom: 1px solid var(--color-border);
  padding: calc(0.25rem * 6) calc(0.25rem * 8);
  padding: var(--gap-small) var(--gap-medium);
  text-align: center;
  vertical-align: middle;
}

/* Header styling */

.c-size-chart th {
  background-color: var(--color-background-secondary);
  color: var(--color-text-primary);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0.5px;
  position: sticky;
  text-transform: uppercase;
  top: 0;
  z-index: 1;
}

/* First column (size names) - left aligned and bold */

.c-size-chart td:first-child,
.c-size-chart th:first-child {
  background-color: var(--color-background-secondary);
  font-weight: var(--font-weight-medium);
  left: 0;
  position: sticky;
  text-align: left;
  z-index: 2;
}

/* When both first column and header */

.c-size-chart th:first-child {
  z-index: 3;
}

/* Data cells */

.c-size-chart td {
  color: var(--color-text-primary);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  font-feature-settings: "tnum";
  font-variant-numeric: tabular-nums;
}

/* Remove border from last row */

.c-size-chart tr:last-child th,
.c-size-chart tr:last-child td {
  border-bottom: none;
}

/* Zebra striping for better readability */

.c-size-chart tbody tr:nth-child(even) {
  background-color: var(--color-background-tertiary);
}

.c-size-chart tbody tr:nth-child(even) td:first-child {
  background-color: var(--color-background-secondary);
}

/* Hover effect */

.c-size-chart tbody tr:hover {
  background-color: var(--color-background-accent);
}

.c-size-chart tbody tr:hover td:first-child {
  background-color: var(--color-background-accent);
}

/* Responsive behavior */

@media (max-width: 768px) {
  .c-size-chart {
    font-size: calc((14.3 / 16) * 1rem);
    font-size: var(--font-size-tiny);
  }

  .c-size-chart th,
  .c-size-chart td {
    padding: calc(0.25rem * 4) calc(0.25rem * 6);
    padding: var(--gap-tiny) var(--gap-small);
  }
}

/* Extra small screens - horizontal scroll */

@media (max-width: 600px) {
  .c-size-chart-container {
    margin: 0 calc(-1 * calc(0.25rem * 8));
    margin: 0 calc(-1 * var(--gap-medium));
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    padding: 0 calc(0.25rem * 8);
    padding: 0 var(--gap-medium);
  }

  .c-size-chart {
    min-width: 500px;
  }
}

/* Alternative: Responsive table that transforms on mobile */

@media (max-width: 480px) {
    /* Stack table into card layout on very small screens */

    .c-size-chart--responsive thead {
      display: none;
    }

    .c-size-chart--responsive tbody,
    .c-size-chart--responsive tr,
    .c-size-chart--responsive td {
      display: block;
    }

    .c-size-chart--responsive tr {
      background-color: var(--color-background-primary);
      border: 1px solid #eaeaea;
      border: 1px solid var(--color-border);
      border-radius: 0;
      border-radius: var(--radius);
      margin-bottom: calc(0.25rem * 8);
      margin-bottom: var(--gap-medium);
      padding: calc(0.25rem * 8);
      padding: var(--gap-medium);
    }

    .c-size-chart--responsive td {
      border: none;
      padding: calc(0.25rem * 4) 0;
      padding: var(--gap-tiny) 0;
      padding-left: 40%;
      position: relative;
      text-align: right;
    }

    .c-size-chart--responsive td::before {
      color: #575756;
      color: var(--color-text-secondary);
      content: attr(data-label) ": ";
      font-size: calc((14.3 / 16) * 1rem);
      font-size: var(--font-size-tiny);
      font-weight: var(--font-weight-medium);
      left: 0;
      letter-spacing: 0.5px;
      position: absolute;
      text-transform: uppercase;
      top: calc(0.25rem * 4);
      top: var(--gap-tiny);
    }

    .c-size-chart--responsive td:first-child {
      background: none;
      font-size: calc((22 / 16) * 1rem);
      font-size: var(--font-size-medium);
      font-weight: var(--font-weight-medium);
      margin-bottom: calc(0.25rem * 6);
      margin-bottom: var(--gap-small);
      padding-left: 0;
      text-align: center;
    }

    .c-size-chart--responsive td:first-child::before {
      display: none;
    }
}

/* Size guide specific table styling */

.c-size-guide .c-size-chart {
  margin-top: calc(0.25rem * 8);
  margin-top: var(--gap-medium);
}

/* Print styles */

@media print {
  .c-size-chart {
    border: 1px solid #eaeaea;
    border: 1px solid var(--color-border);
    box-shadow: none;
  }

  .c-size-chart th {
    background-color: var(--color-background-secondary) !important;
    color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }
}

/* =============================================================================
 # Size Guide Modal                                                          #
============================================================================= */

/* Modal specific overrides */

.c-modal--size-guide[class] {
  /* Inherit colors from parent modal */
  --color-text: var(--color-text);
	background: #fff;
	background: var(--color-white)

  /* Size guide specific responsive behavior */
}

@media ( min-width: 768px ) {

.c-modal--size-guide[class] {
    bottom: 0;
    left: auto;
    right: 0;
    width: 33rem
}
  }

.c-modal--size-guide[class].is-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
  }

.c-modal--size-guide[class] {

  /* Size guide specific animations */
}

.c-modal--size-guide[class].is-animating-in {
    animation-name: animate-in-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--size-guide[class].is-animating-in {
      animation-name: animate-in-modal-desktop
  }
    }

.c-modal--size-guide[class].is-animating-out {
    animation-delay: 0s;
    animation-name: animate-out-modal-mobile
  }

@media ( min-width: 768px ) {

.c-modal--size-guide[class].is-animating-out {
      animation-name: animate-out-modal-desktop
  }
    }

/* Size guide specific layout adjustments */

@media ( min-width: 768px ) {
  .c-modal--size-guide[class] .c-modal__inner {
      bottom: 0;
      left: auto;
      right: 0;
      top: 0;
      width: 100%
  }
    }

.c-modal--size-guide[class] .c-modal__main {
    padding-top: 0;
  }

.c-modal--size-guide[class] .c-modal__body {
    height: 100%;
    width: 100%;
  }

.c-modal--size-guide[class] .c-modal__container {
    overflow: scroll;
  }

.c-modal--size-guide[class] .c-modal__header {
    border-bottom: none;
    padding-left: 0;
    padding-right: 0;
  }

.c-modal--size-guide[class] .c-modal__header-actions {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

.c-modal--size-guide[class] .c-modal__content {
		padding-top: calc(0.25rem * 4);
		padding-top: var(--gap-tiny);
  }

.c-modal--size-guide[class] .c-modal__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
    margin: 0;
  }

/**
 * Size Guide Modal Component
 *
 * Displays size guides with product images, guide images, and size charts.
 * Layout adapts from two-column on desktop to stacked on mobile.
 */

.c-size-guide__explanation p {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small);
		line-height: var(--line-height-small);
    color: #575756;
    color: var(--color-text-secondary);
    margin: 0;
  }

.c-size-guide__content {
  display: flex;
	flex-direction: column;
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap);
}

.c-size-guide__images {
  display: flex;
  grid-gap: calc(0.25rem * 4);
  gap: calc(0.25rem * 4);
  grid-gap: var(--gap-tiny);
  gap: var(--gap-tiny);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap);
}

.c-size-guide__product-image,
.c-size-guide__guide-image {
	text-align: center;
}

.c-size-guide__product-image img, .c-size-guide__guide-image img {
		background-color: #f3f2ef;
		background-color: var(--color-background);
		width: 100%;
  }

.c-size-guide__product-image {
	flex: calc(( 100 / ( 7 / 12 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / ( 7 / 12 ) ) * 1%);
}

.c-size-guide__guide-image {
	flex: calc(( 100 / ( 5 / 12 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / ( 5 / 12 ) ) * 1%);
}

.c-size-guide__image-caption {
  color: #575756;
  color: var(--color-text-secondary);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  margin-bottom: 0;
  margin-top: calc(0.25rem * 6);
  margin-top: var(--gap-small);
  text-align: center;
}

.c-size-guide__chart-container {
  /* Table container will handle responsive behavior */
}

.c-size-guide__chart {
  overflow: scroll;

  /* Responsive table behavior */
}

.c-size-guide__chart table {
    border-collapse: collapse;
		letter-spacing: 0.05em;
    margin: 0;
		min-width: 100%;
		text-align: center;
    width: 100%;
  }

.c-size-guide__chart th,
  .c-size-guide__chart td {
    border-bottom: 1px solid #eaeaea;
    border-bottom: 1px solid var(--color-border);
    padding: calc(0.25rem * 6) calc(0.25rem * 2);
    padding: var(--gap-small) var(--gap-micro);
		text-align: center;
    vertical-align: middle;
  }

.c-size-guide__chart th {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    color: var(--color-text-primary);
    font-size: calc((12 / 16) * 1rem);
    font-size: var(--font-size-micro);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
    letter-spacing: 0.5px;
		text-align: center;
    text-transform: uppercase

    /* Every second th gets different background */
  }

.c-size-guide__chart th:nth-child(even) {
      background-color: #f3f2ef;
      background-color: var(--color-background);
    }

.c-size-guide__chart td {
    color: var(--color-text-primary);
    font-size: calc((12 / 16) * 1rem);
    font-size: var(--font-size-micro)

    /* Every second td gets different background */
  }

.c-size-guide__chart td:nth-child(even) {
      background-color: #f3f2ef;
      background-color: var(--color-background);
    }

.c-size-guide__chart td:first-of-type {
			text-align: left;
		}

/* First column styling (usually size names) */

.c-size-guide__chart td:first-child {
    color: var(--color-text-primary);
    font-weight: var(--font-weight-medium);
  }

.c-size-guide__chart tr td:first-child {
			font-weight: 500;
			font-weight: var(--font-weight-bold);
		}

.c-size-guide__chart tr:first-child td {
			font-weight: 500;
			font-weight: var(--font-weight-bold)
		}

.c-size-guide__chart tr:first-child td:first-child {
				font-weight: 500;
				font-weight: var(--font-weight-bold);
			}

/* Remove border from last row */

.c-size-guide__chart tr:last-child th {
      border-bottom: none;
    }

/* Zebra striping for better readability */

.c-size-guide__chart tbody tr:nth-child(even) {
    background-color: var(--color-background-tertiary);
  }

@media (max-width: 600px) {

.c-size-guide__chart {

    /* Stack table horizontally if too many columns */
}
    .c-size-guide__chart table {
      font-size: calc((14.3 / 16) * 1rem);
      font-size: var(--font-size-tiny);
    }

    .c-size-guide__chart th,
    .c-size-guide__chart td {
      padding: calc(0.25rem * 4) calc(0.25rem * 6);
      padding: var(--gap-tiny) var(--gap-small);
    }
    .c-size-guide__chart.c-size-guide__chart--scrollable {
      -webkit-overflow-scrolling: touch;
      overflow-x: auto;
    }

      .c-size-guide__chart.c-size-guide__chart--scrollable table {
        min-width: 500px;
      }
  }

/* For blog posts without tables - show formatted content */

.c-size-guide__description p {
    line-height: calc(0.25rem * 7.5);
    line-height: var(--line-height-body);
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap-medium);
  }

.c-size-guide__description p:last-child {
    margin-bottom: 0;
  }

.c-size-guide__description ul,
  .c-size-guide__description ol {
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap-medium);
    padding-left: calc(0.25rem * 16);
    padding-left: var(--gap-large);
  }

.c-size-guide__description li {
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.c-size-guide__no-guide {
  color: #575756;
  color: var(--color-text-secondary);
  padding: var(--gap-extra-large);
  text-align: center;
}

.c-size-guide__no-guide p {
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    margin: 0;
  }

/* =============================================================================
 # Social                                                                     #
============================================================================= */

/**
 * Social component
 * Uses the color system variables for consistent theming:
 * - Text: --color-text
 * - Icon: --color-text
 */

/* Component-specific variables */

:root {
  --c-social-text: var(--color-text-light);
  --c-social-icon: var(--color-text);
  --c-social-modal-text: var(--color-black);
}

.c-social {
  display: flex;
  flex-direction: column;
  padding-top: calc(0.25rem * 2);
  padding-top: var(--gap-micro);
}

.c-social__item {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);

  color: #fff;

  color: var(--c-social-text);
  line-height: calc(0.25rem * 6);
  line-height: var(--line-height-small);
  padding-right: calc(0.25rem * 4);
  padding-right: var(--gap-tiny)
}

.c-social__item:last-of-type {
    padding-right: 0;
  }

.c-modal__footer .c-social__item {
    color: #2d2d2c;
    color: var(--c-social-modal-text);
  }

@media ( min-width: 992px ) {

.c-social__item {
    flex-basis: 100%;
    padding-right: 0
}
  }

.c-social__link {
  align-items: center;
  display: flex;
  text-decoration: none;
}

.c-social__link:hover .c-social__item-icon,
.c-social__link:focus .c-social__item-icon {
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition);
}

.c-social__item-icon {
  color: #2d2d2c;
  color: var(--c-social-icon);
  display: flex;
  font-size: 0.5rem;
  margin-left: 0.75rem;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition);
}

.c-social__item-icon .c-icon {
    transform: rotate(90deg);
  }

/* =============================================================================
 # Sort Facet Component                                                        #
============================================================================= */

/**
 * Sort facet dropdown component styled to match the clean design reference.
 * Provides product sorting functionality with minimal, underlined styling.
 */

/* Sort Facet Container
============================================================================= */

.c-sort-facet {
  display: inline-block;
  position: relative;
}

.c-sort-facet__form {
  margin: 0;
}

.c-sort-facet__form--horizontal {
  align-items: center;
  display: flex;
}

/* Sort Facet Field
============================================================================= */

.c-sort-facet__field {
  align-items: center;
  display: flex;
  grid-gap: calc(0.25rem * 2);
  gap: calc(0.25rem * 2);
  grid-gap: var(--gap-micro);
  gap: var(--gap-micro);
  position: relative;
}

.c-sort-facet__label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);
  color: #2d2d2c;
  color: var(--color-text);
  letter-spacing: 0.5px;
  margin: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

/* Select Wrapper & Styling
============================================================================= */

.c-sort-facet__select-wrapper {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  grid-gap: calc(0.25rem * 4);
  gap: calc(0.25rem * 4);
  grid-gap: var(--gap-tiny);
  gap: var(--gap-tiny);
  position: relative;
}

.c-sort-facet__select {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((12 / 16) * 1rem);
  font-size: var(--font-size-micro);
  line-height: var(--line-height-micro);
  appearance: none;
  background: transparent;
  border: none;
  color: #2d2d2c;
  color: var(--color-text);
  cursor: pointer;
  font-weight: 400;
  letter-spacing: 0.5px;
  margin: 0;
  outline: none;
  padding: 0;
  padding-right: 1.5rem;
	text-transform: uppercase;

}

.c-sort-facet__select:focus {
  outline: 2px solid #2d2d2c;
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Select Hover States
============================================================================= */

.c-sort-facet__select:hover {
  color: #2d2d2c;
  color: var(--color-primary);
}

.c-sort-facet__select-wrapper:hover .c-sort-facet__arrow {
  color: #2d2d2c;
  color: var(--color-primary);
}

/* Dropdown Arrow
============================================================================= */

.c-sort-facet__arrow {
  color: #2d2d2c;
  color: var(--color-text);
  display: inline-flex;
  font-size: 0.8rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  transition: all 0.2s ease;
}

.c-sort-facet__arrow svg {
  height: 1em;
  width: 1em;
}

/* Select Options Styling (when opened)
============================================================================= */

.c-sort-facet__select option {
  background-color: #fff;
  background-color: var(--color-white);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 400;
  padding: calc(0.25rem * 4) calc(0.25rem * 6);
  padding: var(--gap-tiny) var(--gap-small);
}

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

@media ( max-width: 768px ) {
  .c-sort-facet__label {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((12 / 16) * 1rem);
    font-size: var(--font-size-micro);
    line-height: var(--line-height-micro);
		text-transform: uppercase;
  }

  .c-sort-facet__current-selection,
  .c-sort-facet__select {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((12 / 16) * 1rem);
    font-size: var(--font-size-micro);
    line-height: var(--line-height-micro);
  }
}

/* Focus and Accessibility
============================================================================= */

.c-sort-facet__select:focus ~ .c-sort-facet__arrow {
  color: #2d2d2c;
  color: var(--color-primary);
}

/* Loading State (optional)
============================================================================= */

.c-sort-facet.is-loading .c-sort-facet__select {
  opacity: 0.6;
}

.c-sort-facet.is-loading .c-sort-facet__arrow {
  opacity: 0.6;
}

/* Alternative Vertical Layout
============================================================================= */

.c-sort-facet__form:not(.c-sort-facet__form--horizontal) .c-sort-facet__field {
  align-items: flex-start;
  flex-direction: column;
  grid-gap: calc(0.25rem * 2);
  gap: calc(0.25rem * 2);
  grid-gap: var(--gap-micro);
  gap: var(--gap-micro);
}

.c-sort-facet__form:not(.c-sort-facet__form--horizontal) .c-sort-facet__label {
  margin-bottom: calc(0.25rem * 4);
  margin-bottom: var(--gap-tiny);
}

/* =============================================================================
 # Toast Notification                                                           #
============================================================================= */

/**
 * A component for toast notifications
 */

.c-toast {
	align-items: center;
	display: none;
	grid-gap: 1rem;
	gap: 1rem;
	opacity: 0;
	right: calc(0.25rem * 6);
	right: var(--gap-small);
	top: 5rem;
	transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
	visibility: hidden;
	width: -moz-fit-content;
	width: fit-content;
	z-index: 10000
}

.c-toast.is-visible {
		opacity: 1;
		visibility: visible;
	}

.c-toast .c-toast__title--error {
		display: none;
	}

.c-toast.c-toast--success {
		background: #f3f2ef;
		background: var(--color-background);
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		color: #2d2d2c;
		color: var(--color-text);
		display: none;
		padding: 1rem 1.5rem;
		position: fixed;
		z-index: 10000;
	}

.c-toast.c-toast--error {
    background: #f44336;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    color: white;
    padding: 1rem 1.5rem;
		position: fixed;
	}

.c-toast.c-toast--error .c-toast__checkout-btn {
			display: none;
		}

.c-toast.c-toast--error .c-toast__title--error {
			display: block;
		}

.c-toast.c-toast--error .c-toast__title {
			display: none;
		}

.c-toast.c-toast--error .c-toast__message--error {
			margin-top: calc(0.25rem * 2);
			margin-top: var(--gap-micro);
		}

.c-toast.c-toast--error .c-toast__text {
			display: none;
		}

@media ( min-width: 992px ) {

.c-toast {
    left: auto;
		right: 1.5rem;
		right: var(--gap-container)
}
	}

.c-toast__content {
	align-items: center;
	display: flex;
	flex: 1;
	grid-gap: 0.75rem;
	gap: 0.75rem;
}

.c-toast__image {
	flex-shrink: 0;
}

.c-toast__image img {
	display: block;
	height: 60px;
	object-fit: cover;
	width: 60px;
}

.c-toast__text {
	flex: 1;
	min-width: 0;
}

.c-toast__title {
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	padding-bottom: calc(calc(0.25rem * 2) / 2);
	padding-bottom: calc(var(--gap-micro) / 2);
}

.c-toast__message {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((12 / 16) * 1rem);
	font-size: var(--font-size-micro);
	line-height: var(--line-height-micro);
	color: #2d2d2c;
	color: var(--color-text);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	line-height: 1.2;
	margin: 0;
	padding-bottom: calc(calc(0.25rem * 2) / 2);
	padding-bottom: calc(var(--gap-micro) / 2);
	white-space: nowrap;
}

.c-toast__close {
	background: none;
	border: none;
	color: #999;
	color: var(--color-grey-dark, #999);
	cursor: pointer;
	flex-shrink: 0;
	padding: 0.25rem;
	transition: color 0.2s ease;
}

.c-toast__close:hover {
	color: #2d2d2c;
	color: var(--color-text);
}

.c-toast__close svg {
	display: block;
	height: 16px;
	width: 16px;
}

.c-toast__checkout-btn {
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small);
	padding-right: calc(0.25rem * 6);
	padding-right: var(--gap-small);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

/* =============================================================================
 # Variant Selector                                                           #
============================================================================= */

/**
 * A component for variant selector
 * Uses the color system variables for consistent theming:
 * - Borders: --color-border
 * - Background: --color-background
 * - Text: --color-text
 */

/* Component-specific variables */

:root {
  --c-variant-selector-border: var(--color-border);
  --c-variant-selector-bg: var(--color-background);
  --c-variant-selector-text: var(--color-text);
  --c-variant-selector-selected-bg: var(--color-primary);
  --c-variant-selector-selected-text: var(--hover-primary);
  --c-variant-selector-selected-border: var(--color-primary);
}

.c-variant-selector {
  padding-top: calc(0.25rem * 6);
  padding-top: var(--gap-small)
}

.c-variant-selector.c-variant-selector--color {
    padding-bottom: calc(0.25rem * 6);
    padding-bottom: var(--gap-small);
  }

.c-variant-selector[disabled],
.c-variant-selector:disabled {
  background-color: transparent;
	border: 1px solid #d5d5d5;
	border: 1px solid var(--color-dark-gray);
  pointer-events: none;
}

.c-variant-selector__options {
  display: flex;
	flex-flow: wrap;
}

.c-variant-selector__input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px
}

.c-variant-selector__input.option-out-of-stock + .c-variant-selector__label {
		background-color: #f3f2ef;
		background-color: var(--color-background);
		color: #575756;
		color: var(--color-light-gray);
		text-decoration: line-through;
	}

.s-product-information__details .c-variant-selector__input {

	}

.c-variant-selector__name {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;

  padding-bottom: calc(0.25rem * 2);

  padding-bottom: var(--gap-micro);
	text-transform: capitalize;
}

.c-variant-selector__option {
	padding-bottom: calc(0.25rem * 2);
	padding-bottom: var(--gap-micro);
  padding-right: calc(0.25rem * 2);
  padding-right: var(--gap-micro);
}

.c-variant-selector__label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
	align-items: center;
	background-color: #fff;
	background-color: var(--color-white);

  border: 1px solid #eaeaea;

  border: 1px solid var(--c-variant-selector-border);
	border-radius: 0;
	border-radius: var(--radius);
  cursor: pointer;
  display: flex;
	font-weight: 500;
	font-weight: var(--font-weight-bold);
	height: 2rem;
	justify-content: center;
  letter-spacing: 0.1em;
  opacity: 1;
  padding-bottom: 1.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1.25rem;
  transition:
    background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
    color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
    border-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition:
    background-color var(--transition),
    color var(--transition),
    border-color var(--transition)
}

.c-variant-selector__label.c-variant-selector__label--image {
    background-color: #f3f2ef;
    background-color: var(--c-variant-selector-bg);
    padding: 0;
    position: relative;
    width: 4.3rem

    /* Add color swatch background if data-color attribute is present */
  }

.c-variant-selector__label.c-variant-selector__label--image[data-color] {
      background-color: var(--color-swatch);
			border-radius: 1rem;
			height: 1rem;
			width: 1rem;
    }

.c-variant-selector--color .c-variant-selector__label.c-variant-selector__label--image[data-color].is-active {
					background-color: var(--color-swatch);
					position: relative
				}

.c-variant-selector--color .c-variant-selector__label.c-variant-selector__label--image[data-color].is-active::before {
						border: 1px solid #2d2d2c;
						border: 1px solid var(--c-variant-selector-selected-border);
						border-radius: 50%;
						bottom: -0.25rem;
						content: '';
						left: -0.25rem;
						position: absolute;
						right: -0.25rem;
						top: -0.25rem;
						z-index: -1;
					}

.c-variant-selector__input:checked + .c-variant-selector__label {
    background-color: #2d2d2c;
    background-color: var(--c-variant-selector-selected-bg);
    color: #fff;
    color: var(--c-variant-selector-selected-text);
  }

.c-variant-selector__input:focus + .c-variant-selector__label {
    outline: 2px solid #2d2d2c;
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

.c-variant-selector__input:checked + .c-variant-selector__label.c-variant-selector__label--image {
    background-color: #f3f2ef;
    background-color: var(--c-variant-selector-bg);
    color: #2d2d2c;
    color: var(--c-variant-selector-text);
  }

.c-variant-selector__label:hover .c-variant-selector__color-name, .c-variant-selector__label:focus .c-variant-selector__color-name, .c-variant-selector__input:checked + .c-variant-selector__label.c-variant-selector__label--image .c-variant-selector__color-name {
      opacity: 1;
      visibility: visible;
    }

@media ( min-width: 768px ) {

.c-variant-selector__label {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((12 / 16) * 1rem);
		font-size: var(--font-size-micro);
		line-height: var(--line-height-micro)
}
	}

.c-variant-selector__selected-color-value {
	font-style: italic;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-weight: 400;
	text-transform: capitalize;
}

.c-variant-selector__image {
  aspect-ratio: 4 / 5;
  position: relative;
}

@supports not (aspect-ratio: 1 / 1) {

.c-variant-selector__image {
    height: 0;
    overflow: hidden;
    padding-top: calc((5 / 4) * 100%)
}
  }

.c-variant-selector__image embed,
  .c-variant-selector__image iframe,
  .c-variant-selector__image img,
  .c-variant-selector__image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.c-variant-selector__image {

  display: block;
}

.c-variant-selector__image img::selection {
    background-color: transparent;
  }

.c-variant-selector__color-name {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: 1;

  bottom: 0;
  left: 50%;
  opacity: 0;
  padding-bottom: 0.25rem;
  padding-top: 0.5rem;
  position: absolute;
  text-align: center;
  transform: translate(-50%, 100%);
  transition:
    opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94),
    visibility 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition:
    opacity var(--transition),
    visibility var(--transition);
  visibility: hidden;
}

.c-variant-selector__input[available="false"] + .c-variant-selector__label {
	background-color: transparent;
	color: #d5d5d5;
	color: var(--color-dark-gray);
	pointer-events: none;
	text-decoration: line-through;
}

/* ============================================================================
 # Video                                                                     #
============================================================================= */

.c-video__video {
	aspect-ratio: 16/9;
	height: 100%;
	max-height: 85vh;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* -----------------------------------------------------------------------------
 # Layout –                                                                   #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Site Footer                                                                #
============================================================================= */

/**
 * Site footer layout
 * Uses the color system variables for consistent theming:
 * - Text: --color-text-light
 * - Background: --color-background-footer
 * - Borders: --border-color-footer
 */

/* Layout-specific variables */

:root {
  --l-site-footer-text: var(--color-text-light);
  --l-site-footer-bg: var(--color-background-footer);
  --l-site-footer-border: var(--color-border);
}

.l-site-footer {
  background-color: #fff;
  background-color: var(--l-site-footer-bg);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
  padding-top: calc(calc(0.25rem * 8) * 1.25);
  padding-top: calc(var(--gap) * 1.25);
}

.l-site-footer__container {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.l-site-footer__grid {
	border-bottom: 1px solid #eaeaea;
	border-bottom: 1px solid var(--color-border);
	margin-bottom: calc(0.25rem * 8);
	margin-bottom: var(--gap)
}

@media ( min-width: 992px ) {

.l-site-footer__grid {
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: center
}
	}

.l-site-footer__column {
	margin-left: auto;
	margin-right: auto;
	width: -moz-fit-content;
	width: fit-content;
}

.l-site-footer__column--menu {
	margin-top: calc(0.25rem * 8);
	margin-top: var(--gap);
	text-align: center
}

@media ( min-width: 992px ) {

.l-site-footer__column--menu {
		flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
		order: 2;
}

		.p-template-password .l-site-footer__column--menu {
			margin-top: 0;
		}
	}

@media ( min-width: 768px ) {

.l-site-footer__menu {
		display: flex;
		justify-content: center
}
	}

.l-site-footer__menu-item {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((22 / 16) * 1rem);
	font-size: var(--font-size-medium);
	line-height: var(--line-height-medium);
	font-style: italic;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	margin-bottom: calc(0.25rem * 6);
	margin-bottom: var(--gap-small)
}

@media ( min-width: 768px ) {

.l-site-footer__menu-item {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((20 / 16) * 1rem);
		font-size: var(--font-size-xmedium);
		line-height: var(--line-height-xmedium);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading)
}

		.l-site-footer__menu-item:not(:last-child) {
			margin-right: calc(0.25rem * 6);
			margin-right: var(--gap-small);
		}
	}

.l-site-footer__email {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((22 / 16) * 1rem);
	font-size: var(--font-size-medium);
	line-height: var(--line-height-medium);
	font-style: italic;
	display: inline-block;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	margin-bottom: 1.5rem
}

@media ( min-width: 768px ) {

.l-site-footer__email {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((20 / 16) * 1rem);
		font-size: var(--font-size-xmedium);
		line-height: var(--line-height-xmedium);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading)
}
	}

@media ( min-width: 992px ) {

.l-site-footer__email {
		margin-bottom: 0
}
	}

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

.l-site-footer__link:hover,
	.l-site-footer__link:focus {
		text-decoration: none;
	}

.l-site-footer__column--social {
	align-items: center;
	display: flex;
	grid-gap: calc(0.25rem * 6);
	gap: calc(0.25rem * 6);
	grid-gap: var(--gap-small);
	gap: var(--gap-small);
	justify-content: center;
}

.l-site-footer__column--social .l-site-footer__social-icon {
		transition: all 0.3s 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94) stroke 0.3s 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
		transition: all 0.3s var(--transition) stroke 0.3s var(--transition)
	}

.l-site-footer__column--social .l-site-footer__social-icon:hover,
		.l-site-footer__column--social .l-site-footer__social-icon:focus {
			border-color: #ab582b;
			border-color: var(--color-orange);
			color: #ab582b;
			color: var(--color-orange);
			cursor: pointer;
		}

.l-site-footer__column--social .l-site-footer__social-icon:hover .c-icon, .l-site-footer__column--social .l-site-footer__social-icon:focus .c-icon {
				fill: #ab582b;
				fill: var(--color-orange);
				stroke: #ab582b;
				stroke: var(--color-orange);
			}

.l-site-footer__column--social .l-site-footer__social-icon:hover .c-icon path, .l-site-footer__column--social .l-site-footer__social-icon:focus .c-icon path {
					fill: #ab582b;
					fill: var(--color-orange);
				}

@media ( min-width: 768px ) {

.l-site-footer__column--social {
		grid-gap: calc(0.25rem * 6);
		gap: calc(0.25rem * 6);
		grid-gap: var(--gap-small);
		gap: var(--gap-small)
}
	}

@media ( min-width: 992px ) {

.l-site-footer__column--social {
		flex-basis: calc(( 100 / ( 12 / 2 ) ) * 1%);
		justify-content: flex-end;
		order: 3;
}

		.l-site-footer__column--social .c-icon {
			height: 1.25rem;
			width: 1.25rem;
		}
	}

.l-site-footer__social-icon {
  align-items: center;
  border: 1px solid #2d2d2c;
  border: 1px solid var(--color-black);
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  padding: 0;
  width: 2.5rem;
}

.l-site-footer__column--info-text {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	margin-top: calc(0.25rem * 8);
	margin-top: var(--gap);
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap);
	text-align: center
}

@media ( min-width: 768px ) {

.l-site-footer__column--info-text {
		line-height: calc(0.25rem * 7);
		line-height: var(--line-height-xmedium);
		max-width: 500px
}
	}

@media ( min-width: 992px ) {

.l-site-footer__column--info-text {
		flex-basis: 100%;
		max-width: 33rem;
		order: 4
}
	}

@media ( min-width: 1280px ) {

.l-site-footer__column--info-text {
		/* max-width: 40rem; */
}
	}

.l-site-footer__payment-title {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((14.3 / 16) * 1rem);
	font-size: var(--font-size-tiny);
	line-height: var(--line-height-tiny);
	color: #575756;
	color: var(--color-light-gray);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	padding-bottom: calc(0.25rem * 4);
	padding-bottom: var(--gap-tiny);
	text-align: center;
}

.l-site-footer__payment-images {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	grid-gap: 1rem;
	gap: 1rem;
	grid-gap: var(--gap-grid);
	gap: var(--gap-grid);
	justify-content: center
}

@media ( min-width: 768px ) {

.l-site-footer__payment-images {
		flex-wrap: nowrap
}
	}

.l-site-footer__payment-image img {
		height: 100%;
		object-fit: contain;
		width: 100%;
	}

@media ( min-width: 992px ) {

.l-site-footer__column--logo {
		flex-basis: calc(( 100 / ( 12 / 2 ) ) * 1%);
		order: 1;
}

		.l-site-footer__column--logo .l-site-footer__link {
			justify-content: flex-start;
		}
	}

.l-site-footer__column--payment {
	max-width: 15rem;
	width: 100%
}

@media ( min-width: 992px ) {

.l-site-footer__column--payment {
		max-width: 12rem
}
	}

@media ( min-width: 768px ) {

.l-site-footer__social-icon--instagram,
.l-site-footer__social-icon--facebook {
		height: 2rem;
		width: 2rem;
}

		.l-site-footer__social-icon--instagram svg, .l-site-footer__social-icon--facebook svg {
			height: 0.8em;
			width: 0.8em;
		}
	}

.l-site-footer__social-icon--instagram {
  margin-right: -0.75rem;
}

/* =============================================================================
 # Site Header                                                                #
============================================================================= */

/**
 * Site header layout
 * Uses the color system variables for consistent theming:
 * - Text: --color-text
 * - Light text: --color-text-light (for transparent header)
 * - Background: --color-background
 */

/* Layout-specific variables */

:root {
  --l-site-header-text: var(--color-text);
  --l-site-header-text-light: var(--color-white);
  --l-site-header-bg: var(--color-white);
  --site-header-height: calc(1.7rem + (var(--gap-tiny) * 2));

/*
  @media (--bp-medium) {
    --site-header-height: calc(var(--line-height-small) + (var(--baseline-unit) * 12));
  } */
}

#shopify-section-site-header {
  position: sticky;
  top: 0;
  z-index: 16;
}

.l-site-header {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
	border-bottom: 1px solid #eaeaea;
	border-bottom: 1px solid var(--color-secondary);
  color: #2d2d2c;
  color: var(--l-site-header-text);
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
  position: relative;
  transition: background-color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94), color 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: background-color var(--transition), color var(--transition);
  width: 100%;
}

body:not(.p-template-index) .l-site-header {
		background-color: #fff;
		background-color: var(--color-white);
	}

@media ( min-width: 992px ) {

.l-site-header {
		display: block;
		padding-bottom: 0
}
	}

[\:has\(.s-page-header-full\)] .l-site-header:not(.has-dropdown-visible) {
		background-color: transparent;
		color: #fff;
		color: var(--l-site-header-text-light);
	}

[\:has\(.s-page-header-full\)] .l-site-header:not(.has-dropdown-visible) .c-header-button-text {
			background-color: #fff;
			background-color: var(--color-white);
			color: #2d2d2c;
			color: var(--color-black);
		}

:has(.s-page-header-full) .l-site-header:not(.has-dropdown-visible) {
		background-color: transparent;
		color: #fff;
		color: var(--l-site-header-text-light);
	}

:has(.s-page-header-full) .l-site-header:not(.has-dropdown-visible) .c-header-button-text {
			background-color: #fff;
			background-color: var(--color-white);
			color: #2d2d2c;
			color: var(--color-black);
		}

[\:has\(.s-page-header-full\)] .l-site-header:not(.has-dropdown-visible):hover {
			background-color: #fff;
			background-color: var(--l-site-header-bg);
			color: #2d2d2c;
			color: var(--l-site-header-text);
		}

[\:has\(.s-page-header-full\)] .l-site-header:not(.has-dropdown-visible):hover .c-header-button-text {
				background-color: #2d2d2c;
				background-color: var(--color-black);
				color: #fff;
				color: var(--color-white);
			}

:has(.s-page-header-full) .l-site-header:not(.has-dropdown-visible):hover {
			background-color: #fff;
			background-color: var(--l-site-header-bg);
			color: #2d2d2c;
			color: var(--l-site-header-text);
		}

:has(.s-page-header-full) .l-site-header:not(.has-dropdown-visible):hover .c-header-button-text {
				background-color: #2d2d2c;
				background-color: var(--color-black);
				color: #fff;
				color: var(--color-white);
			}

[\:has\(.has-scrolled\)] .l-site-header:not(.has-dropdown-visible) .c-header-button-text {
			background-color: #2d2d2c;
			background-color: var(--color-black);
			color: #fff;
			color: var(--color-white);
		}

:has(.has-scrolled) .l-site-header:not(.has-dropdown-visible) .c-header-button-text {
			background-color: #2d2d2c;
			background-color: var(--color-black);
			color: #fff;
			color: var(--color-white);
		}

.l-site-header.has-dropdown-visible {
		background-color: #fff;
		background-color: var(--l-site-header-bg);
	}

.has-scrolled .l-site-header {
    background-color: #fff;
    background-color: var(--l-site-header-bg);
  }

.has-scrolled .l-site-header .c-header-button-text {
			background-color: #2d2d2c;
			background-color: var(--color-black);
			color: #fff;
			color: var(--color-white);
		}

[\:has\(.s-page-header-full\)] .l-site-header.has-scrolled:not(.has-dropdown-visible) {
    background-color: #fff;
    background-color: var(--l-site-header-bg);
    color: #2d2d2c;
    color: var(--l-site-header-text);
  }

:has(.s-page-header-full) .l-site-header.has-scrolled:not(.has-dropdown-visible) {
    background-color: #fff;
    background-color: var(--l-site-header-bg);
    color: #2d2d2c;
    color: var(--l-site-header-text);
  }

.p-template-index.has-scrolled .l-site-header {
    background-color: #fff;
    background-color: var(--l-site-header-bg);
    color: #2d2d2c;
    color: var(--l-site-header-text);
  }

.l-site-header:hover {
    background-color: #fff;
    background-color: var(--l-site-header-bg);
    color: #2d2d2c;
    color: var(--l-site-header-text);
  }

.p-template-index .l-site-header:hover {
    background-color: #fff;
    background-color: var(--l-site-header-bg);
    color: #2d2d2c;
    color: var(--l-site-header-text);
  }

.p-template-index .l-site-header:hover .c-header-button-text {
			background-color: #2d2d2c;
			background-color: var(--color-black);
			color: #fff;
			color: var(--color-white);
		}

.admin-bar .l-site-header {
    margin-top: 32px;
    margin-top: var(--admin-bar);
  }

.l-site-header svg .c-modal-button__icon svg:hover,
				.l-site-header svg .c-modal-button__icon svg:focus {
					fill: #ab582b;
					fill: var(--color-orange);
				}

.c-modal-button--search .c-modal-button__icon {
		padding-left: 1rem;
	}

.c-modal-button__icon .c-icon {
		stroke: none;
	}

.l-site-header__inner {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(1rem / 2 * -1);
	margin-left: calc(var(--gap-grid) / 2 * -1);
	margin-right: calc(1rem / 2 * -1);
	margin-right: calc(var(--gap-grid) / 2 * -1);
	width: calc(100% + 1rem);
	width: calc(100% + var(--gap-grid));
	margin-top: -1px;
  padding-top: calc(0.25rem * 4);
  padding-top: var(--gap-tiny)
}

@media ( min-width: 992px ) {

.l-site-header__inner {
		padding-top: 0
}
	}

@media ( min-width: 1920px ) {

.l-site-header__inner {
		margin-left: auto;
		margin-right: auto;
		max-width: 75rem
}
	}

.l-site-header__inner > .c-header-button {
    display: none
  }

@media ( min-width: 992px ) {

  .l-site-header__inner > .c-header-button {
      align-items: center;
      color: inherit;
      display: flex
  }

    }

.l-site-header__menu {
  display: none
}

@media ( min-width: 992px ) {

.l-site-header__menu {
		flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 3 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2);
		display: block;
		order: 1;
}

		.l-site-header__menu .c-menu {
			flex-wrap: nowrap;
		}

			.l-site-header__menu .c-menu .c-menu__item-link {
				font-weight: 500;
				font-weight: var(--font-weight-bold);
			}
  }

.l-site-header__menu-button-container {
  display: flex;
  justify-content: flex-end;
	padding-left: 0;
}

.l-site-header__menu-button {
	flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 3 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	display: flex;
}

.l-site-header__menu-button .c-modal-button__label {
		display: none;
	}

@media ( min-width: 992px ) {

.l-site-header__menu-button {
		flex-basis: calc(( 100 / ( 12 / 1.5 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 1.5 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2);
    margin-left: unset;
		order: 3;
}

		.l-site-header__menu-button .l-site-header__menu-button--cart {
			flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
			flex-grow: 0;
			max-width: calc(( 100 / (12 / 3 ) ) * 1%);
			padding-left: calc(1rem / 2);
			padding-left: calc(var(--gap-grid) / 2);
			padding-right: calc(1rem / 2);
			padding-right: calc(var(--gap-grid) / 2);
			display: flex;
			justify-content: flex-end;
			order: 4;
			padding-left: calc(0.25rem * 6);
			padding-left: var(--gap-small);
		}
  }

.l-site-header__menu-button.l-site-header__menu-button--cart {
	flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 3 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	display: flex;
	justify-content: flex-end;
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small)
}

@media ( min-width: 992px ) {

.l-site-header__menu-button.l-site-header__menu-button--cart {
		flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 3 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2);
		order: 4
}

	}

.c-modal-button--search-desktop {
	display: none
}

@media ( min-width: 992px ) {

.c-modal-button--search-desktop {
		display: block;
		margin-right: calc(0.25rem * 4);
		margin-right: var(--gap-tiny);
}

		.c-modal-button--search-desktop .c-modal-button__icon {
			font-size: 1.55rem;
		}

			.c-modal-button--search-desktop .c-modal-button__icon .c-icon {
				stroke: none;
			}
	}

@media ( min-width: 992px ) {

.l-site-header__menu-button--search {
		display: none
}
	}

.l-site-header__logo {
	flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 6 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	display: flex;
	justify-content: center;
	margin-left: auto;
	margin-right: auto
}

@media ( min-width: 992px ) {

.l-site-header__logo {
		margin-left: unset;
		margin-right: unset;
		order: 2
}
	}

.l-site-header__logo img {
    height: auto;
    max-height: 50px;
  }

.l-site-header__logo svg {
		max-width: 9rem
	}

@media ( min-width: 992px ) {

	.l-site-header__logo svg {
			max-width: 11rem
	}
		}

.c-header-button--cart {
  align-items: center;
  color: currentColor;
  display: flex;
  position: relative;
}

.c-header-button--cart .c-header-button-icon {
		margin-top: -3px;
	}

.c-header-button--cart .c-icon {
		stroke: none;
	}

.c-header-button-icon {
  color: inherit;
  font-size: 1.55rem
}

.c-header-button-icon.icon--fill .c-icon {
      stroke: none;
    }

.c-header-button-text {
	align-items: center;
  background-color: #2d2d2c;
  background-color: var(--color-black);
  border-radius: 9999px;
  color: inherit;
  color: #fff;
  color: var(--color-white);
	display: flex;
  font-size: calc((8 / 16) * 1rem);
  height: 1rem;
	justify-content: center;
  margin-left: calc(0.25rem * 4);
  margin-left: var(--gap-tiny);
  position: absolute;
  right: -0.3rem;
  top: 0.8rem;
  width: 1rem;
}

.c-header-button-text:not(.p-template-index) .c-header-button-text {
		background-color: #2d2d2c;
		background-color: var(--color-black);
		color: #fff;
		color: var(--color-white);
	}

.c-header-button-text .c-header-button-count {
		line-height: 0;
    margin-top: -0.1rem;
	}

.has-dropdown-visible .c-header-button-text {
		background-color: #2d2d2c;
		background-color: var(--color-black);
		color: #fff;
		color: var(--color-white);
	}

/* -----------------------------------------------------------------------------
 # Sections                                               #
----------------------------------------------------------------------------- */

/* =============================================================================
 # Articles                                                                   #
============================================================================= */

/**
 * A section for articles.
 */

.s-articles {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-articles {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-articles__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

@media ( min-width: 768px ) {

.s-articles__list {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: calc(1rem / 2 * -1);
    margin-left: calc(var(--gap-grid) / 2 * -1);
    margin-right: calc(1rem / 2 * -1);
    margin-right: calc(var(--gap-grid) / 2 * -1);
    width: calc(100% + 1rem);
    width: calc(100% + var(--gap-grid))
}
  }

.s-articles__list .s-article-item {
    flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 4 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
  }

/* =============================================================================
 # CTA                                                                  	   #
============================================================================= */

:root {
  --s-cta-height: 50vh;

  /* @media (--bp-xxlarge) {
		--s-cta-height: calc((9 / 21) * 100vw);
	} */
}

.s-cta {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-cta {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

.s-cta .s-cta__media {
    position: relative;
  }

.s-cta .s-cta__media img {
      align-items: center;
      display: flex;
      height: 100%;
      min-height: 50vh;
      min-height: var(--s-cta-height);
      object-fit: contain;
      position: relative;
      width: 100%;
    }

.s-cta__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	max-width: var(--l-max-width-full);
	padding-left: 1.5rem;
	padding-left: var(--gap-container);
	padding-right: 1.5rem;
	padding-right: var(--gap-container);
	width: 100%;
  align-items: center;
  color: #fff;
  color: var(--color-white);
  display: flex;
  justify-content: center;
  width: 100%;
}

.s-cta__content {
	background-color: #fff;
	background-color: var(--color-white);
  margin-left: auto;
  margin-right: auto;
	max-width: 19rem;
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small);
  padding-right: calc(0.25rem * 6);
  padding-right: var(--gap-small);
  position: absolute;
  text-align: center;
  z-index: 2;
}

.s-cta__content .s-cta__content-container {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small);
		line-height: var(--line-height-small);
	}

.s-cta__content .s-cta__content-container {
    align-items: center;
		color: #2d2d2c;
		color: var(--color-black);
		display: flex;
    flex-direction: column;
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap-medium);
	}

.s-cta__content .s-cta__filter {
		background-color: #2d2d2c;
		background-color: var(--color-black);
		bottom: 0;
		left: 0;
		position: absolute;
		right: 0;
		top: 0;
		z-index: 1;
	}

@media ( min-width: 768px ) {

.s-cta__content {
		max-width: 20rem
}
	}

@media ( min-width: 992px ) {

.s-cta__content {
		left: 17%
}
	}

.s-cta__trustpilot {
	font-size: 5rem;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap-medium);
}

.s-cta__trustpilot svg {
		height: 2rem;
		width: auto;
	}

.s-cta__intro {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
}

.s-cta__link {
	/* margin-bottom: var(--gap-medium); */
}

.s-cta__media--secondary {
	display: none
}

@media ( min-width: 992px ) {

.s-cta__media--secondary {
		display: block
}
	}

/* =============================================================================
 # Articles                                                                   #
============================================================================= */

/**
 * A section for articles.
 */

.s-article-item {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-article-item {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-articles-item__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-article-item__image embed,
  .s-article-item__image iframe,
  .s-article-item__image img,
  .s-article-item__image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.s-article-item__image {
  aspect-ratio: 4 / 3;
  position: relative;
}

@supports not (aspect-ratio: 1 / 1) {

.s-article-item__image {
    height: 0;
    overflow: hidden;
    padding-top: calc((3 / 4) * 100%);
}
  }

.s-article-item__label {
  padding-top: calc(0.25rem * 4);
  padding-top: var(--gap-tiny);
}

.s-article-item__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);

  padding-top: calc(0.25rem * 2);

  padding-top: var(--gap-micro);
}

.s-article-item__excerpt {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);

  padding-top: calc(0.25rem * 2);

  padding-top: var(--gap-micro);
}

/* =============================================================================
 # Cards                                                                      #
============================================================================= */

/**
 * A section for cards.
 */

.s-cards {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-cards {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-cards__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-cards__grid {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: calc(1rem / 2 * -1);
  margin-left: calc(var(--gap-grid) / 2 * -1);
  margin-right: calc(1rem / 2 * -1);
  margin-right: calc(var(--gap-grid) / 2 * -1);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid));
}

.s-cards__column {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-bottom: calc(0.25rem * 4);

  padding-bottom: var(--gap-tiny)
}

.s-cards__column:last-child {
    padding-bottom: 0;
  }

@media ( min-width: 768px ) {

.s-cards__column {
    flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 6 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

/* =============================================================================
 # Collection List                                                            #
============================================================================= */

/**
 * A section for collection-list.
 */

.s-collection-list__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-collection-list__inner .c-filter-button {
    margin-right: 0.5rem;
  }

.product-grid {
  display: flex;
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap)
}

@media ( min-width: 992px ) {

.product-grid {
    padding-top: 0
}
  }

.product-grid .grid__item {
    flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 6 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
  }

@media ( min-width: 992px ) {

  .product-grid .grid__item {
      flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 3 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2)
  }
    }

.product-count {
  flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 6 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2)
}

@media ( min-width: 992px ) {

.product-count {
    flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 12 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);

    padding-left: 0
}
  }

.visually-hidden {
  display: none;
}

/* =============================================================================
 # Collection Marquee                                                            #
============================================================================= */

/**
 * A section for collection-marquee.
 */

.s-collection-marquee {
	background-color: #fff;
	background-color: var(--color-white);
}

.s-collection-marquee__grid {
  align-items: center;
  animation: collection-marquee-scroll 120s linear infinite;
  display: flex;
  grid-gap: 2rem;
  gap: 2rem;
  width: max-content;
}

.s-collection-marquee__inner {
  overflow: hidden;
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
	padding-top: calc(0.25rem * 6);
	padding-top: var(--gap-small);
  width: 100%;
}

.s-collection-marquee__label {
  align-items: center;
	color: #ab582b;
	color: var(--color-orange);
	display: flex;
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  font-weight: bold;
	font-weight: 400;
  letter-spacing: 0.1em;
	text-transform: uppercase;
  white-space: nowrap
}

.s-collection-marquee__label::after {
    background-color: currentColor;
    border-radius: 50%;
    content: "";
    display: block;
    height: 0.25rem;
    margin: 0 0 0 2rem;
    width: 0.25rem;
  }

@media ( min-width: 1280px ) {

.s-collection-marquee__label {
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small)
}
	}

@keyframes collection-marquee-scroll {
  0% {
    transform: translateX(0);
  }

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

/* =============================================================================
 # Collection Navigator                                                       #
============================================================================= */

/**
 * Collection Navigator section that displays child collections in a horizontal layout.
 * Desktop: 1x4 grid, Mobile: horizontal scroll with overflow.
 */

.s-collection-navigator {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-collection-navigator {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-collection-navigator__inner {
	display: flex;
	justify-content: center;
  max-width: none
}

@media ( min-width: 768px ) {

.s-collection-navigator__inner {
}
	}

.s-collection-navigator__grid {
  display: flex;
  overflow-x: auto;
  padding: 0 0 0 calc(0.25rem * 4);
  padding: 0 0 0 var(--gap-tiny);

  /* Hide scrollbar on firefox */
  scrollbar-width: none
}

.s-collection-navigator__grid:first-child {

	}

.s-collection-navigator__grid {

  /* Hide scrollbar on webkit browsers */
}

.s-collection-navigator__grid::-webkit-scrollbar {
    display: none;
  }

@media ( min-width: 768px ) {

.s-collection-navigator__grid {
    overflow-x: visible;
		padding-left: 0
}
	}

.s-collection-navigator__item {
	flex: 0 0 6rem;
	margin: 0 calc(0.25rem * 6) 0 0;
	margin: 0 var(--gap-small) 0 0;
	max-width: 6rem;
	text-align: center
}

@media ( min-width: 768px ) {

.s-collection-navigator__item {
		flex: 0 0 8rem;
		flex: 1;
		max-width: 8rem
}
	}

@media ( min-width: 992px ) {

.s-collection-navigator__item {
}

  }

.s-collection-navigator__link {
  align-items: center;
  color: inherit;
  display: block;
	display: flex;
  flex-direction: column;
  text-decoration: none;
}

.s-collection-navigator__image {
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.s-collection-navigator__image-img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.s-collection-navigator__image-placeholder {
  align-items: center;
  background-color: #575756;
  background-color: var(--color-light-gray);
  display: flex;
  height: 100%;
  justify-content: center;
  width: 100%;
}

.s-collection-navigator__image-placeholder span {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((26 / 16) * 1rem);
    font-size: var(--font-size-large);
    line-height: var(--line-height-large);

    color: #fff;

    color: var(--color-text-light);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: bold;
  }

.s-collection-navigator__content {
  padding-top: calc(0.25rem * 4);
  padding-top: var(--gap-tiny);
}

.s-collection-navigator__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
	display: inline-block;
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  margin: 0;
  text-align: center;
}

/* =============================================================================
 # Contact                                                                    #
============================================================================= */

/**
 * A simple contact section with title and link.
 */

.s-contact {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
	padding-top: calc(0.25rem * 2);
	padding-top: var(--gap-micro);
}

@media ( min-width: 768px ) {

.s-contact {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( min-width: 768px ) {

.s-contact {
		padding-top: calc(0.25rem * 4);
		padding-top: var(--gap-tiny)
}
	}

.s-contact__inner {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(1rem / 2 * -1);
	margin-left: calc(var(--gap-grid) / 2 * -1);
	margin-right: calc(1rem / 2 * -1);
	margin-right: calc(var(--gap-grid) / 2 * -1);
	width: calc(100% + 1rem);
	width: calc(100% + var(--gap-grid));
}

.s-contact__column {
 	flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
 	flex-grow: 0;
 	max-width: calc(( 100 / (12 / 12 ) ) * 1%);
 	padding-left: calc(1rem / 2);
 	padding-left: calc(var(--gap-grid) / 2);
 	padding-right: calc(1rem / 2);
 	padding-right: calc(var(--gap-grid) / 2);
	background-color: #fff;
	background-color: var(--color-white);
	padding-bottom: calc(calc(0.25rem * 6) * 0.8);
	padding-bottom: calc(var(--gap-small) * 0.8);
	padding-left: calc(calc(0.25rem * 6) * 0.8);
	padding-left: calc(var(--gap-small) * 0.8);
	padding-right: calc(calc(0.25rem * 6) * 0.8);
	padding-right: calc(var(--gap-small) * 0.8);
	padding-top: calc(calc(0.25rem * 6) * 0.8);
	padding-top: calc(var(--gap-small) * 0.8)
}

@media ( min-width: 992px ) {

.s-contact__column {
    flex-basis: calc(( 100 / ( 12 / 10 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 10 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 1)) * 1%);
		padding-bottom: calc(calc(0.25rem * 6));
		padding-bottom: calc(var(--gap-small));
		padding-left: calc(calc(0.25rem * 6));
		padding-left: calc(var(--gap-small));
		padding-right: calc(calc(0.25rem * 6));
		padding-right: calc(var(--gap-small));
		padding-top: calc(calc(0.25rem * 6));
		padding-top: calc(var(--gap-small))
}
  }

@media ( min-width: 1280px ) {

.s-contact__column {
    flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 8 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 2)) * 1%);
		padding-bottom: calc(calc(0.25rem * 6));
		padding-bottom: calc(var(--gap-small));
		padding-left: calc(calc(0.25rem * 6));
		padding-left: calc(var(--gap-small));
		padding-right: calc(calc(0.25rem * 6));
		padding-right: calc(var(--gap-small));
		padding-top: calc(calc(0.25rem * 6));
		padding-top: calc(var(--gap-small))
}
  }

.s-contact__content {
	align-items: stretch;
	display: flex;
}

.s-contact__content-inner {
	padding-left: calc(0.25rem * 6);
	padding-left: var(--gap-small);
}

.s-contact__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  margin-bottom: var(--gap-micro);
}

.s-contact__title:last-child {
    margin-bottom: 0;
  }

.s-contact__title {
  color: #2d2d2c;
  color: var(--color-text);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

@media ( min-width: 992px ) {

.s-contact__title {
}

  }

.s-contact__text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-contact__text {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7);
}
  }

.s-contact__text a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-contact__text a:hover,
  .s-contact__text a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-contact__text p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-contact__text strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-contact__text em {
    font-style: italic;
  }

.s-contact__text del {
    text-decoration: line-through;
  }

.s-contact__text h1,
  .s-contact__text h2,
  .s-contact__text h3,
  .s-contact__text h4,
  .s-contact__text h5,
  .s-contact__text h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-contact__text h1:first-child, .s-contact__text h2:first-child, .s-contact__text h3:first-child, .s-contact__text h4:first-child, .s-contact__text h5:first-child, .s-contact__text h6:first-child {
      padding-top: 0;
    }

.s-contact__text h1:last-child, .s-contact__text h2:last-child, .s-contact__text h3:last-child, .s-contact__text h4:last-child, .s-contact__text h5:last-child, .s-contact__text h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-contact__text h1,
  .s-contact__text h2,
  .s-contact__text h3,
  .s-contact__text h4,
  .s-contact__text h5,
  .s-contact__text h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-contact__text hr + h1,
    .s-contact__text hr + h2,
    .s-contact__text hr + h3,
    .s-contact__text hr + h4,
    .s-contact__text hr + h5,
    .s-contact__text hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-contact__text p,
  .s-contact__text ul,
  .s-contact__text ol,
  .s-contact__text table,
  .s-contact__text figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-contact__text p:last-child, .s-contact__text ul:last-child, .s-contact__text ol:last-child, .s-contact__text table:last-child, .s-contact__text figure:last-child {
      padding-bottom: 0;
    }

.s-contact__text pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-contact__text pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-contact__text hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-contact__text blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-contact__text blockquote p:last-child {
      padding-bottom: 0;
    }

.s-contact__text blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-contact__text blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-contact__text blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-contact__text ul,
  .s-contact__text ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-contact__text ul > ul,
    .s-contact__text ul > ol,
    .s-contact__text ol > ul,
    .s-contact__text ol > ol {
      margin-bottom: 0;
    }

.s-contact__text ul li, .s-contact__text ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-contact__text ul li > ul,
      .s-contact__text ul li > ol,
      .s-contact__text ol li > ul,
      .s-contact__text ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-contact__text ul li > ul li:last-of-type, .s-contact__text ul li > ol li:last-of-type, .s-contact__text ol li > ul li:last-of-type, .s-contact__text ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-contact__text ul {
		list-style: disc;
  }

.s-contact__text ul li {
      list-style-type: disc;
    }

.s-contact__text ol {
    counter-reset: ol;
  }

.s-contact__text ol li {
      list-style-type: decimal;
    }

.s-contact__text figure {
    max-width: 100%;
    width: 100%;
  }

.s-contact__text figure a {
      display: block;
    }

.s-contact__text figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-contact__text figcaption img {
      margin-top: 0;
    }

.s-contact__text img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-contact__text img:last-child {
      margin-bottom: 0;
    }

.s-contact__text .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-contact__text table,
  .acf-preview .s-contact__text .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-contact__text table th,
    .s-contact__text table td,
    .acf-preview .s-contact__text .table-wrapper table th,
    .acf-preview .s-contact__text .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-contact__text table th:not(:first-child), .s-contact__text table td:not(:first-child), .acf-preview .s-contact__text .table-wrapper table th:not(:first-child), .acf-preview .s-contact__text .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-contact__text table th, .acf-preview .s-contact__text .table-wrapper table th {
      line-height: 1.1375;
    }

.s-contact__icon {
	background-color: #e7ebea;
	background-color: var(--color-background-gray);
	border-radius: 50%;
	padding: 1rem;
}

.s-contact__icon .c-icon {
		height: 100%;
    stroke: none;
    width: auto;
	}

/* =============================================================================
 # Content (Article)                                                      #
============================================================================= */

/**
 * A section for page-header-article.
 */

.s-article {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-article {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-article__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%
}

@media ( min-width: 992px ) {

.s-article__inner {
    width: 50%
}
  }

.s-article__content {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-article__content {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7);
}
  }

.s-article__content a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-article__content a:hover,
  .s-article__content a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-article__content p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-article__content strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-article__content em {
    font-style: italic;
  }

.s-article__content del {
    text-decoration: line-through;
  }

.s-article__content h1,
  .s-article__content h2,
  .s-article__content h3,
  .s-article__content h4,
  .s-article__content h5,
  .s-article__content h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-article__content h1:first-child, .s-article__content h2:first-child, .s-article__content h3:first-child, .s-article__content h4:first-child, .s-article__content h5:first-child, .s-article__content h6:first-child {
      padding-top: 0;
    }

.s-article__content h1:last-child, .s-article__content h2:last-child, .s-article__content h3:last-child, .s-article__content h4:last-child, .s-article__content h5:last-child, .s-article__content h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-article__content h1,
  .s-article__content h2,
  .s-article__content h3,
  .s-article__content h4,
  .s-article__content h5,
  .s-article__content h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-article__content hr + h1,
    .s-article__content hr + h2,
    .s-article__content hr + h3,
    .s-article__content hr + h4,
    .s-article__content hr + h5,
    .s-article__content hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-article__content p,
  .s-article__content ul,
  .s-article__content ol,
  .s-article__content table,
  .s-article__content figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-article__content p:last-child, .s-article__content ul:last-child, .s-article__content ol:last-child, .s-article__content table:last-child, .s-article__content figure:last-child {
      padding-bottom: 0;
    }

.s-article__content pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-article__content pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-article__content hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-article__content blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-article__content blockquote p:last-child {
      padding-bottom: 0;
    }

.s-article__content blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-article__content blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-article__content blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-article__content ul,
  .s-article__content ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-article__content ul > ul,
    .s-article__content ul > ol,
    .s-article__content ol > ul,
    .s-article__content ol > ol {
      margin-bottom: 0;
    }

.s-article__content ul li, .s-article__content ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-article__content ul li > ul,
      .s-article__content ul li > ol,
      .s-article__content ol li > ul,
      .s-article__content ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-article__content ul li > ul li:last-of-type, .s-article__content ul li > ol li:last-of-type, .s-article__content ol li > ul li:last-of-type, .s-article__content ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-article__content ul {
		list-style: disc;
  }

.s-article__content ul li {
      list-style-type: disc;
    }

.s-article__content ol {
    counter-reset: ol;
  }

.s-article__content ol li {
      list-style-type: decimal;
    }

.s-article__content figure {
    max-width: 100%;
    width: 100%;
  }

.s-article__content figure a {
      display: block;
    }

.s-article__content figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-article__content figcaption img {
      margin-top: 0;
    }

.s-article__content img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-article__content img:last-child {
      margin-bottom: 0;
    }

.s-article__content .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-article__content table,
  .acf-preview .s-article__content .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-article__content table th,
    .s-article__content table td,
    .acf-preview .s-article__content .table-wrapper table th,
    .acf-preview .s-article__content .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-article__content table th:not(:first-child), .s-article__content table td:not(:first-child), .acf-preview .s-article__content .table-wrapper table th:not(:first-child), .acf-preview .s-article__content .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-article__content table th, .acf-preview .s-article__content .table-wrapper table th {
      line-height: 1.1375;
    }

/* =============================================================================
 # Facets - Filtering                                                          #
============================================================================= */

/**
 * Facets filtering
 */

.mobile-facets {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%
}

@media ( min-width: 992px ) {

.mobile-facets {
    display: none
}
  }

.mobile-facets__details {
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
}

@media ( min-width: 992px ) {

.mobile-facets__disclosure {
    display: none
}
  }

#FacetsWrapperDesktop {
  display: none
}

@media ( min-width: 992px ) {

#FacetsWrapperDesktop {
    display: flex
}
  }

.mobile-facets__wrapper {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-bottom: calc(0.25rem * 8);

  padding-bottom: var(--gap);
  padding-left: 0;
}

.mobile-facets__wrapper .product-count__text {
    display: none;
  }

@media ( min-width: 992px ) {

.mobile-facets__wrapper {
    display: none
}
  }

.facets-container {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden
}

@media ( min-width: 992px ) {

.facets-container {
    align-items: center;
    flex-direction: row;
    justify-content: center;
    padding-bottom: calc(0.25rem * 8);
    padding-bottom: var(--gap)
}
  }

.facets-container summary {
    list-style: none;
  }

.facets-container .facets {
    display: none
  }

@media ( min-width: 992px ) {

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

.facets__form {
  align-items: center;
  display: flex;
}

.active-facets {
  flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 6 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2)
}

@media ( min-width: 992px ) {

.active-facets {
    flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 12 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);

    padding-bottom: calc(0.25rem * 8);

    padding-bottom: var(--gap-medium);
    padding-left: 0
}
  }

.active-facets-mobile facet-remove {
    border: 1px solid #eaeaea;
    border: 1px solid var(--color-border);
    border-radius: 5px;
    padding-left: 5px;
    padding-right: 5px
  }

.active-facets-mobile facet-remove + facet-remove {
      margin-left: calc(0.25rem * 2);
      margin-left: var(--gap-micro);
    }

.active-facets-desktop {
  display: none;
}

.mobile-facets__header-inner {
  display: none;
}

.active-facets__button-wrapper {
  display: none;
}

.has-filters .active-facets__button-wrapper {
    display: inline;
  }

@media ( min-width: 992px ) {

facet-filters-form {
    flex-basis: 100%
}
  }

.product-grid-container {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);
	padding-left: 0;
	padding-right: 0
}

@media ( min-width: 992px ) {

.product-grid-container {

    padding-left: 0;
    padding-right: 0
}
  }

.facet-filters__label,
.facets__heading {
  display: none;
}

.facet-filters__field {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

.facets__selected {
  display: none;
}

details {
  position: relative;
}

.facets__summary {
  cursor: pointer;
}

.facets__display {
  background-color: #fff;
  background-color: var(--color-white);
  box-shadow: 0 4px 8px color-mix(in sRGB, #2d2d2c 10%, transparent);
  box-shadow: 0 4px 8px color-mix(in sRGB, var(--color-black) 10%, transparent);
  left: 0;
  min-width: 10rem;
  padding: 10px;
  position: absolute;
  top: 100%;
  width: -moz-fit-content;
  width: fit-content;
  z-index: 10;
}

/*
details[open] .facets__display {
	display: block;
} */

.facets__summary:hover {
  background-color: #f3f2ef;
  background-color: var(--color-background);
}

.facets__price .field {
    display: flex;
    flex-direction: column-reverse;
  }

.facets__price .field-currency {
    display: none;
  }

.facets__header facet-remove {
    display: block;
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro);
    padding-right: calc(0.25rem * 2);
    padding-right: var(--gap-micro);
    padding-top: calc(0.25rem * 2);
    padding-top: var(--gap-micro);
    text-decoration: underline;
  }

.mobile-facets__disclosure {
  right: -200%;
  transition: right 0.3s ease, visibility 0s 0.3s;
  visibility: hidden;
}

.mobile-facets__disclosure[open] {
  background-color: white;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.5);
  display: block;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  transition: right 0.3s ease, visibility 0s 0s;
  visibility: visible;
  width: 90%;
  z-index: 1000;
}

@media ( min-width: 992px ) {

.mobile-facets__open {
    display: none
}
  }

.mobile-facets__open-wrapper {
  padding: calc(0.25rem * 8);
  padding: var(--gap-medium);
  text-align: center;
}

.mobile-facets__summary-inner {
  align-items: center;
  display: flex;
}

.mobile-facets__arrow svg {
    height: 2rem;
    transition: transform 0.3s ease;
    width: 2rem;
  }

.mobile-facets__title {
  flex-basis: 80%;
}

.mobile-facets__details[open] .mobile-facets__arrow svg {
      transform: rotate(90deg);
    }

.mobile-facets__footer {
  margin-top: 100%;
}

/* =============================================================================
 # FAQ (accordion)                                                            #
============================================================================= */

/**
 * FAQ section using accordion blocks for expandable question and answer content.
 * Uses existing accordion component - only adds section-level container styling.
 */

.s-faq-accordion {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-faq-accordion {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-faq-accordion__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%
}

@media ( min-width: 992px ) {

.s-faq-accordion__inner {
  	max-width: 64.5rem
}
	}

.s-faq-accordion__content {
  width: 100%;
}

.s-faq-accordion__item + .s-faq-accordion__item .c-accordion__item {
      border-top: none;
    }

@media ( min-width: 768px ) {

	.s-faq-accordion__item .c-accordion__content {
			padding-left: 0;
			padding-right: 0
	}
		}

/* Plus/Minus Icon Override */

.s-faq-accordion .c-accordion__title-icon {
  height: 24px;
  position: relative;
  width: 24px;

  /* Plus icon - vertical line */
}

/* Hide the default SVG icon */

.s-faq-accordion .c-accordion__title-icon svg {
    display: none;
  }

.s-faq-accordion .c-accordion__title-icon::before {
    background-color: currentColor;
    content: '';
    height: 0.9pc;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: transform var(--accordion-transition);
    width: 1px;
  }

.s-faq-accordion .c-accordion__title-icon {

  /* Plus icon - horizontal line */
}

.s-faq-accordion .c-accordion__title-icon::after {
    background-color: currentColor;
    content: '';
    height: 1px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: transform 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: transform var(--accordion-transition);
    width: 0.9pc;
  }

/* Expanded state - hide vertical line to create minus */

.s-faq-accordion .c-accordion__item[data-state='expanded'] .c-accordion__title-icon::before {
    transform: translate(-50%, -50%) rotate(90deg) scale(0);
  }

/* =============================================================================
 # FAQ (menu)                                                                 #
============================================================================= */

/**
 * FAQ section with navigation menu buttons and description text.
 */

.s-faq-menu {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-faq-menu {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-faq-menu__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
  max-width: 64.5rem;
  text-align: center;
}

.s-faq-menu__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((34 / 16) * 1rem);
  font-size: var(--font-size-xlarge-mobile);
  line-height: var(--line-height-xlarge);

  color: #2d2d2c;

  color: var(--color-text);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium)
}

@media ( min-width: 768px ) {

.s-faq-menu__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((42 / 16) * 1rem);
    font-size: var(--font-size-xlarge);
    line-height: var(--line-height-xlarge)
}
  }

.s-faq-menu__nav {
  display: flex;
	flex-direction: row;
	flex-wrap: wrap;
  grid-gap: calc(0.25rem * 3);
  gap: calc(0.25rem * 3);
  justify-content: center;
  padding-bottom: calc(0.25rem * 16);
  padding-bottom: var(--gap-large)
}

@media ( min-width: 768px ) {

.s-faq-menu__nav {
}
  }

.s-faq-menu__nav-item {
  flex: none
}

@media ( min-width: 768px ) {

.s-faq-menu__nav-item {
    flex: 0 1 auto
}
  }

.s-faq-menu__nav-item--active .c-button {
  background-color: #2d2d2c;
  background-color: var(--color-black);
  border-color: #2d2d2c;
  border-color: var(--color-black);
  color: #fff;
  color: var(--color-white)
}

.s-faq-menu__nav-item--active .c-button:hover,
  .s-faq-menu__nav-item--active .c-button:focus {
    background-color: #2d2d2c;
    background-color: var(--color-black);
    color: #fff;
    color: var(--color-white);
  }

.s-faq-menu__info {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
  color: #2d2d2c;
  color: var(--color-text);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  margin-left: auto;
  margin-right: auto;
  max-width: 48rem;
}

.s-faq-menu__info p {
    margin: 0;
  }

/* =============================================================================
 # Featured Collection                                                        #
============================================================================= */

/**
 * A section for featured-collection.
 */

.s-featured-collection {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-featured-collection {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

@media ( min-width: 992px ) {

.s-featured-collection__inner {
    display: flex
}
  }

.s-featured-collection__header {
  text-align: center
}

.s-featured-collection__header.s-featured-collection__header--desktop {
    display: none;
  }

@media ( min-width: 992px ) {

.s-featured-collection__header {
    padding-left: calc(0.25rem * 6);
    padding-left: var(--gap-small)
}

    .s-featured-collection__header.s-featured-collection__header--mobile {
      display: none;
    }

    .s-featured-collection__header.s-featured-collection__header--desktop {
      display: block;
    }
  }

.s-featured-collection__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((34 / 16) * 1rem);
  font-size: var(--font-size-xlarge-mobile);
  line-height: var(--line-height-xlarge);

  color: #2d2d2c;

  color: var(--color-text);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-featured-collection__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((26 / 16) * 1rem);
    font-size: var(--font-size-large);
    line-height: var(--line-height-large)
}
  }

.s-featured-collection__intro {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((18.5 / 16) * 1rem);
  font-size: var(--font-size-smallx);
  line-height: 1.25;

  color: var(--color-body);
  margin: 0 auto;
  max-width: 24rem;
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
  padding-left: calc(0.25rem * 6);
  padding-left: var(--gap-small);
  padding-right: calc(0.25rem * 6);
  padding-right: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-featured-collection__intro {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);

    line-height: calc(0.25rem * 5);

    line-height: calc(var(--baseline-unit) * 5);
    max-width: 30rem;
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap-medium);
    padding-right: calc(0.25rem * 8);
    padding-right: var(--gap-medium)
}
  }

.s-featured-collection__link {
  padding-bottom: calc(0.25rem * 16);
  padding-bottom: var(--gap-large);
}

.s-featured-collection__item {
  --column: 10
}

.s-featured-collection__item.s-featured-collection__item--header {
    display: none;
  }

.s-featured-collection__item .c-product-card {
    width: 100%;
  }

@media ( min-width: 992px ) {

.s-featured-collection__item {
    --column: 3
}

    .s-featured-collection__item.s-featured-collection__item--header {
      display: block;
      left: 0;
      position: sticky;
      z-index: 3;
    }

      .s-featured-collection__item.s-featured-collection__item--header .s-featured-collection__header {
        background-color: #f3f2ef;
        background-color: var(--color-background);
        height: 100%;
        margin-left: -3rem;
        width: calc(100% + 3rem);
      }
  }

/* =============================================================================
 # Featured Products                                                       #
============================================================================= */

/**
 * A section for featured-products.
 */

.s-featured-products {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-featured-products {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

@media ( min-width: 992px ) {

.s-featured-products__inner {
		margin-left: auto;
		margin-right: auto;
		max-width: none;
		max-width: var(--l-max-width-full);
		padding-left: 1.5rem;
		padding-left: var(--gap-container);
		padding-right: 1.5rem;
		padding-right: var(--gap-container);
		width: 100%
}
	}

.s-featured-products__header {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((18.5 / 16) * 1rem);
	font-size: var(--font-size-smallx);
	line-height: var(--line-height-xmedium);
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	padding-left: 1.5rem;
	padding-left: var(--gap-container)
}

@media ( min-width: 768px ) {

.s-featured-products__header {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((22 / 16) * 1rem);
		font-size: var(--font-size-medium);
		line-height: var(--line-height-medium)
}
	}

@media ( min-width: 992px ) {

.s-featured-products__header {
		padding-bottom: calc(0.25rem * 8);
		padding-bottom: var(--gap-medium);
		padding-left: 0
}
	}

.s-featured-products__title {
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
}

.s-featured-products__grid {
	display: flex;
	flex-wrap: wrap
}

@media ( min-width: 992px ) {

.s-featured-products__grid {
		align-items: flex-start;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: calc(1rem / 2 * -1);
		margin-left: calc(var(--gap-grid) / 2 * -1);
		margin-right: calc(1rem / 2 * -1);
		margin-right: calc(var(--gap-grid) / 2 * -1);
		width: calc(100% + 1rem);
		width: calc(100% + var(--gap-grid))
}
	}

.s-featured-products__item {
	flex-basis: 50%;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
	width: 50%
}

.s-featured-products__item:nth-child(odd) {
		padding-left: 0;
		padding-right: calc(0.25rem * 2);
		padding-right: var(--gap-micro);
	}

.s-featured-products__item:nth-child(even) {
		padding-left: calc(0.25rem * 2);
		padding-left: var(--gap-micro);
		padding-right: 0;
	}

@media ( min-width: 768px ) {

.s-featured-products__item {
		flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 4 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2)
}
	}

@media ( min-width: 992px ) {

.s-featured-products__item {
		flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 3 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2)
}

		.s-featured-products__item:nth-child(odd) {
			padding-left: calc(0.25rem * 2);
			padding-left: var(--gap-micro);
			padding-right: calc(0.25rem * 2);
			padding-right: var(--gap-micro);
		}

		.s-featured-products__item:nth-child(even) {
			padding-left: calc(0.25rem * 2);
			padding-left: var(--gap-micro);
			padding-right: calc(0.25rem * 2);
			padding-right: var(--gap-micro);
		}
	}

/* =============================================================================
 # Image Banner                                                               #
============================================================================= */

/**
 * A section for image-banner.
 */

.s-image-banner {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-image-banner {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( max-width: 992px ) {
    .s-image-banner .s-image-banner__media {
      aspect-ratio: 3 / 4;
    }
  }

.s-image-banner__inner {
  align-items: center;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.s-image-banner__media {
  position: relative;
}

.s-image-banner__media img {
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
  }

.s-image-banner__content {
  color: #fff;
  color: var(--color-text-light);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  text-align: center;
  top: calc(0.25rem * 8);
  top: var(--gap-medium);
  width: 100%;
  z-index: 2
}

@media ( min-width: 992px ) {

.s-image-banner__content {
    top: calc(0.25rem * 16);
    top: var(--gap-large)
}
  }

/* =============================================================================
 # Image Grid                                                                #
============================================================================= */

/**
 * Image Grid section that displays images in a 3-column grid layout
 * with consistent aspect ratios across all screen sizes.
 */

.s-image-grid {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-image-grid {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-image-grid__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	max-width: var(--l-max-width-full);
	padding-left: 1.5rem;
	padding-left: var(--gap-container);
	padding-right: 1.5rem;
	padding-right: var(--gap-container);
	width: 100%;
}

.s-image-grid__grid {
  display: -ms-grid;
  display: grid;
  grid-gap: calc(0.25rem * 6);
  gap: calc(0.25rem * 6);
  grid-gap: var(--gap-small);
  gap: var(--gap-small);
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}

.s-image-grid__item {
  /* Grid item styling */
}

.s-image-grid__image {
  aspect-ratio: 3/4.25; /* Fixed 4:3 aspect ratio for all images */
  overflow: hidden;
  position: relative;
  width: 100%;
}

.s-image-grid__image-img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

/* =============================================================================
 # Main Collection Header                                                      #
============================================================================= */

/**
 * A section for main-collection-header.
 */

.s-main-collection-header {
	position: relative;
}

.s-main-collection-header__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-main-collection-header__image {
  aspect-ratio: 16 / 9;
  position: relative;
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {

.s-main-collection-header__image {
    height: 0;
    overflow: hidden;
    padding-top: calc((9 / 16) * 100%)
}
  }

@supports not (aspect-ratio: 1 / 1) {

.s-main-collection-header__image {
    padding-top: calc((1 / 1) * 100%)
}
  }

.s-main-collection-header__image embed,
  .s-main-collection-header__image iframe,
  .s-main-collection-header__image img,
  .s-main-collection-header__image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.s-main-collection-header__image img {
    border-radius: 0;
    border-radius: var(--radius);
  }

@media ( min-width: 768px ) {

.s-main-collection-header__image {
    aspect-ratio: 14 / 6;
}
    @supports not (aspect-ratio: 1 / 1) {

.s-main-collection-header__image {
    padding-top: calc((6 / 14) * 100%)
}
  }
  }

.s-main-collection-header__content {
  display: flex;
  flex-direction: column
}

@media ( min-width: 768px ) {

.s-main-collection-header__content {
    align-items: flex-end;
    flex-direction: row;
    justify-content: space-between
}
  }

.s-main-collection-header__content .s-main-collection-header__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((34 / 16) * 1rem);
    font-size: var(--font-size-xlarge-mobile);
    line-height: var(--line-height-xlarge);

    padding-top: calc(calc(0.25rem * 8) * 3.25);

    padding-top: calc(var(--gap) * 3.25)
  }

@media ( min-width: 768px ) {

  .s-main-collection-header__content .s-main-collection-header__title {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
      font-family: var(--font-heading);
      font-size: calc((42 / 16) * 1rem);
      font-size: var(--font-size-xlarge);
      line-height: var(--line-height-xlarge);

      padding-top: calc(calc(0.25rem * 8));

      padding-top: calc(var(--gap))
  }
    }

.s-main-collection-header__content .s-main-collection-header__buttons {
    align-items: center;
    display: flex;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr
  }

@media ( min-width: 768px ) {

  .s-main-collection-header__content .s-main-collection-header__buttons {
			display: -ms-grid;
			display: grid;
      justify-content: space-between;
			padding-top: calc(calc(0.25rem * 8));
			padding-top: calc(var(--gap));
			width: 100%
  }
    }

.s-main-collection-header__content .s-main-collection-header__sort {
    -ms-grid-column-align: start;
        justify-self: start;
  }

.s-main-collection-header__content .s-main-collection-header__button {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    align-items: center;
    display: flex;
		-ms-grid-column-align: end;
		    justify-self: end;
		margin-left: auto;
  }

.s-main-collection-header__content .s-main-collection-header__button .c-modal-button__icon .c-icon {
				stroke: currentColor;
			}

@media ( min-width: 768px ) {

  .s-main-collection-header__content .s-main-collection-header__button {
			margin-left: none
  }
		}

.s-main-collection-header__content .s-main-collection-header__button-icon {
    margin-right: calc(0.25rem * 2);
    margin-right: var(--gap-micro);
  }

.s-main-collection-header__content .s-main-collection-header__count {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((12 / 16) * 1rem);
		font-size: var(--font-size-micro);
		line-height: var(--line-height-micro);
		color: #2d2d2c;
		color: var(--color-text);
		display: none;
		-ms-grid-column-align: center;
		    justify-self: center;
		letter-spacing: 0.5px;
    text-align: center;
		text-transform: uppercase
	}

@media ( min-width: 768px ) {

	.s-main-collection-header__content .s-main-collection-header__count {
			display: block
	}
		}

.s-main-product-grid {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);

  background-color: #f3f2ef;

  background-color: var(--color-background);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

@media ( min-width: 768px ) {

.s-main-product-grid {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( min-width: 768px ) {

.s-main-product-grid {
    padding-bottom: calc(0.25rem * 8);
    padding-bottom: var(--gap);
    padding-top: calc(calc(0.25rem * 6) * 0.75);
    padding-top: calc(var(--gap-small) * 0.75)
}
  }

.s-main-product-grid__container {
	margin: 0 auto;
  padding: 0 2rem
}

@media ( min-width: 768px ) {

.s-main-product-grid__container {
		margin-left: auto;
		margin-right: auto;
		max-width: none;
		max-width: var(--l-max-width-full);
		padding-left: 1.5rem;
		padding-left: var(--gap-container);
		padding-right: 1.5rem;
		padding-right: var(--gap-container);
		width: 100%;
		margin: unset;
		padding-left: 1.5rem;
		padding-left: var(--gap-container);
  	padding-right: 1.5rem;
  	padding-right: var(--gap-container)
}
	}

.s-main-product-grid__inner {
	margin: 0 -2rem;
  overflow: hidden
}

@media ( min-width: 768px ) {

.s-main-product-grid__inner {
		margin: unset
}
	}

.s-main-product-grid__grid {
	display: flex;
  flex-wrap: wrap;
	margin: 0 -2rem;
	margin-left: -0.5rem;
	margin-right: -0.5rem;
  overflow: hidden
}

@media ( min-width: 768px ) {

.s-main-product-grid__grid {
  	align-items: flex-start;
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: flex-start;
  	margin-left: calc(1rem / 2 * -1);
  	margin-left: calc(var(--gap-grid) / 2 * -1);
  	margin-right: calc(1rem / 2 * -1);
  	margin-right: calc(var(--gap-grid) / 2 * -1);
  	width: calc(100% + 1rem);
  	width: calc(100% + var(--gap-grid))
}
	}

.s-main-product-grid__item {
	flex: 0 0 50%;
  max-width: 50%;
  order: 1;
  padding-bottom: calc(0.25rem * 10);
  padding-bottom: calc(var(--baseline-unit) * 10);
	padding-left: 0.5rem;
	padding-right: 0.5rem
}

@media ( min-width: 768px ) {

.s-main-product-grid__item {
    flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 4 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 992px ) {

.s-main-product-grid__item {
    flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 3 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

.s-main-product-grid__item.out-of-stock {
    order: 2;
  }

.s-main-search {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);

  background-color: #f3f2ef;

  background-color: var(--color-background);
  min-height: 40vh;
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap);
	padding-top: calc(0.25rem * 4);
	padding-top: var(--gap-tiny);
}

@media ( min-width: 768px ) {

.s-main-search {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( min-width: 768px ) {

.s-main-search {
    padding-bottom: calc(0.25rem * 8);
    padding-bottom: var(--gap);
    padding-top: calc(calc(0.25rem * 8) * 0.875);
    padding-top: calc(var(--gap) * 0.875)
}
  }

.s-main-search__container {
	margin: 0 auto;
  padding: 0 2rem
}

@media ( min-width: 768px ) {

.s-main-search__container {
  	margin-left: auto;
  	margin-right: auto;
  	max-width: none;
  	max-width: var(--l-max-width-full);
  	padding-left: 1.5rem;
  	padding-left: var(--gap-container);
  	padding-right: 1.5rem;
  	padding-right: var(--gap-container);
  	width: 100%;
		margin: unset;
		padding-left: 1.5rem;
		padding-left: var(--gap-container);
  	padding-right: 1.5rem;
  	padding-right: var(--gap-container)
}
	}

.s-main-search__inner {
	margin: 0 -2rem;
  overflow: hidden
}

@media ( min-width: 768px ) {

.s-main-search__inner {
		margin: unset
}
	}

.s-main-search__grid {
	display: flex;
  flex-wrap: wrap;
	margin: 0 -2rem;
	margin-left: -0.5rem;
	margin-right: -0.5rem;
  overflow: hidden

}

@media ( min-width: 768px ) {

.s-main-search__grid {
  	align-items: flex-start;
  	display: flex;
  	flex-wrap: wrap;
  	justify-content: flex-start;
  	margin-left: calc(1rem / 2 * -1);
  	margin-left: calc(var(--gap-grid) / 2 * -1);
  	margin-right: calc(1rem / 2 * -1);
  	margin-right: calc(var(--gap-grid) / 2 * -1);
  	width: calc(100% + 1rem);
  	width: calc(100% + var(--gap-grid))

}
	}

.s-main-search__item {
	flex: 0 0 50%;
  max-width: 50%;
  padding-bottom: calc(0.25rem * 10);
  padding-bottom: calc(var(--baseline-unit) * 10);
	padding-left: 0.5rem;
	padding-right: 0.5rem
}

@media ( min-width: 768px ) {

.s-main-search__item {
    flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 4 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 992px ) {

.s-main-search__item {
    flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 3 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

/* =============================================================================
 # Main Search Header                                                       #
============================================================================= */

/**
 * A section for main-search-header.
 */

.s-main-search-header {
  background-color: #f3f2ef;
  background-color: var(--color-background);
  padding-top: calc(0.25rem * 3)
}

@media ( min-width: 768px ) {

.s-main-search-header {
    padding-top: 0
}
  }

.s-main-search-header__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-main-search-header__image {
  aspect-ratio: 16 / 9;
  position: relative;
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {

.s-main-search-header__image {
    height: 0;
    overflow: hidden;
    padding-top: calc((9 / 16) * 100%)
}
  }

@supports not (aspect-ratio: 1 / 1) {

.s-main-search-header__image {
    padding-top: calc((1 / 1) * 100%)
}
  }

.s-main-search-header__image embed,
  .s-main-search-header__image iframe,
  .s-main-search-header__image img,
  .s-main-search-header__image video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.s-main-search-header__image img {
    border-radius: 0;
    border-radius: var(--radius);
  }

@media ( min-width: 768px ) {

.s-main-search-header__image {
    aspect-ratio: 14 / 6;
}
    @supports not (aspect-ratio: 1 / 1) {

.s-main-search-header__image {
    padding-top: calc((6 / 14) * 100%)
}
  }
  }

.s-main-search-header__content {
  display: flex;
  flex-direction: column;
}

.s-main-search-header__content .s-main-search-header__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((42 / 16) * 1rem);
    font-size: var(--font-size-xlarge);
    line-height: var(--line-height-xlarge);
		text-align: center
  }

@media ( min-width: 768px ) {

  .s-main-search-header__content .s-main-search-header__title {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
      font-family: var(--font-heading);
      font-size: calc((52 / 16) * 1rem);
      font-size: var(--font-size-huge);
      line-height: var(--line-height-huge);
      padding-top: calc(calc(0.25rem * 8) * 1.25);
      padding-top: calc(var(--gap) * 1.25)
  }
    }

.s-main-search-header__content .s-main-search-header__buttons {
    align-items: center;
    display: flex;
		justify-content: center;
    padding-top: calc(calc(0.25rem * 8) / 1.5);
    padding-top: calc(var(--gap) / 1.5);
    width: 100%
  }

@media ( min-width: 768px ) {

  .s-main-search-header__content .s-main-search-header__buttons {
			padding-top: calc(calc(0.25rem * 8));
			padding-top: calc(var(--gap))
  }
    }

.s-main-search-header__content .s-main-search-header__label {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((14.3 / 16) * 1rem);
    font-size: var(--font-size-tiny);
    line-height: var(--line-height-tiny);
    color: #2d2d2c;
    color: var(--color-text);
    font-weight: 500;
    font-weight: var(--font-weight-bold);
    letter-spacing: 1px;
    text-transform: uppercase;
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((16.5 / 16) * 1rem);
		font-size: var(--font-size-small);
		line-height: var(--line-height-small);
		font-weight: 400
  }

@media ( min-width: 768px ) {

  .s-main-search-header__content .s-main-search-header__label {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
			font-family: var(--font-body);
			font-size: calc((14.3 / 16) * 1rem);
			font-size: var(--font-size-tiny);
			line-height: var(--line-height-tiny)
  }
		}

.s-main-search-header__content .s-main-search-header__button {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);

    align-items: center;
    display: flex;
  }

.s-main-search-header__content .s-main-search-header__button-icon {
    margin-right: calc(0.25rem * 2);
    margin-right: var(--gap-micro);
  }

/* =============================================================================
 # marquee                                                                     #
============================================================================= */

.s-marquee {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-marquee {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-marquee__inner {
}

.s-marquee__header {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
	margin-bottom: calc(0.25rem * 8);
	margin-bottom: var(--gap-medium);
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.s-marquee__title {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-size: calc((42 / 16) * 1rem);
	font-size: var(--font-size-xlarge);
	line-height: var(--line-height-xlarge);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	text-align: center
}

@media ( min-width: 768px ) {

.s-marquee__title {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((52 / 16) * 1rem);
		font-size: var(--font-size-huge);
		line-height: var(--line-height-huge)
}
	}

.s-marquee__label {
	margin-bottom: calc(0.25rem * 8);
	margin-bottom: var(--gap-medium);
	margin-left: auto;
	margin-right: auto;
}

.s-marquee__item {

}

.s-marquee__link-container {
	margin-top: calc(0.25rem * 8);
	margin-top: var(--gap-medium);
	text-align: center;
}

.s-marquee__link-container .s-marquee__link {
		margin-left: auto;
		margin-right: auto;
	}

.s-marquee__slider-outer {
  overflow: hidden;
  position: relative;
  width: 100%;
}

.s-marquee__grid {
  animation: marquee-marquee 60s linear infinite;
  display: -ms-grid;
  display: grid;
  grid-gap: calc(0.25rem * 5);
  gap: calc(0.25rem * 5);
  grid-auto-flow: column;
  -ms-grid-rows: (1fr)[2];
  grid-template-rows: repeat(2, 1fr);
  height: 100%;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap-medium);
  width: max-content
}

@media ( min-width: 768px ) {

.s-marquee__grid {
		-ms-grid-rows: (1fr)[1];
		grid-template-rows: repeat(1, 1fr)
}
	}

.s-marquee__item {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
	min-width: 66.66vw;
	width: 66.66vw
}

.s-marquee__item:nth-child(4n-3),
	.s-marquee__item:nth-child(4n-2) {
		transform: translateY(1rem);
	}

.s-marquee__item:nth-child(4n-4),
	.s-marquee__item:nth-child(4n-1) {
		transform: translateY(-1rem);
	}

@media ( min-width: 768px ) {
		.s-marquee__item:nth-child(4n-3),
		.s-marquee__item:nth-child(4n-2) {
			transform: translateY(0);
		}

		.s-marquee__item:nth-child(4n-4),
		.s-marquee__item:nth-child(4n-1) {
			transform: translateY(0);
		}

		.s-marquee__item:nth-child(even) {
			transform: translateY(1.5rem);
		}

		.s-marquee__item:nth-child(odd) {
			transform: translateY(-1.5rem);
		}
	}

.s-marquee__item:hover img, .s-marquee__item:focus img {
			transform: scale(0.98);
		}

@media ( min-width: 768px ) {

.s-marquee__item {
		min-width: 33.33vw;
		width: 33.33vw
}
	}

@media ( min-width: 992px ) {

.s-marquee__item {
		min-width: 22vw;
		width: 22vw
}
	}

.s-marquee__item img {
		aspect-ratio: 1/1;
		display: block;
		height: 100%;
		object-fit: cover;
		transition: transform 0.2s ease-in-out;
		width: 100%;
	}

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

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

.s-marquee__item-link {
  display: flex;
  height: 100%;
  width: 100%;
}

/* =============================================================================
 # Media With Text                                                            #
============================================================================= */

/**
 * A section for media with text.
 */

/* .s-media-text {
} */

.s-media-text__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((34 / 16) * 1rem);
  font-size: var(--font-size-xlarge-mobile);
  line-height: var(--line-height-xlarge);

  color: #2d2d2c;

  color: var(--color-text);
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny)
}

@media ( min-width: 992px ) {

.s-media-text__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((42 / 16) * 1rem);
    font-size: var(--font-size-xlarge);
    line-height: var(--line-height-xlarge)
}
  }

.s-media-text__text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);

  color: var(--color-body);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small);
  padding-left: calc(0.25rem * 2);
  padding-left: var(--gap-micro)
}

@media ( min-width: 992px ) {

.s-media-text__text {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
		line-height: 2;
    padding-left: 0;
    padding-right: 0
}
  }

.s-media-text__content {
  margin: auto;
  max-width: 32rem;
  text-align: center;
}

.s-media-text__content p {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
		line-height: calc(0.25rem * 7.5);
		line-height: var(--line-height-body);
  }

@media ( min-width: 768px ) {

.s-media-text__content {
    max-width: 30rem
}
  }

.has-layout-right .s-media-text__grid {
    flex-direction: row-reverse;
  }

.acf-block-preview .s-media-text__grid {
    flex-wrap: nowrap;
  }

@media ( min-width: 768px ) {

.s-media-text__grid {
		align-items: flex-start;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-left: calc(1rem / 2 * -1);
		margin-left: calc(var(--gap-grid) / 2 * -1);
		margin-right: calc(1rem / 2 * -1);
		margin-right: calc(var(--gap-grid) / 2 * -1);
		width: calc(100% + 1rem);
		width: calc(100% + var(--gap-grid));
    align-items: center;
		width: 100%
}
  }

.s-media-text__column {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);
	padding-right: 0
}

.s-media-text__column.s-media-text__column--media {
    padding-bottom: calc(0.25rem * 10);
		padding-left: 0;
		padding-right: 0;
  }

.shopify-editor .s-media-text__column.s-media-text__column--media {
			opacity: 1;
		}

.s-media-text__column.s-media-text__column--content {
		padding-bottom: calc(0.25rem * 22);
	}

@media ( min-width: 768px ) {
    .s-media-text__column.s-media-text__column--content {
      flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 6 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
			padding-bottom: 0;
    }

			.shopify-editor .s-media-text__column.s-media-text__column--content {
				opacity: 1;
			}

    .s-media-text__column.s-media-text__column--media {
      flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 6 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
      padding-bottom: 0;
			padding-left: 0;
			padding-right: 0;
    }
  }

.s-media-text__media video,
  .s-media-text__media img {
    border-radius: 0;
    border-radius: var(--radius);
    height: auto;
    object-fit: cover;
    width: 100%;
  }

/* =============================================================================
 # Media                                                                      #
============================================================================= */

/**
 * A section for media image/video.
 */

.s-media {
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-media {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

.s-media.has-image {
		margin-left: auto;
		margin-right: auto;
		max-width: none;
		max-width: var(--l-max-width-full);
		padding-left: 1.5rem;
		padding-left: var(--gap-container);
		padding-right: 1.5rem;
		padding-right: var(--gap-container);
		width: 100%;
	}

.shopify-editor .s-media {
		opacity: 1;
	}

.s-media__image {
	aspect-ratio: 16/9;
	height: 100%;
	max-height: 85vh;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* =============================================================================
 # Newsletter                                                                 #
============================================================================= */

/**
 * A section for newsletter.
 */

.s-newsletter {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-newsletter {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-newsletter__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%
}

@media ( min-width: 992px ) {

.s-newsletter__inner {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: calc(1rem / 2 * -1);
    margin-left: calc(var(--gap-grid) / 2 * -1);
    margin-right: calc(1rem / 2 * -1);
    margin-right: calc(var(--gap-grid) / 2 * -1);
    width: calc(100% + 1rem);
    width: calc(100% + var(--gap-grid));

    width: 100%
}
  }

@media ( min-width: 992px ) {

.s-newsletter__column {
    flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 6 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

/* =============================================================================
 # Page Header (Article)                                                      #
============================================================================= */

/**
 * A section for page-header-article.
 */

.s-page-header-article {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-page-header-article {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-page-header-article__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-page-header-article__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
}

/* =============================================================================
 # Page Header (Full)                                                         #
============================================================================= */

:root {
  --s-page-header-full-height: 100vh;

  /* @media (--bp-xxlarge) {
		--s-page-header-full-height: calc((9 / 21) * 100vw);
	} */
}

.s-page-header-full {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);

  padding-top: 0;
}

@media ( min-width: 768px ) {

.s-page-header-full {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( min-width: 768px ) {

.s-page-header-full {
    padding-top: 0
}
  }

.s-page-header-full__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;

  align-items: center;
  aspect-ratio: 9/16;
  color: #fff;
  color: var(--color-white);
  display: flex;
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.s-page-header-full__content {
  margin: auto;
  max-width: 42rem;
  text-align: center;
  z-index: 2;
}

.s-page-header-full__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((52 / 16) * 1rem);
  font-size: var(--font-size-huge);
  line-height: var(--line-height-huge);
  color: #fff;
  color: var(--color-white);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-page-header-full__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((62 / 16) * 1rem);
    font-size: var(--font-size-xhuge);
    line-height: var(--line-height-xhuge);
		color: #fff;
		color: var(--color-white)
}
  }

.s-page-header-full__media-inner {
  display: block;
  opacity: 1
}

@media ( min-width: 768px ) {

.s-page-header-full__media-inner {
    left: 0;
		position: absolute;
    top: 0;
    width: 100%
}
	}

.s-page-header-full__media-inner img {
    bottom: 0;
		display: none;
    height: 100%;
    left: 0;
    object-fit: cover;
    opacity: 0.9;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: -1
  }

@media ( min-width: 768px ) {

  .s-page-header-full__media-inner img {
			bottom: auto;
			display: block;
			left: auto;
			position: static;
			right: auto;
			top: auto;
			width: 50%;
  }

			.s-page-header-full__inner--one-image .s-page-header-full__media-inner img {
				width: 100%;
			}
		}

.s-page-header-full__media-inner img:first-of-type {
			display: block;
		}

.s-page-header-full__filter {
  background-color: #2d2d2c;
  background-color: var(--color-black);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
	z-index: 1;
}

.s-page-header-full__label {
	margin-bottom: calc(0.25rem * 8);
	margin-bottom: var(--gap-medium);
	margin-left: auto;
	margin-right: auto;
}

.s-page-header-full__intro {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((18.5 / 16) * 1rem);
	font-size: var(--font-size-smallx);
	line-height: var(--line-height-xmedium);
	font-style: italic;
	color: #fff;
	color: var(--color-white);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	margin-bottom: calc(0.25rem * 8);
	margin-bottom: var(--gap-medium)
}

@media ( min-width: 992px ) {

.s-page-header-full__intro {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((22 / 16) * 1rem);
		font-size: var(--font-size-medium);
		line-height: var(--line-height-medium);
		color: #fff;
		color: var(--color-white);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading)
}
	}

.s-page-header-full__link {
	margin-bottom: calc(0.25rem * 4);
	margin-bottom: var(--gap-tiny);
	margin-top: calc(0.25rem * 4);
	margin-top: var(--gap-tiny);
}

.s-page-header-full__link .c-button {
		justify-content: center;
		width: 100%;
	}

@media ( min-width: 768px ) {

.s-page-header-full__links {
		display: flex;
		grid-gap: calc(0.25rem * 4);
		gap: calc(0.25rem * 4);
		grid-gap: var(--gap-tiny);
		gap: var(--gap-tiny);
		justify-content: center
}
	}

@media ( min-width: 768px ) {
  .s-page-header-full__media-inner {
    display: flex;
    flex-direction: row;
    grid-gap: 0;
    gap: 0;
    height: 100%;
    width: 100%;
  }
}

/* =============================================================================
 # Page Header (Simple)                                                        #
============================================================================= */

.s-page-header-simple {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
	padding-bottom: calc(calc(0.25rem * 8) * 2.5);
	padding-bottom: calc(var(--gap) * 2.5);
	padding-top: calc(0.25rem * 2);
	padding-top: var(--gap-micro);
}

@media ( min-width: 768px ) {

.s-page-header-simple {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( min-width: 768px ) {

.s-page-header-simple {
		padding-bottom: calc(calc(0.25rem * 8) * 3.5);
		padding-bottom: calc(var(--gap) * 3.5);
		padding-top: calc(0.25rem * 4);
		padding-top: var(--gap-tiny)
}
	}

.s-page-header-simple__inner {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(1rem / 2 * -1);
	margin-left: calc(var(--gap-grid) / 2 * -1);
	margin-right: calc(1rem / 2 * -1);
	margin-right: calc(var(--gap-grid) / 2 * -1);
	width: calc(100% + 1rem);
	width: calc(100% + var(--gap-grid));
  text-align: center;
}

.s-page-header-simple__content {
 	flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
 	flex-grow: 0;
 	max-width: calc(( 100 / (12 / 12 ) ) * 1%);
 	padding-left: calc(1rem / 2);
 	padding-left: calc(var(--gap-grid) / 2);
 	padding-right: calc(1rem / 2);
 	padding-right: calc(var(--gap-grid) / 2)
}

@media ( min-width: 992px ) {

.s-page-header-simple__content {
    flex-basis: calc(( 100 / ( 12 / 10 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 10 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 1)) * 1%)
}
  }

@media ( min-width: 1280px ) {

.s-page-header-simple__content {
    flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 8 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 2)) * 1%)
}
  }

.s-page-header-simple__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((42 / 16) * 1rem);
  font-size: var(--font-size-xlarge);
  line-height: var(--line-height-xlarge);
  margin-bottom: var(--gap-medium);
}

.s-page-header-simple__title:last-child {
    margin-bottom: 0;
  }

@media ( min-width: 992px ) {

.s-page-header-simple__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((52 / 16) * 1rem);
    font-size: var(--font-size-huge);
    line-height: var(--line-height-huge);
		margin-bottom: 4rem;
}
		.s-page-header-simple__title:last-child {
    margin-bottom: 0;
  }
  }

.s-page-header-simple__intro p {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((14.3 / 16) * 1rem);
    font-size: var(--font-size-tiny);
    line-height: var(--line-height-tiny);

    padding-bottom: calc(0.25rem * 6);

    padding-bottom: var(--gap-small)
  }

.s-page-header-simple__intro p:last-child {
      padding-bottom: 0;
    }

.s-page-header-simple__intro strong {
    font-weight: bold;
  }

.s-page-header-simple__intro a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-page-header-simple__intro a:hover,
  .s-page-header-simple__intro a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-page-header-simple__intro p {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((26 / 16) * 1rem);
		font-size: var(--font-size-large);
		line-height: var(--line-height-large);
		color: #2d2d2c;
		color: var(--color-text);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		line-height: 2.5rem;
		margin-left: auto;
		margin-right: auto;
	}

.s-page-header-simple__intro p strong {
			color: #ab582b;
			color: var(--color-orange);
			font-weight: 400;
		}

@media ( min-width: 992px ) {
		.s-page-header-simple__intro p {
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			line-height: 2.75rem;
		}
  }

/* =============================================================================
 # Password Section                                                           #
============================================================================= */

:root {
  --s-password-height: 100vh;
}

.s-password {
}

.s-password__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;

  align-items: center;
  color: #fff;
  color: var(--color-white);
  display: flex;
  height: 100vh;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.s-password__inner--no-image {
  background-color: #2d2d2c;
  background-color: var(--color-black);
}

.s-password__media {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 0;
}

.s-password__media-inner {
  bottom: 0;
  display: block;
  height: 100%;
  left: 0;
  opacity: 1;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.s-password__media-inner img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: cover;
    opacity: 0.9;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
  }

.s-password__filter {
  background-color: #2d2d2c;
  background-color: var(--color-black);
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.s-password__content {
  margin: auto;
  max-width: 48.5rem;
  padding: calc(0.25rem * 8);
  padding: var(--gap);
  position: relative;
  text-align: center;
  z-index: 2;
}

.s-password__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((52 / 16) * 1rem);
  font-size: var(--font-size-huge);
  line-height: var(--line-height-huge);
  color: #fff;
  color: var(--color-white);
  padding-bottom: calc(0.25rem * 6);
  padding-bottom: var(--gap-small)
}

@media ( min-width: 992px ) {

.s-password__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((62 / 16) * 1rem);
    font-size: var(--font-size-xhuge);
    line-height: var(--line-height-xhuge);
    color: #fff;
    color: var(--color-white)
}
  }

.s-password__intro {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((18.5 / 16) * 1rem);
  font-size: var(--font-size-smallx);
  line-height: var(--line-height-xmedium);
  font-style: italic;
  color: #fff;
  color: var(--color-white);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  margin-bottom: calc(0.25rem * 8);
  margin-bottom: var(--gap-medium)
}

@media ( min-width: 992px ) {

.s-password__intro {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);
    color: #fff;
    color: var(--color-white);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading)
}
  }

.s-password__intro a {
    color: #fff;
    color: var(--color-white);
    text-decoration: underline;
  }

.s-password__form {
  margin-top: calc(0.25rem * 8);
  margin-top: var(--gap-medium);
}

.s-password__form-input {
  display: flex;
  flex-direction: column;
  grid-gap: calc(0.25rem * 4);
  gap: calc(0.25rem * 4);
  grid-gap: var(--gap-tiny);
  gap: var(--gap-tiny)
}

@media ( min-width: 768px ) {

.s-password__form-input {
    flex-direction: row;
    justify-content: center
}
  }

.s-password__input {
  background-color: #f4f4f4;
  background-color: var(--color-gray);
  border: 1px solid #d5d5d5;
  border: 1px solid var(--color-dark-gray);
  color: #2d2d2c;
  color: var(--color-black);
  font-size: 16px;
  padding: 0.8rem;
  width: 100%
}

@media ( min-width: 768px ) {

.s-password__input {
    max-width: 20rem
}
  }

.s-password__input:-ms-input-placeholder {
    color: #2d2d2c;
    color: var(--color-text);
  }

.s-password__input::placeholder {
    color: #2d2d2c;
    color: var(--color-text);
  }

.s-password__input:focus {
    border-color: #2d2d2c;
    border-color: var(--color-black);
    outline: none;
  }

.s-password__submit {
	justify-content: center;
  width: 100%
}

@media ( min-width: 768px ) {

.s-password__submit {
    white-space: nowrap;
    width: auto
}
  }

.s-password__error {
  color: #ce3127;
  color: var(--color-error);
  margin-top: calc(0.25rem * 4);
  margin-top: var(--gap-tiny);
  text-align: center;

  color: #2d2d2c;

  color: var(--color-black);

  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;

  font-family: var(--font-body);

  font-size: calc((12 / 16) * 1rem);

  font-size: var(--font-size-micro);

  line-height: var(--line-height-micro);
}

/* =============================================================================
 # Perks                                                                       #
============================================================================= */

/**
 * A block for perks
 */

.s-perks {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-perks {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-perks__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;

  position: relative;
  z-index: 1;
}

.s-perks__header {
  padding-bottom: var(--gap-section)
}

.s-perks__header:last-child {
    padding-bottom: 0;
  }

.s-perks__title-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
}

.s-perks__items {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: calc(1rem / 2 * -1);
  margin-left: calc(var(--gap-grid) / 2 * -1);
  margin-right: calc(1rem / 2 * -1);
  margin-right: calc(var(--gap-grid) / 2 * -1);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid));
}

.s-perks__item {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-bottom: calc(0.25rem * 16);

  padding-bottom: var(--gap-large)
}

@media ( min-width: 768px ) {

.s-perks__item {
    flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 6 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 992px ) {

.s-perks__item {
    flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 4 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 1280px ) {

.s-perks__item {
    flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 3 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

.s-perks__item-inner {
  padding-left: calc(0.25rem * 4);
  padding-left: var(--gap-tiny);
  padding-right: calc(0.25rem * 4);
  padding-right: var(--gap-tiny);
}

.s-perks__item-media embed,
  .s-perks__item-media iframe,
  .s-perks__item-media img,
  .s-perks__item-media video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.s-perks__item-media {
  aspect-ratio: 4 / 3;
  position: relative;
}

@supports not (aspect-ratio: 1 / 1) {

.s-perks__item-media {
    height: 0;
    overflow: hidden;
    padding-top: calc((3 / 4) * 100%);
}
  }

/* =============================================================================
 # Product Information                                                        #
============================================================================= */

/**
 * A section for product-information.
 */

.s-product-information {
  background-color: #f3f2ef;
  background-color: var(--color-background);
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap)
}

@media ( min-width: 768px ) {

.s-product-information {
    padding-bottom: calc(0.25rem * 8);
    padding-bottom: var(--gap)
}
  }

@media ( min-width: 768px ) {

.s-product-information__inner {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: calc(1rem / 2 * -1);
    margin-left: calc(var(--gap-grid) / 2 * -1);
    margin-right: calc(1rem / 2 * -1);
    margin-right: calc(var(--gap-grid) / 2 * -1);
    width: calc(100% + 1rem);
    width: calc(100% + var(--gap-grid));
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    max-width: var(--l-max-width-full);
    padding-left: 1.5rem;
    padding-left: var(--gap-container);
    padding-right: 1.5rem;
    padding-right: var(--gap-container);
    width: 100%
}
  }

.s-product-information__breadcrumb {
	width: 100%;
}

.s-product-information__thumbnails {
  display: flex;
  flex-wrap: wrap
}

.s-product-information__thumbnails :hover {
    cursor: pointer;
  }

@media ( min-width: 992px ) {

.s-product-information__thumbnails {
    flex-wrap: nowrap;
    overflow: scroll
}
  }

@media ( min-width: 768px ) {

.s-product-information__gallery {
    flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 8 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		padding-left: 0;
		padding-right: 0
}
  }

.s-product-information__details {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;

  padding-top: calc(calc(0.25rem * 8) * 0.75);

  padding-top: calc(var(--gap) * 0.75)
}

.s-product-information__details:first-child {
    padding-top: 0;
  }

@media ( min-width: 768px ) {

.s-product-information__details {
    flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 4 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-right: 0;
	  padding-left: calc(0.25rem * 8);
	  padding-left: var(--gap-medium);
    padding-top: calc(0.25rem * 8);
    padding-top: var(--gap);
    position: sticky;
    top: calc(calc(0.25rem * 8) * 2);
    top: calc(var(--gap) * 2)
}
  }

@media ( min-width: 992px ) {

.s-product-information__details {
    /* @mixin flex-column 4; */
}
  }

.s-product-information__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large)
}

@media ( min-width: 992px ) {

.s-product-information__title {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((42 / 16) * 1rem);
		font-size: var(--font-size-xlarge);
		line-height: var(--line-height-xlarge)
}
	}

.s-product-information__label {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);
	font-style: italic;
	color: #575756;
	color: var(--color-light-gray);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	text-transform: capitalize
}

@media ( min-width: 768px ) {

.s-product-information__label {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((20 / 16) * 1rem);
		font-size: var(--font-size-xmedium);
		line-height: var(--line-height-xmedium);
		color: #575756;
		color: var(--color-light-gray);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading)
}
	}

.s-product-information__price {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: var(--line-height-medium);

  color: #2d2d2c;

  color: var(--color-text);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  padding-top: calc(calc(0.25rem * 6) * 0.75);
  padding-top: calc(var(--gap-small) * 0.75);
}

.s-product-information__description {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-product-information__description {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7)
}
  }

.s-product-information__description a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-product-information__description a:hover,
  .s-product-information__description a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-product-information__description p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-product-information__description strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-product-information__description em {
    font-style: italic;
  }

.s-product-information__description del {
    text-decoration: line-through;
  }

.s-product-information__description h1,
  .s-product-information__description h2,
  .s-product-information__description h3,
  .s-product-information__description h4,
  .s-product-information__description h5,
  .s-product-information__description h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-product-information__description h1:first-child, .s-product-information__description h2:first-child, .s-product-information__description h3:first-child, .s-product-information__description h4:first-child, .s-product-information__description h5:first-child, .s-product-information__description h6:first-child {
      padding-top: 0;
    }

.s-product-information__description h1:last-child, .s-product-information__description h2:last-child, .s-product-information__description h3:last-child, .s-product-information__description h4:last-child, .s-product-information__description h5:last-child, .s-product-information__description h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-product-information__description h1,
  .s-product-information__description h2,
  .s-product-information__description h3,
  .s-product-information__description h4,
  .s-product-information__description h5,
  .s-product-information__description h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-product-information__description hr + h1,
    .s-product-information__description hr + h2,
    .s-product-information__description hr + h3,
    .s-product-information__description hr + h4,
    .s-product-information__description hr + h5,
    .s-product-information__description hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-product-information__description p,
  .s-product-information__description ul,
  .s-product-information__description ol,
  .s-product-information__description table,
  .s-product-information__description figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-product-information__description p:last-child, .s-product-information__description ul:last-child, .s-product-information__description ol:last-child, .s-product-information__description table:last-child, .s-product-information__description figure:last-child {
      padding-bottom: 0;
    }

.s-product-information__description pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-product-information__description pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-product-information__description hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-product-information__description blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-product-information__description blockquote p:last-child {
      padding-bottom: 0;
    }

.s-product-information__description blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-product-information__description blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-product-information__description blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-product-information__description ul,
  .s-product-information__description ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-product-information__description ul > ul,
    .s-product-information__description ul > ol,
    .s-product-information__description ol > ul,
    .s-product-information__description ol > ol {
      margin-bottom: 0;
    }

.s-product-information__description ul li, .s-product-information__description ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-product-information__description ul li > ul,
      .s-product-information__description ul li > ol,
      .s-product-information__description ol li > ul,
      .s-product-information__description ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-product-information__description ul li > ul li:last-of-type, .s-product-information__description ul li > ol li:last-of-type, .s-product-information__description ol li > ul li:last-of-type, .s-product-information__description ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-product-information__description ul {
		list-style: disc;
  }

.s-product-information__description ul li {
      list-style-type: disc;
    }

.s-product-information__description ol {
    counter-reset: ol;
  }

.s-product-information__description ol li {
      list-style-type: decimal;
    }

.s-product-information__description figure {
    max-width: 100%;
    width: 100%;
  }

.s-product-information__description figure a {
      display: block;
    }

.s-product-information__description figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-product-information__description figcaption img {
      margin-top: 0;
    }

.s-product-information__description img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-product-information__description img:last-child {
      margin-bottom: 0;
    }

.s-product-information__description .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-product-information__description table,
  .acf-preview .s-product-information__description .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-product-information__description table th,
    .s-product-information__description table td,
    .acf-preview .s-product-information__description .table-wrapper table th,
    .acf-preview .s-product-information__description .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-product-information__description table th:not(:first-child), .s-product-information__description table td:not(:first-child), .acf-preview .s-product-information__description .table-wrapper table th:not(:first-child), .acf-preview .s-product-information__description .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-product-information__description table th, .acf-preview .s-product-information__description .table-wrapper table th {
      line-height: 1.1375;
    }

.s-product-information__description {

  padding-top: calc(calc(0.25rem * 8) * 0.75);

  padding-top: calc(var(--gap) * 0.75);
}

.s-product-information__description p {
    color: var(--color-body);
  }

.s-product-information__description span {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
  }

.s-product-information__color-picker {
  padding-bottom: calc(calc(0.25rem * 8) * 0.25);
  padding-bottom: calc(var(--gap) * 0.25);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.s-product-information__variants {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.s-product-information__variants-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: var(--line-height-tiny);
  color: #2d2d2c;
  color: var(--color-text);
  font-weight: 500;
  font-weight: var(--font-weight-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
}

@media ( min-width: 992px ) {
    .s-product-information__details .shopify-product-form {
      align-items: inherit;
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      margin-left: calc(1rem / 2 * -1);
      margin-left: calc(var(--gap-grid) / 2 * -1);
      margin-right: calc(1rem / 2 * -1);
      margin-right: calc(var(--gap-grid) / 2 * -1);
      width: calc(100% + 1rem);
      width: calc(100% + var(--gap-grid));
    }
  }

.s-product-information__stock {
  padding-top: calc(calc(0.25rem * 8) * 0.75);
  padding-top: calc(var(--gap) * 0.75);
  width: 100%;
}

.quantity-button {
  color: #2d2d2c;
  color: var(--color-text);
  font-size: 0.75rem;
  transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
  transition: opacity var(--transition)
}

.quantity-button.quantity-button--increase {
    padding-right: calc(calc(0.25rem * 4) * 0.75);
    padding-right: calc(var(--gap-tiny) * 0.75);
  }

.quantity-button.quantity-button--decrease {
    padding-left: calc(calc(0.25rem * 4) * 0.75);
    padding-left: calc(var(--gap-tiny) * 0.75);
  }

.quantity-button:hover,
  .quantity-button:focus {
    opacity: 0.6;
  }

.s-product-information__accordion {
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap);
}

.s-product-information__accordion + .s-product-information__accordion {
  padding-top: 0;
}

.s-product-information__accordion + .s-product-information__accordion .c-accordion__item {
    border-top: none;
  }

.c-product-links {
  display: flex;
  flex-wrap: wrap;
  padding-top: calc(calc(0.25rem * 8) * 0.75);
  padding-top: calc(var(--gap) * 0.75);
}

.c-product-link {
  padding-right: calc(0.25rem * 8);
  padding-right: var(--gap)
}

.c-product-link:last-of-type {
    padding-right: 0;
  }

.c-product-link .c-product-link__item {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: 1;
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.c-product-link .c-product-link__item:hover,
  .c-product-link .c-product-link__item:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.c-product-link .c-product-link__item {

    color: #2d2d2c;

    color: var(--color-text);
}

/* =============================================================================
 # Product Tabs                                                               #
============================================================================= */

/**
 * A section for product-tabs.
 */

.s-product-tabs {
	margin-left: auto;
	margin-right: auto;
	max-width: none;
	max-width: var(--l-max-width-full);
	padding-left: 1.5rem;
	padding-left: var(--gap-container);
	padding-right: 1.5rem;
	padding-right: var(--gap-container);
	width: 100%;
	padding-bottom: calc(0.25rem * 8);
	padding-bottom: var(--gap-medium);
	padding-top: calc(0.25rem * 8);
	padding-top: var(--gap-medium);
	background-color: #f3f2ef;
	background-color: var(--color-background);
}

@media ( min-width: 768px ) {

.s-product-tabs {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-product-tabs__title .s-product-tabs__inner {
		display: flex;
	}

.s-product-tabs__tabs {
	display: none
}

@media (min-width: 1025px) {

.s-product-tabs__tabs {
		display: flex
}
	}

.s-product-tabs__accordion {
	display: block
}

@media (min-width: 1025px) {

.s-product-tabs__accordion {
		display: none
}
	}

.s-product-tabs__nav {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	width: 25%;
}

.s-product-tabs__nav-item {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((14.3 / 16) * 1rem);
	font-size: var(--font-size-tiny);
	line-height: var(--line-height-tiny);
	color: #575756;
	color: var(--color-light-gray);
	letter-spacing: 0.7px;
	padding-bottom: calc(0.25rem * 6);
	padding-bottom: var(--gap-small);
	text-align: left;
	text-transform: uppercase
}

.s-product-tabs__nav-item.is-active {
		color: #2d2d2c;
		color: var(--color-black);
		font-weight: 500;
		font-weight: var(--font-weight-bold);
		text-decoration: underline;
	}

.s-product-tabs__content {
	position: relative;
	width: 75%;
}

.s-product-tabs__content-item {
  height: 0;
  left: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateY(34px);
  transition: opacity 0s cubic-bezier(0.4, 0, 0.2, 1), transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  visibility: hidden
}

.s-product-tabs__content-item.is-active {
		height: auto;
		opacity: 1;
		overflow: visible;
		pointer-events: auto;
		position: relative;
		transform: translateY(0);
		visibility: visible;
		z-index: 1;
	}

.s-product-tabs__content-item {
	display: flex;
	flex-direction: row-reverse;
}

.s-product-tabs__content-item--image {
	width: 30%;
}

.s-product-tabs__content-item--image img {
		height: auto;
		width: 100%;
	}

.s-product-tabs__content-item--content {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-size: calc((16.5 / 16) * 1rem);
	font-size: var(--font-size-small);
	line-height: var(--line-height-small);
	color: #2d2d2c;
	color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-product-tabs__content-item--content {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7)
}
  }

.s-product-tabs__content-item--content a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-product-tabs__content-item--content a:hover,
  .s-product-tabs__content-item--content a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-product-tabs__content-item--content p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-product-tabs__content-item--content strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-product-tabs__content-item--content em {
    font-style: italic;
  }

.s-product-tabs__content-item--content del {
    text-decoration: line-through;
  }

.s-product-tabs__content-item--content h1,
  .s-product-tabs__content-item--content h2,
  .s-product-tabs__content-item--content h3,
  .s-product-tabs__content-item--content h4,
  .s-product-tabs__content-item--content h5,
  .s-product-tabs__content-item--content h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-product-tabs__content-item--content h1:first-child, .s-product-tabs__content-item--content h2:first-child, .s-product-tabs__content-item--content h3:first-child, .s-product-tabs__content-item--content h4:first-child, .s-product-tabs__content-item--content h5:first-child, .s-product-tabs__content-item--content h6:first-child {
      padding-top: 0;
    }

.s-product-tabs__content-item--content h1:last-child, .s-product-tabs__content-item--content h2:last-child, .s-product-tabs__content-item--content h3:last-child, .s-product-tabs__content-item--content h4:last-child, .s-product-tabs__content-item--content h5:last-child, .s-product-tabs__content-item--content h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-product-tabs__content-item--content h1,
  .s-product-tabs__content-item--content h2,
  .s-product-tabs__content-item--content h3,
  .s-product-tabs__content-item--content h4,
  .s-product-tabs__content-item--content h5,
  .s-product-tabs__content-item--content h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-product-tabs__content-item--content hr + h1,
    .s-product-tabs__content-item--content hr + h2,
    .s-product-tabs__content-item--content hr + h3,
    .s-product-tabs__content-item--content hr + h4,
    .s-product-tabs__content-item--content hr + h5,
    .s-product-tabs__content-item--content hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-product-tabs__content-item--content p,
  .s-product-tabs__content-item--content ul,
  .s-product-tabs__content-item--content ol,
  .s-product-tabs__content-item--content table,
  .s-product-tabs__content-item--content figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-product-tabs__content-item--content p:last-child, .s-product-tabs__content-item--content ul:last-child, .s-product-tabs__content-item--content ol:last-child, .s-product-tabs__content-item--content table:last-child, .s-product-tabs__content-item--content figure:last-child {
      padding-bottom: 0;
    }

.s-product-tabs__content-item--content pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-product-tabs__content-item--content pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-product-tabs__content-item--content hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-product-tabs__content-item--content blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-product-tabs__content-item--content blockquote p:last-child {
      padding-bottom: 0;
    }

.s-product-tabs__content-item--content blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-product-tabs__content-item--content blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-product-tabs__content-item--content blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-product-tabs__content-item--content ul,
  .s-product-tabs__content-item--content ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-product-tabs__content-item--content ul > ul,
    .s-product-tabs__content-item--content ul > ol,
    .s-product-tabs__content-item--content ol > ul,
    .s-product-tabs__content-item--content ol > ol {
      margin-bottom: 0;
    }

.s-product-tabs__content-item--content ul li, .s-product-tabs__content-item--content ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-product-tabs__content-item--content ul li > ul,
      .s-product-tabs__content-item--content ul li > ol,
      .s-product-tabs__content-item--content ol li > ul,
      .s-product-tabs__content-item--content ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-product-tabs__content-item--content ul li > ul li:last-of-type, .s-product-tabs__content-item--content ul li > ol li:last-of-type, .s-product-tabs__content-item--content ol li > ul li:last-of-type, .s-product-tabs__content-item--content ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-product-tabs__content-item--content ul {
		list-style: disc;
  }

.s-product-tabs__content-item--content ul li {
      list-style-type: disc;
    }

.s-product-tabs__content-item--content ol {
    counter-reset: ol;
  }

.s-product-tabs__content-item--content ol li {
      list-style-type: decimal;
    }

.s-product-tabs__content-item--content figure {
    max-width: 100%;
    width: 100%;
  }

.s-product-tabs__content-item--content figure a {
      display: block;
    }

.s-product-tabs__content-item--content figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-product-tabs__content-item--content figcaption img {
      margin-top: 0;
    }

.s-product-tabs__content-item--content img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-product-tabs__content-item--content img:last-child {
      margin-bottom: 0;
    }

.s-product-tabs__content-item--content .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-product-tabs__content-item--content table,
  .acf-preview .s-product-tabs__content-item--content .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-product-tabs__content-item--content table th,
    .s-product-tabs__content-item--content table td,
    .acf-preview .s-product-tabs__content-item--content .table-wrapper table th,
    .acf-preview .s-product-tabs__content-item--content .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-product-tabs__content-item--content table th:not(:first-child), .s-product-tabs__content-item--content table td:not(:first-child), .acf-preview .s-product-tabs__content-item--content .table-wrapper table th:not(:first-child), .acf-preview .s-product-tabs__content-item--content .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-product-tabs__content-item--content table th, .acf-preview .s-product-tabs__content-item--content .table-wrapper table th {
      line-height: 1.1375;
    }

.s-product-tabs__content-item--content {
	padding-right: calc(0.25rem * 8);
	padding-right: var(--gap-medium);
	width: 70%;
}

.s-product-tabs__content-item--content ul {
		padding-bottom: 0;
	}

/**
 * Product Tabs Accordion
 * ========================================================================== */

.s-product-tabs__accordion .c-accordion__content-item--image {
		margin-bottom: calc(0.25rem * 16);
		margin-bottom: var(--gap-large);
	}

.s-product-tabs__accordion .c-accordion__content-item--image img {
			max-height: 50vh;
			object-fit: cover;
		}

/* =============================================================================
 # Products Grid                                                                       #
============================================================================= */

/**
 * A block for a products grid
 */

.s-grid {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-grid {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-grid__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;

  position: relative;
  z-index: 1;
}

.s-grid__header {
  padding-bottom: var(--gap-section)
}

.s-grid__header:last-child {
    padding-bottom: 0;
  }

.s-grid__title-title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
}

.s-grid__items {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: calc(1rem / 2 * -1);
  margin-left: calc(var(--gap-grid) / 2 * -1);
  margin-right: calc(1rem / 2 * -1);
  margin-right: calc(var(--gap-grid) / 2 * -1);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid));
}

.s-grid__item {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-bottom: calc(0.25rem * 16);

  padding-bottom: var(--gap-large)
}

@media ( min-width: 768px ) {

.s-grid__item {
    flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 6 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 992px ) {

.s-grid__item {
    flex-basis: calc(( 100 / ( 12 / 4 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 4 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 1280px ) {

.s-grid__item {
    flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 3 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

.s-grid__item-inner {
  padding-left: calc(0.25rem * 4);
  padding-left: var(--gap-tiny);
  padding-right: calc(0.25rem * 4);
  padding-right: var(--gap-tiny);
}

/* =============================================================================
 # quote Section                                                        #
============================================================================= */

/**
 * A section for a quote.
 */

.s-quote {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-quote {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-quote__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-quote__content {
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	margin-left: calc(1rem / 2 * -1);
	margin-left: calc(var(--gap-grid) / 2 * -1);
	margin-right: calc(1rem / 2 * -1);
	margin-right: calc(var(--gap-grid) / 2 * -1);
	width: calc(100% + 1rem);
	width: calc(100% + var(--gap-grid));
}

.s-quote__text {
	flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
	flex-grow: 0;
	max-width: calc(( 100 / (12 / 12 ) ) * 1%);
	padding-left: calc(1rem / 2);
	padding-left: calc(var(--gap-grid) / 2);
	padding-right: calc(1rem / 2);
	padding-right: calc(var(--gap-grid) / 2);
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-size: calc((26 / 16) * 1rem);
	font-size: var(--font-size-large);
	line-height: var(--line-height-large);
	color: #ab582b;
	color: var(--color-orange);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	text-align: center
}

@media ( min-width: 992px ) {

.s-quote__text {
    flex-basis: calc(( 100 / ( 12 / 10 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 10 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 1)) * 1%)
}
  }

@media ( min-width: 1280px ) {

.s-quote__text {
    flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 8 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 2)) * 1%)
}
  }

.s-quote__text blockquote::before {
			color: #ab582b;
			content: "“";
			display: block;
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: 4.4rem;
			line-height: 0.75;
			text-align: center;
		}

/* =============================================================================
 # Related Products                                                           #
============================================================================= */

/**
 * A section for related-products.
 */

.s-related-products {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);

  padding-bottom: calc(0.25rem * 16);

  padding-bottom: var(--gap-large);
}

@media ( min-width: 768px ) {

.s-related-products {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

@media ( min-width: 768px ) {

.s-related-products {
    padding-top: calc(0.25rem * 8);
    padding-top: var(--gap)
}
  }

.s-related-products__grid {
  padding-left: 1.5rem;
  padding-left: var(--gap-container)
}

@media ( min-width: 768px ) {
    .s-related-products__grid[\:has\(.s-related-product\:nth-child\(5\)\)] .s-related-product {
      --column: 2.95;
    }
    .s-related-products__grid:has(.s-related-product:nth-child(5)) .s-related-product {
      --column: 2.95;
    }
  }

.s-related-product {
  --column: 9.75
}

@media ( min-width: 768px ) {

.s-related-product {
    --column: 3
}
  }

.s-related-product:last-child img {
      padding: 0;
    }

.s-related-product .c-product-card {
    width: 100%;
  }

.s-related-products__header {
  padding-bottom: calc(calc(0.25rem * 8) * 0.75);
  padding-bottom: calc(var(--gap) * 0.75);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
}

.s-related-products__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((26 / 16) * 1rem);
  font-size: var(--font-size-large);
  line-height: var(--line-height-large);
}

/* =============================================================================
 # Rich Text (Simple)                                                         #
============================================================================= */

/**
 * A simple rich text section with title and text content.
 */

.s-rich-text-simple {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-rich-text-simple {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large)
}
  }

.p-template-404 .s-rich-text-simple {
		padding-top: 0;
	}

.s-rich-text-simple__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
  max-width: 39.5rem;
  text-align: center;
}

.s-rich-text-simple__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((18.5 / 16) * 1rem);
  font-size: var(--font-size-smallx);
  line-height: var(--line-height-xmedium);
  color: #2d2d2c;
  color: var(--color-text);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	font-weight: 500;
	font-weight: var(--font-weight-bold);
  padding-bottom: calc(0.25rem * 6)
}

@media ( min-width: 768px ) {

.s-rich-text-simple__title {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body)
}

  }

.p-template-404 .s-rich-text-simple__title {
 		color: #2d2d2c;
 		color: var(--color-black);
 		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
 		font-family: var(--font-heading);
 		font-size: calc((52 / 16) * 1rem);
 		font-size: var(--font-size-huge);
 		line-height: var(--line-height-huge);
	}

.s-rich-text-simple__text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-rich-text-simple__text {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7);
}
  }

.s-rich-text-simple__text a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-rich-text-simple__text a:hover,
  .s-rich-text-simple__text a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-rich-text-simple__text p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-rich-text-simple__text strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-rich-text-simple__text em {
    font-style: italic;
  }

.s-rich-text-simple__text del {
    text-decoration: line-through;
  }

.s-rich-text-simple__text h1,
  .s-rich-text-simple__text h2,
  .s-rich-text-simple__text h3,
  .s-rich-text-simple__text h4,
  .s-rich-text-simple__text h5,
  .s-rich-text-simple__text h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-rich-text-simple__text h1:first-child, .s-rich-text-simple__text h2:first-child, .s-rich-text-simple__text h3:first-child, .s-rich-text-simple__text h4:first-child, .s-rich-text-simple__text h5:first-child, .s-rich-text-simple__text h6:first-child {
      padding-top: 0;
    }

.s-rich-text-simple__text h1:last-child, .s-rich-text-simple__text h2:last-child, .s-rich-text-simple__text h3:last-child, .s-rich-text-simple__text h4:last-child, .s-rich-text-simple__text h5:last-child, .s-rich-text-simple__text h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-rich-text-simple__text h1,
  .s-rich-text-simple__text h2,
  .s-rich-text-simple__text h3,
  .s-rich-text-simple__text h4,
  .s-rich-text-simple__text h5,
  .s-rich-text-simple__text h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-rich-text-simple__text hr + h1,
    .s-rich-text-simple__text hr + h2,
    .s-rich-text-simple__text hr + h3,
    .s-rich-text-simple__text hr + h4,
    .s-rich-text-simple__text hr + h5,
    .s-rich-text-simple__text hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-rich-text-simple__text p,
  .s-rich-text-simple__text ul,
  .s-rich-text-simple__text ol,
  .s-rich-text-simple__text table,
  .s-rich-text-simple__text figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-rich-text-simple__text p:last-child, .s-rich-text-simple__text ul:last-child, .s-rich-text-simple__text ol:last-child, .s-rich-text-simple__text table:last-child, .s-rich-text-simple__text figure:last-child {
      padding-bottom: 0;
    }

.s-rich-text-simple__text pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-rich-text-simple__text pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-rich-text-simple__text hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-rich-text-simple__text blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-rich-text-simple__text blockquote p:last-child {
      padding-bottom: 0;
    }

.s-rich-text-simple__text blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-rich-text-simple__text blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-rich-text-simple__text blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-rich-text-simple__text ul,
  .s-rich-text-simple__text ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-rich-text-simple__text ul > ul,
    .s-rich-text-simple__text ul > ol,
    .s-rich-text-simple__text ol > ul,
    .s-rich-text-simple__text ol > ol {
      margin-bottom: 0;
    }

.s-rich-text-simple__text ul li, .s-rich-text-simple__text ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-rich-text-simple__text ul li > ul,
      .s-rich-text-simple__text ul li > ol,
      .s-rich-text-simple__text ol li > ul,
      .s-rich-text-simple__text ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-rich-text-simple__text ul li > ul li:last-of-type, .s-rich-text-simple__text ul li > ol li:last-of-type, .s-rich-text-simple__text ol li > ul li:last-of-type, .s-rich-text-simple__text ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-rich-text-simple__text ul {
		list-style: disc;
  }

.s-rich-text-simple__text ul li {
      list-style-type: disc;
    }

.s-rich-text-simple__text ol {
    counter-reset: ol;
  }

.s-rich-text-simple__text ol li {
      list-style-type: decimal;
    }

.s-rich-text-simple__text figure {
    max-width: 100%;
    width: 100%;
  }

.s-rich-text-simple__text figure a {
      display: block;
    }

.s-rich-text-simple__text figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-rich-text-simple__text figcaption img {
      margin-top: 0;
    }

.s-rich-text-simple__text img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-rich-text-simple__text img:last-child {
      margin-bottom: 0;
    }

.s-rich-text-simple__text .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-rich-text-simple__text table,
  .acf-preview .s-rich-text-simple__text .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-rich-text-simple__text table th,
    .s-rich-text-simple__text table td,
    .acf-preview .s-rich-text-simple__text .table-wrapper table th,
    .acf-preview .s-rich-text-simple__text .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-rich-text-simple__text table th:not(:first-child), .s-rich-text-simple__text table td:not(:first-child), .acf-preview .s-rich-text-simple__text .table-wrapper table th:not(:first-child), .acf-preview .s-rich-text-simple__text .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-rich-text-simple__text table th, .acf-preview .s-rich-text-simple__text .table-wrapper table th {
      line-height: 1.1375;
    }

.s-rich-text-simple__text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-text);
	font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
	font-family: var(--font-body);
	line-height: calc(0.25rem * 7);
	line-height: var(--line-height-medium);
  margin-left: auto;
  margin-right: auto;
}

/* =============================================================================
 # Rich Text                                                                  #
============================================================================= */

/**
 * A section for rich-text.
 */

.s-rich-text {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
}

@media ( min-width: 768px ) {

.s-rich-text {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-rich-text__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.s-rich-text__grid {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: calc(1rem / 2 * -1);
  margin-left: calc(var(--gap-grid) / 2 * -1);
  margin-right: calc(1rem / 2 * -1);
  margin-right: calc(var(--gap-grid) / 2 * -1);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid));
}

.s-rich-text__header {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2)
}

@media ( min-width: 992px ) {

.s-rich-text__header {
    flex-basis: calc(( 100 / ( 12 / 10 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 10 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 1)) * 1%)
}
  }

@media ( min-width: 992px ) {

.s-rich-text__header {
	 	flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
	 	flex-grow: 0;
	 	max-width: calc(( 100 / (12 / 8 ) ) * 1%);
	 	padding-left: calc(1rem / 2);
	 	padding-left: calc(var(--gap-grid) / 2);
	 	padding-right: calc(1rem / 2);
	 	padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 2)) * 1%)
}
	}

.s-rich-text__content {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-top: 1.75rem
}

@media ( min-width: 768px ) {

.s-rich-text__content {
    padding-top: 0
}
  }

@media ( min-width: 992px ) {

.s-rich-text__content {
    flex-basis: calc(( 100 / ( 12 / 10 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 10 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 1)) * 1%)
}
  }

@media ( min-width: 1280px ) {

.s-rich-text__content {
    flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 8 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
		margin-left: calc((100 / (12 / 2)) * 1%)
}
  }

@media ( min-width: 768px ) {

.s-rich-text--has-image.s-rich-text--h1 .s-rich-text__content {
		padding-top: 5.25rem
}
	}

@media ( min-width: 768px ) {

.s-rich-text--has-image.s-rich-text--h2 .s-rich-text__content {
		padding-top: 4.75rem
}
	}

.s-rich-text__content .s-rich-text__title {
  color: #2d2d2c;
  color: var(--color-text);
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
}

.s-rich-text__content .s-rich-text__title--h1 {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((52 / 16) * 1rem);
  font-size: var(--font-size-huge);
  line-height: var(--line-height-huge);
}

.s-rich-text__content .s-rich-text__title--h2 {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((34 / 16) * 1rem);
  font-size: var(--font-size-xlarge-mobile);
  line-height: var(--line-height-xlarge)
}

@media ( min-width: 768px ) {

.s-rich-text__content .s-rich-text__title--h2 {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((42 / 16) * 1rem);
    font-size: var(--font-size-xlarge);
    line-height: var(--line-height-xlarge)
}
  }

.s-rich-text__content .s-rich-text__image img {
    border-radius: 8px;
    border-radius: var(--radius-medium);
    height: auto;
    width: 100%;
  }

.s-rich-text__content .s-rich-text__intro {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((34 / 16) * 1rem);
  font-size: var(--font-size-xlarge-mobile);
  line-height: var(--line-height-xlarge);
  color: #2d2d2c;
  color: var(--color-text);
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
	text-align: center;
}

.s-rich-text__content .s-rich-text__intro + .s-rich-text__blocks {
  padding-top: calc(calc(0.25rem * 8) / 2);
  padding-top: calc(var(--gap) / 2);
}

.s-rich-text__content .s-rich-text__blocks > *:first-child {
    padding-top: 0;
  }

.s-rich-text__content .s-rich-text__text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.s-rich-text__content .s-rich-text__text {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7);
}
  }

.s-rich-text__content .s-rich-text__text a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.s-rich-text__content .s-rich-text__text a:hover,
  .s-rich-text__content .s-rich-text__text a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.s-rich-text__content .s-rich-text__text p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.s-rich-text__content .s-rich-text__text strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.s-rich-text__content .s-rich-text__text em {
    font-style: italic;
  }

.s-rich-text__content .s-rich-text__text del {
    text-decoration: line-through;
  }

.s-rich-text__content .s-rich-text__text h1,
  .s-rich-text__content .s-rich-text__text h2,
  .s-rich-text__content .s-rich-text__text h3,
  .s-rich-text__content .s-rich-text__text h4,
  .s-rich-text__content .s-rich-text__text h5,
  .s-rich-text__content .s-rich-text__text h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.s-rich-text__content .s-rich-text__text h1:first-child, .s-rich-text__content .s-rich-text__text h2:first-child, .s-rich-text__content .s-rich-text__text h3:first-child, .s-rich-text__content .s-rich-text__text h4:first-child, .s-rich-text__content .s-rich-text__text h5:first-child, .s-rich-text__content .s-rich-text__text h6:first-child {
      padding-top: 0;
    }

.s-rich-text__content .s-rich-text__text h1:last-child, .s-rich-text__content .s-rich-text__text h2:last-child, .s-rich-text__content .s-rich-text__text h3:last-child, .s-rich-text__content .s-rich-text__text h4:last-child, .s-rich-text__content .s-rich-text__text h5:last-child, .s-rich-text__content .s-rich-text__text h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .s-rich-text__content .s-rich-text__text h1,
  .s-rich-text__content .s-rich-text__text h2,
  .s-rich-text__content .s-rich-text__text h3,
  .s-rich-text__content .s-rich-text__text h4,
  .s-rich-text__content .s-rich-text__text h5,
  .s-rich-text__content .s-rich-text__text h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.s-rich-text__content .s-rich-text__text hr + h1,
    .s-rich-text__content .s-rich-text__text hr + h2,
    .s-rich-text__content .s-rich-text__text hr + h3,
    .s-rich-text__content .s-rich-text__text hr + h4,
    .s-rich-text__content .s-rich-text__text hr + h5,
    .s-rich-text__content .s-rich-text__text hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.s-rich-text__content .s-rich-text__text p,
  .s-rich-text__content .s-rich-text__text ul,
  .s-rich-text__content .s-rich-text__text ol,
  .s-rich-text__content .s-rich-text__text table,
  .s-rich-text__content .s-rich-text__text figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.s-rich-text__content .s-rich-text__text p:last-child, .s-rich-text__content .s-rich-text__text ul:last-child, .s-rich-text__content .s-rich-text__text ol:last-child, .s-rich-text__content .s-rich-text__text table:last-child, .s-rich-text__content .s-rich-text__text figure:last-child {
      padding-bottom: 0;
    }

.s-rich-text__content .s-rich-text__text pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .s-rich-text__content .s-rich-text__text pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.s-rich-text__content .s-rich-text__text hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.s-rich-text__content .s-rich-text__text blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.s-rich-text__content .s-rich-text__text blockquote p:last-child {
      padding-bottom: 0;
    }

.s-rich-text__content .s-rich-text__text blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.s-rich-text__content .s-rich-text__text blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.s-rich-text__content .s-rich-text__text blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.s-rich-text__content .s-rich-text__text ul,
  .s-rich-text__content .s-rich-text__text ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.s-rich-text__content .s-rich-text__text ul > ul,
    .s-rich-text__content .s-rich-text__text ul > ol,
    .s-rich-text__content .s-rich-text__text ol > ul,
    .s-rich-text__content .s-rich-text__text ol > ol {
      margin-bottom: 0;
    }

.s-rich-text__content .s-rich-text__text ul li, .s-rich-text__content .s-rich-text__text ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.s-rich-text__content .s-rich-text__text ul li > ul,
      .s-rich-text__content .s-rich-text__text ul li > ol,
      .s-rich-text__content .s-rich-text__text ol li > ul,
      .s-rich-text__content .s-rich-text__text ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.s-rich-text__content .s-rich-text__text ul li > ul li:last-of-type, .s-rich-text__content .s-rich-text__text ul li > ol li:last-of-type, .s-rich-text__content .s-rich-text__text ol li > ul li:last-of-type, .s-rich-text__content .s-rich-text__text ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.s-rich-text__content .s-rich-text__text ul {
		list-style: disc;
  }

.s-rich-text__content .s-rich-text__text ul li {
      list-style-type: disc;
    }

.s-rich-text__content .s-rich-text__text ol {
    counter-reset: ol;
  }

.s-rich-text__content .s-rich-text__text ol li {
      list-style-type: decimal;
    }

.s-rich-text__content .s-rich-text__text figure {
    max-width: 100%;
    width: 100%;
  }

.s-rich-text__content .s-rich-text__text figure a {
      display: block;
    }

.s-rich-text__content .s-rich-text__text figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.s-rich-text__content .s-rich-text__text figcaption img {
      margin-top: 0;
    }

.s-rich-text__content .s-rich-text__text img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.s-rich-text__content .s-rich-text__text img:last-child {
      margin-bottom: 0;
    }

.s-rich-text__content .s-rich-text__text .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.s-rich-text__content .s-rich-text__text table,
  .acf-preview .s-rich-text__content .s-rich-text__text .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.s-rich-text__content .s-rich-text__text table th,
    .s-rich-text__content .s-rich-text__text table td,
    .acf-preview .s-rich-text__content .s-rich-text__text .table-wrapper table th,
    .acf-preview .s-rich-text__content .s-rich-text__text .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.s-rich-text__content .s-rich-text__text table th:not(:first-child), .s-rich-text__content .s-rich-text__text table td:not(:first-child), .acf-preview .s-rich-text__content .s-rich-text__text .table-wrapper table th:not(:first-child), .acf-preview .s-rich-text__content .s-rich-text__text .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.s-rich-text__content .s-rich-text__text table th, .acf-preview .s-rich-text__content .s-rich-text__text .table-wrapper table th {
      line-height: 1.1375;
    }

.s-rich-text__content .s-rich-text__text h3 {
	}

.s-rich-text__content .s-rich-text__text p {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
		font-family: var(--font-body);
		font-size: calc((18.5 / 16) * 1rem);
		font-size: var(--font-size-smallx);
		line-height: var(--line-height-xmedium);
	}

.s-rich-text__content .s-rich-text__text {

  padding-top: calc(calc(0.25rem * 8) / 0.7);

  padding-top: calc(var(--gap) / 0.7);
}

.s-rich-text__content .s-rich-text__text--center {
  text-align: center;
}

.s-rich-text__content .s-rich-text__text--left {
  text-align: left;
}

.s-rich-text__content .s-rich-text__accordion {
  padding-top: calc(calc(0.25rem * 8) / 0.7);
  padding-top: calc(var(--gap) / 0.7);
}

.s-rich-text__content .s-rich-text__accordion + .s-rich-text__accordion {
  padding-top: 0;
}

.s-rich-text__content .s-rich-text__accordion + .s-rich-text__accordion .c-accordion__item {
    border-top: none;
  }

/* =============================================================================
 # slider                                                                     #
============================================================================= */

.s-slider {
  padding-bottom: calc(0.25rem * 8);
  padding-bottom: var(--gap-medium);
  padding-top: calc(0.25rem * 8);
  padding-top: var(--gap-medium);
	background-color: #bda893;
	background-color: var(--color-brown);
	padding-bottom: calc(0.25rem * 16);
	padding-bottom: var(--gap-large);
}

@media ( min-width: 768px ) {

.s-slider {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
}
  }

.s-slider__inner {
	position: relative;
}

.s-slider__image {
	height: 100%;
	object-fit: cover;
	transform: scale(0.8);
	transition: transform 0.3s ease-in-out;
	width: 100%;
}

.is-active .s-slider__image {
		transform: scale(1);
	}

@media ( min-width: 1280px ) {

.s-slider__image {
		aspect-ratio: 3 / 4
}
	}

.s-slider__slide {
	position: relative;
}

.s-slider__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	left: 0;
	opacity: 0;
	position: absolute;
	text-align: center;
	top: 0;
	transition: opacity 0.3s ease-in-out;
	width: 100%;
	z-index: 3;
}

.is-active .s-slider__content {
		opacity: 1;
	}

.s-slider__label {
	margin-bottom: calc(0.25rem * 6);
	margin-bottom: var(--gap-small);
}

.s-slider__title {
	color: #2d2d2c;
	color: var(--color-black);
	font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
	font-family: var(--font-heading);
	font-size: calc((42 / 16) * 1rem);
	font-size: var(--font-size-xlarge);
	line-height: var(--line-height-xlarge);
	color: #fff;
	color: var(--color-white);
	margin-bottom: calc(0.25rem * 4);
	margin-bottom: var(--gap-tiny);
	width: 25rem
}

@media ( min-width: 768px ) {

.s-slider__title {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((62 / 16) * 1rem);
		font-size: var(--font-size-xhuge);
		line-height: var(--line-height-xhuge);
		color: #fff;
		color: var(--color-white);
		width: 35rem
}
	}

@media ( min-width: 1280px ) {

.s-slider__title {
		width: 54rem
}
	}

.s-slider__slider-outer {
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
	overflow-x: scroll;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scrollbar-width: none;
  width: 100vw;
}

.s-slider__slides {
  display: flex;
	grid-gap: 2rem;
	gap: 2rem;
  padding: 2rem 0
}

@media ( min-width: 768px ) {

.s-slider__slides {
		grid-gap: 4rem;
		gap: 4rem
}
	}

@media ( min-width: 1280px ) {

.s-slider__slides {
		grid-gap: 12rem;
		gap: 12rem
}
	}

.s-slider__slide {
  align-items: center;
  display: flex;
  flex: 0 0 60vw;
  flex-direction: column;
  justify-content: center;
  max-width: 80vw;
  scroll-snap-align: center
}

@media ( min-width: 768px ) {

.s-slider__slide {
		flex: 0 0 50vw
}
	}

@media ( min-width: 1280px ) {

.s-slider__slide {
		flex: 0 0 38vw
}
	}

@media ( min-width: 1440px ) {

.s-slider__slide {
		flex: 0 0 40vw
}
	}

.s-slider__image-wrapper {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  height: auto;
  justify-content: center;
  padding: 0;
  width: 100%;
}

.is-active .s-slider__image-wrapper .s-slider__image-overlay {
			background-color: #2d2d2c;
			background-color: var(--color-black);
			opacity: 0.3;
			transform: scale(1);
		}

.s-slider__image {
	aspect-ratio: 1 / 2;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%
}

@media ( min-width: 1280px ) {

.s-slider__image {
		aspect-ratio: 9 / 10
}
	}

.s-slider__image-overlay {
  background: #bda893;
  background: var(--color-brown);
  height: 100%;
  left: 0;
  opacity: 0.6;
  pointer-events: none;
  position: absolute;
  top: 0;
	transform: scale(0.8);
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
  width: 100%;
  z-index: 2;

}

/* Dots Navigation */

.s-slider__dots {
  display: flex;
  grid-gap: 0.5rem;
  gap: 0.5rem;
  justify-content: center;
  padding: 0 2rem;
}

.s-slider__dot {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  position: relative;
  transition: transform 0.2s ease
}

.s-slider__dot:hover .s-slider__dot-inner {
			background: #fff;
			background: var(--color-white);
		}

.s-slider__dot-inner {
  background: rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  display: block;
  height: 0.33rem;
  transition: all 0.3s ease;
  width: 0.33rem;
}

.is-active .s-slider__dot-inner {
		background: #fff;
		background: var(--color-white);
		transform: scale(1.2);
	}

.s-slider__arrow {
  background: none;
  border: none;
  color: #fff;
  color: var(--color-white, #fff);
  cursor: pointer;
	display: none;
  font-size: 2rem;
  outline: none;
  padding: 0.5rem 1rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: background 0.2s, transform 0.2s;
  z-index: 10
}

.s-slider__arrow:hover,
	.s-slider__arrow:focus {
		background: none;
	}

.s-slider__arrow:active {
		transform: translateY(-50%) scale(1.1);
	}

@media ( min-width: 768px ) {

.s-slider__arrow {
		display: block
}
	}

.s-slider__arrow--left {
  left: 0.5rem;
	transition: transform 0.2s
}

.s-slider__arrow--left:hover {
		transform: translateY(-50%) translateX(-0.25rem);
	}

.s-slider__arrow--right {
  right: 0.5rem;
	transition: transform 0.2s
}

.s-slider__arrow--right:hover {
		transform: translateY(-50%) translateX(0.25rem);
	}

/* -----------------------------------------------------------------------------
 # Pages –                                                                    #
----------------------------------------------------------------------------- */

/* =============================================================================
 # 404                                                                        #
============================================================================= */

.p-template-404 .l-main {
		align-items: center;
		display: flex;
		justify-content: center;
	}

.p-404 {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;

  align-items: center;
  box-sizing: border-box;
  display: flex;
  min-height: 100vmin;
  padding-bottom: calc(0.25rem * 20);
  padding-bottom: calc(var(--baseline-unit) * 20);
  padding-top: calc(0.25rem * 20);
  padding-top: calc(var(--baseline-unit) * 20);
  text-align: center;
}

.p-404__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 25rem;
}

.p-404__number {
  font-size: 7rem;
  padding-bottom: calc(0.25rem * 2);
  padding-bottom: var(--gap-micro);
}

.p-404__title {
  font-size: calc((22 / 16) * 1rem);
  font-size: var(--font-size-medium);
  line-height: calc(0.25rem * 7);
  line-height: var(--line-height-medium);
  padding-bottom: calc(0.25rem * 2);
  padding-bottom: var(--gap-micro);
}

.p-404__content {
  font-size: calc((14.3 / 16) * 1rem);
  font-size: var(--font-size-tiny);
  line-height: calc(0.25rem * 4);
  line-height: var(--line-height-tiny);
  max-width: 20rem;
  padding-bottom: calc(0.25rem * 4);
  padding-bottom: var(--gap-tiny);
}

/* =============================================================================
 # Pages                                                                      #
============================================================================= */

/**
 * Page styles, page specific classes (e.g. .home, .page-template-about)
 */

/* =============================================================================
 # Page Template Styling                                                                #
============================================================================= */

/**
 * A styling for page template.
 */

.p-page {
  padding-bottom: calc(calc(0.25rem * 8) * 4);
  padding-bottom: calc(var(--gap) * 4);
  padding-top: calc(calc(0.25rem * 8) * 4);
  padding-top: calc(var(--gap) * 4)
}

@media ( min-width: 768px ) {

.p-page {
    padding-bottom: calc(calc(0.25rem * 8) * 5);
    padding-bottom: calc(var(--gap) * 5);
    padding-top: calc(calc(0.25rem * 8) * 5);
    padding-top: calc(var(--gap) * 5)
}
  }

.p-page__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: none;
  max-width: var(--l-max-width-full);
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
  width: 100%;
}

.p-page__grid {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-left: calc(1rem / 2 * -1);
  margin-left: calc(var(--gap-grid) / 2 * -1);
  margin-right: calc(1rem / 2 * -1);
  margin-right: calc(var(--gap-grid) / 2 * -1);
  width: calc(100% + 1rem);
  width: calc(100% + var(--gap-grid));
}

.p-page__header {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2)
}

@media ( min-width: 768px ) {

.p-page__header {
    flex-basis: calc(( 100 / ( 12 / 5 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 5 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

@media ( min-width: 992px ) {

.p-page__header {
    flex-basis: calc(( 100 / ( 12 / 3 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 3 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2)
}
  }

.p-page__content {
  flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
  flex-grow: 0;
  max-width: calc(( 100 / (12 / 12 ) ) * 1%);
  padding-left: calc(1rem / 2);
  padding-left: calc(var(--gap-grid) / 2);
  padding-right: calc(1rem / 2);
  padding-right: calc(var(--gap-grid) / 2);

  padding-top: 1.75rem
}

@media ( min-width: 768px ) {

.p-page__content {
    padding-top: 0;

    flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);

    flex-grow: 0;

    max-width: calc(( 100 / (12 / 6 ) ) * 1%);

    padding-left: calc(1rem / 2);

    padding-left: calc(var(--gap-grid) / 2);

    padding-right: calc(1rem / 2);

    padding-right: calc(var(--gap-grid) / 2);
    margin-left: calc((100 / (12 / 3)) * 1%)
}
  }

@media ( min-width: 992px ) {

.p-page__content {
    flex-basis: calc(( 100 / ( 12 / 5 ) ) * 1%);
    flex-grow: 0;
    max-width: calc(( 100 / (12 / 5 ) ) * 1%);
    padding-left: calc(1rem / 2);
    padding-left: calc(var(--gap-grid) / 2);
    padding-right: calc(1rem / 2);
    padding-right: calc(var(--gap-grid) / 2);
    margin-left: calc((100 / (12 / 3)) * 1%)
}
  }

.p-page__title {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
  font-family: var(--font-heading);
  font-size: calc((52 / 16) * 1rem);
  font-size: var(--font-size-huge);
  line-height: var(--line-height-huge);

  color: #2d2d2c;

  color: var(--color-text);
}

.p-page__text {
  color: #2d2d2c;
  color: var(--color-black);
  font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
  font-family: var(--font-body);
  font-size: calc((16.5 / 16) * 1rem);
  font-size: var(--font-size-small);
  line-height: var(--line-height-small);
  color: #2d2d2c;
  color: var(--color-body-text);
}

@media ( min-width: 768px ) {

.p-page__text {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7)
}
  }

.p-page__text a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.p-page__text a:hover,
  .p-page__text a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.p-page__text p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.p-page__text strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.p-page__text em {
    font-style: italic;
  }

.p-page__text del {
    text-decoration: line-through;
  }

.p-page__text h1,
  .p-page__text h2,
  .p-page__text h3,
  .p-page__text h4,
  .p-page__text h5,
  .p-page__text h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.p-page__text h1:first-child, .p-page__text h2:first-child, .p-page__text h3:first-child, .p-page__text h4:first-child, .p-page__text h5:first-child, .p-page__text h6:first-child {
      padding-top: 0;
    }

.p-page__text h1:last-child, .p-page__text h2:last-child, .p-page__text h3:last-child, .p-page__text h4:last-child, .p-page__text h5:last-child, .p-page__text h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .p-page__text h1,
  .p-page__text h2,
  .p-page__text h3,
  .p-page__text h4,
  .p-page__text h5,
  .p-page__text h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.p-page__text hr + h1,
    .p-page__text hr + h2,
    .p-page__text hr + h3,
    .p-page__text hr + h4,
    .p-page__text hr + h5,
    .p-page__text hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.p-page__text p,
  .p-page__text ul,
  .p-page__text ol,
  .p-page__text table,
  .p-page__text figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.p-page__text p:last-child, .p-page__text ul:last-child, .p-page__text ol:last-child, .p-page__text table:last-child, .p-page__text figure:last-child {
      padding-bottom: 0;
    }

.p-page__text pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .p-page__text pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.p-page__text hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.p-page__text blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.p-page__text blockquote p:last-child {
      padding-bottom: 0;
    }

.p-page__text blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.p-page__text blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.p-page__text blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.p-page__text ul,
  .p-page__text ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.p-page__text ul > ul,
    .p-page__text ul > ol,
    .p-page__text ol > ul,
    .p-page__text ol > ol {
      margin-bottom: 0;
    }

.p-page__text ul li, .p-page__text ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.p-page__text ul li > ul,
      .p-page__text ul li > ol,
      .p-page__text ol li > ul,
      .p-page__text ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.p-page__text ul li > ul li:last-of-type, .p-page__text ul li > ol li:last-of-type, .p-page__text ol li > ul li:last-of-type, .p-page__text ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.p-page__text ul {
		list-style: disc;
  }

.p-page__text ul li {
      list-style-type: disc;
    }

.p-page__text ol {
    counter-reset: ol;
  }

.p-page__text ol li {
      list-style-type: decimal;
    }

.p-page__text figure {
    max-width: 100%;
    width: 100%;
  }

.p-page__text figure a {
      display: block;
    }

.p-page__text figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.p-page__text figcaption img {
      margin-top: 0;
    }

.p-page__text img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.p-page__text img:last-child {
      margin-bottom: 0;
    }

.p-page__text .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.p-page__text table,
  .acf-preview .p-page__text .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.p-page__text table th,
    .p-page__text table td,
    .acf-preview .p-page__text .table-wrapper table th,
    .acf-preview .p-page__text .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.p-page__text table th:not(:first-child), .p-page__text table td:not(:first-child), .acf-preview .p-page__text .table-wrapper table th:not(:first-child), .acf-preview .p-page__text .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.p-page__text table th, .acf-preview .p-page__text .table-wrapper table th {
      line-height: 1.1375;
    }

@media ( min-width: 768px ) {

.p-page__text {
    padding-top: calc(0.25rem * 2);
    padding-top: var(--gap-micro)
}
  }

/* =============================================================================
 # Page Breadcrumb Layout                                                     #
============================================================================= */

/**
 * Layout wrapper for breadcrumbs on regular pages and policy pages
 * Applied through theme.liquid layout
 */

.l-page-breadcrumb {
  margin: 0 auto;
  padding-left: 1.5rem;
  padding-left: var(--gap-container);
  padding-right: 1.5rem;
  padding-right: var(--gap-container);
	position: relative;
  width: 100%;
  z-index: 2;
}

/* Make breadcrumb items white when page header full is present */

.p-template-page main[\:has\(.s-page-header-full\)] .c-breadcrumb__item {
		color: #fff;
		color: var(--color-white);
	}

.p-template-page main[\:has\(.s-page-header-full\)] .c-breadcrumb__item .c-breadcrumb__current {
  		color: #fff;
  		color: var(--color-white);
		}

.p-template-page main:has(.s-page-header-full) .c-breadcrumb__item {
		color: #fff;
		color: var(--color-white);
	}

.p-template-page main:has(.s-page-header-full) .c-breadcrumb__item .c-breadcrumb__current {
  		color: #fff;
  		color: var(--color-white);
		}

.p-template-page main[\:has\(.s-page-header-full\)] .c-breadcrumb__item .c-breadcrumb__link:hover,
	.p-template-page main[\:has\(.s-page-header-full\)] .c-breadcrumb__item .c-breadcrumb__link:focus,
	.p-template-page main[\:has\(.s-page-header-full\)] .c-breadcrumb__item .c-breadcrumb__link:active {
		color: #fff;
		color: var(--color-white);
	}

.p-template-page main:has(.s-page-header-full) .c-breadcrumb__item .c-breadcrumb__link:hover,
	.p-template-page main:has(.s-page-header-full) .c-breadcrumb__item .c-breadcrumb__link:focus,
	.p-template-page main:has(.s-page-header-full) .c-breadcrumb__item .c-breadcrumb__link:active {
		color: #fff;
		color: var(--color-white);
	}

.p-template-page .l-main div:nth-child(2) .s-page-header-full {
				margin-top: calc(calc(0.25rem * 8) * -3.5);
				margin-top: calc(var(--gap) * -3.5);
				pointer-events: none
			}

@media ( min-width: 768px ) {
			.p-template-page .l-main div:nth-child(2) .s-page-header-full {
					margin-top: calc(calc(0.25rem * 8) * -3.75);
					margin-top: calc(var(--gap) * -3.75)
			}
				}

.p-template-page .l-main div:nth-child(2) .s-page-header-full__content {
				pointer-events: auto;
			}

.p-template-page .l-main div:nth-child(2) .s-page-header-full__filter {
				pointer-events: none; /* keep child elements clickable */
			}

.l-main .shopify-policy__container {
    padding-bottom: calc(0.25rem * 8);
    padding-bottom: var(--gap-medium);
    padding-top: calc(0.25rem * 8);
    padding-top: var(--gap-medium);
    margin-left: auto;
    margin-right: auto;
    max-width: none;
    max-width: var(--l-max-width-full);
    padding-left: 1.5rem;
    padding-left: var(--gap-container);
    padding-right: 1.5rem;
    padding-right: var(--gap-container);
    width: 100%;
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-left: calc(1rem / 2 * -1);
    margin-left: calc(var(--gap-grid) / 2 * -1);
    margin-right: calc(1rem / 2 * -1);
    margin-right: calc(var(--gap-grid) / 2 * -1);
    width: calc(100% + 1rem);
    width: calc(100% + var(--gap-grid));

    max-width: 100%;
  }

@media ( min-width: 768px ) {

.l-main .shopify-policy__container {
    padding-bottom: calc(0.25rem * 16);
    padding-bottom: var(--gap-large);
    padding-top: calc(0.25rem * 16);
    padding-top: var(--gap-large);
  }
  }

.l-main .shopify-policy__title {
		flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 12 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2);
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-size: calc((42 / 16) * 1rem);
    font-size: var(--font-size-xlarge);
    line-height: var(--line-height-xlarge);
    padding-bottom: calc(0.25rem * 8);
    padding-bottom: var(--gap-medium);
    text-align: center

  }

@media ( min-width: 768px ) {

  .l-main .shopify-policy__title {
      flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 8 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
			margin-left: calc((100 / (12 / 2)) * 1%);
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
      font-family: var(--font-heading);
      font-size: calc((52 / 16) * 1rem);
      font-size: var(--font-size-huge);
      line-height: var(--line-height-huge)

  }
    }

@media ( min-width: 1440px ) {

  .l-main .shopify-policy__title {
      flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 6 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
			margin-left: calc((100 / (12 / 3)) * 1%)

  }
    }

.l-main .shopify-policy__body {
		flex-basis: calc(( 100 / ( 12 / 12 ) ) * 1%);
		flex-grow: 0;
		max-width: calc(( 100 / (12 / 12 ) ) * 1%);
		padding-left: calc(1rem / 2);
		padding-left: calc(var(--gap-grid) / 2);
		padding-right: calc(1rem / 2);
		padding-right: calc(var(--gap-grid) / 2);
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((16.5 / 16) * 1rem);
    font-size: var(--font-size-small);
    line-height: var(--line-height-small);
    color: #2d2d2c;
    color: var(--color-body-text);
  }

@media ( min-width: 768px ) {

.l-main .shopify-policy__body {
    line-height: calc(0.25rem * 7);
    line-height: calc(var(--baseline-unit) * 7)
  }
  }

.l-main .shopify-policy__body a {
    border-bottom: 1px solid currentColor;
    transition: opacity 0.4s cubic-bezier(0.36, 0.64, 0.23, 0.94);
    transition: opacity var(--transition);
  }

.l-main .shopify-policy__body a:hover,
  .l-main .shopify-policy__body a:focus {
    opacity: 0.6;
    text-decoration: none;
  }

.l-main .shopify-policy__body p {
    color: #2d2d2c;
    color: var(--color-body-text);
  }

.l-main .shopify-policy__body strong {
		font-weight: 500;
		font-weight: var(--font-weight-bold);
  }

.l-main .shopify-policy__body em {
    font-style: italic;
  }

.l-main .shopify-policy__body del {
    text-decoration: line-through;
  }

.l-main .shopify-policy__body h1,
  .l-main .shopify-policy__body h2,
  .l-main .shopify-policy__body h3,
  .l-main .shopify-policy__body h4,
  .l-main .shopify-policy__body h5,
  .l-main .shopify-policy__body h6 {
		color: #2d2d2c;
		color: var(--color-black);
		font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
		font-family: var(--font-heading);
		font-size: calc((34 / 16) * 1rem);
		font-size: var(--font-size-xlarge-mobile);
		line-height: var(--line-height-xlarge);

    color: #2d2d2c;

    color: var(--color-text);
    font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
    font-family: var(--font-heading);
    font-weight: 400;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny)
  }

.l-main .shopify-policy__body h1:first-child, .l-main .shopify-policy__body h2:first-child, .l-main .shopify-policy__body h3:first-child, .l-main .shopify-policy__body h4:first-child, .l-main .shopify-policy__body h5:first-child, .l-main .shopify-policy__body h6:first-child {
      padding-top: 0;
    }

.l-main .shopify-policy__body h1:last-child, .l-main .shopify-policy__body h2:last-child, .l-main .shopify-policy__body h3:last-child, .l-main .shopify-policy__body h4:last-child, .l-main .shopify-policy__body h5:last-child, .l-main .shopify-policy__body h6:last-child {
      padding-bottom: 0;
    }

@media ( min-width: 1280px ) {

  .l-main .shopify-policy__body h1,
  .l-main .shopify-policy__body h2,
  .l-main .shopify-policy__body h3,
  .l-main .shopify-policy__body h4,
  .l-main .shopify-policy__body h5,
  .l-main .shopify-policy__body h6 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
			font-size: calc((26 / 16) * 1rem);
			font-size: var(--font-size-large);
			line-height: var(--line-height-large)
  }
		}

.l-main .shopify-policy__body hr + h1,
    .l-main .shopify-policy__body hr + h2,
    .l-main .shopify-policy__body hr + h3,
    .l-main .shopify-policy__body hr + h4,
    .l-main .shopify-policy__body hr + h5,
    .l-main .shopify-policy__body hr + h6 {
      padding-top: calc(0.25rem * 2);
      padding-top: var(--gap-micro);
    }

.l-main .shopify-policy__body p,
  .l-main .shopify-policy__body ul,
  .l-main .shopify-policy__body ol,
  .l-main .shopify-policy__body table,
  .l-main .shopify-policy__body figure {
    padding-bottom: calc(0.25rem * 2);
    padding-bottom: var(--gap-micro)
  }

.l-main .shopify-policy__body p:last-child, .l-main .shopify-policy__body ul:last-child, .l-main .shopify-policy__body ol:last-child, .l-main .shopify-policy__body table:last-child, .l-main .shopify-policy__body figure:last-child {
      padding-bottom: 0;
    }

.l-main .shopify-policy__body pre {
    font-family: monospace;
    margin-bottom: calc(0.25rem * 4);
    margin-bottom: var(--gap-tiny);
    overflow: auto;
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny)
  }

@supports ( -webkit-overflow-scrolling: touch ) {

  .l-main .shopify-policy__body pre {
      overflow: scroll;
      -webkit-overflow-scrolling: touch
  }
    }

.l-main .shopify-policy__body hr {
    background-color: #f3f2ef;
    background-color: var(--color-background);
    border: 0;
    height: 1px;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: 0;
    padding: 0;
  }

.l-main .shopify-policy__body blockquote {
    color: #2d2d2c;
    color: var(--color-black);
    font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
    font-family: var(--font-body);
    font-size: calc((22 / 16) * 1rem);
    font-size: var(--font-size-medium);
    line-height: var(--line-height-medium);

    margin-bottom: calc(0.25rem * 8);

    margin-bottom: var(--gap);
    padding-bottom: calc(0.25rem * 4);
    padding-bottom: var(--gap-tiny);
    padding-left: calc(0.25rem * 8);
    padding-left: var(--gap);
    padding-top: calc(0.25rem * 4);
    padding-top: var(--gap-tiny);
    position: relative;
  }

.l-main .shopify-policy__body blockquote p:last-child {
      padding-bottom: 0;
    }

.l-main .shopify-policy__body blockquote::before {
      background-color: #2d2d2c;
      background-color: var(--color-text);
      bottom: calc((5 / 16) * 1em);
      content: '';
      left: 0;
      position: absolute;
      top: calc((4 / 16) * 1em);
      width: 0.3125rem;
    }

.l-main .shopify-policy__body blockquote cite {
      color: #2d2d2c;
      color: var(--color-black);
      font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
      font-family: var(--font-body);
      font-size: calc((16.5 / 16) * 1rem);
      font-size: var(--font-size-small);
      line-height: var(--line-height-small);

      display: block
    }

.l-main .shopify-policy__body blockquote cite::before {
        content: "\2014";
        display: inline-block;
        margin-right: 1em;
      }

.l-main .shopify-policy__body ul,
  .l-main .shopify-policy__body ol {
    color: #2d2d2c;
    color: var(--color-body-text);
    list-style-position: outside;
    padding-left: 1em;
  }

.l-main .shopify-policy__body ul > ul,
    .l-main .shopify-policy__body ul > ol,
    .l-main .shopify-policy__body ol > ul,
    .l-main .shopify-policy__body ol > ol {
      margin-bottom: 0;
    }

.l-main .shopify-policy__body ul li, .l-main .shopify-policy__body ol li {
      padding-bottom: 0.1375em;
      position: relative;
    }

.l-main .shopify-policy__body ul li > ul,
      .l-main .shopify-policy__body ul li > ol,
      .l-main .shopify-policy__body ol li > ul,
      .l-main .shopify-policy__body ol li > ol {
        padding-bottom: 0;
        padding-left: 2em;
        padding-top: calc(0.25rem * 2);
        padding-top: var(--gap-micro);
      }

.l-main .shopify-policy__body ul li > ul li:last-of-type, .l-main .shopify-policy__body ul li > ol li:last-of-type, .l-main .shopify-policy__body ol li > ul li:last-of-type, .l-main .shopify-policy__body ol li > ol li:last-of-type {
          padding-bottom: 0;
        }

.l-main .shopify-policy__body ul {
		list-style: disc;
  }

.l-main .shopify-policy__body ul li {
      list-style-type: disc;
    }

.l-main .shopify-policy__body ol {
    counter-reset: ol;
  }

.l-main .shopify-policy__body ol li {
      list-style-type: decimal;
    }

.l-main .shopify-policy__body figure {
    max-width: 100%;
    width: 100%;
  }

.l-main .shopify-policy__body figure a {
      display: block;
    }

.l-main .shopify-policy__body figcaption {
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
  }

.l-main .shopify-policy__body figcaption img {
      margin-top: 0;
    }

.l-main .shopify-policy__body img {
    display: block;
    height: auto;
    margin-bottom: calc(0.25rem * 8);
    margin-bottom: var(--gap);
    margin-top: calc(0.25rem * 2);
    margin-top: var(--gap-micro);
    width: 100%
  }

.l-main .shopify-policy__body img:last-child {
      margin-bottom: 0;
    }

.l-main .shopify-policy__body .table-wrapper {
    max-width: 100%;
    overflow-x: scroll;
  }

.l-main .shopify-policy__body table,
  .acf-preview .l-main .shopify-policy__body .table-wrapper table {
    border-spacing: 0;
    margin-bottom: calc(0.25rem * 6);
    margin-bottom: var(--gap-small);
  }

.l-main .shopify-policy__body table th,
    .l-main .shopify-policy__body table td,
    .acf-preview .l-main .shopify-policy__body .table-wrapper table th,
    .acf-preview .l-main .shopify-policy__body .table-wrapper table td {
      border-bottom: 1px solid #eaeaea;
      border-bottom: 1px solid var(--color-border);
      font-weight: inherit;
      padding-bottom: calc(0.25rem * 4);
      padding-bottom: var(--gap-tiny);
      padding-top: calc(0.25rem * 4);
      padding-top: var(--gap-tiny);
      text-align: left;
      vertical-align: baseline
    }

.l-main .shopify-policy__body table th:not(:first-child), .l-main .shopify-policy__body table td:not(:first-child), .acf-preview .l-main .shopify-policy__body .table-wrapper table th:not(:first-child), .acf-preview .l-main .shopify-policy__body .table-wrapper table td:not(:first-child) {
        padding-left: calc(0.25rem * 4);
        padding-left: var(--gap-tiny);
      }

.l-main .shopify-policy__body table th, .acf-preview .l-main .shopify-policy__body .table-wrapper table th {
      line-height: 1.1375;
    }

.l-main .shopify-policy__body h2,
		.l-main .shopify-policy__body h3,
		.l-main .shopify-policy__body h4 {
			color: #2d2d2c;
			color: var(--color-black);
			font-family: "Atlas Grotesk",
		"Helvetica Neue",
		helvetica,
		arial,
		sans-serif;
			font-family: var(--font-body);
			font-size: calc((22 / 16) * 1rem);
			font-size: var(--font-size-medium);
			line-height: var(--line-height-medium);
			font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
			font-family: var(--font-heading);
		}

.l-main .shopify-policy__body h4 {
			color: #ab582b;
			color: var(--color-orange);
		}

@media ( min-width: 768px ) {

  .l-main .shopify-policy__body {
      flex-basis: calc(( 100 / ( 12 / 8 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 8 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
			margin-left: calc((100 / (12 / 2)) * 1%);
  }

			.l-main .shopify-policy__body h2,
			.l-main .shopify-policy__body h3,
			.l-main .shopify-policy__body h4 {
				color: #2d2d2c;
				color: var(--color-black);
				font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
				font-family: var(--font-heading);
				font-size: calc((34 / 16) * 1rem);
				font-size: var(--font-size-xlarge-mobile);
				line-height: var(--line-height-xlarge);
				font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
				font-family: var(--font-heading);
			}

			.l-main .shopify-policy__body h4 {
				color: #2d2d2c;
				color: var(--color-black);
				font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
				font-family: var(--font-heading);
				font-size: calc((26 / 16) * 1rem);
				font-size: var(--font-size-large);
				line-height: var(--line-height-large);
				color: #ab582b;
				color: var(--color-orange);
				font-family: "Minion Pro", "Helvetica Neue", helvetica, arial, sans-serif;
				font-family: var(--font-heading);
			}

			.l-main .shopify-policy__body {

      padding-top: calc(0.25rem * 2);

      padding-top: var(--gap-micro);
	}
    }

@media ( min-width: 1440px ) {

  .l-main .shopify-policy__body {
      flex-basis: calc(( 100 / ( 12 / 6 ) ) * 1%);
      flex-grow: 0;
      max-width: calc(( 100 / (12 / 6 ) ) * 1%);
      padding-left: calc(1rem / 2);
      padding-left: calc(var(--gap-grid) / 2);
      padding-right: calc(1rem / 2);
      padding-right: calc(var(--gap-grid) / 2);
			margin-left: calc((100 / (12 / 3)) * 1%)
  }
    }

/* Optional: Include slick-carousel via NPM. */

/* @import "slick-carousel/slick/slick.css"; */

/* -----------------------------------------------------------------------------
 # Utilities - Animation, helpers and overrides.                              #
----------------------------------------------------------------------------- */

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

/* Text meant only for screen readers. */

.h-sr-only {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;

  /**
	 * Many screen reader and browser combinations announce broken words
	 * as they would appear visually.
	 */
  word-wrap: normal !important
}

.h-sr-only:focus {
    /* background-color: var(--color-primary);
		clip: auto !important;
		clip-path: none;
		color: var(--color-white);
		display: block;
		font-size: var(--font-size-1);
		font-weight: 700;
		height: auto;
		left: var(--spacing-unit-2x);
		padding: var(--spacing-unit-2x) var(--spacing-unit-3x);
		text-decoration: none;
		top: var(--spacing-unit-2x);
		width: auto; */

    /* Above WP toolbar. */
    z-index: 100000;
  }

/* Remove focus outlines when using mouse. */

.using-mouse a[href]:focus,
  .using-mouse area[href]:focus,
  .using-mouse input:not([disabled]):focus,
  .using-mouse select:not([disabled]):focus,
  .using-mouse textarea:not([disabled]):focus,
  .using-mouse button:not([disabled]):focus,
  .using-mouse [tabindex]:focus {
    outline: none;
  }

/* Add focus outlines when using keyboard. */

.using-keyboard a[href]:focus,
  .using-keyboard area[href]:focus,
  .using-keyboard input:not([disabled]):focus,
  .using-keyboard select:not([disabled]):focus,
  .using-keyboard textarea:not([disabled]):focus,
  .using-keyboard button:not([disabled]):focus,
  .using-keyboard [tabindex]:focus {
    outline: 1px solid #000;
  }

/* =============================================================================
 # Animations                                                                 #
============================================================================= */

/*
 * Animation types and animation @keyframes shall be added here.
 */

/*
 # On Load
============================================================================= */

[data-animation-name="fade-in-on-load"] {
  opacity: 0;
  transition: opacity 0.65s ease-in-out;
  transition: opacity var(--animation-slow);
}

.has-loaded [data-animation-name="fade-in-on-load"],
  .acf-block-preview [data-animation-name="fade-in-on-load"] {
    opacity: 1;
  }

[data-animation-name="fade-in-up-on-load"] {
  opacity: 0;
  transform: translate3d(0, 4rem, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.has-loaded [data-animation-name="fade-in-up-on-load"],
  .acf-block-preview [data-animation-name="fade-in-up-on-load"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

[data-animation-name="fade-in-down-on-load"] {
  opacity: 0;
  transform: translate3d(0, -4rem, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.has-loaded [data-animation-name="fade-in-down-on-load"],
  .acf-block-preview [data-animation-name="fade-in-down-on-load"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

/*
 # When Ready
============================================================================= */

[data-animation-name="fade-in-when-ready"] {
  opacity: 0;
  transition: opacity 0.65s ease-in-out;
  transition: opacity var(--animation-slow);
}

.is-ready [data-animation-name="fade-in-when-ready"],
  .acf-block-preview [data-animation-name="fade-in-when-ready"] {
    opacity: 1;
  }

[data-animation-name="fade-in-up-when-ready"] {
  opacity: 0;
  transform: translate3d(0, 4rem, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.is-ready [data-animation-name="fade-in-up-when-ready"],
  .acf-block-preview [data-animation-name="fade-in-up-when-ready"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

[data-animation-name="slide-in-when-ready"] {
  opacity: 0;
  transform: translate3d(-4rem, 0, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.is-ready [data-animation-name="slide-in-when-ready"],
  .acf-block-preview [data-animation-name="slide-in-when-ready"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

[data-animation-name="header"] {
  opacity: 0;
  transform: translate3d(0, -4rem, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.is-ready [data-animation-name="header"],
  .acf-block-preview [data-animation-name="header"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

/*
 # On Scroll
============================================================================= */

[data-animation-name="fade-in"] {
  opacity: 0;
  transition: opacity 0.65s ease-in-out;
  transition: opacity var(--animation-slow);
}

.was-in-view [data-animation-name="fade-in"],
  [data-animation-name="fade-in"].was-in-view,
  .acf-block-preview [data-animation-name="fade-in"] {
    opacity: 1;
  }

[data-animation-name="fade-in-up"] {
  opacity: 0;
  transform: translate3d(0, 4rem, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.was-in-view [data-animation-name="fade-in-up"],
  [data-animation-name="fade-in-up"].was-in-view,
  .acf-block-preview [data-animation-name="fade-in-up"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

[data-animation-name="slide-in"] {
  opacity: 0;
  transform: translate3d(-2rem, 0, 0);
  transition: opacity 0.65s ease-in-out, transform 0.65s ease-in-out;
  transition: opacity var(--animation-slow), transform var(--animation-slow);
}

.was-in-view [data-animation-name="slide-in"],
  [data-animation-name="slide-in"].was-in-view,
  .acf-block-preview [data-animation-name="slide-in"] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

[data-animation-name] {
  /* Disable transitions for users prefers reduced motion */
}

@media (prefers-reduced-motion) {

[data-animation-name] {
    transition: none
}
  }

/*
 # Delays
============================================================================= */

[data-animation-delay="1"] {
  transition-delay: calc(0.15s * 1);
  transition-delay: calc(var(--animation-delay) * 1);
}

[data-animation-delay="2"] {
  transition-delay: calc(0.15s * 2);
  transition-delay: calc(var(--animation-delay) * 2);
}

[data-animation-delay="3"] {
  transition-delay: calc(0.15s * 3);
  transition-delay: calc(var(--animation-delay) * 3);
}

[data-animation-delay="4"] {
  transition-delay: calc(0.15s * 4);
  transition-delay: calc(var(--animation-delay) * 4);
}

[data-animation-delay="5"] {
  transition-delay: calc(0.15s * 5);
  transition-delay: calc(var(--animation-delay) * 5);
}

[data-animation-delay="6"] {
  transition-delay: calc(0.15s * 6);
  transition-delay: calc(var(--animation-delay) * 6);
}

[data-animation-delay="7"] {
  transition-delay: calc(0.15s * 7);
  transition-delay: calc(var(--animation-delay) * 7);
}

[data-animation-delay="8"] {
  transition-delay: calc(0.15s * 8);
  transition-delay: calc(var(--animation-delay) * 8);
}

[data-animation-delay="9"] {
  transition-delay: calc(0.15s * 9);
  transition-delay: calc(var(--animation-delay) * 9);
}

[data-animation-delay="10"] {
  transition-delay: calc(0.15s * 10);
  transition-delay: calc(var(--animation-delay) * 10);
}

@keyframes animateLocalization {
  0% {
    opacity: 0;
    transform: translateY(0);
  }

  100% {
    opacity: 1;
    transform: translateY(-1rem);
  }
}

/* =============================================================================
 # Aspect Ratio                                                               #
============================================================================= */

.has-aspect-ratio {
  /* 16:9 default */
  aspect-ratio: 16 / 9;
  position: relative;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio {
    height: 0;
    overflow: hidden;
    padding-top: calc((9 / 16) * 100%);
}
  }

.has-aspect-ratio embed,
  .has-aspect-ratio iframe,
  .has-aspect-ratio img,
  .has-aspect-ratio video {
    height: 100%;
    left: 0;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    width: 100%;
  }

.has-aspect-ratio--21-9 {
  /* 42.8% Ultrawide screen */
  aspect-ratio: 21 / 9;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--21-9 {
    padding-top: calc((9 / 21) * 100%);
}
  }

.has-aspect-ratio--2-1 {
  /* 50% */
  aspect-ratio: 2 / 1;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--2-1 {
    padding-top: calc((1 / 2) * 100%);
}
  }

.has-aspect-ratio--16-9 {
  /* 56.25%  16:9 default */
}

.has-aspect-ratio--3-2 {
  /* 66.67% */
  aspect-ratio: 3 / 2;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--3-2 {
    padding-top: calc((2 / 3) * 100%);
}
  }

.has-aspect-ratio--4-3 {
  /* 75% */
  aspect-ratio: 4 / 3;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--4-3 {
    padding-top: calc((3 / 4) * 100%);
}
  }

.has-aspect-ratio--5-4 {
  /* 80% */
  aspect-ratio: 5 / 4;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--5-4 {
    padding-top: calc((4 / 5) * 100%);
}
  }

.has-aspect-ratio--1-1 {
  /* 100% */
  aspect-ratio: 1 / 1;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--1-1 {
    padding-top: calc((1 / 1) * 100%);
}
  }

.has-aspect-ratio--4-5 {
  /* 125% */
  aspect-ratio: 4 / 5;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--4-5 {
    padding-top: calc((5 / 4) * 100%);
}
  }

.has-aspect-ratio--3-4 {
  /* 133% */
  aspect-ratio: 3 / 4;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--3-4 {
    padding-top: calc((4 / 3) * 100%);
}
  }

.has-aspect-ratio--2-3 {
  /* 150% */
  aspect-ratio: 2 / 3;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--2-3 {
    padding-top: calc((3 / 2) * 100%);
}
  }

.has-aspect-ratio--5-9 {
  /* 180% */
  aspect-ratio: 5 / 9;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--5-9 {
    padding-top: calc((9 / 5) * 100%);
}
  }

.has-aspect-ratio--1-2 {
  /* 200% */
  aspect-ratio: 1 / 2;
}

@supports not (aspect-ratio: 1 / 1) {

.has-aspect-ratio--1-2 {
    padding-top: calc((2 / 1) * 100%);
}
  }

/**
 * Animation keyframes
 *
 */

@keyframes animate-in-menu {
  from {
    opacity: 0;
    visibility: hidden;
  }

  to {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes animate-out-menu {
  from {
    opacity: 1;
    visibility: visible;
  }

  to {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes animate-in-modal-mobile {
  0% {
    opacity: 0;
    transform: translateX(100%);
    visibility: hidden;
  }

  100% {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }
}

@keyframes animate-out-modal-mobile {
  0% {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }

  100% {
    opacity: 0;
    transform: translateX(100%);
    visibility: hidden;
  }
}

@keyframes animate-in-modal-desktop {
  0% {
    opacity: 0;
    transform: translateX(100%);
    visibility: hidden;
  }

  100% {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }
}

@keyframes animate-out-modal-desktop {
  0% {
    opacity: 1;
    transform: translateX(0);
    visibility: visible;
  }

  100% {
    opacity: 0;
    transform: translateX(100%);
    visibility: hidden;
  }
}

@keyframes animate-in-overlay {
  from {
    opacity: 0;
    visibility: hidden;
  }

  to {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes animate-out-overlay {
  0% {
    opacity: 1;
    visibility: visible;
  }

  100% {
    opacity: 0;
    visibility: hidden;
  }
}

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

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

/* Animations for modal search (vertical slide) */

@keyframes animate-in-modal-down {
  from {
    opacity: 0;
    transform: translateY(-40px) scaleY(0.98);
		 visibility: visible;
  }

  to {
    opacity: 1;
    transform: translateY(0) scaleY(1);
		 visibility: hidden;
  }
}

@keyframes animate-out-modal-up {
  from {
    opacity: 1;
    transform: translateY(0) scaleY(1);
		visibility: visible;
  }

  to {
    opacity: 0;
    transform: translateY(-40px) scaleY(0.98);
		visibility: hidden;
  }
}

/* =============================================================================
 # Lazyload                                                                   #
============================================================================= */

.no-js .h-lazyload {
    display: none;
  }

/* =============================================================================
 # OEmbed                                                                     #
============================================================================= */

/**
 * Easy responsive embeds
 *
 * Use class "h-oembed" on container around the embed/iframe/object
 */

.h-oembed {
  height: auto;
  max-width: 100%;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative
}

.h-oembed iframe,
  .h-oembed object,
  .h-oembed embed {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }

/*
 Debug css box model
* {
	outline: dotted 1px red;
}
*/


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3N0eWxlLmNzcyIsIndlYnBhY2s6Ly8vLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc2V0LmNzcy9yZXNldC5jc3MiLCJ3ZWJwYWNrOi8vL3NldHRpbmdzL21lZGlhLXF1ZXJpZXMuY3NzIiwid2VicGFjazovLy9zZXR0aW5ncy9tYWluLmNzcyIsIndlYnBhY2s6Ly8vc2V0dGluZ3MvZm9udHMuY3NzIiwid2VicGFjazovLy9zZXR0aW5ncy9jb2xvcnMuY3NzIiwid2VicGFjazovLy9zZXR0aW5ncy90eXBvZ3JhcGh5LmNzcyIsIndlYnBhY2s6Ly8vdG9vbHMvbWl4aW4tYXNwZWN0LXJhdGlvLmNzcyIsIndlYnBhY2s6Ly8vdG9vbHMvbWl4aW4tZm9udC1zaXplLmNzcyIsIndlYnBhY2s6Ly8vdG9vbHMvbWl4aW4tdHlwb2dyYXBoeS5jc3MiLCJ3ZWJwYWNrOi8vL3Rvb2xzL21peGlucy5jc3MiLCJ3ZWJwYWNrOi8vL2dlbmVyaWMvYm94LXNpemluZy5jc3MiLCJ3ZWJwYWNrOi8vL2dlbmVyaWMvYnV0dG9ucy5jc3MiLCJ3ZWJwYWNrOi8vL2dlbmVyaWMvbGlua3MuY3NzIiwid2VicGFjazovLy9nZW5lcmljL21haW4uY3NzIiwid2VicGFjazovLy9nZW5lcmljL3N0YW5kYXJkLXR5cG9ncmFwaHkuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2FjY29yZGlvbi5jc3MiLCJ3ZWJwYWNrOi8vLzxubyBzb3VyY2U+Iiwid2VicGFjazovLy9jb21wb25lbnRzL2Fubm91bmNlbWVudC1iYXIuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2JyZWFkY3J1bWIuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2Jyb3dzZWhhcHB5LmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9idXR0b24uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NhcmQuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2NhcnQtaXRlbS5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY2FydC10YWJsZS5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY2FydC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY29sb3ItcGlja2VyLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9jb2xvci10YWctZmlsdGVyLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9jb29yZGluYXRlZC1zZWxlY3Rvci5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvY291bnRyeS1zZWxlY3Rvci5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvZHJvcGRvd24uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ZpbHRlci1idXR0b24uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2ZpbHRlci1saXN0LmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9ob3Jpem9udGFsLXNjcm9sbC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvaWNvbnMuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL2xhYmVsLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9saWdodGJveC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbGluay5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbG9jaWxhemF0aW9uLWZvcm0uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21lZ2EtbWVudS1tb2JpbGUuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21lZ2EtbWVudS5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbWVudS1mb290ZXIuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21lbnUtbW9iaWxlLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tZW51LmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tb2JpbGUtbWVudS1zZWxlY3RvcnMuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21vZGFsLWJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbW9kYWwtY2FydC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbW9kYWwtZmlsdGVyLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tb2RhbC1nYXVnZS1pbmZvLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9tb2RhbC1uYXYuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL21vZGFsLXNlYXJjaC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvbW9kYWwuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL25ld3NsZXR0ZXIuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL292ZXJsYXkuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3BhZ2luYXRpb24uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3ByZWRpY3RpdmUtc2VhcmNoLWlucHV0LmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wcmVkaWN0aXZlLXNlYXJjaC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvcHJpY2UtcmFuZ2UuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3ByaWNlLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wcm9kdWN0LWNhcmQtbGFiZWwuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3Byb2R1Y3QtY2FyZC1tb2RhbC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbXBvbmVudHMvcHJvZHVjdC1jYXJkLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wcm9kdWN0LWZvcm0uY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3Byb2R1Y3Qtc2xpZGVyLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9wcm9kdWN0LXN0b2NrLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zaXplLWNoYXJ0LXRhYmxlLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zaXplLWd1aWRlLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy9zb2NpYWwuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3NvcnQtZmFjZXQuY3NzIiwid2VicGFjazovLy9jb21wb25lbnRzL3RvYXN0LmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy92YXJpYW50LXNlbGVjdG9yLmNzcyIsIndlYnBhY2s6Ly8vY29tcG9uZW50cy92aWRlby5jc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9zaXRlLWZvb3Rlci5jc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9zaXRlLWhlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL2FydGljbGVzLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvY2FsbC10by1hY3Rpb24uY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9jYXJkLWFydGljbGVzLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvY2FyZHMuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9jb2xsZWN0aW9uLWxpc3QuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9jb2xsZWN0aW9uLW1hcnF1ZWUuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9jb2xsZWN0aW9uLW5hdmlnYXRvci5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL2NvbnRhY3QuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9jb250ZW50LWFydGljbGUuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9mYWNldHMuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9mYXEtYWNjb3JkaW9uLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvZmFxLW1lbnUuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9mZWF0dXJlZC1jb2xsZWN0aW9uLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvZmVhdHVyZWQtcHJvZHVjdHMuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9pbWFnZS1iYW5uZXIuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9pbWFnZS1ncmlkLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvbWFpbi1jb2xsZWN0aW9uLWhlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL21haW4tcHJvZHVjdC1ncmlkLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvbWFpbi1zZWFyY2gtZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL21haW4tc2VhcmNoLWhlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL21hcnF1ZWUuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9tZWRpYS13aXRoLXRleHQuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9tZWRpYS5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL25ld3NsZXR0ZXIuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9wYWdlLWhlYWRlci1hcnRpY2xlLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvcGFnZS1oZWFkZXItZnVsbC5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL3BhZ2UtaGVhZGVyLXNpbXBsZS5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL3Bhc3N3b3JkLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvcGVya3MuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9wcm9kdWN0LWluZm9ybWF0aW9uLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvcHJvZHVjdC10YWJzLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvcHJvZHVjdHMuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9xdW90ZS5jc3MiLCJ3ZWJwYWNrOi8vL3NlY3Rpb25zL3JlbGF0ZWQtcHJvZHVjdHMuY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9yaWNoLXRleHQtc2ltcGxlLmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvcmljaC10ZXh0LmNzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvc2xpZGVyLmNzcyIsIndlYnBhY2s6Ly8vcGFnZXMvNDA0LmNzcyIsIndlYnBhY2s6Ly8vcGFnZXMvbWFpbi5jc3MiLCJ3ZWJwYWNrOi8vL3BhZ2VzL3BhZ2UuY3NzIiwid2VicGFjazovLy9wYWdlcy9wb2xpY2llcy5jc3MiLCJ3ZWJwYWNrOi8vL3V0aWxpdGllcy9hY2Nlc3NpYmlsaXR5LmNzcyIsIndlYnBhY2s6Ly8vdXRpbGl0aWVzL2FuaW1hdGlvbnMuY3NzIiwid2VicGFjazovLy91dGlsaXRpZXMvYXNwZWN0LXJhdGlvLmNzcyIsIndlYnBhY2s6Ly8vdXRpbGl0aWVzL2tleWZyYW1lcy5jc3MiLCJ3ZWJwYWNrOi8vL3V0aWxpdGllcy9sYXp5bG9hZC5jc3MiLCJ3ZWJwYWNrOi8vL3V0aWxpdGllcy9vZW1iZWQuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBTdHlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIG1ham9yIGNzcyBmaWxlLiBIZXJlIGFsbCBvdGhlciBmaWxlcyBhcmUgaW1wb3J0ZWQuXG4gKi9cblxuLyogSW5jbHVkZSByZXNldC5jc3MgdmlhIE5QTS4gKi9cbkBpbXBvcnQgXCJyZXNldC5jc3NcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAjIFNldHRpbmdzIC0gR2xvYmFsIHZhcmlhYmxlcywgY29uZmlnIHN3aXRjaGVzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwic2V0dGluZ3MvbWVkaWEtcXVlcmllcy5jc3NcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9tYWluLmNzc1wiO1xuQGltcG9ydCBcInNldHRpbmdzL2ZvbnRzLmNzc1wiO1xuQGltcG9ydCBcInNldHRpbmdzL2NvbG9ycy5jc3NcIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy90eXBvZ3JhcGh5LmNzc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICMgVG9vbHMgLSBEZWZhdWx0IG1peGlucyBhbmQgZnVuY3Rpb25zLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJ0b29scy8qLmNzc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICMgR2VuZXJpYyAtIEdyb3VuZC16ZXJvIHN0eWxlcyAoYm94LXNpemluZywgZXRjLikuICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJnZW5lcmljLyouY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIyBDb21wb25lbnRzIOKAkyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwiY29tcG9uZW50cy8qLmNzc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICMgTGF5b3V0IOKAkyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcImxheW91dC8qLmNzc1wiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICMgU2VjdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AaW1wb3J0IFwic2VjdGlvbnMvKi5jc3NcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAjIFBhZ2VzIOKAkyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBpbXBvcnQgXCJwYWdlcy8qLmNzc1wiO1xuXG4vKiBPcHRpb25hbDogSW5jbHVkZSBzbGljay1jYXJvdXNlbCB2aWEgTlBNLiAqL1xuXG4vKiBAaW1wb3J0IFwic2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suY3NzXCI7ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIyBVdGlsaXRpZXMgLSBBbmltYXRpb24sIGhlbHBlcnMgYW5kIG92ZXJyaWRlcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCBcInV0aWxpdGllcy8qLmNzc1wiO1xuXG4vKlxuIERlYnVnIGNzcyBib3ggbW9kZWxcbioge1xuXHRvdXRsaW5lOiBkb3R0ZWQgMXB4IHJlZDtcbn1cbiovXG4iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0LyBcbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5cbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGJsb2NrcXVvdGUsIHByZSxcbmEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcbnNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsXG5iLCB1LCBpLCBjZW50ZXIsXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgXG5tZW51LCBuYXYsIG91dHB1dCwgcnVieSwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qIEhUTUw1IGRpc3BsYXktcm9sZSByZXNldCBmb3Igb2xkZXIgYnJvd3NlcnMgKi9cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5vbCwgdWwge1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuYmxvY2txdW90ZSwgcSB7XG5cdHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuXHRjb250ZW50OiAnJztcblx0Y29udGVudDogbm9uZTtcbn1cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1lZGlhIFF1ZXJpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gIyBCcmVha3BvaW50c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGN1c3RvbS1tZWRpYSAtLWJwLXhtaWNybyAoIG1pbi13aWR0aDogMzIwcHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1taWNybyAoIG1pbi13aWR0aDogMzYwcHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC10aW55ICggbWluLXdpZHRoOiA1NzZweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLXNtYWxsICggbWluLXdpZHRoOiA3NjhweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLW1lZGl1bSAoIG1pbi13aWR0aDogOTkycHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1sYXJnZSAoIG1pbi13aWR0aDogMTI4MHB4ICk7XG5AY3VzdG9tLW1lZGlhIC0tYnAteGxhcmdlICggbWluLXdpZHRoOiAxNDQwcHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC14eGxhcmdlICggbWluLXdpZHRoOiAxNjgwcHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1odWdlICggbWluLXdpZHRoOiAxOTIwcHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1tZWdhICggbWluLXdpZHRoOiAyNTYwcHggKTtcblxuLyogU3BlY2lmaWMgYnJlYWtwb2ludCBmb3IgcHJvZHVjdC1zbGlkZXIgdG8gbWF0Y2ggRGF2aWQncyBkZXNpZ24gKi9cbkBjdXN0b20tbWVkaWEgLS1icC1wcm9kdWN0LXNsaWRlciAoIG1heC13aWR0aDogNzY3cHggKTtcblxuLypcbiAjIEJyZWFrcG9pbnRzIE1heFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGN1c3RvbS1tZWRpYSAtLWJwLXhtaWNyby1tYXggKCBtYXgtd2lkdGg6IDMyMHB4ICk7XG5AY3VzdG9tLW1lZGlhIC0tYnAtbWljcm8tbWF4ICggbWF4LXdpZHRoOiAzNjBweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLXRpbnktbWF4ICggbWF4LXdpZHRoOiA1NzZweCApO1xuQGN1c3RvbS1tZWRpYSAtLWJwLXNtYWxsLW1heCAoIG1heC13aWR0aDogNzY4cHggKTtcbkBjdXN0b20tbWVkaWEgLS1icC1tZWRpdW0tbWF4ICggbWF4LXdpZHRoOiA5OTJweCApO1xuXG4vKlxuICMgV1AgQ29yZSBCcmVha3BvaW50cyAodXNlZCBmb3IgdGhlIGFkbWluIGJhciBmb3IgZXhhbXBsZSlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBjdXN0b20tbWVkaWEgLS13cC1zbWFsbCAoIG1pbi13aWR0aDogNjAwcHggKTtcbkBjdXN0b20tbWVkaWEgLS13cC1tZWRpdW0tbWF4IChtYXgtd2lkdGg6IDc4MnB4KTtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBHbG9iYWwgU2V0dGluZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG5cdC8qIHN0eWxlbGludC1kaXNhYmxlICovXG5cdC8qKlxuXHQgKiBCYXNlbGluZSBzaG91bGQgYWx3YXlzIGZvbGxvdyBhbiA4cHQgb3IgNHB0IGdyaWQgKGlmIG5vdCBhbiBleHRyZW1lXG5cdCAqIGRlc2lnbikuIEUuZy4gLjI1cmVtIG9yIC41cmVtXG5cdCAqXG5cdCAqIEBjcmVkaXQgaHR0cHM6Ly9idWlsdHRvYWRhcHQuaW8vaW50cm8tdG8tdGhlLTgtcG9pbnQtZ3JpZC1zeXN0ZW0tZDI1NzNjZGU4NjMyXG5cdCAqL1xuXHQvKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cdC0tYmFzZWxpbmUtdW5pdDogMC4yNXJlbTtcblxuXHQvKipcblx0ICogR2FwIGlzIHVzZWQgaW4gZ3JpZCBsYXlvdXRzIGFuZCBtYXJnaW5zL3BhZGRpbmdzIGFyb3VuZCBlbGVtZW50c1xuXHQgKi9cblx0LS1nYXAtbWljcm86IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAyKTtcblx0LS1nYXAtdGlueTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDQpO1xuXHQtLWdhcC1zbWFsbDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDYpO1xuXHQtLWdhcDogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDgpO1xuXHQtLWdhcC1tZWRpdW06IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA4KTtcblx0LS1nYXAtbGFyZ2U6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxNik7XG5cdC0tZ2FwLXhsYXJnZTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDI4KTtcblx0LS1nYXAtaHVnZTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDMyKTtcblxuXHQvKipcblx0ICogU3BlY2lhbCBnYXBzXG5cdCAqL1xuXG5cdC8qIEdyaWQgZ2FwOiBHYXAgYmV0d2VlbiBncmlkIGNvbHVtbnMgaW4gZmxleGJveCBncmlkICovXG5cdC0tZ2FwLWdyaWQ6IDFyZW07XG5cblx0LyogQ29udGFpbmVyIGdhcDogdXNlZCBmb3IgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiB0aGUgc2l0ZSBtYWluIGNvbnRhaW5lciAqL1xuXHQtLWdhcC1jb250YWluZXI6IDEuNXJlbTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHQtLWdhcC1ncmlkOiAxcmVtO1xuXHRcdC0tZ2FwLWNvbnRhaW5lcjogMi41NXJlbTtcblx0fVxuXG5cdC8qKlxuXHQgKiBNYXggV2lkdGhzXG5cdCAqXG5cdCAqIE5hbWluZzogbmFycm93LCB3aWRlLCBmdWxsXG5cdCAqL1xuXHQtLWwtbWF4LXdpZHRoLW5hcnJvdzogNzIwcHg7XG5cdC0tbC1tYXgtd2lkdGgtd2lkZTogMTQwMHB4O1xuXHQtLWwtbWF4LXdpZHRoLWZ1bGw6IG5vbmU7IC8qIDI1NjBweDsgKi9cblxuXHQvKipcblx0ICogQWRtaW5iYXJcblx0ICpcblx0ICogVXNlZCB0byBhZGQgb2Zmc2V0IGZvciBhZG1pbi1iYXIgdG8gZWxlbWVudHMgc3VjaCBhcyBzaXRlLWhlYWRlci5cblx0ICovXG5cdC0tYWRtaW4tYmFyOiAzMnB4O1xuXG5cdEBtZWRpYSAoLS13cC1tZWRpdW0tbWF4KSB7XG5cdFx0LS1hZG1pbi1iYXI6IDQ2cHg7XG5cdH1cblxuXHQvKipcblx0ICogU2Nyb2xsYmFyXG5cdCAqXG5cdCAqIFVzZWQgZm9yIHNsaWRlcnMgdG8gbWFrZSBzdXJlIGl0IHdvcmtzIHdpdGggZXZlcnkgc2Nyb2xsYmFyLXNldHRpbmcuXG5cdCAqL1xuXHQtLXNjcm9sbGJhci13aWR0aDogMC4wMDFweDtcblxuXHQvKipcblx0ICogVmFyaWFibGVzIGZvciBlYXN5IGFjY2VzcyBvZiBmb250c1xuXHQgKiBGb250cyBhcmUgaW1wb3J0ZWQgdXNpbmcgQGZvbnQtZmFjZSBpbiB0eXBvZ3JhcGh5LnNjc3Ncblx0ICovXG5cdC0tZm9udC1oZWFkaW5nOiBcIk1pbmlvbiBQcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBoZWx2ZXRpY2EsIGFyaWFsLCBzYW5zLXNlcmlmO1xuXHQtLWZvbnQtYm9keTpcblx0XHRcIkF0bGFzIEdyb3Rlc2tcIixcblx0XHRcIkhlbHZldGljYSBOZXVlXCIsXG5cdFx0aGVsdmV0aWNhLFxuXHRcdGFyaWFsLFxuXHRcdHNhbnMtc2VyaWY7XG5cblx0LS1mb250LXdlaWdodC1ib2xkOiA1MDA7XG5cdC0tZm9udC13ZWlnaHQtYm9sZGVyOiA2MDA7XG5cblx0LyoqXG5cdCAqIEJhc2UgRm9udCBTaXplXG5cdCAqXG5cdCAqIE1hdGNoIHRoaXMgdmFyaWFibGUgd2l0aCB0aGUgYmFzZS1mb250IHNpemUgaW4gdGhlIGRlc2lnbi5cblx0ICogTm90ZTogRG9uJ3QgaW5jbHVkZSBwaXhlbHMgKDE2IGluc3RlYWQgb2YgMTZweCkuXG5cdCAqL1xuXHQtLWJhc2UtZm9udC1zaXplOiAxNjtcblxuXHQvKipcblx0ICogRm9udCBzaXplcyBhbHdheXMgZXhwcmVzc2VkIGluIHJlbXMhXG5cdCAqXG5cdCAqIE5hbWluZzogbWljcm8sIHRpbnksIHNtYWxsLCBtZWRpdW0gKGJhc2UpLCBsYXJnZSwgaHVnZSwgbWVnYVxuXHQgKi9cblxuXHQtLWZvbnQtc2l6ZS1taWNybzogY2FsYygoMTIgLyB2YXIoLS1iYXNlLWZvbnQtc2l6ZSkpICogMXJlbSk7XG5cdC0tZm9udC1zaXplLXRpbnk6IGNhbGMoKDE0LjMgLyB2YXIoLS1iYXNlLWZvbnQtc2l6ZSkpICogMXJlbSk7XG5cdC0tZm9udC1zaXplLXNtYWxsOiBjYWxjKCgxNi41IC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXHQtLWZvbnQtc2l6ZS1zbWFsbHg6IGNhbGMoKDE4LjUgLyB2YXIoLS1iYXNlLWZvbnQtc2l6ZSkpICogMXJlbSk7XG5cdC0tZm9udC1zaXplLXhtZWRpdW06IGNhbGMoKDIwIC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXHQtLWZvbnQtc2l6ZS1tZWRpdW06IGNhbGMoKDIyIC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXHQtLWZvbnQtc2l6ZS1sYXJnZTogY2FsYygoMjYgLyB2YXIoLS1iYXNlLWZvbnQtc2l6ZSkpICogMXJlbSk7XG5cdC0tZm9udC1zaXplLXhsYXJnZS1tb2JpbGU6IGNhbGMoKDM0IC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXHQtLWZvbnQtc2l6ZS14bGFyZ2U6IGNhbGMoKDQyIC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXHQtLWZvbnQtc2l6ZS1odWdlOiBjYWxjKCg1MiAvIHZhcigtLWJhc2UtZm9udC1zaXplKSkgKiAxcmVtKTtcblx0LS1mb250LXNpemUteGh1Z2U6IGNhbGMoKDYyIC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdC0tZm9udC1zaXplLWxhcmdlOiBjYWxjKCgzMiAvIHZhcigtLWJhc2UtZm9udC1zaXplKSkgKiAxcmVtKTtcblx0XHQtLWZvbnQtc2l6ZS1tZWRpdW06IGNhbGMoKDI1IC8gdmFyKC0tYmFzZS1mb250LXNpemUpKSAqIDFyZW0pO1xuXHRcdC0tZm9udC1zaXplLXhodWdlOiBjYWxjKCg4MyAvIHZhcigtLWJhc2UtZm9udC1zaXplKSkgKiAxcmVtKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBMaW5lIGhlaWdodHMgc2hhbGwgbWF0Y2ggdGhlaXIgcmVzcGVjdGl2ZSBmb250LXNpemUgYW5kIGFsd2F5c1xuXHQgKiBiZSBjYWxjdWxhdGVkIHVzaW5nIHRoZSBiYXNlbGluZS11bml0XG5cdCAqL1xuXG5cdC0tbGluZS1oZWlnaHQtbWljcm86IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA0KTtcblx0LS1saW5lLWhlaWdodC10aW55OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNCk7XG5cdC0tbGluZS1oZWlnaHQteHNtYWxsOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNCk7XG5cdC0tbGluZS1oZWlnaHQtc21hbGw6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA2KTtcblx0LS1saW5lLWhlaWdodC14bWVkaXVtOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNyk7XG5cdC0tbGluZS1oZWlnaHQtbWVkaXVtOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNyk7XG5cdC0tbGluZS1oZWlnaHQtbGFyZ2U6IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiA5LjUpO1xuXHQtLWxpbmUtaGVpZ2h0LXhsYXJnZTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDEyKTtcblx0LS1saW5lLWhlaWdodC1odWdlOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTQpO1xuXHQtLWxpbmUtaGVpZ2h0LXhodWdlOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTgpO1xuXG5cdC0tbGluZS1oZWlnaHQtYm9keTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDcuNSk7XG5cblxuXHRAbWVkaWEgKC0tYnAteGxhcmdlKSB7XG5cdFx0LS1saW5lLWhlaWdodC14aHVnZTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDIzKTtcblx0fVxuXG5cdC8qIFRyYW5zaXRpb25zICovXG5cdC0tdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMC4zNiwgMC42NCwgMC4yMywgMC45NCk7XG5cdC0tdHJhbnNpdGlvbi1zbG93OiAwLjhzIGN1YmljLWJlemllcigwLjM2LCAwLjY0LCAwLjIzLCAwLjk0KTtcblx0LS10cmFuc2l0aW9uLXF1aWNrOiAwLjFzIGVhc2UtaW4tb3V0O1xuXG5cdC8qIEFuaW1hdGlvbnMgKi9cblx0LS1hbmltYXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG5cdC0tYW5pbWF0aW9uLXNsb3c6IDAuNjVzIGVhc2UtaW4tb3V0O1xuXHQtLWFuaW1hdGlvbi1xdWljazogMC4xNXMgZWFzZS1pbi1vdXQ7XG5cblx0LyogQW5pbWF0aW9uIGRlbGF5ICovXG5cdC0tYW5pbWF0aW9uLWRlbGF5OiAwLjE1cztcblxuXHQvKiBEcm9wIHNoYWRvd3MgKi9cblx0LS1kcm9wLXNoYWRvdy1zbWFsbDogMCAycHggMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0LS1kcm9wLXNoYWRvdzogMCA1cHggNDBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblx0LS1kcm9wLXNoYWRvdy1sYXJnZTogMCA1cHggNjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cblx0LyogUmFkaXVzIOKAkyBFeGFtcGxlISAqL1xuXHQtLXJhZGl1cy1zbWFsbDogMnB4O1xuXHQtLXJhZGl1czogMDtcblx0LS1yYWRpdXMtbWVkaXVtOiA4cHg7XG5cdC0tcmFkaXVzLWxhcmdlOiAxMHB4O1xuXG5cdC0tZm9udC1mYW1pbHktYmFzZTogdmFyKC0tZm9udC1mYW1pbHktcHJpbWFyeSk7XG5cdC0tZm9udC1mYW1pbHktaGVhZGluZ3M6IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHQtLWZvbnQtZmFtaWx5LW1vbm86IHZhcigtLWZvbnQtZmFtaWx5LXByaW1hcnkpO1xuXHQtLWZvbnQtZmFtaWx5LXNlcmlmOiB2YXIoLS1mb250LWZhbWlseS1wcmltYXJ5KTtcblx0LS1mb250LWZhbWlseS1zeXN0ZW06IHN5c3RlbS11aSxcblx0XHQtYXBwbGUtc3lzdGVtLFxuXHRcdEJsaW5rTWFjU3lzdGVtRm9udCxcblx0XHRcIlNlZ29lIFVJXCIsXG5cdFx0Um9ib3RvLFxuXHRcdE94eWdlbi1TYW5zLFxuXHRcdFVidW50dSxcblx0XHRDYW50YXJlbGwsXG5cdFx0XCJIZWx2ZXRpY2EgTmV1ZVwiLFxuXHRcdEFyaWFsLFxuXHRcdHNhbnMtc2VyaWY7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgRm9udHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGlzIGZpbGUgaXMgdXNlZCBmb3Igd2ViIGZvbnRzIChAZm9udC1mYWNlKS5cbiAqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdBdGxhcyBHcm90ZXNrJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtc3ludGhlc2lzOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgc3JjOiB1cmwoJ0F0bGFzR3JvdGVzay1UaGluLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ0F0bGFzR3JvdGVzay1UaGluLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQXRsYXMgR3JvdGVzayc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXN5bnRoZXNpczogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHNyYzogdXJsKCdBdGxhc0dyb3Rlc2stUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdBdGxhc0dyb3Rlc2stUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0F0bGFzIEdyb3Rlc2snO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1zeW50aGVzaXM6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBzcmM6IHVybCgnQXRsYXNHcm90ZXNrLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdBdGxhc0dyb3Rlc2stTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnTWluaW9uIFBybyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXN5bnRoZXNpczogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHNyYzogdXJsKCdNaW5pb25Qcm8tUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdNaW5pb25Qcm8tUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ29sb3IgU3lzdGVtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29sb3IgU3lzdGVtIERvY3VtZW50YXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29sb3Igc3lzdGVtIGZvciB0aGUgRGF2aWRhIHRoZW1lIHVzaW5nIENTUyBjdXN0b21cbiAqIHByb3BlcnRpZXMuIENvbG9ycyBhcmUgb3JnYW5pemVkIGludG8gc2VtYW50aWMgZ3JvdXBzIGZvciBiZXR0ZXIgbWFpbnRhaW5hYmlsaXR5XG4gKiBhbmQgY29uc2lzdGVuY3kuXG4gKlxuICogVXNhZ2UgR3VpZGVsaW5lczpcbiAqIDEuIFVzZSBzZW1hbnRpYyBjb2xvciB2YXJpYWJsZXMgaW5zdGVhZCBvZiByYXcgY29sb3IgdmFsdWVzXG4gKiAyLiBVc2UgLS1jb2xvci1zZWNvbmRhcnkgZm9yIHNlcGFyYXRvcnMgYW5kIGRpc2FibGVkIHN0YXRlc1xuICogMy4gTWFpbnRhaW4gV0NBRyAyLjEgQUEgY29udHJhc3QgcmF0aW9zICg0LjU6MSBmb3Igbm9ybWFsIHRleHQsIDM6MSBmb3IgbGFyZ2UpXG4gKiA0LiBVc2UgdXRpbGl0eSBjb2xvcnMgYXBwcm9wcmlhdGVseSAoZS5nLiwgLS1lcnJvci1jb2xvciBmb3IgZXJyb3Igc3RhdGVzKVxuICovXG5cbjpyb290IHtcbiAgLyogQ29yZSBDb2xvcnNcblx0ICogVGhlc2UgYXJlIHRoZSBmb3VuZGF0aW9uYWwgY29sb3JzIHRoYXQgZGVmaW5lIHRoZSBicmFuZCBpZGVudGl0eS5cblx0ICogT25seSB1c2UgcmF3IGNvbG9yIHZhbHVlcyBoZXJlIC0gYWxsIG90aGVyIGNvbG9ycyBzaG91bGQgcmVmZXJlbmNlIHRoZXNlLlxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAtLWNvbG9yLXdoaXRlOiAjZmZmO1xuICAtLWNvbG9yLWJsYWNrOiAjMmQyZDJjO1xuXHQtLWNvbG9yLXBpbms6ICNlOWQxYzU7XG5cdC0tY29sb3ItYnJvd246ICNiZGE4OTM7XG5cdC0tY29sb3Itb3JhbmdlOiAjYWI1ODJiO1xuXHQtLWNvbG9yLWxpZ2h0LWdyYXk6ICM1NzU3NTY7XG5cdC0tY29sb3ItZ3JheTogI2Y0ZjRmNDtcblx0LS1jb2xvci1kYXJrLWdyYXk6ICNkNWQ1ZDU7XG5cdC0tY29sb3ItZ3JlZW46ICNjZmQ2ZDU7XG5cdC0tY29sb3ItZ3JlZW4tZGFyazogIzY4Nzk3NztcbiAgLS1jb2xvci1wcmltYXJ5OiAjMmQyZDJjOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1haW4gYnJhbmQgY29sb3IgKi9cbiAgLS1jb2xvci1zZWNvbmRhcnk6ICNlYWVhZWE7XG5cdC0tY29sb3ItYmFja2dyb3VuZC1ncmF5OiAjZTdlYmVhOyAgICAgICAgICAgICAgICAgICAgLyogU2Vjb25kYXJ5IGJyYW5kIGNvbG9yICovXG5cbiAgLyogSG92ZXIgQ29sb3JzICovXG4gIC0taG92ZXItcHJpbWFyeTogI2ZmZjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFdoaXRlIGhvdmVyIHN0YXRlICovXG4gIC0taG92ZXItc2Vjb25kYXJ5OiAjMmQyZDJjOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJsYWNrIGhvdmVyIHN0YXRlICovXG5cbiAgLyogU2VtYW50aWMgVGV4dCBDb2xvcnNcblx0ICogVGhlc2UgdmFyaWFibGVzIGdpdmUgbWVhbmluZyB0byBjb2xvcnMgYmFzZWQgb24gdGhlaXIgdXNhZ2UgaW4gdGV4dC5cblx0ICogQWx3YXlzIHVzZSB0aGVzZSBpbnN0ZWFkIG9mIGNvcmUgY29sb3JzIGZvciB0ZXh0LlxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAtLWNvbG9yLXRleHQ6IHZhcigtLWNvbG9yLXByaW1hcnkpOyAgICAgICAgICAgICAgICAvKiBEZWZhdWx0IHRleHQgY29sb3IgKi9cbiAgLS1jb2xvci1oZWFkaW5nOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgICAgXHRcdFx0XHQgLyogQWxsIGhlYWRpbmdzICovXG4gIC0tY29sb3ItYm9keS10ZXh0OiAjMmQyZDJjOyAgICAgICAgICAgICBcdFx0XHRcdFx0ICAgICAvKiBCb2R5IHRleHQgKi9cbiAgLS1jb2xvci10ZXh0LWxpZ2h0OiB2YXIoLS1jb2xvci13aGl0ZSk7ICAgXHRcdFx0XHQgLyogVGV4dCBvbiBkYXJrIGJhY2tncm91bmQgKi9cblx0LS1jb2xvci10ZXh0LXNlY29uZGFyeTogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cbiAgLyogVXRpbGl0eSBDb2xvcnNcblx0ICogQ29sb3JzIGZvciBzcGVjaWZpYyBVSSBwdXJwb3NlcyBsaWtlIGJvcmRlcnMsIGJhY2tncm91bmRzLCBhbmQgc3RhdGVzLlxuXHQgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAtLWNvbG9yLWJvcmRlcjogI2UwZTBlMDsgICAgICAgICAgICAgICAgXHQgICAgICAgIC8qIERlZmF1bHQgYm9yZGVyIGNvbG9yICovXG4gIC0tY29sb3ItYmFja2dyb3VuZDogI2YzZjJlZjsgICAgICAgICAgICBcdFx0XHRcdFx0LyogRGVmYXVsdCBiYWNrZ3JvdW5kICovXG4gIC0tY29sb3ItZXJyb3I6ICNjZTMxMjc7ICAgICAgICAgICAgICAgICBcdFx0XHRcdFx0LyogRXJyb3Igc3RhdGVzICovXG4gIC0tY29sb3Itc3VjY2VzczogIzJlN2QzMjsgICAgICAgICAgICAgICBcdFx0XHRcdFx0LyogU3VjY2VzcyBzdGF0ZXMgKi9cbiAgLS1jb2xvci1iYWNrZ3JvdW5kLWltYWdlOiAjZjlmOWY5OyAgICAgIFx0XHRcdFx0XHQvKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBpbWFnZXMgKi9cbiAgLS1jb2xvci1iYWNrZ3JvdW5kLWZvb3RlcjogdmFyKC0tY29sb3Itd2hpdGUpOyAvKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBmb290ZXIgKi9cblx0LS1jb2xvci1ib3JkZXI6ICNlYWVhZWE7ICAgICAgICAgICAgICAgICAgLyogQm9yZGVyIGNvbG9yICovXG59XG5cbi8qIFVzYWdlIEV4YW1wbGVzOlxuICpcbiAqIDEuIFRleHQgQ29sb3JzOlxuICogICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyAgICAgICAgIFx0XHQgRGVmYXVsdCB0ZXh0IGNvbG9yXG4gKiAgICBjb2xvcjogdmFyKC0tY29sb3ItaGVhZGluZyk7ICAgICAgXHRcdCBIZWFkaW5nc1xuICogICAgY29sb3I6IHZhcigtLWNvbG9yLWJvZHkpOyAgICAgICAgIFx0XHQgQm9keSB0ZXh0XG4gKlxuICogMi4gSW50ZXJhY3RpdmUgRWxlbWVudHM6XG4gKiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgICAgICBEZWZhdWx0IHN0YXRlXG4gKiAgICAmOmhvdmVyIHtcbiAqICAgICAgYmFja2dyb3VuZDogdmFyKC0taG92ZXItcHJpbWFyeSk7XG4gKiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAqICAgIH1cbiAqXG4gKiAzLiBCYWNrZ3JvdW5kczpcbiAqICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTsgICAgICBcdCBNYWluIGNvbnRlbnRcbiAqICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpOyBcdCBBbHRlcm5hdGUgc2VjdGlvbnNcbiAqXG4gKiA0LiBCb3JkZXJzOlxuICogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpOyAgICAgIERlZmF1bHQgYm9yZGVyc1xuICogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpOyAgU2VwYXJhdG9yc1xuICpcbiAqIDUuIFN0YXR1czpcbiAqICAgIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7ICAgICAgICAgICAgIEVycm9yIG1lc3NhZ2VzXG4gKiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7ICAgICAgICAgICBTdWNjZXNzIG1lc3NhZ2VzXG4gKi9cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBUeXBvZ3JhcGh5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFRoaXMgZmlsZSBpcyBmb3IgZmx1aWQgZm9udCBzaXppbmcgYW5kIHNvbWUgc3RhbmRhcmQgZm9udCBzdHlsaW5nLlxuICovXG5cbi8qKlxuICogRmx1aWQgdHlwb2dyYXBoeS4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBidWlsZCBzaXRlcyBmb3IgaW5maW5pdGUgbGFyZ2VcbiAqIHNjcmVlbnMgKGFsbW9zdCA7LSkgKVxuICpcbiAqIFdlIGFyZSBwcmFjdGljYWxseSBkb2luZyB0aGlzIGNhbGN1bGF0aW9uOlxuICogZm9udC1zaXplOiBjYWxjKFttaW5pbXVtIHNpemVdICsgKFttYXhpbXVtIHNpemVdIC0gW21pbmltdW0gc2l6ZV0pICogKCgxMDB2dyAtIFttaW5pbXVtIHZpZXdwb3J0IHdpZHRoXSkgLyAoW21heGltdW0gdmlld3BvcnQgd2lkdGhdIC0gW21pbmltdW0gdmlld3BvcnQgd2lkdGhdKSkpO1xuICpcbiAqIEBjcmVkaXQgaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNi8wNS9mbHVpZC10eXBvZ3JhcGh5L1xuICogQGNyZWRpdCBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9mbHVpZC10eXBvZ3JhcGh5L1xuICovXG46cm9vdCB7XG4gIC8qIEZvbnQtc2l6ZXMgKi9cbiAgLS1yLW1pbi1mb250LW5vLXB4OiAxNDtcbiAgLS1yLW1heC1mb250LW5vLXB4OiAxNjtcbiAgLS1yLW1pbi1mb250OiBjYWxjKHZhcigtLXItbWluLWZvbnQtbm8tcHgpICogMXB4KTtcbiAgLS1yLW1heC1mb250OiBjYWxjKHZhcigtLXItbWF4LWZvbnQtbm8tcHgpICogMXB4KTtcbiAgLS1yLWZvbnQtZGlmZjogY2FsYyh2YXIoLS1yLW1heC1mb250LW5vLXB4KSAtIHZhcigtLXItbWluLWZvbnQtbm8tcHgpKTtcblxuICAvKiBCcmVha3BvaW50cyAqL1xuICAtLXItbWluLWJyZWFrcG9pbnQtbm8tcHg6IDU3NjtcbiAgLS1yLW1heC1icmVha3BvaW50LW5vLXB4OiAxNjgwO1xuICAtLXItbWluLWJyZWFrcG9pbnQ6IGNhbGModmFyKC0tci1taW4tYnJlYWtwb2ludC1uby1weCkgKiAxcHgpO1xuICAtLXItbWF4LWJyZWFrcG9pbnQ6IGNhbGModmFyKC0tci1tYXgtYnJlYWtwb2ludC1uby1weCkgKiAxcHgpO1xuICAtLXItYnJlYWtwb2ludC1kaWZmOiBjYWxjKHZhcigtLXItbWF4LWJyZWFrcG9pbnQtbm8tcHgpIC0gdmFyKC0tci1taW4tYnJlYWtwb2ludC1uby1weCkpOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIG1heC1saW5lLWxlbmd0aCAqL1xuXG4gIC8qIFNldHRpbmcgbWluIGZvbnQgc2l6ZSAqL1xuICBmb250LXNpemU6IHZhcigtLXItbWluLWZvbnQpO1xuXG4gIEBtZWRpYSAoLS1icC1taWNybykge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1yLW1pbi1mb250KSArIHZhcigtLXItZm9udC1kaWZmKSAqICgxMDB2dyAtIHZhcigtLXItbWluLWJyZWFrcG9pbnQpKSAvIHZhcigtLXItYnJlYWtwb2ludC1kaWZmKSk7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgbWF4LWxpbmUtbGVuZ3RoICovXG4gIH1cblxuICBAbWVkaWEgKC0tYnAteHhsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1yLW1heC1mb250LW5vLXB4KSAvIHZhcigtLXItbWF4LWJyZWFrcG9pbnQtbm8tcHgpICogMTAwdncpOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIG1heC1saW5lLWxlbmd0aCAqL1xuICB9XG59XG5cbi8qKlxuICogU3RhbmRhcmQgZm9udCBlbGVtZW50IHN0eWxpbmcuIFZhcmlhYmxlcyBhcmUgc2V0IGluIF9zZXR0aW5ncy5zY3NzXG4gKi9cbmJvZHkge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblxuICAvKiBEZXNpZ25lcnMgYWx3YXlzIHdhbnQgdGhlIGZvbnQgc21vb3RoaW5nIHN0dWZmISAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG59XG4iLCJcbi8qKlxuICogTWFpbnRhaW4gYXNwZWN0IHJhdGlvXG4gKlxuICogQGNzc1xuIFx0LmFzcGVjdC1yYXRpby13cmFwcGVyLWNsYXNzIHtcbiBcdFx0QG1peGluIGFzcGVjdC1yYXRpbyAkd2lkdGgsICRoZWlnaHQ7XG5cdFx0QG1peGluIGFzcGVjdC1yYXRpby1vYmplY3QgJG9iamVjdC1maXQsICRvYmplY3QtcG9zaXRpb247XG4gXHR9XG4gKlxuICogQG1hcmt1cFxuXHQ8ZWxlbWVudCBjbGFzcz1cImFzcGVjdC1yYXRpby13cmFwcGVyLWNsYXNzXCI+XG5cdFx0PGVtYmVkL2lmcmFtZS9pbWcvdmlkZW8+XG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuQGRlZmluZS1taXhpbiBhc3BlY3QtcmF0aW8gJHdpZHRoOiAxNiwgJGhlaWdodDogOSB7XG4gIGFzcGVjdC1yYXRpbzogJHdpZHRoIC8gJGhlaWdodDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMSAvIDEpIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlKTtcbiAgfVxufVxuXG4vKipcbiAqIFVzZSBmb3IgbW9kaWZpZXJzIG9mIGFzcGVjdCByYXRpbywgb25seSBjaGFuZ2luZyB0aGUgYXNwZWN0IHJhdGlvXG4gKi9cbkBkZWZpbmUtbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyICR3aWR0aDogMTYsICRoZWlnaHQ6IDkge1xuICBhc3BlY3QtcmF0aW86ICR3aWR0aCAvICRoZWlnaHQ7XG5cbiAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxIC8gMSkge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKCgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCUpO1xuICB9XG59XG5cbi8qKlxuICogU2V0IG9iamVjdC1maXQgb24gaW5uZXIgb2JqZWN0IChlbWJlZCwgaWZyYW1lLCBpbWcgb3IgdmlkZW8pXG4gKlxuICogcG9zc2libGUgJG9iamVjdC1maXQgdmFsdWVzOlxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL29iamVjdC1maXRcbiAqXG4gKiBwb3NzaWJsZSAkb2JqZWN0LXBvc2l0aW9uIHZhbHVlczpcbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9vYmplY3QtcG9zaXRpb25cbiAqXG4gKi9cblxuQGRlZmluZS1taXhpbiBhc3BlY3QtcmF0aW8tb2JqZWN0ICRvYmplY3QtZml0OiBjb3ZlciwgJG9iamVjdC1wb3NpdGlvbjogY2VudGVyIHtcbiAgZW1iZWQsXG4gIGlmcmFtZSxcbiAgaW1nLFxuICB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgb2JqZWN0LWZpdDogJG9iamVjdC1maXQ7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiAkb2JqZWN0LXBvc2l0aW9uO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyoqXG4gKiBEeW5hbWljIGFzcGVjdCByYXRpby4gU2FmZSB0ZWNuaXF1ZSBpZiBjb250ZW50IGlzIGhpZ2hlciB0aGFuIGFzcGVjdCByYXRpb1xuICogaGVpZ2h0LlxuICpcbiAqIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vYXNwZWN0LXJhdGlvLWJveGVzLyN0aGUtcHN1ZWRvLWVsZW1lbnQtdGFjdGljXG4gKlxuICogQGNzc1xuIFx0LmFzcGVjdC1yYXRpby13cmFwcGVyLWNsYXNzIHtcbiBcdFx0QG1peGluIGFzcGVjdC1yYXRpby1keW5hbWljICR3aWR0aCwgJGhlaWdodDtcblx0XHRAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdCAkb2JqZWN0LWZpdCwgJG9iamVjdC1wb3NpdGlvbjtcbiBcdH1cbiAqXG4gKiBAbWFya3VwXG5cdDxlbGVtZW50IGNsYXNzPVwiYXNwZWN0LXJhdGlvLXdyYXBwZXItY2xhc3NcIj5cblx0XHQ8ZW1iZWQvaWZyYW1lL2ltZy92aWRlbz5cblx0PC9lbGVtZW50PlxuICpcbiAqL1xuQGRlZmluZS1taXhpbiBhc3BlY3QtcmF0aW8tZHluYW1pYyAkd2lkdGg6IDE2LCAkaGVpZ2h0OiA5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJSk7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxuXG4gICY6OmFmdGVyIHsgLyogdG8gY2xlYXIgZmxvYXQgKi9cbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbkBkZWZpbmUtbWl4aW4gYXNwZWN0LXJhdGlvLWR5bmFtaWMtbW9kaWZpZXIgJHdpZHRoOiAxNiwgJGhlaWdodDogOSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJSk7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNaXhpbnMgLSBGb250IFNpemUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE1peGlucyBmb3IgZm9udC1zaXplcy5cbiAqL1xuXG5AZGVmaW5lLW1peGluIGZvbnQtc2l6ZS1taWNybyAkbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1pY3JvKSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1taWNybyk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG59XG5cbkBkZWZpbmUtbWl4aW4gZm9udC1zaXplLXRpbnkgJGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC10aW55KSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbn1cblxuQGRlZmluZS1taXhpbiBmb250LXNpemUtc21hbGwgJGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xufVxuXG5AZGVmaW5lLW1peGluIGZvbnQtc2l6ZS1zbWFsbHggJGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bWVkaXVtKSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbHgpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xufVxuXG5AZGVmaW5lLW1peGluIGZvbnQtc2l6ZS14bWVkaXVtICRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteG1lZGl1bSkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUteG1lZGl1bSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG59XG5cbkBkZWZpbmUtbWl4aW4gZm9udC1zaXplLW1lZGl1bSAkbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LW1lZGl1bSkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWVkaXVtKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbn1cblxuQGRlZmluZS1taXhpbiBmb250LXNpemUtbGFyZ2UgJGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sYXJnZSkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xufVxuXG5AZGVmaW5lLW1peGluIGZvbnQtc2l6ZS14bGFyZ2UtbW9iaWxlICRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxhcmdlKSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGFyZ2UtbW9iaWxlKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbn1cblxuQGRlZmluZS1taXhpbiBmb250LXNpemUteGxhcmdlICRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGxhcmdlKSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS14bGFyZ2UpO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xufVxuXG5AZGVmaW5lLW1peGluIGZvbnQtc2l6ZS1odWdlICRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaHVnZSkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaHVnZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG59XG5cbkBkZWZpbmUtbWl4aW4gZm9udC1zaXplLXhodWdlICRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteGh1Z2UpIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXhodWdlKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNaXhpbnMgLSBUeXBvZ3JhcGh5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0eXBvZ3JhcGh5ICdWZXJ5IHNpbXBsZScgc3VwcG9ydC5cbiAqXG4gKiBAY3NzXG4gXHQudHlwb2dyYXBoeS12ZXJ5LXNpbXBsZS1jbGFzcyB7XG4gXHRcdEBtaXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlO1xuIFx0fVxuICpcbiAqIEBtYXJrdXBcblx0PGVsZW1lbnQgY2xhc3M9XCJ0eXBvZ3JhcGh5LXZlcnktc2ltcGxlLWNsYXNzXCI+XG5cdFx0PHAvYS9zdHJvbmc+XG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuQGRlZmluZS1taXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlIHtcbiAgcCB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIGEge1xuICAgIEBtaXhpbiBsaW5rLXVuZGVybGluZTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZCB0eXBvZ3JhcGh5ICdGdWxsJyBzdXBwb3J0LlxuICpcbiAqIEBjc3NcbiBcdC50eXBvZ3JhcGh5LWZ1bGwtY2xhc3Mge1xuIFx0XHRAbWl4aW4gdHlwb2dyYXBoeS1mdWxsO1xuIFx0fVxuICpcbiAqIEBtYXJrdXBcblx0PGVsZW1lbnQgY2xhc3M9XCJ0eXBvZ3JhcGh5LWZ1bGwtY2xhc3NcIj5cblx0XHQ8aDEvcC91bC8uLi4+XG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuQGRlZmluZS1taXhpbiB0eXBvZ3JhcGh5LWZ1bGwge1xuICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5LXRleHQpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNyk7XG4gIH1cblxuICBhIHtcbiAgICBAbWl4aW4gbGluay11bmRlcmxpbmU7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9keS10ZXh0KTtcbiAgfVxuXG4gIHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG5cbiAgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIGRlbCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXhsYXJnZS1tb2JpbGU7XG5cbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cblx0XHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRcdEBtaXhpbiBmb250LXNpemUtbGFyZ2U7XG5cdFx0fVxuICB9XG5cbiAgaHIgKyB7XG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG4gICAgfVxuICB9XG5cbiAgcCxcbiAgdWwsXG4gIG9sLFxuICB0YWJsZSxcbiAgZmlndXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgICBAc3VwcG9ydHMgKCAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2ggKSB7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIH1cbiAgfVxuXG4gIGhyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcblxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcCk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC10aW55KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgYm90dG9tOiBjYWxjKCg1IC8gMTYpICogMWVtKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYygoNCAvIDE2KSAqIDFlbSk7XG4gICAgICB3aWR0aDogMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIGNpdGUge1xuICAgICAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblxuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0XCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwsXG4gIG9sIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9keS10ZXh0KTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuXG4gICAgPiB1bCxcbiAgICA+IG9sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMTM3NWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICA+IHVsLFxuICAgICAgPiBvbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG5cbiAgICAgICAgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsIHtcblx0XHRsaXN0LXN0eWxlOiBkaXNjO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIH1cbiAgfVxuXG4gIG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBvbDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICB9XG4gIH1cblxuICBmaWd1cmUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC50YWJsZS13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUsXG4gIC5hY2YtcHJldmlldyAmIC50YWJsZS13cmFwcGVyIHRhYmxlIHtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG4gICAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEzNzU7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVHlwb2dyYXBoeS1vZmZzZXQgY2FuIGJlIHVzZWQgdG8gYWxpZ25cbiAqIHRleHRzIGluIGRpZmZlcmVudCBzaXplcyB3aXRoIGVhY2hvdGhlci5cbiAqL1xuQGRlZmluZS1taXhpbiB0eXBvZ3JhcGh5LW9mZnNldCAkY291bnQ6IDIsICR2YWx1ZTogLTFlbSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoKCRjb3VudCAvIHZhcigtLXItbWF4LWZvbnQpKSAqICR2YWx1ZSk7XG59XG5cbkBkZWZpbmUtbWl4aW4gbGFiZWwge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBkZWZpbmUtbWl4aW4gbGFiZWwtd2hpdGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG5cbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0cGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG59XG5cbkBkZWZpbmUtbWl4aW4gbGFiZWwtcmVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IpO1xuXHRib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRwYWRkaW5nOiAwLjI1cmVtIDAuNXJlbTtcbn1cblxuQGRlZmluZS1taXhpbiBpdGFsaWMge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWl4aW5zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogV3JhcCBvdXRlciBjb250YWluZXJzICh3aWR0aCwgcGFkZGluZywgY2VudGVyKSAqL1xuQGRlZmluZS1taXhpbiBjb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IHZhcigtLWwtbWF4LXdpZHRoLWZ1bGwpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtY29udGFpbmVyKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBkZWZpbmUtbWl4aW4gY29udGFpbmVyLXdpZGUge1xuICBAbWl4aW4gY29udGFpbmVyO1xuXG4gIG1heC13aWR0aDogdmFyKC0tbC1tYXgtd2lkdGgtd2lkZSk7XG59XG5cbkBkZWZpbmUtbWl4aW4gY29udGFpbmVyLW5hcnJvdyB7XG4gIEBtaXhpbiBjb250YWluZXI7XG5cbiAgbWF4LXdpZHRoOiB2YXIoLS1sLW1heC13aWR0aC1uYXJyb3cpO1xufVxuXG4vKiBDYW4gYmUgdXNlZCBmb3Igc2VjdGlvbnMgb24gcGFnZXMsIGUuZy4gc3RhbmRhcmQgcGFkZGluZ3MgZm9yIGJsb2Nrcy4gKi9cbkBkZWZpbmUtbWl4aW4gc2VjdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbGFyZ2UpO1xuICB9XG59XG5cbi8qKlxuICogR3JpZCBtaXhpbnNcbiAqXG4gKiBAY3NzXG4gXHQuZ3JpZC1jbGFzcyB7XG4gXHRcdEBtaXhpbiBmbGV4LWdyaWQgJGFsaWduLCAkanVzdGlmeTtcbiBcdH1cbiBcdC5jb2wtY2xhc3Mge1xuIFx0XHRAbWl4aW4gZmxleC1jb2x1bW4gJGNvbCwgJGNvbHM7XG4gXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgJG9mZnNldCwgJGNvbHM7XG4gXHR9XG4gKlxuICogQG1hcmt1cFxuXHQ8ZWxlbWVudCBjbGFzcz1cImdyaWQtY2xhc3NcIj5cblx0XHQ8ZWxlbWVudCBjbGFzcz1cImNvbC1jbGFzc1wiPlxuXHRcdFx0W3RleHQgbm9kZV1cblx0XHQ8L2VsZW1lbnQ+XG5cdDwvZWxlbWVudD5cbiAqXG4gKi9cblxuLyoqXG4gKiBGbGV4IGdyaWQgbWl4aW4gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgZmxleGJveCBncmlkIHJhcGlkbHlcbiAqL1xuQGRlZmluZS1taXhpbiBmbGV4LWdyaWQgJGFsaWduOiBmbGV4LXN0YXJ0LCAkanVzdGlmeTogZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2FwLWdyaWQpIC8gMiAqIC0xKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcC1ncmlkKSAvIDIgKiAtMSk7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1nYXAtZ3JpZCkpO1xufVxuXG4vKipcbiAqIFVzZSB0aGUgZmxleC1jb2x1bW4gbWl4aW4gdG9nZXRoZXIgd2l0aCB0aGUgZmxleC1ncmlkIG1peGluIHRvIGJ1aWxkIHlvdXJcbiAqIGZsZXhib3ggZ3JpZCBzeXN0ZW1zXG4gKi9cbkBkZWZpbmUtbWl4aW4gZmxleC1jb2x1bW4gJGNvbDogMTIsICRjb2xzOiAxMiB7XG4gIGZsZXgtYmFzaXM6IGNhbGMoKCAxMDAgLyAoICRjb2xzIC8gJGNvbCApICkgKiAxJSk7XG4gIGZsZXgtZ3JvdzogMDtcbiAgbWF4LXdpZHRoOiBjYWxjKCggMTAwIC8gKCRjb2xzIC8gJGNvbCApICkgKiAxJSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1nYXAtZ3JpZCkgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXAtZ3JpZCkgLyAyKTtcbn1cblxuLyoqXG4gKiBVc2UgdGhlIGZsZXgtY29sdW1uLW9mZnNldCBtaXhpbiB0b2dldGhlciB3aXRoIHRoZSBmbGV4LWNvbHVtbiBtaXhpbiB0b1xuICogY3JlYXRlIG9mZnNldHMgKGV4dHJhIG1hcmdpbikgaW4gdGhlIGdyaWQuXG4gKlxuICogUGxlYXNlIG9ic2VydmUuIG1hcmdpbi1sZWZ0Ly1yaWdodDogYXV0byBjYW4gYWxzb1xuICogYmUgdXNlZCBvdXRzaWRlIHRoaXMgbWl4aW5zLlxuICovXG5AZGVmaW5lLW1peGluIGZsZXgtY29sdW1uLW9mZnNldCAkb2Zmc2V0OiAwLCAkY29sczogMTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygoMTAwIC8gKCRjb2xzIC8gJG9mZnNldCkpICogMSUpO1xufVxuXG4vKipcbiAqIFNldCB0aGUgdG9wIHBhZGRpbmcgZm9yIGFuIGVsZW1lbnQgdG8gYSBzcGVjaWZpZWQgdmFsdWUuXG4gKlxuICogVGhpcyBtaXhpbiBhdXRvbWF0aWNhbGx5IHJlbW92ZXMgdGhlIHRvcCBwYWRkaW5nXG4gKiBmcm9tIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIGdyb3VwLlxuICovXG5AZGVmaW5lLW1peGluIHBhZGRpbmctdG9wLWdyb3VwICRwYWRkaW5nOiB2YXIoLS1nYXApIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBTZXQgdGhlIGJvdHRvbSBwYWRkaW5nIGZvciBhbiBlbGVtZW50IHRvIGEgc3BlY2lmaWVkIHZhbHVlLlxuICpcbiAqIFRoaXMgbWl4aW4gYXV0b21hdGljYWxseSByZW1vdmVzIHRoZSBib3R0b20gcGFkZGluZ1xuICogZnJvbSB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBncm91cC5cbiAqL1xuQGRlZmluZS1taXhpbiBwYWRkaW5nLWJvdHRvbS1ncm91cCAkcGFkZGluZzogdmFyKC0tZ2FwKSB7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi8qKlxuICogU2V0IHBhZGRpbmctcmlnaHQgZm9yIGFuIGVsZW1lbnQgdG8gYSBzcGVjaWZpZWQgdmFsdWUuXG4gKlxuICogVGhpcyBtaXhpbiBhdXRvbWF0aWNhbGx5IHJlbW92ZXMgdGhlIHJpZ2h0IHBhZGRpbmdcbiAqIGZyb20gdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgZ3JvdXAuXG4gKi9cbkBkZWZpbmUtbWl4aW4gcGFkZGluZy1yaWdodC1ncm91cCAkcGFkZGluZzogdmFyKC0tZ2FwKSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4vKipcbiAqIFNldCB0aGUgYm90dG9tIG1hcmdpbiBmb3IgYW4gZWxlbWVudCB0byBhIHNwZWNpZmllZCB2YWx1ZS5cbiAqXG4gKiBUaGlzIG1peGluIGF1dG9tYXRpY2FsbHkgcmVtb3ZlcyB0aGUgYm90dG9tIG1hcmdpblxuICogZnJvbSB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBncm91cC5cbiAqL1xuQGRlZmluZS1taXhpbiBtYXJnaW4tYm90dG9tLWdyb3VwICRtYXJnaW46IHZhcigtLWdhcCkge1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKipcbiAqIFNldCBtYXJnaW4tcmlnaHQgZm9yIGFuIGVsZW1lbnQgdG8gYSBzcGVjaWZpZWQgdmFsdWUuXG4gKlxuICogVGhpcyBtaXhpbiBhdXRvbWF0aWNhbGx5IHJlbW92ZXMgdGhlIHJpZ2h0IG1hcmdpblxuICogZnJvbSB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBncm91cC5cbiAqL1xuQGRlZmluZS1taXhpbiBtYXJnaW4tcmlnaHQtZ3JvdXAgJG1hcmdpbjogdmFyKC0tZ2FwKSB7XG4gIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4vKipcbiAqIEFkZCB1bmRlcmxpbmUgdG8gYSBsaW5rLlxuICovXG5AZGVmaW5lLW1peGluIGxpbmstdW5kZXJsaW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQm94LXNpemluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogSW5oZXJpdCBib3gtc2l6aW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGNoYW5nZSB0aGUgcHJvcGVydHlcbiAqIGZvciBjb21wb25lbnRzIHRoYXQgbGV2ZXJhZ2Ugb3RoZXIgYmVoYXZpb3IuXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQnV0dG9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2lkdGg6IGF1dG87XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTGlua3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICAvKiBvcGFjaXR5OiAuNjsgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEdlbmVyaWMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjo6c2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItdGV4dCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuaW1nOjpzZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qKlxuICogTWFrZSBhbmNob3ItbGlua3Mgc21vb3RoIHNjcm9sbGluZyBpbiBtb2Rlcm4gYnJvd3NlcnNcbiAqXG4gKiBAY3JlZGl0IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9zY3JvbGwtYmVoYXZpb3IjQnJvd3Nlcl9jb21wYXRpYmlsaXR5XG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbmh0bWwge1xuXHQvKipcblx0ICogQWxzbywgc2V0IGRlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgaHRtbFxuXHQgKiAoaHR0cHM6Ly9tYXJ0aW53b2xmLm9yZy8yMDE4LzA2L29zeC1tb2phdmUtZGFyay1tb2RlKVxuXHQgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cdHdpZHRoOiAxMDB2dztcblxufVxuXG5ib2R5IHtcblx0bWFyZ2luOiAwO1xufVxuXG4ubC1tYWluIHtcblx0JiA+ICo6Zmlyc3QtY2hpbGQge1xuXHRcdC5zLXJpY2gtdGV4dCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogNCk7XG5cdFx0fVxuXHR9XG5cdG1pbi1oZWlnaHQ6IDcwdmg7XG5cblx0LnMtcGFnZS1oZWFkZXItZnVsbCB7XG5cdFx0bWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogLTIuMSk7XG5cblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIC0yLjI1KTtcblx0XHR9XG5cdH1cblxuXHQubC1wYWdlLWJyZWFkY3J1bWIgKyBkaXYge1xuXHRcdC5zLXBhZ2UtaGVhZGVyLWZ1bGwge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBTY29vcGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2NvcGVkIGNsYXNzIGZvciBzdGFuZGFyZCBjb250ZW50LiBUeXBpY2FsbHkgZnJvbSBXWVNJV1lHIG91dHB1dCBmcm9tIGFcbiAqIENNUy5cbiAqXG4gKiBAbWFya3VwXG4gXHQ8ZGl2IGNsYXNzPVwicy1zdGFuZGFyZC10eXBvZ3JhcGh5XCI+XG5cdFx0W0NNUyBPVVRQVVRdXG5cdDwvZGl2PlxuICpcbiAqL1xuXG4ucy1zdGFuZGFyZC10eXBvZ3JhcGh5IHtcbiAgQG1peGluIHR5cG9ncmFwaHktZnVsbDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBBY2NvcmRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDb21wb25lbnQgVmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAtLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWRhcmstZ3JheSwgI2UwZTBlMCk7XG4gIC0tYWNjb3JkaW9uLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQsICNmZmYpO1xuICAtLWFjY29yZGlvbi10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LCAjMDAwKTtcbiAgLS1hY2NvcmRpb24tcGFkZGluZzogdmFyKC0tZ2FwLXNtYWxsLCAxcmVtKTtcbiAgLS1hY2NvcmRpb24tdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi8qIENvbXBvbmVudCBCYXNlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWFjY29yZGlvbl9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblxuXHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hY2NvcmRpb24tYm9yZGVyLWNvbG9yKTtcblx0fVxufVxuXG4uYy1hY2NvcmRpb25fX3RpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWNjb3JkaW9uLWJhY2tncm91bmQpO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1hY2NvcmRpb24tdGV4dC1jb2xvcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYygwLjI1cmVtICogNSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKiA1KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1hY2NvcmRpb24tdHJhbnNpdGlvbik7XG4gIHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKiA0LjUpO1xuICBcdHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKiA0LjUpO1xuXHR9XG59XG5cbi5jLWFjY29yZGlvbl9fdGl0bGUtdGV4dCB7XG5cdEBtaXhpbiBmb250LXNpemUtc21hbGw7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xufVxuXG4uYy1hY2NvcmRpb25fX3RpdGxlLWljb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmb250LXNpemU6IDEuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1hY2NvcmRpb24tdHJhbnNpdGlvbik7XG59XG5cbi5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFjY29yZGlvbi1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xuXHRoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS1hY2NvcmRpb24tdHJhbnNpdGlvbiksIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zbG93KTtcbn1cblxuLmMtYWNjb3JkaW9uX19jb250ZW50LXRleHQge1xuIFx0QG1peGluIHR5cG9ncmFwaHktZnVsbDtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cbiAgLm1ldGFmaWVsZC1zaW5nbGVfbGluZV90ZXh0X2ZpZWxkLWFycmF5IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLm1ldGFmaWVsZC1zaW5nbGVfbGluZV90ZXh0X2ZpZWxkIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG5cbi5jLWFjY29yZGlvbl9fY29udGVudC10ZXh0LWNvbnRlbnQge1xuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG4gIH1cbn1cblxuLmMtYWNjb3JkaW9uX19jb250ZW50LXRleHQtY29udGVudCArIC5jLWFjY29yZGlvbl9fY29udGVudC1kZXRhaWxzLWxpc3Qge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLmMtYWNjb3JkaW9uX19jb250ZW50LWRldGFpbHMge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYy1hY2NvcmRpb25fX2NvbnRlbnQtZGV0YWlscy10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi5jLWFjY29yZGlvbl9fY29udGVudC1kZXRhaWxzLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuICB3aWR0aDogNjAlO1xufVxuXG4uYy1hY2NvcmRpb25fX2NvbnRlbnQtaW5uZXIge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLyogU3RhdGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBFeHBhbmRlZCBTdGF0ZSAqL1xuLmMtYWNjb3JkaW9uX19pdGVtW2RhdGEtc3RhdGU9J2V4cGFuZGVkJ10gLmMtYWNjb3JkaW9uX190aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWFjY29yZGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLmMtYWNjb3JkaW9uX19pdGVtW2RhdGEtc3RhdGU9J2V4cGFuZGVkJ10gLmMtYWNjb3JkaW9uX190aXRsZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLmMtYWNjb3JkaW9uX19pdGVtW2RhdGEtc3RhdGU9J2V4cGFuZGVkJ10gLmMtYWNjb3JkaW9uX19jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIENvbGxhcHNlZCBTdGF0ZSAqL1xuLmMtYWNjb3JkaW9uX19pdGVtW2RhdGEtc3RhdGU9J2NvbGxhcHNlZCddIC5jLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIERpc2FibGVkIFN0YXRlICovXG4uYy1hY2NvcmRpb25fX2l0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uYy1hY2NvcmRpb25fX2l0ZW1bZGF0YS1kaXNhYmxlZD0ndHJ1ZSddIC5jLWFjY29yZGlvbl9fdGl0bGUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIixudWxsLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBBbm5vdW5jZW1lbnQgQmFyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBhbm5vdW5jZW1lbnQtYmFyLlxuKi9cbjpyb290IHtcblx0LS1hbm5vdW5jZW1lbnQtYmFyLWNvbG9yOiAjZjRlOGUyO1xufVxuXG4ubC1zaXRlLWhlYWRlci1hbm5vdW5jZW1lbnQtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYW5ub3VuY2VtZW50LWJhci1jb2xvcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTc7XG59XG5cbi5jLWFubm91bmNlbWVudC1iYXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICB9XG59XG5cbi5jLWFubm91bmNlbWVudC1iYXJfX2lubmVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtYW5ub3VuY2VtZW50LXRleHQge1xuXHRAbWl4aW4gaXRhbGljO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2U7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBhIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiAwLjI1cmVtO1xuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLmMtYW5ub3VuY2VtZW50LWJhcl9fc2VsZWN0b3Ige1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLmMtYW5ub3VuY2VtZW50LWJhcl9fc2VsZWN0b3ItLWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmMtYW5ub3VuY2VtZW50LWJhcl9fc2VsZWN0b3ItLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmMtYW5ub3VuY2VtZW50LWJhcl9fY29udGVudCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG59XG5cbi5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3Ige1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbn1cblxuLmMtYW5ub3VuY2VtZW50LWJhci1zZWxlY3Rvcl9fYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuICBnYXA6IDAuMjVyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cblx0LmMtYW5ub3VuY2VtZW50LWJhci1zZWxlY3Rvci0tY3VycmVuY3kgJiB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xuXG5cdH1cblxuXHQuYy1tb2RhbC0tbmF2ICYge1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG59XG5cbi5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3JfX2ljb24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcblx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXG5cdHN2ZyB7XG4gICAgaGVpZ2h0OiAxZW07XG5cdFx0d2lkdGg6IDFlbTtcblx0fVxufVxuXG4uYy1hbm5vdW5jZW1lbnQtYmFyLXNlbGVjdG9yW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3JfX2ljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uYy1hbm5vdW5jZW1lbnQtYmFyLXNlbGVjdG9yX19kcm9wZG93biB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgZGlzcGxheTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IC0wLjc1cmVtO1xuICBtaW4td2lkdGg6IDhyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG5cdC5oYXMtc2Nyb2xsZWQgJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3ItLWN1cnJlbmN5ICYge1xuXHRcdG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuXHR9XG59XG5cbi5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3JfX2Ryb3Bkb3duLWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbiAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1ncmF5KTtcbiAgfVxufVxuXG4uYy1hbm5vdW5jZW1lbnQtYmFyLXNlbGVjdG9yLS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQnJlYWRjcnVtYiBDb21wb25lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHJlc3BvbnNpdmUgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uIGNvbXBvbmVudCB0aGF0IHByb3ZpZGVzIGhpZXJhcmNoaWNhbFxuICogbmF2aWdhdGlvbiBjb250ZXh0IGFjcm9zcyBkaWZmZXJlbnQgU2hvcGlmeSBwYWdlIHR5cGVzLlxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBVUkwtYmFzZWQgaGllcmFyY2h5IHBhcnNpbmcgZm9yIGNvbGxlY3Rpb25zIGFuZCBwcm9kdWN0c1xuICogLSBTZW1hbnRpYyBIVE1MIHdpdGggcHJvcGVyIG5hdmlnYXRpb24gbWFya3VwXG4gKiAtIFJlc3BvbnNpdmUgZGVzaWduIHdpdGggbW9iaWxlLWZpcnN0IGFwcHJvYWNoXG4gKiAtIENvbnNpc3RlbnQgc3R5bGluZyB3aXRoIGV4aXN0aW5nIHRoZW1lIHZhcmlhYmxlc1xuICogLSBBY2Nlc3NpYmxlIG5hdmlnYXRpb24gc3RydWN0dXJlXG4gKlxuICogQGNvbXBvbmVudCBCcmVhZGNydW1iXG4gKiBAdmVyc2lvbiAxLjAuMFxuICogQHNpbmNlIDEuMC4wXG4gKiBAc3RhdHVzIHN0YWJsZVxuICpcbiAqIEBleGFtcGxlXG4gKiA8bmF2IGNsYXNzPVwiYy1icmVhZGNydW1iXCIgYXJpYS1sYWJlbD1cIkJyZWFkY3J1bWJcIj5cbiAqICAgPG9sIGNsYXNzPVwiYy1icmVhZGNydW1iX19saXN0XCI+XG4gKiAgICAgPGxpIGNsYXNzPVwiYy1icmVhZGNydW1iX19pdGVtXCI+XG4gKiAgICAgICA8YSBocmVmPVwiL1wiIGNsYXNzPVwiYy1icmVhZGNydW1iX19saW5rXCI+U3RhcnQ8L2E+XG4gKiAgICAgPC9saT5cbiAqICAgICA8bGkgY2xhc3M9XCJjLWJyZWFkY3J1bWJfX2l0ZW1cIj5cbiAqICAgICAgIDxzcGFuIGNsYXNzPVwiYy1icmVhZGNydW1iX19jdXJyZW50XCI+Q3VycmVudCBQYWdlPC9zcGFuPlxuICogICAgIDwvbGk+XG4gKiAgIDwvb2w+XG4gKiA8L25hdj5cbiAqL1xuXG4vKiBDb21wb25lbnQgVmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnJlYWRjcnVtYiB7XG4gIC0tYy1icmVhZGNydW1iLXNwYWNpbmc6IHZhcigtLWdhcC1taWNybyk7XG4gIC0tYy1icmVhZGNydW1iLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuICAtLWMtYnJlYWRjcnVtYi1saW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG4gIC0tYy1icmVhZGNydW1iLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIC0tYy1icmVhZGNydW1iLWxpbmstY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgLS1jLWJyZWFkY3J1bWItY3VycmVudC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAtLWMtYnJlYWRjcnVtYi1zZXBhcmF0b3ItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgLS1jLWJyZWFkY3J1bWItaG92ZXItY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcblxufVxuXG4vKiBCYXNlIFN0eWxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IHZhcigtLWMtYnJlYWRjcnVtYi1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tYy1icmVhZGNydW1iLWxpbmUtaGVpZ2h0KTtcblx0cGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwLXRpbnkpKTtcblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwLXRpbnkpKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAxLjIpO1xuXHRcdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcC10aW55KSAqIDEuMik7XG5cdH1cbn1cblxuLmMtYnJlYWRjcnVtYl9fbGlzdCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1jLWJyZWFkY3J1bWItc3BhY2luZyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogQnJlYWRjcnVtYiBJdGVtc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuICBAbWl4aW4gZm9udC1zaXplLW1pY3JvO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYy1icmVhZGNydW1iLWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcblxuXHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR9XG59XG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW06bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDAuOHJlbTtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWMtYnJlYWRjcnVtYi1zcGFjaW5nKTtcblx0b3BhY2l0eTogMC41O1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXG5cdH1cbn1cblxuLyogTGlua3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1icmVhZGNydW1iX19saW5rIHtcbiAgY29sb3I6IHZhcigtLWMtYnJlYWRjcnVtYi1saW5rLWNvbG9yKTtcblx0bGluZS1oZWlnaHQ6IGluaGVyaXRlZDtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1xdWljayk7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpbms6aG92ZXIsXG4uYy1icmVhZGNydW1iX19saW5rOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLWMtYnJlYWRjcnVtYi1ob3Zlci1jb2xvcik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtYnJlYWRjcnVtYl9fbGluazpmb2N1cyB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogQ3VycmVudCBQYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtYnJlYWRjcnVtYl9faXRlbSAuYy1icmVhZGNydW1iX19jdXJyZW50IHtcbiAgY29sb3I6IHZhcigtLWMtYnJlYWRjcnVtYi1jdXJyZW50LWNvbG9yKTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cblx0Jjpob3Zlcjo6YWZ0ZXIsXG5cdCY6Zm9jdXM6OmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcblx0fVxufVxuXG4vKiBTdGF0ZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1icmVhZGNydW1iLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFJlc3BvbnNpdmUgRGVzaWduXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBNb2JpbGU6IFN0YWNrIGl0ZW1zIGlmIG5lZWRlZCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5jLWJyZWFkY3J1bWJfX2xpc3Qge1xuICAgIGdhcDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgfVxuXG4gIC5jLWJyZWFkY3J1bWJfX2l0ZW06bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtbWljcm8pO1xuICB9XG5cbiAgLyogVHJ1bmNhdGUgdmVyeSBsb25nIGJyZWFkY3J1bWIgaXRlbXMgb24gbW9iaWxlICovXG4gIC5jLWJyZWFkY3J1bWJfX2xpbmssXG4gIC5jLWJyZWFkY3J1bWJfX2N1cnJlbnQge1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5cbi8qIEFjY2Vzc2liaWxpdHkgSW1wcm92ZW1lbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLmMtYnJlYWRjcnVtYl9fbGluayB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gIC5jLWJyZWFkY3J1bWJfX2l0ZW06bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8qXG4gKiBCcm93c2VoYXBweSDigJMgdXNlZCBmb3Igb2xkZXIgYnJvd3NlcnMgdGhhdCBkb2Vzbid0IHN1cHBvcnQgbW9kZXJuIGZlYXR1cmVzLlxuICogSW5zZXJ0ZWQgaW4gd3BfZm9vdGVyIGhvb2tcbiAqL1xuXG4uYy1icm93c2VoYXBweSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGVmdDogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwMDtcblxuICAmIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICBAbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAgIC8qIElFMTAgJiBJRTExICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246YXV0bykgYW5kIChub3QgKC13ZWJraXQtbWFzazogdXJsKCkpKSB7XG4gICAgLyogRWRnZSAxNy0gaHR0cHM6Ly9icm93c2Vyc3RyYW5nZW5lc3MuZ2l0aHViLmlvL2Nzc19oYWNrcy5odG1sICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEJ1dHRvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQnV0dG9uIENvbXBvbmVudFxuICpcbiAqIEltcGxlbWVudHMgZm91ciBidXR0b24gdmFyaWFudHMgYXMgc3BlY2lmaWVkOlxuICogMS4gUHJpbWFyeTogdmFyKC0tY29sb3ItcHJpbWFyeSkgd2l0aCB3aGl0ZSBob3ZlclxuICogMi4gU2Vjb25kYXJ5OiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpIHdpdGggd2hpdGUgaG92ZXJcbiAqIDMuIFdoaXRlOiB2YXIoLS1jb2xvci13aGl0ZSkgd2l0aCBibGFjayBob3ZlclxuICogNC4gQmxhY2s6IHZhcigtLWNvbG9yLWJsYWNrKSB3aXRoIHdoaXRlIGhvdmVyXG4gKlxuICogRmVhdHVyZXM6XG4gKiAtIFVzZXMgc2NhbGUzZCB0cmFuc2Zvcm0gZm9yIGhvdmVyIGVmZmVjdHNcbiAqIC0gSW5kaXZpZHVhbCBwcm9wZXJ0eSB0cmFuc2l0aW9ucyBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlXG4gKiAtIERpc2FibGVkIHN0YXRlcyB1c2luZyB2YXIoLS1jb2xvci1zZWNvbmRhcnkpXG4gKiAtIE5vIHNpemUgdmFyaWF0aW9ucyBvciBzcGVjaWFsIGNhc2UgYnV0dG9uc1xuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1jLWJ1dHRvbi1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZWRpdW0pO1xuICAtLWMtYnV0dG9uLWxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZWRpdW0pO1xuICAtLWMtYnV0dG9uLXBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWMtYnV0dG9uLWZvbnQtc2l6ZSkgKiAwLjcyKTtcbiAgLS1jLWJ1dHRvbi1wYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1jLWJ1dHRvbi1mb250LXNpemUpICogMC43Mik7XG4gIC0tYy1idXR0b24tcGFkZGluZy1yaWdodC1sZWZ0OiBjYWxjKHZhcigtLWMtYnV0dG9uLWZvbnQtc2l6ZSkgKiAyKTtcbiAgLS1jLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwO1xuXHQtLWMtYnV0dG9uLWZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXG4gIC8qIENvbXBvbmVudC1zcGVjaWZpYyBjb2xvciBtYXBwaW5ncyAqL1xuICAtLWMtYnV0dG9uLWJnLXByaW1hcnk6IHRyYW5zcGFyZW50O1xuICAtLWMtYnV0dG9uLWJnLXNlY29uZGFyeTogdHJhbnNwYXJlbnQ7XG4gIC0tYy1idXR0b24tZGlzYWJsZWQ6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdC0tYy1idXR0b24tZm9udC1zaXplOiBjYWxjKCgyMCAvIDE2KSAqIDFyZW0pO1xuXHR9XG59XG5cbi8qIEJhc2UgQnV0dG9uICovXG4uYy1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJ1dHRvbi1iZy1wcmltYXJ5KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1jLWJ1dHRvbi1mb250LWZhbWlseSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYy1idXR0b24tZm9udC1zaXplKTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogdmFyKC0tYy1idXR0b24tbGluZS1oZWlnaHQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tYy1idXR0b24tcGFkZGluZy1ib3R0b20pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWMtYnV0dG9uLXBhZGRpbmctcmlnaHQtbGVmdCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWMtYnV0dG9uLXBhZGRpbmctcmlnaHQtbGVmdCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1jLWJ1dHRvbi1wYWRkaW5nLXRvcCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuICAgIGNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuICAgIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKSxcbiAgICBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpkaXNhYmxlZCxcbiAgJi5pcy1kaXNhYmxlZCxcbiAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1idXR0b24tZGlzYWJsZWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1idXR0b24tZGlzYWJsZWQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLyogU2Vjb25kYXJ5IEJ1dHRvbiAqL1xuLmMtYnV0dG9uLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJ1dHRvbi1iZy1zZWNvbmRhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxufVxuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ2FyZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgY2FyZC5cbiAqL1xuXG4uYy1jYXJkIHtcbiAgQG1peGluIGFzcGVjdC1yYXRpby1vYmplY3QgY292ZXI7XG4gIEBtaXhpbiBhc3BlY3QtcmF0aW8gMywgNDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWJsb2NrKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1lZGl1bSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgdmFyKC0tY29sb3ItYmxhY2spLCB0cmFuc3BhcmVudCk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA3MCU7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGFzcGVjdC1yYXRpbyA1LCA2O1xuICB9XG59XG5cbi5jLWNhcmRfX2lubmVyIHtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwLW1lZGl1bSkgKyB2YXIoLS1nYXAtbWljcm8pKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcblxuICBAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1iYXNlbGluZS11bml0KSAqIDE0KTtcbiAgfVxufVxuXG4uYy1jYXJkX19tZWRpYSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBpbWcge1xuICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDFzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmMtY2FyZDpob3ZlciAmIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzMjUpO1xuICB9XG59XG5cbi5jLWNhcmRfX2NvbnRlbnQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYy1jYXJkX19sYWJlbCB7XG4gIEBtaXhpbiBsYWJlbDtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuICBAbWl4aW4gcGFkZGluZy1ib3R0b20tZ3JvdXAgdmFyKC0tZ2FwLW1pY3JvKTtcblxuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7XG59XG5cbi5jLWNhcmRfX2ludHJvIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcbiAgQG1peGluIHBhZGRpbmctYm90dG9tLWdyb3VwIHZhcigtLWdhcC1zbWFsbCk7XG5cbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBDYXJ0IEl0ZW0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgY2FydCBpdGVtLlxuICogVXNlcyB0aGUgY29sb3Igc3lzdGVtIHZhcmlhYmxlcyBmb3IgY29uc2lzdGVudCB0aGVtaW5nOlxuICogLSBUZXh0OiAtLWNvbG9yLXRleHRcbiAqIC0gQm9yZGVyczogLS1jb2xvci1ib3JkZXJcbiAqIC0gQmFja2dyb3VuZDogLS1jb2xvci1iYWNrZ3JvdW5kXG4gKi9cblxuLyogQ29tcG9uZW50LXNwZWNpZmljIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuICAtLWMtY2FydC1pdGVtLXRleHQ6IHZhcigtLWNvbG9yLXRleHQpO1xuICAtLWMtY2FydC1pdGVtLWJvcmRlcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgLS1jLWNhcnQtaXRlbS1iZzogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbi5jLWNhcnQtaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLWNhcnQtaXRlbS1ib3JkZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG59XG5cbi5jLWNhcnQtaXRlbV9faGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jLWNhcnQtaXRlbV9fdGh1bWJuYWlsIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmMtY2FydC1pdGVtX19kZXRhaWxzIHtcbiAgZmxleC1ncm93OiAxO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi5jLWNhcnQtaXRlbV9fdmVuZG9yIHtcbiAgQG1peGluIGxhYmVsO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWJhc2VsaW5lLXVuaXQpO1xufVxuXG4uYy1jYXJ0LWl0ZW1fX2luZm8ge1xuXG5cdG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5jLWNhcnQtaXRlbV9fdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnkgMS4xMjU7XG5cbiAgY29sb3I6IHZhcigtLWMtY2FydC1pdGVtLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5jLWNhcnQtaXRlbV9faW5mby1pdGVtIHtcblx0QG1peGluIGZvbnQtc2l6ZS1taWNybyAxLjEyNTtcblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwLW1pY3JvKSAvIDIpO1xuXG5cdHNwYW4ge1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0fVxuXG5cdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLmMtY2FydC1pdGVtX19zaXplLFxuLmMtY2FydC1pdGVtX19tYXRlcmlhbCxcbi5jLWNhcnQtaXRlbV9fY29sb3Ige1xuXHRAbWl4aW4gZm9udC1zaXplLW1pY3JvIDEuMTI1O1xuXHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXAtbWljcm8pIC8gMik7XG59XG5cbi5jLWNhcnQtaXRlbS1tb2RhbF9fcXVhbnRpdHkge1xuICBjb2xvcjogdmFyKC0tYy1jYXJ0LWl0ZW0tdGV4dCk7XG59XG5cbi5jLWNhcnQtaXRlbV9fcHJpY2Uge1xuICBAbWl4aW4gbGFiZWw7XG4gIGNvbG9yOiB2YXIoLS1jLWNhcnQtaXRlbS10ZXh0KTtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLWNhcnQtaXRlbV9fcmVtb3ZlIGJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1jLWNhcnQtaXRlbS10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXHRmb250LXNpemU6IDEuM3JlbTtcblxuXHQuYy1pY29uIHtcblx0XHRzdHJva2U6IG5vbmU7XG5cdH1cbn1cblxuLmMtY2FydC1pdGVtX19mb290ZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmMtY2FydC1pdGVtX19xdWFudGl0eS13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1jYXJ0LWl0ZW0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHdpZHRoOiA3NXB4O1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtY2FydC1pdGVtLWJnKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgXHRoZWlnaHQ6IDQycHg7XG5cdFx0d2lkdGg6IDEwMHB4O1xuXHR9XG59XG5cbi5jLWNhcnQtaXRlbV9fcXVhbnRpdHktdXBkYXRlIHtcbiAgY29sb3I6IHZhcigtLWMtY2FydC1pdGVtLXRleHQpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5cblx0LmMtaWNvbiB7XG5cdFx0c3Ryb2tlOiBjdXJyZW50Q29sb3I7XG5cdH1cbn1cblxuLmMtY2FydC1pdGVtX19xdWFudGl0eS11cGRhdGUtLW1pbnVzIHtcbiAgY29sb3I6IHZhcigtLWMtY2FydC1pdGVtLXRleHQpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwLXRpbnkpICogMC43NSk7XG59XG5cbi5jLWNhcnQtaXRlbV9fcXVhbnRpdHktdXBkYXRlLS1wbHVzIHtcbiAgY29sb3I6IHZhcigtLWMtY2FydC1pdGVtLXRleHQpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcC10aW55KSAqIDAuNzUpO1xufVxuIiwiXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ2FydCBUYWJsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIGNhcnQgdGFibGUuXG4gKi9cblxuLmMtY2FydC10YWJsZSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG59XG4iLCIuYy1jYXJ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtY2FydF9fZW1wdHktdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLWxhcmdlO1xuXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWNhcnRfX2VtcHR5LWFjdGlvbnMge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG5cbiAgLmMtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jLWJ1dHRvbl9fbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbG9yIFBpY2tlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29sb3IgUGlja2VyIENvbXBvbmVudFxuICpcbiAqIERFU0lHTiBSQVRJT05BTEU6XG4gKiAtIEV4dGVuZHMgZXhpc3RpbmcgdmFyaWFudC1zZWxlY3RvciBwYXR0ZXJucyBmb3IgY29uc2lzdGVuY3lcbiAqIC0gVXNlcyBjaXJjdWxhciBzd2F0Y2hlcyB3aXRoIGJsYWNrIGJvcmRlcnMgZm9yIGFjdGl2ZS9ob3ZlciBzdGF0ZXNcbiAqIC0gSW1wbGVtZW50cyBkeW5hbWljIGNvbG9yIG5hbWUgZGlzcGxheSBhcyBzaG93biBpbiBkZXNpZ25cbiAqIC0gUHJvdmlkZXMgZmFsbGJhY2sgZm9yIGNvbG9ycyBub3QgZGVmaW5lZCBpbiB0aGVtZSBzZXR0aW5nc1xuICpcbiAqIFVTQUdFOlxuICogLSBVc2VkIGluIHByb2R1Y3QgaW5mb3JtYXRpb24gc2VjdGlvbnMgZm9yIHNhbWUtU0tVIHByb2R1Y3QgbmF2aWdhdGlvblxuICogLSBEaXNwbGF5cyBjb2xvciBzd2F0Y2hlcyB0aGF0IGxpbmsgdG8gZGlmZmVyZW50IHByb2R1Y3QgdmFyaWFudHNcbiAqIC0gU2hvd3MgZHluYW1pYyBjb2xvciBuYW1lIHVwZGF0ZXMgb24gaG92ZXIgYW5kIHNlbGVjdGlvblxuICpcbiAqIE1BUktVUCBTVFJVQ1RVUkU6XG4gKiAuYy1jb2xvci1waWNrZXJcbiAqICAgLmMtY29sb3ItcGlja2VyX19sYWJlbFxuICogICAgIC5jLWNvbG9yLXBpY2tlcl9fbGFiZWwtdGV4dFxuICogICAgIC5jLWNvbG9yLXBpY2tlcl9fc2VsZWN0ZWQtY29sb3JcbiAqICAgLmMtY29sb3ItcGlja2VyX19zd2F0Y2hlc1xuICogICAgIC5jLWNvbG9yLXBpY2tlcl9fc3dhdGNoLWNvbnRhaW5lclxuICogICAgICAgLmMtY29sb3ItcGlja2VyX19zd2F0Y2hcbiAqICAgICAgICAgLmMtY29sb3ItcGlja2VyX19zd2F0Y2gtY29sb3JcbiAqL1xuXG4vKiBDb21wb25lbnQtc3BlY2lmaWMgdmFyaWFibGVzICovXG46cm9vdCB7XG4gIC0tYy1jb2xvci1waWNrZXItc3dhdGNoLXNpemU6IDI0cHg7XG4gIC0tYy1jb2xvci1waWNrZXItc3dhdGNoLWJvcmRlcjogMXB4O1xuICAtLWMtY29sb3ItcGlja2VyLWdhcDogY2FsYygwLjI1cmVtICogMyk7XG4gIC0tYy1jb2xvci1waWNrZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tYy1jb2xvci1waWNrZXItYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYy1jb2xvci1waWNrZXIge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcblxuICAmLmMtY29sb3ItcGlja2VyLS1jb21wYWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgfVxufVxuXG4uYy1jb2xvci1waWNrZXJfX2xhYmVsIHtcbiAgQG1peGluIGxhYmVsO1xuICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjI1ZW07XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWljcm8pO1xuXHR9XG59XG5cbi5jLWNvbG9yLXBpY2tlcl9fbGFiZWwtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtY29sb3ItcGlja2VyX19zZWxlY3RlZC1jb2xvciB7XG4gIEBtaXhpbiBpdGFsaWM7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5jLWNvbG9yLXBpY2tlcl9fc3dhdGNoZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tYy1jb2xvci1waWNrZXItZ2FwKTtcbn1cblxuLmMtY29sb3ItcGlja2VyX19zd2F0Y2gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1jb2xvci1waWNrZXJfX3N3YXRjaCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogdmFyKC0tYy1jb2xvci1waWNrZXItc3dhdGNoLXNpemUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xuICB3aWR0aDogdmFyKC0tYy1jb2xvci1waWNrZXItc3dhdGNoLXNpemUpO1xuXG4gIC8qIERlZmF1bHQgc3RhdGUgLSBubyBib3JkZXIgKi9cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXI6IHZhcigtLWMtY29sb3ItcGlja2VyLXN3YXRjaC1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWMtY29sb3ItcGlja2VyLXN3YXRjaC1ib3JkZXIpIC0gMnB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tYy1jb2xvci1waWNrZXItc3dhdGNoLWJvcmRlcikgLSAycHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYygtMSAqIHZhcigtLWMtY29sb3ItcGlja2VyLXN3YXRjaC1ib3JkZXIpIC0gMnB4KTtcbiAgICB0b3A6IGNhbGMoLTEgKiB2YXIoLS1jLWNvbG9yLXBpY2tlci1zd2F0Y2gtYm9yZGVyKSAtIDJweCk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLyogSG92ZXIgc3RhdGUgLSBzaG93IGJsYWNrIGJvcmRlciAqL1xuICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1jb2xvci1waWNrZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8qIEFjdGl2ZSBzdGF0ZSAtIGN1cnJlbnQgcHJvZHVjdCAqL1xuICAmLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWMtY29sb3ItcGlja2VyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvKiBGb2N1cyBzdGF0ZSBmb3IgYWNjZXNzaWJpbGl0eSAqL1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG4uYy1jb2xvci1waWNrZXJfX3N3YXRjaC1jb2xvciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWMtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8qIEZhbGxiYWNrIGZvciBjb2xvcnMgd2l0aG91dCBoZXggdmFsdWVzICovXG4gICYuYy1jb2xvci1waWNrZXJfX3N3YXRjaC1jb2xvci0tZmFsbGJhY2sge1xuICAgIEBtaXhpbiBmb250LXNpemUtdGlueTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgICAtNDVkZWcsXG4gICAgICAjZmZmLFxuICAgICAgI2ZmZiA0cHgsXG4gICAgICB2YXIoLS1jb2xvci1ibGFjaykgNHB4LFxuICAgICAgdmFyKC0tY29sb3ItYmxhY2spIDhweFxuICAgICk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmstZ3JheSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAtIHJlbW92ZWQgZm9yIGJyb3dzZXIgY29tcGF0aWJpbGl0eSAqL1xuXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYy1jb2xvci1waWNrZXJfX3N3YXRjaCxcbiAgLmMtY29sb3ItcGlja2VyX19zd2F0Y2g6OmJlZm9yZSxcbiAgLmMtY29sb3ItcGlja2VyX19zZWxlY3RlZC1jb2xvciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbG9yIFRhZyBGaWx0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb2xvciBUYWcgRmlsdGVyIENvbXBvbmVudFxuICpcbiAqIERFU0lHTiBSQVRJT05BTEU6XG4gKiAtIFByb3ZpZGVzIHZpc3VhbCBjb2xvciBmaWx0ZXJpbmcgZm9yIGNvbGxlY3Rpb24gcGFnZXNcbiAqIC0gU3VwcG9ydHMgYm90aCBpbmRpdmlkdWFsIGNvbG9ycyBhbmQgZ3JvdXBlZCBjb2xvciBmYW1pbGllc1xuICogLSBJbnRlZ3JhdGVzIHdpdGggZXhpc3RpbmcgY29sb3IgcGlja2VyIHN5c3RlbSBmb3IgY29uc2lzdGVuY3lcbiAqIC0gVXNlcyBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgY2xlYXIgdXNlciBmZWVkYmFja1xuICpcbiAqIFVTQUdFOlxuICogLSBVc2VkIG9uIGNvbGxlY3Rpb24gcGFnZXMgdG8gZmlsdGVyIHByb2R1Y3RzIGJ5IGNvbG9yXG4gKiAtIExldmVyYWdlcyBjb2xvciBtYXBwaW5nIG1ldGFvYmplY3QgZGF0YVxuICogLSBKYXZhU2NyaXB0LXBvd2VyZWQgZmlsdGVyaW5nIGZvciBpbW1lZGlhdGUgcmVzcG9uc2VcbiAqXG4gKiBNQVJLVVAgU1RSVUNUVVJFOlxuICogLnMtY29sb3ItdGFnLWZpbHRlclxuICogICAucy1jb2xvci10YWctZmlsdGVyX19pbm5lclxuICogICAgIC5zLWNvbG9yLXRhZy1maWx0ZXJfX2hlYWRlclxuICogICAgICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fdGl0bGVcbiAqICAgICAgIC5zLWNvbG9yLXRhZy1maWx0ZXJfX2NsZWFyXG4gKiAgICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoZXNcbiAqICAgICAgIC5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1jb250YWluZXJcbiAqICAgICAgICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoXG4gKiAgICAgICAgICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoLWNvbG9yKHMpXG4gKiAgICAgICAgICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoLWxhYmVsXG4gKiAgICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fcmVzdWx0c1xuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1zLWNvbG9yLXRhZy1maWx0ZXItc3dhdGNoLXNpemU6IDMycHg7XG4gIC0tcy1jb2xvci10YWctZmlsdGVyLXN3YXRjaC1nYXA6IDFyZW07XG4gIC0tcy1jb2xvci10YWctZmlsdGVyLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLS1zLWNvbG9yLXRhZy1maWx0ZXItYm9yZGVyLXdpZHRoOiAycHg7XG4gIC0tcy1jb2xvci10YWctZmlsdGVyLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLXMtY29sb3ItdGFnLWZpbHRlci1sYWJlbC1nYXA6IDAuNXJlbTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgLS1zLWNvbG9yLXRhZy1maWx0ZXItc3dhdGNoLXNpemU6IDQwcHg7XG4gICAgLS1zLWNvbG9yLXRhZy1maWx0ZXItc3dhdGNoLWdhcDogMS4yNXJlbTtcbiAgfVxufVxuXG4vKiBNYWluIGNvbnRhaW5lciAqL1xuLnMtY29sb3ItdGFnLWZpbHRlciB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuICB9XG59XG5cbi5zLWNvbG9yLXRhZy1maWx0ZXJfX2lubmVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogdmFyKC0tcGFnZS13aWR0aCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgfVxufVxuXG4vKiBIZWFkZXIgc2VjdGlvbiAqL1xuLnMtY29sb3ItdGFnLWZpbHRlcl9faGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgfVxufVxuXG4ucy1jb2xvci10YWctZmlsdGVyX190aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luOiAwO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcbiAgfVxufVxuXG4ucy1jb2xvci10YWctZmlsdGVyX19jbGVhciB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC1taWNybykgdmFyKC0tZ2FwLXNtYWxsKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG4vKiBTd2F0Y2hlcyBjb250YWluZXIgKi9cbi5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaGVzIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItc3dhdGNoLWdhcCk7XG59XG5cbi5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXMtY29sb3ItdGFnLWZpbHRlci1sYWJlbC1nYXApO1xufVxuXG4vKiBJbmRpdmlkdWFsIHN3YXRjaCBzdHlsZXMgKi9cbi5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXMtY29sb3ItdGFnLWZpbHRlci1sYWJlbC1nYXApO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICB9XG5cbiAgLyogQWN0aXZlIHN0YXRlICovXG4gICYuaXMtYWN0aXZlIHtcbiAgICAucy1jb2xvci10YWctZmlsdGVyX19zd2F0Y2gtY29sb3IsXG4gICAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoLWNvbG9ycyAucy1jb2xvci10YWctZmlsdGVyX19zd2F0Y2gtY29sb3Ige1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucy1jb2xvci10YWctZmlsdGVyX19zd2F0Y2gtbGFiZWwge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB9XG4gIH1cbn1cblxuLyogSW5kaXZpZHVhbCBjb2xvciBjaXJjbGUgKi9cbi5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1jb2xvciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXMtY29sb3ItdGFnLWZpbHRlci1ib3JkZXItcmFkaXVzKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogdmFyKC0tcy1jb2xvci10YWctZmlsdGVyLXN3YXRjaC1zaXplKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogdmFyKC0tcy1jb2xvci10YWctZmlsdGVyLXN3YXRjaC1zaXplKTtcblxuICAvKiBCb3JkZXIgZWZmZWN0IHVzaW5nIDo6YmVmb3JlICovXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiB2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItYm9yZGVyLXdpZHRoKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItYm9yZGVyLXJhZGl1cyk7XG4gICAgYm90dG9tOiBjYWxjKC0xICogdmFyKC0tcy1jb2xvci10YWctZmlsdGVyLWJvcmRlci13aWR0aCkpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItYm9yZGVyLXdpZHRoKSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tcy1jb2xvci10YWctZmlsdGVyLWJvcmRlci13aWR0aCkpO1xuICAgIHRvcDogY2FsYygtMSAqIHZhcigtLXMtY29sb3ItdGFnLWZpbHRlci1ib3JkZXItd2lkdGgpKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG4gIH1cblxuICAvKiBIb3ZlciBib3JkZXIgKi9cbiAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoOmhvdmVyICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuXG4vKiBHcm91cGVkIGNvbG9yIHN3YXRjaGVzICovXG4ucy1jb2xvci10YWctZmlsdGVyX19zd2F0Y2gtLWdyb3VwZWQge1xuICAucy1jb2xvci10YWctZmlsdGVyX19zd2F0Y2gtY29sb3JzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1jb2xvciB7XG4gICAgLyogU21hbGxlciBzaXplIGZvciBncm91cGVkIGNvbG9ycyAqL1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItc3dhdGNoLXNpemUpICogMC44KTtcblxuICAgIC8qIE92ZXJsYXAgZ3JvdXBlZCBjb2xvcnMgc2xpZ2h0bHkgKi9cbiAgICBtYXJnaW4tbGVmdDogLTRweDtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zLWNvbG9yLXRhZy1maWx0ZXItc3dhdGNoLXNpemUpICogMC44KTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgICAvKiBMZXNzIG92ZXJsYXAgb24gbGFyZ2VyIHNjcmVlbnMgKi9cbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIENvbG9yIGxhYmVscyAqL1xuLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoLWxhYmVsIHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFyay1ncmF5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbiksIGZvbnQtd2VpZ2h0IHZhcigtLXRyYW5zaXRpb24pO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICB9XG59XG5cbi8qIFJlc3VsdHMgc2VjdGlvbiAqL1xuLnMtY29sb3ItdGFnLWZpbHRlcl9fcmVzdWx0cyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLnMtY29sb3ItdGFnLWZpbHRlcl9fcmVzdWx0cy10ZXh0IHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFyay1ncmF5KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICB9XG59XG5cbi8qIExvYWRpbmcgYW5kIGRpc2FibGVkIHN0YXRlcyAqL1xuLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoLmlzLWxvYWRpbmcge1xuICBjdXJzb3I6IHdhaXQ7XG4gIG9wYWNpdHk6IDAuNjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaDpkaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuLyogQW5pbWF0aW9uIGZvciBmaWx0ZXJpbmcgKi9cbi5zLWNvbG9yLXRhZy1maWx0ZXIge1xuICAucy1tYWluLXByb2R1Y3QtZ3JpZF9faXRlbSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIH1cblxuICAucy1tYWluLXByb2R1Y3QtZ3JpZF9faXRlbS5pcy1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgfVxufVxuXG4vKiBSZXNwb25zaXZlIGFkanVzdG1lbnRzICovXG5AbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoZXMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbkBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoZXMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gIC5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1jb2xvcjo6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgfVxuXG4gIC5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG59XG5cbi8qIFJlZHVjZWQgbW90aW9uIHN1cHBvcnQgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaCxcbiAgLnMtY29sb3ItdGFnLWZpbHRlcl9fc3dhdGNoLWNvbG9yOjpiZWZvcmUsXG4gIC5zLWNvbG9yLXRhZy1maWx0ZXJfX3N3YXRjaC1sYWJlbCxcbiAgLnMtbWFpbi1wcm9kdWN0LWdyaWRfX2l0ZW0ge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAucy1jb2xvci10YWctZmlsdGVyX19zd2F0Y2g6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ29vcmRpbmF0ZWQgU2VsZWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb29yZGluYXRlZCBsYW5ndWFnZS1jdXJyZW5jeSBzZWxlY3RvciBjb21wb25lbnQgZm9yIGFubm91bmNlbWVudCBiYXJcbiAqIElkZW50aWNhbCBzdHlsaW5nIHRvIGFubm91bmNlbWVudC1iYXItc2VsZWN0b3IgYnV0IHdpdGggc2VwYXJhdGUgY2xhc3Nlc1xuICovXG5cbi5jLWNvb3JkaW5hdGVkLXNlbGVjdG9yIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtY29vcmRpbmF0ZWQtc2VsZWN0b3JfX2J1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbiAgZ2FwOiAwLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIC5jLWNvb3JkaW5hdGVkLXNlbGVjdG9yLS1jdXJyZW5jeSAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIH1cblxuXHQuYy1tb2JpbGUtbWVudS1zZWxlY3RvcnNfX2lubmVyICYge1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0fVxufVxuXG4uYy1jb29yZGluYXRlZC1zZWxlY3Rvcl9fY3VycmVudCB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGdhcDogMC41cmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1jb29yZGluYXRlZC1zZWxlY3Rvcl9fZmxhZyB7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0aGVpZ2h0OiAxcmVtO1xuXHRtYXJnaW4tdG9wOiAwLjFyZW07XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR3aWR0aDogYXV0bztcblxuXHQvKiBGYWxsYmFjayBoYW5kbGluZyBmb3IgbWlzc2luZyBmbGFncyAqL1xuXHQmOm5vdChbc3JjXSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQvKiBIaWRlIGJyb2tlbiBpbWFnZXMgKi9cblx0JlthbHRdOjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0fVxufVxuXG4uYy1jb29yZGluYXRlZC1zZWxlY3Rvcl9faWNvbiB7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKTtcblxuICBzdmcge1xuICAgIGhlaWdodDogMWVtO1xuICAgIHdpZHRoOiAxZW07XG4gIH1cbn1cblxuLmMtY29vcmRpbmF0ZWQtc2VsZWN0b3JfX2J1dHRvblthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSArIC5jLWNvb3JkaW5hdGVkLXNlbGVjdG9yX19kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jb29yZGluYXRlZC1zZWxlY3Rvcl9fYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIC5jLWNvb3JkaW5hdGVkLXNlbGVjdG9yX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLmMtY29vcmRpbmF0ZWQtc2VsZWN0b3JfX2Ryb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG4gIG1pbi13aWR0aDogOHJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEuMjVyZW07XG4gIHotaW5kZXg6IDEwMDtcblxuICAmOm5vdChbaGlkZGVuXSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmhhcy1zY3JvbGxlZCAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmMtY29vcmRpbmF0ZWQtc2VsZWN0b3ItLWN1cnJlbmN5ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICB9XG59XG5cbi5jLWNvb3JkaW5hdGVkLXNlbGVjdG9yX19kcm9wZG93bi1pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuICBnYXA6IDAuNXJlbTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgcGFkZGluZzogMC43NXJlbSAwLjc1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZ3JheSk7XG4gIH1cblxuICAvKiBIaWRlIGN1cnJlbmN5IG9wdGlvbnMgYmFzZWQgb24gbGFuZ3VhZ2UgY29vcmRpbmF0aW9uICovXG4gICZbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIERpc2FibGVkIHN0YXRlIHdoZW4gb25seSBvbmUgY3VycmVuY3kgYXZhaWxhYmxlICovXG4uYy1jb29yZGluYXRlZC1zZWxlY3Rvci0tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5jLWNvb3JkaW5hdGVkLXNlbGVjdG9yX19idXR0b24ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBDb3VudHJ5IFNlbGVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBjb3VudHJ5LXNlbGVjdG9yLlxuICovXG5cbi5jLWNvdW50cnktc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1jb3VudHJ5LXNlbGVjdG9yIGxvY2FsaXphdGlvbi1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLyogQG1peGluIHBhZGRpbmctYm90dG9tIHZhcigtLWdhcC1taWNybyk7ICovXG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgLyogQG1peGluIHBhZGRpbmctcmlnaHQgdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHRAbWl4aW4gcGFkZGluZy1ib3R0b20gMDsgKi9cbiAgfVxufVxuXG4uYy1jb3VudHJ5LXNlbGVjdG9yX19sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtY291bnRyeS1zZWxlY3Rvcl9fYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbGFyZ2UpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYy1jb3VudHJ5LXNlbGVjdG9yX19pY29uIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxcmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uYy1jb3VudHJ5LXNlbGVjdG9yX19saXN0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1mb290ZXIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogLTFyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB0cmFuc2l0aW9uOlxuICAgIGhlaWdodCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG4gICAgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYy1jb3VudHJ5LXNlbGVjdG9yX19saXN0LWl0ZW0ge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmMtY291bnRyeS1zZWxlY3Rvcl9fbGluayB7XG4gICYuaXMtYWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIERyb3Bkb3duICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIGRyb3Bkb3duIG1lbnVzXG4gKiBVc2VzIHRoZSBjb2xvciBzeXN0ZW0gdmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHRoZW1pbmc6XG4gKiAtIEJhY2tncm91bmQ6IC0tY29sb3ItYmFja2dyb3VuZFxuICogLSBUZXh0OiAtLWNvbG9yLXRleHRcbiAqIC0gQm9yZGVyczogLS1jb2xvci1ib3JkZXJcbiAqL1xuXG4vKiBDb21wb25lbnQtc3BlY2lmaWMgdmFyaWFibGVzICovXG46cm9vdCB7XG4gIC0tYy1kcm9wZG93bi1iZzogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC0tYy1kcm9wZG93bi10ZXh0OiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgLS1jLWRyb3Bkb3duLWJvcmRlcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgLS1jLWRyb3Bkb3duLWFjdGl2ZS10ZXh0OiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5jLWRyb3Bkb3duIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWRyb3Bkb3duLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtZHJvcGRvd24tYm9yZGVyKTtcbiAgbGVmdDogMDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAyNCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpICsgKHZhcigtLWdhcCkgLyAyKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuXG4gICYuYWN0aXZlLWRyb3Bkb3duIHtcbiAgICBjb2xvcjogdmFyKC0tYy1kcm9wZG93bi1hY3RpdmUtdGV4dCk7XG4gIH1cbn1cblxuLmMtZHJvcGRvd25fX2dyaWQge1xuICBAbWl4aW4gZmxleC1ncmlkIHN0cmV0Y2g7XG5cbiAgdHJhbnNpdGlvbjogcGFkZGluZy10b3AgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5sLXNpdGUtaGVhZGVyLWFubm91bmNlbWVudC1iYXI6bm90KDplbXB0eSkgfiAubC1zaXRlLWhlYWRlcl9faW5uZXIgLmMtZHJvcGRvd25fX2dyaWQge1xuICBwYWRkaW5nLXRvcDogM3JlbTtcblxuICAuaGFzLXNjcm9sbGVkICYge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5jLWRyb3Bkb3duX19jb2x1bW4ge1xuICBAbWl4aW4gZmxleC1jb2x1bW4gNjtcblxuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLWh1Z2UpIHtcbiAgICAmLmMtZHJvcGRvd25fX2NvbHVtbi0tc21hbGwge1xuICAgICAgQG1peGluIGZsZXgtY29sdW1uIDU7XG5cbiAgICAgIG1heC13aWR0aDogMzIuNXJlbTtcbiAgICB9XG5cbiAgICAmLmMtZHJvcGRvd25fX2NvbHVtbi0tbWVkaXVtIHtcbiAgICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA3O1xuICAgIH1cbiAgfVxufVxuXG4uYy1kcm9wZG93bl9fbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmMtZHJvcGRvd25fX2l0ZW0ge1xuICBjb2xvcjogdmFyKC0tYy1kcm9wZG93bi10ZXh0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5jLWRyb3Bkb3duX19pdGVtLWxpbmsge1xuICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgLmMtZHJvcGRvd25fX2l0ZW0taWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYy1kcm9wZG93bl9faXRlbS1pY29uIHtcbiAgY29sb3I6IHZhcigtLWMtZHJvcGRvd24tdGV4dCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMXJlbTtcbiAgdG9wOiAwLjhyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG5cbiAgLmMtaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbi5jLWRyb3Bkb3duX19jb250ZW50IHtcbn1cblxuLmMtZHJvcGRvd25fX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS14bGFyZ2U7XG5cbiAgY29sb3I6IHZhcigtLWMtZHJvcGRvd24tdGV4dCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDEuNSk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBGaWx0ZXIgYnV0dG9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1maWx0ZXItYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgZ3JheTtcbiAgcGFkZGluZzogMC4yNXJlbTtcblxuICAuZmlsdGVyLWljb24ge1xuICAgIHN2ZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRmlsdGVyIGxpc3RcdFx0XHRcdFx0XHRcdFx0XHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZmlsdGVyLWxpc3Qge1xufVxuXG4uYy1maWx0ZXItbGlzdF9faXRlbSB7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKiAzKTtcbn1cblxuLmMtZmlsdGVyLWxpc3RfX2xhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtZmlsdGVyLWxpc3RfX2lucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxufVxuXG4uYy1maWx0ZXItbGlzdF9faW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYy1maWx0ZXItbGlzdF9faW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmMtZmlsdGVyLWxpc3RfX2lucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLmMtZmlsdGVyLWxpc3RfX2xhYmVsLXRleHQge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWZpbHRlci1saXN0X19pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5jLWZpbHRlci1saXN0X19pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgfiAuYy1maWx0ZXItbGlzdF9fbGFiZWwtdGV4dCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmMtZmlsdGVyLWxpc3RfX2xhYmVsLXRleHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX2lucHV0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJvcmRlci1pbWFnZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtYWxsKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIG1pbi13aWR0aDogNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtbWljcm8pO1xufVxuXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX2Zyb20sXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX3RvIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi13aWR0aDogM3JlbTtcbn1cblxuLmMtZmlsdGVyLWxpc3RfX2xhYmVsLXRleHQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgSG9yaXpvbnRhbCBTY3JvbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgaG9yaXpvbnRhbC1zY3JvbGwuXG4gKlxuICogQG1hcmt1cFxuXHQ8ZWxlbWVudCBjbGFzcz1cImMtaG9yaXpvbnRhbC1zY3JvbGwganMtc2xpZGVyXCIgZGF0YS1zbGlkZXItbmFtZT1cInNsaWRlci1uYW1lXCI+XG5cdFx0PGVsZW1lbnQgY2xhc3M9XCJjLWhvcml6b250YWwtc2Nyb2xsX19pbm5lciBqcy1zbGlkZXItbGlzdFwiPlxuXHRcdFx0PGl0ZW0gY2xhc3M9XCJjLWhvcml6b250YWwtc2Nyb2xsX19pdGVtIGpzLXNsaWRlci1pdGVtXCI+XG5cdFx0XHRcdFtjb250ZW50XVxuXHRcdFx0PC9pdGVtPlxuXHRcdDwvZWxlbWVudD5cblx0PC9lbGVtZW50PlxuICpcbiAqL1xuXG4uYy1ob3Jpem9udGFsLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmLmpzLXNsaWRlci1kcmFnZ2FibGUge1xuICAgIGVtYmVkLFxuICAgIGlmcmFtZSxcbiAgICBpbWcsXG4gICAgdmlkZW8ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgaW1nOjpzZWxlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmMtaG9yaXpvbnRhbC1zY3JvbGxfX2lubmVyIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBtYXJnaW4tbGVmdDogY2FsYygodmFyKC0tZ2FwLWdyaWQpIC8gMikgKiAtMSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygodmFyKC0tZ2FwLWdyaWQpIC8gMikgKiAtMSk7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24pO1xuICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tZ2FwLWdyaWQpKTtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBzdXBwb3J0cyAoLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoKSB7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICAvKiBUaGlzIGlzIG5lZWRlZCBmb3IgbWFyZ2luLXJpZ2h0IG9uIGxhc3QgaXRlbSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxufVxuXG4uYy1ob3Jpem9udGFsLXNjcm9sbF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi13aWR0aDogMTIuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdhcC1ncmlkKSAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcC1ncmlkKSAvIDIpO1xuICB3aWR0aDogY2FsYygoMTAwdncgLSAoKHZhcigtLWdhcC1jb250YWluZXIpICogMikgKyB2YXIoLS1zY3JvbGxiYXItd2lkdGgpKSArICh2YXIoLS1nYXAtZ3JpZCkpKSAvIHZhcigtLWNvbHVtbnMpKTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBtYXgtbGluZS1sZW5ndGggKi9cblxuICAtLWNvbHVtbjogMTI7XG4gIC0tY29sdW1uczogY2FsYygxMiAvIHZhcigtLWNvbHVtbikpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtY29udGFpbmVyKTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEljb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ2xhc3MgdXNlZCBvbiBzdmcgaWNvbnMuIEl0IGlzIHNldCBieSB3ZWJwYWNrIGF1dG9tYXRpY2FsbHkuXG4gKiBUaGV5IGNhbiBiZSBtb2RpZmllZCB3aXRoIG1vZGlmaWVycyBpZiB0aGF0J3MgbmVlZGVkLlxuICovXG5cbi5jLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZpbGw6IG5vbmU7XG4gIGhlaWdodDogMWVtO1xuICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcblxuICAvKipcblx0ICogU29tZXRpbWVzIHRoaXMgaXMgbmVlZGVkIGZvciBpY29ucyB0byBhbGlnbjpcblx0ICogdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuXHQgKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDFlbTtcblxuXHRwYXRoIHtcblx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdH1cblxuICAvKiBIaWRlIHRpdGxlIG9uIGhvdmVyICovXG4gICZbdGl0bGVdIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG4uYy1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuXG4gIC5jLWljb24ge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIExhYmVscyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIExhYmVscyBhcmUgdXNlZCB0byBhZGQgYSBsYWJlbCB0byBhIHNlY3Rpb24uXG4gKiBUaGV5IGNhbiBiZSB1c2VkIHRvIGFkZCBhIGxhYmVsIHRvIGEgc2VjdGlvbi5cbiAqL1xuXG4uYy1sYWJlbCB7XG5cdEBtaXhpbiBmb250LXNpemUtbWljcm8gMS4xMjU7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtYWxsKTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtbWljcm8pICogMC43NSk7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1nYXAtbWljcm8pICogMS4xKTtcblx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXAtbWljcm8pICogMS4xKTtcblx0cGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwLW1pY3JvKSAqIDAuNzUpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cblx0XHRwYWRkaW5nLWxlZnQ6IGNhbGMoY2FsYygwLjI1cmVtICogMS41KSAqIDEpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IGNhbGMoY2FsYygwLjI1cmVtICogMS41KSAqIDEpO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgU2ltcGxlIExpZ2h0Ym94IENvbXBvbmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNpbXBsZSBsaWdodGJveCBmb3IgZGVza3RvcCBpbWFnZSB2aWV3aW5nLlxuICogT25seSBhY3RpdmUgb24gZGVza3RvcCBicmVha3BvaW50LlxuICovXG5cbi8qIExpZ2h0Ym94IEJhc2UgLSBEZXNrdG9wIE9ubHkgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYy1saWdodGJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB2aXNpYmlsaXR5IDAuMnMgZWFzZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuXG4gIC5jLWxpZ2h0Ym94LmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC5jLWxpZ2h0Ym94X19pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBDbG9zZSBCdXR0b24gKi9cbiAgLmMtbGlnaHRib3hfX2Nsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDJyZW07XG4gICAgdG9wOiAycmVtO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICB3aWR0aDogM3JlbTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuXG4gIC5jLWxpZ2h0Ym94X19jbG9zZTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgLmMtbGlnaHRib3hfX2Nsb3NlIHN2ZyB7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgfVxuXG4gIC8qIExvYWRpbmcgU3Bpbm5lciAqL1xuICAuYy1saWdodGJveF9fbG9hZGluZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogNTtcbiAgfVxuXG4gIC5jLWxpZ2h0Ym94X19sb2FkaW5nLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jLWxpZ2h0Ym94X19zcGlubmVyIHtcbiAgICBhbmltYXRpb246IGxpZ2h0Ym94LXNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgd2lkdGg6IDNyZW07XG4gIH1cblxuICBAa2V5ZnJhbWVzIGxpZ2h0Ym94LXNwaW4ge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxuICB9XG5cbiAgLyogSW1hZ2UgQ29udGFpbmVyICovXG4gIC5jLWxpZ2h0Ym94X19pbWFnZS1jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYy1saWdodGJveF9faW1hZ2Uge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncpO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgd2lkdGg6IGF1dG87XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGN1cnNvcjogdXJsKCd6b29tLW91dC5zdmcnKSAxMyAxMywgYXV0bztcblx0XHR9XG4gIH1cbn1cblxuLyogSGlkZSBvbiBtb2JpbGUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYy1saWdodGJveCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIExpbmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBBIGNvbXBvbmVudCBmb3IgbGlua3MuXG4qL1xuXG4uYy1saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblx0bGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6OmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJvdHRvbTogLTNweDtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQmOmhvdmVyOjphZnRlcixcblx0Jjpmb2N1czo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG5cdH1cbn1cbiIsIi5sb2NhbGl6YXRpb24tZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IGF1dG8gMSAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxvY2FsaXphdGlvbi1mb3JtOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleDogaW5pdGlhbDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubG9jYWxpemF0aW9uLWZvcm06b25seS1jaGlsZCAuYnV0dG9uLFxuLmxvY2FsaXphdGlvbi1mb3JtOm9ubHktY2hpbGQgLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3Qge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1MHB4KSB7XG4gIC5sb2NhbGl6YXRpb24tZm9ybSB7XG5cbiAgfVxuXG4gIC5sb2NhbGl6YXRpb24tZm9ybTpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAubG9jYWxpemF0aW9uLWZvcm06b25seS1jaGlsZCB7XG5cbiAgfVxufVxuXG4ubG9jYWxpemF0aW9uLWZvcm0gLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDFyZW07XG59XG5cbi5sb2NhbGl6YXRpb24tZm9ybV9fY3VycmVuY3kge1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjdyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDlweCkge1xuICAubG9jYWxpemF0aW9uLWZvcm0gLmJ1dHRvbiB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB9XG5cbiAgLmxvY2FsaXphdGlvbi1mb3JtX19jdXJyZW5jeSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG1pbi13aWR0aDogY2FsYyg3cmVtICsgMXB4ICogMik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmRpc2Nsb3N1cmVfX2J1dHRvbi5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0IHtcbiAgLyogcGFkZGluZzogY2FsYygycmVtICsgMXB4KTsgKi9cbn1cblxuLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3QgLmljb24tY2FyZXQge1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwLjZyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IGNhbGMoMXB4ICsgMS41cmVtKTtcbiAgdG9wOiBjYWxjKDUwJSAtIDAuMnJlbSk7XG59XG5cbi5sb2NhbGl6YXRpb24tc2VsZWN0b3IubGluayB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcblxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDRweCkge1xuXG4gIH1cbn1cblxuLmxvY2FsaXphdGlvbi1zZWxlY3RvciBvcHRpb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4ubG9jYWxpemF0aW9uLXNlbGVjdG9yICsgLmRpc2Nsb3N1cmVfX2xpc3Qtd3JhcHBlciB7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZUxvY2FsaXphdGlvbiAwLjNzIGVhc2U7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDRweCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgfVxufVxuXG4uZGlzY2xvc3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kaXNjbG9zdXJlX19idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmRpc2Nsb3N1cmVfX2ljb24ge1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDAuMXJlbTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQ0cHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRyZW07XG4gIH1cblxuICAuYy1pY29uIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbik7XG4gIH1cblxuICBbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gJiAuYy1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG59XG5cbi5kaXNjbG9zdXJlX19saXN0LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3R0b206IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDI3LjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcmVtKTtcbiAgei1pbmRleDogMjtcbn1cblxuLmRpc2Nsb3N1cmVfX2xpc3Qge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIG1heC1oZWlnaHQ6IDIwLjVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMnJlbTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBzY3JvbGwtcGFkZGluZzogMC41cmVtIDA7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLmNvdW50cnktc2VsZWN0b3JfX2xpc3Qge1xuICBwYWRkaW5nLWJvdHRvbTogMC45NXJlbTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY291bnRyeS1zZWxlY3Rvcl9fbGlzdC0td2l0aC1tdWx0aXBsZS1jdXJyZW5jaWVzIHtcbiAgd2lkdGg6IDI1LjVyZW07XG59XG5cbi5jb3VudHJ5LXNlbGVjdG9yX19jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY291bnRyeS1maWx0ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAwLjZyZW07XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogLTAuMDJyZW07XG4gIHotaW5kZXg6IDY7XG59XG5cbi5jb3VudHJ5LWZpbHRlcl9faW5wdXQge1xuICBtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4uY291bnRyeS1maWx0ZXJfX3Jlc2V0LWJ1dHRvbixcbi5jb3VudHJ5LWZpbHRlcl9fc2VhcmNoLWljb24ge1xuICByaWdodDogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCk7XG4gIHRvcDogdmFyKC0taW5wdXRzLWJvcmRlci13aWR0aCk7XG59XG5cbi5jb3VudHJ5LWZpbHRlcl9fcmVzZXQtYnV0dG9uOm5vdCg6Zm9jdXMtdmlzaWJsZSk6OmFmdGVyLFxuLmNvdW50cnktZmlsdGVyX19yZXNldC1idXR0b246bm90KDpmb2N1cyk6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuOHJlbSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jb3VudHJ5LWZpbHRlcl9fcmVzZXQtYnV0dG9uOmZvY3VzLFxuLmNvdW50cnktZmlsdGVyX19yZXNldC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgei1pbmRleDogNDtcbn1cblxuLmNvdW50cnktZmlsdGVyX19yZXNldC1idXR0b246bm90KDpmb2N1cy12aXNpYmxlKTpub3QoLmZvY3VzZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYm94LXNoYWRvdzogaW5oZXJpdDtcbn1cblxuLmNvdW50cnktZmlsdGVyX19yZXNldC1idXR0b246aG92ZXIgLmljb24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDcpO1xufVxuXG4uY291bnRyeS1maWx0ZXJfX3Jlc2V0LWJ1dHRvbiAuaWNvbi5pY29uLWNsb3NlLFxuLmNvdW50cnktZmlsdGVyX19zZWFyY2gtaWNvbiAuaWNvbiB7XG4gIGhlaWdodDogMS44cmVtO1xuICBzdHJva2Utd2lkdGg6IDAuMXJlbTtcbiAgd2lkdGg6IDEuOHJlbTtcbn1cblxuLmNvdW50cnktZmlsdGVyX19zZWFyY2gtaWNvbiB7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB2aXNpYmlsaXR5IDAuM3MgZWFzZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmNvdW50cnktZmlsdGVyX19zZWFyY2gtaWNvbi0taGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NTBweCkge1xuICAuY291bnRyeS1maWx0ZXItLW5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmNvdW50cmllcyB7XG4gIHBhZGRpbmctdG9wOiAwLjZyZW07XG59XG5cbi5wb3B1bGFyLWNvdW50cmllcyB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjZyZW07XG4gIHBhZGRpbmctdG9wOiAwLjZyZW07XG59XG5cbi5kaXNjbG9zdXJlX19pdGVtIHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuXG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZGlzY2xvc3VyZV9fbGluayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMC41cmVtO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gIHBhZGRpbmc6IDAuNXJlbSAxLjVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5kaXNjbG9zdXJlX19saW5rIC5pY29uLWNoZWNrbWFyayB7XG4gIG1hcmdpbi1yaWdodDogMC4ycmVtO1xuICB3aWR0aDogMXJlbTtcbn1cblxuLmRpc2Nsb3N1cmVfX2xpbms6aG92ZXIgLmxvY2FsaXphdGlvbi1mb3JtX19jdXJyZW5jeSxcbi5kaXNjbG9zdXJlX19saW5rOmZvY3VzLXZpc2libGUgLmxvY2FsaXphdGlvbi1mb3JtX19jdXJyZW5jeSxcbi5kaXNjbG9zdXJlX19saW5rOmZvY3VzIC5sb2NhbGl6YXRpb24tZm9ybV9fY3VycmVuY3kge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5kaXNjbG9zdXJlX19idXR0b25bYXJpYS1leHBhbmRlZD0ndHJ1ZSddIC5pY29uLWNhcmV0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuLyogSGVhZGVyIGxvY2FsaXphdGlvbiAqL1xuLmhlYWRlci1sb2NhbGl6YXRpb24gLmxvY2FsaXphdGlvbi1mb3JtOm9ubHktY2hpbGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5oZWFkZXItbG9jYWxpemF0aW9uIC5kaXNjbG9zdXJlIC5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxldHRlci1zcGFjaW5nOiAwLjA2cmVtO1xuICBtaW4taGVpZ2h0OiBpbml0aWFsO1xufVxuXG4uaGVhZGVyLWxvY2FsaXphdGlvbiAuZGlzY2xvc3VyZSAubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uaGVhZGVyLWxvY2FsaXphdGlvbiAubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdC5saW5rOjphZnRlcixcbi5oZWFkZXItbG9jYWxpemF0aW9uIC5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0Lmxpbms6OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5oZWFkZXItbG9jYWxpemF0aW9uIC5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0Lmxpbms6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMC4ycmVtO1xufVxuXG4vKiBIZWFkZXIgaWNvbnMgKGRlc2t0b3ApICovXG4uZGVza3RvcC1sb2NhbGl6YXRpb24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmRlc2t0b3AtbG9jYWxpemF0aW9uLXdyYXBwZXIgLmxvY2FsaXphdGlvbi1zZWxlY3RvciArIC5kaXNjbG9zdXJlX19saXN0LXdyYXBwZXIge1xuICBhbmltYXRpb246IGFuaW1hdGVNZW51T3BlbiAwLjNzIGVhc2U7XG59XG5cbi5kZXNrdG9wLWxvY2FsaXphdGlvbi13cmFwcGVyIC5sb2NhbGl6YXRpb24tZm9ybTpvbmx5LWNoaWxkIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhlYWRlci1sb2NhbGl6YXRpb246bm90KC5tZW51LWRyYXdlcl9fbG9jYWxpemF0aW9uKSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5qcyAuaGVhZGVyLWxvY2FsaXphdGlvbjpub3QoLm1lbnUtZHJhd2VyX19sb2NhbGl6YXRpb24pIC5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjhyZW07XG4gIHBhZGRpbmc6IDAgMi43cmVtIDAgMS4ycmVtO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi5oZWFkZXItbG9jYWxpemF0aW9uOm5vdCgubWVudS1kcmF3ZXJfX2xvY2FsaXphdGlvbikgLmxvY2FsaXphdGlvbi1mb3JtOm9ubHktY2hpbGQgLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3Qge1xuICBtYXJnaW46IDA7XG59XG5cbi5oZWFkZXItbG9jYWxpemF0aW9uOm5vdCgubWVudS1kcmF3ZXJfX2xvY2FsaXphdGlvbikubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdCA+IHNwYW4ge1xuICBtYXgtd2lkdGg6IDIwY2g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uaGVhZGVyLWxvY2FsaXphdGlvbjpub3QoLm1lbnUtZHJhd2VyX19sb2NhbGl6YXRpb24pIGxvY2FsaXphdGlvbi1mb3JtOm9ubHktY2hpbGQgLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3QgPiBzcGFuIHtcbiAgbWF4LXdpZHRoOiAyNmNoO1xufVxuXG4uaGVhZGVyLWxvY2FsaXphdGlvbjpub3QoLm1lbnUtZHJhd2VyX19sb2NhbGl6YXRpb24pIC5sb2NhbGl6YXRpb24tZm9ybV9fc2VsZWN0IC5pY29uLWNhcmV0IHtcbiAgcmlnaHQ6IDAuOHJlbTtcbn1cblxuLmhlYWRlci1sb2NhbGl6YXRpb246bm90KC5tZW51LWRyYXdlcl9fbG9jYWxpemF0aW9uKSAuZGlzY2xvc3VyZV9fbGlzdC13cmFwcGVyIHtcbiAgYm90dG9tOiBpbml0aWFsO1xuICByaWdodDogMDtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi8qIE1lbnUgZHJhd2VyICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTBweCkge1xuICAubWVudS1kcmF3ZXJfX2xvY2FsaXphdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubWVudS1kcmF3ZXJfX2xvY2FsaXphdGlvbiBsb2NhbGl6YXRpb24tZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVudS1kcmF3ZXJfX2xvY2FsaXphdGlvbiAubG9jYWxpemF0aW9uLWZvcm1fX3NlbGVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDFyZW0gMy42cmVtIDFyZW0gMDtcbn1cblxuLm1lbnUtZHJhd2VyX19sb2NhbGl6YXRpb24gLmxvY2FsaXphdGlvbi1mb3JtIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1lbnUtZHJhd2VyX19sb2NhbGl6YXRpb24gLmxvY2FsaXphdGlvbi1mb3JtOm9ubHktY2hpbGQgLmxvY2FsaXphdGlvbi1mb3JtX19zZWxlY3Qge1xuICBtYXJnaW46IDA7XG59XG5cbi5tZW51LWRyYXdlcl9fbG9jYWxpemF0aW9uICsgLmxpc3Qtc29jaWFsIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmxhbmd1YWdlLXNlbGVjdG9yIC5kaXNjbG9zdXJlX19saXN0IHtcbiAgbWluLXdpZHRoOiAyMDBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNZWdhLW1lbnUgKG1vYmlsZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIG1lZ2EtbWVudSAobW9iaWxlKVxuICovXG5cbi5jLW1lZ2EtbWVudS1tb2JpbGVfX2l0ZW0tYnV0dG9uIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKDAuMjVyZW0gKiAzKTtcblx0cGFkZGluZy10b3A6IGNhbGMoMC4yNXJlbSAqIDMpO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLmMtbWVnYS1tZW51LW1vYmlsZV9faXRlbS0tc2Vjb25kIHtcblx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcblx0fVxufVxuXG4uYy1tZWdhLW1lbnUtbW9iaWxlX19pdGVtIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG59XG5cbi5jLW1lZ2EtbWVudS1tb2JpbGVfX2l0ZW0taWNvbiB7XG5cdGZvbnQtc2l6ZTogMC44NXJlbTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC43NSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uKTtcblxuXHRzdmcge1xuICAgIGhlaWdodDogMWVtO1xuXHRcdHdpZHRoOiAxZW07XG5cdH1cbn1cblxuLmMtbWVnYS1tZW51LW1vYmlsZV9faXRlbS1pbWFnZS1jb250YWluZXIge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGhlaWdodDogNHJlbTtcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiA0cmVtO1xuXG5cdGltZyB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5jLW1lZ2EtbWVudS1tb2JpbGVfX2l0ZW0tdGV4dCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdGxldHRlci1zcGFjaW5nOiAwLjA3NWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuXG4uYy1tb2RhbF9fbWVudSB7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG59XG5cbi5jLW1lZ2EtbWVudS1tb2JpbGUtLWZvb3Rlci1pdGVtIHtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi8qIE1vZGFsIFN0ZXAgVHJhbnNpdGlvbnMgKi9cbi5qcy1tb2RhbC1zdGVwLTEsXG4uanMtbW9kYWwtc3RlcC0yLFxuLmpzLW1vZGFsLXN0ZXAtMyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIFN0ZXAgMSAtIE1haW4gbWVudSAqL1xuLmpzLW1vZGFsLXN0ZXAtMSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbn1cblxuLmpzLW1vZGFsLXN0ZXAtMS5zbGlkZS1vdXQtbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG59XG5cbi8qIFN0ZXAgMiAtIFNlY29uZCBsZXZlbCAqL1xuLmpzLW1vZGFsLXN0ZXAtMiB7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KSwgb3BhY2l0eSAwLjNzIGVhc2UsIHZpc2liaWxpdHkgMC4zcyBlYXNlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5qcy1tb2RhbC1zdGVwLTIuc2xpZGUtaW4ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5qcy1tb2RhbC1zdGVwLTIuc2xpZGUtb3V0LXJpZ2h0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5qcy1tb2RhbC1zdGVwLTIuc2xpZGUtb3V0LWxlZnQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIFN0ZXAgMyAtIFRoaXJkIGxldmVsICovXG4uanMtbW9kYWwtc3RlcC0zIHtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpLCBvcGFjaXR5IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwLjNzIGVhc2U7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLmpzLW1vZGFsLXN0ZXAtMy5zbGlkZS1pbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmpzLW1vZGFsLXN0ZXAtMy5zbGlkZS1vdXQtcmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogSGlkZSBhbGwgc2Vjb25kLXN0ZXAgYmxvY2tzIGJ5IGRlZmF1bHQgKi9cbi5qcy1tb2RhbC1zdGVwLTItYmxvY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTaG93IG9ubHkgdGhlIGFjdGl2ZSBvbmUgYXMgYSBmbGV4IGNvbHVtbiAqL1xuLmpzLW1vZGFsLXN0ZXAtMi1ibG9jay5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhpZGUgYWxsIHRoaXJkLXN0ZXAgYmxvY2tzIGJ5IGRlZmF1bHQgKi9cbi5qcy1tb2RhbC1zdGVwLTMtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmpzLW1vZGFsLXN0ZXAtMy1ibG9jay5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLW1lZ2EtbWVudS1zZWNvbmRfX21lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cbn1cblxuLmMtbWVnYS1tZW51LXNlY29uZF9fbGluayB7XG5cdEBtaXhpbiBmb250LXNpemUtbGFyZ2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLW1lZ2EtbWVudS1zZWNvbmRfX2xpbmstLXRhZyB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmMtbWVnYS1tZW51LXNlY29uZF9fbGluay0tcGxhaW4ge1xuXHRsaW5lLWhlaWdodDogMXJlbTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC10aW55KTtcbn1cblxuLmMtbWVnYS1tZW51LXRoaXJkX19wYXJlbnQtdGl0bGUge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1lZ2EtbWVudSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbWVnYS1tZW51XG4gKi9cblxuLmMtbWVnYS1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBsZWZ0OiAwO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogY2FsYygxMDAlIC0gMXB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKSwgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxMDAwO1xuXG5cdCYuaXMtdmlzaWJsZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR9XG5cblx0YSB7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLmMtbWVudS1tZWdhLW1lbnUtLWxpbmsge1xuXHQmLmhhcy1kcm9wZG93biB7XG5cdFx0LmMtbWVnYS1tZW51LmlzLXZpc2libGUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHR9XG5cdH1cbn1cblxuLmMtbWVnYS1tZW51X19pbm5lciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cblxuLyogTWFpbiBsaW5rcyAoZmlyc3QgbGV2ZWwgdG8gdGhlIGxlZnQpICovXG4uYy1tZWdhLW1lbnVfX2l0ZW0tbWFpbiB7XG5cdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXHR9XG59XG5cbi5jLW1lZ2EtbWVudV9faXRlbS1tYWluLWxpbmsge1xuICBAbWl4aW4gZm9udC1zaXplLWxhcmdlO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLmMtbWVnYS1tZW51X19ncmlkIHtcblx0QG1peGluIGZsZXgtZ3JpZDtcbn1cblxuLmMtbWVnYS1tZW51X19jb2x1bW4ge1xuXHRjb2x1bW4tY291bnQ6IDQ7XG4gIGNvbHVtbi1nYXA6IDNyZW07XG59XG5cbi5jLW1lZ2EtbWVudV9fY29sdW1uLWl0ZW0ge1xuXHRicmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLmMtbWVnYS1tZW51X19jb2x1bW4tLW1haW4ge1xuXHRAbWl4aW4gZmxleC1jb2x1bW4gODtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1tZWdhLW1lbnVfX2NvbHVtbi0tc2Vjb25kYXJ5IHtcblx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmMtbWVnYS1tZW51X19jb2x1bW4tLWltYWdlIHtcblx0QG1peGluIGZsZXgtY29sdW1uIDQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGhlaWdodDogMTAwJTtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuXHQuYy1tZWdhLW1lbnVfX2ltYWdlIHtcblx0XHR3aWR0aDogODUlO1xuXHR9XG5cblx0LmMtbWVnYS1tZW51X19pbWFnZS1pbWFnZSB7XG5cdFx0YXNwZWN0LXJhdGlvOiAxLzE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5jLW1lZ2EtbWVudV9fY29sdW1uLS1zZWNvbmRhcnkgLmMtbWVnYS1tZW51X19saXN0IHtcblx0Y29sdW1uLWNvdW50OiBhdXRvO1xuXHRjb2x1bW4tZmlsbDogYmFsYW5jZTtcblx0Y29sdW1uLWdhcDogMnJlbTtcblx0Y29sdW1uLXdpZHRoOiAyMDBweDtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1tZWdhLW1lbnVfX2NvbHVtbi0tc2Vjb25kYXJ5IC5jLW1lZ2EtbWVudV9faXRlbS1zZWNvbmRhcnksXG4uYy1tZWdhLW1lbnVfX2NvbHVtbi0tc2Vjb25kYXJ5IC5jLW1lZ2EtbWVudV9faXRlbS1zZWNvbmRhcnktY2hpbGQge1xuXHRicmVhay1pbnNpZGU6IGF2b2lkO1xufVxuXG4uYy1tZWdhLW1lbnVfX2l0ZW0tc2Vjb25kYXJ5LWxpbmsge1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLW1lZ2EtbWVudV9faXRlbS1zZWNvbmRhcnkge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5jLW1lZ2EtbWVudV9faXRlbS1zZWNvbmRhcnktY2hpbGQge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5jLW1lZ2EtbWVudV9fbGlzdC0tc2Vjb25kYXJ5LWNoaWxkIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4uanMtbW9kYWwtc3RlcC0zLWJsb2NrIHsgZGlzcGxheTogbm9uZTsgfVxuLmpzLW1vZGFsLXN0ZXAtMy1ibG9jay5pcy12aXNpYmxlIHsgZGlzcGxheTogZmxleDsgfVxuXG4uYy1tZWdhLW1lbnUtc2Vjb25kX19pbWFnZS1jb250YWluZXIge1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1nYXAtc21hbGwpICogLTEpO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdGltZyB7XG5cdFx0bWF4LWhlaWdodDogOS43NXJlbTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uYy1tZWdhLW1lbnUtbW9iaWxlX19oZWFkZXItYmFjayB7XG5cdHN2ZyB7XG5cdFx0ZmlsbDogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdGhlaWdodDogMS41cmVtO1xuXHRcdHdpZHRoOiAxLjVyZW07XG5cdH1cbn1cblxuLmMtbWVnYS1tZW51LW1vYmlsZV9faGVhZGVyLXRpdGxlIHtcblx0QG1peGluIGZvbnQtc2l6ZS10aW55O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWVudSBGb290ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIG1lbnUgZm9vdGVyXG4gKi9cblxuLmMtbWVudS1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLmMtbWVudS1mb290ZXJfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtbWVudS1mb290ZXJfX2l0ZW0tbGluayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgLmMtbWVudS1mb290ZXJfX2l0ZW0taWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jLW1lbnUtZm9vdGVyX19pdGVtIHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1zbWFsbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmMtbWVudS1mb290ZXJfX2l0ZW0taWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgcmlnaHQ6IC0xcmVtO1xuICB0b3A6IDAuMzVyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG5cbiAgLmMtaWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTWVudSBNb2JpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbWVudSBtb2JpbGVcbiAqL1xuXG4uYy1tZW51LW1vYmlsZV9faXRlbSB7XG4gIEBtaXhpbiBwYWRkaW5nLWJvdHRvbS1ncm91cCB2YXIoLS1nYXAtdGlueSk7XG5cbiAgYSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmMtbWVudS1idXR0b24tLW1lbnUge1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNZW51ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBtZW51XG4gKi9cblxuLmMtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLmMtbWVudV9faXRlbSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDc1ZW07XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMC4yNXJlbSAqIDUpO1xuXG4gICYuaGFzLWRyb3Bkb3duIHtcbiAgICAuYy1tZW51X19kcm9wZG93bi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4uYy1tZW51X19pdGVtLWxpbmsge1xuICBAbWl4aW4gZm9udC1zaXplLW1pY3JvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNik7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pLCBib3JkZXItYm90dG9tLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB6LWluZGV4OiAxMDAxO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uKSwgYm9yZGVyLWJvdHRvbS1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5oYXMtZHJvcGRvd24gJiB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdH1cbn1cblxuLmMtbWVudV9faXRlbS1pY29uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtbWljcm8pO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgLmlzLWFjdGl2ZSAmIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG4uYy1tZW51X19kcm9wZG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1vYmlsZSBNZW51IFNlbGVjdG9ycyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogTW9iaWxlLXNwZWNpZmljIHN0eWxlcyBmb3IgY3VycmVuY3kgYW5kIGxhbmd1YWdlIHNlbGVjdG9ycyBpbiB0aGUgbW9kYWwgbWVudVxuICovXG5cbi5jLW1vYmlsZS1tZW51LXNlbGVjdG9ycyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4uYy1tb2JpbGUtbWVudS1zZWxlY3RvcnNfX2lubmVyIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKDAuMjVyZW0gKiAyKTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4vKiBPdmVycmlkZSBhbm5vdW5jZW1lbnQgYmFyIHNlbGVjdG9yIHN0eWxlcyBmb3IgbW9iaWxlIG1lbnUgY29udGV4dCAqL1xuLmMtbW9iaWxlLW1lbnUtc2VsZWN0b3JzIC5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLW1vYmlsZS1tZW51LXNlbGVjdG9ycyAuYy1hbm5vdW5jZW1lbnQtYmFyLXNlbGVjdG9yX19idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG4gIHBhZGRpbmc6IDAuNXJlbSAwLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1tb2JpbGUtbWVudS1zZWxlY3RvcnMgLmMtYW5ub3VuY2VtZW50LWJhci1zZWxlY3Rvcl9fY3VycmVudCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy1tb2JpbGUtbWVudS1zZWxlY3RvcnMgLmMtYW5ub3VuY2VtZW50LWJhci1zZWxlY3Rvcl9faWNvbiB7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xufVxuXG4uYy1tb2JpbGUtbWVudS1zZWxlY3RvcnMgLmMtYW5ub3VuY2VtZW50LWJhci1zZWxlY3Rvcl9fZHJvcGRvd24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgbWluLXdpZHRoOiAxMjBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBPdmVycmlkZSBhbm5vdW5jZW1lbnQgYmFyIGhpZGUgb24gc2Nyb2xsICovXG4gIC5oYXMtc2Nyb2xsZWQgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmMtbW9iaWxlLW1lbnUtc2VsZWN0b3JzIC5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3JfX2Ryb3Bkb3duLWl0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWdyYXkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxufVxuXG4vKiBIaWRlIGN1cnJlbmN5IHNlbGVjdG9yIGlmIG9ubHkgb25lIGN1cnJlbmN5IGF2YWlsYWJsZSAqL1xuLmMtbW9iaWxlLW1lbnUtc2VsZWN0b3JzIC5jLWFubm91bmNlbWVudC1iYXItc2VsZWN0b3ItLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNb2RhbCBCdXR0b24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBtb2RhbCBidXR0b25cbiAqIFVzZXMgY3VycmVudENvbG9yIHRvIGluaGVyaXQgdGV4dCBjb2xvciBmcm9tIHBhcmVudFxuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1jLW1vZGFsLWJ1dHRvbi10ZXh0OiBjdXJyZW50Q29sb3I7XG59XG5cbi5jLW1vZGFsLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1jLW1vZGFsLWJ1dHRvbi10ZXh0KTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAvKiBkaXNwbGF5OiBub25lOyAqL1xuICB9XG5cbiAgJltkYXRhLXRhcmdldD1cIiNuYXYtbW9kYWxcIl0ge1xuICAgIC5jLW1vZGFsLWJ1dHRvbl9faWNvbiB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuXHRcdFx0cGF0aCB7XG5cdFx0XHRcdGZpbGw6IGN1cnJlbkNvbG9yO1xuXHRcdFx0fVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS10YXJnZXQ9XCIjZmlsdGVyLW1vZGFsXCJdIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAuYy1tb2RhbC1idXR0b25fX2ljb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMC42cmVtO1xuICAgIH1cblxuICAgIC5jLW1vZGFsLWJ1dHRvbl9fbGFiZWwge1xuICAgICAgQG1peGluIGZvbnQtc2l6ZS1taWNybztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuXG4uYy1tb2RhbC1idXR0b24tLW1lbnUge1xuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYy1tb2RhbC1idXR0b24tLXNlYXJjaCB7XG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAuYy1tb2RhbC1idXR0b25fX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG5cdFx0LmMtaWNvbiB7XG5cdFx0XHRmaWxsOiAjZmZmO1xuXG5cdFx0XHRwYXRoIHtcblx0XHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdFx0fVxuXHRcdH1cbiAgfVxuXG4gIC5jLW1vZGFsLWJ1dHRvbl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uYy1tb2RhbC1idXR0b24tLWdhdWdlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luOiAwIDFlbSAwIDAuNWVtO1xuICAgIHBhZGRpbmc6IDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5jLW1vZGFsLS1zZWFyY2gge1xuICAuYy1tb2RhbC1idXR0b24tLXNlYXJjaCB7XG4gICAgLmMtbW9kYWwtYnV0dG9uX19sYWJlbCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmMtbW9kYWwtYnV0dG9uLS1zaXplLWd1aWRlIHtcblx0QG1peGluIGZvbnQtc2l6ZS1taWNybztcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNb2RhbCBDYXJ0IENvbXBvbmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENhcnQtc3BlY2lmaWMgbW9kYWwgc3R5bGluZyB0aGF0IGV4dGVuZHMgdGhlIGJhc2UgbW9kYWwgY29tcG9uZW50LlxuICpcbiAqIFRoaXMgZmlsZSBjb250YWlucyBvbmx5IGNhcnQtc3BlY2lmaWMgc3R5bGVzLiBCYXNlIG1vZGFsIGZ1bmN0aW9uYWxpdHlcbiAqIGlzIGhhbmRsZWQgYnkgbW9kYWwuY3NzLlxuICovXG5cbi8qIENhcnQgTW9kYWwgVmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAtLWMtbW9kYWwtY2FydC1iZzogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWMtbW9kYWwtY2FydC10ZXh0OiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgLS1jLW1vZGFsLWNhcnQtYm9yZGVyOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAtLWMtbW9kYWwtY2FydC1pbWFnZS1iZzogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbi5jLW1vZGFsLS1jYXJ0W2NsYXNzXSB7XG4gIC8qIEluaGVyaXQgY29sb3JzIGZyb20gcGFyZW50IG1vZGFsICovXG4gIC0tY29sb3ItYmFja2dyb3VuZDogdmFyKC0tYy1tb2RhbC1jYXJ0LWJnKTtcbiAgLS1jb2xvci10ZXh0OiB2YXIoLS1jLW1vZGFsLWNhcnQtdGV4dCk7XG5cbiAgLyogQ2FydC1zcGVjaWZpYyByZXNwb25zaXZlIGJlaGF2aW9yICovXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzM3JlbTtcbiAgfVxuXG4gICYuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLyogQ2FydC1zcGVjaWZpYyBhbmltYXRpb25zICovXG4gICYuaXMtYW5pbWF0aW5nLWluIHtcbiAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1pbi1tb2RhbC1tb2JpbGU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWluLW1vZGFsLWRlc2t0b3A7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hbmltYXRpbmctb3V0IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLW91dC1tb2RhbC1tb2JpbGU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLW91dC1tb2RhbC1kZXNrdG9wO1xuICAgIH1cbiAgfVxuXG4gIC8qIENhcnQtc3BlY2lmaWMgbGF5b3V0IGFkanVzdG1lbnRzICovXG4gIC5jLW1vZGFsX19pbm5lciB7XG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuYy1tb2RhbF9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAmLmlzLWVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5jLW1vZGFsX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYy1tb2RhbF9fY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICB9XG5cblx0LmMtbW9kYWxfX2NvbnRlbnQtaGVhZGVyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LmMtbW9kYWxfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cbiAgLmMtbW9kYWxfX2hlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuYy1tb2RhbF9faGVhZGVyLWxvZ28ge1xuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYy1tb2RhbF9faGVhZGVyLWFjdGlvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0d2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICB9XG4gIH1cbn1cblxuLyogQ2FydCBJdGVtc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1vZGFsX19jYXJ0IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5cbi5jLWNhcnQtaXRlbV9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAqIDAuMzc1KTtcbiAgd2lkdGg6IDcwJTtcbn1cblxuLmMtY2FydC1pdGVtX19pbWFnZSB7XG4gIEBtaXhpbiBhc3BlY3QtcmF0aW87XG5cdEBtaXhpbiBhc3BlY3QtcmF0aW8tbW9kaWZpZXIgMzUsIDQ4O1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdCBjb3ZlcjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLW1vZGFsLWNhcnQtaW1hZ2UtYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWVkaXVtKTtcbn1cblxuLmMtY2FydC1pdGVtX19maWd1cmUge1xuICB3aWR0aDogMzAlO1xufVxuXG4vKiBDYXJ0IEZvb3RlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWNhcnRfX2Zvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1tb2RhbC1jYXJ0LWJvcmRlcik7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLXNtYWxsKSB2YXIoLS1nYXAtdGlueSk7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG59XG5cbi5jLWNhcnQtZm9vdGVyX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtY2FydC1mb290ZXJfX2l0ZW0tdGl0bGUsXG4uYy1jYXJ0LWZvb3Rlcl9faXRlbS12YWx1ZS0tc3VidG90YWwge1xuICBAbWl4aW4gbGFiZWw7XG59XG5cbi5jLWNhcnQtZm9vdGVyX19pdGVtLXZhbHVlLS1zaGlwcGluZyB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcbn1cblxuLmMtY2FydC1mb290ZXJfX2J1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjg3NSk7XG5cbiAgLmMtYnV0dG9uLFxuICAuYy1idXR0b25fX2xhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiBDYXJ0IEhlYWRlciBFbGVtZW50c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1vZGFsX19iYWcge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1tb2RhbF9fYmFnLWljb24ge1xuICAmLmljb24tLWZpbGwge1xuICAgIC5jLWljb24ge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYy1tb2RhbF9fYmFnLWxhYmVsIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbCAxO1xufVxuXG4uYy1tb2RhbF9fbG9nby0tY2FydCB7XG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmMtbW9kYWxfX21lbnUtYnV0dG9uLS1jYXJ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgLmMtbWVudS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0LmMtaWNvbiB7XG5cdFx0XHRzdHJva2U6IGN1cnJlbnRDb2xvcjtcblx0XHR9XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgICB9XG4gIH1cbn1cblxuLyogRW1wdHkgQ2FydCBTdGF0ZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWNhcnRfX2VtcHR5IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC1sYXJnZSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtY2FydF9fZW1wdHktdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcbn1cblxuLmMtY2FydF9fZW1wdHktYWN0aW9ucyB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXG4gIC5jLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNb2RhbCBGaWx0ZXIgQ29tcG9uZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEZpbHRlci1zcGVjaWZpYyBtb2RhbCBzdHlsaW5nIHRoYXQgZXh0ZW5kcyB0aGUgYmFzZSBtb2RhbCBjb21wb25lbnQuXG4gKlxuICogVGhpcyBmaWxlIGNvbnRhaW5zIG9ubHkgZmlsdGVyLXNwZWNpZmljIHN0eWxlcy4gQmFzZSBtb2RhbCBmdW5jdGlvbmFsaXR5XG4gKiBpcyBoYW5kbGVkIGJ5IG1vZGFsLmNzcy5cbiAqL1xuXG4vKiBGaWx0ZXIgTW9kYWwgVmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuOnJvb3Qge1xuICAtLWMtbW9kYWwtZmlsdGVyLWJnOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgLS1jLW1vZGFsLWZpbHRlci10ZXh0OiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgLS1jLW1vZGFsLWZpbHRlci1ib3JkZXI6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIC0tYy1tb2RhbC1maWx0ZXItaW1hZ2UtYmc6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi8qIEZpbHRlciBNb2RhbCBMYXlvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tb2RhbC0tZmlsdGVyW2NsYXNzXSB7XG4gIC8qIEluaGVyaXQgY29sb3JzIGZyb20gcGFyZW50IG1vZGFsICovXG4gIC0tY29sb3ItYmFja2dyb3VuZDogdmFyKC0tYy1tb2RhbC1maWx0ZXItYmcpO1xuICAtLWNvbG9yLXRleHQ6IHZhcigtLWMtbW9kYWwtZmlsdGVyLXRleHQpO1xuXHRsZWZ0OiAxLjVyZW07XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMzcmVtO1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLyogRmlsdGVyLXNwZWNpZmljIGFuaW1hdGlvbnMgKi9cbiAgJi5pcy1hbmltYXRpbmctaW4ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWluLW1vZGFsLW1vYmlsZTtcblxuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtaW4tbW9kYWwtZGVza3RvcDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFuaW1hdGluZy1vdXQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtb3V0LW1vZGFsLW1vYmlsZTtcblxuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtb3V0LW1vZGFsLWRlc2t0b3A7XG4gICAgfVxuICB9XG5cbiAgLyogRmlsdGVyLXNwZWNpZmljIGxheW91dCBhZGp1c3RtZW50cyAqL1xuICAuYy1tb2RhbF9faW5uZXIge1xuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmMtbW9kYWxfX21haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtY29udGFpbmVyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtY29udGFpbmVyKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICYuaXMtZW1wdHkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5jLW1vZGFsX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYy1tb2RhbF9fY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICB9XG5cbiAgLmMtbW9kYWxfX2hlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuXHQuYy1tb2RhbF9fY29udGVudCB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxuICAuYy1tb2RhbF9faGVhZGVyLWFjdGlvbnMge1xuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLmMtbW9kYWxfX2Zvb3RlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuXHQuYy1tb2RhbF9faGVhZGVyLXRpdGxlIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXNtYWxseDtcblx0XHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdH1cblxuXHQuYy1tb2RhbF9fYWNjb3JkaW9uIHtcblx0XHQuYy1hY2NvcmRpb25fX3RpdGxlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtbW9kYWwtZmlsdGVyLWJnKTtcblx0XHR9XG5cblx0XHQuYy1hY2NvcmRpb25fX3RpdGxlLWljb24ge1xuXHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGhlaWdodDogMWVtO1xuXHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jLWFjY29yZGlvbl9faXRlbVtkYXRhLXN0YXRlPSdleHBhbmRlZCddIC5jLWFjY29yZGlvbl9fdGl0bGUtaWNvbiB7XG4gIFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdFx0fVxuXG5cdFx0LmMtYWNjb3JkaW9uX19jb250ZW50IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtbW9kYWwtZmlsdGVyLWJnKTtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXG5cdFx0LmMtYWNjb3JkaW9uIHtcblx0XHRcdC5jLWFjY29yZGlvbl9faXRlbSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdC5jLWFjY29yZGlvbl9faXRlbSB7XG5cdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0LmMtYWNjb3JkaW9uX19pdGVtIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFjY29yZGlvbi1ib3JkZXItY29sb3IpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBGaWx0ZXIgRm9vdGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbW9kYWxfX2Zvb3Rlci0tZmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IHN0aWNreTtcblx0ei1pbmRleDogMztcbn1cblxuLyogRmlsdGVyIEFjdGlvbnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tb2RhbF9fZmlsdGVyLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbC1tYXgpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5jLW1vZGFsLWNvbnRlbnRfX3Jlc2V0IHtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5cbi5jLW1vZGFsX19maWx0ZXItcmVzZXQge1xuXHRAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG59XG5cbi5jLW1vZGFsX19maWx0ZXItYXBwbHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxufVxuXG4vKiBGaWx0ZXIgQ29udGVudFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1vZGFsX19maWx0ZXIge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcbn1cblxuLmMtbW9kYWxfX2ZpbHRlci10aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtbGFyZ2U7XG59XG5cbi8qIEZpbHRlciBJdGVtc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLWZpbHRlci1pdGVtX19maWd1cmUge1xuICB3aWR0aDogMzAlO1xufVxuXG4uYy1maWx0ZXItaXRlbV9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1nYXApICogMC4zNzUpO1xuICB3aWR0aDogNzAlO1xufVxuXG4uYy1maWx0ZXItaXRlbV9faW1hZ2Uge1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvO1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDExNSwgMTM1O1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdCBjb3ZlcjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLW1vZGFsLWZpbHRlci1pbWFnZS1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZWRpdW0pO1xufVxuXG4vKiBGaWx0ZXIgTGlzdCBTdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZmlsdGVyLWxpc3RfX2NvbG9yLWRpc3BsYXkge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLW1vZGFsLWZpbHRlci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMjVweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyNXB4O1xufVxuXG4vKiBGaWx0ZXIgTGlzdCBUaWxlcyAoQWxsIFR5cGVzKSAqL1xuLmMtZmlsdGVyLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tZ2FwLW1pY3JvKTtcbn1cblxuLmMtZmlsdGVyLWxpc3QgLmMtZmlsdGVyLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWZpbHRlci1saXN0IC5jLWZpbHRlci1saXN0X19sYWJlbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1tb2RhbC1maWx0ZXItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtYWxsKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlO1xufVxuXG4uYy1maWx0ZXItbGlzdCAuYy1maWx0ZXItbGlzdF9fbGFiZWw6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYy1maWx0ZXItbGlzdCAuYy1maWx0ZXItbGlzdF9faW5wdXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBDaGVja2VkIHN0YXRlIHN0eWxpbmcgKi9cbi5jLWZpbHRlci1saXN0IC5jLWZpbHRlci1saXN0X19sYWJlbC5pcy1jaGVja2VkLFxuLmMtZmlsdGVyLWxpc3QgLmMtZmlsdGVyLWxpc3RfX2xhYmVsOmhhcyguYy1maWx0ZXItbGlzdF9faW5wdXQ6Y2hlY2tlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmMtZmlsdGVyLWxpc3QgLmMtZmlsdGVyLWxpc3RfX2xhYmVsLXRleHQge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4vKiBIaWRlIHZpc3VhbCBkaXNwbGF5cyAoY29sb3IgY2lyY2xlcywgaW1hZ2VzKSBmb3IgYWxsIGZpbHRlciB0eXBlcyAqL1xuLmMtZmlsdGVyLWxpc3QgLmMtZmlsdGVyLWxpc3RfX2Rpc3BsYXkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTaG93IGNvbG9yIGRpc3BsYXlzIHNwZWNpZmljYWxseSBmb3IgY29sb3IgdGFnIGZpbHRlcnMgKi9cbi5jLWZpbHRlci1saXN0IC5jLWZpbHRlci1saXN0X19kaXNwbGF5OmhhcyguYy1maWx0ZXItbGlzdF9fY29sb3ItZGlzcGxheSkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcbn1cblxuLyogRm9yY2Ugc2hvdyBjb2xvciBkaXNwbGF5cyBpbiBjdXN0b20gY29sb3IgdGFnIGZpbHRlciAqL1xuLmMtY29sb3ItdGFnLWZpbHRlci1pbnB1dCB+IC5jLWZpbHRlci1saXN0X19kaXNwbGF5IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcbn1cblxuLyogQWRkIGJvcmRlciB0byB3aGl0ZS9saWdodCBjb2xvcmVkIHN3YXRjaGVzIGZvciB2aXNpYmlsaXR5ICovXG4uYy1maWx0ZXItbGlzdF9fY29sb3ItZGlzcGxheSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtbW9kYWwtZmlsdGVyLWJvcmRlcik7XG59XG5cbi8qIENvbG9yIGdyb3VwIHN0eWxpbmcgZm9yIHRhZ3MgKi9cbi5jLWZpbHRlci1saXN0X19jb2xvci1ncm91cCB7XG4gIEBtaXhpbiBmb250LXNpemUtbWljcm87XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSwgdmFyKC0tY29sb3ItdGV4dCkpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbm9ybWFsKTtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uYy1maWx0ZXItbGlzdF9faW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc21hbGwpO1xuICBoZWlnaHQ6IDI1cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMjVweDtcbn1cblxuLmMtZmlsdGVyLWxpc3RfX3Zpc3VhbC1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1tb2RhbC1maWx0ZXItaW1hZ2UtYmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc21hbGwpO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xufVxuXG4vKiBGaWx0ZXIgUHJpY2UgUmFuZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX2NvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19mcm9tLFxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX190byB7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19sYWJlbCB7XG4gIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9faW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19jdXJyZW5jeSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgb3BhY2l0eTogMC43O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLyogUHJpY2UgUmFuZ2UgU2xpZGVyIFN0eWxpbmcgKi9cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fdmFsdWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX3ZhbHVlLW1pbixcbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fdmFsdWUtbWF4IHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19zbGlkZXJzIHtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fdHJhY2stZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogMnB4O1xuXHRtYXJnaW4tbGVmdDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTFweDtcbiAgei1pbmRleDogMDtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19zbGlkZXIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMjBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDRweDtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19zbGlkZXI6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xufVxuXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX3NsaWRlcjo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4uYy1maWx0ZXItcHJpY2UtcmFuZ2VfX3NsaWRlcjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fc2xpZGVyOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKHZhcigtLWNvbG9yLXByaW1hcnktcmdiKSwgMC4yKTtcbn1cblxuLmMtZmlsdGVyLXByaWNlLXJhbmdlX19zbGlkZXI6Zm9jdXM6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSh2YXIoLS1jb2xvci1wcmltYXJ5LXJnYiksIDAuMik7XG59XG5cbi5jLWZpbHRlci1wcmljZS1yYW5nZV9fc2xpZGVyLS1tYXgge1xuICB6LWluZGV4OiAyO1xufVxuXG4vKiBTY3JlZW4gUmVhZGVyIE9ubHlcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3Itb25seSB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xufVxuXG4vKiBGaWx0ZXIgRm9vdGVyIChMZWdhY3kpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZmlsdGVyX19mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtbW9kYWwtZmlsdGVyLWJvcmRlcik7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLXNtYWxsKSB2YXIoLS1nYXAtdGlueSk7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG59XG5cbi5jLWZpbHRlci1mb290ZXJfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uYy1maWx0ZXItZm9vdGVyX19pdGVtLXRpdGxlLFxuLmMtZmlsdGVyLWZvb3Rlcl9faXRlbS12YWx1ZS0tc3VidG90YWwge1xuICBAbWl4aW4gbGFiZWw7XG59XG5cbi5jLWZpbHRlci1mb290ZXJfX2l0ZW0tdmFsdWUtLXNoaXBwaW5nIHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xufVxuXG4uYy1maWx0ZXItZm9vdGVyX19idXR0b24ge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC44NzUpO1xuXG4gIC5jLWJ1dHRvbixcbiAgLmMtYnV0dG9uX19sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyogRmlsdGVyIEJ1dHRvbiBTdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbW9kYWxfX2ZpbHRlci1hY3Rpb25zIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWMtbW9kYWwtZmlsdGVyLWJvcmRlcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCh2YXIoLS1nYXAtY29udGFpbmVyKSAqIC0xKSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICh2YXIoLS1nYXAtY29udGFpbmVyKSAqIDIpKTtcbn1cblxuLmMtbW9kYWxfX21lbnUtYnV0dG9uLS1maWx0ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAuYy1tZW51LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNb2RhbCBHYXVnZSBJbmZvIENvbXBvbmVudCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBHYXVnZSBpbmZvIHNwZWNpZmljIG1vZGFsIHN0eWxpbmcgdGhhdCBleHRlbmRzIHRoZSBiYXNlIG1vZGFsIGNvbXBvbmVudC5cbiAqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgb25seSBnYXVnZSBpbmZvIHNwZWNpZmljIHN0eWxlcy4gQmFzZSBtb2RhbCBmdW5jdGlvbmFsaXR5XG4gKiBpcyBoYW5kbGVkIGJ5IG1vZGFsLmNzcy5cbiAqL1xuXG4vKiBHYXVnZSBJbmZvIE1vZGFsIFZhcmlhYmxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgLS1jLW1vZGFsLWdhdWdlLWluZm8tYmc6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1jLW1vZGFsLWdhdWdlLWluZm8tdGV4dDogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC0tYy1tb2RhbC1nYXVnZS1pbmZvLWJvcmRlcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgLS1jLW1vZGFsLWdhdWdlLWluZm8taW1hZ2UtYmc6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogR2F1Z2UgSW5mbyBNb2RhbCBMYXlvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tb2RhbC0tZ2F1Z2UtaW5mb1tjbGFzc10ge1xuICAvKiBJbmhlcml0IGNvbG9ycyBmcm9tIHBhcmVudCBtb2RhbCAqL1xuICAtLWNvbG9yLXRleHQ6IHZhcigtLWMtbW9kYWwtZ2F1Z2UtaW5mby10ZXh0KTtcblxuICAvKiBHYXVnZSBpbmZvIHNwZWNpZmljIHJlc3BvbnNpdmUgYmVoYXZpb3IgKi9cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDMzcmVtO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvKiBHYXVnZSBpbmZvIHNwZWNpZmljIGFuaW1hdGlvbnMgKi9cbiAgJi5pcy1hbmltYXRpbmctaW4ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWluLW1vZGFsLW1vYmlsZTtcblxuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtaW4tbW9kYWwtZGVza3RvcDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFuaW1hdGluZy1vdXQge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtb3V0LW1vZGFsLW1vYmlsZTtcblxuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtb3V0LW1vZGFsLWRlc2t0b3A7XG4gICAgfVxuICB9XG5cbiAgLyogR2F1Z2UgaW5mbyBzcGVjaWZpYyBsYXlvdXQgYWRqdXN0bWVudHMgKi9cbiAgLmMtbW9kYWxfX2lubmVyIHtcbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jLW1vZGFsX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5jLW1vZGFsX19ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLW1vZGFsLWdhdWdlLWluZm8tYmcpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jLW1vZGFsX19jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gIH1cblxuICAuYy1tb2RhbF9faGVhZGVyIHtcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmMtbW9kYWxfX2hlYWRlci1sb2dvIHtcbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmMtbW9kYWxfX2hlYWRlci1hY3Rpb25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cblx0LmMtbW9kYWxfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuXHR9XG5cbiAgLmMtbW9kYWxfX3RpdGxlIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLyogR2F1Z2UgSW5mbyBDb250ZW50XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZ2F1Z2UtaW5mb19fZXhwbGFuYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcblxuICBwIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYy1nYXVnZS1pbmZvX19tYWluLWlsbHVzdHJhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jLWdhdWdlLWluZm9fX2lsbHVzdHJhdGlvbi1pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZWRpdW0pO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogR2F1Z2UgRXhhbXBsZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1nYXVnZS1pbmZvX19leGFtcGxlcyB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWVkaXVtKTtcbn1cblxuLmMtZ2F1Z2UtaW5mb19fZXhhbXBsZXMtdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLmMtZ2F1Z2UtaW5mb19fZXhhbXBsZXMtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXG4gIH1cbn1cblxuLmMtZ2F1Z2UtaW5mb19fZXhhbXBsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLW1vZGFsLWdhdWdlLWluZm8tYm9yZGVyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWMtbW9kYWwtZ2F1Z2UtaW5mby1ib3JkZXIpO1xuXHR9XG5cblx0LmMtZ2F1Z2UtaW5mb19fcHJvZHVjdC1zZWxlY3RlZCAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0fVxufVxuXG4uYy1nYXVnZS1pbmZvX19leGFtcGxlLWltYWdlIHtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtbW9kYWwtZ2F1Z2UtaW5mby1pbWFnZS1iZyk7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLXRpbnkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG5cdFx0LmMtZ2F1Z2UtaW5mb19fcHJvZHVjdC1zZWxlY3RlZCAmIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuXHRcdH1cbiAgfVxufVxuXG4uYy1nYXVnZS1pbmZvX19leGFtcGxlLWNvbnRlbnQge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4uYy1nYXVnZS1pbmZvX19leGFtcGxlLXRpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi5jLWdhdWdlLWluZm9fX2V4YW1wbGUtZGVzY3JpcHRpb24ge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogTW9kYWwgSGVhZGVyIEVsZW1lbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbW9kYWxfX21lbnUtYnV0dG9uLS1nYXVnZS1pbmZvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgLmMtbWVudS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1zbWFsbCk7XG4gICAgfVxuICB9XG59XG5cbi8qIEVtcHR5IFN0YXRlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtZ2F1Z2UtaW5mb19fZW1wdHktc3RhdGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLWxhcmdlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHAge1xuICAgIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIlxuLmMtbW9kYWwtLW5hdltjbGFzc10ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdHJpZ2h0OiAyLjc1cmVtO1xuXG5cdC5jLW1vZGFsX19tYWluIHtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC5jLW1vZGFsX19oZWFkZXIge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdC5jLW1lZ2EtbWVudS1tb2JpbGVfX2hlYWRlci1idXR0b24ge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cblx0LmMtbWVnYS1tZW51LW1vYmlsZV9faGVhZGVyLWJhY2sge1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1vZGFsIFNlYXJjaCBDb21wb25lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU2VhcmNoLXNwZWNpZmljIG1vZGFsIHN0eWxpbmcgdGhhdCBleHRlbmRzIHRoZSBiYXNlIG1vZGFsIGNvbXBvbmVudC5cbiAqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgb25seSBzZWFyY2gtc3BlY2lmaWMgc3R5bGVzLiBCYXNlIG1vZGFsIGZ1bmN0aW9uYWxpdHlcbiAqIGlzIGhhbmRsZWQgYnkgbW9kYWwuY3NzLlxuICovXG5cbi8qIFNlYXJjaCBNb2RhbCBWYXJpYWJsZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdCB7XG4gIC0tYy1tb2RhbC1zZWFyY2gtYmc6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIC0tYy1tb2RhbC1zZWFyY2gtdGV4dDogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC0tYy1tb2RhbC1zZWFyY2gtYm9yZGVyOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAtLWMtbW9kYWwtc2VhcmNoLWltYWdlLWJnOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLyogU2VhcmNoIE1vZGFsIExheW91dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1vZGFsLS1zZWFyY2hbY2xhc3NdIHtcbiAgLyogSW5oZXJpdCBjb2xvcnMgZnJvbSBwYXJlbnQgbW9kYWwgKi9cbiAgLS1jb2xvci1iYWNrZ3JvdW5kOiB2YXIoLS1jLW1vZGFsLXNlYXJjaC1iZyk7XG4gIC0tY29sb3ItdGV4dDogdmFyKC0tYy1tb2RhbC1zZWFyY2gtdGV4dCk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcblx0dG9wOiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQpO1xuXG4gIHotaW5kZXg6IDE0O1xuXG5cdC8qIEFkanVzdCBmb3IgYW5ub3VuY2VtZW50IGJhciBpZiBwcmVzZW50ICovXG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAvKiBTbGlkZSBkb3duIGFuaW1hdGlvbiBmb3IgbW9kYWwgb3Blbi9jbG9zZSAqL1xuICAmLmlzLWFuaW1hdGluZy1pbiB7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1pbi1tb2RhbC1kb3duO1xuICB9XG5cbiAgJi5pcy1hbmltYXRpbmctb3V0IHtcblx0XHRhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtb3V0LW1vZGFsLXVwO1xuICB9XG5cblx0LmMtbW9kYWxfX2NvbnRlbnQuYy1zZWFyY2gge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cblx0LmMtbW9kYWxfX2lubmVyIHtcblx0XHRAbWl4aW4gY29udGFpbmVyO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtbW9kYWwtc2VhcmNoLWJnKTtcblx0fVxuXG5cdC5jLW1vZGFsX19zZWFyY2gge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRnYXA6IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG5cdH1cblxuXHQuYy1wcmVkaWN0aXZlLXNlYXJjaF9faW5wdXQtY29udGFpbmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLW1vZGFsLXNlYXJjaC1iZyk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0fVxuXG5cdC5jLXByZWRpY3RpdmUtc2VhcmNoX19pbnB1dCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1tb2RhbC1zZWFyY2gtYmcpO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXG5cdFx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRcdH1cblx0fVxuXG5cdHByZWRpY3RpdmUtc2VhcmNoIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG4gIC8qIFByZWRpY3RpdmUgc2VhcmNoIHJlc3VsdHMgY29udGFpbmVyICovXG5cdCNwcmVkaWN0aXZlLXNlYXJjaCB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tYy1tb2RhbC1zZWFyY2gtYmcpO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0bWF4LWhlaWdodDogNjB2aDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdFxuXHRcdCZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cblxuXHQuYy1wcmVkaWN0aXZlLXNlYXJjaF9faW5wdXQtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4uYy1tb2RhbC0tc2VhcmNoLWJ1dHRvbiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuXHRzdmcge1xuXHRcdGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogMnJlbTtcblx0fVxufVxuXG4vKiBSZXNldHRpbmcgc29tZSBtb2RhbCBzdHlsZXMgc2luY2UgdGhpcyBtb2RhbCBpcyBub3RoaW5nIGxpa2UgdGhlIGMtbW9kYWwuICovXG4uYy1tb2RhbC5jLW1vZGFsLS1zZWFyY2gsXG4uYy1tb2RhbC5jLW1vZGFsLS1zZWFyY2ggLmMtbW9kYWxfX2lubmVyLFxuLmMtbW9kYWwuYy1tb2RhbC0tc2VhcmNoIC5jLW1vZGFsX19ib2R5LFxuLmMtbW9kYWwuYy1tb2RhbC0tc2VhcmNoIC5jLW1vZGFsX19jb250YWluZXIsXG4uYy1tb2RhbC5jLW1vZGFsLS1zZWFyY2ggLmMtbW9kYWxfX21haW4ge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTW9kYWwgQ29tcG9uZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbW9kYWxzIChvdmVybGF5cykgd2l0aCBjb25zaXN0ZW50IHRoZW1pbmcgYW5kIGFjY2Vzc2liaWxpdHkuXG4gKlxuICogQmFzZSBTdHJ1Y3R1cmU6XG4gKiAtIGMtbW9kYWw6IFJvb3QgbW9kYWwgY29udGFpbmVyXG4gKiAtIGMtbW9kYWxfX2lubmVyOiBTY3JvbGwgY29udGFpbmVyXG4gKiAtIGMtbW9kYWxfX2JvZHk6IE1haW4gZm9ybS9jb250ZW50IHdyYXBwZXJcbiAqIC0gYy1tb2RhbF9fY29udGFpbmVyOiBDb250ZW50IGNvbnRhaW5lclxuICogLSBjLW1vZGFsX19tYWluOiBNYWluIGNvbnRlbnQgYXJlYVxuICogLSBjLW1vZGFsX19oZWFkZXI6IEhlYWRlciBzZWN0aW9uXG4gKiAtIGMtbW9kYWxfX2NvbnRlbnQ6IENvbnRlbnQgc2VjdGlvblxuICogLSBjLW1vZGFsX19mb290ZXI6IEZvb3RlciBzZWN0aW9uXG4gKiAtIGMtbW9kYWxfX2Nsb3NlOiBDbG9zZSBidXR0b24gKHVzaW5nIGMtbWVudS1idXR0b24pXG4gKlxuICogTW9kaWZpZXJzOlxuICogLSBjLW1vZGFsLS1jYXJ0OiBDYXJ0LXNwZWNpZmljIHN0eWxpbmdcbiAqIC0gYy1tb2RhbC0tc2VhcmNoOiBTZWFyY2gtc3BlY2lmaWMgc3R5bGluZ1xuICogLSBjLW1vZGFsLS1maWx0ZXI6IEZpbHRlci1zcGVjaWZpYyBzdHlsaW5nXG4gKlxuICogSmF2YVNjcmlwdCBIb29rczpcbiAqIC0ganMtbW9kYWw6IE1vZGFsIGNvbnRhaW5lclxuICogLSBqcy1tb2RhbC1idG46IE1vZGFsIHRyaWdnZXIvY2xvc2UgYnV0dG9uc1xuICogLSBqcy1tb2RhbC1tYWluOiBNYWluIGNvbnRlbnQgYXJlYVxuICogLSBqcy1vdmVybGF5OiBCYWNrZ3JvdW5kIG92ZXJsYXlcbiAqXG4gKiBTdGF0ZXM6XG4gKiAtIGlzLXZpc2libGU6IE1vZGFsIGlzIG9wZW4gYW5kIHZpc2libGVcbiAqIC0gaXMtYW5pbWF0aW5nLWluOiBNb2RhbCBpcyBhbmltYXRpbmcgb3BlblxuICogLSBpcy1hbmltYXRpbmctb3V0OiBNb2RhbCBpcyBhbmltYXRpbmcgY2xvc2VkXG4gKiAtIGlzLWVtcHR5OiBNb2RhbCBjb250ZW50IGlzIGVtcHR5IChjYXJ0IHNwZWNpZmljKVxuICogLSBpcy1oaWRkZW46IEVsZW1lbnQgaXMgaGlkZGVuXG4gKi9cblxuLyogQ29tcG9uZW50IFZhcmlhYmxlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgLS1jLW1vZGFsLWJnOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgLS1jLW1vZGFsLXRleHQ6IHZhcigtLWNvbG9yLXRleHQpO1xuICAtLWMtbW9kYWwtYm9yZGVyOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAtLWMtbW9kYWwtdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMC4zNiwgMC42NCwgMC4yMywgMC45NCk7XG4gIC0tYy1tb2RhbC1oZWFkZXItaGVpZ2h0OiB2YXIoLS1zaXRlLWhlYWRlci1oZWlnaHQsIDgwcHgpO1xuICAtLWMtbW9kYWwtei1pbmRleDogOTk7XG59XG5cbi8qIEJhc2UgTW9kYWxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tb2RhbCB7XG4gIC8qIENvbG9yIGluaGVyaXRhbmNlICovXG4gIC0tY29sb3ItYmFja2dyb3VuZDogdmFyKC0tYy1tb2RhbC1iZyk7XG4gIC0tY29sb3ItdGV4dDogdmFyKC0tYy1tb2RhbC10ZXh0KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNiwgMC42NCwgMC4yMywgMC45NCk7XG5cbiAgLyogVmlzdWFsICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcblxuICAvKiBBbmltYXRpb24gKi9cbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvKiBMYXlvdXQgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IHZhcigtLWMtbW9kYWwtei1pbmRleCk7XG5cbiAgLyogQWNjZXNzaWJpbGl0eSAqL1xuICAmW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG59XG5cbi8qIE1vZGFsIFN0YXRlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1vZGFsLmlzLWFuaW1hdGluZy1pbiB7XG4gIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLWluLW1vZGFsO1xuXG4gICYuYy1tb2RhbC0tbmF2IHtcbiAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1pbi1tb2RhbC1uYXY7XG4gIH1cbn1cblxuLmMtbW9kYWwuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgLmMtbW9kYWxfX21haW4sXG4gIC5jLW1vZGFsX19mb290ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLmMtbW9kYWxfX2Zvb3RlciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgfVxufVxuXG4uYy1tb2RhbC5pcy1hbmltYXRpbmctb3V0IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1vdXQtbW9kYWw7XG5cbiAgJi5jLW1vZGFsLS1uYXYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLW91dC1tb2RhbC1uYXY7XG4gIH1cblxuICAuYy1tb2RhbF9fbWFpbixcbiAgLmMtbW9kYWxfX2Zvb3RlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLmMtbW9kYWxfX2Zvb3RlciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIH1cbn1cblxuLyogTW9kYWwgU3RydWN0dXJlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbW9kYWxfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bztcblxuICAvKiBIaWRlIHNjcm9sbGJhcnMgZm9yIGNsZWFuIGxvb2sgKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBpT1MgbW9tZW50dW0gc2Nyb2xsaW5nICovXG4gIEBzdXBwb3J0cyAoLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoKSB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cbn1cblxuLmMtbW9kYWxfX2JvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLW1vZGFsX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLW1vZGFsX19tYWluIHtcbiAgZmxleDogMTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtdGlueSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1jLW1vZGFsLXRyYW5zaXRpb24pLCB2aXNpYmlsaXR5IHZhcigtLWMtbW9kYWwtdHJhbnNpdGlvbik7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHR9XG59XG5cbi5jLW1vZGFsX19mb290ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWMtbW9kYWwtdHJhbnNpdGlvbiksIHZpc2liaWxpdHkgdmFyKC0tYy1tb2RhbC10cmFuc2l0aW9uKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogTW9kYWwgSGVhZGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtbW9kYWxfX2hlYWRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1tb2RhbF9faGVhZGVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmstZ3JheSk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiB2YXIoLS1jLW1vZGFsLWhlYWRlci1oZWlnaHQpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgLyogV29yZFByZXNzIGFkbWluIGJhciBjb21wYXRpYmlsaXR5ICovXG4gIC5hZG1pbi1iYXIgJiB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcblxuICAgIEBtZWRpYSAoLS13cC1tZWRpdW0tbWF4KSB7XG4gICAgICBtYXJnaW4tdG9wOiA0NnB4O1xuICAgIH1cbiAgfVxufVxuXG4uYy1tb2RhbF9faGVhZGVyLWxvZ28ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuXG4gIC5jLWljb24ge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uYy1tb2RhbF9faGVhZGVyLWFjdGlvbnMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi8qIE1vZGFsIENvbnRlbnRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tb2RhbF9fY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG59XG5cbi5jLW1vZGFsX19jb250ZW50LWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xufVxuXG4uYy1tb2RhbF9fY29udGVudC10aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtbGFyZ2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblxuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG59XG5cbi8qIE1vZGFsIEZvb3RlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLW1vZGFsX19mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYy1tb2RhbC1ib3JkZXIpO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWVkaXVtKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1zbWFsbCk7XG4gIFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuXG4uYy1tb2RhbF9fZm9vdGVyLS1zdGlja3kge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4vKiBDbG9zZSBCdXR0b25cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tb2RhbF9fbWVudS1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAuYy1tb2RhbC0tbmF2ICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogTW9kYWwgVmFyaWFudHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIENhcnQgTW9kYWwgKi9cbi5jLW1vZGFsLS1jYXJ0IHtcbiAgLmMtbW9kYWxfX2JhZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tZ2FwLXRpbnkpO1xuICB9XG5cbiAgLmMtbW9kYWxfX2JhZy1pY29uIHtcbiAgICAuYy1pY29uIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgICYuaWNvbi0tZmlsbCAuYy1pY29uIHtcbiAgICAgIGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5jLW1vZGFsX19iYWctbGFiZWwge1xuICAgIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG59XG5cbi8qIFNlYXJjaCBNb2RhbCAqL1xuLmMtbW9kYWwtLXNlYXJjaCB7XG4gIC5jLW1vZGFsX19oZWFkZXItc2VhcmNoIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1nYXAtdGlueSk7XG4gIH1cblxuICAuYy1tb2RhbF9faGVhZGVyLXNlYXJjaC1pY29uIHtcbiAgICAuYy1pY29uIHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jLW1vZGFsX19oZWFkZXItc2VhcmNoLWxhYmVsIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgfVxuXG4gIC5jLW1vZGFsX19zZWFyY2gge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG4gIH1cbn1cblxuLyogRmlsdGVyIE1vZGFsICovXG4uYy1tb2RhbC0tZmlsdGVyIHtcbiAgLmMtbW9kYWxfX2ZpbHRlci1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgLmMtbW9kYWxfX2ZpbHRlci1yZXNldCB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC5jLW1vZGFsX19maWx0ZXItYXBwbHkge1xuICAgIGZsZXg6IDI7XG4gIH1cbn1cblxuLyogVXRpbGl0eSBDbGFzc2VzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmlzLWVtcHR5IHtcbiAgLmMtbW9kYWxfX21haW4ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBMZWdhY3kgU3VwcG9ydFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogS2VlcCBzb21lIGxlZ2FjeSBjbGFzc2VzIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5ICovXG4uYy1tb2RhbF9fbWVudS10aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcblxuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbn1cblxuLyogTW9iaWxlIE1lbnUgU3BlY2lmaWMgKGxlZ2FjeSkgKi9cbi5jLW1lbnUtbW9iaWxlX19pdGVtLWxpbmsge1xuICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcbiAgQG1peGluIHBhZGRpbmctYm90dG9tLWdyb3VwIHZhcigtLWdhcC10aW55KTtcblxuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmMtbWVudS1tb2JpbGVfX2l0ZW0tYnV0dG9uIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1tZWRpdW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG59XG5cbi5jLW1lbnUtbW9iaWxlX19jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLWFjY29yZGlvbi10cmFuc2l0aW9uKTtcbn1cblxuLyogQ29sbGFwc2VkIFN0YXRlICovXG4uanMtYWNjb3JkaW9uLWl0ZW1bZGF0YS1zdGF0ZT0nY29sbGFwc2VkJ10gLmMtbWVudS1tb2JpbGVfX2NvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBFeHBhbmRlZCBTdGF0ZSAqL1xuLmpzLWFjY29yZGlvbi1pdGVtW2RhdGEtc3RhdGU9J2V4cGFuZGVkJ10gLmMtbWVudS1tb2JpbGVfX2NvbnRlbnQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy1tZW51LW1vYmlsZV9faXRlbSB7XG4gICYuYy1tZW51LW1vYmlsZV9faXRlbS0tYWNjb3JkaW9uIHtcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG4gICAgfVxuICB9XG59XG5cbi5jLW1lbnUtbW9iaWxlX19pdGVtLWljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAuYy1pY29uIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHdpZHRoOiAwLjc1cmVtO1xuXG4gICAgLmpzLWFjY29yZGlvbi1pdGVtW2RhdGEtc3RhdGU9J2V4cGFuZGVkJ10gJiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4uYy1tZW51LW1vYmlsZV9faXRlbS1saW5rLXRleHQge1xuICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcbn1cblxuLyogQW5pbWF0aW9uc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBrZXlmcmFtZXMgYW5pbWF0ZS1pbi1tb2RhbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtb3V0LW1vZGFsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8qIE5hdmlnYXRpb24gTW9kYWwgU2xpZGUgQW5pbWF0aW9ucyAqL1xuQGtleWZyYW1lcyBhbmltYXRlLWluLW1vZGFsLW5hdiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtb3V0LW1vZGFsLW5hdiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4vKiBBZG1pbiBVSSAobGVnYWN5KVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51aS1hZG1pbi1iYXJfX2JvZHksXG4udWktYWRtaW4tYmFyX19jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE5ld3NsZXR0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIGNvbXBvbmVudCBmb3IgbmV3c2xldHRlci5cbiAqL1xuXG4uYy1uZXdzbGV0dGVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4pO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4uYy1uZXdzbGV0dGVyX19pbm5lciB7XG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxufVxuXG4uYy1uZXdzbGV0dGVyX190aXRsZSB7XG5cdEBtaXhpbiBmb250LXNpemUtc21hbGw7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXhtZWRpdW07XG5cdFx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcblx0fVxufVxuXG4uYy1uZXdzbGV0dGVyX190ZXh0IHtcblx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cbn1cblxuLmMtbmV3c2xldHRlcl9fY29udGVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogNjVyZW07XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG5cdH1cbn1cblxuLmMtbmV3c2xldHRlcl9fY29udGVudC1pbm5lciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1tZWRpdW0pO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBmbGV4LWdyaWQ7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxufVxuXG4uYy1uZXdzbGV0dGVyX19jb2x1bW4ge1xuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDY7XG5cdH1cbn1cblxuLmMtbmV3c2xldHRlcl9fZm9ybS1pbnB1dC0taW5wdXQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyay1ncmF5KTtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRwYWRkaW5nOiAwLjhyZW07XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5jLW5ld3NsZXR0ZXJfX2Zvcm0taW5wdXQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHR9XG59XG5cbi5jLW5ld3NsZXR0ZXJfX2J1dHRvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtc2l6ZTogY2FsYygoMjAgLyAxNikgKiAxcmVtKTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHZhcigtLWdhcC1taWNybyk7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKGNhbGMoKDIyIC8gMTYpICogMXJlbSkgKiAwLjY1KTtcblx0cGFkZGluZy10b3A6IGNhbGMoY2FsYygoMjIgLyAxNikgKiAxcmVtKSAqIDAuNjUpO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59XG5cbi8qKlxuKiBNYXJxdWVlXG4qL1xuXG4uYy1uZXdzbGV0dGVyX19tYXJxdWVlIHtcblx0QG1peGluIGZvbnQtc2l6ZS1odWdlO1xuXHRAbWl4aW4gaXRhbGljO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWRhcmspO1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXhodWdlO1xuXHRcdEBtaXhpbiBpdGFsaWM7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLWRhcmspO1xuXG5cdH1cblxuXHRzcGFuIHtcblx0XHRhbmltYXRpb246IG1hcnF1ZWUtbGVmdCA4cyBsaW5lYXIgaW5maW5pdGU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG5cblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbWVkaXVtKTtcblx0XHR9XG5cdH1cblxuXHQuYy1uZXdzbGV0dGVyX19tYXJxdWVlLWlubmVyIHtcblx0XHRhbmltYXRpb246IG1hcnF1ZWUtbGVmdCA4cyBsaW5lYXIgaW5maW5pdGU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0Lm5ld3NsZXR0ZXItZm9ybV9fbWVzc2FnZSB7XG5cdFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG5cdH1cblxufVxuXG4ubmV3c2xldHRlci1mb3JtX19tZXNzYWdlLS1zdWNjZXNzIHtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGFyZ2UpO1xuXHRwYWRkaW5nLXRvcDogMXJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG4ubmV3c2xldHRlci1mb3JtOmhhcygubmV3c2xldHRlci1mb3JtX19tZXNzYWdlLS1zdWNjZXNzKSB7XG5cdC5jLW5ld3NsZXR0ZXJfX2Zvcm0taW5wdXQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmMtbmV3c2xldHRlcl9fY29udGVudC1pbm5lcjpoYXMoLm5ld3NsZXR0ZXItZm9ybV9fbWVzc2FnZS0tc3VjY2Vzcykge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuIiwiLmMtb3ZlcmxheSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC40cztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzYsIDAuNjQsIDAuMjMsIDAuOTQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tY29sb3ItYmxhY2spIDUwJSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGluc2V0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIDAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE2O1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1hbmltYXRpbmctaW4ge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtaW4tb3ZlcmxheTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgJi5pcy1hbmltYXRpbmctb3V0IHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlLW91dC1vdmVybGF5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuXG4gICYuaXMtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgMCUpO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGFnaW5hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXBhZ2luYXRpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLWdhcC1zbWFsbCk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcCk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWVkaXVtKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRnYXA6IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cbn1cblxuLyogUHJvZ3Jlc3MgSW5kaWNhdG9yICovXG4uYy1wYWdpbmF0aW9uX19wcm9ncmVzcyB7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1nYXAtdGlueSk7XG5cdG1heC13aWR0aDogNDAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGdhcDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgXHRtYXgtd2lkdGg6IDE3cmVtO1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3Byb2dyZXNzLXRleHQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLW1pY3JvO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIGhlaWdodDogMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJvZ3Jlc3MtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4vKiBMb2FkIE1vcmUgQnV0dG9uICovXG4uYy1wYWdpbmF0aW9uX19sb2FkLW1vcmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gIFx0bWFyZ2luLXRvcDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHR3aWR0aDogdW5zZXQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fbG9hZC1tb3JlLWJ0biB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblxuICAmLmxvYWRpbmcge1xuICAgIC5jLXBhZ2luYXRpb25fX2xvYWQtbW9yZS10ZXh0IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLmMtcGFnaW5hdGlvbl9fbG9hZC1tb3JlLWxvYWRpbmcge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHR3aWR0aDogdW5zZXQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fbG9hZC1tb3JlLXRleHQsXG4uYy1wYWdpbmF0aW9uX19sb2FkLW1vcmUtbG9hZGluZyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uKTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fbG9hZC1tb3JlLWxvYWRpbmcge1xuICBsZWZ0OiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vKiBMZWdhY3kgc3R5bGVzIGZvciBmYWxsYmFjayAqL1xuLmMtcGFnaW5hdGlvbl9fbGlzdCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcbn1cblxuLmMtcGFnaW5hdGlvbl9faXRlbS1hcnJvdyB7XG59XG5cbi5jLXBhZ2luYXRpb25fX2ljb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmMtcGFnaW5hdGlvbl9faWNvbi0tcHJldiB7XG4gIC5jLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbn1cbiIsIlxuOnJvb3Qge1xuICAtLWMtcHJlZGljdGl2ZS1zZWFyY2gtYmc6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19pbnB1dC1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtbWljcm8pIC8gMik7XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19pbnB1dC1pY29uIHtcblx0Zm9udC1zaXplOiAxLjNyZW07XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQuYy1pY29uIHtcblx0XHRzdHJva2U6IG5vbmU7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiAxLjU1cmVtO1xuXHR9XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJlZGljdGl2ZS1zZWFyY2gtYmcpO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgKiAxLjUpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgfVxuXG4gICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAzMHB4IHZhcigtLWMtcHJlZGljdGl2ZS1zZWFyY2gtYmcpIGluc2V0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDMwcHggdmFyKC0tYy1wcmVkaWN0aXZlLXNlYXJjaC1iZykgaW5zZXQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG5cbiAgJjotaW50ZXJuYWwtYXV0b2ZpbGwtc2VsZWN0ZWQge1xuICAgIGFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByZWRpY3RpdmUtc2VhcmNoLWJnKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogZmllbGR0ZXh0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJlZGljdGl2ZS1zZWFyY2gtYmcpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByZWRpY3RpdmUtc2VhcmNoLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cblxuICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoLWJ1dHRvbiB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbiIsIi5jLXByZWRpY3RpdmUtc2VhcmNoIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1sYXJnZSk7XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19wcm9kdWN0cy1saXN0IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19wcm9kdWN0cy10aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtbWljcm87XG5cbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtcHJlZGljdGl2ZS1zZWFyY2hfX3Byb2R1Y3QtbGluayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1wcmVkaWN0aXZlLXNlYXJjaF9fcHJvZHVjdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtcHJlZGljdGl2ZS1zZWFyY2hfX3Byb2R1Y3Qge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC10aW55KTtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbn1cblxuLmMtcHJlZGljdGl2ZS1zZWFyY2hfX3Byb2R1Y3QtaW1hZ2Uge1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvIDM1LCA0ODtcbiAgQG1peGluIGFzcGVjdC1yYXRpby1vYmplY3Q7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1pbWFnZSk7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19wcm9kdWN0LXZlbmRvciB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcblxuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1iYXNlbGluZS11bml0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmMtcHJlZGljdGl2ZS1zZWFyY2hfX3Byb2R1Y3QtdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG59XG5cbi5jLXByZWRpY3RpdmUtc2VhcmNoX19wcm9kdWN0LXRleHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwKTtcbiAgd2lkdGg6IDgzJTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBQcmljZSBSYW5nZSBGaWx0ZXJpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcHJpY2UtcmFuZ2UtZmlsdGVyIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFByaWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUHJpY2UgY29tcG9uZW50XG4gKiBVc2VzIHRoZSBjb2xvciBzeXN0ZW0gdmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHRoZW1pbmc6XG4gKiAtIFRleHQ6IC0tY29sb3ItdGV4dFxuICogLSBDb21wYXJlIHByaWNlOiAtLWNvbG9yLXRleHQgd2l0aCBvcGFjaXR5XG4gKi9cblxuLyogQ29tcG9uZW50LXNwZWNpZmljIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuICAtLWMtcHJpY2UtdGV4dDogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC0tYy1wcmljZS1jb21wYXJlOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcbn1cblxuLmMtcHJpY2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYy1wcmljZS10ZXh0KTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtcHJpY2VfX3ByaWNlIHtcblx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblx0bGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbHg7XG5cdH1cbn1cblxuLmMtcHJpY2VfX2NvbXBhcmUtcHJpY2Uge1xuXHRAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICBjb2xvcjogdmFyKC0tYy1wcmljZS1jb21wYXJlKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcblxuXHQucy1wcm9kdWN0LWluZm9ybWF0aW9uX19wcmljZSAmIHtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXNtYWxseDtcblxuXHRcdGNvbG9yOiB2YXIoLS1jLXByaWNlLWNvbXBhcmUpO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0fVxufVxuXG4uYy1wcmljZV9fY3VycmVudC1wcmljZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblxuXHQuaGFzLWNvbXBhcmUtcHJpY2UgJiB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLWVycm9yKTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFByb2R1Y3QgQ2FyZCBDb2xvciBQaWNrZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUHJvZHVjdCBDYXJkIENvbG9yIFBpY2tlciBDb21wb25lbnRcbiAqXG4gKiBERVNJR04gUkFUSU9OQUxFOlxuICogLSBTbWFsbGVyIHZlcnNpb24gb2YgdGhlIG1haW4gY29sb3IgcGlja2VyIGZvciB1c2UgaW4gcHJvZHVjdCBjYXJkc1xuICogLSBQb3NpdGlvbmVkIGluIHByb2R1Y3QgY2FyZCBmb290ZXJcbiAqIC0gVXNlcyBidXR0b25zIGluc3RlYWQgb2YgbGlua3MgKG5vIG5hdmlnYXRpb24pXG4gKiAtIFN3YXBzIGltYWdlcyBpbiB0aGUgY3VycmVudCBjYXJkIHdoZW4gY2xpY2tlZFxuICpcbiAqIFVTQUdFOlxuICogLSBVc2VkIGluIGNvbGxlY3Rpb24gcGFnZXMgb24gcHJvZHVjdCBjYXJkc1xuICogLSBTaG93cyBjb2xvciBvcHRpb25zIGZvciBwcm9kdWN0cyB3aXRoIHNhbWUgU0tVXG4gKiAtIENoYW5nZXMgY2FyZCBpbWFnZXMgb24gc3dhdGNoIGludGVyYWN0aW9uXG4gKlxuICogTUFSS1VQIFNUUlVDVFVSRTpcbiAqIC5jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXJcbiAqICAgLmMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlcl9fc3dhdGNoZXNcbiAqICAgICAuYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyX19zd2F0Y2gtY29udGFpbmVyXG4gKiAgICAgICAuYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyX19zd2F0Y2ggKGJ1dHRvbilcbiAqICAgICAgICAgLmMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlcl9fc3dhdGNoLWNvbG9yXG4gKi9cblxuLyogQ29tcG9uZW50LXNwZWNpZmljIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuICAtLWMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlci1zd2F0Y2gtc2l6ZTogMTFweDtcbiAgLS1jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXItYm9yZGVyOiAxcHg7XG4gIC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWdhcDogMC43NXJlbTtcbiAgLS1jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXItYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcC10aW55KTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuICB9XG59XG5cbi5jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXJfX3N3YXRjaGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLWMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlci1nYXApO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBnYXA6IHZhcigtLWMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlci1nYXApO1xuICB9XG59XG5cbi5jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXJfX3N3YXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXJfX3N3YXRjaCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiB2YXIoLS1jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXItc3dhdGNoLXNpemUpO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgd2lkdGg6IHZhcigtLWMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlci1zd2F0Y2gtc2l6ZSk7XG5cbiAgLyogRGVmYXVsdCBzdGF0ZSAtIG5vIGJvcmRlciAqL1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlcjogdmFyKC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlcikgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlci1ib3JkZXIpIC0gMXB4KTtcbiAgICBjb250ZW50OiAnJztcbiAgICBsZWZ0OiBjYWxjKC0xICogdmFyKC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlcikgLSAxcHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogY2FsYygtMSAqIHZhcigtLWMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlci1ib3JkZXIpIC0gMXB4KTtcbiAgICB0b3A6IGNhbGMoLTEgKiB2YXIoLS1jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXItYm9yZGVyKSAtIDFweCk7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pO1xuICB9XG5cbiAgLyogSG92ZXIgc3RhdGUgLSBzaG93IGJsYWNrIGJvcmRlciAqL1xuICAmOmhvdmVyOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAvKiBBY3RpdmUgc3RhdGUgLSBjdXJyZW50IHByb2R1Y3QgKi9cbiAgJi5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gIC8qIEZvY3VzIHN0YXRlIGZvciBhY2Nlc3NpYmlsaXR5ICovXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgLyogTG9hZGluZyBzdGF0ZSAqL1xuICAmLmlzLWxvYWRpbmcge1xuICAgIGN1cnNvcjogd2FpdDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbn1cblxuLmMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlcl9fc3dhdGNoLWNvbG9yIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyLWJvcmRlci1yYWRpdXMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8qIEZhbGxiYWNrIGZvciBjb2xvcnMgd2l0aG91dCBoZXggdmFsdWVzICovXG4gICYuYy1wcm9kdWN0LWNhcmQtY29sb3ItcGlja2VyX19zd2F0Y2gtY29sb3ItLWZhbGxiYWNrIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuICAgICAgLTQ1ZGVnLFxuXHRcdFx0I2ZmZixcbiAgICAgXHQjZmZmIDJweCxcbiAgICAgIHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpIDJweCxcbiAgICAgIHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpIDRweFxuICAgICk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmstZ3JheSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgZm9udC1zaXplOiA3cHg7XG4gICAgfVxuICB9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0IC0gcmVtb3ZlZCBmb3IgYnJvd3NlciBjb21wYXRpYmlsaXR5ICovXG5cbi8qIFJlZHVjZWQgbW90aW9uIHN1cHBvcnQgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5jLXByb2R1Y3QtY2FyZC1jb2xvci1waWNrZXJfX3N3YXRjaCxcbiAgLmMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlcl9fc3dhdGNoOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cbn1cblxuLyogSW50ZWdyYXRpb24gd2l0aCBwcm9kdWN0IGNhcmQgKi9cbi5jLXByb2R1Y3QtY2FyZF9fZm9vdGVyIHtcbiAgLmMtcHJvZHVjdC1jYXJkLWNvbG9yLXBpY2tlciB7XG4gICAgLyogRW5zdXJlIGNvbG9yIHBpY2tlciBkb2Vzbid0IGludGVyZmVyZSB3aXRoIGNhcmQgbGF5b3V0ICovXG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBQcmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1wcm9kdWN0LWNhcmQtbGFiZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbWFsbCk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1pY3JvKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGRlcik7XG5cdGxlZnQ6IDAuNzVyZW07XG5cdGxldHRlci1zcGFjaW5nOiAwLjEyNWVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZy1ib3R0b206IGNhbGMoY2FsYygwLjI1cmVtICogMS41KSk7XG5cdHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1nYXAtdGlueSkgLyAyKTtcblx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXAtdGlueSkgLyAyKTtcblx0cGFkZGluZy10b3A6IGNhbGMoY2FsYygwLjI1cmVtICogMS41KSk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwLjc1cmVtO1xuXHR3aWR0aDogZml0LWNvbnRlbnQ7XG5cdHotaW5kZXg6IDE7XG59XG5cbi5jLXByb2R1Y3QtY2FyZC1sYWJlbF9faW5uZXIge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUHJvZHVjdCBjYXJkIG1vZGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciBwcm9kdWN0IGNhcmQgbW9kYWxcbiAqL1xuXG4ucy1wcm9kdWN0LWNhcmQtbW9kYWwge1xuICAvKiBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgKi9cbn1cblxuLnMtcHJvZHVjdC1jYXJkLW1vZGFsIHtcbiAgaW5zZXQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwMDA7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG4ucy1wcm9kdWN0LWNhcmQtbW9kYWxfX2JhY2tkcm9wIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmxhY2ssICMwMDApO1xuICBpbnNldDogMDtcbiAgb3BhY2l0eTogMC4zO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5zLXByb2R1Y3QtY2FyZC1tb2RhbF9fZGlhbG9nIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICBib3R0b206IDA7XG4gIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xufVxuXG4ucy1wcm9kdWN0LWNhcmQtbW9kYWxfX2Nsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAxcmVtO1xuICB6LWluZGV4OiAyO1xufVxuXG4ucy1wcm9kdWN0LWNhcmQtbW9kYWxfX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbHg7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnMtcHJvZHVjdC1jYXJkLW1vZGFsX19zaXplcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMXJlbSAwIDAgMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnMtcHJvZHVjdC1jYXJkLW1vZGFsX19zaXplLWJ0biB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucy1wcm9kdWN0LWNhcmQtbW9kYWxfX3NpemUtYnRuOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5zLXByb2R1Y3QtY2FyZC1tb2RhbF9fc2l6ZS1idG46ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ncmV5LWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmstZ3JheSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLnMtcHJvZHVjdC1jYXJkLW1vZGFsX19zaXplcy1ndWlkZSB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gIHBhZGRpbmctbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucy1wcm9kdWN0LWNhcmQtbW9kYWxfX2NvbnRlbnQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbn1cblxuLnMtcHJvZHVjdC1jYXJkLW1vZGFsX19zaXplcy1ndWlkZSB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFByb2R1Y3QgQ2FyZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXByb2R1Y3QtY2FyZCB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdC5jLXByb2R1Y3QtY2FyZF9fZGVza3RvcC1hZGQtdmFyaWFudC10by1jYXJ0IHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0XHRcdH1cblx0XHR9XG4gIH1cbn1cblxuLmMtcHJvZHVjdC1jYXJkX19pbWFnZS1jb250YWluZXIge1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvO1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDM1LCA0ODtcbiAgQG1peGluIGFzcGVjdC1yYXRpby1vYmplY3QgY292ZXI7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1pbWFnZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9faW1hZ2Uge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyogUHJvZHVjdCBDYXJkIFNsaWRlciBTdHlsZXMgKi9cbi5jLXByb2R1Y3QtY2FyZF9fc2xpZGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1wcm9kdWN0LWNhcmRfX3NsaWRlci1pbm5lciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fc2xpZGVyLWdyaWQge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLyogUHJldmVudCBmcmFjdGlvbmFsIHBpeGVsIHBvc2l0aW9uaW5nICovXG4gIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcblxuICAvKiBGaXggZm9yIHN1Yi1waXhlbCByZW5kZXJpbmcgaXNzdWVzICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xufVxuXG4uYy1wcm9kdWN0LWNhcmRfX3NsaWRlci1pdGVtIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLyogRW5zdXJlIHBlcmZlY3QgcGl4ZWwgYWxpZ25tZW50IGFuZCBwcmV2ZW50IHN1Yi1waXhlbCByZW5kZXJpbmcgaXNzdWVzICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuXG4gIC8qIEFjdGl2ZS92aXNpYmxlIHN0YXRlICovXG4gICYuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fc2xpZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtcHJvZHVjdC1jYXJkX19zbGlkZXItbWVkaWEge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIC8qIEltcHJvdmUgaW1hZ2UgcmVuZGVyaW5nIHF1YWxpdHkgKi9cbiAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAvKiBQcmV2ZW50IHN1Yi1waXhlbCByZW5kZXJpbmcgaXNzdWVzICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1wcm9kdWN0LWNhcmRfX3NsaWRlci1tZWRpYS0tZXh0ZXJuYWwtdmlkZW8ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWltYWdlKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fc2xpZGVyLWRvdHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3R0b206IC0yLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41ZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDAuNWVtIDAgMC4yNWVtIDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGJvdHRvbTogLTFyZW07XG5cdH1cbn1cblxuLmMtcHJvZHVjdC1jYXJkX19zbGlkZXItYWRkLXZhcmlhbnQtdG8tY2FydCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRkaXNwbGF5OiBub25lO1xuXHRtYXJnaW4tbGVmdDogMXJlbTtcblx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xuXHRwYWRkaW5nOiB2YXIoLS1nYXAtbWljcm8pO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHQmLm5vLXZhcmlhbnRzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9faW1hZ2UtY29udGFpbmVyLXdyYXBwZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fZGVza3RvcC1hZGQtdmFyaWFudC10by1jYXJ0IHtcbiAgICBib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cblx0XHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cbn1cblxuLmMtcHJvZHVjdC1jYXJkX19zbGlkZXItYWRkLXZhcmlhbnQtdG8tY2FydC10ZXh0IHtcblx0QG1peGluIGZvbnQtc2l6ZS1taWNybztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtcHJvZHVjdC1jYXJkX19zbGlkZXItYWRkLXZhcmlhbnQtdG8tY2FydC1idG5zIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdC5vbmUtdmFyaWFudCAmIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHQuYy12YXJpYW50LXNlbGVjdG9yX19sYWJlbCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cdFx0fVxuXHR9XG5cblx0LmMtdmFyaWFudC1zZWxlY3Rvcl9fbGFiZWwge1xuXHRcdEBtaXhpbiBmb250LXNpemUtbWljcm87XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxufVxuXG4uYy1wcm9kdWN0LWNhcmRfX3NsaWRlci1kb3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICB3aWR0aDogNHB4O1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgXHRoZWlnaHQ6IDVweDtcblx0ICB3aWR0aDogNXB4O1xuXHR9XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fc2xpZGVyLWRvdC5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDAuMjVyZW0gKiA1KTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gIFx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG5cdH1cblxufVxuXG4uYy1wcm9kdWN0LWNhcmRfX2Zvb3Rlci10b3Age1xuXHRmbGV4LWJhc2lzOiA1NSU7XG5cdHdpZHRoOiA1NSU7XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fdmVuZG9yIHtcblx0QG1peGluIGl0YWxpYztcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1iYXNlbGluZS11bml0KTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0fVxufVxuXG4uYy1wcm9kdWN0LWNhcmRfX3ByaWNlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cblx0LmMtcHJpY2VfX2N1cnJlbnQtcHJpY2Uge1xuXHRcdC5oYXMtY29tcGFyZS1wcmljZSAmIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwLW1pY3JvKSAvIDIpO1xuXHRcdH1cblx0fVxuXG5cdC5jLXByaWNlX19wcmljZSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS10aW55O1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtbWljcm8pO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblx0XHR9XG5cdH1cblxuXHQuYy1wcmljZV9fY29tcGFyZS1wcmljZSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS10aW55O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cbiAgLmMtcHJvZHVjdC1jYXJkX19mb290ZXItdG9wICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uYy1wcm9kdWN0LWNhcmRfX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS10aW55O1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcC1taWNybykgLyAyKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblxuXHR9XG59XG5cbi5jLXByb2R1Y3QtY2FyZF9fYmFza2V0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUsICNmZmYpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICB0b3A6IDAuNzVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycztcbiAgd2lkdGg6IDIuNXJlbTtcbiAgei1pbmRleDogMjtcblxuXHQuYy1pY29uIHtcblx0XHRzdHJva2U6IG5vbmU7XG5cdH1cblxuXHQucy1wcm9kdWN0LWNhcmQtbW9kYWwgJiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAxLjJyZW07XG5cdFx0d2lkdGg6IDEuMnJlbTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LyogRGlzYWJsZWQgc3RhdGUgZm9yIG91dCBvZiBzdG9jayBwcm9kdWN0cyAqL1xuXHQmLmlzLWRpc2FibGVkLFxuXHQmOmRpc2FibGVkIHtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdC5jLWljb24ge1xuXHRcdFx0b3BhY2l0eTogMC41O1xuXHRcdH1cblx0fVxuXG5cdC8qIEhpZGUgYnV0dG9uIGNvbXBsZXRlbHkgZm9yIHVuYXZhaWxhYmxlIHByb2R1Y3RzICovXG5cdCYuaXMtdW5hdmFpbGFibGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBQcm9kdWN0IEZvcm0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBQcm9kdWN0IGZvcm0gY29tcG9uZW50XG4gKiBVc2VzIHRoZSBjb2xvciBzeXN0ZW0gdmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHRoZW1pbmc6XG4gKiAtIEJvcmRlcnM6IC0tY29sb3ItYm9yZGVyXG4gKiAtIEJhY2tncm91bmQ6IC0tY29sb3ItYmFja2dyb3VuZFxuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1jLXByb2R1Y3QtZm9ybS1ib3JkZXI6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIC0tYy1wcm9kdWN0LWZvcm0tYmc6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xufVxuXG4uYy1wcm9kdWN0LWZvcm1fX2Zvb3RlciB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXAtc21hbGwpIC0gdmFyKC0tZ2FwLW1pY3JvKSk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucy1wcm9kdWN0LWZvcm1fX3F1YW50aXR5IHtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1wcm9kdWN0LWZvcm0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblx0ZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwcHg7XG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wcm9kdWN0LWZvcm0tYmcpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxufVxuXG4ucy1wcm9kdWN0LWZvcm1fX3ZhcmlhbnRzLWJ1dHRvbnMge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAwLjc1KTtcbn1cblxuLnMtcHJvZHVjdC1mb3JtX19mb3JtIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5cbi5zLXByb2R1Y3QtZm9ybV9fYnV5LWJ1dHRvbiB7XG5cdEBtaXhpbiBmb250LXNpemUtbWVkaXVtO1xuICB3aWR0aDogMTAwJTtcblxuICAuYy1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYy1wcm9kdWN0LWZvcm1fX3Byb2R1Y3QtaW5mby10ZXh0IHtcblx0QG1peGluIGZvbnQtc2l6ZS10aW55O1xuXHRAbWl4aW4gaXRhbGljO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0bWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcblx0d2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4vKiBUZXN0IEJ1dHRvbiBmb3IgR2F1Z2UgSW5mbyBNb2RhbCAqL1xuLmMtcHJvZHVjdC1mb3JtX19nYXVnZS1pbmZvLXRlc3Qge1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1nYXAtc21hbGwpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiBmaXQtY29udGVudDtcblxuXHQuYy1idXR0b24ge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0XHRwYWRkaW5nOiB2YXIoLS1nYXAtdGlueSkgdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFByb2R1Y3QgSW1hZ2UgU2xpZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUHJvZHVjdCBpbWFnZSBzbGlkZXIgY29tcG9uZW50XG4gKiBVc2VzIHRoZSBjb2xvciBzeXN0ZW0gdmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHRoZW1pbmc6XG4gKiAtIEltYWdlIGJhY2tncm91bmQ6IC0tY29sb3ItYmFja2dyb3VuZFxuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1jLXByb2R1Y3Qtc2xpZGVyLWltYWdlLWJnOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbn1cblxuLmMtcHJvZHVjdC1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLXByb2R1Y3Qtc2xpZGVyX19pbWFnZXMge1xuXG59XG5cbi5jLXByb2R1Y3Qtc2xpZGVyX19pbm5lciB7XG4gIEBtZWRpYSAoLS1icC1wcm9kdWN0LXNsaWRlcikge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0b3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgfVxufVxuXG4uYy1wcm9kdWN0LXNsaWRlcl9fZ3JpZCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG5cbiAgQG1lZGlhICgtLWJwLXByb2R1Y3Qtc2xpZGVyKSB7XG4gICAgaGVpZ2h0OiA3NXZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLyogTW9iaWxlOiBTdGFjayBjb250YWluZXIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZmxleC1ncmlkO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG5cblx0XHQuYy1wcm9kdWN0LXNsaWRlcl9faXRlbSB7XG5cdFx0XHRAbWl4aW4gZmxleC1jb2x1bW4gNDtcblx0XHR9XG5cblx0XHQuYy1wcm9kdWN0LXNsaWRlcl9faXRlbTpudGgtY2hpbGQoMSksXG5cdFx0LmMtcHJvZHVjdC1zbGlkZXJfX2l0ZW06bnRoLWNoaWxkKDIpIHtcblx0XHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHRcdH1cbiAgfVxufVxuXG4uYy1wcm9kdWN0LXNsaWRlcl9faXRlbSB7XG4gIC0tY29sdW1uOiAxMS45O1xuXG4gIEBtZWRpYSAoLS1icC1wcm9kdWN0LXNsaWRlcikge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgLS1jb2x1bW46IDY7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tYnAtcHJvZHVjdC1zbGlkZXIpIHtcbiAgLmMtcHJvZHVjdC1zbGlkZXJfX2l0ZW06bnRoLWNoaWxkKDEpIHsgei1pbmRleDogMTA7IH1cbiAgLmMtcHJvZHVjdC1zbGlkZXJfX2l0ZW06bnRoLWNoaWxkKDIpIHsgei1pbmRleDogOTsgfVxuICAuYy1wcm9kdWN0LXNsaWRlcl9faXRlbTpudGgtY2hpbGQoMykgeyB6LWluZGV4OiA4OyB9XG4gIC5jLXByb2R1Y3Qtc2xpZGVyX19pdGVtOm50aC1jaGlsZCg0KSB7IHotaW5kZXg6IDc7IH1cbiAgLmMtcHJvZHVjdC1zbGlkZXJfX2l0ZW06bnRoLWNoaWxkKDUpIHsgei1pbmRleDogNjsgfVxuICAuYy1wcm9kdWN0LXNsaWRlcl9faXRlbTpudGgtY2hpbGQoNikgeyB6LWluZGV4OiA1OyB9XG4gIC5jLXByb2R1Y3Qtc2xpZGVyX19pdGVtOm50aC1jaGlsZCg3KSB7IHotaW5kZXg6IDQ7IH1cbiAgLmMtcHJvZHVjdC1zbGlkZXJfX2l0ZW06bnRoLWNoaWxkKDgpIHsgei1pbmRleDogMzsgfVxuICAuYy1wcm9kdWN0LXNsaWRlcl9faXRlbTpudGgtY2hpbGQoOSkgeyB6LWluZGV4OiAyOyB9XG4gIC5jLXByb2R1Y3Qtc2xpZGVyX19pdGVtOm50aC1jaGlsZCgxMCkgeyB6LWluZGV4OiAxOyB9XG59XG5cbi5jLXByb2R1Y3Qtc2xpZGVyX19tZWRpYSxcbi5jLXByb2R1Y3Qtc2xpZGVyX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG5cdHZpZGVvLFxuICBpbWcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJvZHVjdC1zbGlkZXItaW1hZ2UtYmcpO1xuICAgIGhlaWdodDogNzV2aDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y3Vyc29yOiB1cmwoJ3pvb20taW4uc3ZnJykgMTMgMTMsIGF1dG87XG5cdFx0fVxuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgdmlkZW8ge1xuICAgIGFzcGVjdC1yYXRpbzogMyAvIDQ7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdGN1cnNvcjogdXJsKCdwbGF5LnN2ZycpIDEzIDEzLCBhdXRvO1xuXG5cdFx0XHQmLnBsYXlpbmcge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdFx0XHRjdXJzb3I6IHVybCgncGF1c2Uuc3ZnJykgMTMgMTMsIGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXG4gICAgLyogQmV0dGVyIHRodW1ibmFpbCBxdWFsaXR5ICovXG4gICAgJjo6LXdlYmtpdC1tZWRpYS1jb250cm9scyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4uYy1wcm9kdWN0LXNsaWRlcl9fY291bnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEycHg7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwLjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB6LWluZGV4OiAxNTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUHJvZHVjdCBTdG9jayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcHJvZHVjdC1zdG9ja19faW5uZXIge1xuICBAbWl4aW4gbGFiZWw7XG4gIEBtaXhpbiBmb250LXNpemUtbWljcm87XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1wcm9kdWN0LXN0b2NrX19pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgd2lkdGg6IDAuNXJlbTtcblxuICAmLmlzLWluLXN0b2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTtcbiAgfVxuXG4gICYuaXMtb3V0LW9mLXN0b2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gIH1cbn1cblxuLmMtcHJvZHVjdC1zdG9ja19fdGl0bGUge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG59XG5cbi5jLXByb2R1Y3Qtc3RvY2tfX3RleHQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBTaXplIENoYXJ0IFRhYmxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmV1c2FibGUgc2l6ZSBjaGFydCB0YWJsZSBjb21wb25lbnRcbiAqXG4gKiBQcm92aWRlcyBjb25zaXN0ZW50IHN0eWxpbmcgZm9yIHNpemUgY2hhcnQgdGFibGVzIGFjcm9zcyB0aGUgc2l0ZS5cbiAqIEluY2x1ZGVzIHJlc3BvbnNpdmUgYmVoYXZpb3IgYW5kIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMuXG4gKi9cblxuLmMtc2l6ZS1jaGFydCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1saWdodCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1ib2R5KTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtc2l6ZS1jaGFydCB0aCxcbi5jLXNpemUtY2hhcnQgdGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLXNtYWxsKSB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBIZWFkZXIgc3R5bGluZyAqL1xuLmMtc2l6ZS1jaGFydCB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4vKiBGaXJzdCBjb2x1bW4gKHNpemUgbmFtZXMpIC0gbGVmdCBhbGlnbmVkIGFuZCBib2xkICovXG4uYy1zaXplLWNoYXJ0IHRkOmZpcnN0LWNoaWxkLFxuLmMtc2l6ZS1jaGFydCB0aDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8qIFdoZW4gYm90aCBmaXJzdCBjb2x1bW4gYW5kIGhlYWRlciAqL1xuLmMtc2l6ZS1jaGFydCB0aDpmaXJzdC1jaGlsZCB7XG4gIHotaW5kZXg6IDM7XG59XG5cbi8qIERhdGEgY2VsbHMgKi9cbi5jLXNpemUtY2hhcnQgdGQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtc21hbGwpO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xufVxuXG4vKiBSZW1vdmUgYm9yZGVyIGZyb20gbGFzdCByb3cgKi9cbi5jLXNpemUtY2hhcnQgdHI6bGFzdC1jaGlsZCB0aCxcbi5jLXNpemUtY2hhcnQgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qIFplYnJhIHN0cmlwaW5nIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkgKi9cbi5jLXNpemUtY2hhcnQgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC10ZXJ0aWFyeSk7XG59XG5cbi5jLXNpemUtY2hhcnQgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkOmZpcnN0LWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xufVxuXG4vKiBIb3ZlciBlZmZlY3QgKi9cbi5jLXNpemUtY2hhcnQgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFjY2VudCk7XG59XG5cbi5jLXNpemUtY2hhcnQgdGJvZHkgdHI6aG92ZXIgdGQ6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWFjY2VudCk7XG59XG5cbi8qIFJlc3BvbnNpdmUgYmVoYXZpb3IgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1zaXplLWNoYXJ0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbiAgfVxuXG4gIC5jLXNpemUtY2hhcnQgdGgsXG4gIC5jLXNpemUtY2hhcnQgdGQge1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC10aW55KSB2YXIoLS1nYXAtc21hbGwpO1xuICB9XG59XG5cbi8qIEV4dHJhIHNtYWxsIHNjcmVlbnMgLSBob3Jpem9udGFsIHNjcm9sbCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5jLXNpemUtY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgY2FsYygtMSAqIHZhcigtLWdhcC1tZWRpdW0pKTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBwYWRkaW5nOiAwIHZhcigtLWdhcC1tZWRpdW0pO1xuICB9XG5cbiAgLmMtc2l6ZS1jaGFydCB7XG4gICAgbWluLXdpZHRoOiA1MDBweDtcbiAgfVxufVxuXG4vKiBBbHRlcm5hdGl2ZTogUmVzcG9uc2l2ZSB0YWJsZSB0aGF0IHRyYW5zZm9ybXMgb24gbW9iaWxlICovXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmMtc2l6ZS1jaGFydC0tcmVzcG9uc2l2ZSB7XG4gICAgLyogU3RhY2sgdGFibGUgaW50byBjYXJkIGxheW91dCBvbiB2ZXJ5IHNtYWxsIHNjcmVlbnMgKi9cblxuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGJvZHksXG4gICAgdHIsXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1nYXAtdGlueSkgMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgdGQ6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWxhYmVsKSBcIjogXCI7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS10aW55KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0b3A6IHZhcigtLWdhcC10aW55KTtcbiAgICB9XG5cbiAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWVkaXVtKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICB0ZDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIFNpemUgZ3VpZGUgc3BlY2lmaWMgdGFibGUgc3R5bGluZyAqL1xuLmMtc2l6ZS1ndWlkZSAuYy1zaXplLWNoYXJ0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLW1lZGl1bSk7XG59XG5cbi8qIFByaW50IHN0eWxlcyAqL1xuQG1lZGlhIHByaW50IHtcbiAgLmMtc2l6ZS1jaGFydCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLmMtc2l6ZS1jaGFydCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBTaXplIEd1aWRlIE1vZGFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1vZGFsIHNwZWNpZmljIG92ZXJyaWRlcyAqL1xuLmMtbW9kYWwtLXNpemUtZ3VpZGVbY2xhc3NdIHtcbiAgLyogSW5oZXJpdCBjb2xvcnMgZnJvbSBwYXJlbnQgbW9kYWwgKi9cbiAgLS1jb2xvci10ZXh0OiB2YXIoLS1jb2xvci10ZXh0KTtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gIC8qIFNpemUgZ3VpZGUgc3BlY2lmaWMgcmVzcG9uc2l2ZSBiZWhhdmlvciAqL1xuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzNyZW07XG4gIH1cblxuICAmLmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC8qIFNpemUgZ3VpZGUgc3BlY2lmaWMgYW5pbWF0aW9ucyAqL1xuICAmLmlzLWFuaW1hdGluZy1pbiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGFuaW1hdGUtaW4tbW9kYWwtbW9iaWxlO1xuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1pbi1tb2RhbC1kZXNrdG9wO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYW5pbWF0aW5nLW91dCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1vdXQtbW9kYWwtbW9iaWxlO1xuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZS1vdXQtbW9kYWwtZGVza3RvcDtcbiAgICB9XG4gIH1cblxuICAvKiBTaXplIGd1aWRlIHNwZWNpZmljIGxheW91dCBhZGp1c3RtZW50cyAqL1xuICAuYy1tb2RhbF9faW5uZXIge1xuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmMtbW9kYWxfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLmMtbW9kYWxfX2JvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jLW1vZGFsX19jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gIH1cblxuICAuYy1tb2RhbF9faGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmMtbW9kYWxfX2hlYWRlci1hY3Rpb25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmMtbW9kYWxfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG4gIH1cblxuICAuYy1tb2RhbF9fdGl0bGUge1xuICAgIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5cbi8qKlxuICogU2l6ZSBHdWlkZSBNb2RhbCBDb21wb25lbnRcbiAqXG4gKiBEaXNwbGF5cyBzaXplIGd1aWRlcyB3aXRoIHByb2R1Y3QgaW1hZ2VzLCBndWlkZSBpbWFnZXMsIGFuZCBzaXplIGNoYXJ0cy5cbiAqIExheW91dCBhZGFwdHMgZnJvbSB0d28tY29sdW1uIG9uIGRlc2t0b3AgdG8gc3RhY2tlZCBvbiBtb2JpbGUuXG4gKi9cblxuLmMtc2l6ZS1ndWlkZV9fZXhwbGFuYXRpb24ge1xuICBwIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXNlY29uZGFyeSk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5jLXNpemUtZ3VpZGVfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwKTtcbn1cblxuLmMtc2l6ZS1ndWlkZV9faW1hZ2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1nYXAtdGlueSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xufVxuXG4uYy1zaXplLWd1aWRlX19wcm9kdWN0LWltYWdlLFxuLmMtc2l6ZS1ndWlkZV9fZ3VpZGUtaW1hZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaW1nIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcblx0XHR3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYy1zaXplLWd1aWRlX19wcm9kdWN0LWltYWdlIHtcblx0ZmxleDogY2FsYygoIDEwMCAvICggNyAvIDEyICkgKSAqIDElKTtcblx0ZmxleC1ncm93OiAwO1xuXHRtYXgtd2lkdGg6IGNhbGMoKCAxMDAgLyAoIDcgLyAxMiApICkgKiAxJSk7XG59XG5cbi5jLXNpemUtZ3VpZGVfX2d1aWRlLWltYWdlIHtcblx0ZmxleDogY2FsYygoIDEwMCAvICggNSAvIDEyICkgKSAqIDElKTtcblx0ZmxleC1ncm93OiAwO1xuXHRtYXgtd2lkdGg6IGNhbGMoKCAxMDAgLyAoIDUgLyAxMiApICkgKiAxJSk7XG59XG5cbi5jLXNpemUtZ3VpZGVfX2ltYWdlLWNhcHRpb24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1zbWFsbCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmMtc2l6ZS1ndWlkZV9fY2hhcnQtY29udGFpbmVyIHtcbiAgLyogVGFibGUgY29udGFpbmVyIHdpbGwgaGFuZGxlIHJlc3BvbnNpdmUgYmVoYXZpb3IgKi9cbn1cblxuLmMtc2l6ZS1ndWlkZV9fY2hhcnQge1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgbWFyZ2luOiAwO1xuXHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC1zbWFsbCkgdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1wcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1taWNybyk7XG5cdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIC8qIEV2ZXJ5IHNlY29uZCB0aCBnZXRzIGRpZmZlcmVudCBiYWNrZ3JvdW5kICovXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1pY3JvKTtcblxuICAgIC8qIEV2ZXJ5IHNlY29uZCB0ZCBnZXRzIGRpZmZlcmVudCBiYWNrZ3JvdW5kICovXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuXG5cdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuICB9XG5cbiAgLyogRmlyc3QgY29sdW1uIHN0eWxpbmcgKHVzdWFsbHkgc2l6ZSBuYW1lcykgKi9cbiAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICB9XG5cblx0dHIge1xuXHRcdHRkOmZpcnN0LWNoaWxkIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0XHR9XG5cdH1cblxuXHR0cjpmaXJzdC1jaGlsZCB7XG5cdFx0dGQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG4gIC8qIFJlbW92ZSBib3JkZXIgZnJvbSBsYXN0IHJvdyAqL1xuICB0cjpsYXN0LWNoaWxkIHtcbiAgICB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8qIFplYnJhIHN0cmlwaW5nIGZvciBiZXR0ZXIgcmVhZGFiaWxpdHkgKi9cbiAgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXRlcnRpYXJ5KTtcbiAgfVxuXG4gIC8qIFJlc3BvbnNpdmUgdGFibGUgYmVoYXZpb3IgKi9cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgdGFibGUge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtdGlueSk7XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwLXRpbnkpIHZhcigtLWdhcC1zbWFsbCk7XG4gICAgfVxuXG4gICAgLyogU3RhY2sgdGFibGUgaG9yaXpvbnRhbGx5IGlmIHRvbyBtYW55IGNvbHVtbnMgKi9cbiAgICAmLmMtc2l6ZS1ndWlkZV9fY2hhcnQtLXNjcm9sbGFibGUge1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgICAgdGFibGUge1xuICAgICAgICBtaW4td2lkdGg6IDUwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYy1zaXplLWd1aWRlX19kZXNjcmlwdGlvbiB7XG4gIC8qIEZvciBibG9nIHBvc3RzIHdpdGhvdXQgdGFibGVzIC0gc2hvdyBmb3JtYXR0ZWQgY29udGVudCAqL1xuXG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1ib2R5KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgfVxuXG4gIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtbGFyZ2UpO1xuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG4gIH1cbn1cblxuLmMtc2l6ZS1ndWlkZV9fbm8tZ3VpZGUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtZXh0cmEtbGFyZ2UpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbWVkaXVtKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBTb2NpYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNvY2lhbCBjb21wb25lbnRcbiAqIFVzZXMgdGhlIGNvbG9yIHN5c3RlbSB2YXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgdGhlbWluZzpcbiAqIC0gVGV4dDogLS1jb2xvci10ZXh0XG4gKiAtIEljb246IC0tY29sb3ItdGV4dFxuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1jLXNvY2lhbC10ZXh0OiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgLS1jLXNvY2lhbC1pY29uOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgLS1jLXNvY2lhbC1tb2RhbC10ZXh0OiB2YXIoLS1jb2xvci1ibGFjayk7XG59XG5cbi5jLXNvY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xufVxuXG4uYy1zb2NpYWxfX2l0ZW0ge1xuICBAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cbiAgY29sb3I6IHZhcigtLWMtc29jaWFsLXRleHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtc21hbGwpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuYy1tb2RhbF9fZm9vdGVyICYge1xuICAgIGNvbG9yOiB2YXIoLS1jLXNvY2lhbC1tb2RhbC10ZXh0KTtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmMtc29jaWFsX19saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYy1zb2NpYWxfX2xpbms6aG92ZXIgLmMtc29jaWFsX19pdGVtLWljb24sXG4uYy1zb2NpYWxfX2xpbms6Zm9jdXMgLmMtc29jaWFsX19pdGVtLWljb24ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xufVxuXG4uYy1zb2NpYWxfX2l0ZW0taWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1jLXNvY2lhbC1pY29uKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjc1cmVtO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gIC5jLWljb24ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFNvcnQgRmFjZXQgQ29tcG9uZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNvcnQgZmFjZXQgZHJvcGRvd24gY29tcG9uZW50IHN0eWxlZCB0byBtYXRjaCB0aGUgY2xlYW4gZGVzaWduIHJlZmVyZW5jZS5cbiAqIFByb3ZpZGVzIHByb2R1Y3Qgc29ydGluZyBmdW5jdGlvbmFsaXR5IHdpdGggbWluaW1hbCwgdW5kZXJsaW5lZCBzdHlsaW5nLlxuICovXG5cbi8qIFNvcnQgRmFjZXQgQ29udGFpbmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc29ydC1mYWNldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1zb3J0LWZhY2V0X19mb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy1zb3J0LWZhY2V0X19mb3JtLS1ob3Jpem9udGFsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLyogU29ydCBGYWNldCBGaWVsZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNvcnQtZmFjZXRfX2ZpZWxkIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1nYXAtbWljcm8pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLXNvcnQtZmFjZXRfX2xhYmVsIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1taWNybztcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogU2VsZWN0IFdyYXBwZXIgJiBTdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc29ydC1mYWNldF9fc2VsZWN0LXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IHZhcigtLWdhcC10aW55KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1zb3J0LWZhY2V0X19zZWxlY3Qge1xuICBAbWl4aW4gZm9udC1zaXplLW1pY3JvO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBtYXJnaW46IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxufVxuXG4uYy1zb3J0LWZhY2V0X19zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi8qIFNlbGVjdCBIb3ZlciBTdGF0ZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zb3J0LWZhY2V0X19zZWxlY3Q6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5jLXNvcnQtZmFjZXRfX3NlbGVjdC13cmFwcGVyOmhvdmVyIC5jLXNvcnQtZmFjZXRfX2Fycm93IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBEcm9wZG93biBBcnJvd1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNvcnQtZmFjZXRfX2Fycm93IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jLXNvcnQtZmFjZXRfX2Fycm93IHN2ZyB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMWVtO1xufVxuXG4vKiBTZWxlY3QgT3B0aW9ucyBTdHlsaW5nICh3aGVuIG9wZW5lZClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zb3J0LWZhY2V0X19zZWxlY3Qgb3B0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC10aW55KSB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4vKiBSZXNwb25zaXZlIEFkanVzdG1lbnRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhICgtLWJwLXNtYWxsLW1heCkge1xuICAuYy1zb3J0LWZhY2V0X19sYWJlbCB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1taWNybztcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmMtc29ydC1mYWNldF9fY3VycmVudC1zZWxlY3Rpb24sXG4gIC5jLXNvcnQtZmFjZXRfX3NlbGVjdCB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1taWNybztcbiAgfVxufVxuXG4vKiBGb2N1cyBhbmQgQWNjZXNzaWJpbGl0eVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNvcnQtZmFjZXRfX3NlbGVjdDpmb2N1cyB+IC5jLXNvcnQtZmFjZXRfX2Fycm93IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKiBMb2FkaW5nIFN0YXRlIChvcHRpb25hbClcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1zb3J0LWZhY2V0LmlzLWxvYWRpbmcgLmMtc29ydC1mYWNldF9fc2VsZWN0IHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uYy1zb3J0LWZhY2V0LmlzLWxvYWRpbmcgLmMtc29ydC1mYWNldF9fYXJyb3cge1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbi8qIEFsdGVybmF0aXZlIFZlcnRpY2FsIExheW91dFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXNvcnQtZmFjZXRfX2Zvcm06bm90KC5jLXNvcnQtZmFjZXRfX2Zvcm0tLWhvcml6b250YWwpIC5jLXNvcnQtZmFjZXRfX2ZpZWxkIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tZ2FwLW1pY3JvKTtcbn1cblxuLmMtc29ydC1mYWNldF9fZm9ybTpub3QoLmMtc29ydC1mYWNldF9fZm9ybS0taG9yaXpvbnRhbCkgLmMtc29ydC1mYWNldF9fbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgVG9hc3QgTm90aWZpY2F0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgY29tcG9uZW50IGZvciB0b2FzdCBub3RpZmljYXRpb25zXG4gKi9cblxuLmMtdG9hc3Qge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBub25lO1xuXHRnYXA6IDFyZW07XG5cdG9wYWNpdHk6IDA7XG5cdHJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHR0b3A6IDVyZW07XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xuXHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdHdpZHRoOiBmaXQtY29udGVudDtcblx0ei1pbmRleDogMTAwMDA7XG5cblx0Ji5pcy12aXNpYmxlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdH1cblxuXHQuYy10b2FzdF9fdGl0bGUtLWVycm9yIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Ji5jLXRvYXN0LS1zdWNjZXNzIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcblx0XHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cGFkZGluZzogMXJlbSAxLjVyZW07XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHotaW5kZXg6IDEwMDAwO1xuXHR9XG5cblx0Ji5jLXRvYXN0LS1lcnJvciB7XG4gICAgYmFja2dyb3VuZDogI2Y0NDMzNjtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblxuXHRcdC5jLXRvYXN0X19jaGVja291dC1idG4ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuYy10b2FzdF9fdGl0bGUtLWVycm9yIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC5jLXRvYXN0X190aXRsZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5jLXRvYXN0X19tZXNzYWdlLS1lcnJvciB7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuXHRcdH1cblxuXHRcdC5jLXRvYXN0X190ZXh0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIGxlZnQ6IGF1dG87XG5cdFx0cmlnaHQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuXHR9XG59XG5cbi5jLXRvYXN0X19jb250ZW50IHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMTtcblx0Z2FwOiAwLjc1cmVtO1xufVxuXG4uYy10b2FzdF9faW1hZ2Uge1xuXHRmbGV4LXNocmluazogMDtcbn1cblxuLmMtdG9hc3RfX2ltYWdlIGltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRoZWlnaHQ6IDYwcHg7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR3aWR0aDogNjBweDtcbn1cblxuLmMtdG9hc3RfX3RleHQge1xuXHRmbGV4OiAxO1xuXHRtaW4td2lkdGg6IDA7XG59XG5cbi5jLXRvYXN0X190aXRsZSB7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcC1taWNybykgLyAyKTtcbn1cblxuLmMtdG9hc3RfX21lc3NhZ2Uge1xuXHRAbWl4aW4gZm9udC1zaXplLW1pY3JvO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcC1taWNybykgLyAyKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmMtdG9hc3RfX2Nsb3NlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JleS1kYXJrLCAjOTk5KTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRmbGV4LXNocmluazogMDtcblx0cGFkZGluZzogMC4yNXJlbTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uYy10b2FzdF9fY2xvc2U6aG92ZXIge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG59XG5cbi5jLXRvYXN0X19jbG9zZSBzdmcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxNnB4O1xuXHR3aWR0aDogMTZweDtcbn1cblxuLmMtdG9hc3RfX2NoZWNrb3V0LWJ0biB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFZhcmlhbnQgU2VsZWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBjb21wb25lbnQgZm9yIHZhcmlhbnQgc2VsZWN0b3JcbiAqIFVzZXMgdGhlIGNvbG9yIHN5c3RlbSB2YXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgdGhlbWluZzpcbiAqIC0gQm9yZGVyczogLS1jb2xvci1ib3JkZXJcbiAqIC0gQmFja2dyb3VuZDogLS1jb2xvci1iYWNrZ3JvdW5kXG4gKiAtIFRleHQ6IC0tY29sb3ItdGV4dFxuICovXG5cbi8qIENvbXBvbmVudC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1jLXZhcmlhbnQtc2VsZWN0b3ItYm9yZGVyOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAtLWMtdmFyaWFudC1zZWxlY3Rvci1iZzogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIC0tYy12YXJpYW50LXNlbGVjdG9yLXRleHQ6IHZhcigtLWNvbG9yLXRleHQpO1xuICAtLWMtdmFyaWFudC1zZWxlY3Rvci1zZWxlY3RlZC1iZzogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tYy12YXJpYW50LXNlbGVjdG9yLXNlbGVjdGVkLXRleHQ6IHZhcigtLWhvdmVyLXByaW1hcnkpO1xuICAtLWMtdmFyaWFudC1zZWxlY3Rvci1zZWxlY3RlZC1ib3JkZXI6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4uYy12YXJpYW50LXNlbGVjdG9yIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG5cbiAgJi5jLXZhcmlhbnQtc2VsZWN0b3ItLWNvbG9yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgfVxufVxuXG4uYy12YXJpYW50LXNlbGVjdG9yW2Rpc2FibGVkXSxcbi5jLXZhcmlhbnQtc2VsZWN0b3I6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZGFyay1ncmF5KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLXZhcmlhbnQtc2VsZWN0b3JfX29wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHdyYXA7XG59XG5cbi5jLXZhcmlhbnQtc2VsZWN0b3JfX2lucHV0IHtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4O1xuXG5cdCYub3B0aW9uLW91dC1vZi1zdG9jayArIC5jLXZhcmlhbnQtc2VsZWN0b3JfX2xhYmVsIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdH1cblxuXHQucy1wcm9kdWN0LWluZm9ybWF0aW9uX19kZXRhaWxzICYge1xuXG5cdH1cbn1cblxuLmMtdmFyaWFudC1zZWxlY3Rvcl9fbmFtZSB7XG4gIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG4gIEBtaXhpbiBsYWJlbDtcblxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1pY3JvKTtcblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5jLXZhcmlhbnQtc2VsZWN0b3JfX29wdGlvbiB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWljcm8pO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbWljcm8pO1xufVxuXG4uYy12YXJpYW50LXNlbGVjdG9yX19sYWJlbCB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtdmFyaWFudC1zZWxlY3Rvci1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0aGVpZ2h0OiAycmVtO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjpcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuICAgIGNvbG9yIHZhcigtLXRyYW5zaXRpb24pLFxuICAgIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmLmMtdmFyaWFudC1zZWxlY3Rvcl9fbGFiZWwtLWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXZhcmlhbnQtc2VsZWN0b3ItYmcpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0LjNyZW07XG5cbiAgICAvKiBBZGQgY29sb3Igc3dhdGNoIGJhY2tncm91bmQgaWYgZGF0YS1jb2xvciBhdHRyaWJ1dGUgaXMgcHJlc2VudCAqL1xuICAgICZbZGF0YS1jb2xvcl0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3dhdGNoKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDFyZW07XG5cdFx0XHRoZWlnaHQ6IDFyZW07XG5cdFx0XHR3aWR0aDogMXJlbTtcblxuXHRcdFx0LmMtdmFyaWFudC1zZWxlY3Rvci0tY29sb3IgJiB7XG5cdFx0XHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zd2F0Y2gpO1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXZhcmlhbnQtc2VsZWN0b3Itc2VsZWN0ZWQtYm9yZGVyKTtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdGJvdHRvbTogLTAuMjVyZW07XG5cdFx0XHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0XHRcdGxlZnQ6IC0wLjI1cmVtO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IC0wLjI1cmVtO1xuXHRcdFx0XHRcdFx0dG9wOiAtMC4yNXJlbTtcblx0XHRcdFx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuICAgIH1cbiAgfVxuXG4gIC5jLXZhcmlhbnQtc2VsZWN0b3JfX2lucHV0OmNoZWNrZWQgKyAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXZhcmlhbnQtc2VsZWN0b3Itc2VsZWN0ZWQtYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXZhcmlhbnQtc2VsZWN0b3Itc2VsZWN0ZWQtdGV4dCk7XG4gIH1cblxuICAuYy12YXJpYW50LXNlbGVjdG9yX19pbnB1dDpmb2N1cyArICYge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG5cbiAgLmMtdmFyaWFudC1zZWxlY3Rvcl9faW5wdXQ6Y2hlY2tlZCArICYuYy12YXJpYW50LXNlbGVjdG9yX19sYWJlbC0taW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdmFyaWFudC1zZWxlY3Rvci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWMtdmFyaWFudC1zZWxlY3Rvci10ZXh0KTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gIC5jLXZhcmlhbnQtc2VsZWN0b3JfX2lucHV0OmNoZWNrZWQgKyAmLmMtdmFyaWFudC1zZWxlY3Rvcl9fbGFiZWwtLWltYWdlIHtcbiAgICAuYy12YXJpYW50LXNlbGVjdG9yX19jb2xvci1uYW1lIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBmb250LXNpemUtbWljcm87XG5cdH1cbn1cblxuLmMtdmFyaWFudC1zZWxlY3Rvcl9fc2VsZWN0ZWQtY29sb3ItdmFsdWUge1xuXHRAbWl4aW4gaXRhbGljO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi5jLXZhcmlhbnQtc2VsZWN0b3JfX2ltYWdlIHtcbiAgQG1peGluIGFzcGVjdC1yYXRpbyA0LCA1O1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdCBjb3ZlcjtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICBpbWc6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLmMtdmFyaWFudC1zZWxlY3Rvcl9fY29sb3ItbmFtZSB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueSAxO1xuXG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDEwMCUpO1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbiksXG4gICAgdmlzaWJpbGl0eSB2YXIoLS10cmFuc2l0aW9uKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uYy12YXJpYW50LXNlbGVjdG9yX19pbnB1dFthdmFpbGFibGU9XCJmYWxzZVwiXSArIC5jLXZhcmlhbnQtc2VsZWN0b3JfX2xhYmVsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrLWdyYXkpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBWaWRlbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLXZpZGVvX192aWRlbyB7XG5cdGFzcGVjdC1yYXRpbzogMTYvOTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiA4NXZoO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFNpdGUgRm9vdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU2l0ZSBmb290ZXIgbGF5b3V0XG4gKiBVc2VzIHRoZSBjb2xvciBzeXN0ZW0gdmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHRoZW1pbmc6XG4gKiAtIFRleHQ6IC0tY29sb3ItdGV4dC1saWdodFxuICogLSBCYWNrZ3JvdW5kOiAtLWNvbG9yLWJhY2tncm91bmQtZm9vdGVyXG4gKiAtIEJvcmRlcnM6IC0tYm9yZGVyLWNvbG9yLWZvb3RlclxuICovXG5cbi8qIExheW91dC1zcGVjaWZpYyB2YXJpYWJsZXMgKi9cbjpyb290IHtcbiAgLS1sLXNpdGUtZm9vdGVyLXRleHQ6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpO1xuICAtLWwtc2l0ZS1mb290ZXItYmc6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZm9vdGVyKTtcbiAgLS1sLXNpdGUtZm9vdGVyLWJvcmRlcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbn1cblxuLmwtc2l0ZS1mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sLXNpdGUtZm9vdGVyLWJnKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAxLjI1KTtcbn1cblxuLmwtc2l0ZS1mb290ZXJfX2NvbnRhaW5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG59XG5cbi5sLXNpdGUtZm9vdGVyX19ncmlkIHtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cbn1cblxuLmwtc2l0ZS1mb290ZXJfX2NvbHVtbiB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLmwtc2l0ZS1mb290ZXJfX2NvbHVtbi0tbWVudSB7XG5cdG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZmxleC1iYXNpczogY2FsYygoIDEwMCAvICggMTIgLyA4ICkgKSAqIDElKTtcblx0XHRvcmRlcjogMjtcblxuXHRcdC5wLXRlbXBsYXRlLXBhc3N3b3JkICYge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmwtc2l0ZS1mb290ZXJfX21lbnUge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59XG5cbi5sLXNpdGUtZm9vdGVyX19tZW51LWl0ZW0ge1xuXHRAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcblx0QG1peGluIGl0YWxpYztcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS14bWVkaXVtO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0XHR9XG5cdH1cbn1cblxuLmwtc2l0ZS1mb290ZXJfX2VtYWlsIHtcblx0QG1peGluIGZvbnQtc2l6ZS1tZWRpdW07XG5cdEBtaXhpbiBpdGFsaWM7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZm9udC1zaXplLXhtZWRpdW07XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9fbGluayB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9fY29sdW1uLS1zb2NpYWwge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRnYXA6IHZhcigtLWdhcC1zbWFsbCk7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdC5sLXNpdGUtZm9vdGVyX19zb2NpYWwtaWNvbiB7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgdmFyKC0tdHJhbnNpdGlvbikgc3Ryb2tlIDAuM3MgdmFyKC0tdHJhbnNpdGlvbik7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdC5jLWljb24ge1xuXHRcdFx0XHRmaWxsOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRcdFx0XHRzdHJva2U6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cblx0XHRcdFx0cGF0aCB7XG5cdFx0XHRcdFx0ZmlsbDogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGdhcDogdmFyKC0tZ2FwLXNtYWxsKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRmbGV4LWJhc2lzOiBjYWxjKCggMTAwIC8gKCAxMiAvIDIgKSApICogMSUpO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0b3JkZXI6IDM7XG5cblx0XHQuYy1pY29uIHtcblx0XHRcdGhlaWdodDogMS4yNXJlbTtcblx0XHRcdHdpZHRoOiAxLjI1cmVtO1xuXHRcdH1cblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9fc29jaWFsLWljb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMi41cmVtO1xufVxuXG4ubC1zaXRlLWZvb3Rlcl9fY29sdW1uLS1pbmZvLXRleHQge1xuXHRAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14bWVkaXVtKTtcblx0XHRtYXgtd2lkdGg6IDUwMHB4O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAzM3JlbTtcblx0XHRvcmRlcjogNDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdC8qIG1heC13aWR0aDogNDByZW07ICovXG5cdH1cbn1cblxuLmwtc2l0ZS1mb290ZXJfX3BheW1lbnQtdGl0bGUge1xuXHRAbWl4aW4gZm9udC1zaXplLXRpbnk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmwtc2l0ZS1mb290ZXJfX3BheW1lbnQtaW1hZ2VzIHtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRnYXA6IHZhcigtLWdhcC1ncmlkKTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cbn1cblxuLmwtc2l0ZS1mb290ZXJfX3BheW1lbnQtaW1hZ2Uge1xuXHRpbWcge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5sLXNpdGUtZm9vdGVyX19jb2x1bW4tLWxvZ28ge1xuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZmxleC1iYXNpczogY2FsYygoIDEwMCAvICggMTIgLyAyICkgKSAqIDElKTtcblx0XHRvcmRlcjogMTtcblxuXHRcdC5sLXNpdGUtZm9vdGVyX19saW5rIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHR9XG5cdH1cbn1cblxuLmwtc2l0ZS1mb290ZXJfX2NvbHVtbi0tcGF5bWVudCB7XG5cdG1heC13aWR0aDogMTVyZW07XG5cdHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRtYXgtd2lkdGg6IDEycmVtO1xuXHR9XG59XG5cbi5sLXNpdGUtZm9vdGVyX19zb2NpYWwtaWNvbi0taW5zdGFncmFtLFxuLmwtc2l0ZS1mb290ZXJfX3NvY2lhbC1pY29uLS1mYWNlYm9vayB7XG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGhlaWdodDogMnJlbTtcblx0XHR3aWR0aDogMnJlbTtcblxuXHRcdHN2ZyB7XG5cdFx0XHRoZWlnaHQ6IDAuOGVtO1xuXHRcdFx0d2lkdGg6IDAuOGVtO1xuXHRcdH1cblx0fVxufVxuXG4ubC1zaXRlLWZvb3Rlcl9fc29jaWFsLWljb24tLWluc3RhZ3JhbSB7XG4gIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgU2l0ZSBIZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBTaXRlIGhlYWRlciBsYXlvdXRcbiAqIFVzZXMgdGhlIGNvbG9yIHN5c3RlbSB2YXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgdGhlbWluZzpcbiAqIC0gVGV4dDogLS1jb2xvci10ZXh0XG4gKiAtIExpZ2h0IHRleHQ6IC0tY29sb3ItdGV4dC1saWdodCAoZm9yIHRyYW5zcGFyZW50IGhlYWRlcilcbiAqIC0gQmFja2dyb3VuZDogLS1jb2xvci1iYWNrZ3JvdW5kXG4gKi9cblxuLyogTGF5b3V0LXNwZWNpZmljIHZhcmlhYmxlcyAqL1xuOnJvb3Qge1xuICAtLWwtc2l0ZS1oZWFkZXItdGV4dDogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC0tbC1zaXRlLWhlYWRlci10ZXh0LWxpZ2h0OiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tbC1zaXRlLWhlYWRlci1iZzogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLXNpdGUtaGVhZGVyLWhlaWdodDogY2FsYygxLjdyZW0gKyAodmFyKC0tZ2FwLXRpbnkpICogMikpO1xuXG4vKlxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgLS1zaXRlLWhlYWRlci1oZWlnaHQ6IGNhbGModmFyKC0tbGluZS1oZWlnaHQtc21hbGwpICsgKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMTIpKTtcbiAgfSAqL1xufVxuXG4jc2hvcGlmeS1zZWN0aW9uLXNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxNjtcbn1cblxuLmwtc2l0ZS1oZWFkZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgY29sb3I6IHZhcigtLWwtc2l0ZS1oZWFkZXItdGV4dCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbik7XG4gIHdpZHRoOiAxMDAlO1xuXG5cdGJvZHk6bm90KC5wLXRlbXBsYXRlLWluZGV4KSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdH1cblxuXHQ6aGFzKC5zLXBhZ2UtaGVhZGVyLWZ1bGwpICY6bm90KC5oYXMtZHJvcGRvd24tdmlzaWJsZSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLXRleHQtbGlnaHQpO1xuXG5cdFx0LmMtaGVhZGVyLWJ1dHRvbi10ZXh0IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLWJnKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLXRleHQpO1xuXG5cdFx0XHQuYy1oZWFkZXItYnV0dG9uLXRleHQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0OmhhcyguaGFzLXNjcm9sbGVkKSAmOm5vdCguaGFzLWRyb3Bkb3duLXZpc2libGUpIHtcblx0XHQuYy1oZWFkZXItYnV0dG9uLXRleHQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHR9XG5cdH1cblxuXHQmLmhhcy1kcm9wZG93bi12aXNpYmxlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLWJnKTtcblx0fVxuXG4gIC5oYXMtc2Nyb2xsZWQgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbC1zaXRlLWhlYWRlci1iZyk7XG5cblx0XHQuYy1oZWFkZXItYnV0dG9uLXRleHQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHR9XG4gIH1cblxuICA6aGFzKC5zLXBhZ2UtaGVhZGVyLWZ1bGwpICYuaGFzLXNjcm9sbGVkOm5vdCguaGFzLWRyb3Bkb3duLXZpc2libGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tbC1zaXRlLWhlYWRlci10ZXh0KTtcbiAgfVxuXG4gIC5wLXRlbXBsYXRlLWluZGV4Lmhhcy1zY3JvbGxlZCAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tbC1zaXRlLWhlYWRlci10ZXh0KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWwtc2l0ZS1oZWFkZXItYmcpO1xuICAgIGNvbG9yOiB2YXIoLS1sLXNpdGUtaGVhZGVyLXRleHQpO1xuICB9XG5cbiAgLnAtdGVtcGxhdGUtaW5kZXggJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbC1zaXRlLWhlYWRlci1iZyk7XG4gICAgY29sb3I6IHZhcigtLWwtc2l0ZS1oZWFkZXItdGV4dCk7XG5cblx0XHQuYy1oZWFkZXItYnV0dG9uLXRleHQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHR9XG4gIH1cblxuICAuYWRtaW4tYmFyICYge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWFkbWluLWJhcik7XG4gIH1cblxuXHRzdmcge1xuXHRcdC5jLW1vZGFsLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRzdmcge1xuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRmaWxsOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG4gIFx0fVxuXHR9XG59XG5cbi5jLW1vZGFsLWJ1dHRvbi0tc2VhcmNoIHtcblx0LmMtbW9kYWwtYnV0dG9uX19pY29uIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdH1cbn1cblxuLmMtbW9kYWwtYnV0dG9uX19pY29uIHtcblx0LmMtaWNvbiB7XG5cdFx0c3Ryb2tlOiBub25lO1xuXHR9XG59XG5cbi5sLXNpdGUtaGVhZGVyX19pbm5lciB7XG5cdEBtaXhpbiBmbGV4LWdyaWQgY2VudGVyLCBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tdG9wOiAtMXB4O1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1odWdlKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdG1heC13aWR0aDogNzVyZW07XG5cdH1cblxuICA+IC5jLWhlYWRlci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgfVxuICB9XG59XG5cbi5sLXNpdGUtaGVhZGVyX19tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDM7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0b3JkZXI6IDE7XG5cblx0XHQuYy1tZW51IHtcblx0XHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXG5cdFx0XHQuYy1tZW51X19pdGVtLWxpbmsge1xuXHRcdFx0XHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cdFx0XHR9XG5cdFx0fVxuICB9XG59XG5cbi5sLXNpdGUtaGVhZGVyX19tZW51LWJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5sLXNpdGUtaGVhZGVyX19tZW51LWJ1dHRvbiB7XG5cdEBtaXhpbiBmbGV4LWNvbHVtbiAzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXG5cdC5jLW1vZGFsLWJ1dHRvbl9fbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDEuNTtcbiAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG5cdFx0b3JkZXI6IDM7XG5cblx0XHQubC1zaXRlLWhlYWRlcl9fbWVudS1idXR0b24tLWNhcnQge1xuXHRcdFx0QG1peGluIGZsZXgtY29sdW1uIDM7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdG9yZGVyOiA0O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXHRcdH1cbiAgfVxufVxuXG4ubC1zaXRlLWhlYWRlcl9fbWVudS1idXR0b24ubC1zaXRlLWhlYWRlcl9fbWVudS1idXR0b24tLWNhcnQge1xuXHRAbWl4aW4gZmxleC1jb2x1bW4gMztcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMztcblx0XHRvcmRlcjogNDtcblxuXHR9XG59XG5cbi5jLW1vZGFsLWJ1dHRvbi0tc2VhcmNoLWRlc2t0b3Age1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcblxuXHRcdC5jLW1vZGFsLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRmb250LXNpemU6IDEuNTVyZW07XG5cblx0XHRcdC5jLWljb24ge1xuXHRcdFx0XHRzdHJva2U6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5sLXNpdGUtaGVhZGVyX19tZW51LWJ1dHRvbi0tc2VhcmNoIHtcblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmwtc2l0ZS1oZWFkZXJfX2xvZ28ge1xuXHRAbWl4aW4gZmxleC1jb2x1bW4gNjtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdG1hcmdpbi1sZWZ0OiB1bnNldDtcblx0XHRtYXJnaW4tcmlnaHQ6IHVuc2V0O1xuXHRcdG9yZGVyOiAyO1xuXHR9XG5cbiAgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogNTBweDtcbiAgfVxuXG5cdHN2ZyB7XG5cdFx0bWF4LXdpZHRoOiA5cmVtO1xuXG5cdFx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdFx0bWF4LXdpZHRoOiAxMXJlbTtcblx0XHR9XG5cdH1cbn1cblxuLmMtaGVhZGVyLWJ1dHRvbi0tY2FydCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuYy1oZWFkZXItYnV0dG9uLWljb24ge1xuXHRcdG1hcmdpbi10b3A6IC0zcHg7XG5cdH1cblxuXHQuYy1pY29uIHtcblx0XHRzdHJva2U6IG5vbmU7XG5cdH1cbn1cblxuLmMtaGVhZGVyLWJ1dHRvbi1pY29uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMS41NXJlbTtcblxuICAmLmljb24tLWZpbGwge1xuICAgIC5jLWljb24ge1xuICAgICAgc3Ryb2tlOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uYy1oZWFkZXItYnV0dG9uLXRleHQge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogY2FsYygoOCAvIDE2KSAqIDFyZW0pO1xuICBoZWlnaHQ6IDFyZW07XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMC4zcmVtO1xuICB0b3A6IDAuOHJlbTtcbiAgd2lkdGg6IDFyZW07XG5cblx0Jjpub3QoLnAtdGVtcGxhdGUtaW5kZXgpICYge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHR9XG5cblx0LmMtaGVhZGVyLWJ1dHRvbi1jb3VudCB7XG5cdFx0bGluZS1oZWlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLTAuMXJlbTtcblx0fVxuXG5cdC5oYXMtZHJvcGRvd24tdmlzaWJsZSAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEFydGljbGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzZWN0aW9uIGZvciBhcnRpY2xlcy5cbiAqL1xuXG4ucy1hcnRpY2xlcyB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1hcnRpY2xlc19faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xufVxuXG4ucy1hcnRpY2xlc19fbGlzdCB7XG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIEBtaXhpbiBmbGV4LWdyaWQ7XG4gIH1cblxuICAucy1hcnRpY2xlLWl0ZW0ge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA0O1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ1RBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHQgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gIC0tcy1jdGEtaGVpZ2h0OiA1MHZoO1xuXG4gIC8qIEBtZWRpYSAoLS1icC14eGxhcmdlKSB7XG5cdFx0LS1zLWN0YS1oZWlnaHQ6IGNhbGMoKDkgLyAyMSkgKiAxMDB2dyk7XG5cdH0gKi9cbn1cblxuLnMtY3RhIHtcbiAgQG1peGluIHNlY3Rpb247XG5cbiAgLnMtY3RhX19tZWRpYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW1nIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogdmFyKC0tcy1jdGEtaGVpZ2h0KTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnMtY3RhX19pbm5lciB7XG5cdEBtaXhpbiBjb250YWluZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnMtY3RhX19jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDE5cmVtO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiAyO1xuXG5cdC5zLWN0YV9fY29udGVudC1jb250YWluZXIge1xuXHRcdEBtaXhpbiBmb250LXNpemUtc21hbGw7XG5cdH1cblxuXHQucy1jdGFfX2NvbnRlbnQtY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0ZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcblx0fVxuXG5cdC5zLWN0YV9fZmlsdGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0bWF4LXdpZHRoOiAyMHJlbTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRsZWZ0OiAxNyU7XG5cdH1cbn1cblxuLnMtY3RhX190cnVzdHBpbG90IHtcblx0Zm9udC1zaXplOiA1cmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWVkaXVtKTtcblxuXHRzdmcge1xuXHRcdGhlaWdodDogMnJlbTtcblx0XHR3aWR0aDogYXV0bztcblx0fVxufVxuXG4ucy1jdGFfX2ludHJvIHtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xufVxuXG4ucy1jdGFfX2xpbmsge1xuXHQvKiBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTsgKi9cbn1cblxuLnMtY3RhX19tZWRpYS0tc2Vjb25kYXJ5IHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBBcnRpY2xlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2VjdGlvbiBmb3IgYXJ0aWNsZXMuXG4gKi9cblxuLnMtYXJ0aWNsZS1pdGVtIHtcbiAgQG1peGluIHNlY3Rpb247XG59XG5cbi5zLWFydGljbGVzLWl0ZW1fX2lubmVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcbn1cblxuLnMtYXJ0aWNsZS1pdGVtX19pbWFnZSB7XG4gIEBtaXhpbiBhc3BlY3QtcmF0aW8tb2JqZWN0O1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvIDQsIDM7XG59XG5cbi5zLWFydGljbGUtaXRlbV9fbGFiZWwge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xufVxuXG4ucy1hcnRpY2xlLWl0ZW1fX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1tZWRpdW07XG5cbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG59XG5cbi5zLWFydGljbGUtaXRlbV9fZXhjZXJwdCB7XG4gIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG5cbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ2FyZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIGNhcmRzLlxuICovXG5cbi5zLWNhcmRzIHtcbiAgQG1peGluIHNlY3Rpb247XG59XG5cbi5zLWNhcmRzX19pbm5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG59XG5cbi5zLWNhcmRzX19ncmlkIHtcbiAgQG1peGluIGZsZXgtZ3JpZDtcbn1cblxuLnMtY2FyZHNfX2NvbHVtbiB7XG4gIEBtaXhpbiBmbGV4LWNvbHVtbiAxMjtcblxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXRpbnkpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gNjtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbGxlY3Rpb24gTGlzdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzZWN0aW9uIGZvciBjb2xsZWN0aW9uLWxpc3QuXG4gKi9cblxuLnMtY29sbGVjdGlvbi1saXN0X19pbm5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG5cbiAgLmMtZmlsdGVyLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cbn1cblxuLnByb2R1Y3QtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5ncmlkX19pdGVtIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gNjtcblxuICAgIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICAgIEBtaXhpbiBmbGV4LWNvbHVtbiAzO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1jb3VudCB7XG4gIEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ29sbGVjdGlvbiBNYXJxdWVlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIGNvbGxlY3Rpb24tbWFycXVlZS5cbiAqL1xuXG4ucy1jb2xsZWN0aW9uLW1hcnF1ZWUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5zLWNvbGxlY3Rpb24tbWFycXVlZV9fZ3JpZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogY29sbGVjdGlvbi1tYXJxdWVlLXNjcm9sbCAxMjBzIGxpbmVhciBpbmZpbml0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycmVtO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi5zLWNvbGxlY3Rpb24tbWFycXVlZV9faW5uZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1zbWFsbCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucy1jb2xsZWN0aW9uLW1hcnF1ZWVfX2xhYmVsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZWRpdW0pO1xuICBmb250LXdlaWdodDogYm9sZDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAgMnJlbTtcbiAgICB3aWR0aDogMC4yNXJlbTtcbiAgfVxuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtYWxsKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNvbGxlY3Rpb24tbWFycXVlZS1zY3JvbGwge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgQ29sbGVjdGlvbiBOYXZpZ2F0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb2xsZWN0aW9uIE5hdmlnYXRvciBzZWN0aW9uIHRoYXQgZGlzcGxheXMgY2hpbGQgY29sbGVjdGlvbnMgaW4gYSBob3Jpem9udGFsIGxheW91dC5cbiAqIERlc2t0b3A6IDF4NCBncmlkLCBNb2JpbGU6IGhvcml6b250YWwgc2Nyb2xsIHdpdGggb3ZlcmZsb3cuXG4gKi9cblxuLnMtY29sbGVjdGlvbi1uYXZpZ2F0b3Ige1xuICBAbWl4aW4gc2VjdGlvbjtcbn1cblxuLnMtY29sbGVjdGlvbi1uYXZpZ2F0b3JfX2lubmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogbm9uZTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0fVxufVxuXG4ucy1jb2xsZWN0aW9uLW5hdmlnYXRvcl9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHBhZGRpbmc6IDAgMCAwIHZhcigtLWdhcC10aW55KTtcblxuICAvKiBIaWRlIHNjcm9sbGJhciBvbiBmaXJlZm94ICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuXHQmOmZpcnN0LWNoaWxkIHtcblxuXHR9XG5cbiAgLyogSGlkZSBzY3JvbGxiYXIgb24gd2Via2l0IGJyb3dzZXJzICovXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdH1cbn1cblxuLnMtY29sbGVjdGlvbi1uYXZpZ2F0b3JfX2l0ZW0ge1xuXHRmbGV4OiAwIDAgNnJlbTtcblx0bWFyZ2luOiAwIHZhcigtLWdhcC1zbWFsbCkgMCAwO1xuXHRtYXgtd2lkdGg6IDZyZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRmbGV4OiAwIDAgOHJlbTtcblx0XHRmbGV4OiAxO1xuXHRcdG1heC13aWR0aDogOHJlbTtcblx0fVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblxuICB9XG59XG5cbi5zLWNvbGxlY3Rpb24tbmF2aWdhdG9yX19saW5rIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXHRkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zLWNvbGxlY3Rpb24tbmF2aWdhdG9yX19pbWFnZSB7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnMtY29sbGVjdGlvbi1uYXZpZ2F0b3JfX2ltYWdlLWltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucy1jb2xsZWN0aW9uLW5hdmlnYXRvcl9faW1hZ2UtcGxhY2Vob2xkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgc3BhbiB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcblxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxufVxuXG4ucy1jb2xsZWN0aW9uLW5hdmlnYXRvcl9fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG59XG5cbi5zLWNvbGxlY3Rpb24tbmF2aWdhdG9yX190aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtdGlueTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbnRhY3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzaW1wbGUgY29udGFjdCBzZWN0aW9uIHdpdGggdGl0bGUgYW5kIGxpbmsuXG4gKi9cblxuLnMtY29udGFjdCB7XG4gIEBtaXhpbiBzZWN0aW9uO1xuICBAbWl4aW4gY29udGFpbmVyO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHR9XG59XG5cbi5zLWNvbnRhY3RfX2lubmVyIHtcblx0QG1peGluIGZsZXgtZ3JpZDtcbn1cblxuLnMtY29udGFjdF9fY29sdW1uIHtcbiBcdEBtaXhpbiBmbGV4LWNvbHVtbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtc21hbGwpICogMC44KTtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdhcC1zbWFsbCkgKiAwLjgpO1xuXHRwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWdhcC1zbWFsbCkgKiAwLjgpO1xuXHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXAtc21hbGwpICogMC44KTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDEwO1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMTtcblx0XHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtc21hbGwpKTtcblx0XHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwLXNtYWxsKSk7XG5cdFx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXAtc21hbGwpKTtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXAtc21hbGwpKTtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1sYXJnZSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA4O1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMjtcblx0XHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAtc21hbGwpKTtcblx0XHRwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwLXNtYWxsKSk7XG5cdFx0cGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXAtc21hbGwpKTtcblx0XHRwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXAtc21hbGwpKTtcbiAgfVxufVxuXG4ucy1jb250YWN0X19jb250ZW50IHtcblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zLWNvbnRhY3RfX2NvbnRlbnQtaW5uZXIge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1zbWFsbCk7XG59XG5cbi5zLWNvbnRhY3RfX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcbiAgQG1peGluIG1hcmdpbi1ib3R0b20tZ3JvdXAgdmFyKC0tZ2FwLW1pY3JvKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXHRmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXG4gIH1cbn1cblxuLnMtY29udGFjdF9fdGV4dCB7XG4gIEBtaXhpbiB0eXBvZ3JhcGh5LWZ1bGw7XG59XG5cbi5zLWNvbnRhY3RfX2ljb24ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWdyYXkpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHBhZGRpbmc6IDFyZW07XG5cblx0LmMtaWNvbiB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuICAgIHN0cm9rZTogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIENvbnRlbnQgKEFydGljbGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIHBhZ2UtaGVhZGVyLWFydGljbGUuXG4gKi9cblxuLnMtYXJ0aWNsZSB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1hcnRpY2xlX19pbm5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnMtYXJ0aWNsZV9fY29udGVudCB7XG4gIEBtaXhpbiB0eXBvZ3JhcGh5LWZ1bGw7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgRmFjZXRzIC0gRmlsdGVyaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRmFjZXRzIGZpbHRlcmluZ1xuICovXG5cbi5tb2JpbGUtZmFjZXRzIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubW9iaWxlLWZhY2V0c19fZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLW1lZGl1bSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4ubW9iaWxlLWZhY2V0c19fZGlzY2xvc3VyZSB7XG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiNGYWNldHNXcmFwcGVyRGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm1vYmlsZS1mYWNldHNfX3dyYXBwZXIge1xuICBAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG5cbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICAucHJvZHVjdC1jb3VudF9fdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5mYWNldHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG4gIH1cblxuICBzdW1tYXJ5IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLmZhY2V0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxufVxuXG4uZmFjZXRzX19mb3JtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmFjdGl2ZS1mYWNldHMge1xuICBAbWl4aW4gZmxleC1jb2x1bW4gNjtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDEyO1xuXG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uYWN0aXZlLWZhY2V0cy1tb2JpbGUge1xuICBmYWNldC1yZW1vdmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICYgKyBmYWNldC1yZW1vdmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG4gICAgfVxuICB9XG59XG5cbi5hY3RpdmUtZmFjZXRzLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubW9iaWxlLWZhY2V0c19faGVhZGVyLWlubmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjdGl2ZS1mYWNldHNfX2J1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAuaGFzLWZpbHRlcnMgJiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbmZhY2V0LWZpbHRlcnMtZm9ybSB7XG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG59XG5cbi5wcm9kdWN0LWdyaWQtY29udGFpbmVyIHtcbiAgQG1peGluIGZsZXgtY29sdW1uIDEyO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmZhY2V0LWZpbHRlcnNfX2xhYmVsLFxuLmZhY2V0c19faGVhZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mYWNldC1maWx0ZXJzX19maWVsZCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xufVxuXG4uZmFjZXRzX19zZWxlY3RlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmRldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mYWNldHNfX3N1bW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mYWNldHNfX2Rpc3BsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDhweCBjb2xvci1taXgoaW4gc1JHQiwgdmFyKC0tY29sb3ItYmxhY2spIDEwJSwgdHJhbnNwYXJlbnQpO1xuICBsZWZ0OiAwO1xuICBtaW4td2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB6LWluZGV4OiAxMDtcbn1cblxuLypcbmRldGFpbHNbb3Blbl0gLmZhY2V0c19fZGlzcGxheSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufSAqL1xuXG4uZmFjZXRzX19zdW1tYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbi5mYWNldHNfX3ByaWNlIHtcbiAgLmZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gIC5maWVsZC1jdXJyZW5jeSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZmFjZXRzX19oZWFkZXIge1xuICBmYWNldC1yZW1vdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWljcm8pO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC1taWNybyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLm1vYmlsZS1mYWNldHNfX2Rpc2Nsb3N1cmUge1xuICByaWdodDogLTIwMCU7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwcyAwLjNzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5tb2JpbGUtZmFjZXRzX19kaXNjbG9zdXJlW29wZW5dIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IC0ycHggMCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwcyAwcztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgd2lkdGg6IDkwJTtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLm1vYmlsZS1mYWNldHNfX29wZW4ge1xuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubW9iaWxlLWZhY2V0c19fb3Blbi13cmFwcGVyIHtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1vYmlsZS1mYWNldHNfX3N1bW1hcnktaW5uZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4ubW9iaWxlLWZhY2V0c19fYXJyb3cge1xuICBzdmcge1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICAgIHdpZHRoOiAycmVtO1xuICB9XG59XG5cbi5tb2JpbGUtZmFjZXRzX190aXRsZSB7XG4gIGZsZXgtYmFzaXM6IDgwJTtcbn1cblxuLm1vYmlsZS1mYWNldHNfX2RldGFpbHNbb3Blbl0ge1xuICAubW9iaWxlLWZhY2V0c19fYXJyb3cge1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG59XG5cbi5tb2JpbGUtZmFjZXRzX19mb290ZXIge1xuICBtYXJnaW4tdG9wOiAxMDAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEZBUSAoYWNjb3JkaW9uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRkFRIHNlY3Rpb24gdXNpbmcgYWNjb3JkaW9uIGJsb2NrcyBmb3IgZXhwYW5kYWJsZSBxdWVzdGlvbiBhbmQgYW5zd2VyIGNvbnRlbnQuXG4gKiBVc2VzIGV4aXN0aW5nIGFjY29yZGlvbiBjb21wb25lbnQgLSBvbmx5IGFkZHMgc2VjdGlvbi1sZXZlbCBjb250YWluZXIgc3R5bGluZy5cbiAqL1xuXG4ucy1mYXEtYWNjb3JkaW9uIHtcbiAgQG1peGluIHNlY3Rpb247XG59XG5cbi5zLWZhcS1hY2NvcmRpb25fX2lubmVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gIFx0bWF4LXdpZHRoOiA2NC41cmVtO1xuXHR9XG59XG5cbi5zLWZhcS1hY2NvcmRpb25fX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnMtZmFxLWFjY29yZGlvbl9faXRlbSB7XG4gICYgKyAucy1mYXEtYWNjb3JkaW9uX19pdGVtIHtcbiAgICAuYy1hY2NvcmRpb25fX2l0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICB9XG4gIH1cblxuXHQuYy1hY2NvcmRpb25fX2NvbnRlbnQge1xuXHRcdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHR9XG5cdH1cbn1cblxuLyogUGx1cy9NaW51cyBJY29uIE92ZXJyaWRlICovXG4ucy1mYXEtYWNjb3JkaW9uIC5jLWFjY29yZGlvbl9fdGl0bGUtaWNvbiB7XG4gIGhlaWdodDogMjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjRweDtcblxuICAvKiBIaWRlIHRoZSBkZWZhdWx0IFNWRyBpY29uICovXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIFBsdXMgaWNvbiAtIHZlcnRpY2FsIGxpbmUgKi9cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwLjlwYztcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1hY2NvcmRpb24tdHJhbnNpdGlvbik7XG4gICAgd2lkdGg6IDFweDtcbiAgfVxuXG4gIC8qIFBsdXMgaWNvbiAtIGhvcml6b250YWwgbGluZSAqL1xuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWFjY29yZGlvbi10cmFuc2l0aW9uKTtcbiAgICB3aWR0aDogMC45cGM7XG4gIH1cbn1cblxuLyogRXhwYW5kZWQgc3RhdGUgLSBoaWRlIHZlcnRpY2FsIGxpbmUgdG8gY3JlYXRlIG1pbnVzICovXG4ucy1mYXEtYWNjb3JkaW9uIC5jLWFjY29yZGlvbl9faXRlbVtkYXRhLXN0YXRlPSdleHBhbmRlZCddIC5jLWFjY29yZGlvbl9fdGl0bGUtaWNvbiB7XG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDkwZGVnKSBzY2FsZSgwKTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEZBUSAobWVudSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRkFRIHNlY3Rpb24gd2l0aCBuYXZpZ2F0aW9uIG1lbnUgYnV0dG9ucyBhbmQgZGVzY3JpcHRpb24gdGV4dC5cbiAqL1xuXG4ucy1mYXEtbWVudSB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1mYXEtbWVudV9faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xuICBtYXgtd2lkdGg6IDY0LjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnMtZmFxLW1lbnVfX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS14bGFyZ2UtbW9iaWxlO1xuXG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXhsYXJnZTtcbiAgfVxufVxuXG4ucy1mYXEtbWVudV9fbmF2IHtcbiAgZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IGNhbGMoMC4yNXJlbSAqIDMpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gIH1cbn1cblxuLnMtZmFxLW1lbnVfX25hdi1pdGVtIHtcbiAgZmxleDogbm9uZTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxufVxuXG4ucy1mYXEtbWVudV9fbmF2LWl0ZW0tLWFjdGl2ZSAuYy1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB9XG59XG5cbi5zLWZhcS1tZW51X19pbmZvIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA0OHJlbTtcblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBGZWF0dXJlZCBDb2xsZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2VjdGlvbiBmb3IgZmVhdHVyZWQtY29sbGVjdGlvbi5cbiAqL1xuXG4ucy1mZWF0dXJlZC1jb2xsZWN0aW9uIHtcbiAgQG1peGluIHNlY3Rpb247XG59XG5cbi5zLWZlYXR1cmVkLWNvbGxlY3Rpb25fX2lubmVyIHtcbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLnMtZmVhdHVyZWQtY29sbGVjdGlvbl9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYucy1mZWF0dXJlZC1jb2xsZWN0aW9uX19oZWFkZXItLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtc21hbGwpO1xuXG4gICAgJi5zLWZlYXR1cmVkLWNvbGxlY3Rpb25fX2hlYWRlci0tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5zLWZlYXR1cmVkLWNvbGxlY3Rpb25fX2hlYWRlci0tZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLnMtZmVhdHVyZWQtY29sbGVjdGlvbl9fdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLXhsYXJnZS1tb2JpbGU7XG5cbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLXNtYWxsKTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcbiAgfVxufVxuXG4ucy1mZWF0dXJlZC1jb2xsZWN0aW9uX19pbnRybyB7XG4gIEBtaXhpbiBmb250LXNpemUtc21hbGx4IDEuMjU7XG5cbiAgY29sb3I6IHZhcigtLWNvbG9yLWJvZHkpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAyNHJlbTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXNtYWxsKTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblxuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogNSk7XG4gICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1tZWRpdW0pO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1tZWRpdW0pO1xuICB9XG59XG5cbi5zLWZlYXR1cmVkLWNvbGxlY3Rpb25fX2xpbmsge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWxhcmdlKTtcbn1cblxuLnMtZmVhdHVyZWQtY29sbGVjdGlvbl9faXRlbSB7XG4gIC0tY29sdW1uOiAxMDtcblxuICAmLnMtZmVhdHVyZWQtY29sbGVjdGlvbl9faXRlbS0taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmMtcHJvZHVjdC1jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICAtLWNvbHVtbjogMztcblxuICAgICYucy1mZWF0dXJlZC1jb2xsZWN0aW9uX19pdGVtLS1oZWFkZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgIC5zLWZlYXR1cmVkLWNvbGxlY3Rpb25fX2hlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDNyZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEZlYXR1cmVkIFByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzZWN0aW9uIGZvciBmZWF0dXJlZC1wcm9kdWN0cy5cbiAqL1xuXG4ucy1mZWF0dXJlZC1wcm9kdWN0cyB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1mZWF0dXJlZC1wcm9kdWN0c19faW5uZXIge1xuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGNvbnRhaW5lcjtcblx0fVxufVxuXG4ucy1mZWF0dXJlZC1wcm9kdWN0c19faGVhZGVyIHtcblx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbHg7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBmb250LXNpemUtbWVkaXVtO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdH1cbn1cblxuLnMtZmVhdHVyZWQtcHJvZHVjdHNfX3RpdGxlIHtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbn1cblxuLnMtZmVhdHVyZWQtcHJvZHVjdHNfX2dyaWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBmbGV4LWdyaWQ7XG5cdH1cbn1cblxuLnMtZmVhdHVyZWQtcHJvZHVjdHNfX2l0ZW0ge1xuXHRmbGV4LWJhc2lzOiA1MCU7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcblx0d2lkdGg6IDUwJTtcblxuXHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0fVxuXG5cdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiA0O1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbiAzO1xuXG5cdFx0JjpudGgtY2hpbGQob2RkKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtbWljcm8pO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgSW1hZ2UgQmFubmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIGltYWdlLWJhbm5lci5cbiAqL1xuXG4ucy1pbWFnZS1iYW5uZXIge1xuICBAbWl4aW4gc2VjdGlvbjtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtLW1heCkge1xuICAgIC5zLWltYWdlLWJhbm5lcl9fbWVkaWEge1xuICAgICAgYXNwZWN0LXJhdGlvOiAzIC8gNDtcbiAgICB9XG4gIH1cbn1cblxuLnMtaW1hZ2UtYmFubmVyX19pbm5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zLWltYWdlLWJhbm5lcl9fbWVkaWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zLWltYWdlLWJhbm5lcl9fY29udGVudCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgdG9wOiB2YXIoLS1nYXAtbGFyZ2UpO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgSW1hZ2UgR3JpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEltYWdlIEdyaWQgc2VjdGlvbiB0aGF0IGRpc3BsYXlzIGltYWdlcyBpbiBhIDMtY29sdW1uIGdyaWQgbGF5b3V0XG4gKiB3aXRoIGNvbnNpc3RlbnQgYXNwZWN0IHJhdGlvcyBhY3Jvc3MgYWxsIHNjcmVlbiBzaXplcy5cbiAqL1xuXG4ucy1pbWFnZS1ncmlkIHtcbiAgQG1peGluIHNlY3Rpb247XG59XG5cbi5zLWltYWdlLWdyaWRfX2lubmVyIHtcblx0QG1peGluIGNvbnRhaW5lcjtcbn1cblxuLnMtaW1hZ2UtZ3JpZF9fZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tZ2FwLXNtYWxsKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbn1cblxuLnMtaW1hZ2UtZ3JpZF9faXRlbSB7XG4gIC8qIEdyaWQgaXRlbSBzdHlsaW5nICovXG59XG5cbi5zLWltYWdlLWdyaWRfX2ltYWdlIHtcbiAgYXNwZWN0LXJhdGlvOiAzLzQuMjU7IC8qIEZpeGVkIDQ6MyBhc3BlY3QgcmF0aW8gZm9yIGFsbCBpbWFnZXMgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnMtaW1hZ2UtZ3JpZF9faW1hZ2UtaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE1haW4gQ29sbGVjdGlvbiBIZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2VjdGlvbiBmb3IgbWFpbi1jb2xsZWN0aW9uLWhlYWRlci5cbiAqL1xuXG4ucy1tYWluLWNvbGxlY3Rpb24taGVhZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucy1tYWluLWNvbGxlY3Rpb24taGVhZGVyX19pbm5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG59XG5cbi5zLW1haW4tY29sbGVjdGlvbi1oZWFkZXJfX2ltYWdlIHtcbiAgQG1peGluIGFzcGVjdC1yYXRpbztcbiAgQG1peGluIGFzcGVjdC1yYXRpby1tb2RpZmllciAxLCAxO1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdCBjb3ZlcjtcblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDE0LCA2O1xuICB9XG59XG5cbi5zLW1haW4tY29sbGVjdGlvbi1oZWFkZXJfX2NvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5zLW1haW4tY29sbGVjdGlvbi1oZWFkZXJfX3RpdGxlIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXhsYXJnZS1tb2JpbGU7XG5cbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMy4yNSk7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIEBtaXhpbiBmb250LXNpemUteGxhcmdlO1xuXG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApKTtcbiAgICB9XG4gIH1cblxuICAucy1tYWluLWNvbGxlY3Rpb24taGVhZGVyX19idXR0b25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcblxuICAgIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkpO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cblx0IC5zLW1haW4tY29sbGVjdGlvbi1oZWFkZXJfX3NvcnQge1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIH1cblxuICAucy1tYWluLWNvbGxlY3Rpb24taGVhZGVyX19idXR0b24ge1xuICAgIEBtaXhpbiBmb250LXNpemUtc21hbGw7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktc2VsZjogZW5kO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0LmMtbW9kYWwtYnV0dG9uX19pY29uIHtcblx0XHRcdC5jLWljb24ge1xuXHRcdFx0XHRzdHJva2U6IGN1cnJlbnRDb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBub25lO1xuXHRcdH1cbiAgfVxuXG4gIC5zLW1haW4tY29sbGVjdGlvbi1oZWFkZXJfX2J1dHRvbi1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC1taWNybyk7XG4gIH1cblxuXHQucy1tYWluLWNvbGxlY3Rpb24taGVhZGVyX19jb3VudCB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS1taWNybztcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcblx0XHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxufVxuIiwiLnMtbWFpbi1wcm9kdWN0LWdyaWQge1xuICBAbWl4aW4gc2VjdGlvbjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwLXNtYWxsKSAqIDAuNzUpO1xuICB9XG59XG5cbi5zLW1haW4tcHJvZHVjdC1ncmlkX19jb250YWluZXIge1xuXHRtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAycmVtO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBjb250YWluZXI7XG5cdFx0bWFyZ2luOiB1bnNldDtcblx0XHRwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICBcdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuXHR9XG59XG5cbi5zLW1haW4tcHJvZHVjdC1ncmlkX19pbm5lciB7XG5cdG1hcmdpbjogMCAtMnJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRtYXJnaW46IHVuc2V0O1xuXHR9XG59XG5cbi5zLW1haW4tcHJvZHVjdC1ncmlkX19ncmlkIHtcblx0ZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IDAgLTJyZW07XG5cdG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuXHRtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gIFx0QG1peGluIGZsZXgtZ3JpZDtcblx0fVxufVxuXG4ucy1tYWluLXByb2R1Y3QtZ3JpZF9faXRlbSB7XG5cdGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlO1xuICBvcmRlcjogMTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxMCk7XG5cdHBhZGRpbmctbGVmdDogMC41cmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDQ7XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDM7XG4gIH1cblxuICAmLm91dC1vZi1zdG9jayB7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbiIsIi5zLW1haW4tc2VhcmNoIHtcbiAgQG1peGluIHNlY3Rpb247XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gIG1pbi1oZWlnaHQ6IDQwdmg7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjg3NSk7XG4gIH1cbn1cblxuLnMtbWFpbi1zZWFyY2hfX2NvbnRhaW5lciB7XG5cdG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDJyZW07XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gIFx0QG1peGluIGNvbnRhaW5lcjtcblx0XHRtYXJnaW46IHVuc2V0O1xuXHRcdHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG4gIFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG5cdH1cbn1cblxuLnMtbWFpbi1zZWFyY2hfX2lubmVyIHtcblx0bWFyZ2luOiAwIC0ycmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdG1hcmdpbjogdW5zZXQ7XG5cdH1cbn1cblxuLnMtbWFpbi1zZWFyY2hfX2dyaWQge1xuXHRkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbjogMCAtMnJlbTtcblx0bWFyZ2luLWxlZnQ6IC0wLjVyZW07XG5cdG1hcmdpbi1yaWdodDogLTAuNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgXHRAbWl4aW4gZmxleC1ncmlkO1xuXHR9XG5cbn1cblxuLnMtbWFpbi1zZWFyY2hfX2l0ZW0ge1xuXHRmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAxMCk7XG5cdHBhZGRpbmctbGVmdDogMC41cmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDQ7XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDM7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNYWluIFNlYXJjaCBIZWFkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIG1haW4tc2VhcmNoLWhlYWRlci5cbiAqL1xuXG4ucy1tYWluLXNlYXJjaC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMC4yNXJlbSAqIDMpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5zLW1haW4tc2VhcmNoLWhlYWRlcl9faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xufVxuXG4ucy1tYWluLXNlYXJjaC1oZWFkZXJfX2ltYWdlIHtcbiAgQG1peGluIGFzcGVjdC1yYXRpbztcbiAgQG1peGluIGFzcGVjdC1yYXRpby1tb2RpZmllciAxLCAxO1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdCBjb3ZlcjtcblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDE0LCA2O1xuICB9XG59XG5cbi5zLW1haW4tc2VhcmNoLWhlYWRlcl9fY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLnMtbWFpbi1zZWFyY2gtaGVhZGVyX190aXRsZSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS14bGFyZ2U7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBAbWl4aW4gZm9udC1zaXplLWh1Z2U7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMS4yNSk7XG4gICAgfVxuICB9XG5cbiAgLnMtbWFpbi1zZWFyY2gtaGVhZGVyX19idXR0b25zIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAvIDEuNSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkpO1xuICAgIH1cbiAgfVxuXG4gIC5zLW1haW4tc2VhcmNoLWhlYWRlcl9fbGFiZWwge1xuICAgIEBtaXhpbiBsYWJlbDtcblx0XHRAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdEBtaXhpbiBmb250LXNpemUtdGlueTtcblx0XHR9XG4gIH1cblxuICAucy1tYWluLXNlYXJjaC1oZWFkZXJfX2J1dHRvbiB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5zLW1haW4tc2VhcmNoLWhlYWRlcl9fYnV0dG9uLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIG1hcnF1ZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucy1tYXJxdWVlIHtcbiAgQG1peGluIHNlY3Rpb247XG59XG5cbi5zLW1hcnF1ZWVfX2lubmVyIHtcbn1cblxuLnMtbWFycXVlZV9faGVhZGVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucy1tYXJxdWVlX190aXRsZSB7XG5cdEBtaXhpbiBmb250LXNpemUteGxhcmdlO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBmb250LXNpemUtaHVnZTtcblx0fVxufVxuXG4ucy1tYXJxdWVlX19sYWJlbCB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ucy1tYXJxdWVlX19pdGVtIHtcblxufVxuXG4ucy1tYXJxdWVlX19saW5rLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LnMtbWFycXVlZV9fbGluayB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi5zLW1hcnF1ZWVfX3NsaWRlci1vdXRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zLW1hcnF1ZWVfX2dyaWQge1xuICBhbmltYXRpb246IG1hcnF1ZWUtbWFycXVlZSA2MHMgbGluZWFyIGluZmluaXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IGNhbGMoMC4yNXJlbSAqIDUpO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuICBoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcblx0cGFkZGluZy10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgMWZyKTtcblx0fVxufVxuXG4ucy1tYXJxdWVlX19pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG1pbi13aWR0aDogNjYuNjZ2dztcblx0d2lkdGg6IDY2LjY2dnc7XG5cblx0JjpudGgtY2hpbGQoNG4tMyksXG5cdCY6bnRoLWNoaWxkKDRuLTIpIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXJlbSk7XG5cdH1cblxuXHQmOm50aC1jaGlsZCg0bi00KSxcblx0JjpudGgtY2hpbGQoNG4tMSkge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHQmOm50aC1jaGlsZCg0bi0zKSxcblx0XHQmOm50aC1jaGlsZCg0bi0yKSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0JjpudGgtY2hpbGQoNG4tNCksXG5cdFx0JjpudGgtY2hpbGQoNG4tMSkge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjVyZW0pO1xuXHRcdH1cblxuXHRcdCY6bnRoLWNoaWxkKG9kZCkge1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjVyZW0pO1xuXHRcdH1cblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGltZyB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdG1pbi13aWR0aDogMzMuMzN2dztcblx0XHR3aWR0aDogMzMuMzN2dztcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcblx0XHRtaW4td2lkdGg6IDIydnc7XG5cdFx0d2lkdGg6IDIydnc7XG5cdH1cblxuXHRpbWcge1xuXHRcdGFzcGVjdC1yYXRpbzogMS8xO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLWluLW91dDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUtbWFycXVlZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuLnMtbWFycXVlZV9faXRlbS1saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNZWRpYSBXaXRoIFRleHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2VjdGlvbiBmb3IgbWVkaWEgd2l0aCB0ZXh0LlxuICovXG5cbi8qIC5zLW1lZGlhLXRleHQge1xufSAqL1xuXG4ucy1tZWRpYS10ZXh0X190aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUteGxhcmdlLW1vYmlsZTtcblxuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmb250LXNpemUteGxhcmdlO1xuICB9XG59XG5cbi5zLW1lZGlhLXRleHRfX3RleHQge1xuICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ib2R5KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblx0XHRsaW5lLWhlaWdodDogMjtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ucy1tZWRpYS10ZXh0X19jb250ZW50IHtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDMycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1zbWFsbDtcblx0XHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYm9keSk7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICB9XG59XG5cbi5zLW1lZGlhLXRleHRfX2dyaWQge1xuICAuaGFzLWxheW91dC1yaWdodCAmIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cblxuICAuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRAbWl4aW4gZmxleC1ncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnMtbWVkaWEtdGV4dF9fY29sdW1uIHtcbiAgQG1peGluIGZsZXgtY29sdW1uIDEyLCAxMjtcblx0cGFkZGluZy1yaWdodDogMDtcblxuICAmLnMtbWVkaWEtdGV4dF9fY29sdW1uLS1tZWRpYSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSAqIDEwKTtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMDtcblxuXHRcdC5zaG9waWZ5LWVkaXRvciAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuICB9XG5cblx0Ji5zLW1lZGlhLXRleHRfX2NvbHVtbi0tY29udGVudCB7XG5cdFx0cGFkZGluZy1ib3R0b206IGNhbGMoMC4yNXJlbSAqIDIyKTtcblx0fVxuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICYucy1tZWRpYS10ZXh0X19jb2x1bW4tLWNvbnRlbnQge1xuICAgICAgQG1peGluIGZsZXgtY29sdW1uIDYsIDEyO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cblx0XHRcdC5zaG9waWZ5LWVkaXRvciAmIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdH1cbiAgICB9XG5cbiAgICAmLnMtbWVkaWEtdGV4dF9fY29sdW1uLS1tZWRpYSB7XG4gICAgICBAbWl4aW4gZmxleC1jb2x1bW4gNiwgMTI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5zLW1lZGlhLXRleHRfX21lZGlhIHtcbiAgdmlkZW8sXG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBNZWRpYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2VjdGlvbiBmb3IgbWVkaWEgaW1hZ2UvdmlkZW8uXG4gKi9cblxuLnMtbWVkaWEge1xuXHRAbWl4aW4gc2VjdGlvbjtcblxuXHQmLmhhcy1pbWFnZSB7XG5cdFx0QG1peGluIGNvbnRhaW5lcjtcblx0fVxuXG5cdC5zaG9waWZ5LWVkaXRvciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5zLW1lZGlhX19pbWFnZSB7XG5cdGFzcGVjdC1yYXRpbzogMTYvOTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiA4NXZoO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdHdpZHRoOiAxMDAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE5ld3NsZXR0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzZWN0aW9uIGZvciBuZXdzbGV0dGVyLlxuICovXG5cbi5zLW5ld3NsZXR0ZXIge1xuICBAbWl4aW4gc2VjdGlvbjtcbn1cblxuLnMtbmV3c2xldHRlcl9faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZmxleC1ncmlkO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnMtbmV3c2xldHRlcl9fY29sdW1uIHtcbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGFnZSBIZWFkZXIgKEFydGljbGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIHBhZ2UtaGVhZGVyLWFydGljbGUuXG4gKi9cblxuLnMtcGFnZS1oZWFkZXItYXJ0aWNsZSB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1wYWdlLWhlYWRlci1hcnRpY2xlX19pbm5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG59XG5cbi5zLXBhZ2UtaGVhZGVyLWFydGljbGVfX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBQYWdlIEhlYWRlciAoRnVsbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7XG4gIC0tcy1wYWdlLWhlYWRlci1mdWxsLWhlaWdodDogMTAwdmg7XG5cbiAgLyogQG1lZGlhICgtLWJwLXh4bGFyZ2UpIHtcblx0XHQtLXMtcGFnZS1oZWFkZXItZnVsbC1oZWlnaHQ6IGNhbGMoKDkgLyAyMSkgKiAxMDB2dyk7XG5cdH0gKi9cbn1cblxuLnMtcGFnZS1oZWFkZXItZnVsbCB7XG4gIEBtaXhpbiBzZWN0aW9uO1xuXG4gIHBhZGRpbmctdG9wOiAwO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi5zLXBhZ2UtaGVhZGVyLWZ1bGxfX2lubmVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhc3BlY3QtcmF0aW86IDkvMTY7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zLXBhZ2UtaGVhZGVyLWZ1bGxfX2NvbnRlbnQge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogNDJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMjtcbn1cblxuLnMtcGFnZS1oZWFkZXItZnVsbF9fdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLWh1Z2U7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXhodWdlO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuLnMtcGFnZS1oZWFkZXItZnVsbF9fbWVkaWEtaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBsZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cdH1cblxuICBpbWcge1xuICAgIGJvdHRvbTogMDtcblx0XHRkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG5cdFx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0XHRib3R0b206IGF1dG87XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHR0b3A6IGF1dG87XG5cdFx0XHR3aWR0aDogNTAlO1xuXG5cdFx0XHQucy1wYWdlLWhlYWRlci1mdWxsX19pbm5lci0tb25lLWltYWdlICYge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuICB9XG59XG5cbi5zLXBhZ2UtaGVhZGVyLWZ1bGxfX2ZpbHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG5cdHotaW5kZXg6IDE7XG59XG5cbi5zLXBhZ2UtaGVhZGVyLWZ1bGxfX2xhYmVsIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5zLXBhZ2UtaGVhZGVyLWZ1bGxfX2ludHJvIHtcblx0QG1peGluIGZvbnQtc2l6ZS1zbWFsbHg7XG5cdEBtaXhpbiBpdGFsaWM7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLW1lZGl1bSk7XG5cblx0QG1lZGlhICgtLWJwLW1lZGl1bSkge1xuXHRcdEBtaXhpbiBmb250LXNpemUtbWVkaXVtO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdH1cbn1cblxuLnMtcGFnZS1oZWFkZXItZnVsbF9fbGluayB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0bWFyZ2luLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG5cdC5jLWJ1dHRvbiB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLnMtcGFnZS1oZWFkZXItZnVsbF9fbGlua3Mge1xuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGdhcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59XG5cbkBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAucy1wYWdlLWhlYWRlci1mdWxsX19tZWRpYS1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBQYWdlIEhlYWRlciAoU2ltcGxlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnMtcGFnZS1oZWFkZXItc2ltcGxlIHtcbiAgQG1peGluIHNlY3Rpb247XG4gIEBtaXhpbiBjb250YWluZXI7XG5cdHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyLjUpO1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcblxuXHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMy41KTtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXRpbnkpO1xuXHR9XG59XG5cbi5zLXBhZ2UtaGVhZGVyLXNpbXBsZV9faW5uZXIge1xuXHRAbWl4aW4gZmxleC1ncmlkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zLXBhZ2UtaGVhZGVyLXNpbXBsZV9fY29udGVudCB7XG4gXHRAbWl4aW4gZmxleC1jb2x1bW47XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiAxMDtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0IDE7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gODtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0IDI7XG4gIH1cbn1cblxuLnMtcGFnZS1oZWFkZXItc2ltcGxlX190aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUteGxhcmdlO1xuICBAbWl4aW4gbWFyZ2luLWJvdHRvbS1ncm91cCB2YXIoLS1nYXAtbWVkaXVtKTtcblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1odWdlO1xuXHRcdEBtaXhpbiBtYXJnaW4tYm90dG9tLWdyb3VwIDRyZW07XG4gIH1cbn1cblxuLnMtcGFnZS1oZWFkZXItc2ltcGxlX19pbnRybyB7XG5cdEBtaXhpbiB0eXBvZ3JhcGh5LXZlcnktc2ltcGxlO1xuXG5cdHAge1xuXHRcdEBtaXhpbiBmb250LXNpemUtbGFyZ2U7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXHRcdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHRcdGxpbmUtaGVpZ2h0OiAyLjVyZW07XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGNvbG9yOiB2YXIoLS1jb2xvci1vcmFuZ2UpO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR9XG5cdH1cblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0cCB7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyLjc1cmVtO1xuXHRcdH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFBhc3N3b3JkIFNlY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgLS1zLXBhc3N3b3JkLWhlaWdodDogMTAwdmg7XG59XG5cbi5zLXBhc3N3b3JkIHtcbn1cblxuLnMtcGFzc3dvcmRfX2lubmVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucy1wYXNzd29yZF9faW5uZXItLW5vLWltYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xufVxuXG4ucy1wYXNzd29yZF9fbWVkaWEge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5zLXBhc3N3b3JkX19tZWRpYS1pbm5lciB7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBpbWcge1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucy1wYXNzd29yZF9fZmlsdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbn1cblxuLnMtcGFzc3dvcmRfX2NvbnRlbnQge1xuICBtYXJnaW46IGF1dG87XG4gIG1heC13aWR0aDogNDguNXJlbTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5zLXBhc3N3b3JkX190aXRsZSB7XG4gIEBtaXhpbiBmb250LXNpemUtaHVnZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zbWFsbCk7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmb250LXNpemUteGh1Z2U7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxufVxuXG4ucy1wYXNzd29yZF9faW50cm8ge1xuICBAbWl4aW4gZm9udC1zaXplLXNtYWxseDtcbiAgQG1peGluIGl0YWxpYztcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG4ucy1wYXNzd29yZF9fZm9ybSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcC1tZWRpdW0pO1xufVxuXG4ucy1wYXNzd29yZF9fZm9ybS1pbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tZ2FwLXRpbnkpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLnMtcGFzc3dvcmRfX2lucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmstZ3JheSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMC44cmVtO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLnMtcGFzc3dvcmRfX3N1Ym1pdCB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5zLXBhc3N3b3JkX19lcnJvciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1lcnJvcik7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcC10aW55KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBtaXhpbiBmb250LXNpemUtbWljcm87XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGVya3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBibG9jayBmb3IgcGVya3NcbiAqL1xuXG4ucy1wZXJrcyB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1wZXJrc19faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnMtcGVya3NfX2hlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc2VjdGlvbik7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ucy1wZXJrc19fdGl0bGUtdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLWxhcmdlO1xufVxuXG4ucy1wZXJrc19faXRlbXMge1xuICBAbWl4aW4gZmxleC1ncmlkO1xufVxuXG4ucy1wZXJrc19faXRlbSB7XG4gIEBtaXhpbiBmbGV4LWNvbHVtbiAxMjtcblxuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLWxhcmdlKTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gNjtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gNDtcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1sYXJnZSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiAzO1xuICB9XG59XG5cbi5zLXBlcmtzX19pdGVtLWlubmVyIHtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtdGlueSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC10aW55KTtcbn1cblxuLnMtcGVya3NfX2l0ZW0tbWVkaWEge1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdDtcbiAgQG1peGluIGFzcGVjdC1yYXRpbyA0LCAzO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFByb2R1Y3QgSW5mb3JtYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzZWN0aW9uIGZvciBwcm9kdWN0LWluZm9ybWF0aW9uLlxuICovXG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcCk7XG4gIH1cbn1cblxuLnMtcHJvZHVjdC1pbmZvcm1hdGlvbl9faW5uZXIge1xuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBAbWl4aW4gZmxleC1ncmlkO1xuICAgIEBtaXhpbiBjb250YWluZXI7XG4gIH1cbn1cblxuLnMtcHJvZHVjdC1pbmZvcm1hdGlvbl9fYnJlYWRjcnVtYiB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ucy1wcm9kdWN0LWluZm9ybWF0aW9uX190aHVtYm5haWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gICYgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgfVxufVxuXG4ucy1wcm9kdWN0LWluZm9ybWF0aW9uX19nYWxsZXJ5IHtcbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDg7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnMtcHJvZHVjdC1pbmZvcm1hdGlvbl9fZGV0YWlscyB7XG4gIEBtaXhpbiBjb250YWluZXI7XG5cbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDAuNzUpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDQ7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHQgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLW1lZGl1bSk7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIC8qIEBtaXhpbiBmbGV4LWNvbHVtbiA0OyAqL1xuICB9XG59XG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb25fX3RpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS14bGFyZ2U7XG5cdH1cbn1cblxuLnMtcHJvZHVjdC1pbmZvcm1hdGlvbl9fbGFiZWwge1xuICBAbWl4aW4gZm9udC1zaXplLW1lZGl1bTtcblx0QG1peGluIGl0YWxpYztcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0QG1peGluIGZvbnQtc2l6ZS14bWVkaXVtO1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci1saWdodC1ncmF5KTtcblx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0fVxufVxuXG4ucy1wcm9kdWN0LWluZm9ybWF0aW9uX19wcmljZSB7XG4gIEBtaXhpbiBmb250LXNpemUtbWVkaXVtO1xuXG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcC1zbWFsbCkgKiAwLjc1KTtcbn1cblxuLnMtcHJvZHVjdC1pbmZvcm1hdGlvbl9fZGVzY3JpcHRpb24ge1xuICBAbWl4aW4gdHlwb2dyYXBoeS1mdWxsO1xuXG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjc1KTtcblxuICBwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYm9keSk7XG4gIH1cblxuICBzcGFuIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICB9XG59XG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb25fX2NvbG9yLXBpY2tlciB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAwLjI1KTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb25fX3ZhcmlhbnRzIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb25fX3ZhcmlhbnRzLXRpdGxlIHtcbiAgQG1peGluIGxhYmVsO1xufVxuXG4ucy1wcm9kdWN0LWluZm9ybWF0aW9uX19kZXRhaWxzIHtcbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIC5zaG9waWZ5LXByb2R1Y3QtZm9ybSB7XG4gICAgICBAbWl4aW4gZmxleC1ncmlkIGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb25fX3N0b2NrIHtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDAuNzUpO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnF1YW50aXR5LWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICYucXVhbnRpdHktYnV0dG9uLS1pbmNyZWFzZSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXAtdGlueSkgKiAwLjc1KTtcbiAgfVxuXG4gICYucXVhbnRpdHktYnV0dG9uLS1kZWNyZWFzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWdhcC10aW55KSAqIDAuNzUpO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG59XG5cbi5zLXByb2R1Y3QtaW5mb3JtYXRpb25fX2FjY29yZGlvbiB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xufVxuXG4ucy1wcm9kdWN0LWluZm9ybWF0aW9uX19hY2NvcmRpb24gKyAucy1wcm9kdWN0LWluZm9ybWF0aW9uX19hY2NvcmRpb24ge1xuICBwYWRkaW5nLXRvcDogMDtcblxuICAuYy1hY2NvcmRpb25fX2l0ZW0ge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cblxuLmMtcHJvZHVjdC1saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDAuNzUpO1xufVxuXG4uYy1wcm9kdWN0LWxpbmsge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXApO1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmMtcHJvZHVjdC1saW5rX19pdGVtIHtcbiAgICBAbWl4aW4gZm9udC1zaXplLXNtYWxsIDE7XG4gICAgQG1peGluIGxpbmstdW5kZXJsaW5lO1xuXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUHJvZHVjdCBUYWJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIHByb2R1Y3QtdGFicy5cbiAqL1xuXG4ucy1wcm9kdWN0LXRhYnMge1xuXHRAbWl4aW4gY29udGFpbmVyO1xuXHRAbWl4aW4gc2VjdGlvbjtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG59XG5cbi5zLXByb2R1Y3QtdGFic19fdGl0bGUge1xuXHQucy1wcm9kdWN0LXRhYnNfX2lubmVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5zLXByb2R1Y3QtdGFic19fdGFicyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0QG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuLnMtcHJvZHVjdC10YWJzX19hY2NvcmRpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4ucy1wcm9kdWN0LXRhYnNfX25hdiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0d2lkdGg6IDI1JTtcbn1cblxuLnMtcHJvZHVjdC10YWJzX19uYXYtaXRlbSB7XG5cdEBtaXhpbiBmb250LXNpemUtdGlueTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuXHRsZXR0ZXItc3BhY2luZzogMC43cHg7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufVxuXG4ucy1wcm9kdWN0LXRhYnNfX2NvbnRlbnQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiA3NSU7XG59XG5cbi5zLXByb2R1Y3QtdGFic19fY29udGVudC1pdGVtIHtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzRweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0b3BhY2l0eTogMTtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0ei1pbmRleDogMTtcblx0fVxufVxuXG4ucy1wcm9kdWN0LXRhYnNfX2NvbnRlbnQtaXRlbSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLnMtcHJvZHVjdC10YWJzX19jb250ZW50LWl0ZW0tLWltYWdlIHtcblx0d2lkdGg6IDMwJTtcblxuXHRpbWcge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4ucy1wcm9kdWN0LXRhYnNfX2NvbnRlbnQtaXRlbS0tY29udGVudCB7XG5cdEBtaXhpbiB0eXBvZ3JhcGh5LWZ1bGw7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC1tZWRpdW0pO1xuXHR3aWR0aDogNzAlO1xuXG5cdHVsIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG4vKipcbiAqIFByb2R1Y3QgVGFicyBBY2NvcmRpb25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zLXByb2R1Y3QtdGFic19fYWNjb3JkaW9uIHtcblx0LmMtYWNjb3JkaW9uX19jb250ZW50LWl0ZW0tLWltYWdlIHtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXG5cdFx0aW1nIHtcblx0XHRcdG1heC1oZWlnaHQ6IDUwdmg7XG5cdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBQcm9kdWN0cyBHcmlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgYmxvY2sgZm9yIGEgcHJvZHVjdHMgZ3JpZFxuICovXG5cbi5zLWdyaWQge1xuICBAbWl4aW4gc2VjdGlvbjtcbn1cblxuLnMtZ3JpZF9faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLnMtZ3JpZF9faGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1zZWN0aW9uKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5zLWdyaWRfX3RpdGxlLXRpdGxlIHtcbiAgQG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcbn1cblxuLnMtZ3JpZF9faXRlbXMge1xuICBAbWl4aW4gZmxleC1ncmlkO1xufVxuXG4ucy1ncmlkX19pdGVtIHtcbiAgQG1peGluIGZsZXgtY29sdW1uIDEyO1xuXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA0O1xuICB9XG5cbiAgQG1lZGlhICgtLWJwLWxhcmdlKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDM7XG4gIH1cbn1cblxuLnMtZ3JpZF9faXRlbS1pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLXRpbnkpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtdGlueSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgcXVvdGUgU2VjdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIGEgcXVvdGUuXG4gKi9cblxuLnMtcXVvdGUge1xuICBAbWl4aW4gc2VjdGlvbjtcbn1cblxuLnMtcXVvdGVfX2lubmVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcbn1cblxuLnMtcXVvdGVfX2NvbnRlbnQge1xuXHRAbWl4aW4gZmxleC1ncmlkO1xufVxuXG4ucy1xdW90ZV9fdGV4dCB7XG5cdEBtaXhpbiBmbGV4LWNvbHVtbjtcblx0QG1peGluIGZvbnQtc2l6ZS1sYXJnZTtcblx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhlYWRpbmcpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiAxMDtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0IDE7XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gODtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0IDI7XG4gIH1cblxuXHRibG9ja3F1b3RlIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29sb3I6ICNhYjU4MmI7XG5cdFx0XHRjb250ZW50OiBcIuKAnFwiO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRcdGZvbnQtc2l6ZTogNC40cmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDAuNzU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUmVsYXRlZCBQcm9kdWN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBIHNlY3Rpb24gZm9yIHJlbGF0ZWQtcHJvZHVjdHMuXG4gKi9cblxuLnMtcmVsYXRlZC1wcm9kdWN0cyB7XG4gIEBtaXhpbiBzZWN0aW9uO1xuXG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbGFyZ2UpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xuICB9XG59XG5cbi5zLXJlbGF0ZWQtcHJvZHVjdHNfX2dyaWQge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuXG4gIEBtZWRpYSAoLS1icC1zbWFsbCkge1xuICAgICY6aGFzKC5zLXJlbGF0ZWQtcHJvZHVjdDpudGgtY2hpbGQoNSkpIC5zLXJlbGF0ZWQtcHJvZHVjdCB7XG4gICAgICAtLWNvbHVtbjogMi45NTtcbiAgICB9XG4gIH1cbn1cblxuLnMtcmVsYXRlZC1wcm9kdWN0IHtcbiAgLS1jb2x1bW46IDkuNzU7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgLS1jb2x1bW46IDM7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGltZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jLXByb2R1Y3QtY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnMtcmVsYXRlZC1wcm9kdWN0c19faGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNzUpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC1jb250YWluZXIpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtY29udGFpbmVyKTtcbn1cblxuLnMtcmVsYXRlZC1wcm9kdWN0c19fdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLWxhcmdlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFJpY2ggVGV4dCAoU2ltcGxlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQSBzaW1wbGUgcmljaCB0ZXh0IHNlY3Rpb24gd2l0aCB0aXRsZSBhbmQgdGV4dCBjb250ZW50LlxuICovXG5cbi5zLXJpY2gtdGV4dC1zaW1wbGUge1xuICBAbWl4aW4gc2VjdGlvbjtcblxuXHQucC10ZW1wbGF0ZS00MDQgJiB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cbn1cblxuLnMtcmljaC10ZXh0LXNpbXBsZV9faW5uZXIge1xuICBAbWl4aW4gY29udGFpbmVyO1xuICBtYXgtd2lkdGg6IDM5LjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnMtcmljaC10ZXh0LXNpbXBsZV9fdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLXNtYWxseDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwLjI1cmVtICogNik7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS1tZWRpdW07XG5cdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG5cbiAgfVxuXG5cdC5wLXRlbXBsYXRlLTQwNCAmIHtcbiBcdFx0QG1peGluIGZvbnQtc2l6ZS1odWdlO1xuXHR9XG59XG5cbi5zLXJpY2gtdGV4dC1zaW1wbGVfX3RleHQge1xuICBAbWl4aW4gdHlwb2dyYXBoeS1mdWxsO1xuICBAbWl4aW4gZm9udC1zaXplLXNtYWxsO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWVkaXVtKTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBSaWNoIFRleHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc2VjdGlvbiBmb3IgcmljaC10ZXh0LlxuICovXG5cbi5zLXJpY2gtdGV4dCB7XG4gIEBtaXhpbiBzZWN0aW9uO1xufVxuXG4ucy1yaWNoLXRleHRfX2lubmVyIHtcbiAgQG1peGluIGNvbnRhaW5lcjtcbn1cblxuLnMtcmljaC10ZXh0X19ncmlkIHtcbiAgQG1peGluIGZsZXgtZ3JpZDtcbn1cblxuLnMtcmljaC10ZXh0X19oZWFkZXIge1xuICBAbWl4aW4gZmxleC1jb2x1bW47XG5cbiAgQG1lZGlhICgtLWJwLW1lZGl1bSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiAxMDtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0IDE7XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG5cdCBcdEBtaXhpbiBmbGV4LWNvbHVtbiA4O1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMjtcblx0fVxufVxuXG4ucy1yaWNoLXRleHRfX2NvbnRlbnQge1xuICBAbWl4aW4gZmxleC1jb2x1bW47XG5cbiAgcGFkZGluZy10b3A6IDEuNzVyZW07XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuXHRAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDEwO1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMTtcbiAgfVxuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA4O1xuXHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMjtcbiAgfVxuXG4ucy1yaWNoLXRleHQtLWhhcy1pbWFnZS5zLXJpY2gtdGV4dC0taDEgJiB7XG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdHBhZGRpbmctdG9wOiA1LjI1cmVtO1xuXHR9XG59XG5cbi5zLXJpY2gtdGV4dC0taGFzLWltYWdlLnMtcmljaC10ZXh0LS1oMiAmIHtcblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0cGFkZGluZy10b3A6IDQuNzVyZW07XG5cdH1cbn1cblxuLnMtcmljaC10ZXh0X190aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1tZWRpdW0pO1xufVxuXG4ucy1yaWNoLXRleHRfX3RpdGxlLS1oMSB7XG4gIEBtaXhpbiBmb250LXNpemUtaHVnZTtcbn1cblxuLnMtcmljaC10ZXh0X190aXRsZS0taDIge1xuICBAbWl4aW4gZm9udC1zaXplLXhsYXJnZS1tb2JpbGU7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZvbnQtc2l6ZS14bGFyZ2U7XG4gIH1cbn1cblxuLnMtcmljaC10ZXh0X19pbWFnZSB7XG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLW1lZGl1bSk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zLXJpY2gtdGV4dF9faW50cm8ge1xuICBAbWl4aW4gZm9udC1zaXplLXhsYXJnZS1tb2JpbGU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnMtcmljaC10ZXh0X19pbnRybyArIC5zLXJpY2gtdGV4dF9fYmxvY2tzIHtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAvIDIpO1xufVxuXG4ucy1yaWNoLXRleHRfX2Jsb2NrcyB7XG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4ucy1yaWNoLXRleHRfX3RleHQge1xuICBAbWl4aW4gdHlwb2dyYXBoeS1mdWxsO1xuXG5cdGgzIHtcblx0fVxuXG5cdHAge1xuXHRcdEBtaXhpbiBmb250LXNpemUtc21hbGx4O1xuXHR9XG5cbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAvIDAuNyk7XG59XG5cbi5zLXJpY2gtdGV4dF9fdGV4dC0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucy1yaWNoLXRleHRfX3RleHQtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucy1yaWNoLXRleHRfX2FjY29yZGlvbiB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgLyAwLjcpO1xufVxuXG4ucy1yaWNoLXRleHRfX2FjY29yZGlvbiArIC5zLXJpY2gtdGV4dF9fYWNjb3JkaW9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG5cbiAgLmMtYWNjb3JkaW9uX19pdGVtIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG59XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgc2xpZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnMtc2xpZGVyIHtcbiAgQG1peGluIHNlY3Rpb247XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyb3duKTtcblx0cGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1sYXJnZSk7XG59XG5cbi5zLXNsaWRlcl9faW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zLXNsaWRlcl9faW1hZ2Uge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuXHR3aWR0aDogMTAwJTtcblxuXHQuaXMtYWN0aXZlICYge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRhc3BlY3QtcmF0aW86IDMgLyA0O1xuXHR9XG59XG5cbi5zLXNsaWRlcl9fc2xpZGUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zLXNsaWRlcl9fY29udGVudCB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGxlZnQ6IDA7XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0b3A6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDM7XG5cblx0LmlzLWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbi5zLXNsaWRlcl9fbGFiZWwge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtc21hbGwpO1xufVxuXG4ucy1zbGlkZXJfX3RpdGxlIHtcblx0QG1peGluIGZvbnQtc2l6ZS14bGFyZ2U7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC10aW55KTtcblx0d2lkdGg6IDI1cmVtO1xuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdEBtaXhpbiBmb250LXNpemUteGh1Z2U7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHR3aWR0aDogMzVyZW07XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHR3aWR0aDogNTRyZW07XG5cdH1cbn1cblxuLnMtc2xpZGVyX19zbGlkZXItb3V0ZXIge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcblx0b3ZlcmZsb3cteDogc2Nyb2xsO1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5zLXNsaWRlcl9fc2xpZGVzIHtcbiAgZGlzcGxheTogZmxleDtcblx0Z2FwOiAycmVtO1xuICBwYWRkaW5nOiAycmVtIDA7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0Z2FwOiA0cmVtO1xuXHR9XG5cblx0QG1lZGlhICgtLWJwLWxhcmdlKSB7XG5cdFx0Z2FwOiAxMnJlbTtcblx0fVxufVxuXG4ucy1zbGlkZXJfX3NsaWRlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDYwdnc7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtd2lkdGg6IDgwdnc7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XG5cblx0QG1lZGlhICgtLWJwLXNtYWxsKSB7XG5cdFx0ZmxleDogMCAwIDUwdnc7XG5cdH1cblxuXHRAbWVkaWEgKC0tYnAtbGFyZ2UpIHtcblx0XHRmbGV4OiAwIDAgMzh2dztcblx0fVxuXG5cdEBtZWRpYSAoLS1icC14bGFyZ2UpIHtcblx0XHRmbGV4OiAwIDAgNDB2dztcblx0fVxufVxuXG4ucy1zbGlkZXJfX2ltYWdlLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcblxuXHQuaXMtYWN0aXZlICYge1xuXHRcdC5zLXNsaWRlcl9faW1hZ2Utb3ZlcmxheSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdFx0XHRvcGFjaXR5OiAwLjM7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblx0fVxufVxuXG4ucy1zbGlkZXJfX2ltYWdlIHtcblx0YXNwZWN0LXJhdGlvOiAxIC8gMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHdpZHRoOiAxMDAlO1xuXG5cdEBtZWRpYSAoLS1icC1sYXJnZSkge1xuXHRcdGFzcGVjdC1yYXRpbzogOSAvIDEwO1xuXHR9XG59XG5cbi5zLXNsaWRlcl9faW1hZ2Utb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJyb3duKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcblx0dHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcblxufVxuXG4vKiBEb3RzIE5hdmlnYXRpb24gKi9cbi5zLXNsaWRlcl9fZG90cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC41cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAycmVtO1xufVxuXG4ucy1zbGlkZXJfX2RvdCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuXHQmOmhvdmVyIHtcblx0XHQucy1zbGlkZXJfX2RvdC1pbm5lciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0fVxuXHR9XG59XG5cbi5zLXNsaWRlcl9fZG90LWlubmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDAuMzNyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHdpZHRoOiAwLjMzcmVtO1xuXG5cdC5pcy1hY3RpdmUgJiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblx0fVxufVxuXG4ucy1zbGlkZXJfX2Fycm93IHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsICNmZmYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cdGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCB0cmFuc2Zvcm0gMC4ycztcbiAgei1pbmRleDogMTA7XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0fVxuXG5cdCY6YWN0aXZlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4xKTtcblx0fVxuXG5cdEBtZWRpYSAoLS1icC1zbWFsbCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5zLXNsaWRlcl9fYXJyb3ctLWxlZnQge1xuICBsZWZ0OiAwLjVyZW07XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC0wLjI1cmVtKTtcblx0fVxufVxuXG4ucy1zbGlkZXJfX2Fycm93LS1yaWdodCB7XG4gIHJpZ2h0OiAwLjVyZW07XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDAuMjVyZW0pO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgNDA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnAtdGVtcGxhdGUtNDA0IHtcblx0LmwtbWFpbiB7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG59XG5cbi5wLTQwNCB7XG4gIEBtaXhpbiBjb250YWluZXI7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogMTAwdm1pbjtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tYmFzZWxpbmUtdW5pdCkgKiAyMCk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWJhc2VsaW5lLXVuaXQpICogMjApO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wLTQwNF9faW5uZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDI1cmVtO1xufVxuXG4ucC00MDRfX251bWJlciB7XG4gIGZvbnQtc2l6ZTogN3JlbTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG59XG5cbi5wLTQwNF9fdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1tZWRpdW0pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtbWVkaXVtKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC1taWNybyk7XG59XG5cbi5wLTQwNF9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXRpbnkpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtdGlueSk7XG4gIG1heC13aWR0aDogMjByZW07XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtdGlueSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGFnZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBQYWdlIHN0eWxlcywgcGFnZSBzcGVjaWZpYyBjbGFzc2VzIChlLmcuIC5ob21lLCAucGFnZS10ZW1wbGF0ZS1hYm91dClcbiAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIFBhZ2UgVGVtcGxhdGUgU3R5bGluZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEEgc3R5bGluZyBmb3IgcGFnZSB0ZW1wbGF0ZS5cbiAqL1xuXG4ucC1wYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDQpO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogNCk7XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDUpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLWdhcCkgKiA1KTtcbiAgfVxufVxuXG4ucC1wYWdlX19pbm5lciB7XG4gIEBtaXhpbiBjb250YWluZXI7XG59XG5cbi5wLXBhZ2VfX2dyaWQge1xuICBAbWl4aW4gZmxleC1ncmlkO1xufVxuXG4ucC1wYWdlX19oZWFkZXIge1xuICBAbWl4aW4gZmxleC1jb2x1bW47XG5cbiAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDU7XG4gIH1cblxuICBAbWVkaWEgKC0tYnAtbWVkaXVtKSB7XG4gICAgQG1peGluIGZsZXgtY29sdW1uIDM7XG4gIH1cbn1cblxuLnAtcGFnZV9fY29udGVudCB7XG4gIEBtaXhpbiBmbGV4LWNvbHVtbjtcblxuICBwYWRkaW5nLXRvcDogMS43NXJlbTtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuICAgIEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMztcbiAgfVxuXG4gIEBtZWRpYSAoLS1icC1tZWRpdW0pIHtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4gNTtcbiAgICBAbWl4aW4gZmxleC1jb2x1bW4tb2Zmc2V0IDM7XG4gIH1cbn1cblxuLnAtcGFnZV9fdGl0bGUge1xuICBAbWl4aW4gZm9udC1zaXplLWh1Z2U7XG5cbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4ucC1wYWdlX190ZXh0IHtcbiAgQG1peGluIHR5cG9ncmFwaHktZnVsbDtcblxuICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLW1pY3JvKTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgUGFnZSBCcmVhZGNydW1iIExheW91dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBMYXlvdXQgd3JhcHBlciBmb3IgYnJlYWRjcnVtYnMgb24gcmVndWxhciBwYWdlcyBhbmQgcG9saWN5IHBhZ2VzXG4gKiBBcHBsaWVkIHRocm91Z2ggdGhlbWUubGlxdWlkIGxheW91dFxuICovXG4ubC1wYWdlLWJyZWFkY3J1bWIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtY29udGFpbmVyKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLWNvbnRhaW5lcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wLXRlbXBsYXRlLXBhZ2Uge1xuXHQvKiBNYWtlIGJyZWFkY3J1bWIgaXRlbXMgd2hpdGUgd2hlbiBwYWdlIGhlYWRlciBmdWxsIGlzIHByZXNlbnQgKi9cblx0bWFpbjpoYXMoLnMtcGFnZS1oZWFkZXItZnVsbCkgLmMtYnJlYWRjcnVtYl9faXRlbSB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHRcdC5jLWJyZWFkY3J1bWJfX2N1cnJlbnQge1xuICBcdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHR9XG5cdH1cblxuXHRtYWluOmhhcygucy1wYWdlLWhlYWRlci1mdWxsKSAuYy1icmVhZGNydW1iX19pdGVtIC5jLWJyZWFkY3J1bWJfX2xpbms6aG92ZXIsXG5cdG1haW46aGFzKC5zLXBhZ2UtaGVhZGVyLWZ1bGwpIC5jLWJyZWFkY3J1bWJfX2l0ZW0gLmMtYnJlYWRjcnVtYl9fbGluazpmb2N1cyxcblx0bWFpbjpoYXMoLnMtcGFnZS1oZWFkZXItZnVsbCkgLmMtYnJlYWRjcnVtYl9faXRlbSAuYy1icmVhZGNydW1iX19saW5rOmFjdGl2ZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0fVxuXG5cdC5sLW1haW4ge1xuXHRcdGRpdjpudGgtY2hpbGQoMikge1xuXHRcdFx0LnMtcGFnZS1oZWFkZXItZnVsbCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIC0zLjUpO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHRcdFx0XHRAbWVkaWEgKC0tYnAtc21hbGwpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAtMy43NSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnMtcGFnZS1oZWFkZXItZnVsbF9fY29udGVudCB7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQucy1wYWdlLWhlYWRlci1mdWxsX19maWx0ZXIge1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTsgLyoga2VlcCBjaGlsZCBlbGVtZW50cyBjbGlja2FibGUgKi9cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5sLW1haW4ge1xuICAuc2hvcGlmeS1wb2xpY3lfX2NvbnRhaW5lciB7XG4gICAgQG1peGluIHNlY3Rpb247XG4gICAgQG1peGluIGNvbnRhaW5lcjtcbiAgICBAbWl4aW4gZmxleC1ncmlkO1xuXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnNob3BpZnktcG9saWN5X190aXRsZSB7XG5cdFx0QG1peGluIGZsZXgtY29sdW1uIDEyO1xuICAgIEBtaXhpbiBmb250LXNpemUteGxhcmdlO1xuICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtbWVkaXVtKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgKC0tYnAtc21hbGwpIHtcbiAgICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA4O1xuXHRcdFx0QG1peGluIGZsZXgtY29sdW1uLW9mZnNldCAyO1xuICAgICAgQG1peGluIGZvbnQtc2l6ZS1odWdlO1xuICAgIH1cblxuXHRcdEBtZWRpYSAoLS1icC14bGFyZ2UpIHtcbiAgICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHRcdFx0QG1peGluIGZsZXgtY29sdW1uLW9mZnNldCAzO1xuICAgIH1cblxuICB9XG5cbiAgLnNob3BpZnktcG9saWN5X19ib2R5IHtcblx0XHRAbWl4aW4gZmxleC1jb2x1bW4gMTI7XG4gICAgQG1peGluIHR5cG9ncmFwaHktZnVsbDtcblxuXHRcdGgyLFxuXHRcdGgzLFxuXHRcdGg0IHtcblx0XHRcdEBtaXhpbiBmb250LXNpemUtbWVkaXVtO1xuXHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0fVxuXG5cdFx0aDQge1xuXHRcdFx0Y29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG5cdFx0fVxuXG4gICAgQG1lZGlhICgtLWJwLXNtYWxsKSB7XG4gICAgICBAbWl4aW4gZmxleC1jb2x1bW4gODtcblx0XHRcdEBtaXhpbiBmbGV4LWNvbHVtbi1vZmZzZXQgMjtcblxuXHRcdFx0aDIsXG5cdFx0XHRoMyxcblx0XHRcdGg0IHtcblx0XHRcdFx0QG1peGluIGZvbnQtc2l6ZS14bGFyZ2UtbW9iaWxlO1xuXHRcdFx0XHRmb250LWZhbWlseTogdmFyKC0tZm9udC1oZWFkaW5nKTtcblx0XHRcdH1cblxuXHRcdFx0aDQge1xuXHRcdFx0XHRAbWl4aW4gZm9udC1zaXplLWxhcmdlO1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3Itb3JhbmdlKTtcblx0XHRcdFx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaGVhZGluZyk7XG5cdFx0XHR9XG5cbiAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtbWljcm8pO1xuICAgIH1cblxuXHRcdEBtZWRpYSAoLS1icC14bGFyZ2UpIHtcbiAgICAgIEBtaXhpbiBmbGV4LWNvbHVtbiA2O1xuXHRcdFx0QG1peGluIGZsZXgtY29sdW1uLW9mZnNldCAzO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEFjY2Vzc2liaWxpdHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uaC1zci1vbmx5IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuXG4gIC8qKlxuXHQgKiBNYW55IHNjcmVlbiByZWFkZXIgYW5kIGJyb3dzZXIgY29tYmluYXRpb25zIGFubm91bmNlIGJyb2tlbiB3b3Jkc1xuXHQgKiBhcyB0aGV5IHdvdWxkIGFwcGVhciB2aXN1YWxseS5cblx0ICovXG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG5cbiAgJjpmb2N1cyB7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0Y2xpcDogYXV0byAhaW1wb3J0YW50O1xuXHRcdGNsaXAtcGF0aDogbm9uZTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdGxlZnQ6IHZhcigtLXNwYWNpbmctdW5pdC0yeCk7XG5cdFx0cGFkZGluZzogdmFyKC0tc3BhY2luZy11bml0LTJ4KSB2YXIoLS1zcGFjaW5nLXVuaXQtM3gpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR0b3A6IHZhcigtLXNwYWNpbmctdW5pdC0yeCk7XG5cdFx0d2lkdGg6IGF1dG87ICovXG5cbiAgICAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgfVxufVxuXG4vKiBSZW1vdmUgZm9jdXMgb3V0bGluZXMgd2hlbiB1c2luZyBtb3VzZS4gKi9cbi51c2luZy1tb3VzZSB7XG4gICYgYVtocmVmXTpmb2N1cyxcbiAgJiBhcmVhW2hyZWZdOmZvY3VzLFxuICAmIGlucHV0Om5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbiAgJiBzZWxlY3Q6bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuICAmIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbiAgJiBidXR0b246bm90KFtkaXNhYmxlZF0pOmZvY3VzLFxuICAmIFt0YWJpbmRleF06Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cblxuLyogQWRkIGZvY3VzIG91dGxpbmVzIHdoZW4gdXNpbmcga2V5Ym9hcmQuICovXG4udXNpbmcta2V5Ym9hcmQge1xuICAmIGFbaHJlZl06Zm9jdXMsXG4gICYgYXJlYVtocmVmXTpmb2N1cyxcbiAgJiBpbnB1dDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG4gICYgc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbiAgJiB0ZXh0YXJlYTpub3QoW2Rpc2FibGVkXSk6Zm9jdXMsXG4gICYgYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpmb2N1cyxcbiAgJiBbdGFiaW5kZXhdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgIzAwMDtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIEFuaW1hdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbmltYXRpb24gdHlwZXMgYW5kIGFuaW1hdGlvbiBAa2V5ZnJhbWVzIHNoYWxsIGJlIGFkZGVkIGhlcmUuXG4gKi9cblxuLypcbiAjIE9uIExvYWRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltkYXRhLWFuaW1hdGlvbi1uYW1lPVwiZmFkZS1pbi1vbi1sb2FkXCJdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cbiAgLmhhcy1sb2FkZWQgJixcbiAgLmFjZi1ibG9jay1wcmV2aWV3ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uLW5hbWU9XCJmYWRlLWluLXVwLW9uLWxvYWRcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDRyZW0sIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1zbG93KSwgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbi1zbG93KTtcblxuICAuaGFzLWxvYWRlZCAmLFxuICAuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbltkYXRhLWFuaW1hdGlvbi1uYW1lPVwiZmFkZS1pbi1kb3duLW9uLWxvYWRcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cmVtLCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tc2xvdyksIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cbiAgLmhhcy1sb2FkZWQgJixcbiAgLmFjZi1ibG9jay1wcmV2aWV3ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4vKlxuICMgV2hlbiBSZWFkeVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2RhdGEtYW5pbWF0aW9uLW5hbWU9XCJmYWRlLWluLXdoZW4tcmVhZHlcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1zbG93KTtcblxuICAuaXMtcmVhZHkgJixcbiAgLmFjZi1ibG9jay1wcmV2aWV3ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uLW5hbWU9XCJmYWRlLWluLXVwLXdoZW4tcmVhZHlcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDRyZW0sIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFuaW1hdGlvbi1zbG93KSwgdHJhbnNmb3JtIHZhcigtLWFuaW1hdGlvbi1zbG93KTtcblxuICAuaXMtcmVhZHkgJixcbiAgLmFjZi1ibG9jay1wcmV2aWV3ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5bZGF0YS1hbmltYXRpb24tbmFtZT1cInNsaWRlLWluLXdoZW4tcmVhZHlcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00cmVtLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tc2xvdyksIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cbiAgLmlzLXJlYWR5ICYsXG4gIC5hY2YtYmxvY2stcHJldmlldyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uLW5hbWU9XCJoZWFkZXJcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cmVtLCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tc2xvdyksIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cbiAgLmlzLXJlYWR5ICYsXG4gIC5hY2YtYmxvY2stcHJldmlldyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLypcbiAjIE9uIFNjcm9sbFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2RhdGEtYW5pbWF0aW9uLW5hbWU9XCJmYWRlLWluXCJdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cbiAgLndhcy1pbi12aWV3ICYsXG4gICYud2FzLWluLXZpZXcsXG4gIC5hY2YtYmxvY2stcHJldmlldyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbltkYXRhLWFuaW1hdGlvbi1uYW1lPVwiZmFkZS1pbi11cFwiXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNHJlbSwgMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tYW5pbWF0aW9uLXNsb3cpLCB0cmFuc2Zvcm0gdmFyKC0tYW5pbWF0aW9uLXNsb3cpO1xuXG4gIC53YXMtaW4tdmlldyAmLFxuICAmLndhcy1pbi12aWV3LFxuICAuYWNmLWJsb2NrLXByZXZpZXcgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbltkYXRhLWFuaW1hdGlvbi1uYW1lPVwic2xpZGUtaW5cIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0ycmVtLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1hbmltYXRpb24tc2xvdyksIHRyYW5zZm9ybSB2YXIoLS1hbmltYXRpb24tc2xvdyk7XG5cbiAgLndhcy1pbi12aWV3ICYsXG4gICYud2FzLWluLXZpZXcsXG4gIC5hY2YtYmxvY2stcHJldmlldyAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uLW5hbWVdIHtcbiAgLyogRGlzYWJsZSB0cmFuc2l0aW9ucyBmb3IgdXNlcnMgcHJlZmVycyByZWR1Y2VkIG1vdGlvbiAqL1xuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG5cbi8qXG4gIyBEZWxheXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjFcIl0ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGlvbi1kZWxheSkgKiAxKTtcbn1cblxuW2RhdGEtYW5pbWF0aW9uLWRlbGF5PVwiMlwiXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0aW9uLWRlbGF5KSAqIDIpO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCIzXCJdIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXkpICogMyk7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjRcIl0ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGlvbi1kZWxheSkgKiA0KTtcbn1cblxuW2RhdGEtYW5pbWF0aW9uLWRlbGF5PVwiNVwiXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0aW9uLWRlbGF5KSAqIDUpO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCI2XCJdIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXkpICogNik7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjdcIl0ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGlvbi1kZWxheSkgKiA3KTtcbn1cblxuW2RhdGEtYW5pbWF0aW9uLWRlbGF5PVwiOFwiXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0aW9uLWRlbGF5KSAqIDgpO1xufVxuXG5bZGF0YS1hbmltYXRpb24tZGVsYXk9XCI5XCJdIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXkpICogOSk7XG59XG5cbltkYXRhLWFuaW1hdGlvbi1kZWxheT1cIjEwXCJdIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRpb24tZGVsYXkpICogMTApO1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVMb2NhbGl6YXRpb24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXJlbSk7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIyBBc3BlY3QgUmF0aW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGFzLWFzcGVjdC1yYXRpbyB7XG4gIC8qIDE2OjkgZGVmYXVsdCAqL1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvO1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW9iamVjdDtcbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTIxLTkge1xuICAvKiA0Mi44JSBVbHRyYXdpZGUgc2NyZWVuICovXG4gIEBtaXhpbiBhc3BlY3QtcmF0aW8tbW9kaWZpZXIgMjEsIDk7XG59XG5cbi5oYXMtYXNwZWN0LXJhdGlvLS0yLTEge1xuICAvKiA1MCUgKi9cbiAgQG1peGluIGFzcGVjdC1yYXRpby1tb2RpZmllciAyLCAxO1xufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tMTYtOSB7XG4gIC8qIDU2LjI1JSAgMTY6OSBkZWZhdWx0ICovXG59XG5cbi5oYXMtYXNwZWN0LXJhdGlvLS0zLTIge1xuICAvKiA2Ni42NyUgKi9cbiAgQG1peGluIGFzcGVjdC1yYXRpby1tb2RpZmllciAzLCAyO1xufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tNC0zIHtcbiAgLyogNzUlICovXG4gIEBtaXhpbiBhc3BlY3QtcmF0aW8tbW9kaWZpZXIgNCwgMztcbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTUtNCB7XG4gIC8qIDgwJSAqL1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDUsIDQ7XG59XG5cbi5oYXMtYXNwZWN0LXJhdGlvLS0xLTEge1xuICAvKiAxMDAlICovXG4gIEBtaXhpbiBhc3BlY3QtcmF0aW8tbW9kaWZpZXIgMSwgMTtcbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTQtNSB7XG4gIC8qIDEyNSUgKi9cbiAgQG1peGluIGFzcGVjdC1yYXRpby1tb2RpZmllciA0LCA1O1xufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tMy00IHtcbiAgLyogMTMzJSAqL1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDMsIDQ7XG59XG5cbi5oYXMtYXNwZWN0LXJhdGlvLS0yLTMge1xuICAvKiAxNTAlICovXG4gIEBtaXhpbiBhc3BlY3QtcmF0aW8tbW9kaWZpZXIgMiwgMztcbn1cblxuLmhhcy1hc3BlY3QtcmF0aW8tLTUtOSB7XG4gIC8qIDE4MCUgKi9cbiAgQG1peGluIGFzcGVjdC1yYXRpby1tb2RpZmllciA1LCA5O1xufVxuXG4uaGFzLWFzcGVjdC1yYXRpby0tMS0yIHtcbiAgLyogMjAwJSAqL1xuICBAbWl4aW4gYXNwZWN0LXJhdGlvLW1vZGlmaWVyIDEsIDI7XG59XG4iLCIvKipcbiAqIEFuaW1hdGlvbiBrZXlmcmFtZXNcbiAqXG4gKi9cblxuQGtleWZyYW1lcyBhbmltYXRlLWluLW1lbnUge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlLW91dC1tZW51IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS1pbi1tb2RhbC1tb2JpbGUge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtb3V0LW1vZGFsLW1vYmlsZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS1pbi1tb2RhbC1kZXNrdG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlLW91dC1tb2RhbC1kZXNrdG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlLWluLW92ZXJsYXkge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlLW91dC1vdmVybGF5IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWFycXVlZS1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5cbi8qIEFuaW1hdGlvbnMgZm9yIG1vZGFsIHNlYXJjaCAodmVydGljYWwgc2xpZGUpICovXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtaW4tbW9kYWwtZG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KSBzY2FsZVkoMC45OCk7XG5cdFx0IHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGVZKDEpO1xuXHRcdCB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlLW91dC1tb2RhbC11cCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlWSgxKTtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KSBzY2FsZVkoMC45OCk7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICMgTGF6eWxvYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmgtbGF6eWxvYWQge1xuICAubm8tanMgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAjIE9FbWJlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRWFzeSByZXNwb25zaXZlIGVtYmVkc1xuICpcbiAqIFVzZSBjbGFzcyBcImgtb2VtYmVkXCIgb24gY29udGFpbmVyIGFyb3VuZCB0aGUgZW1iZWQvaWZyYW1lL29iamVjdFxuICovXG5cbi5oLW9lbWJlZCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJiBpZnJhbWUsXG4gICYgb2JqZWN0LFxuICAmIGVtYmVkIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQ1RBOzs7QUFHQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUFhQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRHJDQTs7QUFFQTtBQUNBO0FFZEE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFZQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQU9BOztBQUVBO0FBQ0E7QUNuQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUErSUE7QUFDQTtBQTlJQTtBQUNBO0FBbENBO0FBa0NBO0FBQ0E7QUEySUE7QUExSUE7QUFDQTtBQXJDQTtBQUNBO0FBcUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQTBIQTtBQUNBO0FBekhBO0FBQ0E7QUF2REE7QUF1REE7QUF1SEE7QUF0SEE7QUFDQTtBQXpEQTtBQUNBO0FBeURBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXNFQTtBQUNBO0FBckVBO0FBQ0E7QUEzR0E7QUEyR0E7QUFDQTtBQUNBO0FBaUVBO0FBaEVBO0FBQ0E7QUEvR0E7QUFDQTtBQStHQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQThDQTtBQUNBO0FBNUNBO0FBQ0E7QUFwSUE7QUFvSUE7QUEwQ0E7QUF6Q0E7QUFDQTtBQXRJQTtBQUNBO0FBc0lBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQVVBO0FBQ0E7QUFDQTtBQ25MQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDL0NBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBWUE7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXlCQTtBQUNBO0FDekZBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQVNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQW5CQTtBQW1CQTtBQUFBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQXZCQTtBQXVCQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBQU1BO0FBQUE7QUFDQTtBQUNBO0FONUNBOztBQUVBO0FBQ0E7QU90QkE7Ozs7Ozs7Ozs7Ozs7O0FBY0E7QUFDQTtBQVlBOztBQUVBO0FBQ0E7QUFRQTs7Ozs7Ozs7O0FBU0E7QUFDQTtBQWdCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQkE7QUFDQTtBQ25GQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQ1BBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7OztBQWFBO0FBQ0E7QUFxQkE7Ozs7Ozs7Ozs7Ozs7QUFhQTtBQUNBO0FBZ1BBOzs7QUFHQTtBQUNBO0FDelNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBcUJBO0FBQ0E7QUFVQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1CQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQVVBOzs7QUFHQTtBQUNBO0FBUUE7Ozs7OztBQU1BO0FBQ0E7QUFJQTs7Ozs7QUFLQTtBQUNBO0FBUUE7Ozs7O0FBS0E7QUFDQTtBQVFBOzs7OztBQUtBO0FBQ0E7QUFRQTs7Ozs7QUFLQTtBQUNBO0FBUUE7Ozs7O0FBS0E7QUFDQTtBQVFBOztBQUVBO0FBQ0E7QVY5SUE7O0FBRUE7QUFDQTtBVzVCQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUFBOzs7QUFHQTtBQUNBO0FBQ0E7QUNqQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbEJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQ2RBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7Ozs7QUFJQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUxBO0FBTUE7QUFlQTtBQUNBO0FBZEE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQ3hEQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7OztBQVNBO0FBQ0E7QUFDQTtBUFFBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUMrQkE7QUFBQTtBTXhDQTtBQUNBO0FOeUNBO0FBQ0E7QU03Q0E7QU42Q0E7QUFBQTtBTTNDQTtBTjRDQTtBQUNBO0FBQ0E7QUN5R0E7QUFDQTtBQUFBO0FEeEdBO0FBQ0E7QUN5R0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUQ3R0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBRHpCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNkJBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdkJBOzs7Ozs7QURoQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUNzREE7QUFEQTtBQUNBO0FBR0E7Ozs7OztBQU1BO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBS0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQ5R0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNkdBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBMkJBO0FBQ0E7QUExQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQxSkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDeUpBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBc0JBO0FBQ0E7QUFyQkE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFtQkE7QUFDQTtBQWxCQTs7OztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QVRwUUE7O0FBRUE7QUFDQTtBZ0JqQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQWZBO0FBZUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FSekJBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QVF3QkE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QVIvQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQytCQTtBQUFBO0FPd0JBO0FBQ0E7QVB2QkE7QUFDQTtBT1VBO0FQVkE7QUFBQTtBT3FCQTtBUHBCQTtBQUNBO0FBQ0E7QUN5R0E7QUFDQTtBQUFBO0FEeEdBO0FBQ0E7QUN5R0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUQ3R0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBRHpCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNkJBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdkJBOzs7Ozs7QURoQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUNzREE7QUFEQTtBQUNBO0FBR0E7Ozs7OztBQU1BO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBS0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQ5R0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNkdBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBMkJBO0FBQ0E7QUExQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQxSkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDeUpBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBc0JBO0FBQ0E7QUFyQkE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFtQkE7QUFDQTtBQWxCQTs7OztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QVFsU0E7QUR3RUE7QUFBQTtBQ3hFQTtBQUNBO0FEeUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBUjdFQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QVE0RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRWxKQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQVJBO0FBUUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVQ2UkE7QVMzUkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE4Q0E7QUFDQTtBQTdDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVZBO0FBVUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBdkRBO0FBdURBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQU5BO0FBTUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBRkE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFlQTtBQUNBO0FBZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQ2xPQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QVhoRUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBVytEQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFUQTtBQVdBO0FBQ0E7QUFGQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDN0tBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZ0JBO0FBQ0E7QUFmQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcEJBO0FBb0JBO0FBQ0E7QUFPQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBekJBO0FBeUJBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUNqQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7OztBQWNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQWZBO0FBZUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBOzs7O0FBSUE7QUFKQTs7OztBQUlBO0FBQ0E7QUFtQkE7QUFDQTtBQWxCQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBUUE7QUFDQTtBQVBBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM3RkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFpQkE7QUFDQTtBZmNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FWa0JBO0FBQ0E7QVVuQkE7QUFDQTtBVm9CQTtBQUNBO0FlYkE7QWZhQTtBQUNBO0FBQ0E7QWVZQTtBZlhBO0FBQ0E7QWVMQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF6QkE7QWZTQTtBQUNBO0FlaUJBO0FmZkE7QUFDQTtBZWJBO0FmYUE7QUFDQTtBQUNBO0FlWUE7QWZYQTtBZVVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVpBO0FBWUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FkeEVBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUM2UkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FEblNBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUVnR0E7QVlyQkE7QUFDQTtBWnNCQTtBQUNBO0FBQ0E7QUFDQTtBT3hIQTtBQUNBO0FLNEZBO0FBQ0E7QUFEQTtBTDdGQTtBQUNBO0FLK0ZBO0FkN0NBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FFNkRBO0FZZEE7QUFDQTtBWmVBO0FBQ0E7QUFDQTtBQUNBO0FPeEhBO0FBQ0E7QUttR0E7QUxwR0E7QUFDQTtBTURBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QWY5QkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQzZSQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBY25RQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWYzQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FlMENBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FmakVBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWVnRUE7QUFBQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7O0FmOUVBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWUrRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QWZsRkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQzZSQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QWMvTUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW1CQTtBQUNBO0FBbEJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUF4QkE7QUF3QkE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQVVBO0FBQ0E7QUFUQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM5S0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqQjhDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FpQi9DQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdkJBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBbEI5QkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQzZSQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUQ1UkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBa0J1QkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBWEE7QUFXQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FqQnFRQTtBaUJuUUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQTRCQTtBQUNBO0FBNUJBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBckJBO0FBQ0E7QUFxQkE7QUFlQTtBQUNBO0FBZkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQTFCQTtBQUNBO0FBMEJBO0FBVUE7QUFDQTtBQVZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUEvQkE7QUFDQTtBQStCQTtBQUtBO0FBQ0E7QUFMQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWlCQTtBQUNBO0FBakJBO0FsQm5IQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FrQmtIQTtBQUNBOzs7Ozs7QUFNQTtBQU5BOzs7Ozs7QUFNQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUMvSkE7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFUQTtBQVNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBTEE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFQQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBUEE7QUFPQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QW5CM0RBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1CMERBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVBBO0FuQnRDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtQjRDQTtBQURBO0FBQ0E7QUFFQTtBbkI3RUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBbUI0RUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBMEJBO0FBQ0E7QUF6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBckJBO0FBQ0E7QUFxQkE7QUFjQTtBQUNBO0FBWEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFpQkE7QUFDQTtBQWpCQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUF1QkE7QUFDQTtBQXRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0QkE7QUFzQkE7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FuQjNOQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtQjBOQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBVEE7QW5CcE5BO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1CNE5BO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFQQTtBQU9BO0FBRUE7QUFEQTtBQUNBO0FBRUE7QW5CcFBBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1CbVBBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTkE7QW5CN09BO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1Ca1BBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNoVkE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFDQTtBQVdBO0FBSUE7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFyQkE7QUFDQTtBQXFCQTtBQUlBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUNqSkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBTkE7QUFNQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBZkE7QUFlQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBVUE7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FDL0ZBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7O0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F0QkdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBc0JKQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QXBCcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9CekJBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QXBCcUJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9CdkJBO0FBQ0E7QUFEQTtBQWlCQTtBQUNBO0FBaEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBcEJXQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FvQmJBO0FBQ0E7QUFDQTtBQUNBO0FwQktBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FvQlBBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QXRCL0NBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBc0I4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBbUJBO0FBQ0E7QUFsQkE7O0FBRUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUxBOztBQUtBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBdEJ4RUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBc0J1RUE7QUFDQTtBQURBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUNuSkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDYkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3RGQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWNBO0FBQ0E7QUFaQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBbUJBO0FBQ0E7QUFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbkJBO0FBbUJBO0FBQ0E7QUFXQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3RGQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUlBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN4Q0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QTNCQUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBMkJEQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFmQTtBQUNBO0FBZUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQzVCQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDM0hBOzs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdUJBO0FBQ0E7QUF0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FDcENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUJ4REE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBOEIwREE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBWEE7QUFhQTtBQUNBO0FBRkE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTkE7QUFNQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBTkE7QUFNQTtBQVVBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUI5T0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0E4QjZPQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBTkE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDblpBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7O0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0EvQjNIQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBK0IwSEE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDbE1BOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBY0E7QUFDQTtBQWJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0E5QnpDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QThCc0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBaENUQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBZ0NRQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QTlCUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QThCR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0E5QlBBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4QktBO0FBQ0E7QUFDQTtBQUNBO0E5QlpBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4QlVBO0FBQ0E7QUFDQTtBQUNBO0E5QmpCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBOEJlQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QWhDbkpBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWdDa0pBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUN4S0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVBBO0FBT0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFlQTtBQUNBO0FBZEE7O0FBRUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUxBOztBQUtBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FqQzVCQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QWlDMkJBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFjQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUM1RUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBaEMyR0E7QWdDbEdBO0FBQ0E7QWhDbUdBO0FBQ0E7QUFDQTtBQUNBO0FnQzVHQTs7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQ3RCQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQWFBO0FBQ0E7QUFYQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FuQzNCQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtQzBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFzQkE7QUFDQTtBQXJCQTtBQUNBO0FBaEJBO0FBZ0JBO0FBQ0E7QUFBQTtBQWtCQTtBQUNBO0FBakJBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUM1RkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUNoR0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBa0NBO0FBQ0E7QUFqQ0E7QUFDQTtBQUpBO0FBSUE7QUErQkE7QUE5QkE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBckNqQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBcUNnQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUZBO0FBRUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QUFFQTtBQUNBO0FBdUJBO0FBdEJBO0FBQ0E7QUFDQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBckN4R0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBcUN1R0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQ3RIQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNEZBO0FBQ0E7QUE1RkE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUF1RkE7QUF0RkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWxCQTtBQUNBO0FBa0JBO0FBOEVBO0FBQ0E7QUE5RUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQURBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFRQTtBQUNBO0FBUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFFQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBSEE7QUFDQTtBQVBBO0FBUUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2Q25IQTtBQUNBO0FBYUE7QXVDNEdBO0FBQ0E7QXZDeEhBO0FBQ0E7QXVDK0dBO0F2Qy9HQTtBQUNBO0FBQ0E7QXVDb0hBO0F2Q25IQTtBQUNBO0FBUUE7QUFDQTtBdUNrR0E7QXZDbEdBO0F1Q3lHQTtBdkN4R0E7QUFDQTtBQWNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FBQ0E7QTZCeUlBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QTdCM0lBO0FBQ0E7QTZCNklBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0F0Q3ZKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDNlJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBcUN6SUE7QUFDQTtBQUNBO0F0QzVKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzQzJKQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0F0Q2pMQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzQ2dMQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBRUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFRQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdENqTUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0NnTUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FDelBBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBK0lBO0FBQ0E7QUE5SUE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUF5SUE7QUF4SUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdEJBO0FBQ0E7QUFzQkE7QUE0SEE7QUFDQTtBQTVIQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFMQTtBQUtBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBREE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFGQTtBQUVBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2QzFGQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F1Q3lGQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QXZDM0tBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVDMEtBO0FBQUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F2Q3hLQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBdUN1S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4QzFOQTtBQUNBO0FBYUE7QXdDbU5BO0FBQ0E7QXhDL05BO0FBQ0E7QXdDc05BO0F4Q3ROQTtBQUNBO0FBQ0E7QXdDMk5BO0F4QzFOQTtBQUNBO0FBUUE7QUFDQTtBd0N5TUE7QXhDek1BO0F3Q2dOQTtBeEMvTUE7QUFDQTtBQWNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FBQ0E7QThCZ1BBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QTlCbFBBO0FBQ0E7QThCb1BBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7O0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQU5BOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBdkNuU0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBdUNrU0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBdkN4VUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBdUN1VUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXZDN1ZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVDNFZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBdkNqWUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBdUNpWUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0F2Q2hnQkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQzZSQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QXNDZ09BO0FBQ0E7QUFDQTtBdkNyZ0JBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVDb2dCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUN6akJBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBcUZBO0FBQ0E7QUFyRkE7QUFDQTtBQU5BO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFnRkE7QUEvRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWpCQTtBQUNBO0FBaUJBO0FBdUVBO0FBQ0E7QUF2RUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQURBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFGQTtBQUVBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QXhDbkZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXdDa0ZBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFXQTtBQUNBO0FBVkE7QXhDL0ZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXdDOEZBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F4Q2xJQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F3Q2lJQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQU5BO0FBUUE7QUFDQTtBQUZBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F4Q3ZMQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F3Q3NMQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F4QzVMQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F3QzJMQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QXhDcE5BO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXdDbU5BO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUMvT0E7QUFDQTtBQUFBO0FBQ0E7QUFxQkE7QUFDQTtBQXBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN4QkE7O0FBRUE7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE0RUE7QUFDQTtBQTNFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF0QkE7QUFDQTtBQXNCQTtBQW9FQTtBQUNBO0FBcEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXhDeERBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0NxREE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDdElBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQStCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVlBO0FBQ0E7QUFYQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFpQkE7QUFDQTtBQWhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFDQTtBQWFBO0FBS0E7QUFDQTtBQUxBO0FBQ0E7QUFoQkE7QUFnQkE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFUQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXpDNUxBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBeUN5TEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBSEE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QTNDaE1BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyQytMQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFUQTtBQVNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0EzQzNSQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyQzBSQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QTNDaFRBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTJDK1NBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUxBO0FBTUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QTNDeFdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBMkN1V0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0EzQ3JWQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FFb0VBO0F5Q3dSQTtBQUNBO0F6Q3ZSQTtBQUNBO0FBQ0E7QUFDQTtBT3hIQTtBQUNBO0FrQ29ZQTtBQUNBO0FBREE7QWxDcllBO0FBQ0E7QWtDc1lBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0EzQ2pXQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyQ2dXQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFXQTtBQUNBO0FBVkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0EzQy9ZQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyQzhZQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQzdmQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBRUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBNUNJQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0E0Q0xBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFOQTtBNUNrQkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBNENkQTtBQUVBO0FBREE7QUFDQTtBQUVBO0E1Q1BBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTRDTUE7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBY0E7QUFDQTtBQWJBO0FBQ0E7QUFYQTtBQVdBO0FBQ0E7QUFVQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBO0FBZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBUkE7QUFRQTtBQUNBO0FBT0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQWJBO0ExQ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0EwQ1NBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0ExQ0xBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0EwQ0tBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFQQTtBQU9BO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFMQTtBQUtBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBVEE7QUFTQTtBQUVBO0FBREE7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBNUNwREE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUMyUEE7QTJDdk1BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF3Q0E7QUFDQTtBQXhDQTtBQUNBO0FBZkE7QUFlQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNEJBO0FBNUJBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBO0E1QzdDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ29QQTtBMkM1S0E7QUFBQTtBQUNBO0FBc0JBO0FBQ0E7QUF0QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTkE7QUFNQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBQ0E7QUFDQTtBQUNBO0FDdE1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXVCQTtBQUNBO0FBdEJBO0FBQ0E7QUFoQkE7QUFnQkE7QUFvQkE7QUFuQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3BDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFYQTtBQVdBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVZBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBUEE7QTlDNUJBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QThDaUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQWJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBZkE7QUFlQTtBQUVBO0FBREE7QUFDQTtBQUVBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FDdElBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QUFTQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFxQ0E7QUFDQTtBQXBDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDMUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QWhEQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FnREZBO0FBQ0E7QUFEQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBakR4QkE7QUFDQTtBaUQ2QkE7QUFDQTtBakQ1QkE7QUFDQTtBaURvQkE7QWpEcEJBO0FBQ0E7QUFDQTtBaUR3QkE7QWpEdkJBO0FBQ0E7QUF5QkE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QVUvREE7QUFDQTtBdUM2Q0E7QUFDQTtBQURBO0FBQ0E7QXZDL0NBO0FBQ0E7QXVDaURBO0FoRGxDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QWdEaUNBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEQxQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FnRHlDQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FDdkVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDUEE7O0FBRUE7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWxEQUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBa0REQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QWxET0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBa0RIQTtBQURBO0FBQ0E7QUFFQTtBbERUQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FrRFFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFYQTtBbERGQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QWtEV0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDeERBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBUkE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQWtDQTtBQUNBO0FBbENBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBeEJBO0FBQ0E7QUF3QkE7QUFxQkE7QUFDQTtBQXJCQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBN0JBO0FBQ0E7QUE2QkE7QUFnQkE7QUFDQTtBQWhCQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBbENBO0FBQ0E7QUFrQ0E7QUFXQTtBQUNBO0FBWEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBeENBO0FBQ0E7QUF3Q0E7QUFLQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBc0JBO0FBQ0E7QUF0QkE7QW5EcEdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1EbUdBO0FBQ0E7Ozs7OztBQU1BO0FBTkE7Ozs7OztBQU1BO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBbEJBO0FBa0JBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUMzSkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzVCQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyRHZDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FxRHNDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJEOUZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXFENkZBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDaElBOztBQUVBO0FBQ0E7QUFFQTs7QUFFQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0F2REFBO0FBQ0E7QUFhQTtBdUROQTtBQUNBO0F2RE5BO0FBQ0E7QXVESkE7QXZESUE7QUFDQTtBQUNBO0F1REVBO0F2RERBO0FBQ0E7QUFRQTtBQUNBO0F1RGpCQTtBdkRpQkE7QXVEVEE7QXZEVUE7QUFDQTtBQWNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FBQ0E7QTZDc0JBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBN0N6QkE7QUFDQTtBNkMyQkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFYQTtBQVdBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBVEE7QUFTQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBUkE7QUFRQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QXREaktBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNEZ0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBeUJBO0FBQ0E7QUF4QkE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QXREbkxBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNEa0xBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBVkE7QUFVQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFMQTtBQUNBO0FBUkE7QUFRQTtBQUFBO0FBQ0E7QUFFQTtBQUZBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXJEb0ZBO0FxRGxGQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBVkE7QUFVQTtBQVFBO0FBUEE7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBdEQzTkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0R1T0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQWlDQTtBQUNBO0FBL0JBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBdERoUUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0QrUEE7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBdER6UEE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0Q4UEE7QUFEQTtBQUNBO0FBRUE7QXREMVFBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNEeVFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QXREM1JBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNEMFJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBWUE7QUFDQTtBQVhBO0FBQ0E7QUFSQTtBQVFBO0FBU0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0F0RHBSQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzRDhSQTtBQUFBO0FBQ0E7QUFBQTtBQUdBO0FBQ0E7QUFGQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWdDQTtBQUNBO0FBL0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTVCQTtBQTRCQTtBQW1CQTtBQWxCQTtBQUNBO0FBOUJBO0FBQ0E7QUE4QkE7QUFnQkE7QUFDQTtBQWhCQTs7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUF6Q0E7QUFDQTtBQTBDQTtBQUlBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQzdXQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFrQkE7QUFDQTtBQWpCQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBckJBO0FBcUJBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBdkRiQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F1RFlBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0F2RHBEQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDbVRBO0FzRC9QQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNUZBOztBQUVBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBRUE7QUFDQTtBQU9BO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUE2QkE7QUFDQTtBQTVCQTtBQUNBO0FBSkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQW9CQTtBQW5CQTtBQUNBO0FBQ0E7QUFDQTtBQWRBO0F0RDJCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBc0RsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBdERvQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXNEdEJBO0FBQ0E7QUFDQTs7QXREZ0JBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FzRGpCQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBMkJBO0FBQ0E7QUExQkE7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFrQkE7QUFqQkE7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBQWNBO0FBQ0E7QUFBQTtBQUNBO0FBWUE7QUFDQTtBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUF5Q0E7QUFDQTtBQXhDQTs7OztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7Ozs7QUFZQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQW9CQTtBQUNBO0FBbkJBO0FBQ0E7QUFBQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FBQ0E7QUFhQTtBQVFBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFmQTtBQWVBO0FBRUE7QUFEQTtBQUNBO0FDNUtBOztBQUVBO0FBQ0E7QUFDQTtBekRZQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDNlJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBRDFTQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QXlETEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUNyQ0E7O0FBRUE7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ2hNQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBOEVBO0FBQ0E7QUE5RUE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUF5RUE7QUF4RUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWxCQTtBQUNBO0FBa0JBO0FBZ0VBO0FBQ0E7QUFoRUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBTEE7QUFLQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQURBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QTNENURBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTJEMkRBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7Ozs7QUFLQTtBQUNBO0FBRUE7QTNENUVBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTJEMkVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaUZBO0FBcUJBO0FBQ0E7QUF0R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBckZBO0FBQ0E7QUE2RkE7QUFVQTtBQW5CQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQ2xTQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0E1RFJBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBNERPQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQWNBO0FBQ0E7QUFiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBO0FBZ0JBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FDcEVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3RHpCQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0E2RHdCQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E3RDVDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0E2RDJDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0E3RDNHQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0E2RDBHQTtBQUNBO0FBQ0E7QUFDQTs7QTdEaEhBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTZEZ0hBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzFKQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFxREE7QUFDQTtBQXBEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFxQkE7QUFDQTtBQXBCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBNURBO0FBNERBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBOUQ3RkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBOEQ0RkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzNJQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBL0R2Q0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQVZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUM2UkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QThEbFBBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QS9EM0RBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QStEMERBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUhBOzs7O0FBa0VBO0FBQ0E7QUE5REE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTBCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFvQkE7QUFDQTtBQWxCQTtBQUNBO0FBQ0E7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFsRkE7QS9EbEVBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QStEbUpBO0FBREE7QUFDQTtBQUVBO0E5RHFLQTtBOERuS0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhFdEpBO0FBQ0E7QWdFOEpBO0FBQ0E7QWhFN0pBO0FBQ0E7QWdFa0pBO0FoRWxKQTtBQUNBO0FBQ0E7QWdFeUpBO0FoRXhKQTtBQUNBO0FBeUJBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FBQ0E7QXNEMktBO0F0RDVLQTtBQUNBO0FzRDZLQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0EvRG5LQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QStEa0tBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUZBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzFNQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F4RXVCQTs7QUFFQTtBQUNBO0F5RXRDQTs7QUFFQTtBQUNBO0FBQ0E7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QS9EbkJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBK0RnQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFRQTtBQUNBO0FBUEE7QUFDQTtBQUxBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFMQTtBQUtBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBQUVBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBakV4QkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3VSQTtBZ0UvUEE7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQVBBO0FqRS9CQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FpRW9DQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FqRXhDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDdVJBO0FnRS9PQTtBQUNBO0FBQUE7QUFDQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBUkE7QWpFL0NBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWlFcURBO0FBQUE7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QUFhQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBOztBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFvQ0E7QUFDQTtBQW5DQTtBQUNBO0FBQUE7QUFpQkE7QUFDQTtBQWhCQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUEzQkE7QUEyQkE7QUFBQTtBQUFBO0FBQUE7QUFhQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBL0JBO0FBK0JBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FqRS9JQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FpRThJQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBZ0JBO0FBQ0E7QUFmQTtBQUNBO0FBUEE7QUFPQTtBQUFBO0FBQ0E7QUFZQTtBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFZQTtBQUNBO0FBQ0E7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO0FBa0JBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QWpFNUtBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWlFMktBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFSQTtBQVFBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFMQTtBQUtBO0FBRUE7QUFEQTtBQUNBO0FBSUE7QUFDQTtBQUhBOztBQUdBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUM1UEE7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEV6QkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FnRXNCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQTBGQTtBQUNBO0FBekZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QUFjQTtBQUNBO0FBa0ZBO0FBakZBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWdCQTtBQUNBO0FBZkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFBQTtBQWdCQTtBQUNBO0FBZkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBUkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUlBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FoRWhGQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBZ0U0RUE7QUFDQTtBQUFBO0FBc0JBO0FBQ0E7QUFyQkE7QUFDQTtBQU5BO0FBTUE7QUFtQkE7QUFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVVBO0FBQ0E7QUFDQTtBQWFBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBUEE7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBQ0E7QUFHQTtBQUNBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFKQTtBaEU3RkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWdFOEZBO0FBQ0E7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEVySEE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWdFbUhBO0FBbUJBO0FBQ0E7QUFsQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QWhFckhBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRTJIQTtBQUNBO0FBVUE7QUFDQTtBQVRBO0FoRWxJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBZ0VnSUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FoRTVJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBZ0UwSUE7QUFDQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQVBBO0FoRTVJQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBZ0VnSkE7QUFHQTtBQUNBO0FBRkE7QUFDQTtBQUVBO0FBQ0E7QUFjQTtBQUNBO0FBYkE7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQUFBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBQUVBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QWhFaExBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRThLQTtBQUNBO0FBQ0E7QUFDQTtBQW9CQTtBQUNBO0FBbkJBO0FBQ0E7QUFSQTtBQVFBO0FBQ0E7QUFDQTtBQWVBO0FBZEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZ0JBO0FBQ0E7QUFmQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBMUV2U0E7O0FBRUE7QUFDQTtBMkUzQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBakVvQkE7QUFBQTtBQUNBO0FBQUE7QWlFbkJBO0FBQ0E7QWpFb0JBO0FBQ0E7QWlFeEJBO0FqRXdCQTtBQUFBO0FBQ0E7QUFBQTtBaUV2QkE7QWpFd0JBO0FBQ0E7QWlFdkJBO0FqRU5BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBaUVHQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FqRThDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBaUU1Q0E7QUFMQTtBQUNBO0FBQ0E7QWpFdURBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FpRXpEQTtBQUNBO0FDeEJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBbEVnQkE7QUFBQTtBQUNBO0FBQUE7QWtFREE7QUFDQTtBbEVFQTtBQUNBO0FrRXBCQTtBbEVvQkE7QUFBQTtBQUNBO0FBQUE7QWtFTEE7QWxFTUE7QUFDQTtBa0VwQkE7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QWxFeEJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBa0VxQkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBK0JBO0FBQ0E7QUE5QkE7QXBFM0JBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9FMEJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBbENBO0FBa0NBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQXRDQTtBQXNDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQzFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FuRW9CQTtBQUFBO0FBQ0E7QUFBQTtBbUVuQkE7QUFDQTtBbkVvQkE7QUFDQTtBbUV4QkE7QW5Fd0JBO0FBQUE7QUFDQTtBQUFBO0FtRXZCQTtBbkV3QkE7QUFDQTtBbUV2QkE7QW5FTkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtRUdBO0FBQ0E7QXRFb0NBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FWa0JBO0FBQ0E7QVVuQkE7QUFDQTtBVm9CQTtBQUNBO0FzRU5BO0F0RU1BO0FBQ0E7QUFDQTtBc0VMQTtBdEVNQTtBQUNBO0FzRUxBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBckVtQkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FxRXBCQTtBQUNBO0FBREE7QUFDQTtBQUNBO0FBQ0E7QXJFUkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FxRU9BO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUNwQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBcEVvQkE7QUFBQTtBQUNBO0FBQUE7QW9FbkJBO0FBQ0E7QXBFb0JBO0FBQ0E7QW9FeEJBO0FwRXdCQTtBQUFBO0FBQ0E7QUFBQTtBb0V2QkE7QXBFd0JBO0FBQ0E7QW9FdkJBO0FwRU5BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBb0VHQTtBQUNBO0FBQ0E7QXBFOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FvRWxEQTtBQUNBO0FBQ0E7QXBFd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9FMURBO0FBQ0E7QUFEQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBcEV3REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QW9FaERBO0FBREE7QUFDQTtBQ2hDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FyRUZBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBcUVHQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBTEE7QUFLQTtBQVVBO0FBVEE7QUFDQTtBQUNBO0FyRW9EQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBcUVsREE7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBckVvREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXFFbERBO0FBREE7QUFDQTtBQUdBO0FyRTJDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBcUV2Q0E7QUFDQTtBQU5BO0FBQ0E7QUFKQTtBckUyQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBcUUxQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQzlDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZCQTtBQXVCQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUMvREE7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QXZFbUJBO0FBQUE7QUFDQTtBQUFBO0F1RWxCQTtBQUNBO0F2RW1CQTtBQUNBO0F1RXZCQTtBdkV1QkE7QUFBQTtBQUNBO0FBQUE7QXVFdEJBO0F2RXVCQTtBQUNBO0F1RXRCQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFIQTtBQUNBO0FBTkE7QUFPQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFDQTtBQVdBO0FBU0E7QUFDQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWxCQTtBQWtCQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBV0E7QUFDQTtBQVZBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFDQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBQWVBO0FBQ0E7QUFGQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QXpFMUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QXlFeUNBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QXpFMUZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXlFeUZBO0FBQUE7QUFDQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ25IQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0F4RW9CQTtBQUFBO0FBQ0E7QUFBQTtBQXZCQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXdFQUE7QUFBQTtBQUtBO0FBQ0E7QXhFY0E7QUFDQTtBd0V4QkE7QXhFd0JBO0FBQUE7QUFDQTtBQUFBO0F3RWpCQTtBeEVrQkE7QUFDQTtBd0V0QkE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0F4RTRDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBd0VoREE7QUFDQTtBQUNBO0F4RXNEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBd0V4REE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFtQkE7QUFDQTtBQWxCQTtBQUNBO0FBVEE7QXhFc0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QXdFMURBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFXQTtBQVZBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO0F4RXNEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVdBO0F3RWpEQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBMUVuQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBRXFIQTtBd0U1RUE7QUFDQTtBeEU2RUE7QUFDQTtBQUNBO0FBQ0E7QU9wSkE7QWlFNkRBO0FBQUE7QUFDQTtBQUFBO0FqRTlEQTtBQUNBO0FpRStEQTtBQUNBO0FBUEE7QUFTQTtBQUNBO0FBRkE7QUFDQTtBQUVBO0ExRTlDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDK0JBO0FBQUE7QXlFY0E7QUFDQTtBekViQTtBQUNBO0F5RVNBO0F6RVRBO0FBQUE7QXlFV0E7QXpFVkE7QUFDQTtBQUNBO0FDeUdBO0FBQ0E7QUFBQTtBRHhHQTtBQUNBO0FDeUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FEN0dBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7QUR6QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzZCQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZCQTs7Ozs7O0FEaENBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDc0RBO0FBREE7QUFDQTtBQUdBOzs7Ozs7QUFNQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUtBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBUEE7QUFPQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEOUdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzZHQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQTJCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEMUpBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3lKQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQXNCQTtBQUNBO0FBckJBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQVhBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBbUJBO0FBQ0E7QUFsQkE7Ozs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0F5RXpOQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ25GQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0F6RW9CQTtBQUFBO0FBQ0E7QUFBQTtBeUVuQkE7QUFDQTtBekVvQkE7QUFDQTtBeUV4QkE7QXpFd0JBO0FBQUE7QUFDQTtBQUFBO0F5RXZCQTtBekV3QkE7QUFDQTtBeUV2QkE7QXpFTkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F5RU9BO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUVBO0EzRUdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUMrQkE7QUFBQTtBMEVuQ0E7QUFDQTtBMUVvQ0E7QUFDQTtBMEV4Q0E7QTFFd0NBO0FBQUE7QTBFdENBO0ExRXVDQTtBQUNBO0FBQ0E7QUN5R0E7QUFDQTtBQUFBO0FEeEdBO0FBQ0E7QUN5R0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUQ3R0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OztBRHpCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNkJBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdkJBOzs7Ozs7QURoQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUNzREE7QUFEQTtBQUNBO0FBR0E7Ozs7OztBQU1BO0FBQUE7QUFDQTtBQUNBO0FBRUE7Ozs7O0FBS0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFQQTtBQU9BO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQ5R0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDNkdBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBMkJBO0FBQ0E7QUExQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUQxSkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDeUpBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBc0JBO0FBQ0E7QUFyQkE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUlBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQUE7QUFtQkE7QUFDQTtBQWxCQTs7OztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QTJFbFNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QTFFRkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EwRUdBO0FBQ0E7QUFKQTtBQUNBO0FBSkE7QUFJQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUZBO0FBRUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QTFFeUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTBFM0NBO0FBQ0E7QUFEQTtBQUNBO0FBU0E7QUFDQTtBQVJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVhBO0FBV0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQXFCQTtBQUNBO0FBcEJBO0FBQ0E7QUFOQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFlQTtBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUpBO0FBSUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBMUVMQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBMEVVQTtBQUNBO0FBUEE7QUFDQTtBQUpBO0ExRUxBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTBFTUE7QUFDQTtBQURBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBMUVuREE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTBFaURBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQU5BO0FBQ0E7QUFNQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFGQTtBQUVBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQ3RRQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBM0VtQkE7QUFBQTtBQUNBO0FBQUE7QTJFbEJBO0FBQ0E7QTNFbUJBO0FBQ0E7QTJFdkJBO0EzRXVCQTtBQUFBO0FBQ0E7QUFBQTtBMkV0QkE7QTNFdUJBO0FBQ0E7QTJFdEJBO0EzRVBBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBMkVRQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUF5QkE7QUFDQTtBQS9CQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQXRCQTtBQUNBO0FBc0JBO0FBWUE7QUFDQTtBQVpBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbkZBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QTVFb0JBO0FBQUE7QUFDQTtBQUFBO0E0RW5CQTtBQUNBO0E1RW9CQTtBQUNBO0E0RXhCQTtBNUV3QkE7QUFBQTtBQUNBO0FBQUE7QTRFdkJBO0E1RXdCQTtBQUNBO0E0RXZCQTtBNUVOQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTRFR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBOUV3Q0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBOEV6Q0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVJBO0E5RStDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBOEV4Q0E7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFDQTtBQUhBO0FBQ0E7QUFUQTtBQVVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBOUVYQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBOEVVQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQ3pFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0E3RW9CQTtBQUFBO0FBQ0E7QUFBQTtBNkVuQkE7QUFDQTtBN0VvQkE7QUFDQTtBNkV4QkE7QTdFd0JBO0FBQUE7QUFDQTtBQUFBO0E2RXZCQTtBN0V3QkE7QUFDQTtBNkV0QkE7QUFDQTtBQUZBO0FBRUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBaUJBO0FBQ0E7QUFoQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBUkE7QUFRQTtBQUFBO0FBVUE7QUFDQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0EvRW9CQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0ErRXJCQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFQQTtBL0VhQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBK0VQQTtBQURBO0FBQ0E7QUFFQTtBL0VuQkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0ErRWtCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQVhBO0EvRTFCQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QStFbUNBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQTJCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWkE7QUFZQTtBQWdCQTtBQUNBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUNyR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBOUVvQkE7QUFBQTtBQUNBO0FBQUE7QThFbkJBO0FBQ0E7QTlFb0JBO0FBQ0E7QThFeEJBO0E5RXdCQTtBQUFBO0FBQ0E7QUFBQTtBOEV2QkE7QTlFd0JBO0FBQ0E7QThFdEJBO0FBQ0E7QUFGQTtBOUVOQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QThFS0E7QUFEQTtBQUNBO0FBRUE7QWhGWUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBZ0ZiQTtBQUFBO0FBQ0E7QUFBQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBTkE7QWhGMEJBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWdGaEJBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVVBO0FBQUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0E5RXdCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBOEV2QkE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQTZCQTtBQUNBO0FBNUJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QTlFNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4RURBO0FBZkE7QUFDQTtBQUNBO0FBQ0E7QUFwQkE7QTlFNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4RURBO0FBQ0E7QUFYQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUMvRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBL0VvQkE7QUFBQTtBQUNBO0FBQUE7QStFYkE7QUFDQTtBL0VjQTtBQUNBO0ErRXhCQTtBL0V3QkE7QUFBQTtBQUNBO0FBQUE7QStFakJBO0EvRWtCQTtBQUNBO0ErRXhCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFVQTtBQUNBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBZEE7QUFjQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FDdERBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FoRm1CQTtBQUFBO0FBQ0E7QUFBQTtBZ0ZsQkE7QUFDQTtBaEZtQkE7QUFDQTtBZ0Z2QkE7QWhGdUJBO0FBQUE7QUFDQTtBQUFBO0FnRnRCQTtBaEZ1QkE7QUFDQTtBZ0Z0QkE7QWhGUEE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FnRklBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDeENBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakZOQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWlGR0E7QUFDQTtBQUNBO0FwRkVBO0FBQ0E7QUFhQTtBb0ZKQTtBQUNBO0FwRlJBO0FBQ0E7QW9GTkE7QXBGTUE7QUFDQTtBQUNBO0FvRklBO0FwRkhBO0FBQ0E7QUFRQTtBQUNBO0FvRm5CQTtBcEZtQkE7QW9GUEE7QXBGUUE7QUFDQTtBQWNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FvRjFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FwRmdCQTtBb0ZKQTtBcEZNQTtBQUNBO0FvRm5CQTtBcEZtQkE7QW9GUEE7QXBGUUE7QW9GVEE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQXdFQTtBQUNBO0FBdkVBO0FBQ0E7QUFMQTtBQUtBO0FBQ0E7QUFDQTtBQW1FQTtBQWxFQTtBQUNBO0FBQ0E7QW5Ga0JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QW1GbkJBO0FBQ0E7QUFEQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBTkE7QW5GeUJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QW1GckJBO0FBQ0E7QUFEQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRQTtBQUNBO0FBUEE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FuRjlDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtRjZDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBV0E7QUFDQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQWRBO0FBY0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QW5GbEZBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1GaUZBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVZBO0FBVUE7QUFFQTtBQURBO0FBQ0E7QUN2R0E7QWxGNEJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWtGM0JBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBTUE7QUFDQTtBbEZtQkE7QUFDQTtBa0ZoQ0E7QWxGZ0NBO0FBQUE7QUFDQTtBQUFBO0FrRnRCQTtBbEZ1QkE7QUFDQTtBa0Y1QkE7QUFDQTtBQVJBO0FBUUE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFRQTtBQUNBO0FBUEE7QUFDQTtBQUxBO0FsRlBBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBa0ZRQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFMQTtBQUtBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQVRBO0FsRjRCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBa0Z2QkE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBVEE7QWxGNkJBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FrRmRBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBbEY2QkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWtGZEE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNsRUE7QW5GNEJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1GM0JBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FuRmtCQTtBQUNBO0FtRmhDQTtBbkZnQ0E7QUFBQTtBQUNBO0FBQUE7QW1GckJBO0FuRnNCQTtBQUNBO0FtRjNCQTtBQUNBO0FBVEE7QUFTQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBTEE7QW5GUkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FtRlNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUxBO0FBQ0E7QUFUQTtBbkYyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBbUZ0QkE7QUFGQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQVJBO0FuRjJCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBbUZqQkE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVpBO0FuRjJCQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBbUZqQkE7QUFEQTtBQUNBO0FDL0RBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUxBO0FBS0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBcEZYQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9GUUE7QUFDQTtBQUNBO0F2RkhBO0FBQ0E7QUFhQTtBdUZDQTtBQUNBO0F2RmJBO0FBQ0E7QXVGREE7QXZGQ0E7QUFDQTtBQUNBO0F1RlNBO0F2RlJBO0FBQ0E7QUFRQTtBQUNBO0F1RmRBO0F2RmNBO0F1RkZBO0F2RkdBO0FBQ0E7QUFjQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBdUZyQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBdkZXQTtBdUZDQTtBdkZDQTtBQUNBO0F1RmRBO0F2RmNBO0F1RkZBO0F2RkdBO0F1RkpBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUE0Q0E7QUFDQTtBQTNDQTtBdEYwQkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNGM0JBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFMQTtBdEZpQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNGOUJBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBUkE7QUFRQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QXRGN0NBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUM2UkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FENVJBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXNGc0NBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBdEY3Q0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0ZrREE7QUFEQTtBQUNBO0FBRUE7QXRGaERBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBc0YrQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FDakZBOztBQUVBO0FBQ0E7QUFDQTtBckZ3QkE7QUFBQTtBQUNBO0FBQUE7QXFGdkJBO0FBQ0E7QXJGd0JBO0FBQ0E7QXFGNUJBO0FyRjRCQTtBQUFBO0FBQ0E7QUFBQTtBcUYzQkE7QXJGNEJBO0FBQ0E7QXFGM0JBO0FBQ0E7QUFDQTtBQUNBO0FyRkxBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBcUZFQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F2RjhDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBdUYvQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFOQTtBdkZxREE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVGaERBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFaQTtBQVlBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXlEQTtBQUNBO0FBeERBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBOUNBO0FBOENBO0FBQ0E7QUFnQkE7QUFmQTtBQUNBO0FBQ0E7QUFDQTtBQW5EQTtBQW1EQTtBQUNBO0FBV0E7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2SkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBeEYrQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBd0ZoREE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBUEE7QXhGc0RBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F3RmhEQTtBQURBO0FBQ0E7QUFFQTtBeEZDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QXdGRkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVFBO0FBQ0E7QUFQQTtBQUNBO0FBUkE7QXhGQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0ZLQTtBQUNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFUQTtBeEZuQkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0ZrQkE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWEE7QUFXQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QXRGVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXNGTEE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0F0RlFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FzRlZBO0FBaUNBO0FBQ0E7QUFoQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QXRGWEE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXNGU0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBdEZwQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QXNGa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBOztBQUVBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDakhBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QXZGb0JBO0FBQUE7QUFDQTtBQUFBO0F1RlhBO0FBQ0E7QXZGWUE7QUFDQTtBdUZ4QkE7QXZGd0JBO0FBQUE7QUFDQTtBQUFBO0F1RmZBO0F2RmdCQTtBQUNBO0F1RnhCQTtBdkZMQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXVGRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDNUJBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QXhGb0JBO0FBQUE7QUFDQTtBQUFBO0F3Rm5CQTtBQUNBO0F4Rm9CQTtBQUNBO0F3RnhCQTtBeEZ3QkE7QUFBQTtBQUNBO0FBQUE7QXdGdkJBO0F4RndCQTtBQUNBO0F3RnZCQTtBeEZOQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXdGU0E7QUFDQTtBQU5BO0FBQ0E7QUFKQTtBeEZrREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0ZuREE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QXhGc0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0F3RnREQTtBQURBO0FBQ0E7QUMxQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBekZvQkE7QUFBQTtBQUNBO0FBQUE7QXlGbkJBO0FBQ0E7QXpGb0JBO0FBQ0E7QXlGeEJBO0F6RndCQTtBQUFBO0FBQ0E7QUFBQTtBeUZ2QkE7QXpGd0JBO0FBQ0E7QXlGdkJBO0F6Rk5BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBeUZHQTtBQUNBO0FBQ0E7QTNGbUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyRnBDQTtBQUNBO0FDbkJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBMUZnQkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBMEZmQTtBQUtBO0FBQ0E7QTFGVUE7QUFDQTtBMEZwQkE7QTFGb0JBO0FBQUE7QUFDQTtBQUFBO0EwRmJBO0ExRmNBO0FBQ0E7QTBGbEJBO0FBQ0E7QUFOQTtBQU1BO0FBRUE7QUFEQTtBQUNBO0FBRUE7QTFGaEJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0EwRmFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1RjhCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBNEYvQkE7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQU5BO0E1RnFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBNEZqQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQXdDQTtBQUNBO0FBdkNBO0FBQ0E7QUFMQTtBQUtBO0FBQ0E7QUFDQTtBQUNBO0FBa0NBO0FBakNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFtQkE7QUFDQTtBQWxCQTtBQUNBO0FBZEE7QUFjQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBNUZuRkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3FTQTtBMkZsTkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBVEE7QTVGckVBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTRGNEVBO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUZBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzNKQTs7QUFFQTtBQUNBO0FBQ0E7QTNGd0JBO0FBQUE7QUFDQTtBQUFBO0FBdkJBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBMkZKQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QTNGZ0JBO0FBQ0E7QTJGNUJBO0EzRjRCQTtBQUFBO0FBQ0E7QUFBQTtBMkZuQkE7QTNGb0JBO0FBQ0E7QTJGekJBO0FBQ0E7QUFQQTtBQU9BO0FBQUE7QUFDQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QTNGOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0EyRmxEQTtBQUNBO0FBQ0E7QUFDQTtBM0Z1REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTJGL0NBO0FBQ0E7QUFWQTtBQUNBO0FBSkE7QTNGdURBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QTJGMURBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBM0Z1REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFXQTtBMkYxREE7QUFEQTtBQUNBO0FBRUE7QTdGOEJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FFMkVBO0EyRnBHQTtBQUNBO0EzRnFHQTtBQUNBO0FBQ0E7QUFDQTtBMkY3R0E7QUFDQTtBQUxBO0E3RnFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBRW9FQTtBMkZwR0E7QTNGc0dBO0FBQ0E7QUFDQTtBMkZ6R0E7QUFDQTtBNUZ2QkE7QURKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUNHQTtBQUNBO0FBREE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDc0lBO0FBQ0E7QUFBQTtBRHJJQTtBQUNBO0FDc0lBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0EyRmhJQTtBN0ZHQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBNkZKQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDcEVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0E1RkxBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0E0RkVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QTlGUkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QThGT0E7QUFBQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQU5BO0E5RkRBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0E4RktBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBOUY3REE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3FTQTtBNkZ4T0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBWUE7QUFDQTtBQVhBO0FBQ0E7QUFSQTtBOUYvQ0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBOEZxREE7QUFBQTtBQUNBO0FBQUE7QUFPQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQU5BO0FBTUE7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBY0E7QUFDQTtBQWJBO0FBQ0E7QUFUQTtBQVNBO0FBV0E7QUFWQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUhBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUxBO0FBS0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0E5RnhKQTtBQUNBO0FBREE7QUFDQTtBQUFBOzs7O0FBQUE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBREE7QUFDQTtBQUFBO0E4RnVKQTtBQUNBO0FDcEtBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QTdGb0JBO0FBQUE7QUFDQTtBQUFBO0E2Rm5CQTtBQUNBO0E3Rm9CQTtBQUNBO0E2RnhCQTtBN0Z3QkE7QUFBQTtBQUNBO0FBQUE7QTZGdkJBO0E3RndCQTtBQUNBO0E2RnZCQTtBN0ZOQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBNkZHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBL0Z3QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QStGekJBO0FBQ0E7QUFDQTtBN0YrQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTZGbkNBO0FBQ0E7QUFDQTtBN0Z5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBNkYzQ0E7QUFDQTtBQURBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFOQTtBN0Z5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTZGN0JBO0FBVEE7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBN0Z5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTZGN0JBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFkQTtBN0Z5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QTZGN0JBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FoR05BOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FVL0RBO0FWa0JBO0FBQ0E7QVVuQkE7QUFDQTtBVm9CQTtBQUNBO0FnR29DQTtBaEdwQ0E7QUFDQTtBQUNBO0FnR3FDQTtBaEdwQ0E7QUFDQTtBaUcxQkE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFMQTtBQUtBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QTlGNkNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBOURBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBOEZXQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQ0E7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFUQTtBQVNBO0FBQ0E7QUFFQTtBQURBO0FBQ0E7QUFHQTtBQUNBO0FBRkE7QTlGa0NBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4Rm5DQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QTlGNUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0E4RnlDQTtBQUNBO0FBREE7QUFrQkE7QUFDQTtBQWpCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBOUYwQkE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QThGbkJBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBbkJBO0FBbUJBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QWhHdEJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FnR3lCQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FoR1JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FnR1dBO0FBREE7QUFDQTtBQUVBO0FoR3JDQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDdVJBO0ErRmxQQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFSQTtBaEc1Q0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBZ0drREE7QUFBQTtBQUNBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBaEduREE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FnR2tEQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FoR2pGQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDK0JBO0FBQUE7QStGMkRBO0FBQ0E7QS9GMURBO0FBQ0E7QStGNENBO0EvRjVDQTtBQUFBO0ErRndEQTtBL0Z2REE7QUFDQTtBQUNBO0FDeUdBO0FBQ0E7QUFBQTtBRHhHQTtBQUNBO0FDeUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FEN0dBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7QUR6QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzZCQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZCQTs7Ozs7O0FEaENBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDc0RBO0FBREE7QUFDQTtBQUdBOzs7Ozs7QUFNQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUtBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBUEE7QUFPQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEOUdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzZHQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQTJCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEMUpBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3lKQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQXNCQTtBQUNBO0FBckJBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQVhBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBbUJBO0FBQ0E7QUFsQkE7Ozs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FRbFNBO0FBQ0E7QXVGMEdBO0FBQ0E7QUFEQTtBdkYzR0E7QUFDQTtBdUY0R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBaEcxRkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBZ0d5RkE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FoRy9HQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDNlJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBK0ZsTEE7QUFDQTtBQUVBO0FBQ0E7QTlGdkVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0E4Rm1FQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFjQTtBQUNBO0FBYkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBWUE7QUFDQTtBQVhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QWhHcktBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUU4SUE7QUFDQTtBQUFBO0E4RndCQTtBQUNBO0E5RnZCQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBT2hMQTtBQUNBO0F1RitMQTtBQUNBO0FBREE7QXZGaE1BO0FBQ0E7QXdGREE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBL0ZGQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFpQkE7QUFBQTtBQUNBO0FBQUE7QStGbEJBO0FBQUE7QUFDQTtBQUNBO0EvRmtCQTtBQUNBO0ErRnhCQTtBL0Z3QkE7QUFBQTtBQUNBO0FBQUE7QStGckJBO0EvRnNCQTtBQUNBO0ErRnBCQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0FBSUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFKQTtBQUlBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBakczQkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBaUcwQkE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFZQTtBQUNBO0FBWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTUE7QUFDQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBakcvRUE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQytCQTtBQUFBO0FnR3FEQTtBQUNBO0FoR3BEQTtBQUNBO0FnRzBDQTtBaEcxQ0E7QUFBQTtBZ0drREE7QWhHakRBO0FBQ0E7QUFDQTtBQ3lHQTtBQUNBO0FBQUE7QUR4R0E7QUFDQTtBQ3lHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBRDdHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FEekJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2QkE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2QkE7Ozs7OztBRGhDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3NEQTtBQURBO0FBQ0E7QUFHQTs7Ozs7O0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFLQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDlHQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2R0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUEyQkE7QUFDQTtBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDFKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUN5SkE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFzQkE7QUFDQTtBQXJCQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBQ0E7QUFYQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQW1CQTtBQUNBO0FBbEJBOzs7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBUWxTQTtBd0Z3R0E7QUFBQTtBQUNBO0F4RnpHQTtBQUNBO0F3RjBHQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQzVIQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FoR29CQTtBQUFBO0FBQ0E7QUFBQTtBZ0duQkE7QUFDQTtBaEdvQkE7QUFDQTtBZ0d4QkE7QWhHd0JBO0FBQUE7QUFDQTtBQUFBO0FnR3ZCQTtBaEd3QkE7QUFDQTtBZ0d2QkE7QWhHTkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QWdHR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QWxHd0JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FrR3pCQTtBQUNBO0FBQ0E7QWhHK0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnR25DQTtBQUNBO0FBQ0E7QWhHeUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QWdHM0NBO0FBQ0E7QUFEQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBTkE7QWhHeUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRzdCQTtBQVRBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QWhHeUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRzdCQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBZEE7QWhHeUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FnRzdCQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3pEQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FqR29CQTtBQUFBO0FBQ0E7QUFBQTtBaUduQkE7QUFDQTtBakdvQkE7QUFDQTtBaUd4QkE7QWpHd0JBO0FBQUE7QUFDQTtBQUFBO0FpR3ZCQTtBakd3QkE7QUFDQTtBaUd2QkE7QWpHTkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FpR0dBO0FBQ0E7QUFDQTtBakc4Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QWlHbERBO0FBQ0E7QUFDQTtBakd3REE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUY3QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW1HL0JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUF1QkE7QUFDQTtBQXRCQTtBQUNBO0FBUkE7QWpHd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QWlHM0NBO0FBbEJBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QWpHd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QWlHM0NBO0FBYkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUMvQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBbEdvQkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBa0duQkE7QUFDQTtBQURBO0FBS0E7QUFDQTtBbEdjQTtBQUNBO0FrR3hCQTtBbEd3QkE7QUFBQTtBQUNBO0FBQUE7QWtHakJBO0FsR2tCQTtBQUNBO0FrR3RCQTtBQUNBO0FBTkE7QUFNQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBRkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFlQTtBQUNBO0FBZEE7QUFDQTtBQUpBO0FBSUE7QUFZQTtBQVhBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QXBHREE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QW9HQUE7QUFDQTtBQ3ZEQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FuR29CQTtBQUFBO0FBQ0E7QUFBQTtBbUdmQTtBQUNBO0FuR2dCQTtBQUNBO0FtR3hCQTtBbkd3QkE7QUFBQTtBQUNBO0FBQUE7QW1HbkJBO0FuR29CQTtBQUNBO0FtR3hCQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FuR1ZBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBbUdPQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FyR1FBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXFHVEE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQVdBO0FBQ0E7QUFWQTtBQUNBO0FBUkE7QXJHc0JBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXFHaEJBOzs7O0FBQUE7QUFBQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QXJHcUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FxR3RDQTtBQUNBO0FBRUE7QXJHakJBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUMrQkE7QUFBQTtBb0dUQTtBQUNBO0FwR1VBO0FBQ0E7QW9HcEJBO0FwR29CQTtBQUFBO0FvR1pBO0FwR2FBO0FBQ0E7QUFDQTtBQ3lHQTtBQUNBO0FBQUE7QUR4R0E7QUFDQTtBQ3lHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBRDdHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FEekJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2QkE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2QkE7Ozs7OztBRGhDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3NEQTtBQURBO0FBQ0E7QUFHQTs7Ozs7O0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFLQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDlHQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2R0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUEyQkE7QUFDQTtBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDFKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUN5SkE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFzQkE7QUFDQTtBQXJCQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBQ0E7QUFYQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQW1CQTtBQUNBO0FBbEJBOzs7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBUWxTQTtBVHVCQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FxR2lCQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QTVGL0NBO0FBQ0E7QTZGREE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBcEdvQkE7QUFBQTtBQUNBO0FBQUE7QW9HbkJBO0FBQ0E7QXBHb0JBO0FBQ0E7QW9HeEJBO0FwR3dCQTtBQUFBO0FBQ0E7QUFBQTtBb0d2QkE7QXBHd0JBO0FBQ0E7QW9HdkJBO0FwR05BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBb0dHQTtBQUNBO0FBQ0E7QXBHOENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FvR2xEQTtBQUNBO0FBQ0E7QXBHd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FvR2hEQTtBQUNBO0FBVkE7QUFDQTtBQUpBO0FwR3dEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQVdBO0FvRzNEQTtBQU5BO0FBQ0E7QUFDQTtBQUNBO0FBVEE7QXBHd0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QW9HM0RBO0FBREE7QUFDQTtBQUVBO0FwRzBDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FvRzVDQTtBQXNHQTtBQUNBO0FBckdBO0FBQ0E7QUFOQTtBQU1BO0FBbUdBO0FBbEdBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QXBHMENBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QW9HZ0RBO0FBN0ZBO0FBQ0E7QUFDQTtBQUNBO0FBZkE7QXBHMENBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QW9HZ0RBO0FBeEZBO0FBQ0E7QUFFQTtBQUNBO0FBRkE7QUFFQTtBQUVBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFGQTtBQUVBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBdEdFQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0dIQTtBQUNBO0FBQ0E7QXRHaEJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzR21CQTtBQUNBO0FBSkE7QUFDQTtBQUpBO0F0R1RBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzR1lBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QXRHaENBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FzRytCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0F0R3BGQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDK0JBO0FBQUE7QXFHNkRBO0FBQ0E7QXJHNURBO0FBQ0E7QXFHK0NBO0FyRy9DQTtBQUFBO0FxRzBEQTtBckd6REE7QUFDQTtBQUNBO0FDeUdBO0FBQ0E7QUFBQTtBRHhHQTtBQUNBO0FDeUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FEN0dBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7QUR6QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzZCQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQWFBO0FBQ0E7QUFaQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZCQTs7Ozs7O0FEaENBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FDc0RBO0FBREE7QUFDQTtBQUdBOzs7Ozs7QUFNQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOzs7OztBQUtBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBUEE7QUFPQTtBQUNBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEOUdBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQzZHQTtBQUNBO0FBREE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQTJCQTtBQUNBO0FBMUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FEMUpBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQ3lKQTtBQU9BO0FBQ0E7QUFOQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQXNCQTtBQUNBO0FBckJBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQVhBOzs7O0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUFBO0FBbUJBO0FBQ0E7QUFsQkE7Ozs7QUFFQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FxR3BMQTtBQUNBO0FBQ0E7QUFDQTtBdEduRkE7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBc0drRkE7QUFDQTtBN0ZwSEE7QUFDQTtBNkZvSEE7QUFDQTtBQURBO0E3RnJIQTtBQUNBO0E2RnVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUMxSUE7O0FBRUE7QUFDQTtBQUNBO0FyR3dCQTtBQUFBO0FBQ0E7QUFBQTtBcUd2QkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FyR3NCQTtBQUNBO0FxRzVCQTtBckc0QkE7QUFBQTtBQUNBO0FBQUE7QXFHekJBO0FyRzBCQTtBQUNBO0FxR3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFaQTtBQVlBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0F2R09BO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0F1R1JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFXQTtBQUNBO0FBVkE7QUFDQTtBQVBBO0F2R3FCQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBdUdoQkE7QUFBQTtBQUNBO0FBTUE7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQWJBO0FBYUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFTQTtBQUNBO0FBUkE7QUFDQTtBQU5BO0FBTUE7QUFBQTtBQU1BO0FBTEE7QUFDQTtBQUNBO0FBQ0E7QUFWQTtBQVVBO0FBQUE7QUFFQTtBQURBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFWQTtBQVVBO0FBVUE7QUFUQTtBQUNBO0FBQ0E7QUFDQTtBQWRBO0FBY0E7QUFNQTtBQUxBO0FBQ0E7QUFDQTtBQUNBO0FBbEJBO0FBa0JBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVNBO0FBQ0E7QUFQQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBUkE7QUFRQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQU9BO0FBQ0E7QUFMQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBY0E7QUFDQTtBQWJBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXpCQTtBQXlCQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBL0cxTUE7O0FBRUE7QUFDQTtBZ0hoREE7O0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0F0R05BO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FzR0dBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQy9DQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQ1BBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTtBQUNBO0FBTEE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBO0F4R1pBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBd0dTQTtBQUNBO0FBQ0E7QXhHd0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0F3RzVDQTtBQUNBO0FBQ0E7QXhHa0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0F3RzVDQTtBQUNBO0FBUkE7QUFDQTtBQUpBO0F4R2tEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBd0c1Q0E7QUFMQTtBQUNBO0FBQ0E7QUFDQTtBQVJBO0F4R2tEQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBd0c1Q0E7QUFEQTtBQUNBO0FBRUE7QXhHc0NBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXdHeENBO0FBYUE7QUFDQTtBQVpBO0FBQ0E7QUFOQTtBQU1BO0FBQ0E7QXhHK0JBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBQUE7QUFDQTtBQURBO0FBV0E7QXdHckNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFiQTtBeEdzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFXQTtBd0dyQ0E7QUFEQTtBQUNBO0FBRUE7QTFHZ0JBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QTBHakJBO0FBQ0E7QUFEQTtBQUNBO0FBQ0E7QUFDQTtBMUd2Q0E7QUFBQTtBQUNBOzs7O0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQytCQTtBQUFBO0F5R1dBO0FBQ0E7QXpHVkE7QUFDQTtBeUdFQTtBekdGQTtBQUFBO0F5R1FBO0F6R1BBO0FBQ0E7QUFDQTtBQ3lHQTtBQUNBO0FBQUE7QUR4R0E7QUFDQTtBQ3lHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBRDdHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FEekJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2QkE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2QkE7Ozs7OztBRGhDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3NEQTtBQURBO0FBQ0E7QUFHQTs7Ozs7O0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFLQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDlHQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2R0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUEyQkE7QUFDQTtBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDFKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUN5SkE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFzQkE7QUFDQTtBQXJCQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBQ0E7QUFYQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQW1CQTtBQUNBO0FBbEJBOzs7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBeUdqT0E7QUFDQTtBQUpBO0FBSUE7QUFBQTtBQUVBO0FBREE7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFOQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUVBOzs7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUxBOzs7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBSkE7QUFLQTtBQUFBO0FBRUE7QUFEQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQ3hIQTtBekcyQkE7QUFBQTtBQUNBO0FBQUE7QUF2QkE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBbURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QXlHL0RBO0FBQ0E7QUFDQTtBekd1QkE7QUFDQTtBeUcvQkE7QXpHK0JBO0FBQUE7QUFDQTtBQUFBO0F5RzFCQTtBekcyQkE7QUFDQTtBeUcxQkE7QXpHbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FGZkE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QTJHeERBO0FBQUE7QUFDQTtBQUNBO0FBWUE7QUFDQTtBQVpBO0FBQ0E7QUFQQTtBekdtRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFXQTtBRm5CQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0EyR2xEQTtBQVBBO0FBQ0E7QUFDQTtBQUNBO0FBYkE7QXpHbUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QUFDQTtBeUdsRUE7QUFGQTtBQUNBO0FBR0E7QXpHZ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FGekRBO0FBQUE7QUFDQTs7OztBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUMrQkE7QUFBQTtBMEdVQTtBQUNBO0ExR1RBO0FBQ0E7QTBHaENBO0ExR2dDQTtBQUFBO0EwR09BO0ExR05BO0FBQ0E7QUFDQTtBQ3lHQTtBQUNBO0FBQUE7QUR4R0E7QUFDQTtBQ3lHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBRDdHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FEekJBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2QkE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFhQTtBQUNBO0FBWkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUF2QkE7Ozs7OztBRGhDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQ3NEQTtBQURBO0FBQ0E7QUFHQTs7Ozs7O0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFLQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFNQTtBQUNBO0FBTEE7QUFDQTtBQVBBO0FBT0E7QUFDQTtBQUVBO0FBREE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDlHQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUM2R0E7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUEyQkE7QUFDQTtBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBRDFKQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUN5SkE7QUFPQTtBQUNBO0FBTkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFzQkE7QUFDQTtBQXJCQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVlBO0FBQ0E7QUFYQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUtBO0FBQ0E7QUFKQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUNBO0FBSkE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFBQTtBQW1CQTtBQUNBO0FBbEJBOzs7O0FBRUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBS0E7QUFDQTtBQUpBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBMEdsUUE7OztBM0dZQTtBQUFBO0FBQ0E7Ozs7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyR1hBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QXpHZ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QXlHeEJBO0FBQ0E7QUFyQkE7OztBM0dXQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBMkdWQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0EzR0hBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0EyR0VBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBbEczREE7QUFDQTtBa0cyREE7QUFDQTtBQURBO0FsRzVEQTtBa0c2REE7QUFDQTtBQUNBO0FBQ0E7QUFwQ0E7QXpHZ0RBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBV0E7QXlHeEJBO0FBREE7QUFDQTtBbkhqQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FvSHpEQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQW9CQTtBQUNBO0FBbkJBO0FBQ0E7Ozs7Ozs7Ozs7OztBQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7OztBQU9BO0FBQ0E7QUFDQTtBQ2xFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTs7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1BO0FBQ0E7QUFMQTs7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0E7QUFDQTtBQU5BOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQ0E7QUFOQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPQTtBQUNBO0FBTkE7OztBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFRQTtBQUNBO0FBUEE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVFBO0FBQ0E7QUFQQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBSUE7QUFDQTtBQUpBO0FBQ0E7QUFIQTtBQUdBO0FBRUE7QUFEQTtBQUNBO0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUN2TUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QS9HYUE7QUFDQTtBK0dYQTtBQUNBO0EvR1lBO0FBQ0E7QStHbEJBO0EvR2tCQTtBQUNBO0FBQ0E7QStHaEJBO0EvR2lCQTtBQUNBO0FBeUJBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0ErR3JEQTtBQUNBO0EvR3FCQTtBK0duQkE7QUFDQTtBL0dvQkE7QUFDQTtBK0d6QkE7QS9HeUJBO0ErR3RCQTtBL0d1QkE7QUFDQTtBK0d0QkE7QUFDQTtBL0dnQkE7QStHZEE7QUFDQTtBL0dlQTtBQUNBO0ErR3BCQTtBL0dvQkE7QStHakJBO0EvR2tCQTtBQUNBO0ErR2pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QS9HT0E7QStHTEE7QUFDQTtBL0dNQTtBQUNBO0ErR1hBO0EvR1dBO0ErR1JBO0EvR1NBO0FBQ0E7QStHUkE7QUFDQTtBL0dFQTtBK0dBQTtBQUNBO0EvR0NBO0FBQ0E7QStHTkE7QS9HTUE7QStHSEE7QS9HSUE7QUFDQTtBK0dIQTtBQUNBO0EvR0hBO0ErR0tBO0FBQ0E7QS9HSkE7QUFDQTtBK0dEQTtBL0dDQTtBK0dFQTtBL0dEQTtBQUNBO0ErR0VBO0FBQ0E7QS9HUkE7QStHVUE7QUFDQTtBL0dUQTtBQUNBO0ErR0lBO0EvR0pBO0ErR09BO0EvR05BO0FBQ0E7QStHT0E7QUFDQTtBL0diQTtBK0dlQTtBQUNBO0EvR2RBO0FBQ0E7QStHU0E7QS9HVEE7QStHWUE7QS9HWEE7QUFDQTtBK0dZQTtBQUNBO0EvR2xCQTtBK0dvQkE7QUFDQTtBL0duQkE7QUFDQTtBK0djQTtBL0dkQTtBK0dpQkE7QS9HaEJBO0FBQ0E7QStHaUJBO0FBQ0E7QS9HdkJBO0ErR3lCQTtBQUNBO0EvR3hCQTtBQUNBO0ErR21CQTtBL0duQkE7QStHc0JBO0EvR3JCQTtBQUNBO0ErR3NCQTtBQUNBO0EvRzVCQTtBK0c4QkE7QUFDQTtBL0c3QkE7QUFDQTtBK0d3QkE7QS9HeEJBO0ErRzJCQTtBL0cxQkE7QUFDQTtBK0cyQkE7QUFDQTtBL0dqQ0E7QStHbUNBO0FBQ0E7QS9HbENBO0FBQ0E7QStHNkJBO0EvRzdCQTtBK0dnQ0E7QS9HL0JBO0FBQ0E7QWdIckNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbkpBOztBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQ1JBOztBQUVBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFXQTtBQUNBO0FBVkE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0F6SGlDQTs7Ozs7QUFLQTs7Iiwic291cmNlUm9vdCI6IiJ9*/