/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/globals/globals.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A class which hides an element in DOM.
 */

.ck-hidden {
	/* Override selector specificity. Otherwise, all elements with some display
	style defined will override this one, which is not a desired result. */
	display: none !important;
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-reset,
.ck.ck-reset_all,
.ck.ck-reset_all * {
	box-sizing: border-box;
	width: auto;
	height: auto;
	position: static;
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-z-default: 1;
	--ck-z-modal: calc( var(--ck-z-default) + 999 );
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/globals.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-color-base-foreground: 								hsl(0, 0%, 98%);
	--ck-color-base-background: 								hsl(0, 0%, 100%);
	--ck-color-base-border: 									hsl(0, 0%, 77%);
	--ck-color-base-action: 									hsl(104, 44%, 48%);
	--ck-color-base-focus: 										hsl(209, 92%, 70%);
	--ck-color-base-text: 										hsl(0, 0%, 20%);
	--ck-color-base-active: 									hsl(208, 88%, 52%);
	--ck-color-base-active-focus:								hsl(208, 88%, 47%);
	--ck-color-base-error:										hsl(15, 100%, 43%);

	/* -- Generic colors ------------------------------------------------------------------------ */

	--ck-color-focus-border: 									hsl(208, 90%, 62%);
	--ck-color-focus-shadow:									hsla(209, 90%, 72%,.5);
	--ck-color-focus-disabled-shadow:							hsla(209, 90%, 72%,.3);
	--ck-color-focus-error-shadow:								hsla(9,100%,56%,.3);
	--ck-color-text: 											var(--ck-color-base-text);
	--ck-color-shadow-drop: 									hsla(0, 0%, 0%, 0.15);
	--ck-color-shadow-inner: 									hsla(0, 0%, 0%, 0.1);

	/* -- Buttons ------------------------------------------------------------------------------- */

	--ck-color-button-default-background: 						transparent;
	--ck-color-button-default-hover-background: 				hsl(0, 0%, 90%);
	--ck-color-button-default-active-background: 				hsl(0, 0%, 85%);
	--ck-color-button-default-active-shadow: 					hsl(0, 0%, 75%);
	--ck-color-button-default-disabled-background: 				transparent;

	--ck-color-button-on-background: 							hsl(0, 0%, 87%);
	--ck-color-button-on-hover-background: 						hsl(0, 0%, 77%);
	--ck-color-button-on-active-background: 					hsl(0, 0%, 73%);
	--ck-color-button-on-active-shadow: 						hsl(0, 0%, 63%);
	--ck-color-button-on-disabled-background: 					hsl(0, 0%, 87%);

	--ck-color-button-action-background: 						var(--ck-color-base-action);
	--ck-color-button-action-hover-background: 					hsl(104, 44%, 43%);
	--ck-color-button-action-active-background: 				hsl(104, 44%, 41%);
	--ck-color-button-action-active-shadow: 					hsl(104, 44%, 36%);
	--ck-color-button-action-disabled-background: 				hsl(104, 44%, 58%);
	--ck-color-button-action-text: 								var(--ck-color-base-background);

	--ck-color-button-save: 									hsl(120, 100%, 27%);
	--ck-color-button-cancel: 									hsl(15, 100%, 43%);

	--ck-color-switch-button-off-background:					hsl(0, 0%, 69%);
	--ck-color-switch-button-on-background:						var(--ck-color-button-action-background);
	--ck-color-switch-button-inner-background:					var(--ck-color-base-background);

	/* -- Dropdown ------------------------------------------------------------------------------ */

	--ck-color-dropdown-panel-background: 						var(--ck-color-base-background);
	--ck-color-dropdown-panel-border: 							var(--ck-color-base-border);

	/* -- Input --------------------------------------------------------------------------------- */

	--ck-color-input-background: 								var(--ck-color-base-background);
	--ck-color-input-border: 									hsl(0, 0%, 78%);
	--ck-color-input-error-border:								var(--ck-color-base-error);
	--ck-color-input-text: 										var(--ck-color-base-text);
	--ck-color-input-disabled-background: 						hsl(0, 0%, 95%);
	--ck-color-input-disabled-border: 							hsl(0, 0%, 78%);
	--ck-color-input-disabled-text: 							hsl(0, 0%, 36%);

	/* -- List ---------------------------------------------------------------------------------- */

	--ck-color-list-background: 								var(--ck-color-base-background);
	--ck-color-list-button-hover-background: 					var(--ck-color-base-foreground);
	--ck-color-list-button-on-background: 						var(--ck-color-base-active);
	--ck-color-list-button-on-background-focus: 				var(--ck-color-base-active-focus);
	--ck-color-list-button-on-text:								var(--ck-color-base-background);

	/* -- Panel --------------------------------------------------------------------------------- */

	--ck-color-panel-background: 								var(--ck-color-base-background);
	--ck-color-panel-border: 									var(--ck-color-base-border);

	/* -- Toolbar ------------------------------------------------------------------------------- */

	--ck-color-toolbar-background: 								var(--ck-color-base-foreground);
	--ck-color-toolbar-border: 									var(--ck-color-base-border);

	/* -- Tooltip ------------------------------------------------------------------------------- */

	--ck-color-tooltip-background: 								var(--ck-color-base-text);
	--ck-color-tooltip-text: 									var(--ck-color-base-background);

	/* -- Engine -------------------------------------------------------------------------------- */

	--ck-color-engine-placeholder-text: 						hsl(0, 0%, 76%);

	/* -- Upload -------------------------------------------------------------------------------- */

	--ck-color-upload-bar-background:		 					hsl(209, 92%, 70%);
	--ck-color-upload-infinite-background:		 				hsla(0, 0%, 0%, 0.1);

	/* -- Link -------------------------------------------------------------------------------- */

	--ck-color-link-default:									hsl(240, 100%, 47%);
	--ck-color-link-selected-background: 						hsla(201, 100%, 56%, 0.1);
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	/**
	 * An opacity value of disabled UI item.
	 */
	--ck-disabled-opacity: .5;
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	/**
	 * The geometry of the of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow-geometry: 0 0 0 3px;

	/**
	 * A visual style of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-shadow);

	/**
	 * A visual style of focused element's outer shadow (when disabled).
	 */
	--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);

	/**
	 * A visual style of focused element's outer shadow (when has errors).
	 */
	--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);

	/**
	 * A visual style of focused element's border or outline.
	 */
	--ck-focus-ring: 1px solid var(--ck-color-focus-border);
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-font-size-base: 13px;
	--ck-line-height-base: 1.84615;
	--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;

	--ck-font-size-tiny: 0.7em;
	--ck-font-size-small: 0.75em;
	--ck-font-size-normal: 1em;
	--ck-font-size-big: 1.4em;
	--ck-font-size-large: 1.8em;
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	/* This is super-important. This is **manually** adjusted so a button without an icon
	is never smaller than a button with icon, additionally making sure that text-less buttons
	are perfect squares. The value is also shared by other components which should stay "in-line"
	with buttons. */
	--ck-ui-component-min-height: 2.3em;
}

/**
 * Resets an element, ignoring its children.
 */

.ck.ck-reset,
.ck.ck-reset_all,
.ck.ck-reset_all * {
	/* Do not include inheritable rules here. */
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	vertical-align: middle;
	transition: none;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */
	word-wrap: break-word;
}

/**
 * Resets an element AND its children.
 */

.ck.ck-reset_all,
.ck.ck-reset_all * {
	/* These are rule inherited by all children elements. */
	border-collapse: collapse;
	font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);
	color: var(--ck-color-text);
	text-align: left;
	white-space: nowrap;
	cursor: auto;
	float: none;
}

.ck.ck-reset_all .ck-rtl * {
		text-align: right;
	}

.ck.ck-reset_all iframe {
		/* For IE */
		vertical-align: inherit;
	}

.ck.ck-reset_all textarea {
		white-space: pre-wrap;
	}

.ck.ck-reset_all textarea,
	.ck.ck-reset_all input[type="text"],
	.ck.ck-reset_all input[type="password"] {
		cursor: text;
	}

.ck.ck-reset_all textarea[disabled],
	.ck.ck-reset_all input[type="text"][disabled],
	.ck.ck-reset_all input[type="password"][disabled] {
		cursor: default;
	}

.ck.ck-reset_all fieldset {
		padding: 10px;
		border: 2px groove hsl(255, 7%, 88%);
	}

.ck.ck-reset_all button::-moz-focus-inner {
		/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */
	    padding: 0;
	    border: 0
	}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Default border-radius value.
 */

:root{
	--ck-border-radius: 2px;
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	/**
	 * A visual style of element's inner shadow (i.e. input).
	 */
	--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;

	/**
	 * A visual style of element's drop shadow (i.e. panel).
	 */
	--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);
}

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-spacing-unit: 						0.6em;
	--ck-spacing-large: 					calc(var(--ck-spacing-unit) * 1.5);
	--ck-spacing-standard: 					var(--ck-spacing-unit);
	--ck-spacing-medium: 					calc(var(--ck-spacing-unit) * 0.8);
	--ck-spacing-small: 					calc(var(--ck-spacing-unit) * 0.5);
	--ck-spacing-tiny: 						calc(var(--ck-spacing-unit) * 0.3);
	--ck-spacing-extra-tiny: 				calc(var(--ck-spacing-unit) * 0.16);
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/editorui/editorui.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */

.ck.ck-editor__editable:not(.ck-editor__nested-editable) {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable), .ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;
	}

.ck.ck-editor__editable_inline {
	overflow: auto;
	padding: 0 var(--ck-spacing-standard);
	border: 1px solid transparent

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */
}

.ck.ck-editor__editable_inline > *:first-child {
		margin-top: var(--ck-spacing-large);
	}

.ck.ck-editor__editable_inline {

	/* https://github.com/ckeditor/ckeditor5/issues/847 */
}

.ck.ck-editor__editable_inline > *:last-child {
		margin-bottom: var(--ck-spacing-large);
	}

/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */

.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"]::after {
		border-bottom-color: var(--ck-color-base-foreground);
	}

.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"]::after {
		border-top-color: var(--ck-color-base-foreground);
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-label {
	display: block;
}

.ck.ck-voice-label {
	display: none;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-label {
	font-weight: bold;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		z-index: var(--ck-z-modal); /* #315 */
		position: fixed;
		top: 0;
	}

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit {
		top: auto;
		position: absolute;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		box-shadow: var(--ck-drop-shadow), 0 0;

		border-width: 0 1px 1px;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Makes element unselectable.
 */

.ck.ck-toolbar {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-flow: row wrap;
	align-items: center
}

.ck.ck-toolbar.ck-toolbar_vertical {
		flex-direction: column;
	}

.ck.ck-toolbar.ck-toolbar_floating {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar__separator {
	display: inline-block;
}

.ck.ck-toolbar__newline {
	display: block;
	width: 100%;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-toolbar {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-toolbar, .ck.ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-toolbar {

	background: var(--ck-color-toolbar-background);
	padding: 0 var(--ck-spacing-small);
	border: 1px solid var(--ck-color-toolbar-border)
}

.ck.ck-toolbar > * {
		/* (#11) Separate toolbar items. */
		margin-right: var(--ck-spacing-small);

		/* Make sure items wrapped to the next line have v-spacing */
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}

.ck.ck-toolbar.ck-toolbar_vertical {
		/* Items in a vertical toolbar span the entire width. */
		padding: 0
	}

.ck.ck-toolbar.ck-toolbar_vertical > * {
			/* Items in a vertical toolbar should span the horizontal space. */
			width: 100%;

			/* Items in a vertical toolbar should have no margin. */
			margin: 0;

			/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */
			border-radius: 0;

			/* Items in a vertical toolbar span the entire width so any border is pointless. */
			border: 0;
		}

.ck.ck-toolbar > *:last-child {
		margin-right: 0;
	}

.ck-toolbar-container .ck.ck-toolbar {
		border: 0
}

.ck.ck-toolbar__separator {
	align-self: stretch;
	width: 1px;
	margin-top: 0;
	margin-bottom: 0;
	background: var(--ck-color-toolbar-border);
}

.ck.ck-toolbar__newline {
	margin: 0;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-editor {
	/* All the elements within `.ck-editor` are positioned relatively to it.
	 If any element needs to be positioned with respect to the <body>, etc.,
	 it must land outside of the `.ck-editor` in DOM. */
	position: relative
}

.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar {
		/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */
		z-index: var(--ck-z-modal);
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-editor__top .ck-sticky-panel .ck-toolbar {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
		}

.ck.ck-editor__top .ck-sticky-panel .ck-toolbar {

			border-bottom-width: 0;
		}

.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar {
			border-bottom-width: 1px;

			border-radius: 0
		}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: 0
		}

/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */

.ck.ck-editor__main > .ck-editor__editable {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */
	background: var(--ck-color-base-background);

	border-radius: 0
}

.ck-rounded-corners .ck.ck-editor__main > .ck-editor__editable, .ck.ck-editor__main > .ck-editor__editable.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
		border-top-right-radius: 0
}

.ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
		border-color: var(--ck-color-base-border);
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-icon {
	vertical-align: middle;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));
}

.ck.ck-icon {
	width: var(--ck-icon-size);
	height: var(--ck-icon-size);

	/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */
	font-size: .8333350694em;

	color: inherit;

	/* Inherit cursor style (#5). */
	cursor: inherit;

	/* This will prevent blurry icons on Firefox. See #340. */
	will-change: transform
}

.ck.ck-icon * {
		/* Inherit cursor style (#5). */
		cursor: inherit;

		/* Allows dynamic coloring of the icons. */
		color: inherit
	}

.ck.ck-icon *:not([fill]) {
				/* Needed by FF. */
				fill: currentColor;
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-tooltip,
.ck.ck-tooltip .ck-tooltip__text::after {
	position: absolute;

	/* Without this, hovering the tooltip could keep it visible. */
	pointer-events: none;

	/* This is to get rid of flickering when transitioning opacity in Chrome.
	It's weird but it works. */
	-webkit-backface-visibility: hidden;
}

.ck-tooltip {
	/* Tooltip is hidden by default. */
	visibility: hidden;
	opacity: 0;
	display: none;
	z-index: var(--ck-z-modal)
}

.ck-tooltip .ck-tooltip__text {
		display: inline-block
	}

.ck-tooltip .ck-tooltip__text::after {
			content: "";
			width: 0;
			height: 0;
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-tooltip-arrow-size: 5px;
}

.ck.ck-tooltip {
	left: 50%

	/**
	 * A class once applied displays the tooltip south of the element.
	 *
	 *       [element]
	 *           ^
	 *     +-----------+
	 *     |  Tooltip  |
	 *     +-----------+
	 */
}

.ck.ck-tooltip.ck-tooltip_s {
		bottom: calc(-1 * var(--ck-tooltip-arrow-size));
		transform: translateY( 100% )
	}

.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text::after {
			top: calc(-1 * var(--ck-tooltip-arrow-size));
			transform: translateX( -50% );
			border-color: transparent transparent var(--ck-color-tooltip-background) transparent;
			border-width: 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);
		}

.ck.ck-tooltip {

	/**
	 * A class once applied displays the tooltip north of the element.
	 *
	 *     +-----------+
	 *     |  Tooltip  |
	 *     +-----------+
	 *           V
	 *       [element]
	 */
}

.ck.ck-tooltip.ck-tooltip_n {
		top: calc(-1 * var(--ck-tooltip-arrow-size));
		transform: translateY( -100% )
	}

.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text::after {
			bottom: calc(-1 * var(--ck-tooltip-arrow-size));
			transform: translateX( -50% );
			border-color: var(--ck-color-tooltip-background) transparent transparent transparent;
			border-width: var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);
		}

.ck.ck-tooltip .ck-tooltip__text {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text, .ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

.ck.ck-tooltip .ck-tooltip__text {

		font-size: .9em;
		line-height: 1.5;
		color: var(--ck-color-tooltip-text);
		padding: var(--ck-spacing-small) var(--ck-spacing-medium);
		background: var(--ck-color-tooltip-background);
		position: relative;
		left: -50%
	}

.ck.ck-tooltip .ck-tooltip__text::after {
			border-style: solid;
			left: 50%;
		}

.ck.ck-tooltip,
.ck.ck-tooltip .ck-tooltip__text::after {
	/* For the transition to work, the tooltip must be controlled
	using visibility+opacity. A delay prevents a "tooltip avalanche"
	i.e. when scanning the toolbar with mouse cursor. */
	transition: opacity .2s ease-in-out .2s;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Makes element unselectable.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-button,
a.ck.ck-button {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.ck.ck-button .ck-tooltip, a.ck.ck-button .ck-tooltip {
		display: block

		/*
		 * Don't display tooltips in devices which don't support :hover.
		 * In fact, it's all about iOS, which forces user to click UI elements twice to execute
		 * the primary action, when tooltips are enabled.
		 *
		 * Q: OK, but why not the following query?
		 *
		 *   @media (hover) {
		 *       display: block;
		 *   }
		 *
		 * A: Because FF does not support it and it would completely disable tooltips
		 * in that browser.
		 *
		 * More in https://github.com/ckeditor/ckeditor5/issues/920.
		 */
	}

@media (hover:none) {

.ck.ck-button .ck-tooltip, a.ck.ck-button .ck-tooltip {
			display: none
	}
		}

.ck.ck-button,
a.ck.ck-button {

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: left
}

.ck.ck-button.ck-button_with-text .ck-button__label, a.ck.ck-button.ck-button_with-text .ck-button__label {
			display: inline-block;
		}

.ck.ck-button,
a.ck.ck-button {

	/* Center the icon horizontally in a button without text. */
}

.ck.ck-button:not(.ck-button_with-text),  a.ck.ck-button:not(.ck-button_with-text)  {
		justify-content: center;
	}

.ck.ck-button:hover .ck-tooltip, a.ck.ck-button:hover .ck-tooltip {
		visibility: visible;
		opacity: 1;
	}

.ck.ck-button,
a.ck.ck-button {

	/* Get rid of the native focus outline around the tooltip when focused (but not :hover). */
}

.ck.ck-button:focus:not(:hover) .ck-tooltip, a.ck.ck-button:focus:not(:hover) .ck-tooltip {
		display: none;
	}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		display: none;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */

.ck.ck-button,
a.ck.ck-button {
	background: var(--ck-color-button-default-background)
}

.ck.ck-button:not(.ck-disabled):hover, a.ck.ck-button:not(.ck-disabled):hover {
			background: var(--ck-color-button-default-hover-background);
		}

.ck.ck-button:not(.ck-disabled):active, a.ck.ck-button:not(.ck-disabled):active {
			background: var(--ck-color-button-default-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-default-active-shadow);
		}

.ck.ck-button,
a.ck.ck-button {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
}

.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {
		background: var(--ck-color-button-default-disabled-background);
	}

.ck.ck-button,
a.ck.ck-button {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-button,
.ck.ck-button.ck-rounded-corners,
.ck-rounded-corners a.ck.ck-button,
a.ck.ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-button,
a.ck.ck-button {

	white-space: nowrap;
	cursor: default;
	vertical-align: middle;
	padding: var(--ck-spacing-tiny);
	text-align: center;

	/* A very important piece of styling. Go to variable declaration to learn more. */
	min-width: var(--ck-ui-component-min-height);
	min-height: var(--ck-ui-component-min-height);

	/* Normalize the height of the line. Removing this will break consistent height
	among text and text-less buttons (with icons). */
	line-height: 1;

	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;

	/* Avoid flickering when the foucs border shows up. */
	border: 1px solid transparent;

	/* Apply some smooth transition to the box-shadow. */
	transition: box-shadow 200ms ease-in-out;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */
	-webkit-appearance: none
}

.ck.ck-button:active,
	.ck.ck-button:focus,
	a.ck.ck-button:active,
	a.ck.ck-button:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), 0 0;

		/* Disable border part of the focus ring for the buttons. It is too much. */
		border-color: transparent;
	}

.ck.ck-button,
a.ck.ck-button {

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
}

.ck.ck-button.ck-disabled:active,
		.ck.ck-button.ck-disabled:focus,
		a.ck.ck-button.ck-disabled:active,
		a.ck.ck-button.ck-disabled:focus {
			/* The disabled button should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0;
		}

.ck.ck-button.ck-disabled .ck-button__icon, a.ck.ck-button.ck-disabled .ck-button__icon {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {

		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
	}

.ck.ck-button.ck-disabled .ck-button__label, a.ck.ck-button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-button.ck-button_with-text, a.ck.ck-button.ck-button_with-text {
		padding: var(--ck-spacing-tiny) var(--ck-spacing-standard)
	}

.ck.ck-button.ck-button_with-text .ck-button__icon, a.ck.ck-button.ck-button_with-text .ck-button__icon {
			margin-left: calc(-1 * var(--ck-spacing-small));
			margin-right: var(--ck-spacing-small);
		}

.ck.ck-button,
a.ck.ck-button {

	/* A style of the button which is currently on, e.g. its feature is active. */
}

.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		background: var(--ck-color-button-on-background);
	}

.ck.ck-button.ck-on:not(.ck-disabled):hover, a.ck.ck-button.ck-on:not(.ck-disabled):hover {
			background: var(--ck-color-button-on-hover-background);
		}

.ck.ck-button.ck-on:not(.ck-disabled):active, a.ck.ck-button.ck-on:not(.ck-disabled):active {
			background: var(--ck-color-button-on-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-on-active-shadow);
		}

.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
	}

.ck.ck-button.ck-on.ck-disabled, a.ck.ck-button.ck-on.ck-disabled {
		background: var(--ck-color-button-on-disabled-background);
	}

.ck.ck-button.ck-button-save, a.ck.ck-button.ck-button-save {
		color: var(--ck-color-button-save);
	}

.ck.ck-button.ck-button-cancel, a.ck.ck-button.ck-button-cancel {
		color: var(--ck-color-button-cancel);
	}

.ck.ck-button,
a.ck.ck-button {

	/* Allow icon coloring using the text "color" property. */
}

.ck.ck-button .ck-button__icon use,
		.ck.ck-button .ck-button__icon use *,
		a.ck.ck-button .ck-button__icon use,
		a.ck.ck-button .ck-button__icon use * {
			color: inherit;
		}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		/* Enable font size inheritance, which allows fluid UI scaling. */
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
		cursor: inherit;

		/* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and
		without labels (but with icons) have different sizes in Chrome */
		vertical-align: middle;
	}

/* A style of the button which handles the primary action. */

.ck.ck-button-action,
a.ck.ck-button-action {
	background: var(--ck-color-button-action-background);
}

.ck.ck-button-action:not(.ck-disabled):hover, a.ck.ck-button-action:not(.ck-disabled):hover {
			background: var(--ck-color-button-action-hover-background);
		}

.ck.ck-button-action:not(.ck-disabled):active, a.ck.ck-button-action:not(.ck-disabled):active {
			background: var(--ck-color-button-action-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-action-active-shadow);
		}

.ck.ck-button-action,
a.ck.ck-button-action {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
}

.ck.ck-button-action.ck-disabled, a.ck.ck-button-action.ck-disabled {
		background: var(--ck-color-button-action-disabled-background);
	}

.ck.ck-button-action,
a.ck.ck-button-action {

	color: var(--ck-color-button-action-text);
}

.ck.ck-button-bold,
a.ck.ck-button-bold {
	font-weight: bold;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-content code {
	background-color: hsla(0, 0%, 78%, 0.3);
	padding: .15em;
	border-radius: 2px;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css */

/**
 * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-content blockquote {
	/* See #12 */
	overflow: hidden;

	/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */
	padding-right: 1.5em;

	padding-left: 1.5em;
	margin-left: 0;
	font-style: italic;
	border-left: solid 5px hsl(0, 0%, 80%);
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-widget/theme/widget.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck .ck-widget.ck-widget_selectable {
	/* Make the widget wrapper a relative positioning container for the drag handler. */
	position: relative
}

.ck .ck-widget.ck-widget_selectable .ck-widget__selection-handler {
		visibility: hidden;
		position: absolute
	}

.ck .ck-widget.ck-widget_selectable .ck-widget__selection-handler .ck-icon {
			/* Make sure the icon in not a subject to fon-size/line-height to avoid
			unnecessary spacing around it. */
			display: block;
		}

.ck .ck-widget.ck-widget_selectable {

	/* Show the selection handler on mouse hover over the widget. */
}

.ck .ck-widget.ck-widget_selectable:hover .ck-widget__selection-handler {
			visibility: visible;
		}

.ck .ck-widget.ck-widget_selectable {

	/* Show the selection handler when the widget is selected. */
}

.ck .ck-widget.ck-widget_selectable.ck-widget_selected .ck-widget__selection-handler {
			visibility: visible;
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-widget-outline-thickness: 3px;
	--ck-widget-handler-icon-size: 16px;
	--ck-widget-handler-animation-duration: 200ms;
	--ck-widget-handler-animation-curve: ease;

	--ck-color-widget-blurred-border: hsl(0, 0%, 87%);
	--ck-color-widget-hover-border: hsl(43, 100%, 62%);
	--ck-color-widget-editable-focus-background: var(--ck-color-base-background);
	--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);
}

.ck .ck-widget {
	outline-width: var(--ck-widget-outline-thickness);
	outline-style: solid;
	outline-color: transparent;
	transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)
}

.ck .ck-widget.ck-widget_selected,
	.ck .ck-widget.ck-widget_selected:hover {
		outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);
	}

.ck .ck-widget:hover {
		outline-color: var(--ck-color-widget-hover-border);
	}

.ck .ck-editor__nested-editable {
	border: 1px solid transparent

	/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.
	These styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */
}

.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,
	.ck .ck-editor__nested-editable:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;

		background-color: var(--ck-color-widget-editable-focus-background);
	}

.ck .ck-widget.ck-widget_selectable .ck-widget__selection-handler {
		padding: 4px;
		box-sizing: border-box;

		/* Background and opacity will be animated as the handler shows up or the widget gets selected. */
		background-color: transparent;
		opacity: 0;

		/* Transition:
		   * background-color for the .ck-widget_selected state change,
		   * visibility for hiding the handler,
		   * opacity for the proper look of the icon when the handler disappears. */
		transition:
			background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);

		/* Make only top corners round. */
		border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;

		/* Place the drag handler outside the widget wrapper. */
		transform: translateY(-100%);
		left: calc(0px - var(--ck-widget-outline-thickness))

		/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */
	}

.ck .ck-widget.ck-widget_selectable .ck-widget__selection-handler:hover .ck-icon .ck-icon__selected-indicator {
			opacity: 1;
		}

.ck .ck-widget.ck-widget_selectable .ck-widget__selection-handler .ck-icon {
			/* Make sure the dimensions of the icon are independent of the fon-size of the content. */
			width: var(--ck-widget-handler-icon-size);
			height: var(--ck-widget-handler-icon-size);
			color: var(--ck-color-widget-drag-handler-icon-color)

			/* The "selected" part of the icon is invisible by default */
		}

.ck .ck-widget.ck-widget_selectable .ck-widget__selection-handler .ck-icon .ck-icon__selected-indicator {
				opacity: 0;

				/* Note: The animation is longer on purpose. Simply feels better. */
				transition: opacity 300ms var(--ck-widget-handler-animation-curve);
			}

.ck .ck-widget.ck-widget_selectable {

	/* Show the selection handler when the widget is selected. */
}

.ck .ck-widget.ck-widget_selectable.ck-widget_selected .ck-widget__selection-handler, .ck .ck-widget.ck-widget_selectable.ck-widget_selected:hover .ck-widget__selection-handler {
			opacity: 1;
			background-color: var(--ck-color-focus-border)

			/* When the widget is selected, notify the user using the proper look of the icon. */
		}

.ck .ck-widget.ck-widget_selectable.ck-widget_selected .ck-widget__selection-handler .ck-icon .ck-icon__selected-indicator, .ck .ck-widget.ck-widget_selectable.ck-widget_selected:hover .ck-widget__selection-handler .ck-icon .ck-icon__selected-indicator {
				opacity: 1;
			}

.ck .ck-widget.ck-widget_selectable {

	/* Show the selection handler on mouse hover over the widget. */
}

.ck .ck-widget.ck-widget_selectable:hover .ck-widget__selection-handler {
		opacity: 1;
		background-color: var(--ck-color-widget-hover-border);
	}

/* Style the widget when it's selected but the editable it belongs to lost focus. */

.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,
	.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover {
		outline-color: var(--ck-color-widget-blurred-border)
	}

.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected .ck-widget__selection-handler,
		.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected .ck-widget__selection-handler:hover,
		.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover .ck-widget__selection-handler,
		.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover .ck-widget__selection-handler:hover {
			background: var(--ck-color-widget-blurred-border);
		}

.ck-editor__editable.ck-read-only .ck-widget {
	/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.
	See: https://github.com/ckeditor/ckeditor5/issues/1261 */
	--ck-widget-outline-thickness: 0;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledinput/labeledinput.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledinput/labeledinput.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-labeled-input .ck-labeled-input__status {
	font-size: var(--ck-font-size-small);
	margin-top: var(--ck-spacing-small);

	/* Let the info wrap to the next line to avoid stretching the layout horizontally.
	The status could be very long. */
	white-space: normal;
}

.ck.ck-labeled-input .ck-labeled-input__status_error {
	color: var(--ck-color-base-error);
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/inputtext/inputtext.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/inputtext/inputtext.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-input-text-width: 18em;
}

.ck.ck-input-text {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-input-text, .ck.ck-input-text.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-input-text {
	box-shadow: var(--ck-inner-shadow), 0 0;

	background: var(--ck-color-input-background);
	border: 1px solid var(--ck-color-input-border);
	padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);
	min-width: var(--ck-input-text-width);

	/* This is important to stay of the same height as surrounding buttons */
	min-height: var(--ck-ui-component-min-height);

	/* Apply some smooth transition to the box-shadow and border. */
	transition-property: box-shadow, border;
	transition: .2s ease-in-out
}

.ck.ck-input-text:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), var(--ck-inner-shadow);
	}

.ck.ck-input-text[readonly] {
		border: 1px solid var(--ck-color-input-disabled-border);
		background: var(--ck-color-input-disabled-background);
		color: var(--ck-color-input-disabled-text)
	}

.ck.ck-input-text[readonly]:focus {
			/* The read-only input should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), var(--ck-inner-shadow);
		}

.ck.ck-input-text.ck-error {
		border-color: var(--ck-color-input-error-border);
		animation: ck-text-input-shake .3s ease both
	}

.ck.ck-input-text.ck-error:focus {
			box-shadow: var(--ck-focus-error-outer-shadow), var(--ck-inner-shadow);
		}

@keyframes ck-text-input-shake {
	20% {
		transform: translateX(-2px);
	}

	40% {
		transform: translateX(2px);
	}

	60% {
		transform: translateX(-1px);
	}

	80% {
		transform: translateX(1px);
	}
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-text-alternative-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-text-alternative-form .ck-labeled-input {
		display: inline-block;
	}

.ck.ck-text-alternative-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		flex-wrap: wrap
}

		.ck.ck-text-alternative-form .ck-labeled-input {
			flex-basis: 100%;
		}

		.ck.ck-text-alternative-form .ck-button {
			flex-basis: 50%;
		}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/textalternativeform.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-text-alternative-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-text-alternative-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

.ck.ck-text-alternative-form > :not(:first-child) {
		margin-left: var(--ck-spacing-standard);
	}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-text-alternative-form .ck-labeled-input {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-text-alternative-form .ck-labeled-input .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-text-alternative-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);
			margin-left: 0;

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

			.ck.ck-text-alternative-form .ck-button:first-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	/* Make sure the balloon arrow does not float over its children. */
	--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);
}

.ck.ck-balloon-panel {
	display: none;
	position: absolute;

	z-index: var(--ck-z-modal)
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			content: "";
			position: absolute;
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel.ck-balloon-panel_visible {
		display: block;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-balloon-arrow-offset: 2px;
	--ck-balloon-arrow-height: 10px;
	--ck-balloon-arrow-half-width: 8px;
}

.ck.ck-balloon-panel {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-balloon-panel, .ck.ck-balloon-panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-balloon-panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: 1px solid var(--ck-color-panel-border)
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			width: 0;
			height: 0;
			border-style: solid;
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before,
		.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			border-color: transparent transparent var(--ck-color-panel-border) transparent;
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-color: transparent transparent var(--ck-color-panel-background) transparent;
			margin-top: var(--ck-balloon-arrow-offset);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before,
		.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			border-color: var(--ck-color-panel-border) transparent  transparent;
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-color: var(--ck-color-panel-background) transparent transparent transparent;
			margin-bottom: var(--ck-balloon-arrow-offset);
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/image.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-content .image {
	clear: both;
	text-align: center;

	/* Make sure there is some space between the content and the image. */
	margin: 1em 0
}

.ck-content .image > img {
		/* Prevent unnecessary margins caused by line-height (see #44). */
		display: block;

		/* Center the image if its width is smaller than the content's width. */
		margin: 0 auto;

		/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */
		max-width: 100%;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/* Infinite progress bar default width. */

:root {
	--ck-image-upload-progress-line-width: 30px;
}

.ck-content .image {
	position: relative;
	overflow: hidden

	/* Upload progress bar. */
}

.ck-content .image .ck-progress-bar {
		position: absolute;
		top: 0;
		left: 0;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/* Infinite progress bar default width. */

:root {
	--ck-image-upload-progress-line-width: 30px;
}

.ck-content .image {
	/* Showing animation. */
}

.ck-content .image.ck-appear {
		animation: fadeIn 700ms;
	}

.ck-content .image {

	/* Upload progress bar. */
}

.ck-content .image .ck-progress-bar {
		height: 2px;
		width: 0;
		background: var(--ck-color-upload-bar-background);
		transition: width 100ms;
	}

@keyframes fadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-image-upload-complete-icon {
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	border-radius: 50%
}

.ck-image-upload-complete-icon::after {
		content: "";
		position: absolute;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-color-image-upload-icon: hsl(0, 0%, 100%);
	--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);

	--ck-image-upload-icon-size: 20px;
	--ck-image-upload-icon-width: 2px;
}

.ck-image-upload-complete-icon {
	width: var(--ck-image-upload-icon-size);
	height: var(--ck-image-upload-icon-size);
	opacity: 0;
	background: var(--ck-color-image-upload-icon-background);
	animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;
	animation-fill-mode: forwards, forwards;
	animation-duration: 500ms, 500ms;

	/* To make animation scalable. */
	font-size: var(--ck-image-upload-icon-size);

	/* Hide completed upload icon after 3 seconds. */
	animation-delay: 0ms, 3000ms

	/* This is check icon element made from border-width mixed with animations. */
}

.ck-image-upload-complete-icon::after {
		/* Because of border transformation we need to "hard code" left position. */
		left: 25%;

		top: 50%;
		opacity: 0;
		height: 0;
		width: 0;

		transform: scaleX(-1) rotate(135deg);
		transform-origin: left top;
		border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
		border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);

		animation-name: ck-upload-complete-icon-check;
		animation-duration: 500ms;
		animation-delay: 500ms;
		animation-fill-mode: forwards;

		/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */
		box-sizing: border-box;
	}

@keyframes ck-upload-complete-icon-show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes ck-upload-complete-icon-hide {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes ck-upload-complete-icon-check {
	0% {
		opacity: 1;
		width: 0;
		height: 0;
	}
	33% {
		width: 0.3em;
		height: 0;
	}
	100% {
		opacity: 1;
		width: 0.3em;
		height: 0.45em;
	}
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck .ck-upload-placeholder-loader {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0
}

.ck .ck-upload-placeholder-loader::before {
		content: '';
		position: relative;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);
	--ck-upload-placeholder-loader-size: 32px;
}

.ck .ck-image-upload-placeholder {
	/* We need to control the full width of the SVG gray background. */
	width: 100%;
	margin: 0;
}

.ck .ck-upload-placeholder-loader {
	width: 100%;
	height: 100%
}

.ck .ck-upload-placeholder-loader::before {
		width: var(--ck-upload-placeholder-loader-size);
		height: var(--ck-upload-placeholder-loader-size);
		border-radius: 50%;
		border-top: 3px solid var(--ck-color-upload-placeholder-loader);
		border-right: 2px solid transparent;
		animation: ck-upload-placeholder-loader 1s linear infinite;
	}

@keyframes ck-upload-placeholder-loader {
	to {
		transform: rotate( 360deg );
	}
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-dropdown {
	display: inline-block;
	position: relative
}

.ck.ck-dropdown .ck-dropdown__arrow {
		pointer-events: none;
		z-index: var(--ck-z-default);
	}

.ck.ck-dropdown {

	/* Dropdown button should span horizontally, e.g. in vertical toolbars */
}

.ck.ck-dropdown .ck-button.ck-dropdown__button {
		width: 100%

		/* Disable main button's tooltip when the dropdown is open. Otherwise the panel may
		partially cover the tooltip */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip {
		display: none;
	}

.ck.ck-dropdown .ck-dropdown__panel {
		/* This is to get rid of flickering when the tooltip is shown under the panel,
		which looks like the panel moves vertically a pixel down and up. */
		-webkit-backface-visibility: hidden;

		display: none;
		z-index: var(--ck-z-modal);

		position: absolute
	}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible {
			display: inline-block;

			/* This will prevent blurry icons in dropdown on Firefox. See #340. */
			will-change: transform;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw {
			bottom: 100%;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			transform: translate3d( 0, 100%, 0 );
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se {
			left: 0px;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			right: 0px;
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));
}

.ck.ck-dropdown {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit
}

.ck.ck-dropdown .ck-dropdown__arrow {
		right: var(--ck-spacing-standard);
		width: var(--ck-dropdown-arrow-size);

		/* A space to accommodate the triangle. */
		margin-left: var(--ck-spacing-small);
	}

.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow {
		opacity: var(--ck-disabled-opacity);
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
			/* Make sure dropdowns with just an icon have the right inner spacing */
			padding-left: var(--ck-spacing-small);
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* https://github.com/ckeditor/ckeditor5/issues/816 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* #23 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label {
			width: 7em;
			overflow: hidden;
			text-overflow: ellipsis;
		}

.ck.ck-dropdown__panel {
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-dropdown__panel, .ck.ck-dropdown__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
}

.ck.ck-dropdown__panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	/* Disabled radius of top-left border to be consistent with .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-dropdown__panel, .ck.ck-dropdown__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
}

.ck.ck-dropdown__panel {

	background: var(--ck-color-dropdown-panel-background);
	border: 1px solid var(--ck-color-dropdown-panel-border);
	bottom: 0;

	/* Make sure the panel is at least as wide as the drop-down's button. */
	min-width: 100%;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Makes element unselectable.
 */

.ck.ck-list {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-direction: column
}

.ck.ck-list .ck-list__item,
	.ck.ck-list .ck-list__separator {
		display: block;
	}

.ck.ck-list {

	/* Make sure that whatever child of the list item gets focus, it remains on the
	top. Thanks to that, styles like box-shadow, outline, etc. are not masked by
	adjacent list items. */
}

.ck.ck-list .ck-list__item > *:focus {
		position: relative;
		z-index: var(--ck-z-default);
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck.ck-list {
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-list, .ck.ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
}

.ck.ck-list {

	list-style-type: none;
	background: var(--ck-color-list-background);
}

.ck.ck-list__item {
	cursor: default;
	min-width: 12em
}

.ck.ck-list__item .ck-button {
		min-height: unset;
		width: 100%;
		text-align: left;
		border-radius: 0;
		border: 0;

		/* List items should have the same height. Use absolute units to make sure it is so
		   because e.g. different heading styles may have different height
		   https://github.com/ckeditor/ckeditor5-heading/issues/63 */
		padding:
			calc(.2*var(--ck-line-height-base)*var(--ck-font-size-base))
			calc(.4*var(--ck-line-height-base)*var(--ck-font-size-base))
	}

.ck.ck-list__item .ck-button .ck-button__label {
			/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */
			line-height: calc(1.2*var(--ck-line-height-base)*var(--ck-font-size-base));
		}

.ck.ck-list__item .ck-button:active {
			box-shadow: none;
		}

.ck.ck-list__item .ck-button.ck-on {
			background: var(--ck-color-list-button-on-background);
			color: var(--ck-color-list-button-on-text)
		}

.ck.ck-list__item .ck-button.ck-on:hover:not(ck-disabled) {
				background: var(--ck-color-list-button-on-background-focus);
			}

.ck.ck-list__item .ck-button.ck-on:active {
				box-shadow: none;
			}

.ck.ck-list__item .ck-button:hover:not(.ck-disabled) {
			background: var(--ck-color-list-button-hover-background);
		}

.ck.ck-list__item {

	/* It's unnecessary to change the background/text of a switch toggle; it has different ways
	of conveying its state (like the switcher) */
}

.ck.ck-list__item .ck-switchbutton.ck-on {
			background: var(--ck-color-list-background);
			color: inherit
		}

.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(ck-disabled) {
				background: var(--ck-color-list-button-hover-background);
				color: inherit;
			}

.ck.ck-list__separator {
	height: 1px;
	width: 100%;
	background: var(--ck-color-base-border);
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		display: block
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			display: block;
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature
of the component, floating–point numbers have been used which, for the default font size
(see: --ck-font-size-base), will generate simple integers. */

:root {
	/* 34px at 13px font-size */
	--ck-switch-button-toggle-width: 2.6153846154em;
	/* 14px at 13px font-size */
	--ck-switch-button-toggle-inner-size: 1.0769230769em;
	--ck-switch-button-toggle-spacing: 1px;
}

.ck.ck-button.ck-switchbutton .ck-button__label {
		/* Separate the label from the switch */
		margin-right: calc(2*var(--ck-spacing-large));
	}

.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle {
		opacity: var(--ck-disabled-opacity);
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle, .ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle {

		/* Make sure the toggle is always to the right as far as possible. */
		margin-left: auto;

		/* Gently animate the background color of the toggle switch */
		transition: background 400ms ease;

		width: var(--ck-switch-button-toggle-width);
		background: var(--ck-color-switch-button-off-background)
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner, .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: calc(.5*var(--ck-border-radius));
		}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {

			/* Leave some tiny bit of space around the inner part of the switch */
			margin: var(--ck-switch-button-toggle-spacing);
			width: var(--ck-switch-button-toggle-inner-size);
			height: var(--ck-switch-button-toggle-inner-size);
			background: var(--ck-color-switch-button-inner-background);

			/* Gently animate the inner part of the toggle switch */
			transition: transform 300ms ease;
		}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle {
		background: var(--ck-color-switch-button-on-background)
	}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
			/*
			 * Move the toggle switch to the right. It will be animated.
			 *
			 * Edge is not supporting calc() in the transitions and animations, we need to hardcode this value (see ckeditor5-ui#433).
			 * It boils down to:
			 *
			 * 	calc(
			 * 		var(--ck-switch-button-toggle-width) -
			 * 		var(--ck-switch-button-toggle-inner-size) -
			 * 		2*var(--ck-switch-button-toggle-spacing) )
			 * 	)
			 */
			transform: translateX( 1.3846153847em );
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-toolbar-dropdown .ck-toolbar {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus {
			z-index: calc(var(--ck-z-default) + 1);
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-toolbar-dropdown .ck-toolbar {
	border: 0;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/listdropdown.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-dropdown .ck-dropdown__panel .ck-list {
	/* Disabled radius of top-left border to be consistent with .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
	border-radius: 0
}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list, .ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0
}

.ck.ck-dropdown .ck-dropdown__panel .ck-list {

	/* Make sure the button belonging to the first/last child of the list goes well with the
	border radius of the entire panel. */
}

.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button {
			border-radius: 0
		}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button, .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0
		}

.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button {
			border-radius: 0
		}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button, .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-top-right-radius: 0
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-heading/theme/heading.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-heading_heading1 {
	font-size: 20px;
}

.ck.ck-heading_heading2 {
	font-size: 17px;
}

.ck.ck-heading_heading3 {
	font-size: 14px;
}

.ck[class*="ck-heading_heading"] {
	font-weight: bold;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/* Resize dropdown's button label. */

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label {
		width: 8em;
	}

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item {
		min-width: 18em;
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/* See ckeditor/ckeditor5#936. */

.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		 content: attr(data-placeholder);

		 /* See ckeditor/ckeditor5#469. */
		 pointer-events: none;
	 }

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/* See ckeditor/ckeditor5#936. */

.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		cursor: text;
		color: var(--ck-color-engine-placeholder-text);
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-content .image > figcaption {
	color: hsl(0, 0%, 20%);
	background-color: hsl(0, 0%, 97%);
	padding: .6em;
	font-size: .75em;
	outline-offset: -1px;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-image-style-spacing: 1.5em;
}

.ck-content .image-style-side,
	.ck-content .image-style-align-left,
	.ck-content .image-style-align-center,
	.ck-content .image-style-align-right {
		max-width: 50%;
	}

.ck-content .image-style-side {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

.ck-content .image-style-align-left {
		float: left;
		margin-right: var(--ck-image-style-spacing);
	}

.ck-content .image-style-align-center {
		margin-left: auto;
		margin-right: auto;
	}

.ck-content .image-style-align-right {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-link/theme/link.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/* Class added to span element surrounding currently selected link. */

.ck .ck-link_selected {
	background: var(--ck-color-link-selected-background);
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-link/theme/linkform.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-link-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-link-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		flex-wrap: wrap
}

		.ck.ck-link-form .ck-labeled-input {
			flex-basis: 100%;
		}

		.ck.ck-link-form .ck-button {
			flex-basis: 50%;
		}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-link-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-link-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

.ck.ck-link-form > :not(:first-child) {
		margin-left: var(--ck-spacing-standard);
	}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-link-form .ck-labeled-input {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-link-form .ck-labeled-input .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-link-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);
			margin-left: 0;

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

			.ck.ck-link-form .ck-button:first-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-link-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-link-actions .ck-link-actions__preview {
		display: inline-block
	}

.ck.ck-link-actions .ck-link-actions__preview .ck-button__label {
			overflow: hidden;
		}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		flex-wrap: wrap
}

		.ck.ck-link-actions .ck-link-actions__preview {
			flex-basis: 100%;
		}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			flex-basis: 50%;
		}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Makes element unselectable.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-link-actions {
	padding: var(--ck-spacing-standard)
}

.ck.ck-link-actions .ck-button.ck-link-actions__preview {
		padding-left: 0;
		padding-right: 0
	}

.ck.ck-link-actions .ck-button.ck-link-actions__preview,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			background: none;
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			box-shadow: none;
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label {
				text-decoration: underline;
			}

.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
			padding: 0 var(--ck-spacing-medium);
			color: var(--ck-color-link-default);
			text-overflow: ellipsis;
			cursor: pointer;

			/* Match the box model of the link editor form's input so the balloon
			does not change width when moving between actions and the form. */
			max-width: var(--ck-input-text-width);
			min-width: 3em;
			text-align: center
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover {
				text-decoration: underline;
			}

.ck.ck-link-actions:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
		margin-left: var(--ck-spacing-standard);
	}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-link-actions .ck-button.ck-link-actions__preview {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
				min-width: 0;
				max-width: 100%;
			}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);
			margin-left: 0;

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

			.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck-media__wrapper .ck-media__placeholder {
		display: flex;
		flex-direction: column;
		align-items: center
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip {
		display: block

		/*
		 * Don't display tooltips in devices which don't support :hover.
		 * In fact, it's all about iOS, which forces user to click UI elements twice to execute
		 * the primary action, when tooltips are enabled.
		 *
		 * Q: OK, but why not the following query?
		 *
		 *   @media (hover) {
		 *       display: block;
		 *   }
		 *
		 * A: Because FF does not support it and it would completely disable tooltips
		 * in that browser.
		 *
		 * More in https://github.com/ckeditor/ckeditor5/issues/920.
		 */
	}

@media (hover:none) {

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip {
			display: none
	}
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url {

			/* Otherwise the URL will overflow when the content is very narrow. */
			max-width: 100%;

			position: relative
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip {
		visibility: visible;
		opacity: 1;
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text {
				overflow: hidden;
				display: block;
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon * {
			display: none;
		}

/* Disable all mouse interaction as long as the editor is not read–only.
   https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */

*[contenteditable=true] .ck-media__wrapper > *:not(.ck-media__placeholder) {
	pointer-events: none;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-media-embed-placeholder-icon-size: 3em;

	--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);
	--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);
}

.ck-media__wrapper {
	margin: 0 auto
}

.ck-media__wrapper .ck-media__placeholder {
		padding: calc( 3 * var(--ck-spacing-standard) );
		background: var(--ck-color-base-foreground)
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon {
			min-width: var(--ck-media-embed-placeholder-icon-size);
			height: var(--ck-media-embed-placeholder-icon-size);
			margin-bottom: var(--ck-spacing-large);
			background-position: center;
			background-size: cover
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon {
				width: 100%;
				height: 100%;
			}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text {
				color: var(--ck-color-media-embed-placeholder-url-text);
				white-space: nowrap;
				text-align: center;
				font-style: italic;
				text-overflow: ellipsis
			}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text:hover {
					color: var(--ck-color-media-embed-placeholder-url-text-hover);
					cursor: pointer;
					text-decoration: underline;
				}

.ck-media__wrapper[data-oembed-url*="open.spotify.com"] {
		max-width: 300px;
		max-height: 380px;
	}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {
			/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */
			background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) )
		}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon {
				background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text {
				color: hsl(201, 100%, 86%)
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover {
					color: hsl(0, 0%, 100%);
				}

.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);
		}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder {
			background: hsl(220, 46%, 48%)
		}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon {
				background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
			}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
				color: hsl(220, 100%, 90%)
			}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
					color: hsl(0, 0%, 100%);
				}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder {
			background: linear-gradient(-135deg,#1400c8,#b900b4,#f50000)
		}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon {
				background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);
			}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
				color: hsl(302, 100%, 94%)
			}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
					color: hsl(0, 0%, 100%);
				}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-media-form {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-media-form .ck-labeled-input {
		display: inline-block;
	}

.ck.ck-media-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		flex-wrap: wrap
}

		.ck.ck-media-form .ck-labeled-input {
			flex-basis: 100%;
		}

		.ck.ck-media-form .ck-button {
			flex-basis: 50%;
		}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaform.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck.ck-media-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-media-form:focus {
		outline: none;
	}

.ck.ck-media-form > :not(:first-child) {
		margin-left: var(--ck-spacing-standard);
	}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-media-form .ck-labeled-input {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-media-form .ck-labeled-input .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-media-form .ck-labeled-input {

			/* Let the long error messages wrap in the narrow form. */
		}
			.ck.ck-media-form .ck-labeled-input .ck-labeled-input__error {
				white-space: normal;
			}

		.ck.ck-media-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);
			margin-left: 0;

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

			.ck.ck-media-form .ck-button:first-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}
	}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-content .media {
	/* Don't allow floated content overlap the media.
	https://github.com/ckeditor/ckeditor5-media-embed/issues/53 */
	clear: both;

	/* Make sure there is some space between the content and the media. */
	margin: 1em 0;
}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-table/theme/tableediting.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-color-table-focused-cell-background: hsl(208, 90%, 98%);
}

.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused, .ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused {
			/* A very slight background to highlight the focused cell */
			background: var(--ck-color-table-focused-cell-background);

			/* Fixes the problem where surrounding cells cover the focused cell's border.
			It does not fix the problem in all places but the UX is improved.
			See https://github.com/ckeditor/ckeditor5-table/issues/29. */
			border-style: none;
			outline: 1px solid var(--ck-color-focus-border);
			outline-offset: -1px; /* progressive enhancement - no IE support */
		}

/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

:root {
	--ck-insert-table-dropdown-padding: 10px;
	--ck-insert-table-dropdown-box-height: 11px;
	--ck-insert-table-dropdown-box-width: 12px;
	--ck-insert-table-dropdown-box-margin: 1px;
	--ck-insert-table-dropdown-box-border-color: hsl(0, 0%, 75%);
	--ck-insert-table-dropdown-box-border-active-color: hsl(208, 73%, 61%);
	--ck-insert-table-dropdown-box-active-background: hsl(208, 100%, 89%);
}

.ck .ck-insert-table-dropdown__grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */
	width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);
	padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;
}

.ck .ck-insert-table-dropdown__label {
	text-align: center;
}

.ck .ck-insert-table-dropdown-grid-box {
	width: var(--ck-insert-table-dropdown-box-width);
	height: var(--ck-insert-table-dropdown-box-height);
	margin: var(--ck-insert-table-dropdown-box-margin);
	border: 1px solid var(--ck-insert-table-dropdown-box-border-color);
	border-radius: 1px
}

.ck .ck-insert-table-dropdown-grid-box.ck-on {
		border-color: var(--ck-insert-table-dropdown-box-border-active-color);
		background: var(--ck-insert-table-dropdown-box-active-background);
	}


/* /var/www/dev.cloud.symcode.de/node_modules/@ckeditor/ckeditor5-table/theme/table.css */

/*
 * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md.
 */

.ck-content .table {
	/* Give the table widget some air and center it horizontally */
	margin: 1em auto;
	display: table
}

.ck-content .table table {
		/* The table cells should have slight borders */
		border-collapse: collapse;
		border-spacing: 0;

		/* The outer border of the table should be slightly darker than the inner lines.
		Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */
		border: 1px double hsl(0, 0%, 70%)
	}

.ck-content .table table td,
		.ck-content .table table th {
			min-width: 2em;
			padding: .4em;
			border-color: hsl(0, 0%, 85%);
		}

.ck-content .table table th {
			font-weight: bold;
			background: hsl(0, 0%, 98%);
		}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9nbG9iYWxzL2dsb2JhbHMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2dsb2JhbHMvX2hpZGRlbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvZ2xvYmFscy9fcmVzZXQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2dsb2JhbHMvX3ppbmRleC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvZ2xvYmFscy9nbG9iYWxzLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19jb2xvcnMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2dsb2JhbHMvX2Rpc2FibGVkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19mb2N1cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvZ2xvYmFscy9fZm9udHMuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2dsb2JhbHMvX3Jlc2V0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19yb3VuZGVkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9nbG9iYWxzL19zaGFkb3cuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2dsb2JhbHMvX3NwYWNpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvZWRpdG9ydWkvZWRpdG9ydWkuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZWRpdG9ydWkvZWRpdG9ydWkuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19yb3VuZGVkLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fZGlzYWJsZWQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19zaGFkb3cuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19mb2N1cy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvbWl4aW5zL19idXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbGFiZWwvbGFiZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvcGFuZWwvc3RpY2t5cGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvcGFuZWwvc3RpY2t5cGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX3Vuc2VsZWN0YWJsZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL3RoZW1lL2NsYXNzaWNlZGl0b3IuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2NsYXNzaWNlZGl0b3IuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvaWNvbi9pY29uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS11aS9jb21wb25lbnRzL2ljb24vaWNvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvdG9vbHRpcC90b29sdGlwLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvdG9vbHRpcC9taXhpbnMvX3Rvb2x0aXAuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtYmFzaWMtc3R5bGVzL3RoZW1lL2NvZGUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LWJsb2NrLXF1b3RlL3RoZW1lL2Jsb2NrcXVvdGUuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXdpZGdldC90aGVtZS93aWRnZXQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXdpZGdldC93aWRnZXQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvbGFiZWxlZGlucHV0L2xhYmVsZWRpbnB1dC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9sYWJlbGVkaW5wdXQvbGFiZWxlZGlucHV0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2lucHV0dGV4dC9pbnB1dHRleHQuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvaW5wdXR0ZXh0L2lucHV0dGV4dC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtaW1hZ2UvdGhlbWUvdGV4dGFsdGVybmF0aXZlZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9taXhpbnMvX3J3ZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtaW1hZ2UvdGV4dGFsdGVybmF0aXZlZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9wYW5lbC9iYWxsb29ucGFuZWwuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvcGFuZWwvYmFsbG9vbnBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtaW1hZ2UvdGhlbWUvaW1hZ2V1cGxvYWRwcm9ncmVzcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtaW1hZ2UvaW1hZ2V1cGxvYWRwcm9ncmVzcy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtaW1hZ2UvdGhlbWUvaW1hZ2V1cGxvYWRpY29uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1pbWFnZS9pbWFnZXVwbG9hZGljb24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LWltYWdlL3RoZW1lL2ltYWdldXBsb2FkbG9hZGVyLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS1pbWFnZS9pbWFnZXVwbG9hZGxvYWRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9saXN0L2xpc3QuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvbGlzdC9saXN0LmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2J1dHRvbi9zd2l0Y2hidXR0b24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvYnV0dG9uL3N3aXRjaGJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdWkvdGhlbWUvY29tcG9uZW50cy9kcm9wZG93bi90b29sYmFyZHJvcGRvd24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LXVpL2NvbXBvbmVudHMvZHJvcGRvd24vdG9vbGJhcmRyb3Bkb3duLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL2Ryb3Bkb3duL2xpc3Rkcm9wZG93bi5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtdWkvY29tcG9uZW50cy9kcm9wZG93bi9saXN0ZHJvcGRvd24uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LWhlYWRpbmcvdGhlbWUvaGVhZGluZy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtaGVhZGluZy9oZWFkaW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS1lbmdpbmUvdGhlbWUvcGxhY2Vob2xkZXIuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWVuZ2luZS9wbGFjZWhvbGRlci5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtaW1hZ2UvdGhlbWUvaW1hZ2VjYXB0aW9uLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS1pbWFnZS90aGVtZS9pbWFnZXN0eWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS1saW5rL3RoZW1lL2xpbmsuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LWxpbmsvbGluay5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtbGluay90aGVtZS9saW5rZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtbGluay9saW5rZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtbGluay90aGVtZS9saW5rYWN0aW9ucy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9ja2VkaXRvcjUtbGluay9saW5rYWN0aW9ucy5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvdGhlbWUvbWVkaWFlbWJlZGVkaXRpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LW1lZGlhLWVtYmVkL21lZGlhZW1iZWRlZGl0aW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC90aGVtZS9tZWRpYWZvcm0uY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvY2tlZGl0b3I1LW1lZGlhLWVtYmVkL21lZGlhZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvdGhlbWUvbWVkaWFlbWJlZC5jc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0Bja2VkaXRvci9ja2VkaXRvcjUtdGFibGUvdGhlbWUvdGFibGVlZGl0aW5nLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL2NrZWRpdG9yNS10YWJsZS90YWJsZWVkaXRpbmcuY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2tlZGl0b3IvY2tlZGl0b3I1LXRhYmxlL3RoZW1lL2luc2VydHRhYmxlLmNzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNrZWRpdG9yL2NrZWRpdG9yNS10YWJsZS90aGVtZS90YWJsZS5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FDQUE7OztHQUdHOztBQ0hIOzs7R0FHRzs7QUFFSDs7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Q0FDdEU7O0FBRUQ7Q0FDQyxjQUFjO0NBQ2Qsb0JBQW9CO0NBQ3BCLGdCQUFnQjtDQUNoQiw0RkFBNEY7Q0FDNUYsNEpBQTRKO0NBQzVKLDJGQUEyRjtDQUMzRjs7QUFFRDtDQUNDLG1CQUFtQjtDQUNuQjs7QUFFRDtDQUNDLGlEQUFpRDtDQUNqRCxtREFBbUQ7Q0FDbkQsbURBQW1EO0NBQ25ELG1FQUFtRTtDQUNuRSxrQkFBbUI7Q0FNbkI7O0FBSkE7RUFDQyxzRUFBc0U7RUFDdEUsa0VBQWtFO0VBQ2xFOzs7QXRGdENGOztBdUZBQTs7O0dBR0c7O0FBRUg7Q0FDQywrREFBK0Q7Q0FDL0QsaUJBQWlCO0NBQ2pCLGNBQWU7Q0F1QmY7O0FBckJBO0VBQ0MsZ0RBQWdEO0VBQ2hELDBCQUEwQjtFQUMxQixrQkFBa0I7O0VBRWxCO29FQUNrRTtFQUNsRSxrQ0FBbUM7RUFhbkM7O0FBWEE7O0dBRUMsZUFBZTtHQUNmLGNBQWM7R0FDZCw4QkFBOEI7R0FDOUI7O0FBRUQ7R0FDQyxrQkFBa0I7R0FDbEIsNEJBQTRCO0dBQzVCIiwiZmlsZSI6InZlbmRvcnN+YXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbbnVsbCwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuQGltcG9ydCBcIi4vX2hpZGRlbi5jc3NcIjtcbkBpbXBvcnQgXCIuL19yZXNldC5jc3NcIjtcbkBpbXBvcnQgXCIuL196aW5kZXguY3NzXCI7XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaGlkZXMgYW4gZWxlbWVudCBpbiBET00uXG4gKi9cbi5jay1oaWRkZW4ge1xuXHQvKiBPdmVycmlkZSBzZWxlY3RvciBzcGVjaWZpY2l0eS4gT3RoZXJ3aXNlLCBhbGwgZWxlbWVudHMgd2l0aCBzb21lIGRpc3BsYXlcblx0c3R5bGUgZGVmaW5lZCB3aWxsIG92ZXJyaWRlIHRoaXMgb25lLCB3aGljaCBpcyBub3QgYSBkZXNpcmVkIHJlc3VsdC4gKi9cblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLmNrLmNrLXJlc2V0LFxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay5jay1yZXNldF9hbGwgKiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stei1kZWZhdWx0OiAxO1xuXHQtLWNrLXotbW9kYWw6IGNhbGMoIHZhcigtLWNrLXotZGVmYXVsdCkgKyA5OTkgKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuL19jb2xvcnMuY3NzXCI7XG5AaW1wb3J0IFwiLi9fZGlzYWJsZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi9fZm9jdXMuY3NzXCI7XG5AaW1wb3J0IFwiLi9fZm9udHMuY3NzXCI7XG5AaW1wb3J0IFwiLi9fcmVzZXQuY3NzXCI7XG5AaW1wb3J0IFwiLi9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuL19zaGFkb3cuY3NzXCI7XG5AaW1wb3J0IFwiLi9fc3BhY2luZy5jc3NcIjtcbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDk4JSk7XG5cdC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCAxMDAlKTtcblx0LS1jay1jb2xvci1iYXNlLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA3NyUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYWN0aW9uOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTA0LCA0NCUsIDQ4JSk7XG5cdC0tY2stY29sb3ItYmFzZS1mb2N1czogXHRcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjA5LCA5MiUsIDcwJSk7XG5cdC0tY2stY29sb3ItYmFzZS10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgMjAlKTtcblx0LS1jay1jb2xvci1iYXNlLWFjdGl2ZTogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIwOCwgODglLCA1MiUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYWN0aXZlLWZvY3VzOlx0XHRcdFx0XHRcdFx0XHRoc2woMjA4LCA4OCUsIDQ3JSk7XG5cdC0tY2stY29sb3ItYmFzZS1lcnJvcjpcdFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxNSwgMTAwJSwgNDMlKTtcblxuXHQvKiAtLSBHZW5lcmljIGNvbG9ycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIwOCwgOTAlLCA2MiUpO1xuXHQtLWNrLWNvbG9yLWZvY3VzLXNoYWRvdzpcdFx0XHRcdFx0XHRcdFx0XHRoc2xhKDIwOSwgOTAlLCA3MiUsLjUpO1xuXHQtLWNrLWNvbG9yLWZvY3VzLWRpc2FibGVkLXNoYWRvdzpcdFx0XHRcdFx0XHRcdGhzbGEoMjA5LCA5MCUsIDcyJSwuMyk7XG5cdC0tY2stY29sb3ItZm9jdXMtZXJyb3Itc2hhZG93Olx0XHRcdFx0XHRcdFx0XHRoc2xhKDksMTAwJSw1NiUsLjMpO1xuXHQtLWNrLWNvbG9yLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHQtLWNrLWNvbG9yLXNoYWRvdy1kcm9wOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2xhKDAsIDAlLCAwJSwgMC4xNSk7XG5cdC0tY2stY29sb3Itc2hhZG93LWlubmVyOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2xhKDAsIDAlLCAwJSwgMC4xKTtcblxuXHQvKiAtLSBCdXR0b25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdHRyYW5zcGFyZW50O1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IFx0XHRcdFx0aHNsKDAsIDAlLCA5MCUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgwLCAwJSwgODUlKTtcblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1hY3RpdmUtc2hhZG93OiBcdFx0XHRcdFx0aHNsKDAsIDAlLCA3NSUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0dHJhbnNwYXJlbnQ7XG5cblx0LS1jay1jb2xvci1idXR0b24tb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDg3JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgNzclKTtcblx0LS1jay1jb2xvci1idXR0b24tb24tYWN0aXZlLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRoc2woMCwgMCUsIDczJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWFjdGl2ZS1zaGFkb3c6IFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgNjMlKTtcblx0LS1jay1jb2xvci1idXR0b24tb24tZGlzYWJsZWQtYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgwLCAwJSwgODclKTtcblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1hY3Rpb24pO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24taG92ZXItYmFja2dyb3VuZDogXHRcdFx0XHRcdGhzbCgxMDQsIDQ0JSwgNDMlKTtcblx0LS1jay1jb2xvci1idXR0b24tYWN0aW9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgxMDQsIDQ0JSwgNDElKTtcblx0LS1jay1jb2xvci1idXR0b24tYWN0aW9uLWFjdGl2ZS1zaGFkb3c6IFx0XHRcdFx0XHRoc2woMTA0LCA0NCUsIDM2JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgxMDQsIDQ0JSwgNTglKTtcblx0LS1jay1jb2xvci1idXR0b24tYWN0aW9uLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG5cdC0tY2stY29sb3ItYnV0dG9uLXNhdmU6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxMjAsIDEwMCUsIDI3JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWNhbmNlbDogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDE1LCAxMDAlLCA0MyUpO1xuXG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vZmYtYmFja2dyb3VuZDpcdFx0XHRcdFx0aHNsKDAsIDAlLCA2OSUpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb24tYmFja2dyb3VuZDpcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1idXR0b24tYWN0aW9uLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24taW5uZXItYmFja2dyb3VuZDpcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQvKiAtLSBEcm9wZG93biAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYm9yZGVyOiBcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHQvKiAtLSBJbnB1dCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWlucHV0LWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA3OCUpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWVycm9yLWJvcmRlcjpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG5cdC0tY2stY29sb3ItaW5wdXQtdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgOTUlKTtcblx0LS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA3OCUpO1xuXHQtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLXRleHQ6IFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCAzNiUpO1xuXG5cdC8qIC0tIExpc3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWFjdGl2ZSk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tYmFja2dyb3VuZC1mb2N1czogXHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWFjdGl2ZS1mb2N1cyk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tdGV4dDpcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQvKiAtLSBQYW5lbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2xiYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbGJhci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kKTtcblx0LS1jay1jb2xvci10b29sYmFyLWJvcmRlcjogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdC8qIC0tIFRvb2x0aXAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0LS1jay1jb2xvci10b29sdGlwLXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cblx0LyogLS0gRW5naW5lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1lbmdpbmUtcGxhY2Vob2xkZXItdGV4dDogXHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA3NiUpO1xuXG5cdC8qIC0tIFVwbG9hZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kOlx0XHQgXHRcdFx0XHRcdGhzbCgyMDksIDkyJSwgNzAlKTtcblx0LS1jay1jb2xvci11cGxvYWQtaW5maW5pdGUtYmFja2dyb3VuZDpcdFx0IFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gTGluayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItbGluay1kZWZhdWx0Olx0XHRcdFx0XHRcdFx0XHRcdGhzbCgyNDAsIDEwMCUsIDQ3JSk7XG5cdC0tY2stY29sb3ItbGluay1zZWxlY3RlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRoc2xhKDIwMSwgMTAwJSwgNTYlLCAwLjEpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQvKipcblx0ICogQW4gb3BhY2l0eSB2YWx1ZSBvZiBkaXNhYmxlZCBVSSBpdGVtLlxuXHQgKi9cblx0LS1jay1kaXNhYmxlZC1vcGFjaXR5OiAuNTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbjpyb290IHtcblx0LyoqXG5cdCAqIFRoZSBnZW9tZXRyeSBvZiB0aGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93LlxuXHQgKi9cblx0LS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnk6IDAgMCAwIDNweDtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93LlxuXHQgKi9cblx0LS1jay1mb2N1cy1vdXRlci1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdy1nZW9tZXRyeSkgdmFyKC0tY2stY29sb3ItZm9jdXMtc2hhZG93KTtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3Mgb3V0ZXIgc2hhZG93ICh3aGVuIGRpc2FibGVkKS5cblx0ICovXG5cdC0tY2stZm9jdXMtZGlzYWJsZWQtb3V0ZXItc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnkpIHZhcigtLWNrLWNvbG9yLWZvY3VzLWRpc2FibGVkLXNoYWRvdyk7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdyAod2hlbiBoYXMgZXJyb3JzKS5cblx0ICovXG5cdC0tY2stZm9jdXMtZXJyb3Itb3V0ZXItc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnkpIHZhcigtLWNrLWNvbG9yLWZvY3VzLWVycm9yLXNoYWRvdyk7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlciBvciBvdXRsaW5lLlxuXHQgKi9cblx0LS1jay1mb2N1cy1yaW5nOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbjpyb290IHtcblx0LS1jay1mb250LXNpemUtYmFzZTogMTNweDtcblx0LS1jay1saW5lLWhlaWdodC1iYXNlOiAxLjg0NjE1O1xuXHQtLWNrLWZvbnQtZmFjZTogSGVsdmV0aWNhLCBBcmlhbCwgVGFob21hLCBWZXJkYW5hLCBTYW5zLVNlcmlmO1xuXG5cdC0tY2stZm9udC1zaXplLXRpbnk6IDAuN2VtO1xuXHQtLWNrLWZvbnQtc2l6ZS1zbWFsbDogMC43NWVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1ub3JtYWw6IDFlbTtcblx0LS1jay1mb250LXNpemUtYmlnOiAxLjRlbTtcblx0LS1jay1mb250LXNpemUtbGFyZ2U6IDEuOGVtO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBUaGlzIGlzIHN1cGVyLWltcG9ydGFudC4gVGhpcyBpcyAqKm1hbnVhbGx5KiogYWRqdXN0ZWQgc28gYSBidXR0b24gd2l0aG91dCBhbiBpY29uXG5cdGlzIG5ldmVyIHNtYWxsZXIgdGhhbiBhIGJ1dHRvbiB3aXRoIGljb24sIGFkZGl0aW9uYWxseSBtYWtpbmcgc3VyZSB0aGF0IHRleHQtbGVzcyBidXR0b25zXG5cdGFyZSBwZXJmZWN0IHNxdWFyZXMuIFRoZSB2YWx1ZSBpcyBhbHNvIHNoYXJlZCBieSBvdGhlciBjb21wb25lbnRzIHdoaWNoIHNob3VsZCBzdGF5IFwiaW4tbGluZVwiXG5cdHdpdGggYnV0dG9ucy4gKi9cblx0LS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodDogMi4zZW07XG59XG5cbi8qKlxuICogUmVzZXRzIGFuIGVsZW1lbnQsIGlnbm9yaW5nIGl0cyBjaGlsZHJlbi5cbiAqL1xuLmNrLmNrLXJlc2V0LFxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay5jay1yZXNldF9hbGwgKiB7XG5cdC8qIERvIG5vdCBpbmNsdWRlIGluaGVyaXRhYmxlIHJ1bGVzIGhlcmUuICovXG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR0cmFuc2l0aW9uOiBub25lO1xuXG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTA1ICovXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLyoqXG4gKiBSZXNldHMgYW4gZWxlbWVudCBBTkQgaXRzIGNoaWxkcmVuLlxuICovXG4uY2suY2stcmVzZXRfYWxsLFxuLmNrLmNrLXJlc2V0X2FsbCAqIHtcblx0LyogVGhlc2UgYXJlIHJ1bGUgaW5oZXJpdGVkIGJ5IGFsbCBjaGlsZHJlbiBlbGVtZW50cy4gKi9cblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Zm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgdmFyKC0tY2stZm9udC1zaXplLWJhc2UpL3ZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpIHZhcigtLWNrLWZvbnQtZmFjZSk7XG5cdGNvbG9yOiB2YXIoLS1jay1jb2xvci10ZXh0KTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBhdXRvO1xuXHRmbG9hdDogbm9uZTtcbn1cblxuLmNrLmNrLXJlc2V0X2FsbCB7XG5cdCYgLmNrLXJ0bCAqIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdCYgaWZyYW1lIHtcblx0XHQvKiBGb3IgSUUgKi9cblx0XHR2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcblx0fVxuXG5cdCYgdGV4dGFyZWEge1xuXHRcdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0fVxuXG5cdCYgdGV4dGFyZWEsXG5cdCYgaW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdCYgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdH1cblxuXHQmIHRleHRhcmVhW2Rpc2FibGVkXSxcblx0JiBpbnB1dFt0eXBlPVwidGV4dFwiXVtkaXNhYmxlZF0sXG5cdCYgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdW2Rpc2FibGVkXSB7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG5cblx0JiBmaWVsZHNldCB7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRib3JkZXI6IDJweCBncm9vdmUgaHNsKDI1NSwgNyUsIDg4JSk7XG5cdH1cblxuXHQmIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0LyogU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTUxNzc0NC9yZW1vdmUtZXh0cmEtYnV0dG9uLXNwYWNpbmctcGFkZGluZy1pbi1maXJlZm94ICovXG5cdCAgICBwYWRkaW5nOiAwO1xuXHQgICAgYm9yZGVyOiAwXG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qKlxuICogRGVmYXVsdCBib3JkZXItcmFkaXVzIHZhbHVlLlxuICovXG46cm9vdHtcblx0LS1jay1ib3JkZXItcmFkaXVzOiAycHg7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG46cm9vdCB7XG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBlbGVtZW50J3MgaW5uZXIgc2hhZG93IChpLmUuIGlucHV0KS5cblx0ICovXG5cdC0tY2staW5uZXItc2hhZG93OiAycHggMnB4IDNweCB2YXIoLS1jay1jb2xvci1zaGFkb3ctaW5uZXIpIGluc2V0O1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBlbGVtZW50J3MgZHJvcCBzaGFkb3cgKGkuZS4gcGFuZWwpLlxuXHQgKi9cblx0LS1jay1kcm9wLXNoYWRvdzogMCAxcHggMnB4IDFweCB2YXIoLS1jay1jb2xvci1zaGFkb3ctZHJvcCk7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stc3BhY2luZy11bml0OiBcdFx0XHRcdFx0XHQwLjZlbTtcblx0LS1jay1zcGFjaW5nLWxhcmdlOiBcdFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMS41KTtcblx0LS1jay1zcGFjaW5nLXN0YW5kYXJkOiBcdFx0XHRcdFx0dmFyKC0tY2stc3BhY2luZy11bml0KTtcblx0LS1jay1zcGFjaW5nLW1lZGl1bTogXHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDAuOCk7XG5cdC0tY2stc3BhY2luZy1zbWFsbDogXHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDAuNSk7XG5cdC0tY2stc3BhY2luZy10aW55OiBcdFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjMpO1xuXHQtLWNrLXNwYWNpbmctZXh0cmEtdGlueTogXHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjE2KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19kaXNhYmxlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX2ZvY3VzLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9fYnV0dG9uLmNzc1wiO1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKSB7XG5cdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnM7XG5cblx0Ji5jay1mb2N1c2VkIHtcblx0XHRAbWl4aW4gY2stZm9jdXMtcmluZztcblx0XHRAbWl4aW4gY2stYm94LXNoYWRvdyB2YXIoLS1jay1pbm5lci1zaGFkb3cpO1xuXHR9XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSB7XG5cdG92ZXJmbG93OiBhdXRvO1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzExNiAqL1xuXHQmID4gKjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84NDcgKi9cblx0JiA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1sYXJnZSk7XG5cdH1cbn1cblxuLyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMTEgKi9cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXRvb2xiYXItY29udGFpbmVyW2NsYXNzKj1cImFycm93X25cIl0ge1xuXHQmOjphZnRlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kKTtcblx0fVxufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay10b29sYmFyLWNvbnRhaW5lcltjbGFzcyo9XCJhcnJvd19zXCJdIHtcblx0Jjo6YWZ0ZXIge1xuXHRcdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZCk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5AZGVmaW5lLW1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0QG5lc3QgLmNrLXJvdW5kZWQtY29ybmVycyAmLFxuXHQmLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0QG1peGluLWNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBpbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IGhvbGRpbmcgaXQgaXMgZGlzYWJsZWQuXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stZGlzYWJsZWQge1xuXHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5AZGVmaW5lLW1peGluIGNrLWJveC1zaGFkb3cgJHNoYWRvd0EsICRzaGFkb3dCOiAwIDAge1xuXHRib3gtc2hhZG93OiAkc2hhZG93QSwgJHNoYWRvd0I7XG59XG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuQGRlZmluZS1taXhpbiBjay1kcm9wLXNoYWRvdyB7XG5cdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWRyb3Atc2hhZG93KTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qKlxuICogQSB2aXN1YWwgc3R5bGUgb2YgZm9jdXNlZCBlbGVtZW50J3MgYm9yZGVyLlxuICovXG5AZGVmaW5lLW1peGluIGNrLWZvY3VzLXJpbmcge1xuXHQvKiBEaXNhYmxlIG5hdGl2ZSBvdXRsaW5lLiAqL1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpXG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSBidXR0b24gb2YgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJvcmRlciAtIEJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICovXG5AZGVmaW5lLW1peGluIGNrLWJ1dHRvbi1jb2xvcnMgJHByZWZpeCB7XG5cdGJhY2tncm91bmQ6IHZhcigkKHByZWZpeCktYmFja2dyb3VuZCk7XG5cblx0Jjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoJChwcmVmaXgpLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigkKHByZWZpeCktYWN0aXZlLWJhY2tncm91bmQpO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IHZhcigkKHByZWZpeCktYWN0aXZlLXNoYWRvdyk7XG5cdFx0fVxuXHR9XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xuXHQmLmNrLWRpc2FibGVkIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoJChwcmVmaXgpLWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2suY2stbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmNrLmNrLXZvaWNlLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay5jay1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLmNrLmNrLXN0aWNreS1wYW5lbCB7XG5cdCYgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3kge1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotbW9kYWwpOyAvKiAjMzE1ICovXG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0fVxuXG5cdCYgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3lfYm90dG9tLWxpbWl0IHtcblx0XHR0b3A6IGF1dG87XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbi5jay5jay1zdGlja3ktcGFuZWwge1xuXHQmIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IHtcblx0XHRAbWl4aW4gY2stZHJvcC1zaGFkb3c7XG5cblx0XHRib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL191bnNlbGVjdGFibGUuY3NzXCI7XG5cbi5jay5jay10b29sYmFyIHtcblx0QG1peGluIGNrLXVuc2VsZWN0YWJsZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdCYuY2stdG9vbGJhcl92ZXJ0aWNhbCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG5cdCYuY2stdG9vbGJhcl9mbG9hdGluZyB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cbn1cblxuLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNrLmNrLXRvb2xiYXJfX25ld2xpbmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKipcbiAqIE1ha2VzIGVsZW1lbnQgdW5zZWxlY3RhYmxlLlxuICovXG5AZGVmaW5lLW1peGluIGNrLXVuc2VsZWN0YWJsZSB7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmVcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5cbi5jay5jay10b29sYmFyIHtcblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycztcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJhY2tncm91bmQpO1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG5cblx0JiA+ICoge1xuXHRcdC8qICgjMTEpIFNlcGFyYXRlIHRvb2xiYXIgaXRlbXMuICovXG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblxuXHRcdC8qIE1ha2Ugc3VyZSBpdGVtcyB3cmFwcGVkIHRvIHRoZSBuZXh0IGxpbmUgaGF2ZSB2LXNwYWNpbmcgKi9cblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5cdCYuY2stdG9vbGJhcl92ZXJ0aWNhbCB7XG5cdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNwYW4gdGhlIGVudGlyZSB3aWR0aC4gKi9cblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0JiA+ICoge1xuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNob3VsZCBzcGFuIHRoZSBob3Jpem9udGFsIHNwYWNlLiAqL1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzaG91bGQgaGF2ZSBubyBtYXJnaW4uICovXG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzcGFuIHRoZSBlbnRpcmUgd2lkdGggc28gcm91bmRlZCBjb3JuZXJzIGFyZSBwb2ludGxlc3MuICovXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc3BhbiB0aGUgZW50aXJlIHdpZHRoIHNvIGFueSBib3JkZXIgaXMgcG9pbnRsZXNzLiAqL1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdH1cblx0fVxuXG5cdCYgPiAqOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5cdEBuZXN0IC5jay10b29sYmFyLWNvbnRhaW5lciAmIHtcblx0XHRib3JkZXI6IDA7XG5cdH1cbn1cblxuLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciB7XG5cdGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5cdHdpZHRoOiAxcHg7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyKTtcbn1cblxuLmNrLmNrLXRvb2xiYXJfX25ld2xpbmUge1xuXHRtYXJnaW46IDA7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2suY2stZWRpdG9yIHtcblx0LyogQWxsIHRoZSBlbGVtZW50cyB3aXRoaW4gYC5jay1lZGl0b3JgIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlbHkgdG8gaXQuXG5cdCBJZiBhbnkgZWxlbWVudCBuZWVkcyB0byBiZSBwb3NpdGlvbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgPGJvZHk+LCBldGMuLFxuXHQgaXQgbXVzdCBsYW5kIG91dHNpZGUgb2YgdGhlIGAuY2stZWRpdG9yYCBpbiBET00uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmIC5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2lzc3Vlcy82MiAqL1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotbW9kYWwpO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG4uY2suY2stZWRpdG9yX190b3Age1xuXHQmIC5jay1zdGlja3ktcGFuZWwge1xuXHRcdCYgLmNrLXRvb2xiYXIge1xuXHRcdFx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuXHRcdH1cblxuXHRcdCYgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3kgLmNrLXRvb2xiYXIge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXG5cdFx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyogTm90ZTogVXNlIGNrLWVkaXRvcl9fbWFpbiB0byBtYWtlIHN1cmUgdGhlc2Ugc3R5bGVzIGRvbid0IGFwcGx5IHRvIG90aGVyIGVkaXRvciB0eXBlcyAqL1xuLmNrLmNrLWVkaXRvcl9fbWFpbiA+IC5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMTMgKi9cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG5cblx0Jjpub3QoLmNrLWZvY3VzZWQpIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLmNrLmNrLWljb24ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWljb24tc2l6ZTogY2FsYyh2YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSAqIHZhcigtLWNrLWZvbnQtc2l6ZS1ub3JtYWwpKTtcbn1cblxuLmNrLmNrLWljb24ge1xuXHR3aWR0aDogdmFyKC0tY2staWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay1pY29uLXNpemUpO1xuXG5cdC8qIE11bHRpcGxpZWQgYnkgdGhlIGhlaWdodCBvZiB0aGUgbGluZSBpbiBcInB4XCIgc2hvdWxkIGdpdmUgU1ZHIFwidmlld3BvcnRcIiBkaW1lbnNpb25zICovXG5cdGZvbnQtc2l6ZTogLjgzMzMzNTA2OTRlbTtcblxuXHRjb2xvcjogaW5oZXJpdDtcblxuXHQvKiBJbmhlcml0IGN1cnNvciBzdHlsZSAoIzUpLiAqL1xuXHRjdXJzb3I6IGluaGVyaXQ7XG5cblx0LyogVGhpcyB3aWxsIHByZXZlbnQgYmx1cnJ5IGljb25zIG9uIEZpcmVmb3guIFNlZSAjMzQwLiAqL1xuXHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG5cdCYgKiB7XG5cdFx0LyogSW5oZXJpdCBjdXJzb3Igc3R5bGUgKCM1KS4gKi9cblx0XHRjdXJzb3I6IGluaGVyaXQ7XG5cblx0XHQvKiBBbGxvd3MgZHluYW1pYyBjb2xvcmluZyBvZiB0aGUgaWNvbnMuICovXG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHQmOm5vdChbZmlsbF0pIHtcblx0XHRcdFx0LyogTmVlZGVkIGJ5IEZGLiAqL1xuXHRcdFx0XHRmaWxsOiBjdXJyZW50Q29sb3I7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2suY2stdG9vbHRpcCxcbi5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0OjphZnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQvKiBXaXRob3V0IHRoaXMsIGhvdmVyaW5nIHRoZSB0b29sdGlwIGNvdWxkIGtlZXAgaXQgdmlzaWJsZS4gKi9cblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LyogVGhpcyBpcyB0byBnZXQgcmlkIG9mIGZsaWNrZXJpbmcgd2hlbiB0cmFuc2l0aW9uaW5nIG9wYWNpdHkgaW4gQ2hyb21lLlxuXHRJdCdzIHdlaXJkIGJ1dCBpdCB3b3Jrcy4gKi9cblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jay10b29sdGlwIHtcblx0LyogVG9vbHRpcCBpcyBoaWRkZW4gYnkgZGVmYXVsdC4gKi9cblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRvcGFjaXR5OiAwO1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKTtcblxuXHQmIC5jay10b29sdGlwX190ZXh0IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuXG46cm9vdCB7XG5cdC0tY2stdG9vbHRpcC1hcnJvdy1zaXplOiA1cHg7XG59XG5cbi5jay5jay10b29sdGlwIHtcblx0bGVmdDogNTAlO1xuXG5cdC8qKlxuXHQgKiBBIGNsYXNzIG9uY2UgYXBwbGllZCBkaXNwbGF5cyB0aGUgdG9vbHRpcCBzb3V0aCBvZiB0aGUgZWxlbWVudC5cblx0ICpcblx0ICogICAgICAgW2VsZW1lbnRdXG5cdCAqICAgICAgICAgICBeXG5cdCAqICAgICArLS0tLS0tLS0tLS0rXG5cdCAqICAgICB8ICBUb29sdGlwICB8XG5cdCAqICAgICArLS0tLS0tLS0tLS0rXG5cdCAqL1xuXHQmLmNrLXRvb2x0aXBfcyB7XG5cdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAxMDAlICk7XG5cblx0XHQmIC5jay10b29sdGlwX190ZXh0OjphZnRlciB7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpKTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCggLTUwJSApO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci10b29sdGlwLWJhY2tncm91bmQpIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkgdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBBIGNsYXNzIG9uY2UgYXBwbGllZCBkaXNwbGF5cyB0aGUgdG9vbHRpcCBub3J0aCBvZiB0aGUgZWxlbWVudC5cblx0ICpcblx0ICogICAgICstLS0tLS0tLS0tLStcblx0ICogICAgIHwgIFRvb2x0aXAgIHxcblx0ICogICAgICstLS0tLS0tLS0tLStcblx0ICogICAgICAgICAgIFZcblx0ICogICAgICAgW2VsZW1lbnRdXG5cdCAqL1xuXHQmLmNrLXRvb2x0aXBfbiB7XG5cdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtMTAwJSApO1xuXG5cdFx0JiAuY2stdG9vbHRpcF9fdGV4dDo6YWZ0ZXIge1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci13aWR0aDogdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpIDAgdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKTtcblx0XHR9XG5cdH1cblxuXHQmIC5jay10b29sdGlwX190ZXh0IHtcblx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdFx0Zm9udC1zaXplOiAuOWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXRvb2x0aXAtdGV4dCk7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zbWFsbCkgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRvb2x0aXAtYmFja2dyb3VuZCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGxlZnQ6IC01MCU7XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdH1cblx0fVxufVxuXG4uY2suY2stdG9vbHRpcCxcbi5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0OjphZnRlciB7XG5cdC8qIEZvciB0aGUgdHJhbnNpdGlvbiB0byB3b3JrLCB0aGUgdG9vbHRpcCBtdXN0IGJlIGNvbnRyb2xsZWRcblx0dXNpbmcgdmlzaWJpbGl0eStvcGFjaXR5LiBBIGRlbGF5IHByZXZlbnRzIGEgXCJ0b29sdGlwIGF2YWxhbmNoZVwiXG5cdGkuZS4gd2hlbiBzY2FubmluZyB0aGUgdG9vbGJhciB3aXRoIG1vdXNlIGN1cnNvci4gKi9cblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQgLjJzO1xufVxuXG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vbWl4aW5zL191bnNlbGVjdGFibGUuY3NzXCI7XG5AaW1wb3J0IFwiLi4vdG9vbHRpcC9taXhpbnMvX3Rvb2x0aXAuY3NzXCI7XG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cdEBtaXhpbiBjay11bnNlbGVjdGFibGU7XG5cdEBtaXhpbiBjay10b29sdGlwX2VuYWJsZWQ7XG5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBsZWZ0O1xuXG5cdCYuY2stYnV0dG9uX3dpdGgtdGV4dCB7XG5cdFx0JiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LyogQ2VudGVyIHRoZSBpY29uIGhvcml6b250YWxseSBpbiBhIGJ1dHRvbiB3aXRob3V0IHRleHQuICovXG5cdCY6bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSAge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0QG1peGluIGNrLXRvb2x0aXBfdmlzaWJsZTtcblx0fVxuXG5cdC8qIEdldCByaWQgb2YgdGhlIG5hdGl2ZSBmb2N1cyBvdXRsaW5lIGFyb3VuZCB0aGUgdG9vbHRpcCB3aGVuIGZvY3VzZWQgKGJ1dCBub3QgOmhvdmVyKS4gKi9cblx0Jjpmb2N1czpub3QoOmhvdmVyKSB7XG5cdFx0QG1peGluIGNrLXRvb2x0aXBfZGlzYWJsZWQ7XG5cdH1cblxuXHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKipcbiAqIEVuYWJsZXMgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIHRoZSB0b29sdGlwIGlzIGluIERPTSBidXRcbiAqIG5vdCB5ZXQgZGlzcGxheWVkLlxuICovXG5AZGVmaW5lLW1peGluIGNrLXRvb2x0aXBfZW5hYmxlZCB7XG5cdCYgLmNrLXRvb2x0aXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0Lypcblx0XHQgKiBEb24ndCBkaXNwbGF5IHRvb2x0aXBzIGluIGRldmljZXMgd2hpY2ggZG9uJ3Qgc3VwcG9ydCA6aG92ZXIuXG5cdFx0ICogSW4gZmFjdCwgaXQncyBhbGwgYWJvdXQgaU9TLCB3aGljaCBmb3JjZXMgdXNlciB0byBjbGljayBVSSBlbGVtZW50cyB0d2ljZSB0byBleGVjdXRlXG5cdFx0ICogdGhlIHByaW1hcnkgYWN0aW9uLCB3aGVuIHRvb2x0aXBzIGFyZSBlbmFibGVkLlxuXHRcdCAqXG5cdFx0ICogUTogT0ssIGJ1dCB3aHkgbm90IHRoZSBmb2xsb3dpbmcgcXVlcnk/XG5cdFx0ICpcblx0XHQgKiAgIEBtZWRpYSAoaG92ZXIpIHtcblx0XHQgKiAgICAgICBkaXNwbGF5OiBibG9jaztcblx0XHQgKiAgIH1cblx0XHQgKlxuXHRcdCAqIEE6IEJlY2F1c2UgRkYgZG9lcyBub3Qgc3VwcG9ydCBpdCBhbmQgaXQgd291bGQgY29tcGxldGVseSBkaXNhYmxlIHRvb2x0aXBzXG5cdFx0ICogaW4gdGhhdCBicm93c2VyLlxuXHRcdCAqXG5cdFx0ICogTW9yZSBpbiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85MjAuXG5cdFx0ICovXG5cdFx0QG1lZGlhIChob3Zlcjpub25lKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIERpc2FibGVzIHRoZSB0b29sdGlwIG1ha2luZyBpdCBkaXNhcHBlYXIgZnJvbSBET00uXG4gKi9cbkBkZWZpbmUtbWl4aW4gY2stdG9vbHRpcF9kaXNhYmxlZCB7XG5cdCYgLmNrLXRvb2x0aXAge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLyoqXG4gKiBTaG93cyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgYWxyZWFkeSBpbiBET00uXG4gKiBSZXF1aXJlcyBgY2stdG9vbHRpcF9lbmFibGVkYCBmaXJzdC5cbiAqL1xuQGRlZmluZS1taXhpbiBjay10b29sdGlwX3Zpc2libGUge1xuXHQmIC5jay10b29sdGlwIHtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX2ZvY3VzLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fc2hhZG93LmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZGlzYWJsZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uL21peGlucy9fYnV0dG9uLmNzc1wiO1xuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXHRAbWl4aW4gY2stYnV0dG9uLWNvbG9ycyAtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0O1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8qIEEgdmVyeSBpbXBvcnRhbnQgcGllY2Ugb2Ygc3R5bGluZy4gR28gdG8gdmFyaWFibGUgZGVjbGFyYXRpb24gdG8gbGVhcm4gbW9yZS4gKi9cblx0bWluLXdpZHRoOiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWNrLXVpLWNvbXBvbmVudC1taW4taGVpZ2h0KTtcblxuXHQvKiBOb3JtYWxpemUgdGhlIGhlaWdodCBvZiB0aGUgbGluZS4gUmVtb3ZpbmcgdGhpcyB3aWxsIGJyZWFrIGNvbnNpc3RlbnQgaGVpZ2h0XG5cdGFtb25nIHRleHQgYW5kIHRleHQtbGVzcyBidXR0b25zICh3aXRoIGljb25zKS4gKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuXHQvKiBBdm9pZCBmbGlja2VyaW5nIHdoZW4gdGhlIGZvdWNzIGJvcmRlciBzaG93cyB1cC4gKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0LyogQXBwbHkgc29tZSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgYm94LXNoYWRvdy4gKi9cblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLWluLW91dDtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzE4OSAqL1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cblx0JjphY3RpdmUsXG5cdCY6Zm9jdXMge1xuXHRcdEBtaXhpbiBjay1mb2N1cy1yaW5nO1xuXHRcdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdyk7XG5cblx0XHQvKiBEaXNhYmxlIGJvcmRlciBwYXJ0IG9mIHRoZSBmb2N1cyByaW5nIGZvciB0aGUgYnV0dG9ucy4gSXQgaXMgdG9vIG11Y2guICovXG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvNzAgKi9cblx0Ji5jay1kaXNhYmxlZCB7XG5cdFx0JjphY3RpdmUsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQvKiBUaGUgZGlzYWJsZWQgYnV0dG9uIHNob3VsZCBoYXZlIGEgc2xpZ2h0bHkgbGVzcyB2aXNpYmxlIHNoYWRvdyB3aGVuIGZvY3VzZWQuICovXG5cdFx0XHRAbWl4aW4gY2stYm94LXNoYWRvdyB2YXIoLS1jay1mb2N1cy1kaXNhYmxlZC1vdXRlci1zaGFkb3cpO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRAbWl4aW4gY2stZGlzYWJsZWQ7XG5cdFx0fVxuXG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy85OCAqL1xuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYnV0dG9uX3dpdGgtdGV4dCB7XG5cdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdCYgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLXNwYWNpbmctc21hbGwpKTtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXHR9XG5cblx0LyogQSBzdHlsZSBvZiB0aGUgYnV0dG9uIHdoaWNoIGlzIGN1cnJlbnRseSBvbiwgZS5nLiBpdHMgZmVhdHVyZSBpcyBhY3RpdmUuICovXG5cdCYuY2stb24ge1xuXHRcdEBtaXhpbiBjay1idXR0b24tY29sb3JzIC0tY2stY29sb3ItYnV0dG9uLW9uO1xuXHR9XG5cblx0Ji5jay1idXR0b24tc2F2ZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1zYXZlKTtcblx0fVxuXG5cdCYuY2stYnV0dG9uLWNhbmNlbCB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1jYW5jZWwpO1xuXHR9XG5cblx0LyogQWxsb3cgaWNvbiBjb2xvcmluZyB1c2luZyB0aGUgdGV4dCBcImNvbG9yXCIgcHJvcGVydHkuICovXG5cdCYgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0JiB1c2UsXG5cdFx0JiB1c2UgKiB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Y3Vyc29yOiBpbmhlcml0O1xuXG5cdFx0LyogTXVzdCBiZSBjb25zaXN0ZW50IHdpdGggLmNrLWljb24ncyB2ZXJ0aWNhbCBhbGlnbi4gT3RoZXJ3aXNlLCBidXR0b25zIHdpdGggYW5kXG5cdFx0d2l0aG91dCBsYWJlbHMgKGJ1dCB3aXRoIGljb25zKSBoYXZlIGRpZmZlcmVudCBzaXplcyBpbiBDaHJvbWUgKi9cblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG59XG5cbi8qIEEgc3R5bGUgb2YgdGhlIGJ1dHRvbiB3aGljaCBoYW5kbGVzIHRoZSBwcmltYXJ5IGFjdGlvbi4gKi9cbi5jay5jay1idXR0b24tYWN0aW9uLFxuYS5jay5jay1idXR0b24tYWN0aW9uIHtcblx0QG1peGluIGNrLWJ1dHRvbi1jb2xvcnMgLS1jay1jb2xvci1idXR0b24tYWN0aW9uO1xuXG5cdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tYWN0aW9uLXRleHQpO1xufVxuXG4uY2suY2stYnV0dG9uLWJvbGQsXG5hLmNrLmNrLWJ1dHRvbi1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2stY29udGVudCBjb2RlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgNzglLCAwLjMpO1xuXHRwYWRkaW5nOiAuMTVlbTtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xufVxuIiwiLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay1jb250ZW50IGJsb2NrcXVvdGUge1xuXHQvKiBTZWUgIzEyICovXG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1ibG9jay1xdW90ZS9pc3N1ZXMvMTUgKi9cblx0cGFkZGluZy1yaWdodDogMS41ZW07XG5cblx0cGFkZGluZy1sZWZ0OiAxLjVlbTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDVweCBoc2woMCwgMCUsIDgwJSk7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0YWJsZSB7XG5cdC8qIE1ha2UgdGhlIHdpZGdldCB3cmFwcGVyIGEgcmVsYXRpdmUgcG9zaXRpb25pbmcgY29udGFpbmVyIGZvciB0aGUgZHJhZyBoYW5kbGVyLiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdCYgLmNrLWljb24ge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBpY29uIGluIG5vdCBhIHN1YmplY3QgdG8gZm9uLXNpemUvbGluZS1oZWlnaHQgdG8gYXZvaWRcblx0XHRcdHVubmVjZXNzYXJ5IHNwYWNpbmcgYXJvdW5kIGl0LiAqL1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0LyogU2hvdyB0aGUgc2VsZWN0aW9uIGhhbmRsZXIgb24gbW91c2UgaG92ZXIgb3ZlciB0aGUgd2lkZ2V0LiAqL1xuXHQmOmhvdmVyIHtcblx0XHQmIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIHtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXHR9XG5cblx0LyogU2hvdyB0aGUgc2VsZWN0aW9uIGhhbmRsZXIgd2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkLiAqL1xuXHQmLmNrLXdpZGdldF9zZWxlY3RlZCB7XG5cdFx0JiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciB7XG5cdFx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuQGltcG9ydCBcIi4uL21peGlucy9fZm9jdXMuY3NzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3M6IDNweDtcblx0LS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemU6IDE2cHg7XG5cdC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcblx0LS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmU6IGVhc2U7XG5cblx0LS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXI6IGhzbCgwLCAwJSwgODclKTtcblx0LS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyOiBoc2woNDMsIDEwMCUsIDYyJSk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWVkaXRhYmxlLWZvY3VzLWJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWRyYWctaGFuZGxlci1pY29uLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xufVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cdG91dGxpbmUtd2lkdGg6IHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcyk7XG5cdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRvdXRsaW5lLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0dHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cblx0Ji5jay13aWRnZXRfc2VsZWN0ZWQsXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0fVxufVxuXG4uY2sgLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0LyogVGhlIDpmb2N1cyBzdHlsZSBpcyBhcHBsaWVkIGJlZm9yZSAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCBjbGFzcyBpcyByZW5kZXJlZCBpbiB0aGUgdmlldy5cblx0VGhlc2Ugc3R5bGVzIHNob3cgYSBkaWZmZXJlbnQgYm9yZGVyIGZvciBhIGJsaW5rIG9mIGFuIGV5ZSwgc28gYDpmb2N1c2AgbmVlZCB0byBoYXZlIHNhbWUgc3R5bGVzIGFwcGxpZWQuICovXG5cdCYuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGVfZm9jdXNlZCxcblx0Jjpmb2N1cyB7XG5cdFx0QG1peGluIGNrLWZvY3VzLXJpbmc7XG5cdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1lZGl0YWJsZS1mb2N1cy1iYWNrZ3JvdW5kKTtcblx0fVxufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0YWJsZSB7XG5cdCYgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXIge1xuXHRcdHBhZGRpbmc6IDRweDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdFx0LyogQmFja2dyb3VuZCBhbmQgb3BhY2l0eSB3aWxsIGJlIGFuaW1hdGVkIGFzIHRoZSBoYW5kbGVyIHNob3dzIHVwIG9yIHRoZSB3aWRnZXQgZ2V0cyBzZWxlY3RlZC4gKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0LyogVHJhbnNpdGlvbjpcblx0XHQgICAqIGJhY2tncm91bmQtY29sb3IgZm9yIHRoZSAuY2std2lkZ2V0X3NlbGVjdGVkIHN0YXRlIGNoYW5nZSxcblx0XHQgICAqIHZpc2liaWxpdHkgZm9yIGhpZGluZyB0aGUgaGFuZGxlcixcblx0XHQgICAqIG9wYWNpdHkgZm9yIHRoZSBwcm9wZXIgbG9vayBvZiB0aGUgaWNvbiB3aGVuIHRoZSBoYW5kbGVyIGRpc2FwcGVhcnMuICovXG5cdFx0dHJhbnNpdGlvbjpcblx0XHRcdGJhY2tncm91bmQtY29sb3IgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpLFxuXHRcdFx0dmlzaWJpbGl0eSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSksXG5cdFx0XHRvcGFjaXR5IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblxuXHRcdC8qIE1ha2Ugb25seSB0b3AgY29ybmVycyByb3VuZC4gKi9cblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSAwIDA7XG5cblx0XHQvKiBQbGFjZSB0aGUgZHJhZyBoYW5kbGVyIG91dHNpZGUgdGhlIHdpZGdldCB3cmFwcGVyLiAqL1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0bGVmdDogY2FsYygwcHggLSB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpKTtcblxuXHRcdC8qIEFkdmVydGlzZSB1c2luZyB0aGUgbG9vayBvZiB0aGUgaWNvbiB0aGF0IG9uY2UgY2xpY2tlZCB0aGUgaGFuZGxlciwgdGhlIHdpZGdldCB3aWxsIGJlIHNlbGVjdGVkLiAqL1xuXHRcdCY6aG92ZXIgLmNrLWljb24gLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdCYgLmNrLWljb24ge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBpY29uIGFyZSBpbmRlcGVuZGVudCBvZiB0aGUgZm9uLXNpemUgb2YgdGhlIGNvbnRlbnQuICovXG5cdFx0XHR3aWR0aDogdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItaWNvbi1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItaWNvbi1zaXplKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtZHJhZy1oYW5kbGVyLWljb24tY29sb3IpO1xuXG5cdFx0XHQvKiBUaGUgXCJzZWxlY3RlZFwiIHBhcnQgb2YgdGhlIGljb24gaXMgaW52aXNpYmxlIGJ5IGRlZmF1bHQgKi9cblx0XHRcdCYgLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cblx0XHRcdFx0LyogTm90ZTogVGhlIGFuaW1hdGlvbiBpcyBsb25nZXIgb24gcHVycG9zZS4gU2ltcGx5IGZlZWxzIGJldHRlci4gKi9cblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZC4gKi9cblx0Ji5jay13aWRnZXRfc2VsZWN0ZWQsXG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHQmIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXG5cdFx0XHQvKiBXaGVuIHRoZSB3aWRnZXQgaXMgc2VsZWN0ZWQsIG5vdGlmeSB0aGUgdXNlciB1c2luZyB0aGUgcHJvcGVyIGxvb2sgb2YgdGhlIGljb24uICovXG5cdFx0XHQmIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIG9uIG1vdXNlIGhvdmVyIG92ZXIgdGhlIHdpZGdldC4gKi9cblx0Jjpob3ZlciAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlciB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtaG92ZXItYm9yZGVyKTtcblx0fVxufVxuXG4vKiBTdHlsZSB0aGUgd2lkZ2V0IHdoZW4gaXQncyBzZWxlY3RlZCBidXQgdGhlIGVkaXRhYmxlIGl0IGJlbG9uZ3MgdG8gbG9zdCBmb2N1cy4gKi9cbi5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldCB7XG5cdCYuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHQmLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciB7XG5cdFx0b3V0bGluZS1jb2xvcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblxuXHRcdCYgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZXIsXG5cdFx0JiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlcjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHRcdH1cblx0fVxufVxuXG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1yZWFkLW9ubHkgLmNrLXdpZGdldCB7XG5cdC8qIERpc2FibGUgdmlzdWFsIGVmZmVjdHMgb2YgaG92ZXIvYWN0aXZlIHdpZGdldCB3aGVuIENLRWRpdG9yIGlzIGluIHJlYWRPbmx5IG1vZGUuXG5cdFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTI2MSAqL1xuXHQtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzczogMDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay5jay1sYWJlbGVkLWlucHV0IC5jay1sYWJlbGVkLWlucHV0X19zdGF0dXMge1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXG5cdC8qIExldCB0aGUgaW5mbyB3cmFwIHRvIHRoZSBuZXh0IGxpbmUgdG8gYXZvaWQgc3RyZXRjaGluZyB0aGUgbGF5b3V0IGhvcml6b250YWxseS5cblx0VGhlIHN0YXR1cyBjb3VsZCBiZSB2ZXJ5IGxvbmcuICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jay5jay1sYWJlbGVkLWlucHV0IC5jay1sYWJlbGVkLWlucHV0X19zdGF0dXNfZXJyb3Ige1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1lcnJvcik7XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZm9jdXMuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1pbnB1dC10ZXh0LXdpZHRoOiAxOGVtO1xufVxuXG4uY2suY2staW5wdXQtdGV4dCB7XG5cdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnM7XG5cdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWlubmVyLXNoYWRvdyk7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWlucHV0LWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctZXh0cmEtdGlueSkgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRtaW4td2lkdGg6IHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpO1xuXG5cdC8qIFRoaXMgaXMgaW1wb3J0YW50IHRvIHN0YXkgb2YgdGhlIHNhbWUgaGVpZ2h0IGFzIHN1cnJvdW5kaW5nIGJ1dHRvbnMgKi9cblx0bWluLWhlaWdodDogdmFyKC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQpO1xuXG5cdC8qIEFwcGx5IHNvbWUgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIGJveC1zaGFkb3cgYW5kIGJvcmRlci4gKi9cblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgYm9yZGVyO1xuXHR0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7XG5cblx0Jjpmb2N1cyB7XG5cdFx0QG1peGluIGNrLWZvY3VzLXJpbmc7XG5cdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93KSwgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblx0fVxuXG5cdCZbcmVhZG9ubHldIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXIpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC10ZXh0KTtcblxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0LyogVGhlIHJlYWQtb25seSBpbnB1dCBzaG91bGQgaGF2ZSBhIHNsaWdodGx5IGxlc3MgdmlzaWJsZSBzaGFkb3cgd2hlbiBmb2N1c2VkLiAqL1xuXHRcdFx0QG1peGluIGNrLWJveC1zaGFkb3cgdmFyKC0tY2stZm9jdXMtZGlzYWJsZWQtb3V0ZXItc2hhZG93KSwgdmFyKC0tY2staW5uZXItc2hhZG93KTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWVycm9yIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWlucHV0LWVycm9yLWJvcmRlcik7XG5cdFx0YW5pbWF0aW9uOiBjay10ZXh0LWlucHV0LXNoYWtlIC4zcyBlYXNlIGJvdGg7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdEBtaXhpbiBjay1ib3gtc2hhZG93IHZhcigtLWNrLWZvY3VzLWVycm9yLW91dGVyLXNoYWRvdyksIHZhcigtLWNrLWlubmVyLXNoYWRvdyk7XG5cdFx0fVxuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2stdGV4dC1pbnB1dC1zaGFrZSB7XG5cdDIwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpO1xuXHR9XG5cblx0NDAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTtcblx0fVxuXG5cdDYwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuXHR9XG5cblx0ODAlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuQGltcG9ydCBcIkBja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay90aGVtZS9taXhpbnMvX3J3ZC5jc3NcIjtcblxuLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwO1xuXG5cdCYgLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG5cdCYgLmNrLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0QG1peGluIGNrLW1lZGlhLXBob25lIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHQmIC5jay1sYWJlbGVkLWlucHV0IHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBkZWZpbmUtbWl4aW4gY2stbWVkaWEtcGhvbmUge1xuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRcdEBtaXhpbi1jb250ZW50O1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vbWl4aW5zL19yd2QuY3NzXCI7XG5cbi5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHQmOmZvY3VzIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWxpbmsvaXNzdWVzLzkwICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKTtcblxuXHRcdCYgLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwO1xuXG5cdFx0XHQmIC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmIC5jay1idXR0b24ge1xuXHRcdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBNYWtlIHN1cmUgdGhlIGJhbGxvb24gYXJyb3cgZG9lcyBub3QgZmxvYXQgb3ZlciBpdHMgY2hpbGRyZW4uICovXG5cdC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4OiBjYWxjKHZhcigtLWNrLXotZGVmYXVsdCkgLSAzKTtcbn1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0ei1pbmRleDogdmFyKC0tY2stei1tb2RhbCk7XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3cge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiB2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KSArIDEpO1xuXHRcdH1cblx0fVxuXG5cdCZbY2xhc3MqPVwiYXJyb3dfblwiXSB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHotaW5kZXg6IHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCk7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpICsgMSk7XG5cdFx0fVxuXHR9XG5cblx0JltjbGFzcyo9XCJhcnJvd19zXCJdIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCkgKyAxKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfdmlzaWJsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3JvdW5kZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1iYWxsb29uLWFycm93LW9mZnNldDogMnB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0OiAxMHB4O1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aDogOHB4O1xufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbCB7XG5cdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnM7XG5cdEBtaXhpbiBjay1kcm9wLXNoYWRvdztcblxuXHRtaW4taGVpZ2h0OiAxNXB4O1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpO1xuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93IHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IDA7XG5cdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdH1cblx0fVxuXG5cdCZbY2xhc3MqPVwiYXJyb3dfblwiXSB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlci13aWR0aDogMCB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcikgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudDtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0KTtcblx0XHR9XG5cdH1cblxuXHQmW2NsYXNzKj1cImFycm93X3NcIl0ge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItd2lkdGg6IHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpIDAgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpIHRyYW5zcGFyZW50ICB0cmFuc3BhcmVudDtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQpO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19uIHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X253IHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblx0fVxuXG5cdCYuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19uZSB7XG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X3Mge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc3cge1xuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRsZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXHR9XG5cblx0Ji5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NlIHtcblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0Ym90dG9tOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay1jb250ZW50IC5pbWFnZSB7XG5cdGNsZWFyOiBib3RoO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LyogTWFrZSBzdXJlIHRoZXJlIGlzIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgY29udGVudCBhbmQgdGhlIGltYWdlLiAqL1xuXHRtYXJnaW46IDFlbSAwO1xuXG5cdCYgPiBpbWcge1xuXHRcdC8qIFByZXZlbnQgdW5uZWNlc3NhcnkgbWFyZ2lucyBjYXVzZWQgYnkgbGluZS1oZWlnaHQgKHNlZSAjNDQpLiAqL1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0LyogQ2VudGVyIHRoZSBpbWFnZSBpZiBpdHMgd2lkdGggaXMgc21hbGxlciB0aGFuIHRoZSBjb250ZW50J3Mgd2lkdGguICovXG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cblx0XHQvKiBNYWtlIHN1cmUgdGhlIGltYWdlIG5ldmVyIGV4Y2VlZHMgdGhlIHNpemUgb2YgdGhlIHBhcmVudCBjb250YWluZXIgKGNrZWRpdG9yL2NrZWRpdG9yNS11aSM2NykuICovXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKiBJbmZpbml0ZSBwcm9ncmVzcyBiYXIgZGVmYXVsdCB3aWR0aC4gKi9cbjpyb290IHtcblx0LS1jay1pbWFnZS11cGxvYWQtcHJvZ3Jlc3MtbGluZS13aWR0aDogMzBweDtcbn1cblxuLmNrLWNvbnRlbnQgLmltYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC8qIFVwbG9hZCBwcm9ncmVzcyBiYXIuICovXG5cdCYgLmNrLXByb2dyZXNzLWJhciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKiBJbmZpbml0ZSBwcm9ncmVzcyBiYXIgZGVmYXVsdCB3aWR0aC4gKi9cbjpyb290IHtcblx0LS1jay1pbWFnZS11cGxvYWQtcHJvZ3Jlc3MtbGluZS13aWR0aDogMzBweDtcbn1cblxuLmNrLWNvbnRlbnQgLmltYWdlIHtcblx0LyogU2hvd2luZyBhbmltYXRpb24uICovXG5cdCYuY2stYXBwZWFyIHtcblx0XHRhbmltYXRpb246IGZhZGVJbiA3MDBtcztcblx0fVxuXG5cdC8qIFVwbG9hZCBwcm9ncmVzcyBiYXIuICovXG5cdCYgLmNrLXByb2dyZXNzLWJhciB7XG5cdFx0aGVpZ2h0OiAycHg7XG5cdFx0d2lkdGg6IDA7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kKTtcblx0XHR0cmFuc2l0aW9uOiB3aWR0aCAxMDBtcztcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG5cdGZyb20geyBvcGFjaXR5OiAwOyB9XG5cdHRvICAgeyBvcGFjaXR5OiAxOyB9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2staW1hZ2UtdXBsb2FkLWNvbXBsZXRlLWljb24ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb246IGhzbCgwLCAwJSwgMTAwJSk7XG5cdC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb24tYmFja2dyb3VuZDogaHNsKDEyMCwgMTAwJSwgMjclKTtcblxuXHQtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemU6IDIwcHg7XG5cdC0tY2staW1hZ2UtdXBsb2FkLWljb24td2lkdGg6IDJweDtcbn1cblxuLmNrLWltYWdlLXVwbG9hZC1jb21wbGV0ZS1pY29uIHtcblx0d2lkdGg6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpO1xuXHRvcGFjaXR5OiAwO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1pbWFnZS11cGxvYWQtaWNvbi1iYWNrZ3JvdW5kKTtcblx0YW5pbWF0aW9uLW5hbWU6IGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLXNob3csIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWhpZGU7XG5cdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzLCBmb3J3YXJkcztcblx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcywgNTAwbXM7XG5cblx0LyogVG8gbWFrZSBhbmltYXRpb24gc2NhbGFibGUuICovXG5cdGZvbnQtc2l6ZTogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24tc2l6ZSk7XG5cblx0LyogSGlkZSBjb21wbGV0ZWQgdXBsb2FkIGljb24gYWZ0ZXIgMyBzZWNvbmRzLiAqL1xuXHRhbmltYXRpb24tZGVsYXk6IDBtcywgMzAwMG1zO1xuXG5cdC8qIFRoaXMgaXMgY2hlY2sgaWNvbiBlbGVtZW50IG1hZGUgZnJvbSBib3JkZXItd2lkdGggbWl4ZWQgd2l0aCBhbmltYXRpb25zLiAqL1xuXHQmOjphZnRlciB7XG5cdFx0LyogQmVjYXVzZSBvZiBib3JkZXIgdHJhbnNmb3JtYXRpb24gd2UgbmVlZCB0byBcImhhcmQgY29kZVwiIGxlZnQgcG9zaXRpb24uICovXG5cdFx0bGVmdDogMjUlO1xuXG5cdFx0dG9wOiA1MCU7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0d2lkdGg6IDA7XG5cblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgtMSkgcm90YXRlKDEzNWRlZyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG5cdFx0Ym9yZGVyLXRvcDogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24td2lkdGgpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uKTtcblx0XHRib3JkZXItcmlnaHQ6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXdpZHRoKSBzb2xpZCB2YXIoLS1jay1jb2xvci1pbWFnZS11cGxvYWQtaWNvbik7XG5cblx0XHRhbmltYXRpb24tbmFtZTogY2stdXBsb2FkLWNvbXBsZXRlLWljb24tY2hlY2s7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcblx0XHRhbmltYXRpb24tZGVsYXk6IDUwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuXG5cdFx0LyogIzEwOTUuIFdoaWxlIHJlc2V0IGlzIG5vdCBwcm92aWRpbmcgcHJvcGVyIGJveC1zaXppbmcgZm9yIHBzZXVkb2VsZW1lbnRzLCB3ZSBuZWVkIHRvIGhhbmRsZSBpdC4gKi9cblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2stdXBsb2FkLWNvbXBsZXRlLWljb24tc2hvdyB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWhpZGUge1xuXHRmcm9tIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay11cGxvYWQtY29tcGxldGUtaWNvbi1jaGVjayB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHdpZHRoOiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXHQzMyUge1xuXHRcdHdpZHRoOiAwLjNlbTtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR3aWR0aDogMC4zZW07XG5cdFx0aGVpZ2h0OiAwLjQ1ZW07XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jayAuY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXI6IGhzbCgwLCAwJSwgNzAlKTtcblx0LS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemU6IDMycHg7XG59XG5cbi5jayAuY2staW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHtcblx0LyogV2UgbmVlZCB0byBjb250cm9sIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBTVkcgZ3JheSBiYWNrZ3JvdW5kLiAqL1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwO1xufVxuXG4uY2sgLmNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0d2lkdGg6IHZhcigtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXItc2l6ZSk7XG5cdFx0aGVpZ2h0OiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRib3JkZXItdG9wOiAzcHggc29saWQgdmFyKC0tY2stY29sb3ItdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcik7XG5cdFx0Ym9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0YW5pbWF0aW9uOiBjay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyIDFzIGxpbmVhciBpbmZpbml0ZTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoIDM2MGRlZyApO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdG9vbHRpcC9taXhpbnMvX3Rvb2x0aXAuY3NzXCI7XG5cbi5jay5jay1kcm9wZG93biB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCYgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0fVxuXG5cdC8qIERyb3Bkb3duIGJ1dHRvbiBzaG91bGQgc3BhbiBob3Jpem9udGFsbHksIGUuZy4gaW4gdmVydGljYWwgdG9vbGJhcnMgKi9cblx0JiAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0LyogRGlzYWJsZSBtYWluIGJ1dHRvbidzIHRvb2x0aXAgd2hlbiB0aGUgZHJvcGRvd24gaXMgb3Blbi4gT3RoZXJ3aXNlIHRoZSBwYW5lbCBtYXlcblx0XHRwYXJ0aWFsbHkgY292ZXIgdGhlIHRvb2x0aXAgKi9cblx0XHQmLmNrLW9uIHtcblx0XHRcdEBtaXhpbiBjay10b29sdGlwX2Rpc2FibGVkO1xuXHRcdH1cblx0fVxuXG5cdCYgLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdFx0LyogVGhpcyBpcyB0byBnZXQgcmlkIG9mIGZsaWNrZXJpbmcgd2hlbiB0aGUgdG9vbHRpcCBpcyBzaG93biB1bmRlciB0aGUgcGFuZWwsXG5cdFx0d2hpY2ggbG9va3MgbGlrZSB0aGUgcGFuZWwgbW92ZXMgdmVydGljYWxseSBhIHBpeGVsIGRvd24gYW5kIHVwLiAqL1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKTtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsLXZpc2libGUge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0XHQvKiBUaGlzIHdpbGwgcHJldmVudCBibHVycnkgaWNvbnMgaW4gZHJvcGRvd24gb24gRmlyZWZveC4gU2VlICMzNDAuICovXG5cdFx0XHR3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXHRcdH1cblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX25lLFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX253IHtcblx0XHRcdGJvdHRvbTogMTAwJTtcblx0XHR9XG5cblx0XHQmLmNrLWRyb3Bkb3duX19wYW5lbF9zZSxcblx0XHQmLmNrLWRyb3Bkb3duX19wYW5lbF9zdyB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCAwLCAxMDAlLCAwICk7XG5cdFx0fVxuXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfbmUsXG5cdFx0Ji5jay1kcm9wZG93bl9fcGFuZWxfc2Uge1xuXHRcdFx0bGVmdDogMHB4O1xuXHRcdH1cblxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX253LFxuXHRcdCYuY2stZHJvcGRvd25fX3BhbmVsX3N3IHtcblx0XHRcdHJpZ2h0OiAwcHg7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZGlzYWJsZWQuY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19zaGFkb3cuY3NzXCI7XG5cbjpyb290IHtcblx0LS1jay1kcm9wZG93bi1hcnJvdy1zaXplOiBjYWxjKDAuNSAqIHZhcigtLWNrLWljb24tc2l6ZSkpO1xufVxuXG4uY2suY2stZHJvcGRvd24ge1xuXHQvKiBFbmFibGUgZm9udCBzaXplIGluaGVyaXRhbmNlLCB3aGljaCBhbGxvd3MgZmx1aWQgVUkgc2NhbGluZy4gKi9cblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXG5cdCYgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0cmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdHdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKTtcblxuXHRcdC8qIEEgc3BhY2UgdG8gYWNjb21tb2RhdGUgdGhlIHRyaWFuZ2xlLiAqL1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5cdCYuY2stZGlzYWJsZWQgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHR9XG5cblx0JiAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXHRcdCY6bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgZHJvcGRvd25zIHdpdGgganVzdCBhbiBpY29uIGhhdmUgdGhlIHJpZ2h0IGlubmVyIHNwYWNpbmcgKi9cblx0XHRcdHBhZGRpbmctbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy83MCAqL1xuXHRcdCYuY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0QG1peGluIGNrLWRpc2FibGVkO1xuXHRcdH1cblxuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzgxNiAqL1xuXHRcdCYuY2stb24ge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuXHRcdC8qICMyMyAqL1xuXHRcdCYgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0d2lkdGg6IDdlbTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cdH1cbn1cblxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnM7XG5cdEBtaXhpbiBjay1kcm9wLXNoYWRvdztcblxuXHQvKiBEaXNhYmxlZCByYWRpdXMgb2YgdG9wLWxlZnQgYm9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCAuZHJvcGRvd25fX2J1dHRvblxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MTYgKi9cblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1ib3JkZXIpO1xuXHRib3R0b206IDA7XG5cblx0LyogTWFrZSBzdXJlIHRoZSBwYW5lbCBpcyBhdCBsZWFzdCBhcyB3aWRlIGFzIHRoZSBkcm9wLWRvd24ncyBidXR0b24uICovXG5cdG1pbi13aWR0aDogMTAwJTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi9taXhpbnMvX3Vuc2VsZWN0YWJsZS5jc3NcIjtcblxuLmNrLmNrLWxpc3Qge1xuXHRAbWl4aW4gY2stdW5zZWxlY3RhYmxlO1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0JiAuY2stbGlzdF9faXRlbSxcblx0JiAuY2stbGlzdF9fc2VwYXJhdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC8qIE1ha2Ugc3VyZSB0aGF0IHdoYXRldmVyIGNoaWxkIG9mIHRoZSBsaXN0IGl0ZW0gZ2V0cyBmb2N1cywgaXQgcmVtYWlucyBvbiB0aGVcblx0dG9wLiBUaGFua3MgdG8gdGhhdCwgc3R5bGVzIGxpa2UgYm94LXNoYWRvdywgb3V0bGluZSwgZXRjLiBhcmUgbm90IG1hc2tlZCBieVxuXHRhZGphY2VudCBsaXN0IGl0ZW1zLiAqL1xuXHQmIC5jay1saXN0X19pdGVtID4gKjpmb2N1cyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX2Rpc2FibGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcbkBpbXBvcnQgXCIuLi8uLi8uLi9taXhpbnMvX3NoYWRvdy5jc3NcIjtcblxuLmNrLmNrLWxpc3Qge1xuXHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1iYWNrZ3JvdW5kKTtcbn1cblxuLmNrLmNrLWxpc3RfX2l0ZW0ge1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdG1pbi13aWR0aDogMTJlbTtcblxuXHQmIC5jay1idXR0b24ge1xuXHRcdG1pbi1oZWlnaHQ6IHVuc2V0O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRib3JkZXI6IDA7XG5cblx0XHQvKiBMaXN0IGl0ZW1zIHNob3VsZCBoYXZlIHRoZSBzYW1lIGhlaWdodC4gVXNlIGFic29sdXRlIHVuaXRzIHRvIG1ha2Ugc3VyZSBpdCBpcyBzb1xuXHRcdCAgIGJlY2F1c2UgZS5nLiBkaWZmZXJlbnQgaGVhZGluZyBzdHlsZXMgbWF5IGhhdmUgZGlmZmVyZW50IGhlaWdodFxuXHRcdCAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtaGVhZGluZy9pc3N1ZXMvNjMgKi9cblx0XHRwYWRkaW5nOlxuXHRcdFx0Y2FsYyguMip2YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSp2YXIoLS1jay1mb250LXNpemUtYmFzZSkpXG5cdFx0XHRjYWxjKC40KnZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpKnZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSk7XG5cblx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtaGVhZGluZy9pc3N1ZXMvNjMgKi9cblx0XHRcdGxpbmUtaGVpZ2h0OiBjYWxjKDEuMip2YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSp2YXIoLS1jay1mb250LXNpemUtYmFzZSkpO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Ji5jay1vbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi10ZXh0KTtcblxuXHRcdFx0Jjpob3Zlcjpub3QoY2stZGlzYWJsZWQpIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGlzdC1idXR0b24tb24tYmFja2dyb3VuZC1mb2N1cyk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmhvdmVyOm5vdCguY2stZGlzYWJsZWQpIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblx0fVxuXG5cdC8qIEl0J3MgdW5uZWNlc3NhcnkgdG8gY2hhbmdlIHRoZSBiYWNrZ3JvdW5kL3RleHQgb2YgYSBzd2l0Y2ggdG9nZ2xlOyBpdCBoYXMgZGlmZmVyZW50IHdheXNcblx0b2YgY29udmV5aW5nIGl0cyBzdGF0ZSAobGlrZSB0aGUgc3dpdGNoZXIpICovXG5cdCYgLmNrLXN3aXRjaGJ1dHRvbiB7XG5cdFx0Ji5jay1vbiB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cblx0XHRcdCY6aG92ZXI6bm90KGNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmNrLmNrLWxpc3RfX3NlcGFyYXRvciB7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24ge1xuXHQmIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHQmIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vLi4vLi4vbWl4aW5zL19yb3VuZGVkLmNzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fZGlzYWJsZWQuY3NzXCI7XG5cbi8qIE5vdGU6IFRvIGF2b2lkIHJlbmRlcmluZyBpc3N1ZXMgKGFsaWFzaW5nKSBidXQgdG8gcHJlc2VydmUgdGhlIHJlc3BvbnNpdmUgbmF0dXJlXG5vZiB0aGUgY29tcG9uZW50LCBmbG9hdGluZ+KAk3BvaW50IG51bWJlcnMgaGF2ZSBiZWVuIHVzZWQgd2hpY2gsIGZvciB0aGUgZGVmYXVsdCBmb250IHNpemVcbihzZWU6IC0tY2stZm9udC1zaXplLWJhc2UpLCB3aWxsIGdlbmVyYXRlIHNpbXBsZSBpbnRlZ2Vycy4gKi9cbjpyb290IHtcblx0LyogMzRweCBhdCAxM3B4IGZvbnQtc2l6ZSAqL1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXdpZHRoOiAyLjYxNTM4NDYxNTRlbTtcblx0LyogMTRweCBhdCAxM3B4IGZvbnQtc2l6ZSAqL1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLWlubmVyLXNpemU6IDEuMDc2OTIzMDc2OWVtO1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXNwYWNpbmc6IDFweDtcbn1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24ge1xuXHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHQvKiBTZXBhcmF0ZSB0aGUgbGFiZWwgZnJvbSB0aGUgc3dpdGNoICovXG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDIqdmFyKC0tY2stc3BhY2luZy1sYXJnZSkpO1xuXHR9XG5cblx0Ji5jay1kaXNhYmxlZCAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdEBtaXhpbiBjay1kaXNhYmxlZDtcblx0fVxuXG5cdCYgLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRAbWl4aW4gY2stcm91bmRlZC1jb3JuZXJzO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZSB0b2dnbGUgaXMgYWx3YXlzIHRvIHRoZSByaWdodCBhcyBmYXIgYXMgcG9zc2libGUuICovXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cblx0XHQvKiBHZW50bHkgYW5pbWF0ZSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdG9nZ2xlIHN3aXRjaCAqL1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgNDAwbXMgZWFzZTtcblxuXHRcdHdpZHRoOiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS13aWR0aCk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vZmYtYmFja2dyb3VuZCk7XG5cblx0XHQmIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IGNhbGMoLjUqdmFyKC0tY2stYm9yZGVyLXJhZGl1cykpO1xuXHRcdFx0fVxuXG5cdFx0XHQvKiBMZWF2ZSBzb21lIHRpbnkgYml0IG9mIHNwYWNlIGFyb3VuZCB0aGUgaW5uZXIgcGFydCBvZiB0aGUgc3dpdGNoICovXG5cdFx0XHRtYXJnaW46IHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXNwYWNpbmcpO1xuXHRcdFx0d2lkdGg6IHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLWlubmVyLXNpemUpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS1pbm5lci1zaXplKTtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24taW5uZXItYmFja2dyb3VuZCk7XG5cblx0XHRcdC8qIEdlbnRseSBhbmltYXRlIHRoZSBpbm5lciBwYXJ0IG9mIHRoZSB0b2dnbGUgc3dpdGNoICovXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZTtcblx0XHR9XG5cdH1cblxuXHQmLmNrLW9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1iYWNrZ3JvdW5kKTtcblxuXHRcdCYgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHQvKlxuXHRcdFx0ICogTW92ZSB0aGUgdG9nZ2xlIHN3aXRjaCB0byB0aGUgcmlnaHQuIEl0IHdpbGwgYmUgYW5pbWF0ZWQuXG5cdFx0XHQgKlxuXHRcdFx0ICogRWRnZSBpcyBub3Qgc3VwcG9ydGluZyBjYWxjKCkgaW4gdGhlIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCB3ZSBuZWVkIHRvIGhhcmRjb2RlIHRoaXMgdmFsdWUgKHNlZSBja2VkaXRvcjUtdWkjNDMzKS5cblx0XHRcdCAqIEl0IGJvaWxzIGRvd24gdG86XG5cdFx0XHQgKlxuXHRcdFx0ICogXHRjYWxjKFxuXHRcdFx0ICogXHRcdHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXdpZHRoKSAtXG5cdFx0XHQgKiBcdFx0dmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZSkgLVxuXHRcdFx0ICogXHRcdDIqdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtc3BhY2luZykgKVxuXHRcdFx0ICogXHQpXG5cdFx0XHQgKi9cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCggMS4zODQ2MTUzODQ3ZW0gKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay5jay10b29sYmFyLWRyb3Bkb3duIHtcblx0JiAuY2stdG9vbGJhciB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cblxuXHQmIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWJ1dHRvbiB7XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotZGVmYXVsdCkgKyAxKTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay5jay10b29sYmFyLWRyb3Bkb3duIC5jay10b29sYmFyIHtcblx0Ym9yZGVyOiAwO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLypcbiAqIE5vdGU6IFRoaXMgZmlsZSBzaG91bGQgY29udGFpbiB0aGUgd2lyZWZyYW1lIHN0eWxlcyBvbmx5LiBCdXQgc2luY2UgdGhlcmUgYXJlIG5vIHN1Y2ggc3R5bGVzLFxuICogaXQgYWN0cyBhcyBhIG1lc3NhZ2UgdG8gdGhlIGJ1aWxkZXIgdGVsbGluZyB0aGF0IGl0IHNob3VsZCBsb29rIGZvciB0aGUgY29ycmVzcG9uZGluZyBzdHlsZXNcbiAqICoqaW4gdGhlIHRoZW1lKiogd2hlbiBjb21waWxpbmcgdGhlIGVkaXRvci5cbiAqL1xuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuQGltcG9ydCBcIi4uLy4uLy4uL21peGlucy9fcm91bmRlZC5jc3NcIjtcblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWxpc3Qge1xuXHQvKiBEaXNhYmxlZCByYWRpdXMgb2YgdG9wLWxlZnQgYm9yZGVyIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCAuZHJvcGRvd25fX2J1dHRvblxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy84MTYgKi9cblx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuXG5cdC8qIE1ha2Ugc3VyZSB0aGUgYnV0dG9uIGJlbG9uZ2luZyB0byB0aGUgZmlyc3QvbGFzdCBjaGlsZCBvZiB0aGUgbGlzdCBnb2VzIHdlbGwgd2l0aCB0aGVcblx0Ym9yZGVyIHJhZGl1cyBvZiB0aGUgZW50aXJlIHBhbmVsLiAqL1xuXHQmIC5jay1saXN0X19pdGVtIHtcblx0XHQmOmZpcnN0LWNoaWxkIC5jay1idXR0b24ge1xuXHRcdFx0QG1peGluIGNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCAuY2stYnV0dG9uIHtcblx0XHRcdEBtaXhpbiBjay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi5jay5jay1oZWFkaW5nX2hlYWRpbmcxIHtcblx0Zm9udC1zaXplOiAyMHB4O1xufVxuXG4uY2suY2staGVhZGluZ19oZWFkaW5nMiB7XG5cdGZvbnQtc2l6ZTogMTdweDtcbn1cblxuLmNrLmNrLWhlYWRpbmdfaGVhZGluZzMge1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5ja1tjbGFzcyo9XCJjay1oZWFkaW5nX2hlYWRpbmdcIl0ge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qIFJlc2l6ZSBkcm9wZG93bidzIGJ1dHRvbiBsYWJlbC4gKi9cbi5jay5jay1kcm9wZG93bi5jay1oZWFkaW5nLWRyb3Bkb3duIHtcblx0JiAuY2stZHJvcGRvd25fX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0d2lkdGg6IDhlbTtcblx0fVxuXG5cdCYgLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdF9faXRlbSB7XG5cdFx0bWluLXdpZHRoOiAxOGVtO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4vKiBTZWUgY2tlZGl0b3IvY2tlZGl0b3I1IzkzNi4gKi9cbi5jay5jay1wbGFjZWhvbGRlciwgLmNrIC5jay1wbGFjZWhvbGRlciB7XG5cdCY6OmJlZm9yZSB7XG5cdFx0IGNvbnRlbnQ6IGF0dHIoZGF0YS1wbGFjZWhvbGRlcik7XG5cblx0XHQgLyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSM0NjkuICovXG5cdFx0IHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHQgfVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSM5MzYuICovXG4uY2suY2stcGxhY2Vob2xkZXIsIC5jayAuY2stcGxhY2Vob2xkZXIge1xuXHQmOjpiZWZvcmUge1xuXHRcdGN1cnNvcjogdGV4dDtcblx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItZW5naW5lLXBsYWNlaG9sZGVyLXRleHQpO1xuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2stY29udGVudCAuaW1hZ2UgPiBmaWdjYXB0aW9uIHtcblx0Y29sb3I6IGhzbCgwLCAwJSwgMjAlKTtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA5NyUpO1xuXHRwYWRkaW5nOiAuNmVtO1xuXHRmb250LXNpemU6IC43NWVtO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbjpyb290IHtcblx0LS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nOiAxLjVlbTtcbn1cblxuLmNrLWNvbnRlbnQge1xuXHQmIC5pbWFnZS1zdHlsZS1zaWRlLFxuXHQmIC5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0LFxuXHQmIC5pbWFnZS1zdHlsZS1hbGlnbi1jZW50ZXIsXG5cdCYgLmltYWdlLXN0eWxlLWFsaWduLXJpZ2h0IHtcblx0XHRtYXgtd2lkdGg6IDUwJTtcblx0fVxuXG5cdCYgLmltYWdlLXN0eWxlLXNpZGUge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdH1cblxuXHQmIC5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHR9XG5cblx0JiAuaW1hZ2Utc3R5bGUtYWxpZ24tY2VudGVyIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHQmIC5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1pbWFnZS1zdHlsZS1zcGFjaW5nKTtcblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLypcbiAqIE5vdGU6IFRoaXMgZmlsZSBzaG91bGQgY29udGFpbiB0aGUgd2lyZWZyYW1lIHN0eWxlcyBvbmx5LiBCdXQgc2luY2UgdGhlcmUgYXJlIG5vIHN1Y2ggc3R5bGVzLFxuICogaXQgYWN0cyBhcyBhIG1lc3NhZ2UgdG8gdGhlIGJ1aWxkZXIgdGVsbGluZyB0aGF0IGl0IHNob3VsZCBsb29rIGZvciB0aGUgY29ycmVzcG9uZGluZyBzdHlsZXNcbiAqICoqaW4gdGhlIHRoZW1lKiogd2hlbiBjb21waWxpbmcgdGhlIGVkaXRvci5cbiAqL1xuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuLyogQ2xhc3MgYWRkZWQgdG8gc3BhbiBlbGVtZW50IHN1cnJvdW5kaW5nIGN1cnJlbnRseSBzZWxlY3RlZCBsaW5rLiAqL1xuLmNrIC5jay1saW5rX3NlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGluay1zZWxlY3RlZC1iYWNrZ3JvdW5kKTtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvdGhlbWUvbWl4aW5zL19yd2QuY3NzXCI7XG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblxuXHQmIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0JiAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vbWl4aW5zL19yd2QuY3NzXCI7XG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHQmOmZvY3VzIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWxpbmsvaXNzdWVzLzkwICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKTtcblxuXHRcdCYgLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwO1xuXG5cdFx0XHQmIC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmIC5jay1idXR0b24ge1xuXHRcdFx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblxuXHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stbGluay1hY3Rpb25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cblx0JiAuY2stbGluay1hY3Rpb25zX19wcmV2aWV3IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0fVxuXHR9XG5cblx0QG1peGluIGNrLW1lZGlhLXBob25lIHtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHQmIC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cblx0XHQmIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbkBpbXBvcnQgXCJAY2tlZGl0b3IvY2tlZGl0b3I1LXVpL3RoZW1lL2NvbXBvbmVudHMvdG9vbHRpcC9taXhpbnMvX3Rvb2x0aXAuY3NzXCI7XG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9taXhpbnMvX3Vuc2VsZWN0YWJsZS5jc3NcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnMvX2ZvY3VzLmNzc1wiO1xuQGltcG9ydCBcIi4uL21peGlucy9fc2hhZG93LmNzc1wiO1xuQGltcG9ydCBcIi4uL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stbGluay1hY3Rpb25zIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0JiAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cblx0XHQmLFxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdH1cblxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1saW5rLWRlZmF1bHQpO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdC8qIE1hdGNoIHRoZSBib3ggbW9kZWwgb2YgdGhlIGxpbmsgZWRpdG9yIGZvcm0ncyBpbnB1dCBzbyB0aGUgYmFsbG9vblxuXHRcdFx0ZG9lcyBub3QgY2hhbmdlIHdpZHRoIHdoZW4gbW92aW5nIGJldHdlZW4gYWN0aW9ucyBhbmQgdGhlIGZvcm0uICovXG5cdFx0XHRtYXgtd2lkdGg6IHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpO1xuXHRcdFx0bWluLXdpZHRoOiAzZW07XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWxpbmsvaXNzdWVzLzkwICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgLmNrLWJ1dHRvbjpub3QoLmNrLWxpbmstYWN0aW9uc19fcHJldmlldykge1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKTtcblxuXHRcdCYgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwO1xuXG5cdFx0XHQmIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAuY2stYnV0dG9uOm5vdCguY2stbGluay1hY3Rpb25zX19wcmV2aWV3KSB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS11aS90aGVtZS9jb21wb25lbnRzL3Rvb2x0aXAvbWl4aW5zL190b29sdGlwLmNzc1wiO1xuXG4uY2stbWVkaWFfX3dyYXBwZXIge1xuXHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmwge1xuXHRcdFx0QG1peGluIGNrLXRvb2x0aXBfZW5hYmxlZDtcblxuXHRcdFx0LyogT3RoZXJ3aXNlIHRoZSBVUkwgd2lsbCBvdmVyZmxvdyB3aGVuIHRoZSBjb250ZW50IGlzIHZlcnkgbmFycm93LiAqL1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRAbWl4aW4gY2stdG9vbHRpcF92aXNpYmxlO1xuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdLFxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJnb29nbGUuY29tL21hcHNcIl0sXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cImZhY2Vib29rLmNvbVwiXSxcblx0JltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSB7XG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICoge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLyogRGlzYWJsZSBhbGwgbW91c2UgaW50ZXJhY3Rpb24gYXMgbG9uZyBhcyB0aGUgZWRpdG9yIGlzIG5vdCByZWFk4oCTb25seS5cbiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvaXNzdWVzLzU4ICovXG4qW2NvbnRlbnRlZGl0YWJsZT10cnVlXSAuY2stbWVkaWFfX3dyYXBwZXIgPiAqOm5vdCguY2stbWVkaWFfX3BsYWNlaG9sZGVyKSB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLWljb24tc2l6ZTogM2VtO1xuXG5cdC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQ6IGhzbCgwLCAwJSwgNDYlKTtcblx0LS1jay1jb2xvci1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci11cmwtdGV4dC1ob3ZlcjogdmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcbn1cblxuLmNrLW1lZGlhX193cmFwcGVyIHtcblx0bWFyZ2luOiAwIGF1dG87XG5cblx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRwYWRkaW5nOiBjYWxjKCAzICogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdG1pbi13aWR0aDogdmFyKC0tY2stbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItaWNvbi1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2stbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItaWNvbi1zaXplKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRcdFx0JiAuY2staWNvbiB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmwge1xuXHRcdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQpO1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLXVybC10ZXh0LWhvdmVyKTtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJvcGVuLnNwb3RpZnkuY29tXCJdIHtcblx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRcdG1heC1oZWlnaHQ6IDM4MHB4O1xuXHR9XG5cblx0JltkYXRhLW9lbWJlZC11cmwqPVwidHdpdHRlci5jb21cIl0ge1xuXHRcdCYgLmNrLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdFx0XHQvKiBVc2UgZ3JhZGllbnQgdG8gY29udHJhc3Qgd2l0aCBmb2N1c2VkIHdpZGdldCAoY2tlZGl0b3IvY2tlZGl0b3I1LW1lZGlhLWVtYmVkIzIyKS4gKi9cblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsIGhzbCgyMDEsIDg1JSwgNzAlKSwgaHNsKDIwMSwgODUlLCAzNSUpICk7XG5cblx0XHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NDhjM1puSUhabGNuTnBiMjQ5SWpFdU1TSWdhV1E5SWxkb2FYUmxJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjRQU0l3Y0hnaUlIazlJakJ3ZUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRFF3TUNBME1EQWlJSE4wZVd4bFBTSmxibUZpYkdVdFltRmphMmR5YjNWdVpEcHVaWGNnTUNBd0lEUXdNQ0EwTURBN0lpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4YzNSNWJHVWdkSGx3WlQwaWRHVjRkQzlqYzNNaVBpNXpkREI3Wm1sc2JEb2pSa1pHUmtaR08zMDhMM04wZVd4bFBqeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazAwTURBc01qQXdZekFzTVRFd0xqVXRPRGt1TlN3eU1EQXRNakF3TERJd01GTXdMRE14TUM0MUxEQXNNakF3VXpnNUxqVXNNQ3d5TURBc01GTTBNREFzT0RrdU5TdzBNREFzTWpBd2VpQk5NVFl6TGpRc016QTFMalZqT0RndU55d3dMREV6Tnk0eUxUY3pMalVzTVRNM0xqSXRNVE0zTGpKak1DMHlMakVzTUMwMExqSXRNQzR4TFRZdU1tTTVMalF0Tmk0NExERTNMall0TVRVdU15d3lOQzR4TFRJMVl5MDRMallzTXk0NExURTNMamtzTmk0MExUSTNMamNzTnk0Mll6RXdMVFlzTVRjdU5pMHhOUzQwTERJeExqSXRNall1TjJNdE9TNHpMRFV1TlMweE9TNDJMRGt1TlMwek1DNDJMREV4TGpkakxUZ3VPQzA1TGpRdE1qRXVNeTB4TlM0eUxUTTFMakl0TVRVdU1tTXRNall1Tml3d0xUUTRMaklzTWpFdU5pMDBPQzR5TERRNExqSmpNQ3d6TGpnc01DNDBMRGN1TlN3eExqTXNNVEZqTFRRd0xqRXRNaTAzTlM0MkxUSXhMakl0T1RrdU5DMDFNQzQwWXkwMExqRXNOeTR4TFRZdU5Td3hOUzQwTFRZdU5Td3lOQzR5WXpBc01UWXVOeXc0TGpVc016RXVOU3d5TVM0MUxEUXdMakZqTFRjdU9TMHdMakl0TVRVdU15MHlMalF0TWpFdU9DMDJZekFzTUM0eUxEQXNNQzQwTERBc01DNDJZekFzTWpNdU5Dd3hOaTQyTERReUxqZ3NNemd1Tnl3ME55NHpZeTAwTERFdU1TMDRMak1zTVM0M0xURXlMamNzTVM0M1l5MHpMakVzTUMwMkxqRXRNQzR6TFRrdU1TMHdMamxqTmk0eExERTVMaklzTWpNdU9Td3pNeTR4TERRMUxETXpMalZqTFRFMkxqVXNNVEl1T1Mwek55NHpMREl3TGpZdE5Ua3VPU3d5TUM0Mll5MHpMamtzTUMwM0xqY3RNQzR5TFRFeExqVXRNQzQzUXpFeE1DNDRMREk1Tnk0MUxERXpOaTR5TERNd05TNDFMREUyTXk0MExETXdOUzQxSWk4K1BDOXpkbWMrKTtcblx0XHRcdH1cblxuXHRcdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0XHRjb2xvcjogaHNsKDIwMSwgMTAwJSwgODYlKTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogaHNsKDAsIDAlLCAxMDAlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cImdvb2dsZS5jb20vbWFwc1wiXSB7XG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXlOVEF1TXpjNElpQm9aV2xuYUhROUlqSTFOQzR4TmpjaUlIWnBaWGRDYjNnOUlqQWdNQ0EyTmk0eU5EWWdOamN1TWpRNElqNDhaeUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNndE1UY3lMalV6TVNBdE1qRTRMalExTlNrZ2MyTmhiR1VvTGprNE1ERXlLU0krUEhKbFkzUWdjbms5SWpVdU1qTTRJaUJ5ZUQwaU5TNHlNemdpSUhrOUlqSXpNUzR6T1RraUlIZzlJakUzTmk0d016RWlJR2hsYVdkb2REMGlOakF1TURrNUlpQjNhV1IwYUQwaU5qQXVNRGs1SWlCbWFXeHNQU0lqTXpSaE5qWTRJaUJ3WVdsdWRDMXZjbVJsY2owaWJXRnlhMlZ5Y3lCemRISnZhMlVnWm1sc2JDSXZQanh3WVhSb0lHUTlJazB5TURZdU5EYzNJREkyTUM0NWJDMHlPQzQ1T0RjZ01qZ3VPVGczWVRVdU1qRTRJRFV1TWpFNElEQWdNQ0F3SURNdU56Z2dNUzQyTVdnME9TNDJNakZqTVM0Mk9UUWdNQ0F6TGpFNUxTNDNPVGdnTkM0eE5EWXRNaTR3TXpkNklpQm1hV3hzUFNJak5XTTRPR00xSWk4K1BIQmhkR2dnWkQwaVRUSXlOaTQzTkRJZ01qSXlMams0T0dNdE9TNHlOallnTUMweE5pNDNOemNnTnk0eE55MHhOaTQzTnpjZ01UWXVNREUwTGpBd055QXlMamMyTWk0Mk5qTWdOUzQwTnpRZ01pNHdPVE1nTnk0NE56VXVORE11TnpBekxqZ3pJREV1TkRBNElERXVNVGtnTWk0eE1EY3VNek16TGpVd01pNDJOU0F4TGpBd05TNDVOU0F4TGpVd09DNHpORE11TkRjM0xqWTNNeTQ1TlRjdU9UZzRJREV1TkRRZ01TNHpNU0F4TGpjMk9TQXlMalVnTXk0MU1ESWdNeTQyTXpjZ05TNHhOamd1TnpreklERXVNamMxSURFdU5qZ3pJREl1TmpRZ01pNDBOallnTXk0NU9TQXlMak0yTXlBMExqQTVOQ0EwTGpBd055QTRMakE1TWlBMExqWWdNVE11T1RFMGRpNHdNVEpqTGpFNE1pNDBNVEl1TlRFMkxqWTJOaTQ0TnprdU5qWTNMalF3TXkwdU1EQXhMamMyT0MwdU16RTBMamt6TFM0M09Ua3VOakF6TFRVdU56VTJJREl1TWpNNExUa3VOekk1SURRdU5UZzFMVEV6TGpjNU5DNDNPREl0TVM0ek5TQXhMalkzTXkweUxqY3hOU0F5TGpRMk5TMHpMams1SURFdU1UTTNMVEV1TmpZMklESXVNekk0TFRNdU5DQXpMall6T0MwMUxqRTJPUzR6TVRVdExqUTRNaTQyTkRVdExqazJNaTQ1T0RndE1TNDBNemt1TXkwdU5UQXpMall4TnkweExqQXdOaTQ1TlMweExqVXdPQzR6TlRrdExqY3VOell0TVM0ME1EUWdNUzR4T1MweUxqRXdOeUF4TGpReU5pMHlMalF3TWlBeUxUVXVNVEUwSURJdU1EQTBMVGN1T0RjMUlEQXRPQzQ0TkRRdE55NDFNVEV0TVRZdU1ERTBMVEUyTGpjM05pMHhOaTR3TVRSNklpQm1hV3hzUFNJalpHUTBZak5sSWlCd1lXbHVkQzF2Y21SbGNqMGliV0Z5YTJWeWN5QnpkSEp2YTJVZ1ptbHNiQ0l2UGp4bGJHeHBjSE5sSUhKNVBTSTFMalUyTkNJZ2NuZzlJalV1T0RJNElpQmplVDBpTWpNNUxqQXdNaUlnWTNnOUlqSXlOaTQzTkRJaUlHWnBiR3c5SWlNNE1ESmtNamNpSUhCaGFXNTBMVzl5WkdWeVBTSnRZWEpyWlhKeklITjBjbTlyWlNCbWFXeHNJaTgrUEhCaGRHZ2daRDBpVFRFNU1DNHpNREVnTWpNM0xqSTRNMk10TkM0Mk55QXdMVGd1TkRVM0lETXVPRFV6TFRndU5EVTNJRGd1TmpBMmN6TXVOemcySURndU5qQTNJRGd1TkRVM0lEZ3VOakEzWXpNdU1EUXpJREFnTkM0NE1EWXRMamsxT0NBMkxqTXpOeTB5TGpVeE5pQXhMalV6TFRFdU5UVTNJREl1TURnM0xUTXVPVEV6SURJdU1EZzNMVFl1TWprZ01DMHVNell5TFM0d01qTXRMamN5TWkwdU1EWTBMVEV1TURjNWFDMDRMakkxTjNZekxqQTBNMmcwTGpnMVl5MHVNVGszTGpjMU9TMHVOVE14SURFdU5EVXRNUzR3TlRnZ01TNDVPRFl0TGprME1pNDVOVGd0TWk0d01qZ2dNUzQxTkRndE15NDVNREVnTVM0MU5EZ3RNaTQ0TnpZZ01DMDFMakl3T0MweUxqTTNNaTAxTGpJd09DMDFMakk1T1NBd0xUSXVPVEkySURJdU16TXlMVFV1TWprNUlEVXVNakE0TFRVdU1qazVJREV1TXprNUlEQWdNaTQyTVRndU5EQTNJRE11TlRnMElERXVNamt6YkRJdU16Z3hMVEl1TXpoak1DMHVNREF5TFM0d01ETXRMakF3TkMwdU1EQTBMUzR3TURVdE1TNDFPRGd0TVM0MU1qUXRNeTQyTWkweUxqSXhOUzAxTGprMU5TMHlMakl4TlhwdE5DNDBNeUExTGpZMmJDNHdNRE11TURBMmRpMHVNREF6ZWlJZ1ptbHNiRDBpSTJabVppSWdjR0ZwYm5RdGIzSmtaWEk5SW0xaGNtdGxjbk1nYzNSeWIydGxJR1pwYkd3aUx6NDhjR0YwYUNCa1BTSk5NakUxTGpFNE5DQXlOVEV1T1RJNWJDMDNMams0SURjdU9UYzVJREk0TGpRM055QXlPQzQwTnpWakxqSTROeTB1TmpRNUxqUTBPUzB4TGpNMk5pNDBORGt0TWk0eE1qTjJMVE14TGpFMk5XTXRMalEyT1M0Mk56VXRMamt6TkNBeExqTTBPUzB4TGpNNE1pQXlMakF3TlMwdU56a3lJREV1TWpjMUxURXVOamd5SURJdU5qUXRNaTQwTmpVZ015NDVPUzB5TGpNME55QTBMakEyTlMwekxqazRNaUE0TGpBek9DMDBMalU0TlNBeE15NDNPVFF0TGpFMk1pNDBPRFV0TGpVeU55NDNPVGd0TGprekxqYzVPUzB1TXpZekxTNHdNREV0TGpZNU55MHVNalUxTFM0NE56a3RMalkyTjNZdExqQXhNbU10TGpVNU15MDFMamd5TWkweUxqSXpOeTA1TGpneUxUUXVOaTB4TXk0NU1UUXRMamM0TXkweExqTTFMVEV1TmpjekxUSXVOekUxTFRJdU5EWTJMVE11T1RrdE1TNHhNemN0TVM0Mk5qWXRNaTR6TWpjdE15NDBMVE11TmpNM0xUVXVNVFk1YkMwdU1EQXlMUzR3TURONklpQm1hV3hzUFNJall6TmpNMk16SWk4K1BIQmhkR2dnWkQwaVRUSXhNaTQ1T0RNZ01qUTRMalE1Tld3dE16WXVPVFV5SURNMkxqazFNM1l1T0RFeVlUVXVNakkzSURVdU1qSTNJREFnTUNBd0lEVXVNak00SURVdU1qTTRhREV1TURFMWJETTFMalkyTmkwek5TNDJOalpoTVRNMkxqSTNOU0F4TXpZdU1qYzFJREFnTUNBd0xUSXVOelkwTFRNdU9TQXpOeTQxTnpVZ016Y3VOVGMxSURBZ01DQXdMUzQ1T0RrdE1TNDBOR010TGpJNU9TMHVOVEF6TFM0Mk1UWXRNUzR3TURZdExqazFMVEV1TlRBNExTNHdPRE10TGpFMk1pMHVNVGMyTFM0ek1qWXRMakkyTkMwdU5EZzVlaUlnWm1sc2JEMGlJMlprWkdNMFppSWdjR0ZwYm5RdGIzSmtaWEk5SW0xaGNtdGxjbk1nYzNSeWIydGxJR1pwYkd3aUx6NDhjR0YwYUNCa1BTSk5NakV4TGprNU9DQXlOakV1TURnemJDMDJMakUxTWlBMkxqRTFNU0F5TkM0eU5qUWdNalF1TWpZMGFDNDNPREZoTlM0eU1qY2dOUzR5TWpjZ01DQXdJREFnTlM0eU16a3ROUzR5TXpoMkxURXVNRFExZWlJZ1ptbHNiRDBpSTJabVppSWdjR0ZwYm5RdGIzSmtaWEk5SW0xaGNtdGxjbk1nYzNSeWIydGxJR1pwYkd3aUx6NDhMMmMrUEM5emRtYyspO1xuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1vZW1iZWQtdXJsKj1cImZhY2Vib29rLmNvbVwiXSB7XG5cdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGhzbCgyMjAsIDQ2JSwgNDglKTtcblxuXHRcdFx0JiAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0OGMzWm5JSGRwWkhSb1BTSXhNREkwY0hnaUlHaGxhV2RvZEQwaU1UQXlOSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdNVEF5TkNBeE1ESTBJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGlBZ0lDQWdJQ0FnUEhScGRHeGxQa1pwYkd3Z01Ud3ZkR2wwYkdVK0lDQWdJRHhrWlhOalBrTnlaV0YwWldRZ2QybDBhQ0JUYTJWMFkyZ3VQQzlrWlhOalBpQWdJQ0E4WkdWbWN6NDhMMlJsWm5NK0lDQWdJRHhuSUdsa1BTSlFZV2RsTFRFaUlITjBjbTlyWlQwaWJtOXVaU0lnYzNSeWIydGxMWGRwWkhSb1BTSXhJaUJtYVd4c1BTSnViMjVsSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBpQWdJQ0FnSUNBZ1BHY2dhV1E5SW1aTWIyZHZYMWRvYVhSbElpQm1hV3hzUFNJalJrWkdSa1pGSWo0Z0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5PVFkzTGpRNE5Dd3dJRXcxTmk0MU1UY3NNQ0JETWpVdU16QTBMREFnTUN3eU5TNHpNRFFnTUN3MU5pNDFNVGNnVERBc09UWTNMalE0TXlCRE1DdzVPVGd1TmprMElESTFMakk1Tnl3eE1ESTBJRFUyTGpVeU1pd3hNREkwSUV3MU5EY3NNVEF5TkNCTU5UUTNMRFl5T0NCTU5ERTBMRFl5T0NCTU5ERTBMRFEzTXlCTU5UUTNMRFEzTXlCTU5UUTNMRE0xT1M0d01qa2dRelUwTnl3eU1qWXVOelkzSURZeU55NDNOek1zTVRVMExqYzBOeUEzTkRVdU56VTJMREUxTkM0M05EY2dRemd3TWk0eU5qa3NNVFUwTGpjME55QTROVEF1T0RReUxERTFPQzQ1TlRVZ09EWTFMREUyTUM0NE16WWdURGcyTlN3eU9Ua2dURGM0TXk0ek9EUXNNams1TGpBek55QkROekU1TGpNNU1Td3lPVGt1TURNM0lEY3dOeXd6TWprdU5USTVJRGN3Tnl3ek56UXVNamN6SUV3M01EY3NORGN6SUV3NE5qQXVORGczTERRM015Qk1PRFF3TGpVd01TdzJNamdnVERjd055dzJNamdnVERjd055d3hNREkwSUV3NU5qY3VORGcwTERFd01qUWdRems1T0M0Mk9UY3NNVEF5TkNBeE1ESTBMRGs1T0M0Mk9UY2dNVEF5TkN3NU5qY3VORGcwSUV3eE1ESTBMRFUyTGpVeE5TQkRNVEF5TkN3eU5TNHpNRE1nT1RrNExqWTVOeXd3SURrMk55NDBPRFFzTUNJZ2FXUTlJa1pwYkd3dE1TSStQQzl3WVhSb1BpQWdJQ0FnSUNBZ1BDOW5QaUFnSUNBOEwyYytQQzl6ZG1jKyk7XG5cdFx0XHR9XG5cblx0XHRcdCYgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdFx0Y29sb3I6IGhzbCgyMjAsIDEwMCUsIDkwJSk7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIHtcblx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC0xMzVkZWcsIzE0MDBjOCwjYjkwMGI0LCNmNTAwMDApO1xuXG5cdFx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejQ4YzNabklIZHBaSFJvUFNJMU1EUndlQ0lnYUdWcFoyaDBQU0kxTURSd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURVd05DQTFNRFFpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJK0lDQWdJQ0FnSUNBOGRHbDBiR1UrWjJ4NWNHZ3RiRzluYjE5TllYa3lNREUyUEM5MGFYUnNaVDRnSUNBZ1BHUmxjMk0rUTNKbFlYUmxaQ0IzYVhSb0lGTnJaWFJqYUM0OEwyUmxjMk0rSUNBZ0lEeGtaV1p6UGlBZ0lDQWdJQ0FnUEhCdmJIbG5iMjRnYVdROUluQmhkR2d0TVNJZ2NHOXBiblJ6UFNJd0lEQXVNVFU1SURVd015NDROREVnTUM0eE5Ua2dOVEF6TGpnME1TQTFNRE11T1RRZ01DQTFNRE11T1RRaVBqd3ZjRzlzZVdkdmJqNGdJQ0FnUEM5a1pXWnpQaUFnSUNBOFp5QnBaRDBpWjJ4NWNHZ3RiRzluYjE5TllYa3lNREUySWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0Z0lDQWdJQ0FnSUR4bklHbGtQU0pIY205MWNDMHpJajRnSUNBZ0lDQWdJQ0FnSUNBOGJXRnpheUJwWkQwaWJXRnpheTB5SWlCbWFXeHNQU0ozYUdsMFpTSStJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzQmhkR2d0TVNJK1BDOTFjMlUrSUNBZ0lDQWdJQ0FnSUNBZ1BDOXRZWE5yUGlBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKRGJHbHdMVElpUGp3dlp6NGdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTWpVeExqa3lNU3d3TGpFMU9TQkRNVGd6TGpVd015d3dMakUxT1NBeE56UXVPVEkwTERBdU5EUTVJREUwT0M0d05UUXNNUzQyTnpVZ1F6RXlNUzR5TkN3eUxqZzVPQ0F4TURJdU9USTNMRGN1TVRVM0lEZzJMamt3TXl3eE15NHpPRFVnUXpjd0xqTXpOeXd4T1M0NE1qSWdOVFl1TWpnNExESTRMalF6TmlBME1pNHlPRElzTkRJdU5EUXhJRU15T0M0eU56Y3NOVFl1TkRRM0lERTVMalkyTXl3M01DNDBPVFlnTVRNdU1qSTJMRGczTGpBMk1pQkROaTQ1T1Rnc01UQXpMakE0TmlBeUxqY3pPU3d4TWpFdU16azVJREV1TlRFMkxERTBPQzR5TVRNZ1F6QXVNamtzTVRjMUxqQTRNeUF3TERFNE15NDJOaklnTUN3eU5USXVNRGdnUXpBc016SXdMalE1TnlBd0xqSTVMRE15T1M0d056WWdNUzQxTVRZc016VTFMamswTmlCRE1pNDNNemtzTXpneUxqYzJJRFl1T1RrNExEUXdNUzR3TnpNZ01UTXVNakkyTERReE55NHdPVGNnUXpFNUxqWTJNeXcwTXpNdU5qWXpJREk0TGpJM055dzBORGN1TnpFeUlEUXlMakk0TWl3ME5qRXVOekU0SUVNMU5pNHlPRGdzTkRjMUxqY3lNeUEzTUM0ek16Y3NORGcwTGpNek55QTROaTQ1TURNc05Ea3dMamMzTlNCRE1UQXlMamt5Tnl3ME9UY3VNREF5SURFeU1TNHlOQ3cxTURFdU1qWXhJREUwT0M0d05UUXNOVEF5TGpRNE5DQkRNVGMwTGpreU5DdzFNRE11TnpFZ01UZ3pMalV3TXl3MU1EUWdNalV4TGpreU1TdzFNRFFnUXpNeU1DNHpNemdzTlRBMElETXlPQzQ1TVRjc05UQXpMamN4SURNMU5TNDNPRGNzTlRBeUxqUTROQ0JETXpneUxqWXdNU3cxTURFdU1qWXhJRFF3TUM0NU1UUXNORGszTGpBd01pQTBNVFl1T1RNNExEUTVNQzQzTnpVZ1F6UXpNeTQxTURRc05EZzBMak16TnlBME5EY3VOVFV6TERRM05TNDNNak1nTkRZeExqVTFPU3cwTmpFdU56RTRJRU0wTnpVdU5UWTBMRFEwTnk0M01USWdORGcwTGpFM09DdzBNek11TmpZeklEUTVNQzQyTVRZc05ERTNMakE1TnlCRE5EazJMamcwTXl3ME1ERXVNRGN6SURVd01TNHhNRElzTXpneUxqYzJJRFV3TWk0ek1qVXNNelUxTGprME5pQkROVEF6TGpVMU1Td3pNamt1TURjMklEVXdNeTQ0TkRFc016SXdMalE1TnlBMU1ETXVPRFF4TERJMU1pNHdPQ0JETlRBekxqZzBNU3d4T0RNdU5qWXlJRFV3TXk0MU5URXNNVGMxTGpBNE15QTFNREl1TXpJMUxERTBPQzR5TVRNZ1F6VXdNUzR4TURJc01USXhMak01T1NBME9UWXVPRFF6TERFd015NHdPRFlnTkRrd0xqWXhOaXc0Tnk0d05qSWdRelE0TkM0eE56Z3NOekF1TkRrMklEUTNOUzQxTmpRc05UWXVORFEzSURRMk1TNDFOVGtzTkRJdU5EUXhJRU0wTkRjdU5UVXpMREk0TGpRek5pQTBNek11TlRBMExERTVMamd5TWlBME1UWXVPVE00TERFekxqTTROU0JETkRBd0xqa3hOQ3czTGpFMU55QXpPREl1TmpBeExESXVPRGs0SURNMU5TNDNPRGNzTVM0Mk56VWdRek15T0M0NU1UY3NNQzQwTkRrZ016SXdMak16T0N3d0xqRTFPU0F5TlRFdU9USXhMREF1TVRVNUlGb2dUVEkxTVM0NU1qRXNORFV1TlRVZ1F6TXhPUzR4T0RZc05EVXVOVFVnTXpJM0xqRTFOQ3cwTlM0NE1EY2dNelV6TGpjeE9DdzBOeTR3TVRrZ1F6TTNPQzR5T0N3ME9DNHhNemtnTXpreExqWXhPU3cxTWk0eU5ETWdOREF3TGpRNU5pdzFOUzQyT1RNZ1F6UXhNaTR5TlRVc05qQXVNall6SURReU1DNDJORGNzTmpVdU56SXlJRFF5T1M0ME5qSXNOelF1TlRNNElFTTBNemd1TWpjNExEZ3pMak0xTXlBME5ETXVOek0zTERreExqYzBOU0EwTkRndU16QTNMREV3TXk0MU1EUWdRelExTVM0M05UY3NNVEV5TGpNNE1TQTBOVFV1T0RZeExERXlOUzQzTWlBME5UWXVPVGd4TERFMU1DNHlPRElnUXpRMU9DNHhPVE1zTVRjMkxqZzBOaUEwTlRndU5EVXNNVGcwTGpneE5DQTBOVGd1TkRVc01qVXlMakE0SUVNME5UZ3VORFVzTXpFNUxqTTBOU0EwTlRndU1Ua3pMRE15Tnk0ek1UTWdORFUyTGprNE1Td3pOVE11T0RjM0lFTTBOVFV1T0RZeExETTNPQzQwTXprZ05EVXhMamMxTnl3ek9URXVOemM0SURRME9DNHpNRGNzTkRBd0xqWTFOU0JETkRRekxqY3pOeXcwTVRJdU5ERTBJRFF6T0M0eU56Z3NOREl3TGpnd05pQTBNamt1TkRZeUxEUXlPUzQyTWpFZ1F6UXlNQzQyTkRjc05ETTRMalF6TnlBME1USXVNalUxTERRME15NDRPVFlnTkRBd0xqUTVOaXcwTkRndU5EWTJJRU16T1RFdU5qRTVMRFExTVM0NU1UWWdNemM0TGpJNExEUTFOaTR3TWlBek5UTXVOekU0TERRMU55NHhOQ0JETXpJM0xqRTFPQ3cwTlRndU16VXlJRE14T1M0eE9URXNORFU0TGpZd09TQXlOVEV1T1RJeExEUTFPQzQyTURrZ1F6RTROQzQyTlN3ME5UZ3VOakE1SURFM05pNDJPRFFzTkRVNExqTTFNaUF4TlRBdU1USXpMRFExTnk0eE5DQkRNVEkxTGpVMk1TdzBOVFl1TURJZ01URXlMakl5TWl3ME5URXVPVEUySURFd015NHpORFVzTkRRNExqUTJOaUJET1RFdU5UZzJMRFEwTXk0NE9UWWdPRE11TVRrMExEUXpPQzQwTXpjZ056UXVNemM1TERReU9TNDJNakVnUXpZMUxqVTJOQ3cwTWpBdU9EQTJJRFl3TGpFd05DdzBNVEl1TkRFMElEVTFMalV6TkN3ME1EQXVOalUxSUVNMU1pNHdPRFFzTXpreExqYzNPQ0EwTnk0NU9Dd3pOemd1TkRNNUlEUTJMamcyTERNMU15NDROemNnUXpRMUxqWTBPQ3d6TWpjdU16RXpJRFExTGpNNU1Td3pNVGt1TXpRMUlEUTFMak01TVN3eU5USXVNRGdnUXpRMUxqTTVNU3d4T0RRdU9ERTBJRFExTGpZME9Dd3hOell1T0RRMklEUTJMamcyTERFMU1DNHlPRElnUXpRM0xqazRMREV5TlM0M01pQTFNaTR3T0RRc01URXlMak00TVNBMU5TNDFNelFzTVRBekxqVXdOQ0JETmpBdU1UQTBMRGt4TGpjME5TQTJOUzQxTmpNc09ETXVNelV6SURjMExqTTNPU3czTkM0MU16Z2dRemd6TGpFNU5DdzJOUzQzTWpJZ09URXVOVGcyTERZd0xqSTJNeUF4TURNdU16UTFMRFUxTGpZNU15QkRNVEV5TGpJeU1pdzFNaTR5TkRNZ01USTFMalUyTVN3ME9DNHhNemtnTVRVd0xqRXlNeXcwTnk0d01Ua2dRekUzTmk0Mk9EY3NORFV1T0RBM0lERTROQzQyTlRVc05EVXVOVFVnTWpVeExqa3lNU3cwTlM0MU5TQmFJaUJwWkQwaVJtbHNiQzB4SWlCbWFXeHNQU0lqUmtaR1JrWkdJaUJ0WVhOclBTSjFjbXdvSTIxaGMyc3RNaWtpUGp3dmNHRjBhRDRnSUNBZ0lDQWdJRHd2Wno0Z0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWsweU5URXVPVEl4TERNek5pNHdOVE1nUXpJd05TNDFORE1zTXpNMkxqQTFNeUF4TmpjdU9UUTNMREk1T0M0ME5UY2dNVFkzTGprME55d3lOVEl1TURnZ1F6RTJOeTQ1TkRjc01qQTFMamN3TWlBeU1EVXVOVFF6TERFMk9DNHhNRFlnTWpVeExqa3lNU3d4TmpndU1UQTJJRU15T1RndU1qazRMREUyT0M0eE1EWWdNek0xTGpnNU5Dd3lNRFV1TnpBeUlETXpOUzQ0T1RRc01qVXlMakE0SUVNek16VXVPRGswTERJNU9DNDBOVGNnTWprNExqSTVPQ3d6TXpZdU1EVXpJREkxTVM0NU1qRXNNek0yTGpBMU15QmFJRTB5TlRFdU9USXhMREV5TWk0M01UVWdRekU0TUM0ME56UXNNVEl5TGpjeE5TQXhNakl1TlRVMkxERTRNQzQyTXpNZ01USXlMalUxTml3eU5USXVNRGdnUXpFeU1pNDFOVFlzTXpJekxqVXlOaUF4T0RBdU5EYzBMRE00TVM0ME5EUWdNalV4TGpreU1Td3pPREV1TkRRMElFTXpNak11TXpZM0xETTRNUzQwTkRRZ016Z3hMakk0TlN3ek1qTXVOVEkySURNNE1TNHlPRFVzTWpVeUxqQTRJRU16T0RFdU1qZzFMREU0TUM0Mk16TWdNekl6TGpNMk55d3hNakl1TnpFMUlESTFNUzQ1TWpFc01USXlMamN4TlNCYUlpQnBaRDBpUm1sc2JDMDBJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5ERTJMall5Tnl3eE1UY3VOakEwSUVNME1UWXVOakkzTERFek5DNHpJRFF3TXk0d09USXNNVFEzTGpnek5DQXpPRFl1TXprMkxERTBOeTQ0TXpRZ1F6TTJPUzQzTURFc01UUTNMamd6TkNBek5UWXVNVFkyTERFek5DNHpJRE0xTmk0eE5qWXNNVEUzTGpZd05DQkRNelUyTGpFMk5pd3hNREF1T1RBNElETTJPUzQzTURFc09EY3VNemN6SURNNE5pNHpPVFlzT0RjdU16Y3pJRU0wTURNdU1Ea3lMRGczTGpNM015QTBNVFl1TmpJM0xERXdNQzQ1TURnZ05ERTJMall5Tnl3eE1UY3VOakEwSWlCcFpEMGlSbWxzYkMwMUlpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crSUNBZ0lEd3ZaejQ4TDNOMlp6ND0pO1xuXHRcdFx0fVxuXG5cdFx0XHQmIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRcdGNvbG9yOiBoc2woMzAyLCAxMDAlLCA5NCUpO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiBoc2woMCwgMCUsIDEwMCUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiQGNrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL3RoZW1lL21peGlucy9fcndkLmNzc1wiO1xuXG4uY2suY2stbWVkaWEtZm9ybSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblxuXHQmIC5jay1sYWJlbGVkLWlucHV0IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHQmIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0JiAuY2stbGFiZWxlZC1pbnB1dCB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vbWl4aW5zL19yd2QuY3NzXCI7XG5cbi5jay5jay1tZWRpYS1mb3JtIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0fVxuXG5cdEBtaXhpbiBjay1tZWRpYS1waG9uZSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKTtcblxuXHRcdCYgLmNrLWxhYmVsZWQtaW5wdXQge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwO1xuXG5cdFx0XHQmIC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0LyogTGV0IHRoZSBsb25nIGVycm9yIG1lc3NhZ2VzIHdyYXAgaW4gdGhlIG5hcnJvdyBmb3JtLiAqL1xuXHRcdFx0JiAuY2stbGFiZWxlZC1pbnB1dF9fZXJyb3Ige1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYgLmNrLWJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXG5cdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2stY29udGVudCAubWVkaWEge1xuXHQvKiBEb24ndCBhbGxvdyBmbG9hdGVkIGNvbnRlbnQgb3ZlcmxhcCB0aGUgbWVkaWEuXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvaXNzdWVzLzUzICovXG5cdGNsZWFyOiBib3RoO1xuXG5cdC8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBzb21lIHNwYWNlIGJldHdlZW4gdGhlIGNvbnRlbnQgYW5kIHRoZSBtZWRpYS4gKi9cblx0bWFyZ2luOiAxZW0gMDtcbn1cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cbiIsIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAxOCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kLlxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci10YWJsZS1mb2N1c2VkLWNlbGwtYmFja2dyb3VuZDogaHNsKDIwOCwgOTAlLCA5OCUpO1xufVxuXG4uY2std2lkZ2V0LnRhYmxlIHtcblx0JiB0ZCxcblx0JiB0aCB7XG5cdFx0Ji5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZS5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZV9mb2N1c2VkIHtcblx0XHRcdC8qIEEgdmVyeSBzbGlnaHQgYmFja2dyb3VuZCB0byBoaWdobGlnaHQgdGhlIGZvY3VzZWQgY2VsbCAqL1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdGFibGUtZm9jdXNlZC1jZWxsLWJhY2tncm91bmQpO1xuXG5cdFx0XHQvKiBGaXhlcyB0aGUgcHJvYmxlbSB3aGVyZSBzdXJyb3VuZGluZyBjZWxscyBjb3ZlciB0aGUgZm9jdXNlZCBjZWxsJ3MgYm9yZGVyLlxuXHRcdFx0SXQgZG9lcyBub3QgZml4IHRoZSBwcm9ibGVtIGluIGFsbCBwbGFjZXMgYnV0IHRoZSBVWCBpcyBpbXByb3ZlZC5cblx0XHRcdFNlZSBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRhYmxlL2lzc3Vlcy8yOS4gKi9cblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0xcHg7IC8qIHByb2dyZXNzaXZlIGVuaGFuY2VtZW50IC0gbm8gSUUgc3VwcG9ydCAqL1xuXHRcdH1cblx0fVxufVxuIiwiLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDE4LCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQuXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nOiAxMHB4O1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtaGVpZ2h0OiAxMXB4O1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtd2lkdGg6IDEycHg7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1tYXJnaW46IDFweDtcblx0LS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LWJvcmRlci1jb2xvcjogaHNsKDAsIDAlLCA3NSUpO1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtYm9yZGVyLWFjdGl2ZS1jb2xvcjogaHNsKDIwOCwgNzMlLCA2MSUpO1xuXHQtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtYWN0aXZlLWJhY2tncm91bmQ6IGhzbCgyMDgsIDEwMCUsIDg5JSk7XG59XG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duX19ncmlkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiB3cmFwO1xuXHQvKiBUaGUgd2lkdGggb2YgYSBjb250YWluZXIgc2hvdWxkIG1hdGNoIDEwIGl0ZW1zIGluIGEgcm93IHNvIHRoZXJlIHdpbGwgYmUgYSAxMHgxMCBncmlkLiAqL1xuXHR3aWR0aDogY2FsYyh2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LXdpZHRoKSAqIDEwICsgdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1tYXJnaW4pICogMjAgKyB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tcGFkZGluZykgKiAyKTtcblx0cGFkZGluZzogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmcpIHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nKSAwO1xufVxuXG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fbGFiZWwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWdyaWQtYm94IHtcblx0d2lkdGg6IHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtd2lkdGgpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtaGVpZ2h0KTtcblx0bWFyZ2luOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbik7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtYm9yZGVyLWNvbG9yKTtcblx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXG5cdCYuY2stb24ge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1ib3JkZXItYWN0aXZlLWNvbG9yKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0fVxufVxuXG4iLCIvKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMTgsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZC5cbiAqL1xuXG4uY2stY29udGVudCAudGFibGUge1xuXHQvKiBHaXZlIHRoZSB0YWJsZSB3aWRnZXQgc29tZSBhaXIgYW5kIGNlbnRlciBpdCBob3Jpem9udGFsbHkgKi9cblx0bWFyZ2luOiAxZW0gYXV0bztcblx0ZGlzcGxheTogdGFibGU7XG5cblx0JiB0YWJsZSB7XG5cdFx0LyogVGhlIHRhYmxlIGNlbGxzIHNob3VsZCBoYXZlIHNsaWdodCBib3JkZXJzICovXG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRib3JkZXItc3BhY2luZzogMDtcblxuXHRcdC8qIFRoZSBvdXRlciBib3JkZXIgb2YgdGhlIHRhYmxlIHNob3VsZCBiZSBzbGlnaHRseSBkYXJrZXIgdGhhbiB0aGUgaW5uZXIgbGluZXMuXG5cdFx0QWxzbyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10YWJsZS9pc3N1ZXMvNTAuICovXG5cdFx0Ym9yZGVyOiAxcHggZG91YmxlIGhzbCgwLCAwJSwgNzAlKTtcblxuXHRcdCYgdGQsXG5cdFx0JiB0aCB7XG5cdFx0XHRtaW4td2lkdGg6IDJlbTtcblx0XHRcdHBhZGRpbmc6IC40ZW07XG5cdFx0XHRib3JkZXItY29sb3I6IGhzbCgwLCAwJSwgODUlKTtcblx0XHR9XG5cblx0XHQmIHRoIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0YmFja2dyb3VuZDogaHNsKDAsIDAlLCA5OCUpO1xuXHRcdH1cblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/