/* =================================================================== */
/* ! Core Brand Palette
/* =================================================================== */
/* Pale navy tint - settings headings, icon chips */
/* =================================================================== */
/* ! Theme Colors
/* =================================================================== */
/* Primary Action Color */
/* Used for 'Coming Soon' banner and CTA buttons. */
/* Success / Secondary Theme Color */
/* Accent / Tertiary Theme Color */
/* Danger / Error Colors */
/* Specific UI Colors */
/* For Admin note border */
/* For Nurse note border */
/* =================================================================== */
/* ! Greys & Neutrals
/* =================================================================== */
/* Text */
/* Primary text on light backgrounds */
/* Subtitles and helper text */
/* Modal body text */
/* Borders & UI */
/* Form control borders */
/* btn-lost border */
/* Navigation component */
/* Backgrounds */
/* Alternate table color */
/* Disabled button background */
/* =================================================================== */
/* ! Dark Theme (Navy)
/* Used for website landing pages
/* =================================================================== */
/* Modal titles, processing text */
/* Modal backdrop */
/* Sticky header */
/* =================================================================== */
/* ! Transparent Whites
/* =================================================================== */
/* Card backgrounds */
/* Borders */
/* Body text on dark bg */
/* =================================================================== */
/* ! Transparent Blacks
/* =================================================================== */
/* =================================================================== */
/* ! Transparent Theme Colors
/* =================================================================== */
/* Cyan Tints */
/* Form focus shadow */
/* Green Tints */
/* Yellow Tints */
/* Navy Tints */
/* Lavender Tints */
/* =================================================================== */
/* ! Warning Callout
/* =================================================================== */
/* =================================================================== */
/* ! Typography
/* =================================================================== */
/* Font Family */
/* Font Weights */
/* Font Sizes */
/* Line Heights */
/* =================================================================== */
/* ! Sizing & Layout
/* =================================================================== */
/* Border Radius */
/* =================================================================== */
/* ! Shadows
/* =================================================================== */
@font-face {
    font-family: 'Gordita Heavy Italic';
    src: url('./fonts/gorditablackitalic-webfont.woff2') format('woff2'), url('./fonts/gorditablackitalic-webfont.woff') format('woff'), url('./fonts/gorditablackitalic-webfont.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}
.font-heavy-italic {
    font-family: 'Gordita Heavy Italic';
}
@font-face {
    font-family: 'Gordita Heavy';
    src: url('./fonts/gorditablack-webfont.woff2') format('woff2'), url('./fonts/gorditablack-webfont.woff') format('woff'), url('./fonts/gorditablack-webfont.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}
.font-heavy {
    font-family: 'Gordita Heavy';
}
@font-face {
    font-family: 'Gordita Bold Italic';
    src: url('./fonts/gorditabolditalic-webfont.woff2') format('woff2'), url('./fonts/gorditabolditalic-webfont.woff') format('woff'), url('./fonts/gorditabolditalic-webfont.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
}
.font-bold-italic, .selected-doc-wrap .selected-doc-name, .retinopathy-popup .table-bordered th, .maculopathy-popup .table-bordered th {
    font-family: 'Gordita Bold Italic';
}
@font-face {
    font-family: 'Gordita Bold';
    src: url('./fonts/gorditabold-webfont.woff2') format('woff2'), url('./fonts/gorditabold-webfont.woff') format('woff'), url('./fonts/gorditabold-webfont.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}
.font-bold, .form-impact .radio-flex-wrap .radio-inline .marker, .table-complete th, .question-wrap span, .terms h1, .btn-next, .blue-box .header .h4, .pre-op-header h3, .pre-op-header h4, .patients-empty h4, .menu-section h4, .menu-item h4, .patient-header h3, .patient-header h4, .patient-header h5, .operation-form label, .operation-note-header h3, .operation-note-header h4 {
    font-family: 'Gordita Bold';
}
@font-face {
    font-family: 'Gordita Medium Italic';
    src: url('./fonts/gorditamediumitalic-webfont.woff2') format('woff2'), url('./fonts/gorditamediumitalic-webfont.woff') format('woff'), url('./fonts/gorditamediumitalic-webfont.ttf') format('truetype');
    font-weight: 600;
    font-style: italic;
}
.font-medium-italic {
    font-family: 'Gordita Medium Italic';
}
@font-face {
    font-family: 'Gordita Medium';
    src: url('./fonts/gorditamedium-webfont.woff2') format('woff2'), url('./fonts/gorditamedium-webfont.woff') format('woff'), url('./fonts/gorditamedium-webfont.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}
.font-medium, .form-impact .form-group-header .radio-flex-wrap .radio-inline, .popover h3.popover-title, .popover-normal h3.popover-title, .terms h3 {
    font-family: 'Gordita Medium';
}
@font-face {
    font-family: 'Gordita Regular Italic';
    src: url('./fonts/gorditaregularitalic-webfont.woff2') format('woff2'), url('./fonts/gorditaregularitalic-webfont.woff') format('woff'), url('./fonts/gorditaregularitalic-webfont.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}
.font-regular-italic, .text-area-wrap .count-remaining, .retinopathy-popup td, .retinopathy-popup p, .maculopathy-popup td, .maculopathy-popup p, .table-incisions th, .table-incisions td {
    font-family: 'Gordita Regular Italic';
}
@font-face {
    font-family: 'Gordita Regular';
    src: url('./fonts/gorditaregular-webfont.woff2') format('woff2'), url('./fonts/gorditaregular-webfont.woff') format('woff'), url('./fonts/gorditaregular-webfont.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}
.font-regular, .head-no-link, .search-form .form-group .form-control, .filter-select, .form-impact label.control-label, .popover .popover-content, .popover-normal .popover-content, .table-complete td:nth-child(1), .selected-doc-wrap .selected-doc-practice, .form-exam, .form-exam select, .form-exam .form-control, .terms, .pre-op-form, .pre-op-form select, .pre-op-form .form-control, .pre-op-header .head-link, .popover-preop-wrap label, .popover-preop-wrap .form-control, .operation-form, .operation-form select, .operation-form .form-control, .operation-form .marker, .operation-note-header .head-link, .head-link {
    font-family: 'Gordita Regular';
}
@font-face {
    font-family: 'Gordita Light Italic';
    src: url('./fonts/gorditalightitalic-webfont.woff2') format('woff2'), url('./fonts/gorditalightitalic-webfont.woff') format('woff'), url('./fonts/gorditalightitalic-webfont.ttf') format('truetype');
    font-weight: 200;
    font-style: italic;
}
.font-light-italic, .optional {
    font-family: 'Gordita Light Italic';
}
@font-face {
    font-family: 'Gordita Light';
    src: url('./fonts/gorditalight-webfont.woff2') format('woff2'), url('./fonts/gorditalight-webfont.woff') format('woff'), url('./fonts/gorditalight-webfont.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}
.font-light {
    font-family: 'Gordita Light';
}
html, body {
	height: 100%;
	font-size: 12px;
	-webkit-font-smoothing: unset !important;
	/*letter-spacing: 1px;*/
}
main {
	min-height: 100vh;
}
.bg-white {
	background: #ffffff;
}
.text-white {
	color: #ffffff;
}
.bg-navy {
	background: #0035d2;
}
.text-navy, .container-welcome-footer .footer-wrap ul a, .selected-doc-wrap .selected-doc-name, .terms h3, .blue-box .header, .pre-op-save-wrap .progression-wrap .save-progress, .table-medication, .pre-op-header h3, .pre-op-header h4, .patients-empty h4, .menu-section h4, .menu-item h4, .patient-header h3, .patient-header h4, .patient-header h5, .operation-note-save-wrap .progression-wrap .save-progress, .table-incisions, .operation-note-header h3, .operation-note-header h4, .operation-note-header h6 {
	color: #0035d2;
}
.bg-darkNavy {
	background: #2a307f;
}
.text-darkNavy {
	color: #2a307f;
}
.bg-cyan {
	background: #00bcd4;
}
.text-cyan {
	color: #00bcd4;
}
.bg-blue {
	background: #2072bb;
}
.text-blue {
	color: #2072bb;
}
.bg-purple {
	background: #9C27B0;
}
.text-purple, .optional {
	color: #9C27B0;
}
.bg-paleBlue {
	background: #f2f6fb;
}
.text-paleBlue {
	color: #f2f6fb;
}
.bg-navGrey {
	background: #e7e9e9;
}
.text-navGrey {
	color: #e7e9e9;
}
.bg-pageBackGround {
	background: #ebecea;
}
.text-pageBackGround {
	color: #ebecea;
}
.bg-textGrey {
	background: #343a40;
}
.text-textGrey, .form-impact label.control-label, .form-impact .form-group-header .radio-flex-wrap .radio-inline, .selected-doc-wrap .selected-doc-practice, .terms {
	color: #343a40;
}
.bg-logoutGrey {
	background: #404141;
}
.text-logoutGrey, .terms h1 {
	color: #404141;
}
.text-red {
	color: #a94442 !important;
}
.text-bright-red {
	color: red;
}
.outline {
	outline: 1px dotted red;
}
.unstyled {
	color: inherit;
	text-decoration: inherit;
	cursor: inherit;
}
.unstyled:active, .unstyled:focus {
    outline: none;
}
.unstyled:hover {
    text-decoration: underline !important;
    color: inherit;
}
.pointer {
	cursor: pointer !important;
}
.text-small {
	font-size: 0.8em;
}
.mb-0, .selected-doc-wrap .selected-doc-practice {
	margin-bottom: 0;
}
.th-no-border {
	/* border-width: 0px !important; */
	border-left-width: 0px !important;
	border-right-width: 0px !important;
	border-bottom-color: #2072bb !important;
	vertical-align:middle !important;
}
.th-border-top {
	border-top-color: #2072bb;
}
.toast-container {
	margin-top: 25%;
}
.flex-half-row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: baseline;
	    align-items: baseline;
	padding-left: 2em;
	padding-right: 2em;
	padding-top: 8px;
	padding-bottom: 8px;
}
.flex-half-cell {
	width: 50%;
}
.flex-three-cell {
	width: 33%;
	text-align: center;
}
.navy-thin-line {
	height: 1px;
	background-color: #ddd;
	margin-left: 1.5em;
	margin-right: 1.5em;
}
.remove-diagnosis {
	padding: 0;
	margin: 0;
	border: 1px solid #0035d2;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: white;
}
.remove-diagnosis:hover {
    background-color: #0035d2;
    color: white;
}
.remove-procedure {
	padding: 0;
	margin: 0;
	border: 1px solid #ff0000;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: white;
}
.remove-procedure:hover {
    background-color: #ff0000;
    color: white;
}
.arrow-right {
	border: solid #0035d2;
	border-width: 0 2px 2px 0;
	display: inline-block;
	padding: 3px;
	margin-bottom: 2px;
	margin-left: 2px;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
.text-grey-light {
	color: #343a40;
	font-family: 'Gordita Light';
}
.text-procedure {
	color: #ff0000;
}
.title-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: baseline;
	    align-items: baseline;
	margin-bottom: 0.2em;
}
.filter-grey{
	filter: invert(66%) sepia(6%) saturate(173%) hue-rotate(190deg) brightness(89%) contrast(85%);
}
.time-picker {
	margin-left: 1em;
	padding-left: 1em;
    height: 3.0em;
    border-width: 1px;
    border-color: #0035d2;
    border-radius: 24px;
}
.scroll-container {
	position:absolute;
    width: 42.5em;
    height:80%;
	overflow-y: scroll;
	overflow-x: hidden;
	margin-left: 1.5em;
	margin-top: 2em;
}
.scroll-container::-webkit-scrollbar {
	width: 5px; /* Set the width of the scrollbar */
	background: transparent;
	/* position: absolute; */
 }
.scroll-container::-webkit-scrollbar-thumb {
	background-color: #0035d2; /* Set the color of the thumb */
 }
/* Caps the diagnosis list height on the patient dashboard so a long list */
/* doesn't blow out the overall page scroll. */
.diagnosis-scroll-container {
	max-height: 24em;
	overflow-y: auto;
	overflow-x: hidden;
	padding-right: 0.5em;
}
.diagnosis-scroll-container::-webkit-scrollbar {
	width: 5px;
	background: transparent;
}
.diagnosis-scroll-container::-webkit-scrollbar-thumb {
	background-color: #0035d2;
	border-radius: 3px;
}
/* The documents list scrolls in place instead of paging, so the section keeps a fixed height */
/* however many documents a patient has. The scrollbar is left visible rather than overlaid so */
/* the position in the list is always readable. */
.documents-scroll-container {
	max-height: 32em;
	overflow-y: auto;
	overflow-x: hidden;
	padding-right: 0.5em;
	scrollbar-width: thin;
	scrollbar-color: #0035d2 rgba(0, 53, 210, 0.12);
}
.documents-scroll-container::-webkit-scrollbar {
	width: 8px;
}
.documents-scroll-container::-webkit-scrollbar-track {
	background: rgba(0, 53, 210, 0.12);
	border-radius: 4px;
}
.documents-scroll-container::-webkit-scrollbar-thumb {
	background-color: #0035d2;
	border-radius: 4px;
}
.documents-scroll-more {
	padding: 0.5em 0 0.25em;
	text-align: center;
	color: #0035d2;
	font-size: 0.85em;
}
/* Paging is replaced by the scrolling above, so ng-table's pager is not shown. */
patient-file-table .ng-table-pager {
	display: none;
}
.progress-note-container {
	border-width: 2px;
	border-style: solid;
	border-color: #0035d2;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
}
.progress-note-container-delete {
	border-width: 2px;
	border-style: solid;
	border-color: #343a40;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
}
.progress-note-container-admin {
	border-width: 2px;
	border-style: solid;
	border-color: #d87d4a;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
}
.progress-note-container-nurse {
	border-width: 2px;
	border-style: solid;
	border-color: #2e7d32;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
}
.progress-note-container-scheduled {
	border-width: 2px;
	border-style: solid;
	border-color: #00796b;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
}
.progress-note-container-injection {
	border-width: 2px;
	border-style: solid;
	border-color: #9C27B0;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
}
.progress-note-bold {
	font-family: 'Gordita Bold';
	font-size: 12px;
	color: black !important;
}
.progress-note-bold-delete {
	font-family: 'Gordita Bold';
	font-size: 12px;
	color: #343a40 !important;
}
.progress-note-link {
	text-decoration: underline;
	font-family: 'Gordita Bold';
}
.panel-title {
    font-size: 14px;
    font-family: 'Gordita Bold';
}
#scrollable-dropdown-menu .dropdown-menu {
	height: 10em;
	overflow-y: auto;
	margin-top: -12.5em;
  }
.error-message {
	color: #a94442;
	display: block;
	margin-top: 5px;
}
.dialog-content-box {
	position: relative;
	height:32rem;
	width: 100%;
}
.invoice-item-cell {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	gap: 0.5rem;
}
.invoice-code-label {
	border-width: 1px;
	border-color: #0035d2;
	border-style: solid;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
}
.invoice-item-row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-align: baseline;
	    align-items: baseline;
	gap: 1rem;
}
.invoice-details-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	gap: 0.5rem;
	margin-left: 60%;
	margin-right: 4%;
}
.invoice-details-section {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	gap: 0.5rem;
	padding-bottom: 1rem;
	border-bottom-width: 1px;
	border-bottom-color: gray;
	border-bottom-style: solid;
}
.invoice-details-row {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	gap: 1rem;
	color: #0035d2;
	-ms-flex-pack: justify;
	    justify-content: space-between;
}
.view-invoice-modal {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
}
.header-group {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
}
.dismiss-close-icon {
	color: #ffffff;
	font-size: 20px;
	-ms-flex-item-align: end;
	    -ms-grid-row-align: end;
	    align-self: end;
	margin-right: 11%;
}
/* A row of action icons inside a table cell. Not a flex container: this class sits on the <td>, and a flex
   table cell drops out of the table's row layout - the browser sizes it to its own content, so the cell's
   bottom border is drawn at the height of the icons and no longer lines up with the cells either side. */
.icons-row {
	white-space: nowrap;
}
.icons-row > * {
    display: inline-block;
    vertical-align: middle;
}
.icons-row > * + * {
    margin-left: 1rem;
}
.md-dialog-container {
	-ms-flex-direction: column;
	    flex-direction: column;
	gap: 0.5rem;
}
#billing-dropdown-menu .dropdown-menu {
	max-height: 20rem;
	overflow-y: auto;
  }
.progress-note-header {
	margin-left: 0px;
	margin-right: 0px;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	margin-bottom: 1rem;
}
.progress-note-header-child {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	gap: 1rem;
}
.fc-toolbar h2 {
	font-size: 16px;
	padding-top: 0.5rem;
}
.nhi-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	gap: 1rem;
}
.nhi-container-left {
	width: 50%;
}
.nhi-container-right {
	width: 50%;
}
.name-row-container {
	display: -ms-flexbox;
	display: flex;
	gap: 0.5rem;
}
.red-label {
	color: red !important;
}
.nhi-column {
	max-width: 10rem;
	text-wrap: wrap;
	word-wrap: break-word;
}
.nhi-label {
	text-wrap: wrap;
	word-wrap: break-word;
	max-width: 80%;
}
.progress-note-procedure {
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: row;
		    flex-direction: row;
		gap: 1rem;
}
.fc-more-popover {
	max-height: 95%;
	overflow-y: auto;
}
.search-radio-label {
	color: #0035d2 !important;
	font-family: 'Gordita Medium' !important;
	font-size: 16px;
}
.patient-table-text {
	color: #0035d2 !important;
}
.red-text {
	color: red;
}
.text-area-break {
	white-space: pre-line;
	margin-top: -1.5rem;
}
.task-label-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
}
.task-label-child {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 100%;
}
.task-list-patient {
	width: 15%;
	/* text-align: center; */
}
.task-list-assigned {
	width: 20%;
	/* text-align: center; */
}
.task-list-description {
	width: 30%;
	/* text-align: center; */
	
}
.task-list-status {
	width: 5%;
	/* text-align: center; */
}
.task-list-delete {
	width: 3%;
	text-align: center;
}
.task-list-due {
	width: 7%;
	/* text-align: center; */
}
.task-list-label {
	width: 12%;
	/* text-align: center; */
}
.task-list-color {
	width: 2rem;
	height: 2rem;
	/* text-align: center; */
	border-radius: 0.5rem;
}
.task-done {
	text-decoration: line-through;
}
.button-footer {
	display: -ms-flexbox;
	display: flex;
	gap: 1rem;
}
.nav-li {
	height: 2.5rem;
    line-height: 2.5rem;
}
.md-badge {
	z-index: 80 !important;
 }
.sign-buttons-group {
 	display: -ms-flexbox;
 	display: flex;
 	-ms-flex-direction: row;
 	    flex-direction: row;
 	gap: 1rem;
	width: 100%;
	margin-left: 1rem;
 }
.sign-buttons-container {
 	display: -ms-flexbox;
 	display: flex;
 	-ms-flex-direction: row;
 	    flex-direction: row;
	-ms-flex-pack:justify;
	    justify-content:space-between;
 }
.header-left-align > thead > tr > th {
	text-align: left;
}
.lvl-over {
	/* applied to a drop target when a draggable object is over it */
	border: 2px dashed black !important;
}
.lvl-target {
	/* applied to all drop targets when a drag operation begins, used to indicate drop targets on a page */
	background-color: #ddd;
	opacity: .5;
}
[draggable] {
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	    user-select: none;
	/* Required to make elements draggable in old WebKit */
	-khtml-user-drag: element;
	-webkit-user-drag: element;
	cursor: move;
	border:1px solid black;
}
.peg {
	font-weight: bold;
	border-width: 0px;
	border-radius: 4px;
	width: auto;
	height:3rem;
	margin: 10px;
	padding: 0.5rem;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: center;
	    justify-content: center;
	-ms-flex-align: center;
	    align-items: center;
	background-color: #019CD2;
	color: white;
}
.slot {
	margin-right:2px;
	margin-top:2px;
	width:25px;
	height:25px;
    display:inline-block;
    border: none;
}
.grey {
	background-color: grey;
}
pre strong {
	font-size:12pt;
}
.modal-close {
	z-index: 1;
	position: absolute;
	top: 7rem;
}
.my-drop-zone {
	border: dotted 3px lightgray;
}
.nv-file-over {
	border: dotted 3px red;
}
/* Default class applied to drop zones on over */
.another-file-over-class {
	border: dotted 3px green;
}
.location-container {
	margin-top: 0.5rem;
	border-width: 1px;
	border-color: #0035d2;
	border-radius: 4px;
	border-style: solid;
	padding: 0.5rem;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	color: #0035d2;
}
.popover-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	gap: 1rem;
	-ms-flex-align: baseline;
	    align-items: baseline;
}
div.printControls
{
	background-color:#edf0ec;
	height:100px;
	padding: 5px;
	bottom:0;
	display: -ms-flexbox;
	display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    gap: 1rem;
}
#labelImageDiv
{
	background-color: #b2b2b2;
	padding: 5px;
	margin: 0px;
}
#printDiv
{
	float:right;
	width:126px;
}
#printersDiv
{
	float:left;
}
.progress-bar-warning {
	background-color: #0035d2;
}
.clinic-letters-frame {
	width: 100%;
	max-height: 50vh;
	overflow-y: scroll;
	scrollbar-width: none;
}
.clinic-letters-container {
	border-width: 2px;
	border-style: solid;
	border-color: #0035d2;
	border-radius: 8px;
	margin-bottom: 1em;
	width: 100%;
	min-height: 5em;
	padding: 0.5em;
	cursor: pointer;
}
.clinic-letters-container:hover {
    background-color: #0035d2;
    color: white !important;
}
.clinic-letters-container:hover .clinic-letters-bold {
    color: white !important;
}
.clinic-letters-container .clinic-letters-bold {
    font-family: 'Gordita Bold';
    font-size: 12px;
    color: black !important;
    cursor: pointer;
}
.clinic-letters-content {
	width: 100%;
	display: -ms-flexbox;
	display: flex; 
	-ms-flex-direction: column; 
	    flex-direction: column;
}
.clinic-template-menu {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-align: end;
	    align-items: end;
}
.clinic-letter-footer {
	margin-left: -55px !important;
	margin-right: -55px !important;
	display: -ms-flexbox !important;
	display: flex !important;
	-ms-flex-direction: row-reverse !important;
	    flex-direction: row-reverse !important;
	padding-top: 1rem !important;
	padding-bottom: 1rem !important;
	margin-bottom: -3rem !important;
}
.md-chips {
	box-shadow: none !important;
}
.care-team-width {
	width: 36rem !important;
}
.note-editor .note-frame .note-editing-area .note-editable {
	color: #000000;
	font-family: 'Gordita Regular', sans-serif;
}
.note-editable>p {
	color: #000000;
}
.note-editor.note-airframe .note-status-output, .note-editor.note-frame .note-status-output {
	border-top-width: 0px !important;
}
@media print {
	@page {
        margin-left: 0.5in;
        margin-right: 0.5in;
        margin-top: 0.3in;
        margin-bottom: 0.3in;
      }
  }
.note-editor-diagnosis-table {
    width: 60%;
	margin-left: 20%;
	table-layout: fixed;
}
.note-editor-diagnosis-table th, .note-editor-diagnosis-table td {
    width: 50%;
    overflow: hidden;
}
.head-no-link {
	color: #0035d2;
	font-size: 14px;
}
.intro-customTooltip * {
  color: #4a4a4a;
  font-size: 15px
}
.intro-customTooltip .introjs-tooltip-title {
  color: #0035d2;
}
.dropdown-menu[uib-typeahead-popup] {
    max-height: 250px;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 1050;
}
/* .mui-alert {
  padding: 12px 16px;
  margin: 1rem;
  border-radius: 4px;
  font-size: 14px;
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  border: 1px solid transparent;
} */
.mui-alert-info {
  background: #e8f4fd;
  color: #055160;
  border-color: #b6e0fe;
}
.mui-alert-success {
  background: #edf7ed;
  color: #1e4620;
  border-color: #c8e6c9;
}
.mui-alert-warning {
  background: #fff4e5;
  color: #663c00;
  border-color: #ffecb5;
}
.mui-alert-error {
  background: #fdecea;
  color: #611a15;
  border-color: #f5c2c7;
}
.mui-alert {
  position: relative;
  padding: 12px 40px 12px 16px;
  margin: 1rem;
  border-radius: 4px;
  font-size: 14px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 12px;
  border: 1px solid transparent;
}
.mui-alert-close {
  position: absolute;
  right: 8px;
  top: 8px;
  background: transparent;
  border: none;
  font-size: 16px;
  cursor: pointer;
  color: inherit;
  opacity: 0.6;
}
.mui-alert-close:hover {
  opacity: 1;
}
.no-class {
	width: 100%;
	height: 100%;
}
/* Sits beside a document's name while its file is still being analysed. The app's spinner is
   configured page-sized, so this box gives the inline one somewhere its own size to centre in -
   spin.js positions itself against the nearest positioned ancestor. */
.inline-spinner {
	display: inline-block;
	position: relative;
	width: 14px;
	height: 14px;
	vertical-align: middle;
	margin-right: 6px;
}
button.btn {
	border-radius: 24px;
}
.btn-dropdown-multiselect {
	height: 34px;
	text-align: start;
	border-color: #0035d2;
	background-color: #ffffff;
	color: #0035d2;
	padding: 4px 18px;
	font-size: 12px;
	width: 100%;
	min-width: 16em;
	transition: all 0.3s ease;
}
.btn-dropdown-multiselect:hover, .btn-dropdown-multiselect:active {
    color: #ffffff;
    background-color: rgb(0, 45, 179);
    outline: 0;
}
.btn-dropdown-multiselect:focus {
    color: #0035d2;
    outline: 0;
}
.btn-dropdown-multiselect:hover:focus {
    color: #ffffff;
}
.btn-navy {
	background-color: #0035d2;
	color: #ffffff;
	padding: 4px 18px;
	font-size: 12px;
	width: 100%;
	max-width: 220px;
	transition: all 0.3s ease;
}
.btn-navy:hover, .btn-navy:active {
    color: #ffffff;
    background-color: rgb(0, 45, 179);
    outline: 0;
}
.btn-navy:focus {
    color: #ffffff;
    outline: 0;
}
.btn-cancel {
	background-color: transparent;
	color: #343a40;
	padding: 4px 18px;
	font-size: 12px;
	border: 1px solid #bdbec1;
	width: 100%;
	max-width: 220px;
	transition: all 0.3s ease;
}
.btn-cancel:hover, .btn-cancel:active {
    color: #404141;
    background-color: rgb(230, 230, 230);
    outline: 0;
}
.btn-cancel:focus {
    outline: 0;
}
.btn-cyan {
	background-color: #ffffff;
	color: #00bcd4;
	border: 1px solid #00bcd4;
	padding: 4px 18px;
	font-size: 12px;
	width: 100%;
	max-width: 220px;
	transition: background-color 0.3s ease;
}
.btn-cyan:hover, .btn-cyan:active {
    color: #00bcd4;
    background-color: rgb(235, 235, 235);
}
.btn-cyan:focus {
    color: #00bcd4;
    outline: 0;
}
.btn-cyan-solid {
	background-color: #00bcd4;
	color: #ffffff;
	border: 1px solid #00bcd4;
	padding: 4px 18px;
	font-size: 12px;
	width: 100%;
	max-width: 220px;
	transition: background-color 0.3s ease;
}
.btn-cyan-solid:hover, .btn-cyan-solid:active {
    color: #ffffff;
    background-color: rgb(0, 167, 189);
}
.btn-cyan-solid:focus {
    color: #ffffff;
    outline: 0;
}
.btn-morph-wrap {
	position: relative;
	overflow: visible;
}
.btn-morph-wrap .btn-morph {
    width: 270px;
    max-width: 270px;
    padding-left: 10px;
    padding-right: 10px;
}
.btn-morph-wrap .morph-result {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 280px;
    width: 120px;
}
#download-referral-button {
	width: 240px;
}
/* Container for the AI elements */
.ai-verification-group {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 6px;
    margin-right: 6px;
}
/* Subtle, theme-matching badge (Soft cyan/blue background, Navy text) */
.ai-badge {
    background-color: #E8F4F8; /* matches a soft version of your bg-cyan */
    color: #1A2942; /* matches your text-darkNavy */
    padding: 2px 8px;
    border-radius: 12px; /* pill shape */
    font-size: 10px;
    font-family: 'Gordita Medium', sans-serif;
    border: 1px solid #D0E4EA;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
}
/* Minimalist base style for the buttons */
.ai-btn-action {
    background: transparent;
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 10px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    color: #888; /* Soft grey by default */
}
/* Hover effect for Accept: Fills in with your Navy theme */
.ai-btn-action.accept:hover {
    background-color: #1A2942; 
    color: #ffffff;
    border-color: #1A2942;
}
/* Hover effect for Decline: Slightly darker grey to signify removal without screaming "DANGER" */
.ai-btn-action.decline:hover {
    background-color: #F0F0F0;
    color: #333333;
    border-color: #CCCCCC;
}
main {
	min-height: 100vh;
	padding: 0;
	margin: 0;
	color: #343a40;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	background-image: linear-gradient(rgba(10, 37, 64, 0.95), rgba(10, 37, 64, 0.85)), url('https://cattrax-media.s3.ap-southeast-2.amazonaws.com/images/surgeon_image_cropped2.jpg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}
.nav-wrap-flex {
	padding: 30px 0;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	    justify-content: space-between;
}
.nav-wrap-flex .nav-logo-wrap {
    height: 120px;
}
.nav-wrap-flex .nav-logo-wrap img {
    height: 100%;
}
.nav-wrap-flex .nav-nav-wrap {
    -ms-flex-item-align: end;
        align-self: flex-end;
}
.nav-wrap-flex .nav-nav-wrap ul {
    display: -ms-flexbox;
    display: flex;
    padding: 5px;
    margin: 0;
    list-style-type: none;
    background: #f8f9fa;
    border-radius: 25px;
    letter-spacing: 1.2px;
    color: #343a40;
}
.nav-wrap-flex .nav-nav-wrap ul li {
    border-radius: 24px;
    padding: 2px 10px;
    font-size: 12px;
}
.nav-wrap-flex .nav-nav-wrap ul li a {
    color: #00bcd4;
}
.nav-wrap-flex .nav-nav-wrap ul li a:hover {
    text-decoration: none;
}
.nav-wrap-flex .nav-nav-wrap ul li.active {
    background: #00bcd4;
}
.nav-wrap-flex .nav-nav-wrap ul li.active a {
    color: #ffffff;
}
.nav-wrap-flex .nav-user-wrap {
    -ms-flex-item-align: start;
        align-self: flex-start;
    color: #343a40;
}
.nav-wrap-flex .nav-user-wrap ul {
    letter-spacing: 1.1px;
    display: -ms-flexbox;
    display: flex;
    padding: 8px;
    margin: 0;
    list-style-type: none;
    background: #f8f9fa;
    border-radius: 24px;
    color: #343a40;
}
.nav-wrap-flex .nav-user-wrap ul li {
    border-radius: 24px;
    padding: 0px 10px;
}
.nav-wrap-flex .nav-user-wrap ul li a {
    color: #343a40;
}
.nav-wrap-flex .nav-user-wrap ul li.active {
    background: linear-gradient(90deg, #660195, #0035d2);
}
.nav-wrap-flex .nav-user-wrap ul li.active a {
    color: #ffffff;
}
.patient-header .nav-nav-wrap ul li a {
    color: #0035d2;
    font-weight: 600;
}
.patient-header .nav-nav-wrap ul li a:hover {
    color: #0000CD;
    text-decoration: underline;
}
.btn-logout {
	height: 20px;
	padding: 0px 12px;
	font-size: 12px;
	color: #343a40;
}
p.btn-logout {
	margin-bottom: 0;
	padding-left: 0;
	padding-top: 2px;
	vertical-align: center;
	color: #343a40;
}
.lock {
	height: 12px;
	position: relative;
	bottom: 2px;
	margin-left: 10px;
}
.no-pad-left {
	padding-left: 0 !important;
}
.consult-timer-box {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row-reverse;
	    flex-direction: row-reverse;
	gap: 1rem;
	position: absolute;
	right: 1rem;
}
.timer-box {
	border-width: 1px;
	border-color: rgba(255, 255, 255, 0.2);
	border-style: solid;
	border-radius: 4px;
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-align: center;
	    align-items: center;
	gap: 1rem;
	min-width: 10rem;
	background: rgba(255, 255, 255, 0.05);
}
.container-welcome {
	background: #ffffff;
	min-height: 100%;
	padding: 0;
	border-radius: 1rem;
}
.container-welcome .welcome-wrap {
    padding: 70px;
    padding-bottom: 30px;
}
.container-welcome .welcome-wrap .h1 {
    font-size: 50px;
    margin-top: 0;
}
.container-welcome .welcome-wrap .welcome-question {
    margin-bottom: 20px;
    font-size: 16px;
}
.container-welcome .welcome-wrap select.form-control {
    width: 400px;
    border-radius: 18px;/* border-top-right-radius: 18px;
			border-top-left-radius: 18px; */
}
.container-welcome-footer {
	padding: 0;
	background-color: #f8faff; /* Off-white background */
	border-top: 1px solid #e0e6ed; /* Light border for separation */
}
.container-welcome-footer .footer-wrap {
		padding: 1.5rem 5%;
	}
.container-welcome-footer .footer-wrap ul {
			font-weight: 500;
			list-style-type: none;
			padding-left: 0;
			display: -ms-flexbox;
			display: flex;
			-ms-flex-direction: row;
			    flex-direction: row;
			-ms-flex-pack: center;
			    justify-content: center;
			gap: 4rem;
			margin: 0;
		}
.container-welcome-footer .footer-wrap ul li {
				margin: 0;
			}
/* Applying the navy color to the links */
.container-welcome-footer .footer-wrap ul a {
				text-decoration: none;
				transition: text-decoration 0.2s ease;
			}
/* Adding a simple hover effect */
.container-welcome-footer .footer-wrap ul a:hover {
					text-decoration: underline;
				}
iframe {
	/*border:3px solid #ddd;*/
	box-shadow: 0 0 3px 0px rgba(0,0,0,0.3);
	margin: 0 auto;
	display: block;
}
.notification-banner {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	padding: 1em;
	text-align: center;
	font-weight: bold;
	z-index: 10000;
}
/* STANDARD: vibrant purple */
.banner-STANDARD {
	background: rgba(156, 39, 176, 0.7); /* #9C27B0 */
	color: #fff;
}
/* HIGH: vivid green accent */
.banner-HIGH {
	background: rgba(0, 200, 83, 0.7); /* #00C853 */
	color: #fff;
}
/* URGENT: deep orange accent */
.banner-URGENT {
	background: rgba(255, 109, 0, 0.7); /* #FF6D00 */
	color: #fff;
}
/* ERROR: true red */
.banner-ERROR {
	background: rgba(213, 0, 0, 0.7); /* #D50000 */
	color: #fff;
}
.close-btn {
	position: absolute;
	right: 1em;
	top: 0.5em;
	background: transparent;
	border: none;
	font-size: 1.2em;
	color: inherit;
	cursor: pointer;
}
.container-refer, .container-dashboard {
	background-color: #ffffff;
	padding: 10px;
	/*padding-bottom: 20px;*/
	margin-bottom: 20px;
	border-radius: 1rem;
}
.to-top {
	position:fixed;
	bottom: 4em;
	right: 4em;
	/* padding: 5px; */
	/* border: 1px solid #ccc; */
	/* background: red; */
	/* color: white; */
	font-weight: bold;
	cursor: pointer;
	/* display: none; */
  }
.container-dashboard {
	background-color: #ffffff;
	border-radius: 1rem;
}
.refer-nav {
	height: 100px;
	background-color: #ebecea;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
	-ms-flex-align: center;
	    align-items: center;
}
.view-wrap {
	padding: 25px;
	padding-top: 0;
}
hr.subtitle-line-break {
	border-top-color: #bccad2;
}
hr.cyan {
	border-top-color: #00bcd4;
	border-top-width: 1px;
}
.skip-wrap button {
    width: 180px;
}
.skip-wrap button:first-child {
    margin-right: 20px;
}
.refer-nav-animation {
	height: 100px;
	background-color: #ebecea;
	/*background-color: #EBECEA;*/
	/*background-color: pink;*/
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	    justify-content: center;


}
/*align-items: center;*/
.refer-nav-animation .word-wrapper {/*background: lightblue;*/
    padding: 0 140px;
    padding: 0 100px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    margin-bottom: 5px;
}
.refer-nav-animation .word-wrapper p {
    margin-bottom: 0;
}
.refer-nav-animation .animation-outter-wrapper {
    margin: 0 140px;
    position: relative;
    overflow: hidden;
    height: 6px;
    background: #D2D3D5;
}
.refer-nav-animation .animation-outter-wrapper .prog {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: auto;
}
.refer-nav-animation .animation-outter-wrapper .indicator {
    position: absolute;
    background: linear-gradient(90deg, #0035d2 0%, #0035d2 90%, #00bcd4 98%, #00bcd4 100%);
    height: 6px;
    width: 100%;
    left:0;
    top:0;
    transition: all 1.5s ease;
    transform: translateX(-100%);/*border-radius: 50%;*/
    border-top-right-radius: 10px 10px;
    border-bottom-right-radius: 10px 10px;
}
.refer-nav-animation .animation-outter-wrapper .indicator.search {
    transform: translateX(-95%) !important;
}
.refer-nav-animation .animation-outter-wrapper .indicator.examination {
    transform: translateX(-50%);
}
.refer-nav-animation .animation-outter-wrapper .indicator.impact, .refer-nav-animation .animation-outter-wrapper .indicator.complete {
    transform: translateX(0%);
    border-top-right-radius: 0px 0px;
    border-bottom-right-radius: 0px 0px;
}
.search-wrap {
}
.search-form {
	padding-top: 10px;
}
/* padding-bottom: 10px; */
.search-form .form-group {
    position: relative;
}
.search-form .form-group .form-control {
    font-size: 12px !important;
    border-radius: 0;
    box-shadow: none;
    border-radius: 20px;
    color: #0035d2;
    border: 1px solid #0035d2;
}
.search-form .form-group .form-control:focus {
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102,175,233,.6);
}
.search-form .form-group label {
    margin-right: 10px;
}
.search-form .form-group-lastName input {
    width: 250px;
}
.search-form .form-group-DOB {/* margin-bottom: 1rem; */
}
/* margin-left: 50px; */
.search-form .form-group-DOB .form-control {
    width: 80px;
}
.search-form .form-group-DOB .form-control:nth-child(3) {
    margin: 0 3px;
}
.search-form .form-group-buttons {/*position: relative;*/
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    float: right;
    margin-right: 0;
    position: relative;
    top: -10px;
}
.search-form .form-group-buttons button:first-child {
    margin-bottom: 10px;
}
.search-form .form-group-search-buttons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    gap: 4rem;
}
.search-results table {
    margin-bottom: 0;
}
.search-results table tr:first-child {
    background-color: #ffffff !important;
}
.search-results table tr th {
}
.search-results-v2 table {
    margin-bottom: 0;
}
.search-results-v2 table tr:first-child {
}
.search-results-v2 table tr th {
}
.table-striped > tbody > tr:nth-of-type(even) {
	/* background-color: $paleBlue; */
	background-color: #ffffff;
}
.table-striped > tbody > tr:nth-of-type(odd) {
	background-color: #ffffff;
}
.table-blue-striped > tbody > tr:nth-of-type(even) {
	background-color: #f2f6fb;
}
.table-blue-striped > tbody > tr:nth-of-type(odd) {
	background-color: #ffffff;
}
.table-hover > tbody > tr:hover {
	background-color: #0035d2;
}
.table-hover > tbody > tr:hover td {
    color: #ffffff;
}
.table-no-border {
	border-width: 0px;
	border-top-width: 0.1em;
	border-top-color: #0035d2;
}
.table-no-border th {
    color: #0035d2;
    font-family: 'Gordita Heavy';
}
.table-no-border > tbody > tr[disabled] td {
	filter: blur(1px);
	pointer-events: none;
  }
.filter-dropdown {
	color: #0035d2;
    font-size: 12px;
}
.filter-select {
	border-radius: 20px;
	box-shadow: none;
	// color: #343a40;
	color: #0035d2;
	font-size: 12px;
	border: 1px solid #0035d2;
}
.search-label {
	color: #0035d2 !important;
}
.or-line {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-align: center;
	    align-items: center;
	margin-top: -1rem;
	width: 100%;
}
.or-seperator {
	width: 100%;
	margin-top: -5px;
	margin-bottom: 0px;
	border-color: #0035d2;
}
.address-icon {
	width: 2rem; 
	height: 2rem;
	margin-top: -0.5rem;
}
.score_text {
	color: #0035d2;
	font-family: 'Gordita Light Italic';
}
.flex-column-layout {
	display: -ms-flexbox !important;
	display: flex !important;
	-ms-flex-direction: column;
	    flex-direction: column;
	gap: 0.5rem;
}
.lastname-input {
	width: 250px !important;
	margin-right: 1rem;
}
.flex-row-layout {
	display: -ms-flexbox !important;
	display: flex !important;
	-ms-flex-direction: row;
	    flex-direction: row;
	gap: 0.5rem;
	-ms-flex-align: baseline;
	    align-items: baseline;
}
.hyper-link {
	color: #0035d2;
	text-decoration: underline;
	cursor: pointer;
	margin-left: 1rem;
}
.highlight-row {
	background-color: #0035d2;
	color: white;
	cursor: pointer !important;
}
.normal-row {
	background-color: white;
	color: #0035d2;
	cursor: pointer !important;
}
.modal-backdrop.am-fade {
	background: rgba(10, 37, 64, 0.65);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	opacity: 1;
	transition: opacity 0.3s ease;
}
.modal-backdrop.am-fade.ng-enter {
    opacity: 0;
}
.modal-backdrop.am-fade.ng-enter.ng-enter-active {
    opacity: 1;
}
.modal-backdrop.am-fade.ng-leave {
    opacity: 1;
}
.modal-backdrop.am-fade.ng-leave.ng-leave-active {
    opacity: 0;
}
.modal-dialog {
	border: 0;

}
.modal-dialog .modal-content {
    border: none;
    outline: none;
    border-radius: 16px;
    background-color: #ffffff;
    color: #333333;
    box-shadow: rgba(0, 0, 0, 0.4);
    overflow: hidden;
}
.modal-dialog .modal-content .dismiss {
    position: absolute;
    z-index: 10;
    top: 1rem;
    right: 1rem;
    font-size: 2.2rem;
    font-weight: 300;
    color: #888888;
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    transition: all 0.2s ease;
}
.modal-dialog .modal-content .dismiss:hover {
    opacity: 1;
    color: #333333;
    transform: rotate(90deg);
}
.modal-dialog.modal-center {
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.my-modal-header {
	padding: 1.5rem 2rem;
	background-color: #f8faff;
	border-bottom: 1px solid #e0e6ed;
}
.my-modal-body {
	padding: 2.5rem 2rem;
}
.diagnosis-modal-content {
	overflow: visible !important;
}
.my-modal-footer {
	border-top: 1px solid #e0e6ed;
	padding: 30px 30px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
	-ms-flex-pack: justify;
	    justify-content: space-between;

}
.my-modal-footer .btn {
    width: 180px;
}
.my-modal-footer--right {
	-ms-flex-pack: end;
	    justify-content: flex-end;

}
.my-modal-footer--right .btn + .btn {
    margin-left: 1rem;
}
.my-modal-footer--center {
	-ms-flex-pack: center;
	    justify-content: center;

}
.my-modal-footer--center .btn {
    width: 100%;
    max-width: 220px;
}
.form-control:focus {
	border-color: #00bcd4;
	outline: 0;
	box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.25);
}
.override-modal .form-control {
    border-radius: 8px;
}
.override-modal .additional-message {
    position: relative;
}
.override-modal .additional-message .message {
    padding: 10px;
}
.override-modal .additional-message .count-remaining {
    position: absolute;
    font-size: 0.75rem;
    bottom: 5px;
    right: 8px;
    color: #6c757d;
}
.override-modal .select-override, .override-modal .message {
    font-size: 1rem;
}
.table-details {
	width: 100%;
	max-width: 600px;
	border-collapse: collapse;
}
.table-details td {
    border: none !important;
    font-weight: 400;
    padding: 0.5rem;
}
.table-details td:first-child {
    width: 40%;
    text-align: right;
    color: #6c757d;
    padding-right: 1rem;
}
.table-details td:last-child {
    width: 60%;
    font-weight: 500;
    color: #333333;
}
.double-line-header {
	padding: 1rem 0;
	height: auto;
	min-height: 80px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-pack: center;
	    justify-content: center;
	gap: 0.25rem;
}
.icon-wrap-success {
	height: 100px;
	text-align: center;
	margin-bottom: 1rem;

}
.icon-wrap-success img {
    height: 100%;
}
.limit-width {
	max-width: 450px;
	margin: 0 auto;
}
.limit-width-wide {
	max-width: 650px;
	margin: 0 auto;
}
.form-group-override-select {
	margin: 0 auto;
	max-width: 700px;
}
.help-modal .subtitle-line-break {
    margin: 10px 0;
}
.help-modal .q-header-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
}
.help-modal .q-header-flex .h5 {
    max-width: 85%;
}
.help-modal .q-header-flex .q-icon-wrap {
    height: 35px;
    overflow: hidden;
    cursor: pointer;
}
.help-modal .q-header-flex .q-icon-wrap img {
    height: 100%;
}
.q-icon-wrap {
	transition: transform 0.3s ease;
}
.rotate {
	transform: rotate(-45deg);
}
.q-body-wrap {
	display: none;
	padding-right: 60px;
	color: #6c757d;
}
.my-modal-body-help {
	max-width: 800px;
	margin: 0 auto;
}
.table-contact {
	margin-bottom: 0;
}
.table-contact td {
    border: 0 !important;
    font-weight: 400;
    color: #6c757d;
    padding: 3px 0 !important;
}
.table-contact td:first-child {
    width: 123px;
}
.contact-name {
	margin-top: 20px;
	margin-bottom: 10px;
	font-weight: 600;
}
.morph-modal {
	color: #6c757d;

}
.morph-modal .form-control {
    border-radius: 8px;
    color: #333333;
    font-weight: 400;
    font-size: 1rem;
}
.morph-modal .form-control option {
    color: #333333;
}
.morph-modal .lens-wrap {
    margin-bottom: 5px;
}
.morph-modal .lens-wrap img {
    width: 100%;
    border-radius: 8px;
}
.morph-modal .lens-wrap-1 {
    margin-top: 20px;
}
@media (min-width: 992px) {
	.modal-lg-morph {
		width: 984px;
	}
}
.referral-radio-wrap {
	margin-top: 15px;

}
.referral-radio-wrap .radio-inline .marker {
    position: relative;
    left: -3px;
    top: 0px;
}
.referral-radio-wrap .form-group {
    margin-bottom: 10px;
}
.referral-radio-wrap input[type="radio"] {
    margin-top: 1px;
}
.referral-radio-wrap .help-block {
    position: absolute;
    top: 10px;
}
.notification-body {
	max-width: 450px;
	margin: 0 auto;
	font-weight: 400;
	color: #6c757d;

}
.notification-body ul {
    padding-left: 0;
    list-style-type: none;
}
.notification-body ul > li > ul {
    padding-left: 40px;
}
.notification-body li {
    margin-bottom: 10px;
}
.hidden {
	display: none;
}
.flex-double-rows {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: center;
	    align-items: center;
	padding-top: 1em !important;
	border-top-width: 0px !important;
}
.pharmacy-option {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
}
.pharmacy-title {
	padding-top: 0.1em;
	font-weight: 500;
}
.pharmacy-address {
	padding-top: 0.1em;
	padding-bottom: 0.1em;
	font-size: 0.9rem;
	color: #6c757d;
}
.md-dialog-customer-container {
	border: none;
	outline: none;
	border-radius: 16px;
	background-color: #ffffff;
	color: #333333;
	box-shadow: rgba(0, 0, 0, 0.4);
	overflow: hidden;
}
.md-dialog-customer-container .dialog-toolbar {
    -ms-flex-pack: center;
        justify-content: center;/* center all items */
    position: relative;
}
.md-dialog-customer-container .dialog-title {
    -ms-flex: none;
        flex: none;/* prevent stretching */
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}
.md-dialog-customer-container .dialog-subtitle {
    -ms-flex: none;
        flex: none;
    font-size: 12pt;/* prevent stretching */
    text-align: center;
    position: absolute;
    width: 100%;
    left: 50%;
    top: 2.5rem;
    transform: translateX(-50%);
}
.md-dialog-customer-container .dialog-toolbar md-button {
    position: absolute;
    right: 0;
}
.md-dialog-customer-container .dismiss {
    position: absolute;
    z-index: 10;
    top: 1rem;
    right: 1rem;
    font-size: 2.2rem;
    font-weight: 300;
    color: #888888;
    background: none;
    border: none;
    opacity: 0.7;
    cursor: pointer;
    transition: all 0.2s ease;
}
.md-dialog-customer-container .dismiss:hover {
    opacity: 1;
    color: #333333;
    transform: rotate(90deg);
}
.md-dialog-customer-container .dialog-title {
    color: #0a2540 !important;
    font-size: 1.65rem;
    font-weight: 700;
    margin: 0;
    text-transform: none;
}
.register-edit-form .col-sm-3 {
    padding-right: 0;
    padding-left: 0;
}
.register-edit-form label.control-label {
    padding-top: 8px;
}
.register-edit-form .form-control {
    font-size:12px !important;
    border-radius: 0;
    box-shadow: none;
}
.register-edit-form .dob-group {
    display: -ms-flexbox !important;
    display: flex !important;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-pack: justify;
        justify-content: space-between;
}
.register-edit-form .dob-group .form-control {
    width: 31%;
    margin: 0;
}
.register-edit-form .dob-group span.help-block {
    position: absolute;
    top: 100%;
    margin-top: 0;
}
.register-edit-form .dob-group .form-control:nth-child(2) {/*margin: 0 15px;*/
}
.register-edit-form .radio-inline {
    width: 80px;
}
/*text-align: center;*/
.register-edit-form .radio-inline input {
    position: relative;/*right: 10px;*/
}
.register-edit-form .radio-inline .marker {
    position: relative;
    left: 7px;
    top: -1px;
}
.register-edit-form .ethnicity-group {
}
.register-edit-form-v2 .col-sm-3 {
    padding-right: 0;
    padding-left: 0;
}
.register-edit-form-v2 label.control-label {
    padding-top: 8px;
}
.register-edit-form-v2 .form-control {
    font-size:12px !important;
    border-radius: 0;
    box-shadow: none;
}
.register-edit-form-v2 .dob-group {
    display: -ms-flexbox !important;
    display: flex !important;/* flex-direction: row; */
    -ms-flex-pack: justify;
        justify-content: space-between;
}
.register-edit-form-v2 .dob-group .form-control {
    width: 31%;
    margin: 0;
}
.register-edit-form-v2 .dob-group span.help-block {
    position: absolute;
    margin-top: 3em;
}
.register-edit-form-v2 .dob-group .form-control:nth-child(2) {/*margin: 0 15px;*/
}
.register-edit-form-v2 .radio-inline {
    width: 80px;
}
/*text-align: center;*/
.register-edit-form-v2 .radio-inline input {
    position: relative;/*right: 10px;*/
}
.register-edit-form-v2 .radio-inline .marker {
    position: relative;
    left: 7px;
    top: -1px;
}
.register-edit-form-v2 .ethnicity-group {
}
.animate-show-hide.ng-hide {
	opacity: 0;
}
.animate-show-hide.ng-hide-add, .animate-show-hide.ng-hide-remove {
	transition: all ease 0.3s;
}
.animate-me {
	opacity: 1;
}
.checkbox-inline {
	min-width: 25%
}
.form-group-ethnicity {
	margin-bottom: 9px;
}
.form-group-ethnicity label.checkbox-inline:first-child {
    margin-left: 10px;
}
.form-group-ethnicity label.checkbox-inline span.marker {
    position: relative;
    bottom:-2px;
}
.form-group-ethnicity .checkbox-inline-other {
    position: relative;
    left: -4px;
}
.form-group-ethnicity .col-sm-9 {
    position: relative;
}
.form-group-ethnicity span.help-block {
    position: absolute;
    top:100%;
}
/*Google Places API to bring autocomplete higher z-index than bootstrap modal*/
.pac-container {z-index: 10000 !important;}
.form-impact .form-group {
    margin-bottom: 25px;
}
.form-impact label.control-label {
    text-align: left !important;
}
.form-impact label.control-label .question-mark {
    position: relative;
    display: inline-block;
    height: 20px;
    bottom:2px;
    margin-right: 10px;
}
.form-impact label.control-label .question-mark img {
    height: 100%;
    overflow:hidden;
}
.form-impact .radio-flex-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
}
.form-impact .radio-flex-wrap .radio-inline {
    width: 80px;
    text-align: center;
}
.form-impact .radio-flex-wrap .radio-inline .marker {
    position: relative;
    top:2px;
}
.form-impact .control-label-left {
    padding-right: 0;
}
.form-impact .form-group-header .radio-flex-wrap .radio-inline {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
    width: 80px;
}
.life-quality .form-group.has-error {
    outline: 1px solid #a94442;
    padding-top: 16px;
    padding-bottom: 16px;
}
.life-quality .form-group.has-error .radio-flex-wrap {/*padding-bottom: 6px;*/
    margin-bottom: 10px;
    position: relative;
}
.life-quality .form-group.has-error .radio-flex-wrap .help-block {
    position: absolute;
    top: 240%;/* bottom: -45px; */
    left: 80%;/* width: 100%;
				text-align: center; */
}
.form-footer {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: end;
	    justify-content: flex-end;
}
.form-footer .submit-wrap-flex {
    padding: 20px 30px 20px 50px;
    border-radius: 50px;
    background: #ffffff;/*background: linear-gradient(270deg, $purple, $navy) !important;*/
    display: -ms-flexbox;
    display: flex;
}
.form-footer .submit-wrap-flex .note-wrap {
    width: 400px;
    margin-right: 20px;
}
.form-footer .submit-wrap-flex .note-wrap p {
    margin: 0;
}
.form-footer .submit-wrap-flex .note-wrap p:first-child {
    margin-bottom: 10px;
}
.form-footer .submit-wrap-flex .button-wrap {
    width: 200px;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
}
.form-footer .showing-warning {
    background: linear-gradient(270deg, #9C27B0, #0035d2) !important;
}
.form-login {
	width: 280px;
	padding-top: 15px;
}
.form-login .form-group {
    margin-bottom: 30px;
}
.form-login .form-group input {
    border-radius: 24px;
}
.form-login .form-group:last-child {
    margin-bottom: 15px;
}
.form-login button {
    font-size: 12px;
}
.form-login .btn-login {
    float: left;
    width: 34%;
    padding: 6px 18px;
}
.form-login .btn-lost {
    color: #343a40;
    float: right;
    width: 60%;
    transition: background-color .1s linear;
}
.form-login .btn-lost:hover, .form-login .btn-lost:active {
    color: #343a40;
    background-color: #ffffff;
}
form[name=search] span.help-block {
    text-align: center;
    position: absolute;
    width: 100%;
}
.has-success .form-control {
	border-color: #00bcd4;
}
.has-success .form-control:focus {
    border-color: #00bcd4;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px #00bcd4;
}
.has-error .form-control {
	border-color: #a94442;
}
.has-error .form-control:focus {
    border-color: #a94442;
}
form[name=loginForm] .help-block {
    text-align: left;
    position: absolute;
    color: #ffffff;
    margin-bottom: 0;
    padding-left: 13px;
}
label {
	color: #343a40 !important;
}
form[name=setPassword] .form-control {
    border-radius: 0;
}
form[name=setPassword] .help-block {
    position: absolute;
}
form[name=formImpact] .form-group.has-error {
    outline: 1px solid #a94442;
    padding-top: 2px;
}
form[name=formImpact] .form-group.has-error .radio-flex-wrap {/*padding-bottom: 6px;*/
    margin-bottom: 10px;
    position: relative;
}
form[name=formImpact] .form-group.has-error .radio-flex-wrap .help-block {
    position: absolute;/*top: 100%;*/
    bottom: -40px;
    width: 100%;
    text-align: center;
}
form[name=exam] span.help-block {
    position: absolute;
    white-space: nowrap;
    margin-top: 0;
}
.btn-switch {
    position: relative;
    display: block;
    width: 50px;
    height: 28px;
    cursor: pointer;
    background-color: #F27878;
    border: 2px solid #F27878;
    border-radius: 40px;
}
.btn-switch .btn-switch-circle {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    height: 25px;
    width: 25px;
    background-color: #fff;
    border-radius: 40px;
}
.btn-switch--on {
    background-color: #80CDBE;
    border: 2px solid #80CDBE;
}
.btn-switch--on .btn-switch-circle--on {
    left: auto;
    right: 0;
}
.surgery-agreement-form-footer {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: end;
	    justify-content: flex-end;
}
.surgery-agreement-form-footer .submit-wrap-flex {
    padding: 12px 15px 12px 25px;
    border-radius: 50px;
    background: #ffffff;/*background: linear-gradient(270deg, $purple, $navy) !important;*/
    display: -ms-flexbox;
    display: flex;
}
.surgery-agreement-form-footer .submit-wrap-flex .note-wrap {
    width: 400px;
    margin-right: 20px;
}
.surgery-agreement-form-footer .submit-wrap-flex .note-wrap p {
    margin: 0;
}
.surgery-agreement-form-footer .submit-wrap-flex .note-wrap p:first-child {
    margin-bottom: 10px;
}
.surgery-agreement-form-footer .submit-wrap-flex .button-wrap {/* width: 200px; */
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
}
.surgery-agreement-form-footer .showing-warning {
    background: linear-gradient(270deg, #9C27B0, #0035d2) !important;
}
.premium-lens-recommend-checkboxes {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-align: center;
	    align-items: center;
}
.recommended-option-highlight {
	background-color: #e6f2ff;
	color: #007BFF;
	font-weight: bold;
}
.recommended-label {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: #0d6efd;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 600;
	padding: 4px 6px;
	text-align: center;
	line-height: 1.2;
	border-radius: 4px 4px 0 0;
	pointer-events: none;
	margin-bottom:0.5rem;
}
.popover {
	outline:none;
	max-width: 100%;
	padding: 0;
	padding-bottom: 10px;
}
.popover h3.popover-title {
    background: #00bcd4;
    color: #ffffff;
    font-size: 12px;
}
.popover .popover-content {
    font-size: 12px;
}
.popover-normal {
	outline:none;
	max-width: 12rem;
	padding: 0;
}
/* padding-bottom: 10px; */
.popover-normal h3.popover-title {
    background: #00bcd4;
    color: #ffffff;
    font-size: 12px;
}
.popover-normal .popover-content {
    font-size: 12px;
}
.am-popover {
	opacity: 1;
	transform: translateX(0px);
}
/*transition: all .15s ease-in;*/
.am-popover.ng-enter {
    opacity: 0;
}
/*transform: translateX(-30px);*/
.am-popover.ng-enter.ng-enter-active {
}
.am-popover.ng-leave {
    opacity: 1;
}
.am-popover.ng-leave.ng-leave-active {
    opacity: 0;
}
.popover.info-detail-popover {
	max-width: 26rem;
	width: auto;
	z-index: 1100;
}
.popover.info-detail-popover .popover-content {
	word-wrap: break-word;
	overflow-wrap: break-word;
	color: #343a40 !important;
}
.popover.info-detail-popover .popover-content label {
    color: #333333 !important;
    margin-bottom: 0;
}
.info-popover-comment {
	white-space: pre-wrap;
	word-break: break-word;
	max-width: 24rem;
}
.diagnosis-info-popover-anchor {
	pointer-events: none;
}
.wider-popover {
	max-width: 24rem;
	opacity: 1;
	transform: translateX(12rem);
}
/*transition: all .15s ease-in;*/
.wider-popover.ng-enter {
    opacity: 0;
}
/*transform: translateX(-30px);*/
.wider-popover.ng-enter.ng-enter-active {
}
.wider-popover.ng-leave {
    opacity: 1;
}
.wider-popover.ng-leave.ng-leave-active {
    opacity: 0;
}
.table-complete th, .table-complete td {
    border-top: 0 !important;
    vertical-align: middle !important;
}
.table-complete th {
    color: #0035d2;
    font-size: 16px;
}
.table-complete td:nth-child(1) {/*background: pink;*/
    color: #343a40;
    font-size: 14px;/*width: 50%;*/
}
.table-complete td:nth-child(2) {
    text-align: center;
    height: 60px;
    width: 160px;
}
.table-complete td:nth-child(2) img {
    height: 100%;
    overflow: hidden;
}
.table-complete td:nth-child(3) {/*background: pink;*/
    width: 240px;
}
.table-complete th:nth-child(2) {
    text-align: center;
    width: 200px;
}
.table-complete .indent {
    padding-left: 30px;
    font-size: 12px;
    display: inline-block;
}
.complete-flex-wrap {
	display:-ms-flexbox;
	display:flex;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: center;
	    align-items: center;
}
.question-wrap {
	height: 44px;
	width: 44px;
	border: 2px solid gold;
	display: inline-block;
	border-radius: 50%;
	position: relative;
}
.question-wrap span {
    color: gold;
    font-size: 16px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.patient-summary-details {
	font-size: 10px;
}
.doc-flex-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	max-height: 400px;
	margin-bottom: 15px;
    overflow-y: auto;
    border: 1px solid lightgrey;
    padding: 5px;
	border-radius: 5px;
}
.doc-flex-wrap.doc-warning {
    background-color: rgba(255, 182, 193, 0.4);
}
.doc-flex-wrap .doc-card {
    border: 1px solid #ddd;
    width: 32.5%;
    margin-bottom: 8px;
    padding: 10px;
    cursor: pointer;
    border-radius: 6px;
    background-color: #fff;
}
.doc-flex-wrap .doc-card:hover {
    box-shadow: 0px 0px 3px 0px rgba(0,0,0,0.3);
}
.doc-flex-wrap .doc-card.selected {
    background-color: #f2f6fb;
}
.doc-flex-wrap .doc-card.doc-card-ghost {
    border:none;
    height: 0;
    padding: 0;
    margin: 0;
}
.doc-flex-wrap .doc-card p {
    margin-bottom: 0;
}
.selected-doc-wrap {
	text-align: center;
	background-color: #f2f6fb;
	border: 1px solid #bccad2;
	padding: 10px;
	margin-bottom: 10px;
	border-radius: 6px;
}
.doctor-filter-group input[type=radio] {
    top: -2px;
}
.doctor-filter-group .radio-inline:first-child {
    margin-left: 15px;
}
.exam-wrap {

}
.form-exam {
	color: #343a40;
	font-size: 12px;
}
.form-exam select, .form-exam .form-control {
    border-radius: 0;
    box-shadow: none;
    color: #343a40;
    font-size: 12px;
}
.form-exam .form-group-label {
    padding-right: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    margin-bottom: 25px;
}
.form-exam .form-group-label .control-label {
    text-align: right;/*align-self: center;*/
}
.form-exam .snellen {
    display: -ms-flexbox;
    display: flex;/*justify-content: space-between;*/
    padding: 0;
    position: relative;
}
.form-exam .snellen select, .form-exam .snellen .mark-wrap {
    margin-right: 20px;/*width: calc(50% - 60px);*/
    width: 100px;
}
.form-exam .mark-wrap, .form-exam .mark-wrap-deg {
    position: relative;
}
.form-exam .mark-wrap .six-pre, .form-exam .mark-wrap-deg .six-pre {
    position: absolute;
    top:50%;
    transform:translateY(-50%);
    left:-20px;
}
.form-exam .mark-wrap .stripe-post, .form-exam .mark-wrap-deg .stripe-post {
    position: absolute;
    top:50%;
    transform:translateY(-50%);
    right:-15px;
}
.form-exam .mark-wrap .stripe-pre, .form-exam .mark-wrap-deg .stripe-pre {
    position: absolute;
    top:50%;
    transform:translateY(-50%);
    left:-12px;
}
.form-exam .mark-wrap-deg .deg {
    width: 80px;
    padding-left: 6px;
    padding-right: 6px;
}
.form-exam .mark-wrap-deg .stripe-post {
    right: -37px;
}
.check-label {
	position: relative;
}
.check-label .check-span {
    position: relative;
    top: 2px;
}
.lens {
	width: 220px;
}
.lens-label {
	margin-top: 34px;
}
.visual-label {
	margin-top: 70px;
}
.form-group-label-top {
	margin-top: 40px;
}
.col-bin {
	padding-left: 60px;
}
.terms h1 {
    margin: 30px 0;
}
.terms h3 {
    margin-bottom: 15px;
}
.terms p {
    margin-bottom: 15px;
}
.terms a {
    color: #0035d2;
}
.terms .image1 {
    float: left;
    width: 50%;
    margin-right: 10px;
}
.op-header {
	color: #ffffff;
	text-align: center;
	padding: 5px 0;
	margin-bottom: 10px;
}
.op-header h4 {
    font-size: 1em;
}
.navy-text {
	color: #0035d2 !important;
}
.navy-line {
	height: 2px;
	background-color: #0035d2;
	margin-left: 1.5em;
	margin-right: 1.5em;
	margin-top: 1em;
}
.pre-op-form {
	color: #343a40;
	font-size: 12px;
	// background-color: pink;
	padding: 0 20px;
}
.pre-op-form select, .pre-op-form .form-control {
    border-radius: 20px;
    box-shadow: none;
    // color: #343a40;
    color: #0035d2;
    font-size: 12px;
    border: 1px solid #0035d2;
}
.pre-op-form .form-group-label {
    padding-right: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    margin-bottom: 25px;
}
.pre-op-form .form-group-label .control-label {
    text-align: right;
}
.pre-op-form .flex {
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    position: relative;
}
.pre-op-form .flex select, .pre-op-form .flex .input, .pre-op-form .flex .inline-number, .pre-op-form .flex .mark-wrap {
    margin-right: 20px;
    width: 100px;
}
.pre-op-form .mark-wrap, .pre-op-form .mark-wrap-deg {
    position: relative;
}
.pre-op-form .mark-wrap .six-pre, .pre-op-form .mark-wrap-deg .six-pre {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -20px;
}
.pre-op-form .mark-wrap .stripe-post, .pre-op-form .mark-wrap-deg .stripe-post {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -15px;
}
.pre-op-form .mark-wrap .stripe-pre, .pre-op-form .mark-wrap-deg .stripe-pre {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -12px;
}
.pre-op-form .mark-wrap-deg .deg {
    width: 80px;
    padding-left: 6px;
    padding-right: 6px;
}
.pre-op-form .mark-wrap-deg .stripe-post {
    right: -37px;
}
.pre-op-form label {
    color: #0035d2 !important;
}
.pre-op-form .marker {
    position: relative;
    top: 2px;
}
.btn-next {
	width: 120px;
}
.check-label {
	position: relative;
}
.check-label .check-span {
    position: relative;
    top: 2px;
}
.lens {
	width: 220px;
}
.lens-label {
	margin-top: 34px;
}
.visual-label {
	margin-top: 70px;
}
.form-group-label-top {
	margin-top: 40px;
}
.col-bin {
	padding-left: 60px;
}
.pressure-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	max-width: 460px;
}
.pressure-wrap .form-group {
    width: 47%;
}
.half-width {
	max-width: 50%;
}
.quarter-width {
	max-width: 25%;
}
.blue-box {
	border: 1px solid #0035d2;
	padding: 15px;
	background-color: #f2f6fb;
	margin-bottom: 15px;
	border-radius: 8px;
}
.blue-box .header .h4 {
    margin-bottom: 5px;
    margin-top: 0;
}
.eye-heading {
	margin-bottom: 20px;
}
.pre-op-save-wrap {
	min-height: 80px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: center;
	    align-items: center;
	margin: 20px 0;
}
.pre-op-save-wrap .progression-wrap {
    min-width: 250px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center;
}
.pre-op-save-wrap .progression-wrap .save-progress {
    cursor: pointer;
    margin-right: 20px;
}
.pre-op-save-wrap .progression-alert-wrap {
    width: calc(100% - 280px);
}
.pre-op-save-wrap .progression-alert-wrap .alert {
    margin-bottom: 0;
}
.pre-op-save-wrap .progression-alert-wrap .alert + .alert {
    margin-top: 10px;
}
.stack-vert {
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	position: relative;
	top: 2px;
	margin-left: 10px;
}
.stack-vert .radio-inline + .radio-inline {
    margin-left: 0;
    margin-top: 5px;
}
.flex-biometry {
	-ms-flex-align: center;
	    align-items: center;
}
.flex-biometry .control-label {
    margin-right: 15px;
    margin-bottom: 0;
}
.biometry-input {
	width: 100px;
	margin-right: 20px;
}
.axis-wrap {
	position: relative;
}
.axis-times, .axis-deg {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transform: translateY(-50%);
}
.axis-times {
	right: calc(100% + 6px);
}
.axis-deg {
	left: 110px;
}
.section-label {
	margin-bottom: 10px;
}
.biometry .form-row {
    margin-bottom: 15px;
}
.biometry .left-column {
    width: 28px;
}
.biometry .form-group {
    margin-bottom: 0px;
}
.biometry .help-block {
    position: absolute;
    width: 300px;
    margin-top: 0;
}
.bio-internal-flex {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-align: center;
	    align-items: center;
}
.table-medication th, .table-medication td {
    border-color: #0035d2 !important;
    vertical-align: middle !important;
}
.table-medication td:last-child {
    text-align: right;
}
.table-medication .remove-med {
    padding: 0;
    margin: 0;
    border: 1px solid #0035d2;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: white;
}
.table-medication .remove-med:hover {
    background-color: #0035d2;
    color: white;
}
.btn-add-allergy {
	height: 34px;
	width: 34px;
	margin: 0;
	padding: 0;
}
.flex-allergy {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
}
.flex-allergy .grow {
    -ms-flex: 1 0;
        flex: 1 0;
    margin-right: 20px;
}
.anaesthetic-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
}
.anaesthetic-wrap .form-group {
    width: 260px;
    margin-right: 20px;
}
.anaesthetic-wrap .help-block {
    position: absolute;
    margin-top: 0;
}
.text-area-wrap {
	position: relative;
}
.text-area-wrap .count-remaining {
    position: absolute;
    font-size: 10px;
    bottom: 0;
    right: 15px;
    color: #0035d2;
}
.diabetes-pop-up-wrap {
	width: 50%;
	position: relative;
}
.retinopathy-pop-up-OD .retinopathy-popup {
    left: calc(100% + 10px);
}
.retinopathy-pop-up-OS .retinopathy-popup {
    right: calc(100% + 10px);
}
.showRetinopathy .retinopathy-popup {
    display: block;
}
.maculopathy-pop-up-OD .maculopathy-popup {
    left: calc(100% + 10px);
}
.maculopathy-pop-up-OS .maculopathy-popup {
    right: calc(100% + 10px);
}
.showMaculopathy .maculopathy-popup {
    display: block;
}
.retinopathy-popup, .maculopathy-popup {
	border: 1px solid #0035d2;
	padding: 15px;
	font-size: 10px;
	color: #0035d2;
	background-color: white;
	width: 480px;
	position: absolute;
	z-index: 1;
	top: 0;
	display: none;
}
.retinopathy-popup .table-bordered, .maculopathy-popup .table-bordered {
    border: none !important;
    margin-bottom: 10px;
}
.retinopathy-popup .table-bordered th, .retinopathy-popup .table-bordered td, .maculopathy-popup .table-bordered th, .maculopathy-popup .table-bordered td {
    border-right: 1px solid #0035d2;
    border-left: 1px solid #0035d2;
}
.retinopathy-popup .table-bordered th:first-child, .retinopathy-popup .table-bordered td:first-child, .maculopathy-popup .table-bordered th:first-child, .maculopathy-popup .table-bordered td:first-child {
    border-left: none;
}
.retinopathy-popup .table-bordered th:last-child, .retinopathy-popup .table-bordered td:last-child, .maculopathy-popup .table-bordered th:last-child, .maculopathy-popup .table-bordered td:last-child {
    border-right: none;
}
.retinopathy-popup .table-bordered tr:last-child td, .maculopathy-popup .table-bordered tr:last-child td {
    border-bottom: none;
    padding-bottom: 0;
}
.retinopathy-popup td, .retinopathy-popup th, .maculopathy-popup td, .maculopathy-popup th {
    border-color: #0035d2 !important;
}
.retinopathy-popup p, .maculopathy-popup p {
    margin-bottom: 0;
}
.retinopathy-popup th:first-child, .retinopathy-popup td:first-child {
    width: 120px;
}
.pre-op-form .flex-lens {
    display: -ms-flexbox;
    display: flex;
}
.pre-op-form .flex-lens .form-group {
    width: 150px;
    margin-right: 20px;
}
.pre-op-form .flex-lens .form-group-axis {
    margin-right: 0;
    width: 110px;
}
.allergy-form-wrap .help-block {
    position: absolute;
}
.locsiii-wrap {
	position: relative;
	width: 50%;
}
.locsiii-img-wrap {
	position: absolute;
	width: 500px;
}
.locsiii-img-wrap img {
    width: 100%;
}
.locsiii-img-wrap-OD {
	position: absolute;
	width: 700px;
	left: calc(100% + 15px);
	top: 0;
	z-index: 1;
	display: none;
}
.locsiii-img-wrap-OD img {
    width: 100%;
}
.locsiii-img-wrap-OS {
	position: absolute;
	width: 500px;
	right: calc(100% + 15px);
	top: 0;
	z-index: 1;
	display: none;
}
.locsiii-img-wrap-OS img {
    width: 100%;
}
.showOpal, .showColour, .showCortical, .showPupil, .showSub {
	display: block !important;
}
.pre-op-header {
	// outline: 1px dotted pink;
	margin-bottom: 20px;
}
.pre-op-header .head-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
}
.pre-op-header .head-flex:last-child {
    margin-top: 10px;
}
.pre-op-header h3, .pre-op-header h4 {
    margin: 0;
}
.pre-op-header .head-link {
    color: #0035d2;
    cursor: pointer;
    font-size: 14px;
    text-decoration: underline;
}
.pre-op-header .head-name {
    margin-right: 20px;
}
.pre-op-header .header-left, .pre-op-header .header-right {
    // outline: 1px solid green;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
}
.pre-op-header .header-right {
    // margin-right: 80px;
    // outline: 1px solid blue;
}
.graphs-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: center;
	    align-items: center;
}
.card, .patients-empty, .menu-section, .patient-header .patient-card {
    background-color: #fff;
    border: none;
    border-radius: 8px;
    box-shadow: 0 0 4px rgb(0 0 0 / 20%);
    box-sizing: border-box;
	margin: 1em;
	margin-right: 0;
}
.card:hover, .patients-empty:hover, .menu-section:hover, .patient-header .patient-card:hover {
	/* box-shadow: 0 8px 28px 0 rgba(0,0,0,0.2); */
  }
.card-container {
	padding-left: 1em;
	padding-right: 1em;
	/* padding: 2px 16px; */
}
.patients-empty {
	background-color: #f4f7fe; 
	margin: 0;
	height: 'auto';
}
.patients-empty h4 {
    padding: 2em;
}
.menu-section {
	background-color: #f4f7fe; 
	min-height: 10em;
	margin-left: 0;
	margin-top: 0;
}
.menu-section h4 {
    text-align: left;
    padding-left: 1em;
    padding-top: 1em;
    padding-bottom: 0.4em;
}
.menu-container {
}
.menu-list {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: start;
	    justify-content: flex-start;
	-ms-flex-align: start;
	    align-items: flex-start;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
}
.menu-arrow {
	border-width: 11px;
	/* position: absolute; */
	display: block;
	width: 0;
	height: 0;
	border-color: transparent;
	border-style: solid;
	margin-top: -11px;
	margin-left: -11px;
	border-top-width: 0;
	border-bottom-color: #f4f7fe;
	margin-left: 48%;
	/* left: 50%; */
}
.vertical-bar {
	width: 4px;
	background-color: #0035d2;
	-ms-flex-item-align: stretch;
	    -ms-grid-row-align: stretch;
	    align-self: stretch;
	margin-left: 2em;
	margin-top: 1em;
	margin-bottom: 1em;
}
.menu-block {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: start;
	    justify-content: flex-start;
}
.right-arrow {
	margin-top: 1em;
	width: 16px;
	height: 16px;
}
.menu-item {
	width: 11em;
}
.menu-item h4 {
    margin: 0;
    font-size: 12px;
}
.menu-item p {
    padding-left: 1em;
    padding-right: 0.2em;
    text-align: left;
    font-size: 12px;
}
.patient-header {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: row;
	    flex-direction: row;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: center;
	    align-items: center;

}
.patient-header .header-title {
    -ms-flex: 1;
        flex: 1;
    position: absolute;
    top: 10rem;
}
.patient-header .menu-container {
    -ms-flex: 12;
        flex: 12;
}
.patient-header .link-disabled {
    pointer-events: none;
    cursor: default;
    opacity: 0.6;
}
.patient-header .arrow-down {
    border: solid #0035d2;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    margin-bottom: 2px;
    margin-left: 2px;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
}
.patient-header .arrow-right {
    border: solid #0035d2;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 3px;
    margin-bottom: 2px;
    margin-left: 2px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
}
.patient-header h3, .patient-header h4 {
    margin: 0;
}
.patient-header h5 {
    margin: 0;
    font-size: 16px;
}
.patient-header .patient-card {
    padding-bottom: 1em;
}
.patient-header .patient-detail-section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 0.5em;
}
.patient-header .patient-detail-section h4 {
    font-size: 14px;
}
.patient-header .vertical-section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
}
.popover-preop-wrap {
	padding: 20px;
	padding-bottom: 0;
	width: 300px;
	text-align: center;
}
.popover-preop-wrap label {
    color: #0035d2 !important;
    font-size: 12px;
    margin-bottom: 10px;
}
.popover-preop-wrap .form-control {
    border-radius: 20px;
    box-shadow: none;
    color: #0035d2;
    font-size: 12px;
    border: 1px solid #0035d2;
}
.popover-preop-wrap .form-group:last-child {
    margin-bottom: 10px;
}
.popover {
	border-color: #0035d2;
}
/* width: 20em;
	max-width: 20em; */
.popover .marker {
    position: relative;
    top: 2px;
}
.popover.bottom > .arrow {
	border-bottom-color: #0035d2;
}
.spinner-wrap {
	position: relative;
}
.vertical-buttons {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
}
.vertical-buttons button + button {
    margin-top: 10px;
}
.vertical-radio-groups {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	margin-top: 1em;
}
.radio-button-inline {
	margin-left: 0px !important;
	margin-bottom: 1em;
}
.my-modal-footer-patient-details .btn-navy {
    width: 220px;
}
.width_35_em{
	width: 35em;
}
hr.life-quality-line-break {
	border-top-color: #3850a2;
	margin-top: 0;
	margin-bottom: 0;
}
.customer_checkbox_red input[type=checkbox]:before {
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 13px;
    border: solid red;
    border-radius: 2px;
    background-color: transparent;
}
.customer_checkbox_red input[type=checkbox]:checked:before {
    content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    background-color: red;
}
.customer_checkbox_red input[type=checkbox]:checked:after {
    content: "";
    display: block;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    position: absolute;
    top: 5px;
    left: 5px;
}
.customer_checkbox_red span {
    position: relative;
    top: -1px;
    padding-left: 0.5em;
}
.customer_checkbox_green input[type=checkbox]:before {
    content: "";
    display: block;
    position: absolute;
    width: 13px;
    height: 13px;
    border: solid green;
    border-radius: 2px;
    background-color: transparent;
}
.customer_checkbox_green input[type=checkbox]:checked:before {
    content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    background-color: green;
}
.customer_checkbox_green input[type=checkbox]:checked:after {
    content: "";
    display: block;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    position: absolute;
    top: 5px;
    left: 5px;
}
.customer_checkbox_green span {
    position: relative;
    top: -1px;
    padding-left: 0.5em;
}
.customer_radio_red .marker {
    margin-left: 0.5em;
    margin-right: 1em;
    font-size: 1.6em;
    color: red !important;
}
.customer_radio_red input[type="radio"]:after {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: #d1d3d1;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 0px solid white;
}
.customer_radio_red input[type="radio"]:checked:after {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: red;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 0px solid white;
}
.customer_radio_green .marker {
    margin-left: 0.5em;
    margin-right: 1em;
    font-size: 1.6em;
    color: green !important;
}
.customer_radio_green input[type="radio"]:after {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: #d1d3d1;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 0px solid white;
}
.customer_radio_green input[type="radio"]:checked:after {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: green;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 0px solid white;
}
.customer_radio_normal .marker {
    margin-left: 0.5em;
    margin-right: 1em;
    font-size: 1.6em;
}
.customer_radio_normal input[type="radio"]:after {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: #d1d3d1;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 0px solid white;
}
.customer_radio_normal input[type="radio"]:checked:after {
    width: 16px;
    height: 16px;
    border-radius: 16px;
    top: -2px;
    left: -1px;
    position: relative;
    background-color: #0035d2;
    content: '';
    display: inline-block;
    visibility: visible;
    border: 0px solid white;
}
.pagination {
	margin-top: 2em !important;
}
.pagination>li>a, .pagination>li>span {
  border: 0px;
  padding: 3px 6px;
}
.pagination>li.active>a {
	background: transparent;
	color: #337ab7;
	font-weight: bold;
	font-size: 16px;
	margin-top: -0.2em;
  }
/* .pagination>li.active>a {
  background: purple;
  color: #fff;
} */
/* .pagination {
	display: inline-block;
	padding-left: 0;
	.li {
		background-color: red;
	}
} */
.popover_ul {
	margin-left: -2em;
}
.popover_container .popover {
    width: 40em;
    max-width: 40em;
}
.popover_label {
	margin-right: 0px !important;
	font-family: 'Gordita Bold';
}
.pink_header {
	padding-left: 2%;
	padding-right: 2%;
	-ms-flex-direction: column !important;
	    flex-direction: column !important;
	background-color: #EEE6FF;
}
.purple_header {
	padding-left: 2%;
	padding-right: 2%;
	-ms-flex-direction: column !important;
	    flex-direction: column !important;
	background-color: rgb(217,210,233);
}
.blue_header {
	padding-left: 2%;
	padding-right: 2%;
	-ms-flex-direction: column !important;
	    flex-direction: column !important;
	background-color: rgb(207,226,243);
}
.long_section{
	width: 30% !important;
	margin-left: -5%;
	margin-right:15%;
}
/* .op-header {
	color: $white;
	text-align: center;
	padding: 5px 0;
	margin-bottom: 10px;
    color: $navy !important;
	h4 {
		font-size: 1em;
	}
} */
.operation-form {
	color: #343a40;
	font-size: 12px;
	// background-color: pink;
	padding: 0 20px;
	border-top: 2px solid #0035d2;
	border-radius: 0rem;
	padding-top: 3em;
}
.operation-form select, .operation-form .form-control {
    border-radius: 20px;
    box-shadow: none;
    // color: #343a40;
    color: #0035d2;
    font-size: 12px;
    border: 1px solid #0035d2;/* Do not set appearance (e.g. radio): Chrome misaligns text in inputs, selects, and div.form-control. */
}
.operation-form .single-value-control {
    width: 40%;
    margin-left: 100px;
}
.operation-form .form-group-label {
    padding-right: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    margin-bottom: 25px;
}
.operation-form .form-group-label .control-label {
    text-align: right;
}
.operation-form .flex {
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    position: relative;
}
.operation-form .flex select, .operation-form .flex .input, .operation-form .flex .inline-number, .operation-form .flex .mark-wrap {
    margin-right: 20px;
    width: 100px;
}
.operation-form .mark-wrap, .operation-form .mark-wrap-deg {
    position: relative;
}
.operation-form .mark-wrap .six-pre, .operation-form .mark-wrap-deg .six-pre {
    position: absolute;
    top: 20%;
    transform: translateY(-50%);/* left: -20px; */
    color: #0035d2 !important;
}
.operation-form .mark-wrap .stripe-post, .operation-form .mark-wrap-deg .stripe-post {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -15px;
}
.operation-form .mark-wrap .stripe-pre, .operation-form .mark-wrap-deg .stripe-pre {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -12px;
}
.operation-form .mark-wrap-deg .deg {
    width: 80px;
    padding-left: 6px;
    padding-right: 6px;
}
.operation-form .mark-wrap-deg .stripe-post {
    right: -37px;
}
.operation-form label {
    color: #0035d2 !important;
}
.operation-form .marker {
    position: relative;
    top: 2px;
}
.btn-next {
	width: 120px;
}
.check-label {
	position: relative;
}
.check-label .check-span {
    position: relative;
    top: 2px;
}
.lens {
	width: 220px;
}
.lens-label {
	margin-top: 34px;
}
.visual-label {
	margin-top: 70px;
}
.form-group-label-top {
	margin-top: 40px;
}
.col-bin {
	padding-left: 60px;
}
.pressure-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack:start;
	    justify-content:flex-start;
}
/* max-width: 460px; */
.pressure-wrap .form-group {
    width: 40%;
}
.half-width {
	max-width: 50%;
}
.quarter-width {
	max-width: 25%;
}
.blue-box {
	border: 1px solid #0035d2;
	padding: 15px;
	background-color: #f2f6fb;
	margin-bottom: 15px;
	border-radius: 8px;
}
.blue-box .header .h4 {
    margin-bottom: 5px;
    margin-top: 0;
}
.eye-heading {
	margin-bottom: 20px;
}
.operation-note-save-wrap {
	min-height: 80px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	    justify-content: space-between;
	-ms-flex-align: center;
	    align-items: center;
	margin: 20px 0;
}
.operation-note-save-wrap .progression-wrap {
    min-width: 250px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center;
}
.operation-note-save-wrap .progression-wrap .save-progress {
    cursor: pointer;
    margin-right: 20px;
}
.operation-note-save-wrap .progression-alert-wrap {
    width: calc(100% - 280px);
}
.operation-note-save-wrap .progression-alert-wrap .alert {
    margin-bottom: 0;
}
.operation-note-save-wrap .progression-alert-wrap .alert + .alert {
    margin-top: 10px;
}
.stack-vert {
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	position: relative;
	top: 2px;
	margin-left: 10px;
}
.stack-vert .radio-inline + .radio-inline {
    margin-left: 0;
    margin-top: 5px;
}
.flex-biometry {
	-ms-flex-align: center;
	    align-items: center;
}
.flex-biometry .control-label {
    margin-right: 15px;
    margin-bottom: 0;
}
.biometry-input {
	width: 100px;
	margin-right: 20px;
}
.axis-wrap {
	position: relative;
}
.axis-times, .axis-deg {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transform: translateY(-50%);
}
.axis-times {
	right: calc(100% + 6px);
}
.axis-deg {
	left: 110px;
}
.section-label {
	margin-bottom: 10px;
}
.biometry .form-row {
    margin-bottom: 15px;
}
.biometry .left-column {
    width: 18px;
}
.biometry .form-group {
    margin-bottom: 0px;
}
.biometry .help-block {
    position: absolute;
    width: 300px;
    margin-top: 0;
}
.table-incisions th, .table-incisions td {
    border-color: #0035d2 !important;
    vertical-align: middle !important;
    border-top: 0 !important;
}
.table-incisions td:last-child {
    text-align: right;
}
.table-incisions .remove-med {
    padding: 0;
    margin: 0;
    border: 1px solid #0035d2;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: white;
}
.table-incisions .remove-med:hover {
    background-color: #0035d2;
    color: white;
}
.btn-add-incision {
	height: 34px;
	width: 34px;
	margin-left: 0.5em;
	padding: 0;
}
.flex-allergy {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
}
.flex-allergy .grow {
    -ms-flex: 1 0;
        flex: 1 0;
    margin-right: 20px;
}
.anaesthetic-wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
}
.anaesthetic-wrap .form-group {
    width: 260px;
    margin-right: 20px;
}
.anaesthetic-wrap .help-block {
    position: absolute;
    margin-top: 0;
}
.text-area-wrap {
	position: relative;
}
.text-area-wrap .count-remaining {
    position: absolute;
    font-size: 10px;
    bottom: 0;
    right: 15px;
    color: #0035d2;
}
.diabetes-pop-up-wrap {
	width: 50%;
	position: relative;
}
.retinopathy-pop-up-OD .retinopathy-popup {
    left: calc(100% + 10px);
}
.retinopathy-pop-up-OS .retinopathy-popup {
    right: calc(100% + 10px);
}
.showRetinopathy .retinopathy-popup {
    display: block;
}
.maculopathy-pop-up-OD .maculopathy-popup {
    left: calc(100% + 10px);
}
.maculopathy-pop-up-OS .maculopathy-popup {
    right: calc(100% + 10px);
}
.showMaculopathy .maculopathy-popup {
    display: block;
}
.retinopathy-popup, .maculopathy-popup {
	border: 1px solid #0035d2;
	padding: 15px;
	font-size: 10px;
	color: #0035d2;
	background-color: white;
	width: 480px;
	position: absolute;
	z-index: 1;
	top: 0;
	display: none;
}
.retinopathy-popup .table-bordered, .maculopathy-popup .table-bordered {
    border: none !important;
    margin-bottom: 10px;
}
.retinopathy-popup .table-bordered th, .retinopathy-popup .table-bordered td, .maculopathy-popup .table-bordered th, .maculopathy-popup .table-bordered td {
    border-right: 1px solid #0035d2;
    border-left: 1px solid #0035d2;
}
.retinopathy-popup .table-bordered th:first-child, .retinopathy-popup .table-bordered td:first-child, .maculopathy-popup .table-bordered th:first-child, .maculopathy-popup .table-bordered td:first-child {
    border-left: none;
}
.retinopathy-popup .table-bordered th:last-child, .retinopathy-popup .table-bordered td:last-child, .maculopathy-popup .table-bordered th:last-child, .maculopathy-popup .table-bordered td:last-child {
    border-right: none;
}
.retinopathy-popup .table-bordered tr:last-child td, .maculopathy-popup .table-bordered tr:last-child td {
    border-bottom: none;
    padding-bottom: 0;
}
.retinopathy-popup td, .retinopathy-popup th, .maculopathy-popup td, .maculopathy-popup th {
    border-color: #0035d2 !important;
}
.retinopathy-popup p, .maculopathy-popup p {
    margin-bottom: 0;
}
.retinopathy-popup th:first-child, .retinopathy-popup td:first-child {
    width: 120px;
}
.operation-form .flex-lens {
    display: -ms-flexbox;
    display: flex;
}
.operation-form .flex-lens .form-group {
    width: 150px;
    margin-right: 20px;
}
.operation-form .flex-lens .form-group-axis {
    margin-right: 0;
    width: 110px;
}
.allergy-form-wrap .help-block {
    position: absolute;
}
.locsiii-wrap {
	position: relative;
	width: 50%;
}
.locsiii-img-wrap {
	position: absolute;
	width: 500px;
}
.locsiii-img-wrap img {
    width: 100%;
}
.locsiii-img-wrap-OD {
	position: absolute;
	width: 700px;
	left: calc(100% + 15px);
	top: 0;
	z-index: 1;
	display: none;
}
.locsiii-img-wrap-OD img {
    width: 100%;
}
.locsiii-img-wrap-OS {
	position: absolute;
	width: 500px;
	right: calc(100% + 15px);
	top: 0;
	z-index: 1;
	display: none;
}
.locsiii-img-wrap-OS img {
    width: 100%;
}
.showOpal, .showColour, .showCortical, .showPupil, .showSub {
	display: block !important;
}
.operation-note-header {
	// outline: 1px dotted pink;
	margin-bottom: 20px;
}
.operation-note-header .head-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: end;
        align-items: flex-end;
}
.operation-note-header .head-flex:last-child {
    margin-top: 10px;
}
.operation-note-header h3, .operation-note-header h4 {
    margin: 0;
}
.operation-note-header h6 {
    margin: 0;
    padding-left: 1.5em;
    font-size: 16px;
}
.operation-note-header .head-link {
    color: #0035d2;
    cursor: pointer;
    font-size: 14px;
    text-decoration: underline;
}
.operation-note-header .head-name {
    margin-right: 20px;
}
.operation-note-header .header-left, .operation-note-header .header-right {
    // outline: 1px solid green;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
}
.operation-note-header .header-right {
    // margin-right: 80px;
    // outline: 1px solid blue;
}
.popover-preop-wrap {
	padding: 20px;
	padding-bottom: 0;
	width: 300px;
	text-align: center;
}
.popover-preop-wrap label {
    color: #0035d2 !important;
    font-size: 12px;
    margin-bottom: 10px;
}
.popover-preop-wrap .form-control {
    border-radius: 20px;
    box-shadow: none;
    color: #0035d2;
    font-size: 12px;
    border: 1px solid #0035d2;
}
.popover-preop-wrap .form-group:last-child {
    margin-bottom: 10px;
}
.popover {
	border-color: #0035d2;
}
.popover .marker {
    position: relative;
    top: 2px;
}
.popover.bottom > .arrow {
	border-bottom-color: #0035d2;
}
.spinner-wrap {
	position: relative;
}
.vertical-buttons {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
}
.vertical-buttons button + button {
    margin-top: 10px;
}
.my-modal-footer-patient-details .btn-navy {
    width: 220px;
}
.incisions-image {
	width: 100%;
	padding-left: 5em;
	padding-right: 5em;
	margin-top: 1em;
	margin-bottom: 2em;
}
.margin-top-2em {
	margin-top: 2em;
}
.margin-top-1em {
	margin-top: 1em;
}
.padding-top-dot-4em {
	padding-top: 0.4em;
}
.custom-slider.rzslider :focus {outline:none;}
.custom-slider.rzslider {
	margin-top: 1em;
	margin-bottom: 1em;
}
.custom-slider.rzslider .rz-bar {
	height: 8px;
	border-radius: 4px;
  }
.custom-slider.rzslider .rz-pointer {
	width: 16px;
	height: 16px;
	top: auto; /* to remove the default positioning */
	bottom: 0;
	margin-bottom: -6px;
  }
.custom-slider.rzslider .rz-pointer:after {
	display: none;
  }
.custom-slider.rzslider .rz-bubble {
	bottom: 14px;
  }
.custom-slider.rzslider .rz-limit {
	font-weight: bold;
  }
.custom-slider.rzslider .rz-tick-value {
	top:0px;
	color: transparent;
  }
.custom-slider.rzslider .rz-tick {
	width: 1px;
	height: 10px;
	margin-left: 8px;
	border-radius: 0;
	top: -1px;
  }
.transparent-color {
	  color:transparent !important;
  }
.btn-white {
	background-color: #ffffff;
	color: #0035d2;
	width: 200px;
	border-color: #0035d2;
}
.margin-middle {
	margin-left: 1em;
	margin-right: 1em;
}
.head-link {
	color: #0035d2;
	cursor: pointer;
	font-size: 14px;
	text-decoration: underline;
}
.font-size-16 {
	font-size: 16px;
}
.postoperative-header {
	width: 100%;
	text-align: center;
	margin-top: 2em;
	margin-bottom: 2em;
}
.caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 2px;
	vertical-align: middle;
	border-top: 0px dashed;
	border-top: 0px solid \9;
	border-right: 0px solid transparent;
	border-left: 0px solid transparent;
  }
.font-regular, .head-no-link, .search-form .form-group .form-control, .filter-select, .form-impact label.control-label, .popover .popover-content, .popover-normal .popover-content, .table-complete td:nth-child(1), .selected-doc-wrap .selected-doc-practice, .form-exam, .form-exam select, .form-exam .form-control, .terms, .pre-op-form, .pre-op-form select, .pre-op-form .form-control, .pre-op-header .head-link, .popover-preop-wrap label, .popover-preop-wrap .form-control, .operation-form, .operation-form select, .operation-form .form-control, .operation-form .marker, .operation-note-header .head-link, .head-link {
	font-family: 'Gordita Regular' !important;
}
.font-size-8 {
	font-size: 8px !important;
}
.margin-to-right {
	margin-left: 50%;
}
.grid-column-no-padding {
	padding-left: 0px;
	padding-right: 0px;

}
.select-no-margin {
	margin-right: 0px !important;
	width: 100% !important;
}
/*!
 * ui-select
 * http://github.com/angular-ui/ui-select
 * Version: 0.18.0 - 2016-06-14T06:54:43.159Z
 * License: MIT
 */
/* Style when highlighting a search. */
.ui-select-highlight {
    font-weight: bold;
}
.ui-select-offscreen {
    clip: rect(0 0 0 0) !important;
    width: 1px !important;
    height: 1px !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    outline: 0 !important;
    left: 0px !important;
    top: 0px !important;
}
.ui-select-choices-row:hover {
    background-color: #f5f5f5;
}
.ui-select-choices-row {
    background-color: white !important;
}
.selectize-control.single .selectize-input {
    background-image: none !important;
}
/* Select2 theme */
/* Mark invalid Select2 */
.ng-dirty.ng-invalid > a.select2-choice {
    border-color: #d44950;
}
.select2-result-single {
    padding-left: 0;
}
.select2-locked > .select2-search-choice-close {
    display: none;
}
.select-locked > .ui-select-match-close {
    display: none;
}
body > .select2-container.open {
    z-index: 9999; /* The z-index Select2 applies to the select2-drop */
}
/* Handle up direction Select2 */
.ui-select-container[theme="select2"].direction-up .ui-select-match {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;

    border-top-width: 1px; /* FIXME hardcoded value :-/ */
    border-top-style: solid;

    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);

    margin-top: -4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up .ui-select-dropdown .select2-search {
    margin-top: 4px; /* FIXME hardcoded value :-/ */
}
.ui-select-container[theme="select2"].direction-up.select2-dropdown-open .ui-select-match {
    border-bottom-color: #5897fb;
}
/* Selectize theme */
/* Helper class to show styles when focus */
.selectize-input.selectize-focus {
    border-color: transparent !important;
}
.selectize-input > input:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
    outline-color: red;
    /* outline: none !important; */
}
.selectize-control.single .selectize-input, .selectize-dropdown.single {
    border-color: transparent;
}
/* Fix input width for Selectize theme */
.selectize-control > .selectize-input > input {
    width: 100%;
}
/* Fix dropdown width for Selectize theme */
.selectize-control > .selectize-dropdown {
    width: 100%;
}
.selectize-control.single .selectize-input, .selectize-dropdown.single {
    border-color: #3850a2 !important;
    /* border: 1px solid #3850a2 !important; */
    border-radius: 20px;
    margin-bottom: -4px;
    box-shadow: none !important;
}
/* Mark invalid Selectize */
.ng-dirty.ng-invalid > div.selectize-input {
    border-color: #d44950;
}
.selectize-dropdown {
    border: 0px solid transparent !important;
    background: transparent !important;
}
/* Handle up direction Selectize */
.ui-select-container[theme="selectize"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);

    margin-top: -2px; /* FIXME hardcoded value :-/ */
}
/* Bootstrap theme */
/* Helper class to show styles when focus */
.btn-default-focus {
    color: #333;
    background-color: #ebebeb;
    border-color: #adadad;
    text-decoration: none;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.ui-select-bootstrap .ui-select-toggle {
    position: relative;
}
.ui-select-bootstrap .ui-select-toggle > .caret {
    position: absolute;
    height: 10px;
    top: 50%;
    right: 10px;
    margin-top: -2px;
}
/* Fix Bootstrap dropdown position when inside a input-group */
.input-group > .ui-select-bootstrap.dropdown {
    /* Instead of relative */
    position: static;
}
.input-group > .ui-select-bootstrap > input.ui-select-search.form-control {
    border-radius: 4px; /* FIXME hardcoded value :-/ */
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}
.input-group > .ui-select-bootstrap > input.ui-select-search.form-control.direction-up {
    border-radius: 4px !important; /* FIXME hardcoded value :-/ */
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}
.ui-select-bootstrap > .ui-select-match > .btn {
    /* Instead of center because of .btn */
    text-align: left !important;
}
.ui-select-bootstrap > .ui-select-match > .caret {
    position: absolute;
    top: 45%;
    right: 15px;
}
/* See Scrollable Menu with Bootstrap 3 http://stackoverflow.com/questions/19227496 */
.ui-select-bootstrap > .ui-select-choices, .ui-select-bootstrap > .ui-select-no-choice {
    width: 100%;
    height: auto;
    max-height: 200px;
    overflow-x: hidden;
    margin-top: -1px;
}
body > .ui-select-bootstrap.open {
    z-index: 1000; /* Standard Bootstrap dropdown z-index */
}
.ui-select-multiple.ui-select-bootstrap {
    height: auto;
    padding: 3px 3px 0 3px;
}
.ui-select-multiple.ui-select-bootstrap input.ui-select-search {
    background-color: transparent !important; /* To prevent double background when disabled */
    border: none;
    outline: none;
    height: 1.666666em;
    margin-bottom: 3px;
}
.ui-select-multiple.ui-select-bootstrap .ui-select-match .close {
    font-size: 1.6em;
    line-height: 0.75;
}
.ui-select-multiple.ui-select-bootstrap .ui-select-match-item {
    outline: 0;
    margin: 0 3px 3px 0;
}
.ui-select-multiple .ui-select-match-item {
    position: relative;
}
.ui-select-multiple .ui-select-match-item.dropping .ui-select-match-close {
    pointer-events: none;
}
.ui-select-multiple:hover .ui-select-match-item.dropping-before:before {
    content: "";
    position: absolute;
    top: 0;
    right: 100%;
    height: 100%;
    margin-right: 2px;
    border-left: 1px solid #428bca;
}
.ui-select-multiple:hover .ui-select-match-item.dropping-after:after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    height: 100%;
    margin-left: 2px;
    border-right: 1px solid #428bca;
}
.ui-select-bootstrap .ui-select-choices-row > a {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    white-space: nowrap;
}
.ui-select-bootstrap .ui-select-choices-row > a:hover, .ui-select-bootstrap .ui-select-choices-row > a:focus {
    text-decoration: none;
    color: #262626;
    background-color: #f5f5f5;
}
.ui-select-bootstrap .ui-select-choices-row.active > a {
    color: #fff;
    text-decoration: none;
    outline: 0;
    background-color: #428bca;
}
.ui-select-bootstrap .ui-select-choices-row.disabled > a, .ui-select-bootstrap .ui-select-choices-row.active.disabled > a {
    color: #777;
    cursor: not-allowed;
    background-color: #fff;
}
/* fix hide/show angular animation */
.ui-select-match.ng-hide-add, .ui-select-search.ng-hide-add {
    display: none !important;
}
/* Mark invalid Bootstrap */
.ui-select-bootstrap.ng-dirty.ng-invalid > button.btn.ui-select-match {
    border-color: #d44950;
}
/* Handle up direction Bootstrap */
.ui-select-container[theme="bootstrap"].direction-up .ui-select-dropdown {
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.25);
}
.selectize-control.single .selectize-input:after {
    position: absolute;
    top: 50%;
    right: 5px !important;
    display: block;
    width: 7px !important;
    height: 7px !important;
    margin-top: -5px !important;
    border-color: #0035d2 #0035d2 transparent transparent !important;
    border-style: solid !important;
    border-width: 2px 2px 0px 0px !important;
    transform: rotate(135deg);
}
.listclass {
    border-radius: 2px !important;
    border-width: 1px !important;
}
.premium-lens-price-box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    margin-right: -15px;
    margin-left: -15px;
    /* border-bottom: 1px solid $navy; */
}
.h4-medium {
    font-size: 1.2em;
}
.navy-color {
    color: #0035d2 !important;
}
.flex-row {
    width: 20%;
    text-align: center;
    font-size: 1em;
}
.dollar {
    margin-left: -6em;
    position: absolute;
    padding-top: 0.8em;
}
.dollar-non-toric {
    margin-left: -6em;
    position: absolute;
    padding-top: 0.8em;
}
.padding-zero {
    padding-top: 0px;
    padding-bottom: 0px;
    margin-top: 1em;
    margin-bottom: 1em;
}
.align-left {
    text-align: left;
}
.next-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
}
.slideIn {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.slideIn.ng-enter, .slideIn.ng-leave {
    transition: all 1s ease;
}
.slideIn.ng-enter {
    left: 100%;
}
.slideIn.ng-enter-active {
    left: 0;
}
.slideIn.ng-leave {
    left: 0;
}
.slideIn.ng-leave-active {
    left: 100%;
}
.slideOut {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.slideOut.ng-enter, .slideOut.ng-leave {
    transition: all 1s ease;
}
.slideOut.ng-enter {
    left: -100%;
}
.slideOut.ng-enter-active {
    left: 0;
}
.slideOut.ng-leave {
    left: 0;
}
.slideOut.ng-leave-active {
    left: -100%;
}
.slidedown {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.slidedown.ng-enter, .slidedown.ng-leave {
    transition: all 1s ease;
}
.slidedown.ng-enter {
    top: -100%;
}
.slidedown.ng-enter-active {
    top: 0;
}
.slidedown.ng-leave {
    top: 0;
}
.slidedown.ng-leave-active {
    top: 100%;
}
.slideup {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
}
.slideup.ng-enter, .slideup.ng-leave {
    transition: all 1s ease;
}
.slideup.ng-enter {
    top: 100%;
}
.slideup.ng-enter-active {
    top: 0;
}
.slideup.ng-leave {
    top: 0;
}
.slideup.ng-leave-active {
    top: -100%;
}
.ai-full-content {
    height: 100%;
}
/* --- Main Layout Container --- */
.ai-agent-main {
    /* Changed from margin to padding so height: 100% works correctly */
    height: 100%;
    width: 100%;
    padding: 2rem; 
    box-sizing: border-box;
    
    /* ENABLES THE STICKY FOOTER LAYOUT */
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
}
/* --- Scrollable Content Area --- */
/* This targets the container holding the tables and forms */
.dialog-content-box, .ai-scroll {
    /* Grow to fill empty space */
    -ms-flex: 1;
        flex: 1; 
    
    /* Handle Scrolling */
    overflow-y: auto; 
    overflow-x: hidden;
    
    /* Remove fixed heights */
    height: auto; 
    width: 100%;
    
    /* Add breathing room for scrollbar */
    padding-right: 5px; 
    padding-left: 1rem;
    
    /* Fix for Firefox flex scrolling */
    min-height: 0; 
}
/* --- Footer Buttons --- */
.ai-agent-footer {
    width: 100%;
    
    /* Layout */
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    gap: 1rem;
    position: relative; 
    bottom: auto;
    -ms-flex-negative: 0;
        flex-shrink: 0; 
    padding-top: 1.5rem;
    margin-top: auto; 
    background-color: inherit;
    z-index: 10;
}
/* --- Utility Classes --- */
.ai-agent-item-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: baseline;
        align-items: baseline;
    gap: 1rem;
}
/* --- Animations --- */
.playing i {
    animation: flash 1s infinite;
    color: #e91e63;
}
@keyframes flash {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.3; }
}
/* --- Transcription styles --- */
.tr-compact-toolbar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 4px;
    min-height: 42px;
}
/* Standardized 30x30 square buttons for icons */
.tr-icon-btn {
    height: 30px;
    width: 32px;
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
}
.tr-mic-selector {
    margin-bottom: 0;
    max-width: 160px;
}
.tr-mic-selector .form-control {
        height: 30px;
        padding: 4px 8px;
    }
.tr-mic-icon-addon {
    padding: 4px 8px;
    border: none;
    background: transparent;
}
.tr-timer-display {
    font-family: monospace;
    font-size: 1.2em;
    font-weight: bold;
    padding: 0 10px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 6px;
}
.tr-toolbar-divider {
    width: 1px;
    height: 20px;
    background-color: #ccc;
    margin: 0 2px;
}
.tr-permission-error {
    margin-top: 4px;
    font-weight: bold;
}
.blink {
    animation: blinker 1.5s linear infinite;
}
@keyframes blinker {
    50% {
        opacity: 0;
    }
}
/*
 * ===================================================================
 * Themed Quill Editor Component
 * ===================================================================
 */
/* --- 1. Theme Variables --- */
:root {
    --ql-font-family: 'Gordita Regular', sans-serif;
    --ql-border-radius: 8px;
    --ql-border-color: #949599; 
    --ql-accent-color: #0035d2; 
    --ql-white-color: #ffffff;
    --ql-text-bg-color: #f2f6fb; 
    --ql-toolbar-bg-color: #ebecea; 
    --ql-text-color: #404141; 
    --ql-subtle-border-color: #bccad2; 
}
/* --- 2. Main Editor Container --- */
.ql-toolbar, .ql-container {
    font-family: var(--ql-font-family);
    border-color: var(--ql-border-color) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* --- 3. Toolbar UI --- */
.ql-toolbar {
    background: var(--ql-toolbar-bg-color);
    border-top-left-radius: var(--ql-border-radius);
    border-top-right-radius: var(--ql-border-radius);
    border-bottom: 1px solid var(--ql-border-color) !important;
}
.ql-toolbar .ql-stroke {
        stroke: var(--ql-text-color);
    }
.ql-toolbar .ql-fill {
        fill: var(--ql-text-color);
    }
.ql-toolbar .ql-picker-label {
        color: var(--ql-text-color);
    }
.ql-toolbar button:hover, .ql-toolbar .ql-picker-label:hover {
            background: rgba(0, 0, 0, 0.05);
        }
.ql-toolbar button.ql-active, .ql-toolbar .ql-picker-label.ql-active {
            background: rgba(0, 53, 210, 0.1); 
        }
.ql-toolbar .ql-tooltip {
        display: none !important;
    }
/* --- 4. Editable Content Area --- */
.ql-container {
    border-bottom-left-radius: var(--ql-border-radius);
    border-bottom-right-radius: var(--ql-border-radius);
    background: var(--ql-text-bg-color);
}
.ql-editor {
    min-height: 250px;
    color: var(--ql-text-color);
    padding: 1rem 1.5rem;
}
.ql-editor.ql-blank::before {
        color: #949599;
        font-style: normal;
        left: 1.5rem;
    }
/* --- 5. Focus State --- */
.ql-container.ql-focus {
    border-color: var(--ql-accent-color) !important;
    box-shadow: 0 0 0 3px rgba(0, 53, 210, 0.25);
}
.ql-toolbar.ql-focus {
    border-color: var(--ql-accent-color) !important;
}
/* --- 6. Content Styling --- */
.ql-editor h1, .ql-editor h2, .ql-editor h3 {
    color: var(--ql-text-color);
    font-weight: 700;
    border-bottom: 1px solid var(--ql-subtle-border-color);
    padding-bottom: 0.3em;
    margin-bottom: 0.8em;
}
.ql-editor h1 {
    font-size: 2em;
}
.ql-editor h2 {
    font-size: 1.75em;
}
.ql-editor h3 {
    font-size: 1.5em;
}
.ql-editor p, .ql-editor ol, .ql-editor ul {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--ql-text-color);
}
.ql-editor a {
    color: var(--ql-accent-color);
    text-decoration: none;
    font-weight: 700;
}
.ql-editor a:hover {
        text-decoration: underline;
    }
/* --- 7. Font Family Selector --- */
.ql-snow .ql-picker.ql-font {
    width: 130px;
}
/* Default option (no font value) is the theme font, Gordita Regular. */
.ql-snow .ql-picker.ql-font .ql-picker-label::before, .ql-snow .ql-picker.ql-font .ql-picker-item::before {
    content: 'Gordita Regular';
    font-family: 'Gordita Regular', sans-serif;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="arial"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="arial"]::before {
    content: 'Arial';
    font-family: Arial, sans-serif;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="georgia"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="georgia"]::before {
    content: 'Georgia';
    font-family: Georgia, serif;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="times-new-roman"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="times-new-roman"]::before {
    content: 'Times New Roman';
    font-family: 'Times New Roman', Times, serif;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="courier-new"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="courier-new"]::before {
    content: 'Courier New';
    font-family: 'Courier New', Courier, monospace;
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="verdana"]::before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="verdana"]::before {
    content: 'Verdana';
    font-family: Verdana, Geneva, sans-serif;
}
/* Apply the chosen font to the editor content. */
.ql-font-arial {
    font-family: Arial, sans-serif;
}
.ql-font-georgia {
    font-family: Georgia, serif;
}
.ql-font-times-new-roman {
    font-family: 'Times New Roman', Times, serif;
}
.ql-font-courier-new {
    font-family: 'Courier New', Courier, monospace;
}
.ql-font-verdana {
    font-family: Verdana, Geneva, sans-serif;
}
.quill-viewer-container {
    --ql-text-bg-color: transparent;
}
.quill-viewer-container.ql-container {
        border: none !important;
    }
.quill-viewer-container.ql-container .ql-editor {
            min-height: 0;
            padding: 0;
            color: inherit;
            border: none !important;
        }
.quill-viewer-container.ql-container .ql-editor a {
                color: inherit;
                font-weight: inherit;
            }
/* =================================================================== */
/* ! Payment Settings
/* =================================================================== */
/* --- Main View Container --- */
.payment-settings-main {
    height: 100%;
    width: 100%;
    padding: 20px 30px;
    background-color: #f4f7fe;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    overflow-y: auto;
}
/* --- Typography Overrides --- */
.payment-settings-main h3, .payment-settings-main h4, .payment-settings-main h5 {
    font-family: 'Gordita Bold', sans-serif;
    margin-top: 0;
}
/* =================================================================== */
/* ! Hero Section (Digital Wallet)
/* =================================================================== */
.wallet-hero-section {
    width: 100%;
    margin-bottom: 25px;
}
.wallet-card-visual {
    background: linear-gradient(135deg, #0035d2 0%, #2a307f 100%);
    border-radius: 16px;
    padding: 25px 35px;
    color: #ffffff;
    box-shadow: 0 8px 20px rgba(0, 53, 210, 0.25);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    overflow: hidden;
}
.wallet-card-visual::after {
    content: '';
    position: absolute;
    right: -50px;
    top: -50px;
    width: 200px;
    height: 200px;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    pointer-events: none;
}
.wallet-card-visual .wallet-info {
    z-index: 1;
}
.wallet-card-visual .wallet-info h5 {
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    margin-bottom: 10px;
}
.wallet-card-visual .wallet-info h1 {
    font-size: 42px;
    font-weight: 700;
    margin: 0;
    line-height: 1;
}
.wallet-card-visual .wallet-info h1 small {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 400;
    margin-left: 5px;
}
.wallet-card-visual .wallet-status {
    text-align: right;
    z-index: 1;
}
.wallet-card-visual .wallet-status .status-badge {
    background: rgba(255,255,255,0.2);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 8px;
}
.wallet-card-visual .wallet-status .status-badge.active {
    background: #ffffff;
    color: #20c997;
}
.wallet-card-visual .wallet-status .status-badge.inactive {
    color: rgba(255,255,255,0.7);
}
/* =================================================================== */
/* ! Grid Layout
/* =================================================================== */
.settings-grid {
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.grid-col-left {
    -ms-flex: 3;
        flex: 3;
    min-width: 300px;
}
.grid-col-right {
    -ms-flex: 2;
        flex: 2;
    min-width: 280px;
}
/* =================================================================== */
/* ! Card Components
/* =================================================================== */
.settings-card {
    background-color: #fff;
    border: none;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 25px;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
}
.settings-card .card-header, .settings-card .card-header-flex {
    border-bottom: 1px solid #e0e6ed;
    padding-bottom: 15px;
    margin-bottom: 20px;
}
.settings-card .card-header h4, .settings-card .card-header-flex h4 {
    color: #0035d2;/* $navy */
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}
.settings-card .card-header-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
}
.settings-card .card-body {
    -ms-flex: 1;
        flex: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
}
/* =================================================================== */
/* ! Backup Card & Footer Warnings
/* =================================================================== */
.settings-card .backup-missing-footer {
    background-color: #fff5f5;
    border-top: 1px solid #ffe5cc;
    padding: 12px 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    margin-left: -25px;
    margin-right: -25px;
    margin-bottom: -25px;
    margin-top: auto;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}
.settings-card .backup-missing-footer .warning-text {
    color: #856404;
    font-size: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
}
.settings-card .backup-missing-footer .warning-text i {
    margin-right: 8px;
    color: #ffab00;
    font-size: 14px;
}
.settings-card .backup-missing-footer .warning-text strong {
    margin-right: 4px;
    font-family: 'Gordita Bold', sans-serif;
}
.settings-card .backup-missing-footer .btn-outline-warning {
    border: 1px solid #ffab00;
    color: #ffab00;
    background: transparent;
    font-size: 10px;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 15px;
    white-space: nowrap;
    transition: all 0.2s ease;
    cursor: pointer;
}
.settings-card .backup-missing-footer .btn-outline-warning:hover {
    background-color: #ffab00;
    color: #ffffff;
}
/* =================================================================== */
/* ! Left Column: Auto-Reload Inputs
/* =================================================================== */
.setting-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 15px 0;
    border-bottom: 1px dashed #e0e6ed;
}
.setting-row:last-of-type {
    border-bottom: none;
}
.setting-row .setting-icon {
    width: 40px;
    height: 40px;
    background-color: #f4f7fe;
    color: #0035d2;
    border-radius: 8px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    margin-right: 15px;
    font-size: 18px;
}
.setting-row .setting-content {
    -ms-flex: 1;
        flex: 1;
}
.setting-row .setting-content label {
    display: block;
    font-size: 13px;
    color: #555;
    margin-bottom: 5px;
    font-weight: 600;
}
.setting-row .setting-content .helper-text {
    font-size: 11px;
    color: #888;
    margin-top: 4px;
}
.setting-row .setting-input-wrapper {
    position: relative;
    width: 100px;
}
.setting-row .setting-input-wrapper input {
    width: 100%;
    padding: 8px 12px;
    padding-right: 20px;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    text-align: right;
    color: #0035d2;
    font-weight: bold;
    font-size: 14px;
    transition: all 0.2s;
}
.setting-row .setting-input-wrapper input:focus {
    border-color: #0035d2;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 53, 210, 0.1);
}
.setting-row .setting-input-wrapper input:disabled {
    background-color: #f9f9f9;
    color: #aaa;
}
/* Toggle Switch */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}
.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}
.toggle-switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 24px;
}
.toggle-switch .slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}
.toggle-switch input:checked + .slider {
    background-color: #20c997;
}
.toggle-switch input:focus + .slider {
    box-shadow: 0 0 1px #20c997;
}
.toggle-switch input:checked + .slider:before {
    transform: translateX(20px);
}
.disabled-overlay {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.3s;
}
.save-status-indicator {
    height: 20px;
    margin-top: auto;
    text-align: right;
    font-size: 12px;
    font-style: italic;
    color: #20c997;
    transition: opacity 0.3s;
}
.save-status-indicator.error {
    color: #d9534f;
}
/* =================================================================== */
/* ! Right Column: Payment Method (Redesigned)
/* =================================================================== */
/* Center container for the right column */
.payment-card-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    text-align: center;
    height: 100%;
    width: 100%;
    padding: 30px 20px;
}
/* Credit Card Visual Box */
.cc-visual {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    gap: 20px;
    background-color: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 20px 25px;
    box-shadow: 0 4px 12px rgba(0, 53, 210, 0.08); 
    width: 100%;
    max-width: 380px; 
    margin-bottom: 25px;
}
.cc-visual .cc-icon {
    color: #0035d2;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    width: 50px;
}
.cc-visual .cc-text {
    -ms-flex: 1;
        flex: 1;
    text-align: left;
}
.cc-visual .cc-text h5 {
    margin: 0;
    font-size: 18px;
    color: #333;
    font-weight: 700;
    letter-spacing: 1px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
}
/* New class for the masked dots */
.cc-visual .cc-text .masked-dots {
    font-size: 24px;
    line-height: 10px;
    margin-right: 8px;
    position: relative;
    top: 4px;
    color: #888;
}
.cc-visual .cc-text p {
    margin: 5px 0 0 0;
    font-size: 13px;
    color: #888;
    font-weight: 500;
}
/* Stripe Input Container (Constrained width) */
.stripe-input-container {
    width: 100%;
    max-width: 380px;
    margin: 0 auto;
}
#card-element {
    border: 1px solid #0035d2;
    border-radius: 20px;
    padding: 12px 15px;
    background: white;
    margin-bottom: 0;
}
#card-errors {
    margin-top: 5px;
    min-height: 18px;
    text-align: center;
}
/* Buttons (Centered & Constrained) */
.vertical-buttons {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
}
.btn-centered {
    width: 100% !important;
    max-width: 240px;
    margin: 5px 0;
}
/* =================================================================== */
/* ! Usage History Table
/* =================================================================== */
.usage-container {
    background: white;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    
    max-height: calc(170vh);
    overflow-y: auto;
    position: relative;
}
.usage-container table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
}
.usage-container table th {
    background: #f4f7fe;
    color: #0035d2;
    padding: 15px;
    text-align: left;
    font-weight: bold;
    font-size: 13px;
    white-space: nowrap;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 10;
    box-shadow: inset 0 -1px 0 #eee;
}
.usage-container table td {
    padding: 15px;
    border-bottom: 1px solid #eee;
    color: #343a40;
    font-size: 13px;
    vertical-align: middle;
}
.usage-container table td small {
    display: block;
    color: #98a6ad;
    font-size: 11px;
    margin-top: 2px;
    font-weight: 400;
}
.usage-container table tr:last-child td {
    border-bottom: none;
}
/* Optional: Custom scrollbar for the table container */
.usage-container::-webkit-scrollbar {
    width: 6px;
}
.usage-container::-webkit-scrollbar-thumb {
    background-color: rgba(0, 53, 210, 0.1);
    border-radius: 10px;
}
.usage-container .label {
    font-size: 10px;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    display: inline-block;
    line-height: 1.5;
}
/* Custom Scrollbar for the Main Container */
.payment-settings-main::-webkit-scrollbar {
    width: 6px;
}
.payment-settings-main::-webkit-scrollbar-track {
    background: transparent; 
}
.payment-settings-main::-webkit-scrollbar-thumb {
    background-color: rgba(0, 53, 210, 0.1); /* Light Navy */
    border-radius: 20px;
}
.payment-settings-main:hover::-webkit-scrollbar-thumb {
    background-color: rgba(0, 53, 210, 0.3);
}
/* Utility */
.mt-auto { margin-top: auto; }
/* Card Switcher Header */
.card-switcher {
    background: #f4f7fe;
    padding: 4px 12px;
    border-radius: 15px;
    color: #0035d2;
    font-size: 14px;
    transition: all 0.2s;
}
.card-switcher:hover {
    background: #0035d2;
    color: white;
}
/* Backup Card Visual Variant */
.cc-visual.backup-style {
    border: 1px dashed #ffab00;
    box-shadow: 0 4px 12px rgba(255, 171, 0, 0.1);
}
.cc-visual.backup-style .cc-icon {
    color: #ffab00;
}
/* Helper Colors */
.text-warning { color: #ffab00 !important; }
.btn-warning {
    background-color: #ffab00 !important;
    color: white !important;
    border-radius: 20px;
    font-weight: bold;
}
.btn-warning:hover {
    background-color: #e69a00 !important;
}
/* Snappy Fading for Buttons */
.animate-fade.ng-enter, .animate-fade.ng-leave {
    transition: 150ms cubic-bezier(0.250, 0.460, 0.450, 0.940) all;
}
.animate-fade.ng-enter, .animate-fade.ng-leave.ng-leave-active {
    opacity: 0;
}
.animate-fade.ng-leave, .animate-fade.ng-enter.ng-enter-active {
    opacity: 1;
}
/* Ensure buttons don't jump layout when switching */
.vertical-buttons {
    min-height: 50px;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
}
.animate-fade {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
}
/* --- Universal Token Section --- */
.universal-token-section {
    margin-bottom: 25px;
}
/* Header & Title Styling */
.token-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 15px;
    margin-bottom: 18px;
    padding-left: 5px;
}
.token-circle-icon {
    width: 46px;
    height: 46px;
    background: linear-gradient(135deg, #0035d2 0%, #2a307f 100%);
    color: white;
    border-radius: 12px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 18px;
    box-shadow: 0 4px 12px rgba(0, 53, 210, 0.15);
    -ms-flex-negative: 0;
        flex-shrink: 0; /* Prevents icon from squishing */
}
.token-title-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
}
.premium-title {
    margin: 0;
    font-size: 20px;
    font-family: 'Gordita Bold', sans-serif;
    color: #2a307f;
    letter-spacing: -0.02em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px;
    line-height: 1.2;
}
.title-separator {
    width: 4px;
    height: 4px;
    background-color: #0035d2;
    border-radius: 50%;
    opacity: 0.4;
    display: inline-block;
}
.premium-subtitle {
    margin: 4px 0 0 0 !important;
    font-size: 13px;
    color: #878ba0;
    font-weight: 400;
}
.premium-title {
    margin: 0;
    font-size: 20px;
    font-family: 'Gordita Bold', sans-serif;
    color: #2a307f;
    letter-spacing: -0.02em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px;
    line-height: 1.2;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.token-price-badge {
    font-size: 11px;
    background-color: #e6fffa; 
    color: #20c997; 
    padding: 4px 10px;
    border-radius: 20px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: 1px solid rgba(32, 201, 151, 0.2);
    font-family: sans-serif;
}
/* Grid & Items Styling */
.token-value-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    gap: 12px;
}
.token-item {
    -ms-flex: 1;
        flex: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    background: #ffffff;
    padding: 12px 15px;
    border-radius: 12px;
    border: 1px solid #e0e6ed;
    transition: transform 0.2s ease;
}
.token-item:hover {
    transform: translateY(-2px);
    border-color: #cbd5e0;
}
.item-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    margin-right: 12px;
    font-size: 15px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.item-icon.ai-agent { background: #e7f0ff; color: #0035d2; }
.item-icon.sms { background: #e6fffa; color: #20c997; }
.item-icon.transcription { background: #fff4e5; color: #ffab00; }
.item-details {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
}
.item-label {
    font-size: 10px;
    color: #888;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.4;
}
.item-value {
    font-size: 14px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
}
.item-value small {
    font-weight: 500;
    color: #0035d2;
    font-size: 13px;
}
.btn-outline-white {
    background-color: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 8px 12px;
    border-radius: 20px;
    transition: all 0.2s ease;
    width: 100%;
    margin-top: 5px;
}
.btn-outline-white:hover:not(:disabled) {
    background-color: #ffffff;
    color: #0035d2;
    border-color: #ffffff;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    cursor: pointer;
}
.btn-outline-white:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.btn-outline-white i {
    margin-right: 5px;
}
/* Responsive Logic */
@media (max-width: 992px) {
    .token-value-grid {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .token-item {
        min-width: calc(50% - 12px);
    }
}
@media (max-width: 600px) {
    .token-item {
        min-width: 100%;
    }
    .premium-title {
        font-size: 18px;
    }
}
/* =================================================================== */
/* ! AI Transcription Seats
/* Shared by the seat plan dialog and the seat assignment / usage dialog.
/* =================================================================== */
/* The component sits directly inside an md-tab, so its host element has to carry the height itself. */
transcription-seats-view {
    display: block;
    height: 100%;
}
.seat-main {
    height: 100%;
    width: 100%;
    padding: 20px 30px;
    background-color: #f4f7fe;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    overflow-y: auto;
}
.seat-main h3, .seat-main h4, .seat-main h5 {
    font-family: 'Gordita Bold', sans-serif;
    margin-top: 0;
}
/* =================================================================== */
/* ! Section switcher
/* Buying, assigning and reporting are one view over one load of the
/* subscription, so they switch here rather than through the dialog's
/* own tabs.
/* =================================================================== */
.seat-subnav {
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 5px;
    margin-bottom: 18px;
}
.seat-subnav button {
    position: relative;
    -ms-flex: 1;
        flex: 1;
    border: 0;
    background: transparent;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #6c757d;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}
.seat-subnav button i {
    margin-right: 6px;
}
.seat-subnav button:hover:not(.active) {
    background: #f8f9fa;
    color: #2a307f;
}
.seat-subnav button.active {
    background: #0035d2;
    color: #ffffff;
}
/* =================================================================== */
/* ! Callouts
/* =================================================================== */
.seat-alert {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
    padding: 12px 18px;
    border-radius: 10px;
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.45;
    border-left: 4px solid transparent;
}
.seat-alert > i {
    font-size: 16px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.seat-alert > span {
    -ms-flex: 1;
        flex: 1;
}
/* The shared .btn rules stretch to 220px, which reads as a slab on a single-line callout. */
.seat-alert .btn {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: auto;
}
.seat-alert.tight {
    margin: 12px 0 0;
    padding: 8px 12px;
    font-size: 12px;
}
.seat-alert.info {
    background-color: #e7f0ff;
    border-left-color: #0035d2;
    color: #2a307f;
}
.seat-alert.warning {
    background-color: rgba(255, 243, 205, 0.9);
    border-left-color: rgba(255, 193, 7, 0.7);
    color: #856404;
}
.seat-alert.danger {
    background-color: rgba(217, 83, 79, 0.1);
    border-left-color: #d9534f;
    color: #a94442;
}
.seat-alert.trial {
    background-color: rgba(0, 188, 212, 0.1);
    border-left-color: #00bcd4;
    color: #00796b;
}
/* =================================================================== */
/* ! Subscription status strip
/* =================================================================== */
.seat-status-strip {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 40px;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 16px 24px;
    margin-bottom: 18px;
}
.seat-status-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 4px;
}
.seat-status-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
    font-weight: 600;
}
.seat-status-value {
    font-size: 16px;
    font-weight: 700;
    color: #2a307f;
}
.seat-pill {
    display: inline-block;
    padding: 3px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.seat-pill.pill-active {
    background-color: rgba(32, 201, 151, 0.2);
    color: #12805c;
}
.seat-pill.pill-warning {
    background-color: rgba(255, 182, 39, 0.3);
    color: #856404;
}
.seat-pill.pill-danger {
    background-color: rgba(217, 83, 79, 0.15);
    color: #a94442;
}
.seat-pill.pill-muted {
    background-color: #ebecea;
    color: #6c757d;
}
/* =================================================================== */
/* ! Plan picker layout
/* =================================================================== */
.seat-plan-layout {
    display: -ms-flexbox;
    display: flex;
    gap: 22px;
    -ms-flex-align: start;
        align-items: flex-start;
}
.seat-plan-column {
    -ms-flex: 1 1 60%;
        flex: 1 1 60%;
    min-width: 0;
}
.seat-summary-column {
    -ms-flex: 0 0 320px;
        flex: 0 0 320px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
/* =================================================================== */
/* ! Seat tier card
/* Two tiers, side by side and equal height, so choosing between them is
/* one comparison rather than a scroll.
/* =================================================================== */
.seat-tier-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 16px;
    margin-bottom: 16px;
}
.seat-tier-card {
    position: relative;
    -ms-flex: 1 1 0px;
        flex: 1 1 0;
    min-width: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    overflow: hidden;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.seat-tier-card:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.seat-tier-card.recommended {
    border-color: #0035d2;
    box-shadow: 0 4px 14px rgba(0, 53, 210, 0.12);
}
.seat-tier-flag {
    position: absolute;
    top: 0;
    right: 0;
    background: #0035d2;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.8px;
    padding: 4px 14px;
    border-bottom-left-radius: 8px;
}
.seat-tier-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 14px;
    padding: 20px 24px 10px;
}
.seat-tier-header h4 {
    margin: 0;
    font-size: 17px;
    color: #2a307f;
}
.seat-tier-icon {
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 18px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.seat-tier-icon.standard {
    background: #e7f0ff;
    color: #0035d2;
}
.seat-tier-icon.premium {
    background: rgba(162, 155, 254, 0.2);
    color: #9C27B0;
}
.seat-tier-price {
    padding: 0 24px;
}
.seat-tier-price .amount {
    font-size: 30px;
    font-weight: 700;
    color: #2a307f;
    letter-spacing: -0.02em;
}
.seat-tier-price .period {
    margin-left: 6px;
    font-size: 12px;
    color: #6c757d;
}
.seat-tier-included {
    margin: 4px 0 0;
    padding: 0 24px;
    font-size: 13px;
    color: #343a40;
}
/* Pushed to the bottom of the card so both steppers line up whatever the copy above does. */
.seat-tier-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 18px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: auto;
    padding: 18px 24px 20px;
}
.seat-tier-state {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 2px;
    font-size: 12px;
    color: #6c757d;
}
.seat-stepper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 0;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    overflow: hidden;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.seat-step-btn {
    width: 40px;
    height: 42px;
    border: 0;
    background: #f8f9fa;
    color: #0035d2;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.15s ease;
}
.seat-step-btn:hover:not([disabled]) {
    background: #e7f0ff;
}
.seat-step-btn[disabled] {
    color: #bdbec1;
    cursor: not-allowed;
}
.seat-step-input {
    width: 68px;
    height: 42px;
    border: 0;
    border-left: 1px solid #e0e6ed;
    border-right: 1px solid #e0e6ed;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #2a307f;
    background: #ffffff;

    /* The + and - buttons either side are the only steppers: the browser's own arrows sit inside the
       box, are far too small to aim at, and step past the minimum the practice is allowed to keep. */
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
            appearance: textfield;
}
.seat-step-input::-webkit-outer-spin-button, .seat-step-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.seat-step-input:focus {
    outline: none;
    background: #e7f0ff;
}
.seat-overflow-note {
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
    -ms-flex-align: start;
        align-items: flex-start;
    background: #ffffff;
    border: 1px dashed #c0cde0;
    border-radius: 10px;
    padding: 14px 18px;
    font-size: 12px;
    color: #6c757d;
    line-height: 1.5;
}
.seat-overflow-note i {
    color: #0035d2;
    font-size: 15px;
    margin-top: 2px;
}
/* =================================================================== */
/* ! Order summary
/* =================================================================== */
.seat-summary-card {
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.seat-summary-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    background: linear-gradient(135deg, #0035d2 0%, #2a307f 100%);
    color: #ffffff;
    padding: 14px 20px;
}
.seat-summary-header h4 {
    margin: 0;
    color: #ffffff;
    font-size: 15px;
    letter-spacing: 0.5px;
}
.seat-summary-currency {
    font-size: 11px;
    font-weight: 600;
    opacity: 0.8;
}
.seat-summary-body {
    padding: 18px 20px;
    min-height: 120px;
}
.seat-summary-loading, .seat-summary-empty {
    text-align: center;
    color: #6c757d;
    font-size: 13px;
    padding: 24px 0;
}
.seat-summary-loading i, .seat-summary-empty i {
    margin-right: 6px;
}
.summary-line {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: baseline;
        align-items: baseline;
    padding: 8px 0;
    border-bottom: 1px solid #e0e6ed;
    font-size: 13px;
}
.summary-line.total {
    border-bottom: 0;
    border-top: 2px solid #2a307f;
    margin-top: 6px;
    padding-top: 12px;
    font-size: 16px;
    font-weight: 700;
    color: #2a307f;
}
.summary-label {
    color: #343a40;
}
.summary-label small {
    display: block;
    color: #6c757d;
    font-size: 11px;
}
.summary-amount {
    font-weight: 700;
    color: #2a307f;
    white-space: nowrap;
}
.summary-charge {
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 8px;
    background: #e7f0ff;
}
.summary-charge.downgrade {
    background: rgba(255, 243, 205, 0.9);
}
.summary-charge.downgrade .charge-row {
    color: #856404;
}
.charge-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    font-size: 13px;
    font-weight: 600;
    color: #2a307f;
}
.charge-row strong {
    font-size: 16px;
}
.charge-note {
    margin: 6px 0 0;
    font-size: 11px;
    line-height: 1.45;
    color: #6c757d;
}
.summary-next {
    margin-top: 12px;
    font-size: 11px;
    color: #6c757d;
    text-align: center;
}
.seat-summary-footer {
    border-top: 1px solid #e0e6ed;
    padding: 16px 20px;
    background: #f8faff;
}
.seat-summary-footer .btn {
    margin-bottom: 8px;
}
/* The global .btn-navy is capped at 220px, which leaves the block button
       hugging the left edge of the card. Span the footer instead. */
.seat-summary-footer .btn-block {
    max-width: none;
}
.seat-validation {
    background: rgba(255, 243, 205, 0.9);
    color: #856404;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 12px;
}
.seat-validation i {
    margin-right: 5px;
}
.seat-validation-action {
    display: block;
    margin: 8px 0 0;
}
.seat-feedback {
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 10px;
}
.seat-feedback i {
    margin-right: 5px;
}
.seat-feedback.error {
    color: #a94442;
}
.seat-feedback.success {
    color: #12805c;
}
.seat-renew-note {
    font-size: 11px;
    line-height: 1.4;
    color: #6c757d;
    text-align: center;
    margin: 2px 0 0;
}
.seat-cancel-link {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #6c757d;
    cursor: pointer;
    margin-top: 4px;
}
.seat-cancel-link:hover {
    color: #a94442;
    text-decoration: underline;
}
/* =================================================================== */
/* ! Seat availability header
/* =================================================================== */
.seat-availability-row {
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    margin-bottom: 18px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.seat-availability-card {
    -ms-flex: 1 1 240px;
        flex: 1 1 240px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 14px;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 14px 18px;
    border-left-width: 4px;
}
.seat-availability-card.standard {
    border-left-color: #0035d2;
}
.seat-availability-card.premium {
    border-left-color: #9C27B0;
}
.seat-availability-card.ghost {
    border-style: dashed;
    border-left-width: 1px;
    cursor: pointer;
    color: #6c757d;
    background: transparent;
}
.seat-availability-card.ghost:hover {
    border-color: #0035d2;
    color: #0035d2;
}
.availability-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #f8f9fa;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    color: #0035d2;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.availability-detail {
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
}
.availability-label {
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
    font-weight: 600;
}
.availability-count {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #2a307f;
}
.availability-count small {
    font-size: 11px;
    font-weight: 400;
    color: #6c757d;
}
.availability-bar {
    height: 5px;
    border-radius: 3px;
    background: #ebecea;
    margin-top: 6px;
    overflow: hidden;
}
.availability-fill {
    height: 100%;
    background: #0035d2;
    transition: width 0.25s ease;
}
.availability-remaining {
    text-align: center;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-left: 12px;
    border-left: 1px solid #e0e6ed;
}
.availability-remaining.none-left .remaining-number {
    color: #6c757d;
}
.remaining-number {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #20c997;
    line-height: 1.1;
}
.remaining-label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
}
/* =================================================================== */
/* ! Table toolbar
/* =================================================================== */
.seat-table-toolbar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 16px;
    margin-bottom: 12px;
}
.seat-search {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 8px;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 20px;
    padding: 6px 14px;
    width: 320px;
    max-width: 100%;
}
.seat-search i {
    color: #6c757d;
    font-size: 12px;
}
.seat-search input {
    border: 0;
    outline: none;
    -ms-flex: 1;
        flex: 1;
    font-size: 13px;
    background: transparent;
    min-width: 0;
}
.seat-table-count {
    font-size: 12px;
    color: #6c757d;
    font-weight: 600;
}
.seat-period-selector {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px;
}
.seat-period-selector label {
    margin: 0;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
    font-weight: 600;
}
.seat-period-selector select {
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 13px;
    background: #ffffff;
    color: #2a307f;
    min-width: 220px;
}
/* =================================================================== */
/* ! Seat tables
/* =================================================================== */
.seat-table-wrapper {
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    overflow: hidden;
}
.seat-table {
    margin-bottom: 0;
}
.seat-table > thead > tr > th {
    background: #f8faff;
    border-bottom: 1px solid #e0e6ed;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
    font-weight: 700;
    padding: 12px 16px;
}
.seat-table > tbody > tr > td {
    padding: 12px 16px;
    vertical-align: middle;
    border-top: 1px solid #e0e6ed;
    font-size: 13px;
}
.seat-table > tbody > tr {
    transition: background 0.15s ease;
}
.seat-table > tbody > tr:hover {
    background: #f2f6fb;
}
.seat-table > tbody > tr.row-saving {
    background: #e7f0ff;
}
.seat-table > tbody > tr.row-saving:hover {
    background: #e7f0ff;
}
.seat-table > tbody > tr.row-orphaned {
    background: rgba(255, 243, 205, 0.5);
}
.seat-user {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
}
.seat-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-weight: 700;
    font-size: 14px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.seat-avatar.tier-standard {
    background: #0035d2;
    color: #ffffff;
}
.seat-avatar.tier-premium {
    background: #9C27B0;
    color: #ffffff;
}
.seat-avatar.tier-trial {
    background: #00bcd4;
    color: #ffffff;
}
.seat-avatar.tier-none {
    background: #ebecea;
    color: #6c757d;
}
.seat-user-detail {
    min-width: 0;
}
.seat-user-name {
    display: block;
    font-weight: 600;
    color: #2a307f;
}
.seat-user-email {
    display: block;
    font-size: 11px;
    color: #6c757d;
    overflow: hidden;
    text-overflow: ellipsis;
}
.seat-user-assigned {
    display: block;
    font-size: 10px;
    color: #6c757d;
    font-style: italic;
}
/* Labels are written out in the tier map rather than shouted by the stylesheet, so no screen ever
   shows a raw enum value. */
.seat-badge {
    display: inline-block;
    padding: 2px 9px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2px;
    white-space: nowrap;
    background: #ebecea;
    color: #6c757d;
}
.seat-badge i {
    margin-right: 3px;
}
.seat-badge.standard {
    background: #e7f0ff;
    color: #0035d2;
}
.seat-badge.premium {
    background: rgba(162, 155, 254, 0.2);
    color: #9C27B0;
}
.seat-badge.wallet {
    background: #f8f9fa;
    color: #6c757d;
}
.seat-badge.trial {
    background: rgba(0, 188, 212, 0.2);
    color: #00796b;
}
.seat-badge.orphaned {
    background: rgba(255, 182, 39, 0.3);
    color: #856404;
}
/* Badges trailing a name need separating from it; the same badge in its own table cell does not. */
.seat-user-name .seat-badge {
    margin-left: 6px;
    font-size: 10px;
}
/* =================================================================== */
/* ! Per-row tier selector
/* =================================================================== */
.seat-tier-selector {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
}
/* The spinner is overlaid rather than inserted, so an in-flight row keeps its height. */
.seat-tier-cell {
    position: relative;
}
.seat-tier-selector.saving {
    opacity: 0.45;
    cursor: progress;
}
.seat-tier-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -7px 0 0 -7px;
    font-size: 14px;
    color: #0035d2;
}
.tier-option {
    -ms-flex: 1;
        flex: 1;
    border: 0;
    border-right: 1px solid #e0e6ed;
    background: #ffffff;
    padding: 7px 6px;
    font-size: 12px;
    font-weight: 600;
    color: #6c757d;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
    white-space: nowrap;
}
.tier-option:last-child {
    border-right: 0;
}
.tier-option:hover:not([disabled]):not(.selected) {
    background: #f8f9fa;
    color: #2a307f;
}
.tier-option[disabled] {
    color: #c8cdd4;
    cursor: not-allowed;
    background: #f8f9fa;
}
.tier-option.selected {
    background: #343a40;
    color: #ffffff;
}
.tier-option.standard.selected {
    background: #0035d2;
    color: #ffffff;
}
.tier-option.premium.selected {
    background: #9C27B0;
    color: #ffffff;
}
/* The trial slot stands in for "none" on a trial holder, whose trial cannot be released. */
.tier-option.trial.selected {
    background: #00bcd4;
    color: #ffffff;
}
/* =================================================================== */
/* ! Feedback bar
/* =================================================================== */
.seat-feedback-bar {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 20px;
    margin-top: 14px;
    padding: 0 18px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    transition: max-height 0.2s ease, opacity 0.2s ease, padding 0.2s ease;
}
.seat-feedback-bar.visible {
    max-height: 90px;
    opacity: 1;
    padding: 14px 18px;
}
.seat-feedback-bar .seat-feedback {
    margin-bottom: 0;
}
/* =================================================================== */
/* ! Usage totals
/* =================================================================== */
.seat-totals-grid {
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    margin-bottom: 18px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.seat-total-card {
    -ms-flex: 1 1 200px;
        flex: 1 1 200px;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 16px 18px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 3px;
}
.total-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6c757d;
    font-weight: 600;
}
.total-value {
    font-size: 26px;
    font-weight: 700;
    color: #2a307f;
    line-height: 1.15;
}
.total-sub {
    font-size: 11px;
    color: #6c757d;
    line-height: 1.4;
}
.total-bar {
    height: 6px;
    border-radius: 3px;
    background: #ebecea;
    margin-top: 8px;
    overflow: hidden;
}
.total-fill {
    height: 100%;
    background: #0035d2;
    transition: width 0.25s ease;
}
.total-fill.over {
    background: #ffab00;
}
.total-link {
    font-size: 11px;
    font-weight: 600;
    color: #0035d2;
    cursor: pointer;
    margin-top: 4px;
}
.total-link:hover {
    text-decoration: underline;
    color: #0035d2;
}
/* =================================================================== */
/* ! Per-user usage bar
/* =================================================================== */
.usage-bar {
    height: 6px;
    border-radius: 3px;
    background: #ebecea;
    overflow: hidden;
    margin-bottom: 5px;
}
.usage-fill {
    height: 100%;
    background: #20c997;
    transition: width 0.25s ease;
}
.usage-fill.over {
    background: #ffab00;
}
.usage-caption {
    font-size: 11px;
    color: #343a40;
}
.seat-footnote {
    font-size: 11px;
    color: #6c757d;
    line-height: 1.5;
    margin: 14px 4px 0;
    font-style: italic;
}
/* =================================================================== */
/* ! Seat promo panel
/* Sits on the wallet tab of the payment dialog and links across to the
/* seats tab. Kept in this file rather than _payments.css so everything
/* describing seats stays in one place.
/* =================================================================== */
.seat-promo {
    position: relative;
    background: #ffffff;
    border: 1px solid #e0e6ed;
    /* The 4px edge is how the rest of this file marks a callout, and it gives the panel a brand
       anchor without the filled navy banner that crowded the wallet card above it. */
    border-left: 4px solid #0035d2;
    border-radius: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    margin-bottom: 25px;
}
/* =================================================================== */
/* ! Seat promo opening ping
/* The panel is easy to scroll past, so two things happen when the dialog
/* first shows it: it lifts off the page once, and a band of cyan light
/* sweeps across it. The white body is never recoloured - the band only
/* passes over it - and both animations end on the resting look, so the
/* class can be dropped at any point without the panel appearing to
/* change.
/* =================================================================== */
/* One rise and settle. Kept to a few pixels: this is a panel in a dialog, not a card being picked up. */
@keyframes seat-promo-lift {
    0% {
        transform: translateY(0) scale(1);
    }

    30% {
        transform: translateY(-5px) scale(1.008);
    }

    100% {
        transform: translateY(0) scale(1);
    }
}
/* Travels the panel's own width plus its overhang, so the band enters and leaves off the edges. */
@keyframes seat-promo-sweep {
    from {
        transform: translateX(-130%) skewX(-12deg);
    }

    to {
        transform: translateX(320%) skewX(-12deg);
    }
}
/* Held for the first moments of the dialog only - the controller drops the class as these finish. */
.seat-promo-highlight {
    animation: seat-promo-lift 1.7s ease-out 1 both;
}
/* The band of light. Clipped by the panel's own overflow, and over the hero content rather than
       under it, so it passes across the copy as well as the tinted strip. Cyan carries against both
       the white body and the pale hero; a white sheen would be invisible on either. */
.seat-promo-highlight::after {
    content: '';
    position: absolute;
    top: -10%;
    bottom: -10%;
    left: 0;
    width: 45%;
    z-index: 3;
    pointer-events: none;
    background: linear-gradient(100deg,
            rgba(0, 188, 212, 0) 0%,
            rgba(0, 188, 212, 0.26) 50%,
            rgba(0, 188, 212, 0) 100%);
    transform: translateX(-130%) skewX(-12deg);
    animation: seat-promo-sweep 1.25s ease-in-out 2 both;
}
@media (prefers-reduced-motion: reduce) {
    .seat-promo-highlight {
        animation: none;
    }
    /* Hidden outright: with the animation off, a static band would just sit over the panel. */
    .seat-promo-highlight::after {
        display: none;
    }
}
/* Tinted well short of the wallet card's saturation, but far enough up from white that the panel
   still reads as an advertisement rather than another settings card. */
.seat-promo-hero {
    position: relative;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 24px;
    padding: 24px 28px 22px;
    background: linear-gradient(120deg, rgb(204, 217, 255) 0%, rgb(194, 248, 255) 100%);
    border-bottom: 1px solid #e0e6ed;
    color: #2a307f;
}
.seat-promo-hero::after {
    content: '';
    position: absolute;
    right: -60px;
    top: -80px;
    width: 230px;
    height: 230px;
    background: rgba(255, 255, 255, 0.4);
    border-radius: 50%;
    pointer-events: none;
}
.seat-promo-watermark {
    position: absolute;
    right: 22px;
    bottom: -34px;
    font-size: 118px;
    line-height: 1;
    color: rgba(255, 255, 255, 0.5);
    pointer-events: none;
}
.seat-promo-intro {
    position: relative;
    z-index: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 18px;
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
}
/* The one saturated element left in the hero, matching the wallet page's own icon chips. */
.seat-promo-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: linear-gradient(135deg, #0035d2 0%, #2a307f 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 53, 210, 0.15);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 22px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.seat-promo-copy {
    min-width: 0;
}
.seat-promo-copy h3 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 6px;
    font-size: 20px;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: #2a307f;
}
.seat-promo-copy p {
    margin: 0;
    max-width: 620px;
    font-size: 13px;
    line-height: 1.5;
    color: #343a40;
}
.seat-promo-copy strong {
    color: #2a307f;
}
.seat-promo-flag {
    background: #ffab00;
    color: #0a2540;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 10px;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.seat-promo-flag.live {
    background: #20c997;
    color: #ffffff;
}
.seat-promo-flag.alert {
    background: #d9534f;
    color: #ffffff;
}
.seat-promo-cta {
    position: relative;
    z-index: 1;
    -ms-flex: 0 0 210px;
        flex: 0 0 210px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 8px;
}
.seat-promo-cta .btn {
    width: 100%;
    max-width: none;
    margin: 0;
}
.seat-promo-btn-primary, .seat-promo-btn-secondary {
    border-radius: 20px;
    padding: 9px 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: all 0.2s ease;
}
.seat-promo-btn-primary i, .seat-promo-btn-secondary i {
    margin-right: 6px;
}
.seat-promo-btn-primary {
    background: #0035d2;
    color: #ffffff;
    border: 0;
    box-shadow: 0 4px 12px rgba(0, 53, 210, 0.2);
}
.seat-promo-btn-primary:hover, .seat-promo-btn-primary:active, .seat-promo-btn-primary:focus {
    background: #2a307f;
    color: #ffffff;
    outline: 0;
}
.seat-promo-btn-secondary {
    background: #ffffff;
    color: #0035d2;
    border: 1px solid #c0cde0;
}
.seat-promo-btn-secondary:hover, .seat-promo-btn-secondary:active, .seat-promo-btn-secondary:focus {
    background: #ffffff;
    color: #0035d2;
    border-color: #0035d2;
    outline: 0;
}
.seat-promo-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    gap: 6px;
    margin-top: 2px;
    font-size: 11px;
    font-weight: 600;
    color: #0035d2;
    cursor: pointer;
}
.seat-promo-link:hover, .seat-promo-link:focus {
    color: #2a307f;
    text-decoration: underline;
}
/* --- The two tiers, priced. Side by side, as they are on the seats tab itself. --- */
.seat-promo-plans {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    gap: 12px;
    padding: 16px 28px 18px;
}
.seat-promo-plan {
    -ms-flex: 1 1 0px;
        flex: 1 1 0;
    min-width: 0;
    padding: 12px 16px;
    background: #f8f9fa;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    cursor: pointer;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.seat-promo-plan.recommended {
    background: #e7f0ff;
    border-color: #0035d2;
}
.seat-promo-plan:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-color: #0035d2;
}
.promo-plan-name {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #2a307f;
}
.promo-plan-name i {
    color: #0035d2;
    font-size: 12px;
}
.promo-plan-price {
    margin-top: 3px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    color: #2a307f;
}
.promo-plan-price small {
    margin-left: 5px;
    font-size: 11px;
    font-weight: 500;
    color: #6c757d;
}
.seat-promo-plans-status {
    -ms-flex: 1;
        flex: 1;
    padding: 12px 16px;
    border: 1px dashed #e0e6ed;
    border-radius: 12px;
    font-size: 12px;
    color: #6c757d;
}
.seat-promo-plans-status i {
    margin-right: 6px;
}
/* --- Footers: the things that block or waste a seat purchase --- */
.seat-promo-note {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px;
    padding: 11px 28px;
    border-top: 1px solid #e0e6ed;
    font-size: 12px;
    line-height: 1.45;
}
.seat-promo-note > i {
    font-size: 14px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.seat-promo-note > span {
    -ms-flex: 1;
        flex: 1;
}
/* The shared .btn rules stretch to 220px, which reads as a slab in a one-line footer. */
.seat-promo-note .btn {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: auto;
}
.seat-promo-note.info {
    background: #e7f0ff;
    color: #2a307f;
}
.seat-promo-note.info > i {
    color: #0035d2;
}
.seat-promo-note.warning {
    background: rgba(255, 243, 205, 0.9);
    color: #856404;
}
.seat-promo-note.warning > i {
    color: #ffab00;
}
.seat-promo-note.danger {
    background: rgba(217, 83, 79, 0.1);
    color: #a94442;
}
.seat-promo-note.danger > i {
    color: #d9534f;
}
/* =================================================================== */
/* ! Narrow screens
/* =================================================================== */
@media (max-width: 1100px) {
    .seat-plan-layout {
        -ms-flex-direction: column;
            flex-direction: column;
    }

    .seat-summary-column {
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
        width: 100%;
        position: static;
    }
}
@media (max-width: 820px) {
    .seat-promo-hero {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: stretch;
            align-items: stretch;
    }

    .seat-promo-cta {
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    }

    /* Below this there is not room to compare the tiers side by side, on either screen. */
    .seat-tier-grid, .seat-promo-plans {
        -ms-flex-direction: column;
            flex-direction: column;
    }

    /* A Font Awesome element, whose own .fa rule is loaded after this file and carries the same
       specificity, so the parent has to be named to hide it. */
    .seat-promo-hero .seat-promo-watermark {
        display: none;
    }
}
/* =================================================================== */
/* ! Settings Modal
/* Shares the visual language of _payments.css - pale blue canvas, white
/* rounded cards, navy accents - and reuses .settings-card, .setting-row,
/* .toggle-switch, .save-status-indicator and .disabled-overlay from it.
/* Everything else is scoped to .settings-shell so the generic names here
/* cannot leak into the rest of the app.
/* =================================================================== */
/* The scope band wipes open when a section is shown. Clip-path only affects paint,
   so the box occupies its space immediately and nothing shifts around it. */
@keyframes settings-scope-band-open {
	from {
		-webkit-clip-path: inset(0 100% 0 0);
		        clip-path: inset(0 100% 0 0);
	}

	to {
		-webkit-clip-path: inset(0 0 0 0);
		        clip-path: inset(0 0 0 0);
	}
}
.settings-dialog md-dialog-content {
    border-top: 0;
    padding: 0;
    overflow: hidden;
}
.settings-shell {
	display: -ms-flexbox;
	display: flex;
	-ms-flex: 1;
	    flex: 1;
	min-height: 0;
	width: 100%;
	background-color: #f4f7fe;

	/* =================================================================== */
}
/* ! Left Rail Navigation
	/* =================================================================== */
.settings-shell .settings-nav {
    -ms-flex: 0 0 272px;
        flex: 0 0 272px;
    width: 272px;
    background-color: #ffffff;
    border-right: 1px solid #e0e6ed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    overflow-y: auto;
}
.settings-shell .settings-nav::-webkit-scrollbar {
    width: 6px;
}
.settings-shell .settings-nav::-webkit-scrollbar-thumb {
    background-color: rgba(0, 53, 210, 0.1);
    border-radius: 20px;
}
/* =================================================================== */
.settings-shell .settings-identity {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
    padding: 20px 18px 18px;
    border-bottom: 1px solid #eef1f7;
}
.settings-shell .settings-avatar {
    width: 42px;
    height: 42px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #0035d2 0%, #2a307f 100%);
    color: #ffffff;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-family: 'Gordita Bold', sans-serif;
    font-size: 14px;
    letter-spacing: 0.5px;
    box-shadow: 0 4px 12px rgba(0, 53, 210, 0.2);
}
.settings-shell .settings-identity-text {
    min-width: 0;
}
.settings-shell .settings-identity-text .identity-name {
    font-family: 'Gordita Bold', sans-serif;
    font-size: 13px;
    color: #0a2540;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.settings-shell .settings-identity-text .identity-role {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #a3aac0;
    font-weight: 700;
    margin-top: 2px;
}
.settings-shell .settings-nav-group {
    padding: 16px 10px 4px;
}
/* Practice names are buttons that fold their settings away; "Your account"
		   uses the same look but is not interactive. */
.settings-shell .settings-nav-group .settings-nav-group-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 7px;
    width: 100%;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #a3aac0;
    font-weight: 700;
    text-align: left;
    background: none;
    border: none;
    border-radius: 8px;
    padding: 5px 12px 7px;
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease;
}
.settings-shell .settings-nav-group .settings-nav-group-title.static {
    cursor: default;
    padding-top: 0;
}
.settings-shell .settings-nav-group .settings-nav-group-title:not(.static):hover {
    color: #0035d2;
    background-color: #e7f0ff;
}
.settings-shell .settings-nav-group .settings-nav-group-title:not(.static):hover .nav-group-chevron {
    color: #0035d2;
}
.settings-shell .settings-nav-group .settings-nav-group-title .nav-group-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.settings-shell .settings-nav-group .settings-nav-group-title .nav-group-chevron {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 9px;
    color: #c3c9da;
    transition: transform 0.2s ease, color 0.15s ease;
}
.settings-shell .settings-nav-group .settings-nav-group-title.collapsed .nav-group-chevron {
    transform: rotate(-90deg);
}
/* Collapse animation. max-height cannot transition to auto, so it runs to a
		   ceiling comfortably above the tallest group (5 items ~ 200px); the easing is
		   what is seen, not the exact value. Opacity and a small lift do the rest. */
.settings-shell .settings-nav-group .nav-group-items {
    overflow: hidden;
    max-height: 320px;
    opacity: 1;
    transition: max-height 0.24s cubic-bezier(0.4, 0, 0.2, 1),
				opacity 0.18s ease,
				transform 0.24s cubic-bezier(0.4, 0, 0.2, 1);
}
.settings-shell .settings-nav-group .nav-group-items.ng-enter, .settings-shell .settings-nav-group .nav-group-items.ng-leave.ng-leave-active {
    max-height: 0;
    opacity: 0;
    transform: translateY(-4px);
}
.settings-shell .settings-nav-group .nav-group-items.ng-enter.ng-enter-active, .settings-shell .settings-nav-group .nav-group-items.ng-leave {
    max-height: 320px;
    opacity: 1;
    transform: translateY(0);
}
.settings-shell .settings-nav-group .nav-group-tag {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: auto;
    background-color: #f8f9fa;
    color: #a3aac0;
    font-size: 8px;
    letter-spacing: 0.03em;
    padding: 2px 7px;
    border-radius: 20px;
}
/* Filled pill marks the one practice that is open - only ever one. */
.settings-shell .settings-nav-group .nav-group-tag.open {
    background-color: #0035d2;
    color: #ffffff;
}
.settings-shell .settings-nav-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 11px;
    padding: 9px 12px;
    margin-bottom: 2px;
    border-radius: 10px;
    cursor: pointer;
    color: #4a5568;
    font-size: 13px;
    font-weight: 600;
    transition: all 0.15s ease;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
.settings-shell .settings-nav-item i {
    width: 15px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    text-align: center;
    font-size: 13px;
    color: #a3aac0;
    transition: color 0.15s ease;
}
.settings-shell .settings-nav-item:hover {
    background-color: #f4f7fe;
    color: #0035d2;
}
.settings-shell .settings-nav-item:hover i {
    color: #0035d2;
}
.settings-shell .settings-nav-item.active {
    background-color: #0035d2;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 53, 210, 0.2);
}
.settings-shell .settings-nav-item.active i {
    color: #ffffff;
}
.settings-shell .settings-nav-footer {
    margin-top: auto;
    padding: 14px 18px;
    border-top: 1px solid #eef1f7;
}
.settings-shell .settings-nav-footer .footer-label {
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #a3aac0;
    font-weight: 700;
}
.settings-shell .settings-nav-footer .footer-value {
    font-size: 12px;
    color: #0035d2;
    font-weight: 700;
    margin-top: 3px;
    line-height: 1.3;
}
/* ! Right Content Pane
	/* =================================================================== */
.settings-shell .settings-pane {
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background-color: #f4f7fe;
    overflow: hidden;
}
/* Each section is a component element - make it own the pane's height */
.settings-shell .settings-pane > * {
    -ms-flex: 1;
        flex: 1;
    min-height: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
}
/* =================================================================== */
.settings-shell .settings-pane-body {
    -ms-flex: 1;
        flex: 1;
    overflow-y: auto;
    padding: 24px 28px 28px;
}
.settings-shell .settings-pane-body h3, .settings-shell .settings-pane-body h4, .settings-shell .settings-pane-body h5 {
    font-family: 'Gordita Bold', sans-serif;
    margin-top: 0;
}
.settings-shell .settings-pane-body::-webkit-scrollbar {
    width: 6px;
}
.settings-shell .settings-pane-body::-webkit-scrollbar-track {
    background: transparent;
}
.settings-shell .settings-pane-body::-webkit-scrollbar-thumb {
    background-color: rgba(0, 53, 210, 0.1);
    border-radius: 20px;
}
.settings-shell .settings-pane-body:hover::-webkit-scrollbar-thumb {
    background-color: rgba(0, 53, 210, 0.3);
}
/* _payments.css stretches cards to fill their column; here they hug their content */
.settings-shell .settings-card {
    height: auto;
}
/* Column flex so the badge, heading and description each get their own line
	   while still hugging their content - the heading and badge are pills, not bars. */
.settings-shell .settings-pane-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    margin-bottom: 20px;
}
/* A band of the brand's own pale navy rather than plain text, so the section
		   you are in reads at a glance against the pale blue canvas. Same tint as the
		   icon chips throughout the pane, so nothing new is introduced. */
.settings-shell .settings-pane-header h3 {
    font-size: 20px;
    color: #0035d2;
    background-color: #e7f0ff;
    letter-spacing: -0.02em;
    margin: 0 0 10px;
    padding: 7px 15px;
    border-radius: 10px;
}
.settings-shell .settings-pane-header p {
    font-size: 13px;
    color: #878ba0;
    margin: 0;
    max-width: 72ch;
    line-height: 1.5;
}
/* Who a setting affects is the single most important thing on these screens -
	   changing something practice-wide touches every clinician there. A solid band
	   across a third of the pane - wide enough not to be skimmed past as a caption,
	   narrow enough not to shout over the settings themselves. */
.settings-shell .scope-badge {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 33%;
    min-width: 300px;
    max-width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    line-height: 1.35;
    padding: 11px 16px;
    border-radius: 8px;
    margin-bottom: 14px;
    color: #ffffff;/* Each section is created fresh by ng-if, so this replays every time you
		   move between settings - re-announcing the scope rather than letting it
		   sit there unread. */
    animation: settings-scope-band-open 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.settings-shell .scope-badge i {
    font-size: 15px;
    opacity: 0.9;
}
/* Yours alone - the brand blue. */
.settings-shell .scope-badge.personal {
    background-color: #0035d2;
}
/* Affects other people, so it carries a caution tone rather than a second
		   shade of blue. Deep amber keeps white text at ~6.4:1; a bright $yellow-cta
		   fill would drop it to 3.4:1 and fail AA. */
.settings-shell .scope-badge.practice {
    background-color: #856404;
}
/* Sticky action bar at the bottom of a pane. The confirmation sits immediately
	   left of the button rather than across the bar, so it lands where the eye
	   already is after clicking. */
.settings-shell .settings-action-bar {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    gap: 12px;
    padding: 12px 28px;
    background-color: #ffffff;
    border-top: 1px solid #e0e6ed;
}
.settings-shell .settings-action-bar .action-hint {
    margin-right: auto;
    font-size: 11px;
    color: #878ba0;
    font-style: italic;
}
.settings-shell .settings-action-bar .btn {
    max-width: 200px;
    margin: 0;
}
/* An option that changes what Save does, so it lives with Save rather than
		   up in a card header where it read as unrelated. */
.settings-shell .settings-action-bar .chip-select.apply-all {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: 11.5px;
    padding: 6px 13px;
}
/* Success green, not the navy used everywhere else, so a save reads as a distinct
	   event rather than more of the same page. */
.settings-shell .save-flash {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 7px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    background-color: rgba(32, 201, 151, 0.1);
    color: rgb(23, 150, 112);
    border: 1px solid rgba(32, 201, 151, 0.3);
}
.settings-shell .save-flash i {
    font-size: 13px;
}
.settings-shell .save-flash.saving {
    background-color: #f8f9fa;
    color: #878ba0;
    border-color: #e0e6ed;
}
.settings-shell .save-flash.error {
    background-color: #fdecea;
    color: #d9534f;
    border-color: rgba(217, 83, 79, 0.3);
}
/* Pops in, so it is noticed even when the wording is unchanged. */
.settings-shell .save-flash.ng-enter {
    opacity: 0;
    transform: scale(0.85);
}
.settings-shell .save-flash.ng-enter-active {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.18s ease, transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.settings-shell .save-flash.ng-leave {
    opacity: 1;
}
.settings-shell .save-flash.ng-leave-active {
    opacity: 0;
    transition: opacity 0.15s ease;
}
/* ! Layout helpers
	/* =================================================================== */
.settings-shell .settings-stack {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 20px;
}
/* =================================================================== */
.settings-shell .settings-columns {
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: stretch;
        align-items: stretch;
}
.settings-shell .settings-columns > * {
    -ms-flex: 1;
        flex: 1;
    min-width: 300px;
}
/* ! Read-only detail rows
	/* =================================================================== */
.settings-shell .detail-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px dashed #e0e6ed;
    min-height: 52px;
}
.settings-shell .detail-row:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}
.settings-shell .detail-row .detail-label {
    -ms-flex: 0 0 150px;
        flex: 0 0 150px;
    width: 150px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #a3aac0;
    margin: 0;
}
.settings-shell .detail-row .detail-value {
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
    font-size: 14px;
    color: #333333;
    font-weight: 600;
    word-break: break-word;
}
.settings-shell .detail-row .detail-value.muted {
    color: #a3aac0;
    font-weight: 400;
    font-style: italic;
}
.settings-shell .detail-row .detail-action {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
/* Only the row that opens a card sits flush with the card header */
.settings-shell .card-body > .detail-row:first-child {
    padding-top: 0;
}
/* Small inline "edit" affordance */
.settings-shell .link-action {
    background: none;
    border: none;
    padding: 0;
    color: #0035d2;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: opacity 0.15s ease;
}
.settings-shell .link-action i {
    margin-right: 4px;
}
.settings-shell .link-action:hover {
    opacity: 0.7;
    text-decoration: underline;
}
/* =================================================================== */
.settings-shell .inline-edit {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 8px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
/* ! Chips (features, referral types)
	/* =================================================================== */
.settings-shell .chip-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
}
/* =================================================================== */
.settings-shell .chip {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    padding: 5px 11px;
    border-radius: 20px;
    background-color: #f4f7fe;
    color: #0035d2;
    border: 1px solid rgba(0, 53, 210, 0.12);
    line-height: 1.4;
    white-space: nowrap;
}
.settings-shell .chip i {
    font-size: 10px;
    opacity: 0.7;
}
.settings-shell .chip.chip-muted {
    background-color: #f8f9fa;
    color: #a3aac0;
    border-color: #e0e6ed;
    font-style: italic;
}
/* Selectable chip - wraps a checkbox */
.settings-shell .chip-select {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 600;
    padding: 7px 14px;
    border-radius: 20px;
    background-color: #ffffff;
    color: #4a5568;
    border: 1px solid #e0e6ed;
    cursor: pointer;
    margin: 0;
    transition: all 0.15s ease;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}
.settings-shell .chip-select input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}
.settings-shell .chip-select:hover {
    border-color: #cbd5e0;
}
.settings-shell .chip-select.selected {
    background-color: #e7f0ff;
    border-color: rgba(0, 53, 210, 0.35);
    color: #0035d2;
}
.settings-shell .chip-select.disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
/* ! Editable row list (appointment types, task labels)
	/* =================================================================== */
.settings-shell .row-list-head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
    padding: 0 14px 8px;
}
.settings-shell .row-list-head span {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #a3aac0;
    font-weight: 700;
}
/* The inputs carry their own borders, so the rows themselves stay unboxed */
.settings-shell .row-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
    padding: 5px 14px;
    margin-bottom: 4px;
}
/* Separated by a rule rather than a box of its own */
.settings-shell .row-item.row-item-new {
    margin-bottom: 0;
    margin-top: 10px;
    padding-top: 15px;
    border-top: 1px dashed rgba(0, 53, 210, 0.25);
}
/* Column widths shared by the head and the rows */
.settings-shell .col-name {
    -ms-flex: 1 1 200px;
        flex: 1 1 200px;
    min-width: 150px;
}
/* =================================================================== */
.settings-shell .col-colour {
    -ms-flex: 0 0 130px;
        flex: 0 0 130px;
    width: 130px;
}
.settings-shell .col-duration {
    -ms-flex: 0 0 110px;
        flex: 0 0 110px;
    width: 110px;
}
.settings-shell .col-type {
    -ms-flex: 0 0 190px;
        flex: 0 0 190px;
    width: 190px;
}
.settings-shell .col-add {
    -ms-flex: 0 0 40px;
        flex: 0 0 40px;
    width: 40px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
}
.settings-shell .col-add-wide {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
}
/* The old round "+" was missed - the add step now announces itself and its
	   button says what it does. The form clears after each add, so a run of
	   entries can be typed one after another without leaving the screen. */
.settings-shell .add-row {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px dashed rgba(0, 53, 210, 0.25);
}
.settings-shell .add-row .add-row-title {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #a3aac0;
    font-weight: 700;
    padding: 0 14px 8px;
}
.settings-shell .add-row .row-item.row-item-new {
    margin: 0;
    padding-top: 0;
    border-top: none;
}
.settings-shell .add-row .add-row-actions {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding: 12px 14px 0;
}
.settings-shell .btn-add {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 8px 18px;
}
.settings-shell .btn-add i {
    margin-right: 6px;
}
/* angularjs-color-picker renders a bootstrap input group - keep the joint tidy */
.settings-shell .col-colour .color-picker-wrapper, .settings-shell .col-colour .color-picker-input-wrapper {
    width: 100%;
}
.settings-shell .col-colour .input-group .input-group-addon:first-child {
    border-radius: 8px 0 0 8px;
    border-color: #e0e6ed;
}
.settings-shell .col-colour .input-group .color-picker-input {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
.settings-shell .label-swatch {
    display: inline-block;
    width: 30px;
    height: 30px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    border-radius: 8px;
    border: 1px solid #e0e6ed;
    background-color: #ffffff;
}
.settings-shell .btn-add-round {
    width: 34px;
    height: 34px;
    min-width: 34px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: #0035d2;
    color: #ffffff;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s ease;
}
.settings-shell .btn-add-round:hover:not(:disabled) {
    background-color: #2a307f;
    transform: scale(1.06);
}
.settings-shell .btn-add-round:disabled {
    background-color: #d3d9e6;
    cursor: not-allowed;
}
/* ! Form controls
	/* =================================================================== */
.settings-shell .control-label, .settings-shell label.field-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #a3aac0;
    margin-bottom: 6px;
}
/* =================================================================== */
.settings-shell .form-control, .settings-shell select.form-control {
    height: auto;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    box-shadow: none;
    padding: 8px 12px;
    font-size: 13px;
    color: #333333;
    background-color: #ffffff;
    transition: all 0.2s ease;
}
.settings-shell .form-control:focus, .settings-shell select.form-control:focus {
    border-color: #0035d2;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 53, 210, 0.1);
}
.settings-shell .form-control[readonly], .settings-shell .form-control:disabled, .settings-shell select.form-control[readonly], .settings-shell select.form-control:disabled {
    background-color: #f8f9fa;
    color: #8a90a3;
}
.settings-shell textarea.form-control {
    min-height: 120px;
    resize: vertical;
}
.settings-shell .error-message {
    display: block;
    color: #d9534f;
    font-size: 11px;
    margin-top: 4px;
}
.settings-shell .field-help {
    font-size: 11px;
    color: #a3aac0;
    margin-top: 5px;
    line-height: 1.45;
}
.settings-shell .field-grid {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 16px;
}
.settings-shell .field-grid .field {
    -ms-flex: 1 1 200px;
        flex: 1 1 200px;
    min-width: 160px;
}
.settings-shell .field-grid .field-sm {
    -ms-flex: 0 0 140px;
        flex: 0 0 140px;
    width: 140px;
}
/* A number set inside its own sentence, rather than stranded at the far right */
.settings-shell .inline-sentence {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 7px;
    margin-top: 7px;
    font-size: 13px;
    color: #555;
}
.settings-shell .inline-sentence input[type="number"] {
    width: 62px;
    padding: 5px 8px;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    text-align: center;
    color: #0035d2;
    font-weight: 700;
    font-size: 13px;
    transition: all 0.2s ease;
}
.settings-shell .inline-sentence input[type="number"]:focus {
    border-color: #0035d2;
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 53, 210, 0.1);
}
/* ! Notices & empty states
	/* =================================================================== */
.settings-shell .settings-notice {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    gap: 12px;
    padding: 14px 18px;
    border-radius: 10px;
    font-size: 12.5px;
    line-height: 1.5;
    margin-bottom: 20px;
}
.settings-shell .settings-notice i {
    font-size: 15px;
    margin-top: 1px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.settings-shell .settings-notice.info {
    background-color: #e7f0ff;
    color: #2a307f;
    border: 1px solid rgba(0, 53, 210, 0.15);
}
.settings-shell .settings-notice.info i {
    color: #0035d2;
}
.settings-shell .settings-notice.warning {
    background-color: #fff8e6;
    color: #856404;
    border: 1px solid rgba(255, 171, 0, 0.3);
}
.settings-shell .settings-notice.warning i {
    color: #ffab00;
}
/* =================================================================== */
.settings-shell .settings-empty {
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    padding: 54px 32px;
    text-align: center;
}
.settings-shell .settings-empty i {
    font-size: 34px;
    color: #d3d9e6;
    margin-bottom: 14px;
}
.settings-shell .settings-empty h4 {
    font-size: 16px;
    color: #2a307f;
    margin: 0 0 8px;
}
.settings-shell .settings-empty p {
    font-size: 13px;
    color: #878ba0;
    margin: 0 auto;
    max-width: 52ch;
    line-height: 1.55;
}
/* ! Expandable blocks (reminder message composers)
	/* =================================================================== */
.settings-shell .expander {
    border: 1px solid #e0e6ed;
    border-radius: 10px;
    background-color: #ffffff;
    margin-bottom: 14px;
    overflow: hidden;
}
/* =================================================================== */
.settings-shell .expander-head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
    padding: 14px 18px;
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    transition: background-color 0.15s ease;
}
.settings-shell .expander-head:hover {
    background-color: #fbfcff;
}
.settings-shell .expander-head .expander-icon {
    width: 34px;
    height: 34px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    border-radius: 8px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 14px;
    background-color: #e7f0ff;
    color: #0035d2;
}
.settings-shell .expander-head .expander-title {
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
}
.settings-shell .expander-head .expander-title strong {
    display: block;
    font-family: 'Gordita Bold', sans-serif;
    font-size: 13px;
    color: #333333;
}
.settings-shell .expander-head .expander-title small {
    display: block;
    font-size: 11px;
    color: #a3aac0;
    margin-top: 2px;
}
.settings-shell .expander-head .expander-chevron {
    color: #a3aac0;
    font-size: 12px;
}
.settings-shell .expander-body {
    padding: 4px 18px 18px;
    border-top: 1px solid #eef1f7;
}
.settings-shell .expander.is-open .expander-head {
    background-color: #fbfcff;
}
/* Merge-field tokens */
.settings-shell .merge-field-groups {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px 28px;
    margin: 10px 0 14px;
}
.settings-shell .merge-field-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    gap: 6px;
}
.settings-shell .merge-field-group .merge-fields {
    margin: 0;
}
.settings-shell .merge-field-group-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #a3aac0;
}
.settings-shell .merge-fields {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 14px;
}
.settings-shell .merge-field {
    background-color: #f4f7fe;
    border: 1px solid rgba(0, 53, 210, 0.25);
    border-radius: 20px;
    color: #0035d2;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 5px 12px;
    cursor: pointer;
    text-align: center;
    transition: all 0.15s ease;
}
/* The shared [draggable] rule paints a black border and a move cursor over anything
		   draggable - the chips keep their own pill styling and a grab cursor instead. */
.settings-shell .merge-field[draggable] {
    border-color: rgba(0, 53, 210, 0.25);
    cursor: grab;
}
.settings-shell .merge-field:hover {
    background-color: #0035d2;
    color: #ffffff;
    border-color: #0035d2;
}
.settings-shell .merge-field:active {
    cursor: grabbing;
}
.settings-shell .merge-field .merge-field-name {
    display: block;
}
/* What the field turns into. Regular weight and tabular figures so it reads as a value
		   rather than as more label. */
.settings-shell .merge-field .merge-field-example {
    display: block;
    margin-top: 1px;
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    opacity: 0.7;
}
.settings-shell .merge-field-note {
    max-width: 340px;
    font-size: 10px;
    line-height: 1.45;
    color: #a3aac0;
}
/* Drop targets. The shared lvl styles grey the whole editor out mid-drag and dash a black
	   border around whichever node the pointer is over; outline the composer instead so the
	   wording stays readable while a field is being dragged into it. */
.settings-shell .text-area-wrap.lvl-target {
    background-color: transparent;
    opacity: 1;
    outline: 2px dashed rgba(0, 53, 210, 0.3);
    outline-offset: 3px;
}
.settings-shell .text-area-wrap.lvl-over, .settings-shell .text-area-wrap .lvl-over {
    border: 0 !important;
}
.settings-shell .text-area-wrap.lvl-over {
    outline: 2px dashed #0035d2;
}
/* Attachments */
.settings-shell .attachment-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    margin-bottom: 8px;
    background-color: #ffffff;
}
.settings-shell .attachment-row .attachment-icon {
    color: #0035d2;
    font-size: 15px;
}
.settings-shell .attachment-row .attachment-name {
    -ms-flex: 1;
        flex: 1;
    min-width: 0;
    font-size: 12.5px;
    font-weight: 600;
    color: #333333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.settings-shell .attachment-row .attachment-size {
    font-size: 11px;
    color: #a3aac0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.settings-shell .attachment-row .attachment-actions {
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.settings-shell .attachment-row .attachment-actions img {
    width: 15px;
    height: 15px;
    cursor: pointer;
    opacity: 0.65;
    transition: opacity 0.15s ease;
}
.settings-shell .attachment-row .attachment-actions img:hover {
    opacity: 1;
}
.settings-shell .file-drop {
    display: block;
    border: 1px dashed rgba(0, 53, 210, 0.3);
    border-radius: 8px;
    padding: 14px;
    background-color: #fbfcff;
    font-size: 12px;
    color: #878ba0;
}
.settings-shell .file-drop input[type="file"] {
    font-size: 12px;
}
/* Character counter */
.settings-shell .sms-counter {
    text-align: right;
    font-size: 11px;
    color: #a3aac0;
    margin-top: 6px;
}
.settings-shell .sms-counter strong {
    color: #0035d2;
}
.settings-shell .sms-counter.over strong {
    color: #d9534f;
}
/* ! Usage chart card
	/* =================================================================== */
.settings-shell .chart-card .chart-toolbar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: end;
        align-items: flex-end;
    gap: 16px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 12px;
}
.settings-shell .chart-card nvd3 {
    display: block;
    width: 100%;
}
/* =================================================================== */
/* ! Responsive
/* =================================================================== */
@media (max-width: 900px) {
	.settings-shell {
		-ms-flex-direction: column;
		    flex-direction: column;
	}
	.settings-shell .settings-nav {
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid #e0e6ed;
        -ms-flex-direction: row;
            flex-direction: row;
        -ms-flex-align: center;
            align-items: center;
        overflow-x: auto;
        overflow-y: hidden;
    }
	.settings-shell .settings-identity, .settings-shell .settings-nav-footer {
        display: none;
    }
	.settings-shell .settings-nav-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        gap: 6px;
        padding: 10px;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }
	.settings-shell .settings-nav-group .settings-nav-group-title {
        padding: 0 6px 0 0;
        white-space: nowrap;
    }
	.settings-shell .settings-nav-item {
        margin-bottom: 0;
        white-space: nowrap;
    }
	.settings-shell .settings-pane-body {
        padding: 18px 16px;
    }
	.settings-shell .settings-action-bar {
        padding: 12px 16px;
    }
	.settings-shell .detail-row {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 6px;
    }
	.settings-shell .detail-row .detail-label {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        width: 100%;
    }
	.settings-shell .row-item {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
	.settings-shell .col-type, .settings-shell .col-colour, .settings-shell .col-duration {
        -ms-flex: 1 1 140px;
            flex: 1 1 140px;
        width: auto;
    }
}
/* Anyone who has asked for less motion gets the band without the wipe. */
@media (prefers-reduced-motion: reduce) {
	.settings-shell .scope-badge, .settings-shell .nav-group-items {
		animation: none;
		transition: none;
	}
}
/* =================================================================== */
/* ! Feature tips (tip of the day)
/* Same card language as _payments.css / _settings.css so the tip reads
/* as part of the product rather than an advert.
/* =================================================================== */
.tip-card {
	background-color: #ffffff;
	border: 1px solid #e0e6ed;
	border-left: 3px solid #0035d2;
	border-radius: 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
	padding: 16px 18px;
	max-width: 460px;
	margin-top: 8px;

}
.tip-card .tip-head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.tip-card .tip-eyebrow {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: #0035d2;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 6px;
    white-space: nowrap;
}
.tip-card .tip-eyebrow i {
    font-size: 12px;
}
.tip-card .tip-pager {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 4px;
    margin-left: auto;
}
.tip-card .tip-arrow, .tip-card .tip-close {
    background: none;
    border: none;
    padding: 2px 5px;
    color: #a3aac0;
    font-size: 11px;
    cursor: pointer;
    border-radius: 8px;
    transition: all 0.15s ease;
}
.tip-card .tip-arrow:hover, .tip-card .tip-close:hover {
    color: #0035d2;
    background-color: #f4f7fe;
}
.tip-card .tip-close {
    font-size: 13px;
    margin-left: 2px;
}
.tip-card .tip-body {
    display: -ms-flexbox;
    display: flex;
    gap: 13px;
    -ms-flex-align: start;
        align-items: flex-start;
}
.tip-card .tip-icon {
    width: 38px;
    height: 38px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    border-radius: 10px;
    background-color: #e7f0ff;
    color: #0035d2;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 16px;
}
.tip-card .tip-text {
    min-width: 0;
}
.tip-card .tip-text h5 {
    font-family: 'Gordita Bold', sans-serif;
    font-size: 14px;
    color: #0a2540;
    margin: 0 0 5px;
    line-height: 1.3;
}
.tip-card .tip-text p {
    font-size: 12.5px;
    color: #878ba0;
    line-height: 1.5;
    margin: 0;
}
.tip-card .tip-actions {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 14px;
    margin-top: 14px;
    padding-left: 51px;
}
.tip-card .tip-actions .btn {
    width: auto;
    max-width: none;
    margin: 0;
}
@media (max-width: 900px) {
	.tip-card {
		max-width: 100%;
	}
	.tip-card .tip-actions {
        padding-left: 0;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
}
/* =================================================================== */
/* ! ECLIPSE In-Patient Claim (tyroMedipassWidget)
/* -------------------------------------------------------------------
/* A forwards-only three step flow - verify, check eligibility, lodge -
/* inside the claim modal. Reads top to bottom, each step ending in one
/* action bar. Leaving the flow is the claim modal's own Back link.
/* =================================================================== */
.eclipse-flow {
    padding: 1.5rem 1.75rem 1.75rem;
}
.eclipse-flow__title {
    margin: 0;
}
.eclipse-flow__lead {
    color: #6c757d;
    font-size: 13px;
    line-height: 1.6;
    max-width: 60rem;
    margin: 0 0 1.25rem;
}
/* Separates the sections of a long form the way the clinical notes do - the
   left-packed rows alone do not make the breaks obvious. $grey-border-light
   rather than the notes' #ddd, to match the action bar's top border below. */
.eclipse-divider {
    border: none;
    border-top: 2px solid #e0e6ed;
    margin: 2.5em 0 1.5em;
}
/* =================================================================== */
/* ! Stepper
/* =================================================================== */
.eclipse-stepper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 0.75rem;
    margin: 1.25rem 0 1.5rem;
    padding: 0;
    list-style: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
.eclipse-stepper__step {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 0.6rem;
    min-width: 0;
    -ms-flex: 0 1 auto;
        flex: 0 1 auto;
}
/* Drawn by the step it leads into, so it can never dangle off the last one. */
.eclipse-stepper__step + .eclipse-stepper__step {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
}
.eclipse-stepper__step + .eclipse-stepper__step::before {
    content: "";
    -ms-flex: 1 1 1.5rem;
        flex: 1 1 1.5rem;
    min-width: 1.5rem;
    height: 2px;
    border-radius: 1px;
    background-color: #e0e6ed;
}
.eclipse-stepper__marker {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 2px solid #e0e6ed;
    background-color: #ffffff;
    color: #6c757d;
    font-size: 12px;
    line-height: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    transition: all 0.25s ease;
}
.eclipse-stepper__label {
    font-size: 13px;
    color: #6c757d;
    white-space: nowrap;
    transition: color 0.25s ease;
}
.eclipse-stepper__step--active .eclipse-stepper__marker {
    border-color: #0035d2;
    background-color: #0035d2;
    color: #ffffff;
}
.eclipse-stepper__step--active .eclipse-stepper__label {
    color: #0035d2;
}
.eclipse-stepper__step--done .eclipse-stepper__marker {
    border-color: #20c997;
    background-color: #20c997;
    color: #ffffff;
}
.eclipse-stepper__step--done .eclipse-stepper__label {
    color: #343a40;
}
/* =================================================================== */
/* ! Form rows and fields
/* -------------------------------------------------------------------
/* Not grid rows. In a dialog 80% of the window wide, the 12 column grid
/* deals every field an equal share, so an 8 character provider number
/* gets the same 700px box as a free text description. Here each field is
/* as wide as the value it holds and the row packs left, leaving the
/* slack as whitespace at the end rather than inside every field.
/* =================================================================== */
.eclipse-formrow {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: start;
        align-items: flex-start;
    column-gap: 1.5rem;
}
/* Sized by their contents, never stretched. .form-group's own bottom
       margin spaces the wrapped lines. */
.eclipse-formrow > .form-group {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    max-width: 100%;
}
/* Or a sentence of help under a narrow field sets the whole group's width. */
.eclipse-formrow .help-block {
    max-width: 20rem;
}
/* Aligns an unlabelled control - the remove button - with the inputs, not
   their labels. */
.eclipse-formrow__spacer-label {
    display: block;
    visibility: hidden;
}
.eclipse-field {
    max-width: 100%;
}
/* 3-6 digits: MBS item numbers and presenting illness codes. */
.eclipse-field--number {
    width: 9rem;
}
/* Exactly 8 characters: Medicare provider numbers and facility IDs. */
.eclipse-field--code {
    width: 11rem;
}
.eclipse-field--money {
    width: 10rem;
}
/* Date inputs carry picker furniture, so they need more than ten characters. */
.eclipse-field--date {
    width: 13rem;
}
/* Up to 20 characters, where the placeholder is longer than the value. */
.eclipse-field--ref {
    width: 18rem;
}
/* Free text: the claim item description. */
.eclipse-field--text {
    width: 26rem;
}
/* STUB code plus a few words. ECLIPSE caps it at 50 characters, but sized to
   what is normally typed rather than to the maximum. */
.eclipse-field--stub {
    width: 13rem;
}
/* The claim item picker, which shows "42702 - Cataract extraction ...". */
.eclipse-field--item {
    width: 24rem;
}
/* Sized by the longest option and its arrow, not by the code held. */
.eclipse-field--choice-sm {
    width: 11rem;
}
.eclipse-field--choice {
    width: 15rem;
}
.eclipse-field--choice-wide {
    width: 19rem;
}
/* The health fund policy picker, whose options run "Bupa - #88812345 - Overseas
   Visitor Health Cover (OVHC) - LAPSED". Every part of that earns its place -
   two policies at the same fund are told apart by the cover type, and the status
   is a reason not to claim on one - so the option has to be readable in full.
   How wide that is depends on the patient's policies rather than on anything
   this file knows, so the field is sized to its longest option instead of to a
   number picked here; the floor keeps a short-named policy from collapsing to a
   stub, and .eclipse-field's max-width stops a long one overrunning the form. */
.eclipse-field--policy {
    width: auto;
    min-width: 30rem;
}
/* The episode indicators, read across rather than down. Bootstrap's own
   adjacent-checkbox spacing fights the gap and unevens the wrapped rows.

   Sits inside a .eclipse-formrow alongside the episode's fields, so the gap is
   the tighter of the two: 1.75rem between labelled fields reads as separation,
   between five checkboxes on one line it reads as drift. */
.eclipse-checkrow {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.4rem 1rem;
    /* Aligns the first row of boxes with the inputs beside them rather than
       floating them against the labels. */
    padding-top: 0.35rem;
}
.eclipse-checkrow .checkbox-inline + .checkbox-inline {
    margin-left: 0;
}
/* =================================================================== */
/* ! Panels
/* -------------------------------------------------------------------
/* One card per thing being read: the assessment, the item benefits,
/* what is about to be lodged.
/* =================================================================== */
.eclipse-panel {
    background-color: #ffffff;
    border: 1px solid #e0e6ed;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.25rem;
}
.eclipse-panel--quiet {
    background-color: #f8f9fa;
}
.eclipse-panel__header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: baseline;
        align-items: baseline;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.6rem;
    margin-bottom: 0.85rem;
}
.eclipse-panel__title {
    margin: 0;
    font-size: 15px;
}
.eclipse-panel__note {
    color: #6c757d;
    font-size: 13px;
    line-height: 1.6;
    margin: 0;
}
/* The transaction reference, which practices read out and quote back. */
.eclipse-ref {
    display: inline-block;
    font-family: "Source Code Pro", "SFMono-Regular", Consolas, monospace;
    font-size: 12px;
    letter-spacing: 0.02em;
    background-color: #f2f6fb;
    border: 1px solid #e0e6ed;
    border-radius: 6px;
    padding: 2px 8px;
    color: #343a40;
}
/* =================================================================== */
/* ! Money summary tiles
/* -------------------------------------------------------------------
/* The four numbers the practice acts on, pulled out of the per-item
/* table so the gap is not buried in a row of currency.
/* =================================================================== */
.eclipse-summary {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(8.5rem, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}
.eclipse-summary__tile {
    background-color: #f2f6fb;
    border: 1px solid #e0e6ed;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
}
.eclipse-summary__label {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #6c757d;
    margin-bottom: 0.3rem;
}
.eclipse-summary__value {
    display: block;
    font-size: 18px;
    line-height: 1.2;
    color: #343a40;
}
.eclipse-summary__tile--gap {
    background-color: rgba(255, 182, 39, 0.1);
    border-color: rgba(255, 182, 39, 0.3);
}
.eclipse-summary__tile--gap .eclipse-summary__value {
    color: #a94442;
}
.eclipse-summary__tile--clear {
    background-color: rgba(32, 201, 151, 0.08);
    border-color: rgba(32, 201, 151, 0.3);
}
.eclipse-summary__tile--clear .eclipse-summary__value {
    color: #20c997;
}
/* =================================================================== */
/* ! Callouts - confirm, lodged, failed
/* =================================================================== */
.eclipse-callout {
    border: 1px solid #e0e6ed;
    border-left-width: 4px;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.25rem;
}
.eclipse-callout p {
    margin: 0 0 0.5rem;
    font-size: 13px;
    line-height: 1.6;
}
.eclipse-callout p:last-child {
    margin-bottom: 0;
}
.eclipse-callout__title {
    font-size: 14px;
    margin: 0 0 0.5rem;
}
/* Itemised detail under a callout - which items were repriced, and from what to what. Sized to the callout's
   own paragraphs rather than the global list styles, which are set for body copy. */
.eclipse-callout__list {
    margin: 0;
    padding-left: 1.25rem;
    font-size: 13px;
    line-height: 1.6;
}
.eclipse-callout__list li {
    margin-bottom: 0.25rem;
}
.eclipse-callout__list li:last-child {
    margin-bottom: 0;
}
/* An action offered by a callout itself rather than by the step's action bar - the one case being the patient
   payment a lodged claim leaves to collect, which belongs beside the sentence that says so. */
.eclipse-callout__action {
    margin-top: 0.85rem;
}
.eclipse-callout--success {
    background-color: rgba(32, 201, 151, 0.08);
    border-color: #20c997;
}
.eclipse-callout--danger {
    background-color: rgba(217, 83, 79, 0.08);
    border-color: #d9534f;
    color: #a94442;
}
.eclipse-callout--waiting {
    background-color: rgba(255, 182, 39, 0.1);
    border-color: #FFB627;
    color: #856404;
}
/* =================================================================== */
/* ! Action bars
/* -------------------------------------------------------------------
/* Every step ends in one. The global .btn-navy / .btn-cancel are full
/* width slabs capped at 220px, which read as a form field when two sit
/* side by side, so in here they size to their label instead.
/* =================================================================== */
.eclipse-actions {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1.5rem;
    padding-top: 1.25rem;
    border-top: 1px solid #e0e6ed;
}
.eclipse-actions .btn {
    width: auto;
    max-width: none;
    min-width: 8rem;
    padding: 7px 22px;
    font-size: 13px;
}
/* Pushes the secondary action away from the primary, so the button that sends
   a claim to Medicare is never the one under a stray click. Once the primary is
   gone the pair collapses back to one right-aligned button. */
.eclipse-actions__spacer {
    margin-right: auto;
}
.eclipse-actions__spacer:only-child {
    margin-right: 0;
}
.eclipse-actions--inline {
    margin-top: 1rem;
    padding-top: 0;
    border-top: 0;
}
/* =================================================================== */
/* ! Tables inside the flow
/* =================================================================== */
.eclipse-table {
    margin-bottom: 0;
    font-size: 13px;
}
.eclipse-table > thead > tr > th {
    border-bottom-width: 1px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #6c757d;
    white-space: nowrap;
}
.eclipse-table > tbody > tr > td {
    vertical-align: middle;
}
/* The totals row reads as a summary of the rows above it, not another item. */
.eclipse-table > tbody > tr.eclipse-table__total > td {
    border-top: 2px solid #e0e6ed;
    background-color: #f2f6fb;
}
/* Label / value pairs - the assessment detail rows. */
.eclipse-table--facts > tbody > tr > td:first-child {
    width: 34%;
    color: #343a40;
}
.eclipse-table--facts > tbody > tr:first-child > td {
    border-top: 0;
}
.eclipse-numeric {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.modern-login-page {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	min-height: 100vh;
	width: 100%;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	font-size: 16px;
	color: #ffffff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	--page-bg-image: url('https://cattrax-media.s3.ap-southeast-2.amazonaws.com/images/surgeon_image_cropped2.jpg');
	--page-bg-position: center;
	background-image: linear-gradient(rgba(10, 37, 64, 0.95), rgba(10, 37, 64, 0.85)), var(--page-bg-image);
	background-position: var(--page-bg-position);
	background-repeat: no-repeat;
	background-size: cover;
}
.modern-login-page main.hero-section {
    background: none;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1.2fr 1fr;
        grid-template-columns: 1.2fr 1fr;
    -ms-flex-align: center;
        align-items: center;
    gap: 4rem;
    padding: 5rem 5%;
    -ms-flex-positive: 1;
        flex-grow: 1;
    max-width: 1400px;
    margin: 0 auto;
}
@media (max-width: 992px) {
    .modern-login-page main.hero-section {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
        text-align: center;
        padding: 3rem 5%;
        gap: 2.5rem;
    }
}
.hero-content {
	padding-right: 2rem;
	color: #ffffff;
}
@media (max-width: 992px) {
    .hero-content {
        padding-right: 0;
        margin-bottom: 0;
        text-align: center;/* This centers the content on mobile */
    }
}
.main-logo {
	max-width: 280px;
	margin-bottom: 2.5rem;
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.3));
}
@media (max-width: 992px) {
    .main-logo {
        margin-left: auto;
        margin-right: auto;
    }
}
.hero-title {
	font-size: 3.2rem;
	font-weight: 700;
	line-height: 1.15;
	margin-bottom: 1.25rem;
	color: #ffffff;
	letter-spacing: -0.03em;
}
@media (max-width: 992px) {
    .hero-title {
        font-size: 2.5rem;
    }
}
@media (max-width: 576px) {
    .hero-title {
        font-size: 2rem;
    }
}
.hero-subtitle {
	font-size: 1.15rem;
	font-weight: 300;
	margin-bottom: 3rem;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.6;
}
@media (max-width: 992px) {
    .hero-subtitle {
        font-size: 1rem;
    }
}
.benefits-list {
	list-style: none;
	padding: 0;
	margin: 0;

}
@media (max-width: 992px) {
    .benefits-list {/* This allows the <ul> to be centered by its parent's text-align:center */
        display: inline-block;
    }
}
.benefits-list li {
    font-size: 1.05rem;
    font-weight: 400;
    margin-bottom: 1.2rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    color: #ffffff;
    text-align: left;/* Fixes list item text alignment */
}
.benefits-list .checkmark {
    color: #00bcd4;
    font-size: 1.4rem;
    margin-right: 1rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.privacy-link {
	margin-top: 2rem;
	font-size: 0.9rem;
	text-align: center;
	color: rgba(255, 255, 255, 0.75);
}
.privacy-link a {
    color: #00bcd4;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.3s ease;
}
.privacy-link a:hover {
    text-decoration: underline;
    color: #008c9e;
}
.proof-section {
	background-color: rgba(255, 255, 255, 0.05);
	padding: 3.5rem 5%;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	color: #ffffff;
	font-size: 0.95rem;
}
.proof-title {
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 3rem;
	color: #ffffff;
}
@media (max-width: 992px) {
    .proof-title {
        font-size: 1.8rem;
    }
}
.testimonials-horizontal {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (minmax(300px, 1fr))[auto-fit];
	    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2.5rem;
	max-width: 1200px;
	margin: 0 auto;
}
@media (max-width: 992px) {
    .testimonials-horizontal {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }
}
.testimonial-card-horizontal {
	background: rgba(255, 255, 255, 0.1);
	padding: 2.5rem;
	border-radius: 12px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
	-ms-flex-align: center;
	    align-items: center;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.15);

}
.testimonial-card-horizontal .quote {
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.9);
    font-style: italic;
}
.testimonial-card-horizontal cite {
    font-size: 1rem;
    font-weight: 500;
    color: #00bcd4;
    display: block;
    margin-top: auto;
}
.testimonial-avatar {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	-o-object-fit: cover;
	   object-fit: cover;
	margin-bottom: 1.5rem;
	border: 3px solid #00bcd4;
	box-shadow: 0 0 0 5px rgba(0, 188, 212, 0.2);
}
.page-footer {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr auto 1fr;
	    grid-template-columns: 1fr auto 1fr;
	-ms-flex-align: center;
	    align-items: center;
	padding: 1.5rem 5%;
	width: 100%;
	box-sizing: border-box;
}
@media (max-width: 992px) {
    .page-footer {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
        gap: 1.5rem;
        padding: 2rem 5%;
    }
}
.page-footer .copyright {
    -ms-grid-column: 2;
        grid-column: 2;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.95rem;
}
.page-footer .pentest-badge {
    -ms-grid-column: 2;
        grid-column: 2;
    justify-self: end;
}
.page-footer .pentest-badge img {
    max-width: 300px;
    height: auto;
}
.value-prop-section {
	padding: 6.5rem 5%;
}
@media (max-width: 992px) {
    .value-prop-section {
        padding: 3rem 5%;
    }
}
.value-prop-container {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (1fr)[3];
	    grid-template-columns: repeat(3, 1fr);
	gap: 2.5rem;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
}
@media (max-width: 992px) {
    .value-prop-container {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
        gap: 2rem;
    }
}
.value-prop-card {
	background: rgba(255, 255, 255, 0.05);
	padding: 2.5rem 2rem;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.15);
	transition: all 0.3s ease;
	-webkit-backdrop-filter: blur(5px);
	        backdrop-filter: blur(5px);
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	    flex-direction: column;
}
.value-prop-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    border-color: rgba(0, 188, 212, 0.5);
}
.value-prop-card:hover .title-referral {
    color: #00bcd4;
}
.value-prop-card:hover .icon-management, .value-prop-card:hover .title-management {
    border-color: rgba(32, 201, 151, 0.5);
    color: #20c997;
}
.value-prop-card:hover .icon-management {
    background: rgba(32, 201, 151, 0.2);
}
.value-prop-card:hover .icon-tech, .value-prop-card:hover .title-tech {
    border-color: rgba(255, 182, 39, 0.5);
    color: #FFB627;
}
.value-prop-card:hover .icon-tech {
    background: rgba(255, 182, 39, 0.2);
}
.value-prop-card:hover .value-prop-icon-wrapper {
    transform: scale(1.1) rotate(5deg);
}
.value-prop-icon-wrapper {
	width: 80px;
	height: 80px;
	margin: 0 auto 1.5rem auto;
	border-radius: 50%;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
	-ms-flex-pack: center;
	    justify-content: center;
	transition: all 0.3s ease;
}
.value-prop-icon {
	font-size: 2.5rem;
	line-height: 1;
}
.icon-referral {
	background: rgba(0, 188, 212, 0.1);

}
.icon-referral .value-prop-icon {
    color: #00bcd4;
}
.title-referral, .icon-referral .value-prop-icon {
	color: #00bcd4;
}
.icon-management {
	background: rgba(32, 201, 151, 0.1);

}
.icon-management .value-prop-icon {
    color: #20c997;
}
.title-management, .icon-management .value-prop-icon {
	color: #20c997;
}
.icon-tech {
	background: rgba(255, 182, 39, 0.1);

}
.icon-tech .value-prop-icon {
    color: #FFB627;
}
.title-tech, .icon-tech .value-prop-icon {
	color: #FFB627;
}
.value-prop-title {
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0 0 1rem 0;
	transition: color 0.3s ease;
}
.value-prop-text {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.7;
	margin: 0;
	-ms-flex-positive: 1;
	    flex-grow: 1;
}
.btn-see-more {
	display: inline-block;
	-ms-flex-item-align: center;
	    -ms-grid-row-align: center;
	    align-self: center;
	margin-top: auto;
	padding: 0.75rem 1.5rem;
	border: 2px solid rgba(255, 255, 255, 0.6);
	border-radius: 50px;
	background-color: transparent;
	color: #ffffff;
	font-weight: 500;
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-align: center;
	transition: all 0.3s ease;
	cursor: pointer;

}
.btn-see-more:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: #00bcd4;
    transform: translateY(-2px);
}
.features-overview {
	padding-top: 2rem;
	padding-bottom: 4rem;

}
.features-overview .features-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(320px, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}
.feature-category-section {
	max-width: 1400px;
	margin: 0 auto 4rem auto;
	padding: 0 1rem;
}
.category-header {
	text-align: center;
	margin-bottom: 3rem;

}
.category-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0 0 0.75rem 0;
}
.category-header p {
    font-size: 1.15rem;
    max-width: 750px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
}
.category-header.optometry h2 {
    color: #00bcd4;
}
.category-header.ophthalmology h2 {
    color: #20c997;
}
.category-header.management h2 {
    color: #FFB627;
}
.category-header.hospitals h2 {
    color: #a29bfe;
}
.category-icon {
	display: inline-block;
	font-size: 2.5rem;
	width: 80px;
	height: 80px;
	line-height: 80px;
	border-radius: 50%;
	margin-bottom: 1.5rem;
	padding-top: 2rem;
	background: rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
}
.category-icon.optometry {
    color: #00bcd4;
    border: 2px solid rgba(0, 188, 212, 0.3);
}
.category-icon.ophthalmology {
    color: #20c997;
    border: 2px solid rgba(32, 201, 151, 0.3);
}
.category-icon.management {
    color: #FFB627;
    border: 2px solid rgba(255, 182, 39, 0.3);
}
.category-icon.hospitals {
    color: #a29bfe;
    border: 2px solid rgba(162, 155, 254, 0.3);
}
.features-grid {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: (1fr)[3];
	    grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
@media (max-width: 992px) {
    .features-grid {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }
}
.feature-card {
	text-align: center;
	padding: 2.5rem 2rem;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.15);
	border-radius: 12px;
	transition: transform 0.3s ease, background-color 0.3s ease;

}
.feature-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.1);
}
.feature-icon {
	font-size: 2.8rem;
	margin-bottom: 1.5rem;
	color: #00bcd4;
}
.feature-title {
	font-size: 1.3rem;
	font-weight: 600;
	margin: 0 0 0.75rem 0;
	color: #ffffff;
}
.feature-description {
	font-size: 1rem;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.7;
	margin: 0;
}
.final-cta-section {
	text-align: center;
	padding: 4rem 5%;
	background-color: rgba(0, 0, 0, 0.2);

}
.final-cta-section .btn-nav-demo {
    font-size: 1.2rem;
    padding: 1rem 2.5rem;
}
.features-disclaimer {
	text-align: center;
	padding: 2rem 5% 1rem 5%;
	max-width: 800px;
	margin: 0 auto;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.6;
}
@media (max-width: 992px) {
    .section-title {
        font-size: 2rem;
    }
}
.full-screen-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 99999;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
}
.modern-login-page .login-card {
    background: #ffffff;
    color: #333333;
    padding: 3rem;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    width: 100%;
    max-width: 450px;
    position: relative;
}
@media (max-width: 992px) {
    .modern-login-page .login-card {
        padding: 2.5rem;
    }
}
@media (max-width: 576px) {
    .modern-login-page .login-card {
        padding: 2rem 1.5rem;
    }
}
.modern-login-page .processing-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    border-radius: 12px;
    -webkit-backdrop-filter: blur(4px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    z-index: 10;
    color: #0a2540;
    gap: 1rem;
    font-weight: 500;
    font-size: 1rem;
}
.modern-login-page .spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(10, 37, 64, 0.2);
    border-top-color: #00bcd4;
    border-radius: 50%;
    animation: spinner-rotation 0.8s linear infinite;
}
.modern-login-page .login-panel .btn:focus-visible, .modern-login-page .login-panel a:focus-visible {
    outline: 2px solid #00bcd4;
    outline-offset: 2px;
    box-shadow: none;
}
@media (max-width: 992px) {
    .modern-login-page .login-panel {
        padding: 2rem;
    }
}
.modern-login-page .text-danger {
    color: #d9534f;
    font-weight: 500;
}
.modern-login-page .text-success {
    color: #5cb85c;
    font-weight: 500;
}
.modern-login-page .text-center {
    text-align: center;
}
.modern-login-page .login-panel-text {
    font-size: 1rem;
    color: #6c757d;
    text-align: center;
    line-height: 1.6;
    margin: 0 auto 1.5rem auto;
    max-width: 90%;
}
.modern-login-page .verify-input-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    gap: 0.75rem;
    margin: 2rem auto;
}
.modern-login-page .verify-input-container input {
    width: 45px;
    height: 55px;
    font-size: 1.8rem;
    text-align: center;
    padding: 0.5rem;
    font-weight: 600;
    color: #0a2540;
}
.modern-login-page .form-actions-centered {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    margin-top: 1.8rem;
    gap: 1rem;
}
.modern-login-page .form-group {
    margin-bottom: 1.5rem;
}
.modern-login-page .form-group label {
    display: block;
    font-size: 0.95rem;
    font-weight: 500;
    margin-bottom: 0.6rem;
    color: #333333;
}
.modern-login-page .form-control {
    width: 100%;
    padding: 1rem 1.2rem;
    font-size: 1rem;
    border: 1px solid #e0e6ed;
    border-radius: 8px;
    box-sizing: border-box;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    color: #333333;
    background-color: #ffffff;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
.modern-login-page .form-control:focus {
    outline: none;
    border-color: #00bcd4;
    box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.25);
}
.modern-login-page .form-actions {
    display: -ms-flexbox;
    display: flex;
    gap: 1rem;
    margin-top: 1.8rem;
}
.modern-login-page .btn {
    width: 100%;
    max-width: none;
    padding: 1rem 1.5rem;
    font-size: 1rem;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.02em;
}
@media (max-width: 576px) {
    .modern-login-page .btn {
        padding: 0.8rem 1rem;
        font-size: 0.95rem;
    }
}
.modern-login-page .btn-login {
    background-color: #00bcd4;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.3);
}
.modern-login-page .btn-login:hover {
    background-color: #008c9e;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 188, 212, 0.4);
}
.modern-login-page .btn-lost {
    background-color: transparent;
    color: #0a2540;
    font-weight: 600;
    border: 1px solid #c0cde0;
    box-shadow: none;
    opacity: 0.9;
}
.modern-login-page .btn-lost:hover {
    background-color: rgba(10, 37, 64, 0.05);
    border-color: #0a2540;
    color: #0a2540;
    transform: translateY(-2px);
    opacity: 1;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}
.modern-login-page .dev-warning {
    background-color: rgba(255, 243, 205, 0.9);
    border: 1px solid rgba(255, 193, 7, 0.7);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1.5rem;
    color: #856404;
    font-size: 0.9rem;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
@media (max-width: 576px) {
    .modern-login-page .login-title {
        font-size: 1.6rem;
    }
}
@keyframes spinner-rotation {
	to {
		transform: rotate(360deg);
	}
}
.about-page {
    /* Override the variable for this specific page */
    --page-bg-image: url('https://cattrax-media.s3.ap-southeast-2.amazonaws.com/images/surgeon_image_cropped2.jpg');
    --page-bg-position: center;
}
.modern-login-page .about-section {
    padding: 4rem 5%;
}
.modern-login-page .about-container {
    max-width: 900px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.9);
}
.modern-login-page .about-container p {
    font-size: 1.15rem;
    line-height: 1.8;
    margin-bottom: 2rem;
    font-weight: 300;
}
.modern-login-page .about-container .section-title {
    text-align: left;
    font-size: 2.2rem;
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    color: #ffffff;
}
.modern-login-page .about-container .subsection-title {
    font-size: 1.8rem;
    font-weight: 600;
    color: #ffffff;
    margin-top: 4rem;
    margin-bottom: 1.5rem;
}
.modern-login-page .about-container ul {
    list-style: none;
    padding: 0;
    margin-top: 1.5rem;
}
.modern-login-page .about-container li {
    position: relative;
    margin-bottom: 1.25rem;
    font-size: 1.15rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.85);
    padding-left: 2.5rem;
}
.modern-login-page .about-container li i {
    position: absolute;
    left: 0;
    top: 4px;
    color: #00bcd4;
    font-size: 1.1rem;
}
.modern-login-page .about-container li strong {
    color: #ffffff;
    font-weight: 600;
}
.modern-login-page .impact-section {
    background: rgba(0, 0, 0, 0.3);
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    padding: 4rem 5%;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.modern-login-page .impact-container {
    max-width: 1200px;
    margin: 0 auto;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (0.5fr)[3];
        grid-template-columns: repeat(3, 0.5fr);
    gap: 0rem;
    text-align: center;
}
.modern-login-page .impact-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    transition: transform 0.3s ease;
}
.modern-login-page .impact-card:hover {
    transform: translateY(-5px);
}
.modern-login-page .impact-number {
    font-size: 3.5rem;
    font-weight: 700;
    color: #00bcd4;
    line-height: 1.2;
    margin-bottom: 0.5rem;
    text-shadow: 0 0 20px rgba(0, 188, 212, 0.2);
}
.modern-login-page .impact-label {
    color: rgba(255, 255, 255, 0.8);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
    font-weight: 700;
}
.modern-login-page .client-logos-section {
    padding: 3rem 0;
    background: #ffffff;
}
.modern-login-page .client-logos-marquee {
    position: relative;
    overflow: hidden;
    width: 100%;
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}
.modern-login-page .client-logos-track {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 4rem;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    animation: client-logos-scroll 40s linear infinite;
    will-change: transform;
}
.modern-login-page .client-logos-track:hover {
    animation-play-state: paused;
}
.modern-login-page .client-logo {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    height: 70px;
    min-width: 150px;
    opacity: 0.6;
    transition: all 0.3s ease;
}
.modern-login-page .client-logo:hover {
    opacity: 1;
    transform: scale(1.05);
}
.modern-login-page .client-logo img {
    max-height: 60px;
    max-width: 180px;
    -o-object-fit: contain;
       object-fit: contain;
}
@keyframes client-logos-scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}
@media (max-width: 768px) {
    .modern-login-page .about-section, .modern-login-page .impact-section {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
    .modern-login-page .impact-container {
        -ms-grid-columns: 1fr 1fr;
            grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }
    .modern-login-page .impact-number {
        font-size: 2.5rem;
    }
    .modern-login-page .client-logos-track {
        gap: 2rem;
    }
}
.pricing-page {
	--page-bg-image: url('https://cattrax-media.s3.ap-southeast-2.amazonaws.com/images/surgeon_image_cropped2.jpg');
	--page-bg-position: center 110%;
}
.modern-login-page .pricing-section {
    padding: 3rem 5%;
}
.modern-login-page .pricing-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
        grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    max-width: 1600px;
    margin: 0 auto;
    -ms-flex-align: stretch;
        align-items: stretch;
}
@media (min-width: 1201px) {
    .modern-login-page .pricing-grid {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        gap: 0;
    }
    .modern-login-page .pricing-grid .pricing-card {
        width: calc((100% - 14rem) / 5);
        margin-right: 2.5rem;
    }
    .modern-login-page .pricing-grid .pricing-card:last-child {
        margin-right: 0;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(2) {
        position: relative;
        margin-right: 4.8rem;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(2)::after {
        content: '';
        position: absolute;
        top: 15%;
        bottom: 15%;
        right: -2.7rem;
        width: 2px;
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 1px;
        transition: transform 0.3s ease;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(2):hover::after {
        transform: translateY(10px);
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(3) {
        margin-right: 0;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(4) {
        position: relative;
        margin-left: 2.8rem;
        margin-right: 5.4rem;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(4)::after {
        content: '';
        position: absolute;
        top: 15%;
        bottom: 15%;
        right: -2.5rem;
        width: 2px;
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 1px;
    }
}
@media (max-width: 1400px) {
    .modern-login-page .pricing-grid {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -ms-flex-pack: center;
            justify-content: center;
    }
    .modern-login-page .pricing-grid .pricing-card {
        width: 45%;
        margin: 1rem;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(2), .modern-login-page .pricing-grid .pricing-card:nth-child(3), .modern-login-page .pricing-grid .pricing-card:nth-child(4) {
        margin-right: 1rem;
        margin-left: 1rem;
    }
    .modern-login-page .pricing-grid .pricing-card:nth-child(2)::after, .modern-login-page .pricing-grid .pricing-card:nth-child(3)::after, .modern-login-page .pricing-grid .pricing-card:nth-child(4)::after {
        display: none;
    }
}
@media (max-width: 768px) {
    .modern-login-page .pricing-grid {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }
    .modern-login-page .pricing-grid .pricing-card {
        width: 100%;
        margin: 0;
    }
}
.modern-login-page .pricing-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background: rgba(255, 255, 255, 0.05);
    padding: 2.5rem 2rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.3s ease;
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    text-align: left;
    position: relative;
}
.modern-login-page .pricing-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    border-color: rgba(0, 188, 212, 0.5);
}
.modern-login-page .pricing-card.popular {
    border-color: #00bcd4;
    border-width: 2px;
    transform: scale(1.05);
    box-shadow: 0 10px 40px rgba(0, 188, 212, 0.2);
}
.modern-login-page .pricing-card.popular::before {
    content: 'Most Popular';
    position: absolute;
    top: 18px;
    right: -35px;
    background-color: #00bcd4;
    color: #ffffff;
    padding: 0.5rem 3rem;
    font-size: 0.85rem;
    font-weight: 700;
    text-align: center;
    transform: rotate(45deg);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1200px) {
    .modern-login-page .pricing-card.popular {
        transform: scale(1);
    }
}
.modern-login-page .pricing-card.recommended {
    border-color: #00bcd4;
    border-width: 2px;
    box-shadow: 0 10px 40px rgba(0, 188, 212, 0.2);
}
.modern-login-page .pricing-card .btn {
    margin-top: auto;
}
.modern-login-page .pricing-roi {
    text-align: center;
    font-size: 0.95rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    background: rgba(0, 188, 212, 0.1);
    padding: 0.8rem 1rem;
    border-radius: 8px;
    margin-bottom: 2.5rem;
}
.modern-login-page .pricing-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 1rem 0;
}
.modern-login-page .pricing-price {
    font-size: 2.8rem;
    font-weight: 700;
    color: #00bcd4;
    margin-bottom: 0.75rem;
}
.modern-login-page .pricing-price .price-period {
    font-size: 1rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.7);
}
.modern-login-page .pricing-description {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    margin-bottom: 2rem;
}
.modern-login-page .features-list {
    list-style: none;
    padding: 0;
    margin: 0 0 2rem 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
}
.modern-login-page .features-list li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.9);
}
.modern-login-page .features-list li.disabled {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: line-through;
}
.modern-login-page .features-list .fa-check-circle {
    color: #20c997;
    font-size: 1.2rem;
}
.modern-login-page .features-list .fa-times-circle {
    color: rgba(255, 255, 255, 0.4);
    font-size: 1.2rem;
}
.modern-login-page .btn-secondary {
    background-color: transparent;
    color: #ffffff;
    border: 1px solid #00bcd4;
}
.modern-login-page .btn-secondary:hover {
    background-color: #00bcd4;
    color: #ffffff;
}
/* Add-ons: extras bought on top of a plan rather than instead of one, so they sit below the
	   plan grid in a narrower three-across row of their own. */
.modern-login-page .addon-section {
    padding: 1rem 5% 4rem 5%;
    max-width: 1600px;
    margin: 0 auto;
}
@media (max-width: 576px) {
    .modern-login-page .addon-section {
        padding: 1rem 5% 3rem 5%;
    }
}
.modern-login-page .addon-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    margin-bottom: 3rem;
}
.modern-login-page .addon-header {
    text-align: center;
    margin-bottom: 3rem;
}
.modern-login-page .addon-header h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 1rem 0;
}
.modern-login-page .addon-header p {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}
/* Narrower than the section it sits in: two cards stretched across the full 1600px would each
	   end up several times the width of a plan card above them. */
.modern-login-page .addon-group {
    max-width: 900px;
    margin: 0 auto 4rem auto;
}
.modern-login-page .addon-group:last-child {
    margin-bottom: 0;
}
/* One group per add-on. There is only transcription today, but the spacing is set up so a
	   second group can be dropped in below without touching anything else. */
.modern-login-page .addon-group-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    gap: 1.25rem;
    margin-bottom: 2rem;
}
.modern-login-page .addon-group-header .addon-group-icon {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 12px;
    background: rgba(0, 188, 212, 0.1);
    border: 1px solid rgba(0, 188, 212, 0.3);
    color: #00bcd4;
    font-size: 1.5rem;
}
.modern-login-page .addon-group-header h3 {
    font-size: 1.3rem;
    font-weight: 600;
    color: #ffffff;
    margin: 0 0 0.5rem 0;
}
.modern-login-page .addon-group-header p {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
    max-width: 900px;
    margin: 0;
}
@media (max-width: 576px) {
    .modern-login-page .addon-group-header {
        -ms-flex-direction: column;
            flex-direction: column;
        gap: 1rem;
    }
}
.modern-login-page .addon-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    -ms-flex-align: stretch;
        align-items: stretch;
}
@media (max-width: 992px) {
    .modern-login-page .addon-grid {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
        gap: 1.5rem;
    }
}
.modern-login-page .addon-card {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    background: rgba(255, 255, 255, 0.05);
    padding: 2rem;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: all 0.3s ease;
    -webkit-backdrop-filter: blur(5px);
            backdrop-filter: blur(5px);
    text-align: left;
    position: relative;
}
.modern-login-page .addon-card:hover {
    transform: translateY(-10px);
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    border-color: rgba(0, 188, 212, 0.5);
}
.modern-login-page .addon-card.recommended {
    border-color: #00bcd4;
    border-width: 2px;
    box-shadow: 0 10px 40px rgba(0, 188, 212, 0.2);
}
/* Dialled back from the plan cards above: an add-on must not out-shout the plan it
		   attaches to. */
.modern-login-page .addon-card .pricing-title {
    font-size: 1.35rem;
    margin-bottom: 0.75rem;
}
.modern-login-page .addon-card .pricing-price {
    font-size: 2.4rem;
}
.modern-login-page .addon-card .pricing-description {
    margin-bottom: 1.5rem;
}
.modern-login-page .addon-card .features-list {
    margin-bottom: 1.5rem;
}
.modern-login-page .addon-card .btn {
    margin-top: auto;
    width: 100%;
}
.modern-login-page .addon-badge {
    position: absolute;
    top: -0.75rem;
    right: 1.5rem;
    background-color: #00bcd4;
    color: #ffffff;
    padding: 0.3rem 1rem;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
.features-page {
	--page-bg-image: url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?q=80&w=2070&auto=format&fit=crop');
	--page-bg-position: center 80%;
}
.modern-login-page .features-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
@media (max-width: 992px) {
    .modern-login-page .features-grid {
        -ms-grid-columns: 1fr;
            grid-template-columns: 1fr;
    }
}
.modern-login-page .features-overview .features-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(320px, 1fr))[auto-fit];
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
}
.modern-login-page .feature-card {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: 2.5rem 2rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 12px;
    transition: transform 0.3s ease, background-color 0.3s ease;
}
.modern-login-page .feature-card:hover {
    transform: translateY(-8px);
    background: rgba(255, 255, 255, 0.1);
}
.modern-login-page .feature-icon {
    font-size: 2.8rem;
    margin-bottom: 1.5rem;
    color: #00bcd4;
}
.modern-login-page .feature-title {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 0 0 0.75rem 0;
    color: #ffffff;
}
.modern-login-page .feature-description {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.7;
    margin: 0;
}
.modern-login-page .final-cta-section {
    text-align: center;
    padding: 4rem 5%;
    background-color: rgba(0, 0, 0, 0.2);
}
.modern-login-page .features-disclaimer {
    text-align: center;
    padding: 2rem 5% 1rem 5%;
    max-width: 800px;
    margin: 0 auto;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
}
@media (max-width: 992px) {
    .modern-login-page .section-title {
        font-size: 2rem;
    }
}
.coming-soon-banner {
	position: absolute;
	top: 18px;
	right: -35px;
	background-color: #ffab00;
	color: #000;
	padding: 6px 35px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	transform: rotate(45deg);
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	letter-spacing: 0.5px;
	z-index: 10;
}
.modern-login-page .demo-hero {
    padding: 4rem 5% 3rem 5%;
    text-align: center;
}
.modern-login-page .demo-hero .hero-title {
    margin-bottom: 1.5rem;
}
.modern-login-page .demo-hero .hero-subtitle {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
}
@media (max-width: 576px) {
    .modern-login-page .demo-hero {
        padding: 3rem 5% 2rem 5%;
    }
}
.modern-login-page .demo-section {
    padding: 3rem 5%;
}
@media (max-width: 576px) {
    .modern-login-page .demo-section {
        padding: 2.5rem 5%;
    }
}
.modern-login-page .demo-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1rem;
}
.modern-login-page .video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
    background-color: #000;
}
.modern-login-page .video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modern-login-page .section-title {
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1rem;
    color: #ffffff;
}
.modern-login-page .section-subtitle {
    font-size: 1.15rem;
    font-weight: 300;
    text-align: center;
    max-width: 750px;
    margin: 0 auto 3.5rem auto;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
}
.modern-login-page .form-container {
    max-width: 650px;
    margin: 0 auto;
    background-color: #ffffff;
    color: #333333;
    padding: 3rem;
    border-radius: 12px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
@media (max-width: 576px) {
    .modern-login-page .form-container {
        padding: 2rem 1.5rem;
    }
}
.modern-login-page .btn-primary {
    background-color: #00bcd4;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0, 188, 212, 0.3);
}
.modern-login-page .btn-primary:hover {
    background-color: #008c9e;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 188, 212, 0.4);
}
.modern-login-page .btn-primary:disabled {
    background-color: #a0a0a0;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}
.modern-login-page .success-message {
    max-width: 650px;
    margin: 0 auto;
    padding: 2.5rem;
    text-align: center;
    background: rgba(32, 201, 151, 0.1);
    border: 1px solid rgba(32, 201, 151, 0.7);
    color: #ffffff;
    border-radius: 12px;
}
.modern-login-page .success-message h4 {
    font-size: 1.8rem;
    font-weight: 700;
    color: #20c997;
    margin: 0 0 1rem 0;
}
.modern-login-page .success-message p {
    font-size: 1.1rem;
    margin: 0;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
}
.modern-modal-backdrop {
	background: rgba(10, 37, 64, 0.65);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.modern-modal-window {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1050;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: center;
	    align-items: center;
	-ms-flex-pack: center;
	    justify-content: center;
	pointer-events: none;

}
.modern-modal-window .modal-content {
    margin: 0;
    background-color: #ffffff;
    color: #333333;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
    border: none;
    overflow: hidden;
    max-width: 500px;
    width: 90%;
    pointer-events: auto;
    transform: translateY(-20px);
    opacity: 0;
    animation: modalFadeIn 0.3s ease-out forwards;
}
@media (max-width: 576px) {
    .modern-modal-window .modal-content {
        width: 95%;
        margin: 1rem;
    }
}
@keyframes modalFadeIn {
	from {
		opacity: 0;
		transform: translateY(-30px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.modal-header {
	padding: 1.5rem 2rem;
	border-bottom: 1px solid #e0e6ed;
	position: relative;
	background-color: #f8faff;
}
@media (max-width: 576px) {
    .modal-header {
        padding: 1.2rem 1.5rem;
    }
}
.modal-title {
	font-size: 1.65rem;
	font-weight: 700;
	color: #0a2540;
	margin: 0;
	padding-right: 2rem;
	text-align: center;
}
@media (max-width: 576px) {
    .modal-title {
        font-size: 1.4rem;
    }
}
.close-btn {
	position: absolute;
	top: 1rem;
	right: 1rem;
	font-size: 2.2rem;
	font-weight: 300;
	color: #888888;
	background: none;
	border: none;
	opacity: 0.7;
	cursor: pointer;
	transition: opacity 0.2s ease, color 0.2s ease, transform 0.2s ease;

}
// Added transform 
	.close-btn:hover {
    opacity: 1;
    color: #333333;
    transform: rotate(90deg);
}
@media (max-width: 576px) {
    .close-btn {
        top: 0.8rem;
        right: 0.8rem;
        font-size: 2rem;
    }
}
.modal-body {
	padding: 2.5rem 2rem;

}
.modal-body .form-group {
    margin-bottom: 1.5rem;
}
.modal-body .form-control:focus {
    border-color: #00bcd4;
    box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.25);
}
.modal-body .btn-primary {
    width: 100%;
    padding: 1.1rem;
    font-size: 1.1rem;
    font-weight: 700;
    border-radius: 10px;
    margin-top: 0.5rem;
}
@media (max-width: 576px) {
    .modal-body {
        padding: 1.8rem 1.5rem;
    }
    .modal-body .btn-primary {
        padding: 1rem;
        font-size: 1rem;
    }
}
.modal-subtitle {
	font-size: 1.05rem;
	font-weight: 300;
	text-align: center;
	margin-bottom: 2rem;
	color: #6c757d;
	line-height: 1.6;
}
@media (max-width: 576px) {
    .modal-subtitle {
        font-size: 0.95rem;
    }
}
.modal-success {
	background: rgba(32, 201, 151, 0.08);
	border: 1px solid rgba(32, 201, 151, 0.4);
	border-radius: 10px;
	padding: 1.5rem;
	text-align: center;
	margin-top: 1.5rem;
	color: #333333;
}
.modal-success h4 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #20c997;
    margin: 0 0 0.8rem 0;
}
@media (max-width: 576px) {
    .modal-success h4 {
        font-size: 1.4rem;
    }
}
.modal-success p {
    font-size: 1rem;
    line-height: 1.6;
    color: #555555;
}
.modal-success .fa-check-circle {
    margin-right: 0.75rem;
    color: #20c997;
    font-size: 1.8rem;
    vertical-align: middle;
}
/* Sits above the submit button rather than replacing the form, because the details are still
   filled in and retrying is usually all that is needed. */
.modal-error {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-align: start;
	    align-items: flex-start;
	gap: 0.75rem;
	background: rgba(169, 68, 66, 0.08);
	border: 1px solid rgba(169, 68, 66, 0.4);
	border-radius: 10px;
	padding: 1rem 1.25rem;
	margin-bottom: 1.25rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: #a94442;
}
.modal-error i {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 1rem;
}
.modern-login-page .page-header {
    background-color: rgba(36, 62, 87, 0.9);
    padding: 0.75rem 5%;
    padding-top: 0.5rem;
    margin-top: 0rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    box-sizing: border-box;
}
.modern-login-page .header-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
.modern-login-page .nav-logo {
    height: 50px;
    width: auto;
    filter: drop-shadow(0 1px 4px rgba(0, 0, 0, 0.3));
    vertical-align: middle;
}
.modern-login-page .main-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    gap: 1rem;
}
.modern-login-page .nav-link {
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    color: #ffffff;
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    padding: 0.6rem 1.2rem;
    border-radius: 8px;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}
.modern-login-page .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
}
.modern-login-page .btn-nav-demo {
    background-color: #ffab00;
    color: #0a2540;
    padding: 0.8rem 1.8rem;
    font-size: 1.15rem;
    font-weight: 700;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    display: inline-block;
    max-width: 25rem;
}
.modern-login-page .btn-nav-demo:hover {
    background-color: #FFB627;
    transform: translateY(-2px);
    box-shadow: 0 3px 20px #FFB627;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl92YXJpYWJsZXMuY3NzIiwiX2ZvbnRzLmNzcyIsIl91dGlsLmNzcyIsIl9idXR0b25zLmNzcyIsIl9uYXYuY3NzIiwiX3dlbGNvbWUuY3NzIiwiX3JlZmVyLmNzcyIsIl9zZWFyY2guY3NzIiwiX21vZGFsLmNzcyIsIl9mb3Jtcy5jc3MiLCJfcG9wb3Zlci5jc3MiLCJfY29tcGxldGUtcmVmZXJyYWwuY3NzIiwiX2V4YW0uY3NzIiwiX3Rlcm1zLmNzcyIsIl9wcmUtb3AuY3NzIiwiX29wZXJhdGlvbi1ub3RlLmNzcyIsIl91aS1zZWxlY3QuY3NzIiwiX3ByZW1pdW0tbGVucy5jc3MiLCJfYW5pbWF0aW9uLmNzcyIsIl9haS1hZ2VudC5jc3MiLCJfcmljaHRleHQuY3NzIiwiX3BheW1lbnRzLmNzcyIsIl90cmFuc2NyaXB0aW9uLXNlYXRzLmNzcyIsIl9zZXR0aW5ncy5jc3MiLCJfdGlwcy5jc3MiLCJfZWNsaXBzZS1jbGFpbS5jc3MiLCJfd2Vic2l0ZV9sYW5kaW5nX3BhZ2UuY3NzIiwiX3dlYnNpdGVfbG9naW5fcGFuZWwuY3NzIiwiX3dlYnNpdGVfYWJvdXRfdXMuY3NzIiwiX3dlYnNpdGVfcHJpY2luZy5jc3MiLCJfd2Vic2l0ZV9mZWF0dXJlcy5jc3MiLCJfd2Vic2l0ZV9ib29rX2RlbW8uY3NzIiwiX3dlYnNpdGVfbmF2X2Jhci5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUVBQXlFO0FBQ3pFO3lFQUN5RTtBQU1wRCxvREFBb0Q7QUFHekUseUVBQXlFO0FBQ3pFO3lFQUN5RTtBQUN6RSwwQkFBMEI7QUFNSixvREFBb0Q7QUFDMUUscUNBQXFDO0FBR3JDLG1DQUFtQztBQUVuQywyQkFBMkI7QUFHM0Isd0JBQXdCO0FBQ04sMkJBQTJCO0FBQ3JCLDJCQUEyQjtBQUluRCx5RUFBeUU7QUFDekU7eUVBQ3lFO0FBQ3pFLFVBQVU7QUFDVyx1Q0FBdUM7QUFFdEMsK0JBQStCO0FBQy9CLHFCQUFxQjtBQUczQyxrQkFBa0I7QUFHVywwQkFB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bUNBQTJCO1lBQTNCLDJCQUEyQjtJQUMzQix5QkFBaUI7SUFBakIsaUJBQWlCO0lBQ2pCLE9BQU87SUFDUCxjQUFjO0lBQ2QsWUFBWTtJQUNaLHVCQUF1QjtDQUN2QjtBQUVEO0lBQ0MscUJBQWM7SUFBZCxjQUFjO0lBQ2QsdUJBQStCO1FBQS9CLCtCQUErQjtJQUMvQix1QkFBb0I7UUFBcEIsb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsZUFBZTtDQUNmO0FBRUQ7SUFDQyxhQUFhO0lBQ2IsWUFBWTtJQUNaLGtEQUE0QztJQUM1Qyx1QkFBdUI7Q0FDdkI7QUFFRDtJQUNDLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsV0FBVztJQUNYLHFCQUFjO0lBQWQsY0FBYztJQUNkLHVCQUFvQjtRQUFwQixvQkFBb0I7SUFDcEIsVUFBVTtDQUNWO0FBRUQ7SUFDQywyQ0FBK0I7SUFDL0IsMkNBQStCO0lBQy9CLDJCQUEyQjtJQUMzQixtQ0FBbUM7SUFDbkMsZUFBYztJQUNkLGdCQUEyQjtJQUMzQixpQkFBaUM7SUFDakMsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixtQkFBaUM7SUFDakMsaUNBQWlDO0lBQ2pDLGdCQUFnQjtDQU9oQjtBQUxBO0lBQ0MsMkNBQStCO0lBQy9CLHVDQUEyQjtJQUMzQiw0QkFBNEI7Q0FDNUI7QUFHRjtJQUNDLDBCQUE4QjtJQUM5QixlQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLGlCQUErQjtJQUMvQixvQkFBaUM7SUFDakMsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQiwwQkFBMEI7SUFDMUIsMENBQW9DO0lBQ3BDLHNCQUFzQjtJQUN0QixzQkFBc0I7SUFDdEIsaUJBQWlCO0NBT2pCO0FBTEE7SUFDQywwQkFBMEI7SUFDMUIsNEJBQTRCO0lBQzVCLCtCQUErQjtDQUMvQiIsImZpbGUiOiJzdHlsZS0xNzg3MjAyNDgzNzg5LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgQ29yZSBCcmFuZCBQYWxldHRlXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiR3aGl0ZTogI2ZmZmZmZjtcbiRibGFjazogIzAwMDtcbiRuYXZ5OiAjMDAzNWQyO1xuJGRhcmtOYXZ5OiAjMmEzMDdmO1xuJG5hdnktcGFsZTogI2U3ZjBmZjsgLyogUGFsZSBuYXZ5IHRpbnQgLSBzZXR0aW5ncyBoZWFkaW5ncywgaWNvbiBjaGlwcyAqL1xuJHB1cnBsZTogIzhiNTZhMztcbiRibHVlOiAjMjA3MmJiO1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBUaGVtZSBDb2xvcnNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFByaW1hcnkgQWN0aW9uIENvbG9yICovXG4kY3lhbjogIzAwYmNkNDtcbiRjeWFuLWRhcms6ICMwMDk3YTc7XG4kY3lhbi1kYXJrZXI6ICMwMDhjOWU7XG4kY3lhbi1kYXJrZXN0OiAjMDBhNWI4O1xuJGN5YW4tbGlnaHQ6ICMyM2UyZjg7XG4keWVsbG93LWN0YTogI2ZmYWIwMDsgLyogVXNlZCBmb3IgJ0NvbWluZyBTb29uJyBiYW5uZXIgYW5kIENUQSBidXR0b25zLiAqL1xuLyogU3VjY2VzcyAvIFNlY29uZGFyeSBUaGVtZSBDb2xvciAqL1xuJGdyZWVuOiAjMjBjOTk3O1xuJGdyZWVuLXN1Y2Nlc3MtYWx0OiAjNWNiODVjO1xuLyogQWNjZW50IC8gVGVydGlhcnkgVGhlbWUgQ29sb3IgKi9cbiR5ZWxsb3c6ICNGRkI2Mjc7XG4vKiBEYW5nZXIgLyBFcnJvciBDb2xvcnMgKi9cbiRkYW5nZXI6ICNhOTQ0NDI7XG4kcmVkLWRhbmdlci1hbHQ6ICNkOTUzNGY7XG4vKiBTcGVjaWZpYyBVSSBDb2xvcnMgKi9cbiRvcmFuZ2U6ICNkODdkNGE7IC8qIEZvciBBZG1pbiBub3RlIGJvcmRlciAqL1xuJGZvcmVzdC1ncmVlbjogIzJlN2QzMjsgLyogRm9yIE51cnNlIG5vdGUgYm9yZGVyICovXG4kdGVhbDogIzAwNzk2YjtcbiRsYXZlbmRlcjogI2EyOWJmZTtcbiRwdXJwbGU6ICM5QzI3QjA7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIEdyZXlzICYgTmV1dHJhbHNcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRleHQgKi9cbiR0ZXh0LWRhcms6ICMzMzMzMzM7IC8qIFByaW1hcnkgdGV4dCBvbiBsaWdodCBiYWNrZ3JvdW5kcyAqL1xuJHRleHRHcmV5OiAjMzQzYTQwO1xuJHRleHQtbXV0ZWQ6ICM2Yzc1N2Q7IC8qIFN1YnRpdGxlcyBhbmQgaGVscGVyIHRleHQgKi9cbiR0ZXh0LWxpZ2h0OiAjNTU1NTU1OyAvKiBNb2RhbCBib2R5IHRleHQgKi9cbiR0ZXh0LWNsb3NlLWJ0bjogIzg4ODg4ODtcbiRsb2dvdXRHcmV5OiAjNDA0MTQxO1xuLyogQm9yZGVycyAmIFVJICovXG4kbGluZUJyZWFrOiAjYmNjYWQyO1xuJGNhbmNlbEJvcmRlcjogI2JkYmVjMTtcbiRncmV5LWJvcmRlci1saWdodDogI2UwZTZlZDsgLyogRm9ybSBjb250cm9sIGJvcmRlcnMgKi9cbiRncmV5LWJvcmRlci1tZWRpdW06ICNjMGNkZTA7IC8qIGJ0bi1sb3N0IGJvcmRlciAqL1xuJG5hdkdyZXk6ICNlN2U5ZTk7IC8qIE5hdmlnYXRpb24gY29tcG9uZW50ICovXG4vKiBCYWNrZ3JvdW5kcyAqL1xuJHBhZ2VCYWNrR3JvdW5kOiAjZWJlY2VhO1xuJGRhc2hib2FyZEJhY2tncm91bmQ6ICNmMGYyZjU7XG4kcGFsZUJsdWU6ICNmMmY2ZmI7IC8qIEFsdGVybmF0ZSB0YWJsZSBjb2xvciAqL1xuJGxpZ2h0R3JleTogI2Y4ZjlmYTtcbiRncmV5LW1vZGFsLWhlYWRlcjogI2Y4ZmFmZjtcbiRncmV5LWRpc2FibGVkOiAjYTBhMGEwOyAvKiBEaXNhYmxlZCBidXR0b24gYmFja2dyb3VuZCAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBEYXJrIFRoZW1lIChOYXZ5KVxuLyogVXNlZCBmb3Igd2Vic2l0ZSBsYW5kaW5nIHBhZ2VzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kbmF2eS1kYXJrLXRleHQ6ICMwYTI1NDA7IC8qIE1vZGFsIHRpdGxlcywgcHJvY2Vzc2luZyB0ZXh0ICovXG4kbmF2eS1iZy1ncmFkaWVudC1kYXJrOiByZ2JhKDEwLCAzNywgNjQsIDAuOTUpO1xuJG5hdnktYmctZ3JhZGllbnQtbGlnaHQ6IHJnYmEoMTAsIDM3LCA2NCwgMC44NSk7XG4kbmF2eS1iYWNrZHJvcDogcmdiYSgxMCwgMzcsIDY0LCAwLjY1KTsgLyogTW9kYWwgYmFja2Ryb3AgKi9cbiRuYXZ5LWhlYWRlci1iZzogcmdiYSgzNiwgNjIsIDg3LCAwLjkpOyAvKiBTdGlja3kgaGVhZGVyICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFRyYW5zcGFyZW50IFdoaXRlc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHdoaXRlLXRwLTA1OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOyAvKiBDYXJkIGJhY2tncm91bmRzICovXG4kd2hpdGUtdHAtMTA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiR3aGl0ZS10cC0xNTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiR3aGl0ZS10cC0yMDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOyAvKiBCb3JkZXJzICovXG4kd2hpdGUtdHAtNDA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiR3aGl0ZS10cC01MDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuJHdoaXRlLXRwLTYwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4kd2hpdGUtdHAtNzA6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiR3aGl0ZS10cC03NTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiR3aGl0ZS10cC04MDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuJHdoaXRlLXRwLTg1OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOyAvKiBCb2R5IHRleHQgb24gZGFyayBiZyAqL1xuJHdoaXRlLXRwLTkwOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4kd2hpdGUtdHAtOTU6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFRyYW5zcGFyZW50IEJsYWNrc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJGJsYWNrLXRwLTEwOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4kYmxhY2stdHAtMTU6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4kYmxhY2stdHAtMjA6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiRibGFjay10cC0zMDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuJGJsYWNrLXRwLTQwOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFRyYW5zcGFyZW50IFRoZW1lIENvbG9yc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ3lhbiBUaW50cyAqL1xuJGN5YW4tdHAtMDU6IHJnYmEoMCwgMTg4LCAyMTIsIDAuMDUpO1xuJGN5YW4tdHAtMTA6IHJnYmEoMCwgMTg4LCAyMTIsIDAuMSk7XG4kY3lhbi10cC0yMDogcmdiYSgwLCAxODgsIDIxMiwgMC4yKTtcbiRjeWFuLXRwLTI1OiByZ2JhKDAsIDE4OCwgMjEyLCAwLjI1KTsgLyogRm9ybSBmb2N1cyBzaGFkb3cgKi9cbiRjeWFuLXRwLTMwOiByZ2JhKDAsIDE4OCwgMjEyLCAwLjMpO1xuJGN5YW4tdHAtNDA6IHJnYmEoMCwgMTg4LCAyMTIsIDAuNCk7XG4kY3lhbi10cC01MDogcmdiYSgwLCAxODgsIDIxMiwgMC41KTtcbi8qIEdyZWVuIFRpbnRzICovXG4kZ3JlZW4tdHAtMDg6IHJnYmEoMzIsIDIwMSwgMTUxLCAwLjA4KTtcbiRncmVlbi10cC0xMDogcmdiYSgzMiwgMjAxLCAxNTEsIDAuMSk7XG4kZ3JlZW4tdHAtMjA6IHJnYmEoMzIsIDIwMSwgMTUxLCAwLjIpO1xuJGdyZWVuLXRwLTMwOiByZ2JhKDMyLCAyMDEsIDE1MSwgMC4zKTtcbiRncmVlbi10cC00MDogcmdiYSgzMiwgMjAxLCAxNTEsIDAuNCk7XG4kZ3JlZW4tdHAtNTA6IHJnYmEoMzIsIDIwMSwgMTUxLCAwLjUpO1xuJGdyZWVuLXRwLTcwOiByZ2JhKDMyLCAyMDEsIDE1MSwgMC43KTtcbi8qIFllbGxvdyBUaW50cyAqL1xuJHllbGxvdy10cC0xMDogcmdiYSgyNTUsIDE4MiwgMzksIDAuMSk7XG4keWVsbG93LXRwLTIwOiByZ2JhKDI1NSwgMTgyLCAzOSwgMC4yKTtcbiR5ZWxsb3ctdHAtMzA6IHJnYmEoMjU1LCAxODIsIDM5LCAwLjMpO1xuJHllbGxvdy10cC01MDogcmdiYSgyNTUsIDE4MiwgMzksIDAuNSk7XG4vKiBOYXZ5IFRpbnRzICovXG4kbmF2eS10cC0wNTogcmdiYSgxMCwgMzcsIDY0LCAwLjA1KTtcbiRuYXZ5LXRwLTEwOiByZ2JhKDEwLCAzNywgNjQsIDAuMSk7XG4kbmF2eS10cC0yMDogcmdiYSgxMCwgMzcsIDY0LCAwLjIpO1xuLyogTGF2ZW5kZXIgVGludHMgKi9cbiRsYXZlbmRlci10cC0wNTogcmdiYSgxNjIsIDE1NSwgMjU0LCAwLjA1KTtcbiRsYXZlbmRlci10cC0xMDogcmdiYSgxNjIsIDE1NSwgMjU0LCAwLjEpO1xuJGxhdmVuZGVyLXRwLTIwOiByZ2JhKDE2MiwgMTU1LCAyNTQsIDAuMik7XG4kbGF2ZW5kZXItdHAtMzA6IHJnYmEoMTYyLCAxNTUsIDI1NCwgMC4zKTtcbiRsYXZlbmRlci10cC00MDogcmdiYSgxNjIsIDE1NSwgMjU0LCAwLjQpO1xuJGxhdmVuZGVyLXRwLTUwOiByZ2JhKDE2MiwgMTU1LCAyNTQsIDAuNSk7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFdhcm5pbmcgQ2FsbG91dFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHdhcm5pbmctdGV4dDogIzg1NjQwNDtcbiR3YXJuaW5nLWJnOiByZ2JhKDI1NSwgMjQzLCAyMDUsIDAuOSk7XG4kd2FybmluZy1ib3JkZXI6IHJnYmEoMjU1LCAxOTMsIDcsIDAuNyk7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFR5cG9ncmFwaHlcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZvbnQgRmFtaWx5ICovXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuLyogRm9udCBXZWlnaHRzICovXG4kZm9udC13ZWlnaHQtbGlnaHQ6IDMwMDtcbiRmb250LXdlaWdodC1ub3JtYWw6IDQwMDtcbiRmb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiRmb250LXdlaWdodC1zZW1pYm9sZDogNjAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbi8qIEZvbnQgU2l6ZXMgKi9cbiRmb250LXNpemUtc206IDAuOXJlbTtcbiRmb250LXNpemUtYmFzZTogMXJlbTtcbiRmb250LXNpemUtbGc6IDEuM3JlbTtcbiRmb250LXNpemUteGw6IDEuOHJlbTtcbiRmb250LXNpemUteHhsOiAyLjVyZW07XG4kZm9udC1zaXplLXh4eGw6IDMuMnJlbTtcbi8qIExpbmUgSGVpZ2h0cyAqL1xuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjtcbiRsaW5lLWhlaWdodC1oZWFkaW5nOiAxLjI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFNpemluZyAmIExheW91dFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHNlY3Rpb24tcGFkZGluZy14OiA1JTtcbi8qIEJvcmRlciBSYWRpdXMgKi9cbiRib3JkZXItcmFkaXVzLXNtOiA4cHg7XG4kYm9yZGVyLXJhZGl1cy1tZDogMTBweDtcbiRib3JkZXItcmFkaXVzLWxnOiAxMnB4O1xuJGJvcmRlci1yYWRpdXMteGw6IDE2cHg7XG4kYm9yZGVyLXJhZGl1cy1jaXJjbGU6IDUwJTtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgU2hhZG93c1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuJHNoYWRvdy1zbTogMCA0cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4kc2hhZG93LW1kOiAwIDZweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4kc2hhZG93LWxnOiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4kc2hhZG93LWN5YW4tc206IDAgNHB4IDE1cHggcmdiYSgwLCAxODgsIDIxMiwgMC4zKTtcbiRzaGFkb3ctY3lhbi1tZDogMCA2cHggMjBweCByZ2JhKDAsIDE4OCwgMjEyLCAwLjQpO1xuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIEhlYXZ5IEl0YWxpYyc7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvZ29yZGl0YWJsYWNraXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi9mb250cy9nb3JkaXRhYmxhY2tpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi9mb250cy9nb3JkaXRhYmxhY2tpdGFsaWMtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5mb250LWhlYXZ5LWl0YWxpYyB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIEhlYXZ5IEl0YWxpYyc7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR29yZGl0YSBIZWF2eSc7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvZ29yZGl0YWJsYWNrLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi9mb250cy9nb3JkaXRhYmxhY2std2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi9mb250cy9nb3JkaXRhYmxhY2std2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi5mb250LWhlYXZ5IHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgSGVhdnknO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCBJdGFsaWMnO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2dvcmRpdGFib2xkaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi9mb250cy9nb3JkaXRhYm9sZGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuL2ZvbnRzL2dvcmRpdGFib2xkaXRhbGljLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uZm9udC1ib2xkLWl0YWxpYyB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIEJvbGQgSXRhbGljJztcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIEJvbGQnO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2dvcmRpdGFib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi9mb250cy9nb3JkaXRhYm9sZC13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuL2ZvbnRzL2dvcmRpdGFib2xkLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uZm9udC1ib2xkIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCc7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR29yZGl0YSBNZWRpdW0gSXRhbGljJztcbiAgICBzcmM6IHVybCgnLi9mb250cy9nb3JkaXRhbWVkaXVtaXRhbGljLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi9mb250cy9nb3JkaXRhbWVkaXVtaXRhbGljLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4vZm9udHMvZ29yZGl0YW1lZGl1bWl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvbnQtbWVkaXVtLWl0YWxpYyB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIE1lZGl1bSBJdGFsaWMnO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgTWVkaXVtJztcbiAgICBzcmM6IHVybCgnLi9mb250cy9nb3JkaXRhbWVkaXVtLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi9mb250cy9nb3JkaXRhbWVkaXVtLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4vZm9udHMvZ29yZGl0YW1lZGl1bS13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmZvbnQtbWVkaXVtIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgTWVkaXVtJztcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIFJlZ3VsYXIgSXRhbGljJztcbiAgICBzcmM6IHVybCgnLi9mb250cy9nb3JkaXRhcmVndWxhcml0YWxpYy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4vZm9udHMvZ29yZGl0YXJlZ3VsYXJpdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi9mb250cy9nb3JkaXRhcmVndWxhcml0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvbnQtcmVndWxhci1pdGFsaWMge1xuICAgIGZvbnQtZmFtaWx5OiAnR29yZGl0YSBSZWd1bGFyIEl0YWxpYyc7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR29yZGl0YSBSZWd1bGFyJztcbiAgICBzcmM6IHVybCgnLi9mb250cy9nb3JkaXRhcmVndWxhci13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4vZm9udHMvZ29yZGl0YXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi9mb250cy9nb3JkaXRhcmVndWxhci13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmZvbnQtcmVndWxhciB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIFJlZ3VsYXInO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgTGlnaHQgSXRhbGljJztcbiAgICBzcmM6IHVybCgnLi9mb250cy9nb3JkaXRhbGlnaHRpdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuL2ZvbnRzL2dvcmRpdGFsaWdodGl0YWxpYy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuL2ZvbnRzL2dvcmRpdGFsaWdodGl0YWxpYy13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZvbnQtbGlnaHQtaXRhbGljIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgTGlnaHQgSXRhbGljJztcbn1cblxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgTGlnaHQnO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2dvcmRpdGFsaWdodC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4vZm9udHMvZ29yZGl0YWxpZ2h0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4vZm9udHMvZ29yZGl0YWxpZ2h0LXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uZm9udC1saWdodCB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIExpZ2h0Jztcbn1cbiIsImh0bWwsXG5ib2R5IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRmb250LXNpemU6IDEycHg7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdC8qbGV0dGVyLXNwYWNpbmc6IDFweDsqL1xufVxuXG5tYWluIHtcblx0bWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5iZy13aGl0ZSB7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcbn1cbi50ZXh0LXdoaXRlIHtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuLmJnLW5hdnkge1xuXHRiYWNrZ3JvdW5kOiAkbmF2eTtcbn1cbi50ZXh0LW5hdnkge1xuXHRjb2xvcjogJG5hdnk7XG59XG5cbi5iZy1kYXJrTmF2eSB7XG5cdGJhY2tncm91bmQ6ICRkYXJrTmF2eTtcbn1cbi50ZXh0LWRhcmtOYXZ5IHtcblx0Y29sb3I6ICRkYXJrTmF2eTtcbn1cblxuLmJnLWN5YW4ge1xuXHRiYWNrZ3JvdW5kOiAkY3lhbjtcbn1cbi50ZXh0LWN5YW4ge1xuXHRjb2xvcjogJGN5YW47XG59XG5cbi5iZy1ibHVlIHtcblx0YmFja2dyb3VuZDogJGJsdWU7XG59XG4udGV4dC1ibHVlIHtcblx0Y29sb3I6ICRibHVlO1xufVxuXG4uYmctcHVycGxlIHtcblx0YmFja2dyb3VuZDogJHB1cnBsZTtcbn1cbi50ZXh0LXB1cnBsZSB7XG5cdGNvbG9yOiAkcHVycGxlO1xufVxuXG4uYmctcGFsZUJsdWUge1xuXHRiYWNrZ3JvdW5kOiAkcGFsZUJsdWU7XG59XG4udGV4dC1wYWxlQmx1ZSB7XG5cdGNvbG9yOiAkcGFsZUJsdWU7XG59XG5cbi5iZy1uYXZHcmV5IHtcblx0YmFja2dyb3VuZDogJG5hdkdyZXk7XG59XG4udGV4dC1uYXZHcmV5IHtcblx0Y29sb3I6ICRuYXZHcmV5O1xufVxuXG4uYmctcGFnZUJhY2tHcm91bmQge1xuXHRiYWNrZ3JvdW5kOiAkcGFnZUJhY2tHcm91bmQ7XG59XG4udGV4dC1wYWdlQmFja0dyb3VuZCB7XG5cdGNvbG9yOiAkcGFnZUJhY2tHcm91bmQ7XG59XG5cbi5iZy10ZXh0R3JleSB7XG5cdGJhY2tncm91bmQ6ICR0ZXh0R3JleTtcbn1cbi50ZXh0LXRleHRHcmV5IHtcblx0Y29sb3I6ICR0ZXh0R3JleTtcbn1cblxuLmJnLWxvZ291dEdyZXkge1xuXHRiYWNrZ3JvdW5kOiAkbG9nb3V0R3JleTtcbn1cbi50ZXh0LWxvZ291dEdyZXkge1xuXHRjb2xvcjogJGxvZ291dEdyZXk7XG59XG5cbi50ZXh0LXJlZCB7XG5cdGNvbG9yOiAjYTk0NDQyICFpbXBvcnRhbnQ7XG59XG4udGV4dC1icmlnaHQtcmVkIHtcblx0Y29sb3I6IHJlZDtcbn1cblxuLm91dGxpbmUge1xuXHRvdXRsaW5lOiAxcHggZG90dGVkIHJlZDtcbn1cblxuLnVuc3R5bGVkIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcblx0Y3Vyc29yOiBpbmhlcml0O1xuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbi5wb2ludGVyIHtcblx0Y3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXNtYWxsIHtcblx0Zm9udC1zaXplOiAwLjhlbTtcbn1cblxuLm1iLTAge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udGgtbm8tYm9yZGVyIHtcblx0LyogYm9yZGVyLXdpZHRoOiAwcHggIWltcG9ydGFudDsgKi9cblx0Ym9yZGVyLWxlZnQtd2lkdGg6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmlnaHQtd2lkdGg6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuXHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGUgIWltcG9ydGFudDtcbn1cbi50aC1ib3JkZXItdG9wIHtcblx0Ym9yZGVyLXRvcC1jb2xvcjogJGJsdWU7XG59XG5cbi50b2FzdC1jb250YWluZXIge1xuXHRtYXJnaW4tdG9wOiAyNSU7XG59XG5cbi5mbGV4LWhhbGYtcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdHBhZGRpbmctbGVmdDogMmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdHBhZGRpbmctdG9wOiA4cHg7XG5cdHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5cbi5mbGV4LWhhbGYtY2VsbCB7XG5cdHdpZHRoOiA1MCU7XG59XG5cbi5mbGV4LXRocmVlLWNlbGwge1xuXHR3aWR0aDogMzMlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uYXZ5LXRoaW4tbGluZSB7XG5cdGhlaWdodDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG5cdG1hcmdpbi1yaWdodDogMS41ZW07XG59XG5cbi5yZW1vdmUtZGlhZ25vc2lzIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkbmF2eTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLnJlbW92ZS1wcm9jZWR1cmUge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNmZjAwMDA7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLmFycm93LXJpZ2h0IHtcblx0Ym9yZGVyOiBzb2xpZCAkbmF2eTtcblx0Ym9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiAzcHg7XG5cdG1hcmdpbi1ib3R0b206IDJweDtcblx0bWFyZ2luLWxlZnQ6IDJweDtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4udGV4dC1ncmV5LWxpZ2h0IHtcblx0Y29sb3I6ICR0ZXh0R3JleTtcblx0Zm9udC1mYW1pbHk6ICdHb3JkaXRhIExpZ2h0Jztcbn1cblxuLnRleHQtcHJvY2VkdXJlIHtcblx0Y29sb3I6ICNmZjAwMDA7XG59XG5cbi50aXRsZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0bWFyZ2luLWJvdHRvbTogMC4yZW07XG59XG5cbi5maWx0ZXItZ3JleXtcblx0ZmlsdGVyOiBpbnZlcnQoNjYlKSBzZXBpYSg2JSkgc2F0dXJhdGUoMTczJSkgaHVlLXJvdGF0ZSgxOTBkZWcpIGJyaWdodG5lc3MoODklKSBjb250cmFzdCg4NSUpO1xufVxuXG4udGltZS1waWNrZXIge1xuXHRtYXJnaW4tbGVmdDogMWVtO1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBoZWlnaHQ6IDMuMGVtO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1jb2xvcjogJG5hdnk7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDtcbn1cblxuLnNjcm9sbC1jb250YWluZXIge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDogNDIuNWVtO1xuICAgIGhlaWdodDo4MCU7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG5cdG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLnNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0d2lkdGg6IDVweDsgLyogU2V0IHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyICovXG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHQvKiBwb3NpdGlvbjogYWJzb2x1dGU7ICovXG4gfVxuXG4gLnNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7IC8qIFNldCB0aGUgY29sb3Igb2YgdGhlIHRodW1iICovXG4gfVxuXG4vKiBDYXBzIHRoZSBkaWFnbm9zaXMgbGlzdCBoZWlnaHQgb24gdGhlIHBhdGllbnQgZGFzaGJvYXJkIHNvIGEgbG9uZyBsaXN0ICovXG4vKiBkb2Vzbid0IGJsb3cgb3V0IHRoZSBvdmVyYWxsIHBhZ2Ugc2Nyb2xsLiAqL1xuLmRpYWdub3Npcy1zY3JvbGwtY29udGFpbmVyIHtcblx0bWF4LWhlaWdodDogMjRlbTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cblxuLmRpYWdub3Npcy1zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdHdpZHRoOiA1cHg7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZGlhZ25vc2lzLXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcbn1cblxuLyogVGhlIGRvY3VtZW50cyBsaXN0IHNjcm9sbHMgaW4gcGxhY2UgaW5zdGVhZCBvZiBwYWdpbmcsIHNvIHRoZSBzZWN0aW9uIGtlZXBzIGEgZml4ZWQgaGVpZ2h0ICovXG4vKiBob3dldmVyIG1hbnkgZG9jdW1lbnRzIGEgcGF0aWVudCBoYXMuIFRoZSBzY3JvbGxiYXIgaXMgbGVmdCB2aXNpYmxlIHJhdGhlciB0aGFuIG92ZXJsYWlkIHNvICovXG4vKiB0aGUgcG9zaXRpb24gaW4gdGhlIGxpc3QgaXMgYWx3YXlzIHJlYWRhYmxlLiAqL1xuLmRvY3VtZW50cy1zY3JvbGwtY29udGFpbmVyIHtcblx0bWF4LWhlaWdodDogMzJlbTtcblx0b3ZlcmZsb3cteTogYXV0bztcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcblx0c2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuXHRzY3JvbGxiYXItY29sb3I6ICRuYXZ5IHJnYmEoMCwgNTMsIDIxMCwgMC4xMik7XG59XG5cbi5kb2N1bWVudHMtc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuXHR3aWR0aDogOHB4O1xufVxuXG4uZG9jdW1lbnRzLXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcblx0YmFja2dyb3VuZDogcmdiYSgwLCA1MywgMjEwLCAwLjEyKTtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZG9jdW1lbnRzLXNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmRvY3VtZW50cy1zY3JvbGwtbW9yZSB7XG5cdHBhZGRpbmc6IDAuNWVtIDAgMC4yNWVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiAkbmF2eTtcblx0Zm9udC1zaXplOiAwLjg1ZW07XG59XG5cbi8qIFBhZ2luZyBpcyByZXBsYWNlZCBieSB0aGUgc2Nyb2xsaW5nIGFib3ZlLCBzbyBuZy10YWJsZSdzIHBhZ2VyIGlzIG5vdCBzaG93bi4gKi9cbnBhdGllbnQtZmlsZS10YWJsZSAubmctdGFibGUtcGFnZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZ3Jlc3Mtbm90ZS1jb250YWluZXIge1xuXHRib3JkZXItd2lkdGg6IDJweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAkbmF2eTtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiA1ZW07XG5cdHBhZGRpbmc6IDAuNWVtO1xufVxuXG4ucHJvZ3Jlc3Mtbm90ZS1jb250YWluZXItZGVsZXRlIHtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogJHRleHRHcmV5O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDFlbTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDVlbTtcblx0cGFkZGluZzogMC41ZW07XG59XG5cbi5wcm9ncmVzcy1ub3RlLWNvbnRhaW5lci1hZG1pbiB7XG5cdGJvcmRlci13aWR0aDogMnB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICRvcmFuZ2U7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogNWVtO1xuXHRwYWRkaW5nOiAwLjVlbTtcbn1cblxuLnByb2dyZXNzLW5vdGUtY29udGFpbmVyLW51cnNlIHtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogJGZvcmVzdC1ncmVlbjtcblx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4taGVpZ2h0OiA1ZW07XG5cdHBhZGRpbmc6IDAuNWVtO1xufVxuXG4ucHJvZ3Jlc3Mtbm90ZS1jb250YWluZXItc2NoZWR1bGVkIHtcblx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogJHRlYWw7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogNWVtO1xuXHRwYWRkaW5nOiAwLjVlbTtcbn1cblxuLnByb2dyZXNzLW5vdGUtY29udGFpbmVyLWluamVjdGlvbiB7XG5cdGJvcmRlci13aWR0aDogMnB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICRwdXJwbGU7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHR3aWR0aDogMTAwJTtcblx0bWluLWhlaWdodDogNWVtO1xuXHRwYWRkaW5nOiAwLjVlbTtcbn1cblxuLnByb2dyZXNzLW5vdGUtYm9sZCB7XG5cdGZvbnQtZmFtaWx5OiAnR29yZGl0YSBCb2xkJztcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cblxuLnByb2dyZXNzLW5vdGUtYm9sZC1kZWxldGUge1xuXHRmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCc7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6ICR0ZXh0R3JleSAhaW1wb3J0YW50O1xufVxuXG4ucHJvZ3Jlc3Mtbm90ZS1saW5rIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGZvbnQtZmFtaWx5OiAnR29yZGl0YSBCb2xkJztcbn1cblxuLnBhbmVsLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIEJvbGQnO1xufVxuXG4jc2Nyb2xsYWJsZS1kcm9wZG93bi1tZW51IC5kcm9wZG93bi1tZW51IHtcblx0aGVpZ2h0OiAxMGVtO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHRtYXJnaW4tdG9wOiAtMTIuNWVtO1xuICB9XG5cbi5lcnJvci1tZXNzYWdlIHtcblx0Y29sb3I6ICNhOTQ0NDI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi5kaWFsb2ctY29udGVudC1ib3gge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDozMnJlbTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5pbnZvaWNlLWl0ZW0tY2VsbCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xufVxuXG4uaW52b2ljZS1jb2RlLWxhYmVsIHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1jb2xvcjogJG5hdnk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdHBhZGRpbmctbGVmdDogMC41cmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG59XG5cbi5pbnZvaWNlLWl0ZW0tcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXHRnYXA6IDFyZW07XG59XG5cbi5pbnZvaWNlLWRldGFpbHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG5cdG1hcmdpbi1sZWZ0OiA2MCU7XG5cdG1hcmdpbi1yaWdodDogNCU7XG59XG5cbi5pbnZvaWNlLWRldGFpbHMtc2VjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXHRib3JkZXItYm90dG9tLWNvbG9yOiBncmF5O1xuXHRib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbn1cblxuLmludm9pY2UtZGV0YWlscy1yb3cge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRnYXA6IDFyZW07XG5cdGNvbG9yOiAkbmF2eTtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udmlldy1pbnZvaWNlLW1vZGFsIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5oZWFkZXItZ3JvdXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZGlzbWlzcy1jbG9zZS1pY29uIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1yaWdodDogMTElO1xufVxuXG4vKiBBIHJvdyBvZiBhY3Rpb24gaWNvbnMgaW5zaWRlIGEgdGFibGUgY2VsbC4gTm90IGEgZmxleCBjb250YWluZXI6IHRoaXMgY2xhc3Mgc2l0cyBvbiB0aGUgPHRkPiwgYW5kIGEgZmxleFxuICAgdGFibGUgY2VsbCBkcm9wcyBvdXQgb2YgdGhlIHRhYmxlJ3Mgcm93IGxheW91dCAtIHRoZSBicm93c2VyIHNpemVzIGl0IHRvIGl0cyBvd24gY29udGVudCwgc28gdGhlIGNlbGwnc1xuICAgYm90dG9tIGJvcmRlciBpcyBkcmF3biBhdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29ucyBhbmQgbm8gbG9uZ2VyIGxpbmVzIHVwIHdpdGggdGhlIGNlbGxzIGVpdGhlciBzaWRlLiAqL1xuLmljb25zLXJvdyB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0PiAqIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuXG5cdD4gKiArICoge1xuXHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHR9XG59XG5cbi5tZC1kaWFsb2ctY29udGFpbmVyIHtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0Z2FwOiAwLjVyZW07XG59XG5cbiNiaWxsaW5nLWRyb3Bkb3duLW1lbnUgLmRyb3Bkb3duLW1lbnUge1xuXHRtYXgtaGVpZ2h0OiAyMHJlbTtcblx0b3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4ucHJvZ3Jlc3Mtbm90ZS1oZWFkZXIge1xuXHRtYXJnaW4tbGVmdDogMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0d2lkdGg6IDEwMCU7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLnByb2dyZXNzLW5vdGUtaGVhZGVyLWNoaWxkIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDFyZW07XG59XG5cblxuLmZjLXRvb2xiYXIgaDIge1xuXHRmb250LXNpemU6IDE2cHg7XG5cdHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG5cbi5uaGktY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Z2FwOiAxcmVtO1xufVxuXG4ubmhpLWNvbnRhaW5lci1sZWZ0IHtcblx0d2lkdGg6IDUwJTtcbn1cblxuLm5oaS1jb250YWluZXItcmlnaHQge1xuXHR3aWR0aDogNTAlO1xufVxuXG4ubmFtZS1yb3ctY29udGFpbmVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAwLjVyZW07XG59XG5cbi5yZWQtbGFiZWwge1xuXHRjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG59XG5cbi5uaGktY29sdW1uIHtcblx0bWF4LXdpZHRoOiAxMHJlbTtcblx0dGV4dC13cmFwOiB3cmFwO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5uaGktbGFiZWwge1xuXHR0ZXh0LXdyYXA6IHdyYXA7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0bWF4LXdpZHRoOiA4MCU7XG59XG5cbi5wcm9ncmVzcy1ub3RlLXByb2NlZHVyZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGdhcDogMXJlbTtcbn1cblxuLmZjLW1vcmUtcG9wb3ZlciB7XG5cdG1heC1oZWlnaHQ6IDk1JTtcblx0b3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnNlYXJjaC1yYWRpby1sYWJlbCB7XG5cdGNvbG9yOiAkbmF2eSAhaW1wb3J0YW50O1xuXHRmb250LWZhbWlseTogJ0dvcmRpdGEgTWVkaXVtJyAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cbi5wYXRpZW50LXRhYmxlLXRleHQge1xuXHRjb2xvcjogJG5hdnkgIWltcG9ydGFudDtcbn1cblxuLnJlZC10ZXh0IHtcblx0Y29sb3I6IHJlZDtcbn1cblxuLnRleHQtYXJlYS1icmVhayB7XG5cdHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcblx0bWFyZ2luLXRvcDogLTEuNXJlbTtcbn1cblxuLnRhc2stbGFiZWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnRhc2stbGFiZWwtY2hpbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRhc2stbGlzdC1wYXRpZW50IHtcblx0d2lkdGg6IDE1JTtcblx0LyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xufVxuXG4udGFzay1saXN0LWFzc2lnbmVkIHtcblx0d2lkdGg6IDIwJTtcblx0LyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xufVxuXG4udGFzay1saXN0LWRlc2NyaXB0aW9uIHtcblx0d2lkdGg6IDMwJTtcblx0LyogdGV4dC1hbGlnbjogY2VudGVyOyAqL1xuXHRcbn1cblxuLnRhc2stbGlzdC1zdGF0dXMge1xuXHR3aWR0aDogNSU7XG5cdC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbn1cblxuLnRhc2stbGlzdC1kZWxldGUge1xuXHR3aWR0aDogMyU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhc2stbGlzdC1kdWUge1xuXHR3aWR0aDogNyU7XG5cdC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbn1cblxuLnRhc2stbGlzdC1sYWJlbCB7XG5cdHdpZHRoOiAxMiU7XG5cdC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbn1cblxuLnRhc2stbGlzdC1jb2xvciB7XG5cdHdpZHRoOiAycmVtO1xuXHRoZWlnaHQ6IDJyZW07XG5cdC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cblx0Ym9yZGVyLXJhZGl1czogMC41cmVtO1xufVxuXG4udGFzay1kb25lIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5idXR0b24tZm9vdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0Z2FwOiAxcmVtO1xufVxuXG4ubmF2LWxpIHtcblx0aGVpZ2h0OiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbn1cblxuLm1kLWJhZGdlIHtcblx0ei1pbmRleDogODAgIWltcG9ydGFudDtcbiB9XG5cbiAuc2lnbi1idXR0b25zLWdyb3VwIHtcbiBcdGRpc3BsYXk6IGZsZXg7XG4gXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuIFx0Z2FwOiAxcmVtO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWxlZnQ6IDFyZW07XG4gfVxuXG4gLnNpZ24tYnV0dG9ucy1jb250YWluZXIge1xuIFx0ZGlzcGxheTogZmxleDtcbiBcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuIH1cblxuIC5oZWFkZXItbGVmdC1hbGlnbiA+IHRoZWFkID4gdHIgPiB0aCB7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5sdmwtb3ZlciB7XG5cdC8qIGFwcGxpZWQgdG8gYSBkcm9wIHRhcmdldCB3aGVuIGEgZHJhZ2dhYmxlIG9iamVjdCBpcyBvdmVyIGl0ICovXG5cdGJvcmRlcjogMnB4IGRhc2hlZCBibGFjayAhaW1wb3J0YW50O1xufVxuXG4ubHZsLXRhcmdldCB7XG5cdC8qIGFwcGxpZWQgdG8gYWxsIGRyb3AgdGFyZ2V0cyB3aGVuIGEgZHJhZyBvcGVyYXRpb24gYmVnaW5zLCB1c2VkIHRvIGluZGljYXRlIGRyb3AgdGFyZ2V0cyBvbiBhIHBhZ2UgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogI2RkZDtcblx0b3BhY2l0eTogLjU7XG59XG5cbltkcmFnZ2FibGVdIHtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuXHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblx0LyogUmVxdWlyZWQgdG8gbWFrZSBlbGVtZW50cyBkcmFnZ2FibGUgaW4gb2xkIFdlYktpdCAqL1xuXHQta2h0bWwtdXNlci1kcmFnOiBlbGVtZW50O1xuXHQtd2Via2l0LXVzZXItZHJhZzogZWxlbWVudDtcblx0Y3Vyc29yOiBtb3ZlO1xuXHRib3JkZXI6MXB4IHNvbGlkIGJsYWNrO1xufVxuXG4ucGVnIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJvcmRlci13aWR0aDogMHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6M3JlbTtcblx0bWFyZ2luOiAxMHB4O1xuXHRwYWRkaW5nOiAwLjVyZW07XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMDE5Q0QyO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbi5zbG90IHtcblx0bWFyZ2luLXJpZ2h0OjJweDtcblx0bWFyZ2luLXRvcDoycHg7XG5cdHdpZHRoOjI1cHg7XG5cdGhlaWdodDoyNXB4O1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmdyZXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBncmV5O1xufVxuXG5wcmUgc3Ryb25nIHtcblx0Zm9udC1zaXplOjEycHQ7XG59XG5cbi5tb2RhbC1jbG9zZSB7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA3cmVtO1xufVxuXG4ubXktZHJvcC16b25lIHtcblx0Ym9yZGVyOiBkb3R0ZWQgM3B4IGxpZ2h0Z3JheTtcbn1cblxuLm52LWZpbGUtb3ZlciB7XG5cdGJvcmRlcjogZG90dGVkIDNweCByZWQ7XG59XG5cbi8qIERlZmF1bHQgY2xhc3MgYXBwbGllZCB0byBkcm9wIHpvbmVzIG9uIG92ZXIgKi9cbi5hbm90aGVyLWZpbGUtb3Zlci1jbGFzcyB7XG5cdGJvcmRlcjogZG90dGVkIDNweCBncmVlbjtcbn1cblxuLmxvY2F0aW9uLWNvbnRhaW5lciB7XG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1jb2xvcjogJG5hdnk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0cGFkZGluZzogMC41cmVtO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRjb2xvcjogJG5hdnk7XG59XG5cbi5wb3BvdmVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGdhcDogMXJlbTtcblx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuXG5kaXYucHJpbnRDb250cm9sc1xue1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiNlZGYwZWM7XG5cdGhlaWdodDoxMDBweDtcblx0cGFkZGluZzogNXB4O1xuXHRib3R0b206MDtcblx0ZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogMXJlbTtcbn1cblxuI2xhYmVsSW1hZ2VEaXZcbntcblx0YmFja2dyb3VuZC1jb2xvcjogI2IyYjJiMjtcblx0cGFkZGluZzogNXB4O1xuXHRtYXJnaW46IDBweDtcbn1cblxuI3ByaW50RGl2XG57XG5cdGZsb2F0OnJpZ2h0O1xuXHR3aWR0aDoxMjZweDtcbn1cblxuXG4jcHJpbnRlcnNEaXZcbntcblx0ZmxvYXQ6bGVmdDtcbn1cblxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG59XG5cbi5jbGluaWMtbGV0dGVycy1mcmFtZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtaGVpZ2h0OiA1MHZoO1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7XG5cdHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cblxuLmNsaW5pYy1sZXR0ZXJzLWNvbnRhaW5lciB7XG5cdGJvcmRlci13aWR0aDogMnB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6ICRuYXZ5O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDFlbTtcblx0d2lkdGg6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDVlbTtcblx0cGFkZGluZzogMC41ZW07XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblx0XHRjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuXHRcdC5jbGluaWMtbGV0dGVycy1ib2xkIHtcblx0XHRcdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdC5jbGluaWMtbGV0dGVycy1ib2xkIHtcblx0XHRmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCc7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxufVxuXG4uY2xpbmljLWxldHRlcnMtY29udGVudCB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4OyBcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNsaW5pYy10ZW1wbGF0ZS1tZW51IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGVuZDtcbn1cblxuLmNsaW5pYy1sZXR0ZXItZm9vdGVyIHtcblx0bWFyZ2luLWxlZnQ6IC01NXB4ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogLTU1cHggIWltcG9ydGFudDtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2UgIWltcG9ydGFudDtcblx0cGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcblx0cGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogLTNyZW0gIWltcG9ydGFudDtcbn1cblxuLm1kLWNoaXBzIHtcblx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY2FyZS10ZWFtLXdpZHRoIHtcblx0d2lkdGg6IDM2cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5ub3RlLWVkaXRvciAubm90ZS1mcmFtZSAubm90ZS1lZGl0aW5nLWFyZWEgLm5vdGUtZWRpdGFibGUge1xuXHRjb2xvcjogIzAwMDAwMDtcblx0Zm9udC1mYW1pbHk6ICdHb3JkaXRhIFJlZ3VsYXInLCBzYW5zLXNlcmlmO1xufVxuXG4ubm90ZS1lZGl0YWJsZT5wIHtcblx0Y29sb3I6ICMwMDAwMDA7XG59XG5cbi5ub3RlLWVkaXRvci5ub3RlLWFpcmZyYW1lIC5ub3RlLXN0YXR1cy1vdXRwdXQsXG4ubm90ZS1lZGl0b3Iubm90ZS1mcmFtZSAubm90ZS1zdGF0dXMtb3V0cHV0IHtcblx0Ym9yZGVyLXRvcC13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbiAgQG1lZGlhIHByaW50IHtcblx0QHBhZ2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41aW47XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41aW47XG4gICAgICAgIG1hcmdpbi10b3A6IDAuM2luO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNpbjtcbiAgICAgIH1cbiAgfSBcblxuLm5vdGUtZWRpdG9yLWRpYWdub3Npcy10YWJsZSB7XG4gICAgd2lkdGg6IDYwJTtcblx0bWFyZ2luLWxlZnQ6IDIwJTtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblxuXHR0aCxcblx0dGQge1xuXHRcdHdpZHRoOiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cdH1cbn0gIFxuXG5cbi5oZWFkLW5vLWxpbmsge1xuXHRjb2xvcjogJG5hdnk7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xufVxuXG4uaW50cm8tY3VzdG9tVG9vbHRpcCAqIHtcbiAgY29sb3I6ICM0YTRhNGE7XG4gIGZvbnQtc2l6ZTogMTVweFxufVxuIFxuLmludHJvLWN1c3RvbVRvb2x0aXAgLmludHJvanMtdG9vbHRpcC10aXRsZSB7XG4gIGNvbG9yOiAkbmF2eTtcbn1cblxuLmRyb3Bkb3duLW1lbnVbdWliLXR5cGVhaGVhZC1wb3B1cF0ge1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHotaW5kZXg6IDEwNTA7XG59XG5cbi8qIC5tdWktYWxlcnQge1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIG1hcmdpbjogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufSAqL1xuXG4ubXVpLWFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kOiAjZThmNGZkO1xuICBjb2xvcjogIzA1NTE2MDtcbiAgYm9yZGVyLWNvbG9yOiAjYjZlMGZlO1xufVxuXG4ubXVpLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiAjZWRmN2VkO1xuICBjb2xvcjogIzFlNDYyMDtcbiAgYm9yZGVyLWNvbG9yOiAjYzhlNmM5O1xufVxuXG4ubXVpLWFsZXJ0LXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZmNGU1O1xuICBjb2xvcjogIzY2M2MwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmZlY2I1O1xufVxuXG4ubXVpLWFsZXJ0LWVycm9yIHtcbiAgYmFja2dyb3VuZDogI2ZkZWNlYTtcbiAgY29sb3I6ICM2MTFhMTU7XG4gIGJvcmRlci1jb2xvcjogI2Y1YzJjNztcbn1cblxuLm11aS1hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTJweCA0MHB4IDEycHggMTZweDtcbiAgbWFyZ2luOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5tdWktYWxlcnQtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA4cHg7XG4gIHRvcDogOHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLm11aS1hbGVydC1jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5uby1jbGFzcyB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIFNpdHMgYmVzaWRlIGEgZG9jdW1lbnQncyBuYW1lIHdoaWxlIGl0cyBmaWxlIGlzIHN0aWxsIGJlaW5nIGFuYWx5c2VkLiBUaGUgYXBwJ3Mgc3Bpbm5lciBpc1xuICAgY29uZmlndXJlZCBwYWdlLXNpemVkLCBzbyB0aGlzIGJveCBnaXZlcyB0aGUgaW5saW5lIG9uZSBzb21ld2hlcmUgaXRzIG93biBzaXplIHRvIGNlbnRyZSBpbiAtXG4gICBzcGluLmpzIHBvc2l0aW9ucyBpdHNlbGYgYWdhaW5zdCB0aGUgbmVhcmVzdCBwb3NpdGlvbmVkIGFuY2VzdG9yLiAqL1xuLmlubGluZS1zcGlubmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdG1hcmdpbi1yaWdodDogNnB4O1xufVxuXG5cbiIsImJ1dHRvbi5idG4ge1xuXHRib3JkZXItcmFkaXVzOiAyNHB4O1xufVxuXG4uYnRuLWRyb3Bkb3duLW11bHRpc2VsZWN0IHtcblx0aGVpZ2h0OiAzNHB4O1xuXHR0ZXh0LWFsaWduOiBzdGFydDtcblx0Ym9yZGVyLWNvbG9yOiAkbmF2eTtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRjb2xvcjogJG5hdnk7XG5cdHBhZGRpbmc6IDRweCAxOHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRtaW4td2lkdGg6IDE2ZW07XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY29sb3IoJG5hdnkgbCgzNSUpKTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG5cdCY6aG92ZXI6Zm9jdXMge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cbn1cblxuLmJ0bi1uYXZ5IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHBhZGRpbmc6IDRweCAxOHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDIyMHB4O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCRuYXZ5IGwoMzUlKSk7XG5cdFx0b3V0bGluZTogMDtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLmJ0bi1jYW5jZWwge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6ICR0ZXh0R3JleTtcblx0cGFkZGluZzogNHB4IDE4cHg7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGNhbmNlbEJvcmRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMjIwcHg7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkbG9nb3V0R3JleTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkd2hpdGUgbCg5MCUpKTtcblx0XHRvdXRsaW5lOiAwO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLmJ0bi1jeWFuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRjb2xvcjogJGN5YW47XG5cdGJvcmRlcjogMXB4IHNvbGlkICRjeWFuO1xuXHRwYWRkaW5nOiA0cHggMThweDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiAyMjBweDtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG5cblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdGNvbG9yOiAkY3lhbjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkd2hpdGUgbCgtOCUpKTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJGN5YW47XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uYnRuLWN5YW4tc29saWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Ym9yZGVyOiAxcHggc29saWQgJGN5YW47XG5cdHBhZGRpbmc6IDRweCAxOHB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXgtd2lkdGg6IDIyMHB4O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTtcblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcigkY3lhbiBsKC01JSkpO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG4uYnRuLW1vcnBoLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiB2aXNpYmxlO1xuXG5cdC5idG4tbW9ycGgge1xuXHRcdHdpZHRoOiAyNzBweDtcblx0XHRtYXgtd2lkdGg6IDI3MHB4O1xuXHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHR9XG5cblx0Lm1vcnBoLXJlc3VsdCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRsZWZ0OiAyODBweDtcblx0XHR3aWR0aDogMTIwcHg7XG5cdH1cbn1cblxuI2Rvd25sb2FkLXJlZmVycmFsLWJ1dHRvbiB7XG5cdHdpZHRoOiAyNDBweDtcbn1cblxuLyogQ29udGFpbmVyIGZvciB0aGUgQUkgZWxlbWVudHMgKi9cbi5haS12ZXJpZmljYXRpb24tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG59XG5cbi8qIFN1YnRsZSwgdGhlbWUtbWF0Y2hpbmcgYmFkZ2UgKFNvZnQgY3lhbi9ibHVlIGJhY2tncm91bmQsIE5hdnkgdGV4dCkgKi9cbi5haS1iYWRnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RjRGODsgLyogbWF0Y2hlcyBhIHNvZnQgdmVyc2lvbiBvZiB5b3VyIGJnLWN5YW4gKi9cbiAgICBjb2xvcjogIzFBMjk0MjsgLyogbWF0Y2hlcyB5b3VyIHRleHQtZGFya05hdnkgKi9cbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7IC8qIHBpbGwgc2hhcGUgKi9cbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIE1lZGl1bScsIHNhbnMtc2VyaWY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0QwRTRFQTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBNaW5pbWFsaXN0IGJhc2Ugc3R5bGUgZm9yIHRoZSBidXR0b25zICovXG4uYWktYnRuLWFjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UwRTBFMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIGNvbG9yOiAjODg4OyAvKiBTb2Z0IGdyZXkgYnkgZGVmYXVsdCAqL1xufVxuXG4vKiBIb3ZlciBlZmZlY3QgZm9yIEFjY2VwdDogRmlsbHMgaW4gd2l0aCB5b3VyIE5hdnkgdGhlbWUgKi9cbi5haS1idG4tYWN0aW9uLmFjY2VwdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFBMjk0MjsgXG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMUEyOTQyO1xufVxuXG4vKiBIb3ZlciBlZmZlY3QgZm9yIERlY2xpbmU6IFNsaWdodGx5IGRhcmtlciBncmV5IHRvIHNpZ25pZnkgcmVtb3ZhbCB3aXRob3V0IHNjcmVhbWluZyBcIkRBTkdFUlwiICovXG4uYWktYnRuLWFjdGlvbi5kZWNsaW5lOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwO1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGJvcmRlci1jb2xvcjogI0NDQ0NDQztcbn1cbiIsIm1haW4ge1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogJHRleHRHcmV5O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRuYXZ5LWJnLWdyYWRpZW50LWRhcmssICRuYXZ5LWJnLWdyYWRpZW50LWxpZ2h0KSwgdXJsKCdodHRwczovL2NhdHRyYXgtbWVkaWEuczMuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbS9pbWFnZXMvc3VyZ2Vvbl9pbWFnZV9jcm9wcGVkMi5qcGcnKTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ubmF2LXdyYXAtZmxleCB7XG5cdHBhZGRpbmc6IDMwcHggMDtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdC5uYXYtbG9nby13cmFwIHtcblx0XHRoZWlnaHQ6IDEyMHB4O1xuXG5cdFx0aW1nIHtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHR9XG5cblx0fVxuXG5cdC5uYXYtbmF2LXdyYXAge1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXG5cdFx0dWwge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6ICRsaWdodEdyZXk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAyNXB4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuXHRcdFx0Y29sb3I6ICR0ZXh0R3JleTtcblxuXHRcdFx0bGkge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAyNHB4O1xuXHRcdFx0XHRwYWRkaW5nOiAycHggMTBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkY3lhbjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjeWFuO1xuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi11c2VyLXdyYXAge1xuXHRcdGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG5cdFx0Y29sb3I6ICR0ZXh0R3JleTtcblxuXHRcdHVsIHtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxLjFweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjRweDtcblx0XHRcdGNvbG9yOiAkdGV4dEdyZXk7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjRweDtcblx0XHRcdFx0cGFkZGluZzogMHB4IDEwcHg7XG5cblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICR0ZXh0R3JleTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzY2MDE5NSwgJG5hdnkpO1xuXG5cdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5wYXRpZW50LWhlYWRlciB7XG5cdC5uYXYtbmF2LXdyYXAgdWwgbGkgYSB7XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjMDAwMENEO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXG5cdH1cbn1cblxuLmJ0bi1sb2dvdXQge1xuXHRoZWlnaHQ6IDIwcHg7XG5cdHBhZGRpbmc6IDBweCAxMnB4O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbG9yOiAkdGV4dEdyZXk7XG59XG5cbnAuYnRuLWxvZ291dCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0cGFkZGluZy10b3A6IDJweDtcblx0dmVydGljYWwtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICR0ZXh0R3JleTtcbn1cblxuLmxvY2sge1xuXHRoZWlnaHQ6IDEycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym90dG9tOiAycHg7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4ubm8tcGFkLWxlZnQge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbnN1bHQtdGltZXItYm94IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRnYXA6ICRmb250LXNpemUtYmFzZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogJGZvbnQtc2l6ZS1iYXNlO1xufVxuXG4udGltZXItYm94IHtcblx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdGJvcmRlci1jb2xvcjogJHdoaXRlLXRwLTIwO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmctbGVmdDogMC41cmVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG5cdHBhZGRpbmctdG9wOiAwLjI1cmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Z2FwOiAkZm9udC1zaXplLWJhc2U7XG5cdG1pbi13aWR0aDogMTByZW07XG5cdGJhY2tncm91bmQ6ICR3aGl0ZS10cC0wNTtcbn0iLCIuY29udGFpbmVyLXdlbGNvbWUge1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlci1yYWRpdXM6IDFyZW07XG5cblx0LndlbGNvbWUtd3JhcCB7XG5cdFx0cGFkZGluZzogNzBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHQuaDEge1xuXHRcdFx0Zm9udC1zaXplOiA1MHB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdFx0LndlbGNvbWUtcXVlc3Rpb24ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cdFx0c2VsZWN0LmZvcm0tY29udHJvbCB7XG5cdFx0XHR3aWR0aDogNDAwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxOHB4O1xuXHRcdFx0LyogYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDE4cHg7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxOHB4OyAqL1xuXHRcdH1cblx0fVxufVxuXG4uY29udGFpbmVyLXdlbGNvbWUtZm9vdGVyIHtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y4ZmFmZjsgLyogT2ZmLXdoaXRlIGJhY2tncm91bmQgKi9cblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGU2ZWQ7IC8qIExpZ2h0IGJvcmRlciBmb3Igc2VwYXJhdGlvbiAqL1xufVxuXG5cdC5jb250YWluZXItd2VsY29tZS1mb290ZXIgLmZvb3Rlci13cmFwIHtcblx0XHRwYWRkaW5nOiAxLjVyZW0gNSU7XG5cdH1cblxuXHRcdC5jb250YWluZXItd2VsY29tZS1mb290ZXIgLmZvb3Rlci13cmFwIHVsIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0Z2FwOiA0cmVtO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdFx0LmNvbnRhaW5lci13ZWxjb21lLWZvb3RlciAuZm9vdGVyLXdyYXAgdWwgbGkge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cblx0XHRcdC8qIEFwcGx5aW5nIHRoZSBuYXZ5IGNvbG9yIHRvIHRoZSBsaW5rcyAqL1xuXHRcdFx0LmNvbnRhaW5lci13ZWxjb21lLWZvb3RlciAuZm9vdGVyLXdyYXAgdWwgYSB7XG5cdFx0XHRcdEBleHRlbmQgLnRleHQtbmF2eTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24gMC4ycyBlYXNlO1xuXHRcdFx0fVxuXG5cdFx0XHRcdC8qIEFkZGluZyBhIHNpbXBsZSBob3ZlciBlZmZlY3QgKi9cblx0XHRcdFx0LmNvbnRhaW5lci13ZWxjb21lLWZvb3RlciAuZm9vdGVyLXdyYXAgdWwgYTpob3ZlciB7XG5cdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblxuaWZyYW1lIHtcblx0Lypib3JkZXI6M3B4IHNvbGlkICNkZGQ7Ki9cblx0Ym94LXNoYWRvdzogMCAwIDNweCAwcHggcmdiYSgwLDAsMCwwLjMpO1xuXHRtYXJnaW46IDAgYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5ub3RpZmljYXRpb24tYmFubmVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRwYWRkaW5nOiAxZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHotaW5kZXg6IDEwMDAwO1xufVxuXG4vKiBTVEFOREFSRDogdmlicmFudCBwdXJwbGUgKi9cbi5iYW5uZXItU1RBTkRBUkQge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDE1NiwgMzksIDE3NiwgMC43KTsgLyogIzlDMjdCMCAqL1xuXHRjb2xvcjogI2ZmZjtcbn1cblxuLyogSElHSDogdml2aWQgZ3JlZW4gYWNjZW50ICovXG4uYmFubmVyLUhJR0gge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDIwMCwgODMsIDAuNyk7IC8qICMwMEM4NTMgKi9cblx0Y29sb3I6ICNmZmY7XG59XG5cbi8qIFVSR0VOVDogZGVlcCBvcmFuZ2UgYWNjZW50ICovXG4uYmFubmVyLVVSR0VOVCB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxMDksIDAsIDAuNyk7IC8qICNGRjZEMDAgKi9cblx0Y29sb3I6ICNmZmY7XG59XG5cbi8qIEVSUk9SOiB0cnVlIHJlZCAqL1xuLmJhbm5lci1FUlJPUiB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjEzLCAwLCAwLCAwLjcpOyAvKiAjRDUwMDAwICovXG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uY2xvc2UtYnRuIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMWVtO1xuXHR0b3A6IDAuNWVtO1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLmNvbnRhaW5lci1yZWZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0cGFkZGluZzogMTBweDtcblx0LypwYWRkaW5nLWJvdHRvbTogMjBweDsqL1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRib3JkZXItcmFkaXVzOiAxcmVtO1xufVxuXG4udG8tdG9wIHtcblx0cG9zaXRpb246Zml4ZWQ7XG5cdGJvdHRvbTogNGVtO1xuXHRyaWdodDogNGVtO1xuXHQvKiBwYWRkaW5nOiA1cHg7ICovXG5cdC8qIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7ICovXG5cdC8qIGJhY2tncm91bmQ6IHJlZDsgKi9cblx0LyogY29sb3I6IHdoaXRlOyAqL1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQvKiBkaXNwbGF5OiBub25lOyAqL1xuICB9XG5cbi5jb250YWluZXItZGFzaGJvYXJkIHtcblx0QGV4dGVuZCAuY29udGFpbmVyLXJlZmVyO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlci1yYWRpdXM6IDFyZW07XG59XG5cbi5yZWZlci1uYXYge1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZUJhY2tHcm91bmQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udmlldy13cmFwIHtcblx0cGFkZGluZzogMjVweDtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbmhyLnN1YnRpdGxlLWxpbmUtYnJlYWsge1xuXHRib3JkZXItdG9wLWNvbG9yOiAkbGluZUJyZWFrO1xufVxuXG5oci5jeWFuIHtcblx0Ym9yZGVyLXRvcC1jb2xvcjogJGN5YW47XG5cdGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cblxuLnNraXAtd3JhcCB7XG5cdGJ1dHRvbiB7XG5cdFx0d2lkdGg6IDE4MHB4O1xuXHR9XG5cdGJ1dHRvbjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG59XG5cblxuLnJlZmVyLW5hdi1hbmltYXRpb24ge1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZUJhY2tHcm91bmQ7XG5cdC8qYmFja2dyb3VuZC1jb2xvcjogI0VCRUNFQTsqL1xuXHQvKmJhY2tncm91bmQtY29sb3I6IHBpbms7Ki9cblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdC8qYWxpZ24taXRlbXM6IGNlbnRlcjsqL1xuXG5cdC53b3JkLXdyYXBwZXIge1xuXHRcdC8qYmFja2dyb3VuZDogbGlnaHRibHVlOyovXG5cdFx0cGFkZGluZzogMCAxNDBweDtcblx0XHRwYWRkaW5nOiAwIDEwMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRwIHttYXJnaW4tYm90dG9tOiAwO31cblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdH1cblxuXHQuYW5pbWF0aW9uLW91dHRlci13cmFwcGVyIHtcblx0XHRtYXJnaW46IDAgMTQwcHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0aGVpZ2h0OiA2cHg7XG5cdFx0YmFja2dyb3VuZDogI0QyRDNENTtcblxuXG5cdFx0LnByb2cge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdC5pbmRpY2F0b3Ige1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkbmF2eSAwJSwgJG5hdnkgOTAlLCAkY3lhbiA5OCUsICRjeWFuIDEwMCUpO1xuXHRcdFx0aGVpZ2h0OiA2cHg7IFxuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRsZWZ0OjA7XG5cdFx0XHR0b3A6MDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAxLjVzIGVhc2U7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXHRcdFx0Lypib3JkZXItcmFkaXVzOiA1MCU7Ki9cblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4IDEwcHg7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweCAxMHB4O1xuXHRcdH1cblxuXHRcdC5pbmRpY2F0b3Iuc2VhcmNoIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTk1JSkgIWltcG9ydGFudDsgfVxuXHRcdC5pbmRpY2F0b3IuZXhhbWluYXRpb24ge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTt9XG5cdFx0LmluZGljYXRvci5pbXBhY3QsXG5cdFx0LmluZGljYXRvci5jb21wbGV0ZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweCAwcHg7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4IDBweDtcdFxuXHRcdH1cblx0fVxuXG5cbn0iLCIuc2VhcmNoLXdyYXAge1xufVxuXG4uc2VhcmNoLWZvcm0ge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0LyogcGFkZGluZy1ib3R0b206IDEwcHg7ICovXG5cdC5mb3JtLWdyb3VwIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuZm9ybS1jb250cm9sIHtcblx0XHRcdGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRcdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHRcdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJG5hdnk7XG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsMTc1LDIzMywuNik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxhYmVsIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHR9XG5cdH1cblxuXHQuZm9ybS1ncm91cC1sYXN0TmFtZSB7XG5cdFx0aW5wdXQge1xuXHRcdFx0d2lkdGg6IDI1MHB4O1xuXHRcdH1cblx0fVxuXG5cdC5mb3JtLWdyb3VwLURPQiB7XG5cdFx0LyogbWFyZ2luLWxlZnQ6IDUwcHg7ICovXG5cdFx0LmZvcm0tY29udHJvbCB7XG5cdFx0XHR3aWR0aDogODBweDtcblxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xuXHRcdFx0XHRtYXJnaW46IDAgM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQvKiBtYXJnaW4tYm90dG9tOiAxcmVtOyAqL1xuXHR9XG5cdC5mb3JtLWdyb3VwLWJ1dHRvbnMge1xuXHRcdC8qcG9zaXRpb246IHJlbGF0aXZlOyovXG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogLTEwcHg7XG5cdFx0YnV0dG9uOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXHR9XG5cdC5mb3JtLWdyb3VwLXNlYXJjaC1idXR0b25zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGdhcDogNHJlbTtcblx0fVxufVxuXG4uc2VhcmNoLXJlc3VsdHMge1xuXHR0YWJsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR0ciB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdHRoIHtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnNlYXJjaC1yZXN1bHRzLXYyIHtcblx0dGFibGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0dHIge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHR9XG5cblx0XHRcdHRoIHtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKGV2ZW4pIHtcblx0LyogYmFja2dyb3VuZC1jb2xvcjogJHBhbGVCbHVlOyAqL1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG59XG5cbi50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShvZGQpIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4udGFibGUtYmx1ZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShldmVuKSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwYWxlQmx1ZTtcbn1cblxuLnRhYmxlLWJsdWUtc3RyaXBlZCA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbn1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuXG5cdHRkIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG59XG5cbi50YWJsZS1uby1ib3JkZXIge1xuXHRib3JkZXItd2lkdGg6IDBweDtcblx0Ym9yZGVyLXRvcC13aWR0aDogMC4xZW07XG5cdGJvcmRlci10b3AtY29sb3I6ICRuYXZ5O1xuXHR0aCB7XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdGZvbnQtZmFtaWx5OiAnR29yZGl0YSBIZWF2eSc7XG5cdH1cbn1cblxuLnRhYmxlLW5vLWJvcmRlciA+IHRib2R5ID4gdHJbZGlzYWJsZWRdIHRkIHtcblx0ZmlsdGVyOiBibHVyKDFweCk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbi5maWx0ZXItZHJvcGRvd24ge1xuXHRjb2xvcjogJG5hdnk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4uZmlsdGVyLXNlbGVjdCB7XG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0Ly8gY29sb3I6ICR0ZXh0R3JleTtcblx0Y29sb3I6ICRuYXZ5O1xuXHRmb250LXNpemU6IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRuYXZ5O1xufVxuXG4uc2VhcmNoLWxhYmVsIHtcblx0Y29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7XG59XG5cbi5vci1saW5lIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogLTFyZW07XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ub3Itc2VwZXJhdG9yIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi10b3A6IC01cHg7XG5cdG1hcmdpbi1ib3R0b206IDBweDtcblx0Ym9yZGVyLWNvbG9yOiAkbmF2eTtcbn1cblxuLmFkZHJlc3MtaWNvbiB7XG5cdHdpZHRoOiAycmVtOyBcblx0aGVpZ2h0OiAycmVtO1xuXHRtYXJnaW4tdG9wOiAtMC41cmVtO1xufVxuXG4uc2NvcmVfdGV4dCB7XG5cdGNvbG9yOiAkbmF2eTtcblx0Zm9udC1mYW1pbHk6ICdHb3JkaXRhIExpZ2h0IEl0YWxpYyc7XG59XG5cbi5mbGV4LWNvbHVtbi1sYXlvdXQge1xuXHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGdhcDogMC41cmVtO1xufVxuXG4ubGFzdG5hbWUtaW5wdXQge1xuXHR3aWR0aDogMjUwcHggIWltcG9ydGFudDtcblx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uZmxleC1yb3ctbGF5b3V0IHtcblx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRnYXA6IDAuNXJlbTtcblx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuXG4uaHlwZXItbGluayB7XG5cdGNvbG9yOiAkbmF2eTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5oaWdobGlnaHQtcm93IHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG5cdGNvbG9yOiB3aGl0ZTtcblx0Y3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59XG5cbi5ub3JtYWwtcm93IHtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGNvbG9yOiAkbmF2eTtcblx0Y3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG59IiwiLm1vZGFsLWJhY2tkcm9wLmFtLWZhZGUge1xuXHRiYWNrZ3JvdW5kOiAkbmF2eS1iYWNrZHJvcDtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuXHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcblx0b3BhY2l0eTogMTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG5cblx0Ji5uZy1lbnRlciB7XG5cdFx0b3BhY2l0eTogMDtcblxuXHRcdCYubmctZW50ZXItYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdH1cblxuXHQmLm5nLWxlYXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXG5cdFx0Ji5uZy1sZWF2ZS1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0fVxufVxuXG4ubW9kYWwtZGlhbG9nIHtcblx0Ym9yZGVyOiAwO1xuXG5cdC5tb2RhbC1jb250ZW50IHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy14bDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0Ym94LXNoYWRvdzogJGJsYWNrLXRwLTQwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LmRpc21pc3Mge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHR0b3A6ICRmb250LXNpemUtYmFzZTtcblx0XHRcdHJpZ2h0OiAkZm9udC1zaXplLWJhc2U7XG5cdFx0XHRmb250LXNpemU6IDIuMnJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG5cdFx0XHRjb2xvcjogJHRleHQtY2xvc2UtYnRuO1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdG9wYWNpdHk6IDAuNztcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRjb2xvcjogJHRleHQtZGFyaztcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG5cblx0Ji5tb2RhbC1jZW50ZXIge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR9XG5cbn1cblxuLm15LW1vZGFsLWhlYWRlciB7XG5cdHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1tb2RhbC1oZWFkZXI7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG59XG5cbi5teS1tb2RhbC1ib2R5IHtcblx0cGFkZGluZzogMi41cmVtIDJyZW07XG59XG5cbi5kaWFnbm9zaXMtbW9kYWwtY29udGVudCB7XG5cdG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5teS1tb2RhbC1mb290ZXIge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuXHRwYWRkaW5nOiAzMHB4IDMwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuXHQuYnRuIHtcblx0XHR3aWR0aDogMTgwcHg7XG5cdH1cblxufVxuXG4ubXktbW9kYWwtZm9vdGVyLS1yaWdodCB7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0LmJ0biArIC5idG4ge1xuXHRcdG1hcmdpbi1sZWZ0OiAkZm9udC1zaXplLWJhc2U7XG5cdH1cblxufVxuXG4ubXktbW9kYWwtZm9vdGVyLS1jZW50ZXIge1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHQuYnRuIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDIyMHB4O1xuXHR9XG5cbn1cblxuLmZvcm0tY29udHJvbDpmb2N1cyB7XG5cdGJvcmRlci1jb2xvcjogJGN5YW47XG5cdG91dGxpbmU6IDA7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDNweCAkY3lhbi10cC0yNTtcbn1cblxuLm92ZXJyaWRlLW1vZGFsIHtcblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdH1cblxuXHQuYWRkaXRpb25hbC1tZXNzYWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQubWVzc2FnZSB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdH1cblxuXHRcdC5jb3VudC1yZW1haW5pbmcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRcdFx0Ym90dG9tOiA1cHg7XG5cdFx0XHRyaWdodDogOHB4O1xuXHRcdFx0Y29sb3I6ICR0ZXh0LW11dGVkO1xuXHRcdH1cblxuXHR9XG5cblx0LnNlbGVjdC1vdmVycmlkZSxcblx0Lm1lc3NhZ2Uge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHR9XG5cbn1cblxuLnRhYmxlLWRldGFpbHMge1xuXHR3aWR0aDogMTAwJTtcblx0bWF4LXdpZHRoOiA2MDBweDtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuXHR0ZCB7XG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cdFx0cGFkZGluZzogMC41cmVtO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRjb2xvcjogJHRleHQtbXV0ZWQ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkZm9udC1zaXplLWJhc2U7XG5cdFx0fVxuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcblx0XHRcdGNvbG9yOiAkdGV4dC1kYXJrO1xuXHRcdH1cblxuXHR9XG59XG5cbi5kb3VibGUtbGluZS1oZWFkZXIge1xuXHRwYWRkaW5nOiAkZm9udC1zaXplLWJhc2UgMDtcblx0aGVpZ2h0OiBhdXRvO1xuXHRtaW4taGVpZ2h0OiA4MHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Z2FwOiAwLjI1cmVtO1xufVxuXG4uaWNvbi13cmFwLXN1Y2Nlc3Mge1xuXHRoZWlnaHQ6IDEwMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206ICRmb250LXNpemUtYmFzZTtcblxuXHRpbWcge1xuXHRcdGhlaWdodDogMTAwJTtcblx0fVxuXG59XG5cbi5saW1pdC13aWR0aCB7XG5cdG1heC13aWR0aDogNDUwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubGltaXQtd2lkdGgtd2lkZSB7XG5cdG1heC13aWR0aDogNjUwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4uZm9ybS1ncm91cC1vdmVycmlkZS1zZWxlY3Qge1xuXHRtYXJnaW46IDAgYXV0bztcblx0bWF4LXdpZHRoOiA3MDBweDtcbn1cblxuLmhlbHAtbW9kYWwge1xuXHQuc3VidGl0bGUtbGluZS1icmVhayB7XG5cdFx0bWFyZ2luOiAxMHB4IDA7XG5cdH1cblxuXHQucS1oZWFkZXItZmxleCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRcdC5oNSB7XG5cdFx0XHRtYXgtd2lkdGg6IDg1JTtcblx0XHR9XG5cblx0XHQucS1pY29uLXdyYXAge1xuXHRcdFx0aGVpZ2h0OiAzNXB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHR9XG59XG5cbi5xLWljb24td3JhcCB7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5yb3RhdGUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ucS1ib2R5LXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuXHRjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbi5teS1tb2RhbC1ib2R5LWhlbHAge1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcbn1cblxuLnRhYmxlLWNvbnRhY3Qge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdHRkIHtcblx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblx0XHRjb2xvcjogJHRleHQtbXV0ZWQ7XG5cdFx0cGFkZGluZzogM3B4IDAgIWltcG9ydGFudDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0d2lkdGg6IDEyM3B4O1xuXHRcdH1cblxuXHR9XG59XG5cbi5jb250YWN0LW5hbWUge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xufVxuXG4ubW9ycGgtbW9kYWwge1xuXHRjb2xvcjogJHRleHQtbXV0ZWQ7XG5cblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cblx0XHRvcHRpb24ge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0fVxuXG5cdH1cblxuXHQubGVucy13cmFwIHtcblx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cblx0XHRpbWcge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcblx0XHR9XG5cblx0fVxuXG5cdC5sZW5zLXdyYXAtMSB7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuXHQubW9kYWwtbGctbW9ycGgge1xuXHRcdHdpZHRoOiA5ODRweDtcblx0fVxufVxuXG4ucmVmZXJyYWwtcmFkaW8td3JhcCB7XG5cdG1hcmdpbi10b3A6IDE1cHg7XG5cblx0LnJhZGlvLWlubGluZSAubWFya2VyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGVmdDogLTNweDtcblx0XHR0b3A6IDBweDtcblx0fVxuXG5cdC5mb3JtLWdyb3VwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cblx0aW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0XHRtYXJnaW4tdG9wOiAxcHg7XG5cdH1cblxuXHQuaGVscC1ibG9jayB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTBweDtcblx0fVxuXG59XG5cbi5ub3RpZmljYXRpb24tYm9keSB7XG5cdG1heC13aWR0aDogNDUwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblx0Y29sb3I6ICR0ZXh0LW11dGVkO1xuXG5cdHVsIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG5cdFx0PiBsaSA+IHVsIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNDBweDtcblx0XHR9XG5cblx0fVxuXG5cdGxpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cbn1cblxuLmhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mbGV4LWRvdWJsZS1yb3dzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogMWVtICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3Atd2lkdGg6IDBweCAhaW1wb3J0YW50O1xufVxuXG4ucGhhcm1hY3ktb3B0aW9uIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnBoYXJtYWN5LXRpdGxlIHtcblx0cGFkZGluZy10b3A6IDAuMWVtO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcbn1cblxuLnBoYXJtYWN5LWFkZHJlc3Mge1xuXHRwYWRkaW5nLXRvcDogMC4xZW07XG5cdHBhZGRpbmctYm90dG9tOiAwLjFlbTtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuXHRjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbi5tZC1kaWFsb2ctY3VzdG9tZXItY29udGFpbmVyIHtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy14bDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRjb2xvcjogJHRleHQtZGFyaztcblx0Ym94LXNoYWRvdzogJGJsYWNrLXRwLTQwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdC5kaWFsb2ctdG9vbGJhciB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0LyogY2VudGVyIGFsbCBpdGVtcyAqL1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdC5kaWFsb2ctdGl0bGUge1xuXHRcdGZsZXg6IG5vbmU7XG5cdFx0LyogcHJldmVudCBzdHJldGNoaW5nICovXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR9XG5cblx0LmRpYWxvZy1zdWJ0aXRsZSB7XG5cdFx0ZmxleDogbm9uZTtcblx0XHRmb250LXNpemU6IDEycHQ7XG5cdFx0LyogcHJldmVudCBzdHJldGNoaW5nICovXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dG9wOiAyLjVyZW07XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR9XG5cblx0LmRpYWxvZy10b29sYmFyIG1kLWJ1dHRvbiB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG5cblxuXHQuZGlzbWlzcyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDEwO1xuXHRcdHRvcDogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdHJpZ2h0OiAkZm9udC1zaXplLWJhc2U7XG5cdFx0Zm9udC1zaXplOiAyLjJyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcblx0XHRjb2xvcjogJHRleHQtY2xvc2UtYnRuO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdGNvbG9yOiAkdGV4dC1kYXJrO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuXHRcdH1cblxuXHR9XG59XG5cbi5tZC1kaWFsb2ctY3VzdG9tZXItY29udGFpbmVyIC5kaWFsb2ctdGl0bGUge1xuICAgIGNvbG9yOiAjMGEyNTQwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufSIsIi5yZWdpc3Rlci1lZGl0LWZvcm0ge1xuXHQuY29sLXNtLTMge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG5cdGxhYmVsLmNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cdH1cblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0LmRvYi1ncm91cCB7XG5cdFx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0LmZvcm0tY29udHJvbCB7XG5cdFx0XHR3aWR0aDogMzElO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0XHRzcGFuLmhlbHAtYmxvY2sge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cblxuXHRcdC5mb3JtLWNvbnRyb2w6bnRoLWNoaWxkKDIpIHtcblx0XHRcdC8qbWFyZ2luOiAwIDE1cHg7Ki9cblx0XHR9XG5cdH1cblx0LnJhZGlvLWlubGluZSB7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0Lyp0ZXh0LWFsaWduOiBjZW50ZXI7Ki9cblx0XHRpbnB1dCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHQvKnJpZ2h0OiAxMHB4OyovXG5cdFx0fVxuXHRcdC5tYXJrZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bGVmdDogN3B4O1xuXHRcdFx0dG9wOiAtMXB4O1xuXHRcdH1cblx0fVxuXHQuZXRobmljaXR5LWdyb3VwIHtcblxuXHR9XG59XG5cbi5yZWdpc3Rlci1lZGl0LWZvcm0tdjIge1xuXHQuY29sLXNtLTMge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHR9XG5cdGxhYmVsLmNvbnRyb2wtbGFiZWwge1xuXHRcdHBhZGRpbmctdG9wOiA4cHg7XG5cdH1cblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdH1cblx0LmRvYi1ncm91cCB7XG5cdFx0ZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuXHRcdC8qIGZsZXgtZGlyZWN0aW9uOiByb3c7ICovXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0LmZvcm0tY29udHJvbCB7XG5cdFx0XHR3aWR0aDogMzElO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0XHRzcGFuLmhlbHAtYmxvY2sge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bWFyZ2luLXRvcDogM2VtO1xuXHRcdH1cblx0XHQuZm9ybS1jb250cm9sOm50aC1jaGlsZCgyKSB7XG5cdFx0XHQvKm1hcmdpbjogMCAxNXB4OyovXG5cdFx0fVxuXHR9XG5cdC5yYWRpby1pbmxpbmUge1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdC8qdGV4dC1hbGlnbjogY2VudGVyOyovXG5cdFx0aW5wdXQge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0LypyaWdodDogMTBweDsqL1xuXHRcdH1cblx0XHQubWFya2VyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGxlZnQ6IDdweDtcblx0XHRcdHRvcDogLTFweDtcblx0XHR9XG5cdH1cblx0LmV0aG5pY2l0eS1ncm91cCB7XG5cblx0fVxufVxuXG4uYW5pbWF0ZS1zaG93LWhpZGUubmctaGlkZSB7XG5cdG9wYWNpdHk6IDA7XG59XG5cbi5hbmltYXRlLXNob3ctaGlkZS5uZy1oaWRlLWFkZCxcbi5hbmltYXRlLXNob3ctaGlkZS5uZy1oaWRlLXJlbW92ZSB7XG5cdHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XG59XG5cbi5hbmltYXRlLW1lIHtcblx0b3BhY2l0eTogMTtcbn1cblxuLmNoZWNrYm94LWlubGluZSB7XG5cdG1pbi13aWR0aDogMjUlXG59XG5cbi5mb3JtLWdyb3VwLWV0aG5pY2l0eSB7XG5cdG1hcmdpbi1ib3R0b206IDlweDtcblxuXHRsYWJlbC5jaGVja2JveC1pbmxpbmU6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHR9XG5cdGxhYmVsLmNoZWNrYm94LWlubGluZSB7XG5cdFx0c3Bhbi5tYXJrZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ym90dG9tOi0ycHg7XG5cdFx0fVxuXHR9XG5cblx0LmNoZWNrYm94LWlubGluZS1vdGhlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGxlZnQ6IC00cHg7XG5cdH1cblxuXHQuY29sLXNtLTkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG5cdHNwYW4uaGVscC1ibG9jayB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDoxMDAlO1xuXHR9XG59XG5cbi8qR29vZ2xlIFBsYWNlcyBBUEkgdG8gYnJpbmcgYXV0b2NvbXBsZXRlIGhpZ2hlciB6LWluZGV4IHRoYW4gYm9vdHN0cmFwIG1vZGFsKi9cbi5wYWMtY29udGFpbmVyIHt6LWluZGV4OiAxMDAwMCAhaW1wb3J0YW50O31cblxuLmZvcm0taW1wYWN0IHtcblx0LmZvcm0tZ3JvdXAge1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cdH1cblxuXHRsYWJlbC5jb250cm9sLWxhYmVsIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHRcdEBleHRlbmQgLnRleHQtdGV4dEdyZXk7XG5cblx0XHQucXVlc3Rpb24tbWFyayB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRib3R0b206MnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0aW1nIHtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5yYWRpby1mbGV4LXdyYXAge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG5cdFx0LnJhZGlvLWlubGluZSB7XG5cdFx0XHR3aWR0aDogODBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0Lm1hcmtlciB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOjJweDtcblx0XHRcdFx0QGV4dGVuZCAuZm9udC1ib2xkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0LmNvbnRyb2wtbGFiZWwtbGVmdCB7cGFkZGluZy1yaWdodDogMDt9XG5cblx0LmZvcm0tZ3JvdXAtaGVhZGVyIHtcblx0XHQucmFkaW8tZmxleC13cmFwIHtcblxuXHRcdFx0LnJhZGlvLWlubGluZSB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0XHR3aWR0aDogODBweDtcblx0XHRcdFx0QGV4dGVuZCAudGV4dC10ZXh0R3JleTtcblx0XHRcdFx0QGV4dGVuZCAuZm9udC1tZWRpdW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxufVxuLmxpZmUtcXVhbGl0eSB7XG5cdC5mb3JtLWdyb3VwLmhhcy1lcnJvciB7XG5cdFx0b3V0bGluZTogMXB4IHNvbGlkICRkYW5nZXI7XG5cdFx0cGFkZGluZy10b3A6IDE2cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDE2cHg7XG5cdFx0LnJhZGlvLWZsZXgtd3JhcCB7XG5cdFx0XHQvKnBhZGRpbmctYm90dG9tOiA2cHg7Ki9cblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC5oZWxwLWJsb2NrIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDI0MCU7XG5cdFx0XHRcdC8qIGJvdHRvbTogLTQ1cHg7ICovXG5cdFx0XHRcdGxlZnQ6IDgwJTtcblx0XHRcdFx0Lyogd2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjsgKi9cblx0XHRcdH1cblxuXHRcdH1cblx0fVxufVxuLmZvcm0tZm9vdGVyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0LnN1Ym1pdC13cmFwLWZsZXgge1xuXHRcdHBhZGRpbmc6IDIwcHggMzBweCAyMHB4IDUwcHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTBweDtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cdFx0LypiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAkcHVycGxlLCAkbmF2eSkgIWltcG9ydGFudDsqL1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHQubm90ZS13cmFwIHtcblx0XHRcdHdpZHRoOiA0MDBweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdHAge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge21hcmdpbi1ib3R0b206IDEwcHg7fVxuXHRcdFx0fVxuXHRcdH1cblx0XHQuYnV0dG9uLXdyYXAge1xuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdC5zaG93aW5nLXdhcm5pbmcge1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICRwdXJwbGUsICRuYXZ5KSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi5mb3JtLWxvZ2luIHtcblx0d2lkdGg6IDI4MHB4O1xuXHRwYWRkaW5nLXRvcDogMTVweDtcblx0XG5cdC5mb3JtLWdyb3VwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG5cdFx0aW5wdXQge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjRweDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0fVxuXHR9XG5cdGJ1dHRvbiB7Zm9udC1zaXplOiAxMnB4O31cblxuXHQuYnRuLWxvZ2luIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMzQlO1xuXHRcdHBhZGRpbmc6IDZweCAxOHB4O1xuXHR9XG5cdC5idG4tbG9zdCB7XG5cdFx0Y29sb3I6ICR0ZXh0R3JleTtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0d2lkdGg6IDYwJTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xcyBsaW5lYXI7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdGNvbG9yOiAkdGV4dEdyZXk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG59XG5cblxuZm9ybVtuYW1lPXNlYXJjaF0ge1xuXHRzcGFuLmhlbHAtYmxvY2sge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2wge1xuXHRib3JkZXItY29sb3I6ICRjeWFuO1xuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6ICRjeWFuO1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNHB4ICRjeWFuO1xuXHR9XG59XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbCB7XG5cdGJvcmRlci1jb2xvcjogJGRhbmdlcjtcblx0Jjpmb2N1cyB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkZGFuZ2VyO1xuXHR9XG59XG5cbmZvcm1bbmFtZT1sb2dpbkZvcm1dIHtcblx0LmhlbHAtYmxvY2sge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDEzcHg7XG5cdH1cbn1cblxubGFiZWwge1xuXHRjb2xvcjogJHRleHRHcmV5ICFpbXBvcnRhbnQ7XG59XG5cbmZvcm1bbmFtZT1zZXRQYXNzd29yZF0ge1xuXHQuZm9ybS1jb250cm9sIHtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHR9XG5cdC5oZWxwLWJsb2NrIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cbn1cblxuZm9ybVtuYW1lPWZvcm1JbXBhY3RdIHtcblx0LmZvcm0tZ3JvdXAuaGFzLWVycm9yIHtcblx0XHRvdXRsaW5lOiAxcHggc29saWQgJGRhbmdlcjtcblx0XHRwYWRkaW5nLXRvcDogMnB4O1xuXHRcdC5yYWRpby1mbGV4LXdyYXAge1xuXHRcdFx0LypwYWRkaW5nLWJvdHRvbTogNnB4OyovXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHQuaGVscC1ibG9jayB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Lyp0b3A6IDEwMCU7Ki9cblx0XHRcdFx0Ym90dG9tOiAtNDBweDtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblxuXHRcdH1cblx0fVxufVxuXG5mb3JtW25hbWU9ZXhhbV0ge1xuXHRzcGFuLmhlbHAtYmxvY2sge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuLmJ0bi1zd2l0Y2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMjc4Nzg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0YyNzg3ODtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIFxuICAgIC5idG4tc3dpdGNoLWNpcmNsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICB9XG59XG5cbi5idG4tc3dpdGNoLS1vbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwQ0RCRTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjODBDREJFO1xuICAgIFxuICAgIC5idG4tc3dpdGNoLWNpcmNsZS0tb24ge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbi5zdXJnZXJ5LWFncmVlbWVudC1mb3JtLWZvb3RlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdC5zdWJtaXQtd3JhcC1mbGV4IHtcblx0XHRwYWRkaW5nOiAxMnB4IDE1cHggMTJweCAyNXB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwcHg7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRcdC8qYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgJHB1cnBsZSwgJG5hdnkpICFpbXBvcnRhbnQ7Ki9cblx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0Lm5vdGUtd3JhcCB7XG5cdFx0XHR3aWR0aDogNDAwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAxMHB4O31cblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ1dHRvbi13cmFwIHtcblx0XHRcdC8qIHdpZHRoOiAyMDBweDsgKi9cblx0XHRcdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQuc2hvd2luZy13YXJuaW5nIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAkcHVycGxlLCAkbmF2eSkgIWltcG9ydGFudDtcblx0fVxufVxuXG4ucHJlbWl1bS1sZW5zLXJlY29tbWVuZC1jaGVja2JveGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnJlY29tbWVuZGVkLW9wdGlvbi1oaWdobGlnaHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmMmZmO1xuXHRjb2xvcjogIzAwN0JGRjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5yZWNvbW1lbmRlZC1sYWJlbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0YmFja2dyb3VuZDogIzBkNmVmZDtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMS4xcmVtO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRwYWRkaW5nOiA0cHggNnB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0bWFyZ2luLWJvdHRvbTowLjVyZW07XG59IiwiLnBvcG92ZXIge1xuXHRvdXRsaW5lOm5vbmU7XG5cdG1heC13aWR0aDogMTAwJTtcblx0cGFkZGluZzogMDtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdGgzLnBvcG92ZXItdGl0bGUge1xuXHRcdGJhY2tncm91bmQ6ICRjeWFuO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0QGV4dGVuZCAuZm9udC1tZWRpdW07XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHR9XG5cdC5wb3BvdmVyLWNvbnRlbnQge1xuXHRcdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdH1cbn1cblxuLnBvcG92ZXItbm9ybWFsIHtcblx0b3V0bGluZTpub25lO1xuXHRtYXgtd2lkdGg6IDEycmVtO1xuXHRwYWRkaW5nOiAwO1xuXHQvKiBwYWRkaW5nLWJvdHRvbTogMTBweDsgKi9cblx0aDMucG9wb3Zlci10aXRsZSB7XG5cdFx0YmFja2dyb3VuZDogJGN5YW47XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRAZXh0ZW5kIC5mb250LW1lZGl1bTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdH1cblx0LnBvcG92ZXItY29udGVudCB7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxufVxuXG4uYW0tcG9wb3ZlciB7XG5cdG9wYWNpdHk6IDE7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xuXHQvKnRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2UtaW47Ki9cblx0Ji5uZy1lbnRlciB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQvKnRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7Ki9cblx0XHRcblx0XHQmLm5nLWVudGVyLWFjdGl2ZSB7XG5cblx0XHR9XG5cdH1cblx0Ji5uZy1sZWF2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQmLm5nLWxlYXZlLWFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxufVxuXG4ucG9wb3Zlci5pbmZvLWRldGFpbC1wb3BvdmVyIHtcblx0bWF4LXdpZHRoOiAyNnJlbTtcblx0d2lkdGg6IGF1dG87XG5cdHotaW5kZXg6IDExMDA7XG59XG5cbi5wb3BvdmVyLmluZm8tZGV0YWlsLXBvcG92ZXIgLnBvcG92ZXItY29udGVudCB7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0Y29sb3I6ICR0ZXh0R3JleSAhaW1wb3J0YW50O1xuXG5cdGxhYmVsIHtcblx0XHRjb2xvcjogJHRleHQtZGFyayAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLmluZm8tcG9wb3Zlci1jb21tZW50IHtcblx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRtYXgtd2lkdGg6IDI0cmVtO1xufVxuXG4uZGlhZ25vc2lzLWluZm8tcG9wb3Zlci1hbmNob3Ige1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLndpZGVyLXBvcG92ZXIge1xuXHRtYXgtd2lkdGg6IDI0cmVtO1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTJyZW0pO1xuXHQvKnRyYW5zaXRpb246IGFsbCAuMTVzIGVhc2UtaW47Ki9cblx0Ji5uZy1lbnRlciB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHQvKnRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7Ki9cblx0XHRcblx0XHQmLm5nLWVudGVyLWFjdGl2ZSB7XG5cblx0XHR9XG5cdH1cblx0Ji5uZy1sZWF2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHQmLm5nLWxlYXZlLWFjdGl2ZSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxufVxuIiwiLnRhYmxlLWNvbXBsZXRlIHtcblx0dGgsXG5cdHRkIHtcblx0XHRib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGgge1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG5cblx0dGQ6bnRoLWNoaWxkKDEpIHtcblx0XHQvKmJhY2tncm91bmQ6IHBpbms7Ki9cblx0XHRAZXh0ZW5kIC5mb250LXJlZ3VsYXI7XG5cdFx0Y29sb3I6ICR0ZXh0R3JleTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Lyp3aWR0aDogNTAlOyovXG5cdH1cblxuXHR0ZDpudGgtY2hpbGQoMikge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRoZWlnaHQ6IDYwcHg7XG5cdFx0d2lkdGg6IDE2MHB4O1xuXHRcdGltZyB7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblx0fVxuXHR0ZDpudGgtY2hpbGQoMykge1xuXHRcdC8qYmFja2dyb3VuZDogcGluazsqL1xuXHRcdHdpZHRoOiAyNDBweDtcblx0fVxuXHR0aDpudGgtY2hpbGQoMikge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMjAwcHg7XG5cdH1cblxuXHQuaW5kZW50IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxufVxuXG4uY29tcGxldGUtZmxleC13cmFwIHtcblx0ZGlzcGxheTpmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5xdWVzdGlvbi13cmFwIHtcblx0aGVpZ2h0OiA0NHB4O1xuXHR3aWR0aDogNDRweDtcblx0Ym9yZGVyOiAycHggc29saWQgZ29sZDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRzcGFuIHtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0Y29sb3I6IGdvbGQ7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdH1cbn1cblxuLnBhdGllbnQtc3VtbWFyeS1kZXRhaWxzIHtcblx0Zm9udC1zaXplOiAxMHB4O1xufVxuXG4uZG9jLWZsZXgtd3JhcCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXgtaGVpZ2h0OiA0MDBweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgICBwYWRkaW5nOiA1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XG5cdCYuZG9jLXdhcm5pbmcge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxODIsIDE5MywgMC40KTtcblx0fVxuXG5cdC5kb2MtY2FyZCB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2RkZDtcblx0XHR3aWR0aDogMzIuNSU7XG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGJvcmRlci1yYWRpdXM6IDZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym94LXNoYWRvdzogMHB4IDBweCAzcHggMHB4IHJnYmEoMCwwLDAsMC4zKTtcblx0XHR9XG5cblx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlQmx1ZTtcblx0XHR9XG5cblx0XHQmLmRvYy1jYXJkLWdob3N0IHtcblx0XHRcdGJvcmRlcjpub25lO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5zZWxlY3RlZC1kb2Mtd3JhcCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBhbGVCbHVlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkbGluZUJyZWFrO1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cblx0LnNlbGVjdGVkLWRvYy1uYW1lIHtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQtaXRhbGljO1xuXHRcdEBleHRlbmQgLnRleHQtbmF2eTtcblx0fVxuXHQuc2VsZWN0ZWQtZG9jLXByYWN0aWNlIHtcblx0XHRAZXh0ZW5kIC5tYi0wO1xuXHRcdEBleHRlbmQgLnRleHQtdGV4dEdyZXk7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHR9XG59XG5cbi5kb2N0b3ItZmlsdGVyLWdyb3VwIHtcblx0aW5wdXRbdHlwZT1yYWRpb10ge1xuXHRcdHRvcDogLTJweDtcblxuXHR9XG5cdFxuXHQucmFkaW8taW5saW5lIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdH1cblx0fVxufSIsIi5leGFtLXdyYXAge1xuXG59XG5cbi5mb3JtLWV4YW0ge1xuXHRAZXh0ZW5kIC5mb250LXJlZ3VsYXI7XG5cdGNvbG9yOiAkdGV4dEdyZXk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0XG5cdHNlbGVjdCxcblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0XHRjb2xvcjogJHRleHRHcmV5O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxuXHRcblx0LmZvcm0tZ3JvdXAtbGFiZWwge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cblx0XHQuY29udHJvbC1sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdC8qYWxpZ24tc2VsZjogY2VudGVyOyovXG5cdFx0fVxuXHR9XG5cblx0LnNuZWxsZW4ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0LypqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Ki9cblx0XHRwYWRkaW5nOiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdHNlbGVjdCxcblx0XHQubWFyay13cmFwIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdC8qd2lkdGg6IGNhbGMoNTAlIC0gNjBweCk7Ki9cblx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHR9XG5cdH1cblx0XG5cdC5tYXJrLXdyYXAsXG5cdC5tYXJrLXdyYXAtZGVnIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuc2l4LXByZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6NTAlO1xuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRsZWZ0Oi0yMHB4O1xuXHRcdH1cblxuXHRcdC5zdHJpcGUtcG9zdCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6NTAlO1xuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRyaWdodDotMTVweDtcblx0XHR9XG5cblx0XHQuc3RyaXBlLXByZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6NTAlO1xuXHRcdFx0dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHRsZWZ0Oi0xMnB4O1xuXHRcdH1cblx0fVxuXG5cblx0Lm1hcmstd3JhcC1kZWcge1xuXHRcblx0XHQuZGVnIHtcblx0XHRcdHdpZHRoOiA4MHB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA2cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiA2cHg7XG5cdFx0fVxuXHRcdFxuXHRcdC5zdHJpcGUtcG9zdCB7XG5cdFx0XHRyaWdodDogLTM3cHg7XG5cdFx0fVxuXG5cdH1cbn1cblxuLmNoZWNrLWxhYmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5jaGVjay1zcGFuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAycHg7XG5cdH1cbn1cblxuLmxlbnMge1xuXHR3aWR0aDogMjIwcHg7XG59XG5cbi5sZW5zLWxhYmVsIHtcblx0bWFyZ2luLXRvcDogMzRweDtcbn1cblxuLnZpc3VhbC1sYWJlbCB7XG5cdG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5mb3JtLWdyb3VwLWxhYmVsLXRvcCB7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5jb2wtYmluIHtcblx0cGFkZGluZy1sZWZ0OiA2MHB4O1xufSIsIi50ZXJtcyB7XG5cdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0QGV4dGVuZCAudGV4dC10ZXh0R3JleTtcblx0XG5cdGgxIHtcblx0XHRtYXJnaW46IDMwcHggMDtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0QGV4dGVuZCAudGV4dC1sb2dvdXRHcmV5O1xuXHR9XG5cblx0aDMge1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0QGV4dGVuZCAuZm9udC1tZWRpdW07XG5cdFx0QGV4dGVuZCAudGV4dC1uYXZ5O1xuXHR9XG5cdFxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHR9XG5cblx0LmltYWdlMSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0d2lkdGg6IDUwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cbn0iLCIub3AtaGVhZGVyIHtcblx0Y29sb3I6ICR3aGl0ZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiA1cHggMDtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblxuXHRoNCB7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdH1cbn1cblxuLm5hdnktdGV4dCB7XG5cdGNvbG9yOiAkbmF2eSAhaW1wb3J0YW50O1xufVxuXG4ubmF2eS1saW5lIHtcblx0aGVpZ2h0OiAycHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuXHRtYXJnaW4tbGVmdDogMS41ZW07XG5cdG1hcmdpbi1yaWdodDogMS41ZW07XG5cdG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLnByZS1vcC1mb3JtIHtcblx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHRjb2xvcjogJHRleHRHcmV5O1xuXHRmb250LXNpemU6IDEycHg7XG5cdC8vIGJhY2tncm91bmQtY29sb3I6IHBpbms7XG5cdHBhZGRpbmc6IDAgMjBweDtcblxuXHRzZWxlY3QsXG5cdC5mb3JtLWNvbnRyb2wge1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRAZXh0ZW5kIC5mb250LXJlZ3VsYXI7XG5cdFx0Ly8gY29sb3I6ICR0ZXh0R3JleTtcblx0XHRjb2xvcjogJG5hdnk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRuYXZ5O1xuXHR9XG5cblx0LmZvcm0tZ3JvdXAtbGFiZWwge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cblx0XHQuY29udHJvbC1sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cblxuXHQuZmxleCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdHNlbGVjdCxcblx0XHQuaW5wdXQsXG5cdFx0LmlubGluZS1udW1iZXIsXG5cdFx0Lm1hcmstd3JhcCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0fVxuXHR9XG5cblx0Lm1hcmstd3JhcCxcblx0Lm1hcmstd3JhcC1kZWcge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5zaXgtcHJlIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0bGVmdDogLTIwcHg7XG5cdFx0fVxuXG5cdFx0LnN0cmlwZS1wb3N0IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0cmlnaHQ6IC0xNXB4O1xuXHRcdH1cblxuXHRcdC5zdHJpcGUtcHJlIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0bGVmdDogLTEycHg7XG5cdFx0fVxuXHR9XG5cblx0Lm1hcmstd3JhcC1kZWcge1xuXHRcdC5kZWcge1xuXHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDZweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDZweDtcblx0XHR9XG5cblx0XHQuc3RyaXBlLXBvc3Qge1xuXHRcdFx0cmlnaHQ6IC0zN3B4O1xuXHRcdH1cblx0fVxuXG5cdGxhYmVsIHtcblx0XHRjb2xvcjogJG5hdnkgIWltcG9ydGFudDtcblx0fVxuXG5cdC5tYXJrZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDJweDtcblx0fVxufVxuXG4uYnRuLW5leHQge1xuXHR3aWR0aDogMTIwcHg7XG5cdEBleHRlbmQgLmZvbnQtYm9sZDtcbn1cblxuLmNoZWNrLWxhYmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5jaGVjay1zcGFuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAycHg7XG5cdH1cbn1cblxuLmxlbnMge1xuXHR3aWR0aDogMjIwcHg7XG59XG5cbi5sZW5zLWxhYmVsIHtcblx0bWFyZ2luLXRvcDogMzRweDtcbn1cblxuLnZpc3VhbC1sYWJlbCB7XG5cdG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5mb3JtLWdyb3VwLWxhYmVsLXRvcCB7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5jb2wtYmluIHtcblx0cGFkZGluZy1sZWZ0OiA2MHB4O1xufVxuXG4ucHJlc3N1cmUtd3JhcCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0bWF4LXdpZHRoOiA0NjBweDtcblxuXHQuZm9ybS1ncm91cCB7XG5cdFx0d2lkdGg6IDQ3JTtcblx0fVxufVxuXG4uaGFsZi13aWR0aCB7XG5cdG1heC13aWR0aDogNTAlO1xufVxuXG4ucXVhcnRlci13aWR0aCB7XG5cdG1heC13aWR0aDogMjUlO1xufVxuXG4uYmx1ZS1ib3gge1xuXHRib3JkZXI6IDFweCBzb2xpZCAkbmF2eTtcblx0cGFkZGluZzogMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHBhbGVCbHVlO1xuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdC5oZWFkZXIge1xuXHRcdEBleHRlbmQgLnRleHQtbmF2eTtcblxuXHRcdC5oNCB7XG5cdFx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxufVxuXG4uZXllLWhlYWRpbmcge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ucHJlLW9wLXNhdmUtd3JhcCB7XG5cdG1pbi1oZWlnaHQ6IDgwcHg7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luOiAyMHB4IDA7XG5cblx0LnByb2dyZXNzaW9uLXdyYXAge1xuXHRcdG1pbi13aWR0aDogMjUwcHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQuc2F2ZS1wcm9ncmVzcyB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdFx0fVxuXHR9XG5cblx0LnByb2dyZXNzaW9uLWFsZXJ0LXdyYXAge1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAyODBweCk7XG5cblx0XHQuYWxlcnQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0JiArIC5hbGVydCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5zdGFjay12ZXJ0IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAycHg7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG5cdC5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdH1cbn1cblxuLm9wdGlvbmFsIHtcblx0QGV4dGVuZCAudGV4dC1wdXJwbGU7XG5cdEBleHRlbmQgLmZvbnQtbGlnaHQtaXRhbGljO1xufVxuXG4uZmxleC1iaW9tZXRyeSB7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0LmNvbnRyb2wtbGFiZWwge1xuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi5iaW9tZXRyeS1pbnB1dCB7XG5cdHdpZHRoOiAxMDBweDtcblx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uYXhpcy13cmFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYXhpcy10aW1lcyxcbi5heGlzLWRlZyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4uYXhpcy10aW1lcyB7XG5cdHJpZ2h0OiBjYWxjKDEwMCUgKyA2cHgpO1xufVxuXG4uYXhpcy1kZWcge1xuXHRsZWZ0OiAxMTBweDtcbn1cblxuLnNlY3Rpb24tbGFiZWwge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYmlvbWV0cnkge1xuXHQuZm9ybS1yb3cge1xuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblx0LmxlZnQtY29sdW1uIHtcblx0XHR3aWR0aDogMjhweDtcblx0fVxuXHQuZm9ybS1ncm91cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHR9XG5cdC5oZWxwLWJsb2NrIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuLmJpby1pbnRlcm5hbC1mbGV4IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnRhYmxlLW1lZGljYXRpb24ge1xuXHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdHRoLFxuXHR0ZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbmF2eSAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0fVxuXHR0ZDpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdC5yZW1vdmUtbWVkIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbmF2eTtcblx0XHR3aWR0aDogMjRweDtcblx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLmJ0bi1hZGQtYWxsZXJneSB7XG5cdGhlaWdodDogMzRweDtcblx0d2lkdGg6IDM0cHg7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuLmZsZXgtYWxsZXJneSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Lmdyb3cge1xuXHRcdGZsZXg6IDEgMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdH1cbn1cblxuLmFuYWVzdGhldGljLXdyYXAge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdC5mb3JtLWdyb3VwIHtcblx0XHR3aWR0aDogMjYwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG5cblx0LmhlbHAtYmxvY2sge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59XG5cbi50ZXh0LWFyZWEtd3JhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuY291bnQtcmVtYWluaW5nIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogMTVweDtcblx0XHRjb2xvcjogJG5hdnk7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyLWl0YWxpYztcblx0fVxufVxuXG4uZGlhYmV0ZXMtcG9wLXVwLXdyYXAge1xuXHR3aWR0aDogNTAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXRpbm9wYXRoeS1wb3AtdXAtT0Qge1xuXHQucmV0aW5vcGF0aHktcG9wdXAge1xuXHRcdGxlZnQ6IGNhbGMoMTAwJSArIDEwcHgpO1xuXHR9XG59XG5cbi5yZXRpbm9wYXRoeS1wb3AtdXAtT1Mge1xuXHQucmV0aW5vcGF0aHktcG9wdXAge1xuXHRcdHJpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcblx0fVxufVxuXG4uc2hvd1JldGlub3BhdGh5IHtcblx0LnJldGlub3BhdGh5LXBvcHVwIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4ubWFjdWxvcGF0aHktcG9wLXVwLU9EIHtcblx0Lm1hY3Vsb3BhdGh5LXBvcHVwIHtcblx0XHRsZWZ0OiBjYWxjKDEwMCUgKyAxMHB4KTtcblx0fVxufVxuXG4ubWFjdWxvcGF0aHktcG9wLXVwLU9TIHtcblx0Lm1hY3Vsb3BhdGh5LXBvcHVwIHtcblx0XHRyaWdodDogY2FsYygxMDAlICsgMTBweCk7XG5cdH1cbn1cblxuLnNob3dNYWN1bG9wYXRoeSB7XG5cdC5tYWN1bG9wYXRoeS1wb3B1cCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLnJldGlub3BhdGh5LXBvcHVwLFxuLm1hY3Vsb3BhdGh5LXBvcHVwIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJG5hdnk7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0Y29sb3I6ICRuYXZ5O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0d2lkdGg6IDQ4MHB4O1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDE7XG5cdHRvcDogMDtcblx0ZGlzcGxheTogbm9uZTtcblxuXHQudGFibGUtYm9yZGVyZWQge1xuXHRcdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0XHR0aCB7XG5cdFx0XHRAZXh0ZW5kIC5mb250LWJvbGQtaXRhbGljO1xuXHRcdH1cblxuXHRcdHRoLFxuXHRcdHRkIHtcblx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRuYXZ5O1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbmF2eTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dHI6bGFzdC1jaGlsZCB7XG5cdFx0XHR0ZCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHRkLFxuXHRwIHtcblx0XHRAZXh0ZW5kIC5mb250LXJlZ3VsYXItaXRhbGljO1xuXHR9XG5cblx0dGQsXG5cdHRoIHtcblx0XHRib3JkZXItY29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi5yZXRpbm9wYXRoeS1wb3B1cCB7XG5cdHRoOmZpcnN0LWNoaWxkLFxuXHR0ZDpmaXJzdC1jaGlsZCB7XG5cdFx0d2lkdGg6IDEyMHB4O1xuXHR9XG59XG5cbi5wcmUtb3AtZm9ybSB7XG5cdC5mbGV4LWxlbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHQuZm9ybS1ncm91cCB7XG5cdFx0XHR3aWR0aDogMTUwcHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0fVxuXG5cdFx0LmZvcm0tZ3JvdXAtYXhpcyB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHR3aWR0aDogMTEwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5hbGxlcmd5LWZvcm0td3JhcCB7XG5cdC5oZWxwLWJsb2NrIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cbn1cblxuLmxvY3NpaWktd3JhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDUwJTtcbn1cblxuLmxvY3NpaWktaW1nLXdyYXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiA1MDBweDtcblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4ubG9jc2lpaS1pbWctd3JhcC1PRCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDcwMHB4O1xuXHRsZWZ0OiBjYWxjKDEwMCUgKyAxNXB4KTtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxO1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmxvY3NpaWktaW1nLXdyYXAtT1Mge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiA1MDBweDtcblx0cmlnaHQ6IGNhbGMoMTAwJSArIDE1cHgpO1xuXHR0b3A6IDA7XG5cdHotaW5kZXg6IDE7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uc2hvd09wYWwsXG4uc2hvd0NvbG91cixcbi5zaG93Q29ydGljYWwsXG4uc2hvd1B1cGlsLFxuLnNob3dTdWIge1xuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ucHJlLW9wLWhlYWRlciB7XG5cdC8vIG91dGxpbmU6IDFweCBkb3R0ZWQgcGluaztcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHQuaGVhZC1mbGV4IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR9XG5cdH1cblxuXHRoMyxcblx0aDQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0QGV4dGVuZCAudGV4dC1uYXZ5O1xuXHR9XG5cblx0LmhlYWQtbGluayB7XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHR9XG5cblx0LmhlYWQtbmFtZSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG5cblx0LmhlYWRlci1sZWZ0LFxuXHQuaGVhZGVyLXJpZ2h0IHtcblx0XHQvLyBvdXRsaW5lOiAxcHggc29saWQgZ3JlZW47XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdH1cblxuXHQuaGVhZGVyLXJpZ2h0IHtcblx0XHQvLyBtYXJnaW4tcmlnaHQ6IDgwcHg7XG5cdFx0Ly8gb3V0bGluZTogMXB4IHNvbGlkIGJsdWU7XG5cdH1cbn1cblxuLmdyYXBocy1jb250YWluZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59IFxuXG4uY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCA0cHggcmdiKDAgMCAwIC8gMjAlKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRtYXJnaW46IDFlbTtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufVxuICBcbi5jYXJkOmhvdmVyIHtcblx0LyogYm94LXNoYWRvdzogMCA4cHggMjhweCAwIHJnYmEoMCwwLDAsMC4yKTsgKi9cbiAgfVxuICBcbi5jYXJkLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctbGVmdDogMWVtO1xuXHRwYWRkaW5nLXJpZ2h0OiAxZW07XG5cdC8qIHBhZGRpbmc6IDJweCAxNnB4OyAqL1xufVxuXG4ucGF0aWVudHMtZW1wdHkge1xuXHRAZXh0ZW5kIC5jYXJkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmN2ZlOyBcblx0bWFyZ2luOiAwO1xuXHRoZWlnaHQ6ICdhdXRvJztcblx0aDQge1xuXHRcdEBleHRlbmQgLmZvbnQtYm9sZDtcblx0XHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdFx0cGFkZGluZzogMmVtO1xuXHR9XG59XG5cbi5tZW51LXNlY3Rpb24ge1xuXHRAZXh0ZW5kIC5jYXJkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmN2ZlOyBcblx0bWluLWhlaWdodDogMTBlbTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG1hcmdpbi10b3A6IDA7XG5cdGg0IHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdEBleHRlbmQgLmZvbnQtYm9sZDtcblx0XHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdFx0cGFkZGluZy1sZWZ0OiAxZW07XG5cdFx0cGFkZGluZy10b3A6IDFlbTtcblx0XHRwYWRkaW5nLWJvdHRvbTogMC40ZW07XG5cdH1cbn1cblxuLm1lbnUtY29udGFpbmVyIHtcbn1cblxuLm1lbnUtbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLm1lbnUtYXJyb3cge1xuXHRib3JkZXItd2lkdGg6IDExcHg7XG5cdC8qIHBvc2l0aW9uOiBhYnNvbHV0ZTsgKi9cblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAwO1xuXHRoZWlnaHQ6IDA7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdG1hcmdpbi10b3A6IC0xMXB4O1xuXHRtYXJnaW4tbGVmdDogLTExcHg7XG5cdGJvcmRlci10b3Atd2lkdGg6IDA7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6ICNmNGY3ZmU7XG5cdG1hcmdpbi1sZWZ0OiA0OCU7XG5cdC8qIGxlZnQ6IDUwJTsgKi9cbn1cblxuLnZlcnRpY2FsLWJhciB7XG5cdHdpZHRoOiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuXHRhbGlnbi1zZWxmOiBzdHJldGNoO1xuXHRtYXJnaW4tbGVmdDogMmVtO1xuXHRtYXJnaW4tdG9wOiAxZW07XG5cdG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLm1lbnUtYmxvY2sge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5yaWdodC1hcnJvdyB7XG5cdG1hcmdpbi10b3A6IDFlbTtcblx0d2lkdGg6IDE2cHg7XG5cdGhlaWdodDogMTZweDtcbn1cblxuLm1lbnUtaXRlbSB7XG5cdHdpZHRoOiAxMWVtO1xuXHRoNCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdEBleHRlbmQgLmZvbnQtYm9sZDtcblx0XHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHR9XG5cdHAge1xuXHQgIHBhZGRpbmctbGVmdDogMWVtO1xuXHQgIHBhZGRpbmctcmlnaHQ6IDAuMmVtO1xuXHQgIHRleHQtYWxpZ246IGxlZnQ7XG5cdCAgZm9udC1zaXplOiAxMnB4O1xuXHR9XG59XG5cbi5wYXRpZW50LWhlYWRlciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQuaGVhZGVyLXRpdGxlIHtcblx0XHRmbGV4OiAxO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDEwcmVtO1xuXHR9XG5cblx0Lm1lbnUtY29udGFpbmVyIHtcblx0XHRmbGV4OiAxMjtcblx0fVxuXG5cdC5saW5rLWRpc2FibGVkIHtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0b3BhY2l0eTogMC42O1xuXHR9XG5cblx0LmFycm93LWRvd24ge1xuXHRcdGJvcmRlcjogc29saWQgJG5hdnk7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogM3B4O1xuXHRcdG1hcmdpbi1ib3R0b206IDJweDtcblx0XHRtYXJnaW4tbGVmdDogMnB4O1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdH1cblxuXHQuYXJyb3ctcmlnaHQge1xuXHRcdGJvcmRlcjogc29saWQgJG5hdnk7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogM3B4O1xuXHRcdG1hcmdpbi1ib3R0b206IDJweDtcblx0XHRtYXJnaW4tbGVmdDogMnB4O1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxuXG5cdGgzLFxuXHRoNCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdEBleHRlbmQgLmZvbnQtYm9sZDtcblx0XHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdH1cblxuXHRoNSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0QGV4dGVuZCAudGV4dC1uYXZ5O1xuXHR9XG5cblx0LnBhdGllbnQtY2FyZCB7XG5cdFx0QGV4dGVuZCAuY2FyZDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMWVtO1xuXHR9XG5cblx0LnBhdGllbnQtZGV0YWlsLXNlY3Rpb24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHBhZGRpbmctdG9wOiAwLjVlbTtcblx0XHRoNCB7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0fVxuXHR9XG5cblx0LnZlcnRpY2FsLXNlY3Rpb24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxuXG59XG5cblxuLnBvcG92ZXItcHJlb3Atd3JhcCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHR3aWR0aDogMzAwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRsYWJlbCB7XG5cdFx0Y29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cblx0LmZvcm0tY29udHJvbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0XHRjb2xvcjogJG5hdnk7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRuYXZ5O1xuXHR9XG5cblx0LmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxufVxuXG4ucG9wb3ZlciB7XG5cdGJvcmRlci1jb2xvcjogJG5hdnk7XG4gICAgLyogd2lkdGg6IDIwZW07XG5cdG1heC13aWR0aDogMjBlbTsgKi9cblx0Lm1hcmtlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogMnB4O1xuXHR9XG59XG5cbi5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdyB7XG5cdGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZ5O1xufVxuXG4uc3Bpbm5lci13cmFwIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmVydGljYWwtYnV0dG9ucyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0YnV0dG9uICsgYnV0dG9uIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG59XG5cbi52ZXJ0aWNhbC1yYWRpby1ncm91cHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5yYWRpby1idXR0b24taW5saW5lIHtcblx0bWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5teS1tb2RhbC1mb290ZXItcGF0aWVudC1kZXRhaWxzIHtcblx0LmJ0bi1uYXZ5IHtcblx0XHR3aWR0aDogMjIwcHg7XG5cdH1cbn1cblxuLndpZHRoXzM1X2Vte1xuXHR3aWR0aDogMzVlbTtcbn1cblxuaHIubGlmZS1xdWFsaXR5LWxpbmUtYnJlYWsge1xuXHRib3JkZXItdG9wLWNvbG9yOiAjMzg1MGEyO1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY3VzdG9tZXJfY2hlY2tib3hfcmVkIHtcbiAgIGlucHV0W3R5cGU9Y2hlY2tib3hdOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDEzcHg7XG5cdFx0aGVpZ2h0OiAxM3B4O1xuXHRcdGJvcmRlcjogc29saWQgcmVkO1xuXHRcdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YmVmb3JlIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMTVweDtcblx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuICAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogNXB4O1xuXHRcdGhlaWdodDogMTBweDtcblx0XHRib3JkZXI6IHNvbGlkIHdoaXRlO1xuXHRcdGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0LW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNXB4O1xuXHRcdGxlZnQ6IDVweDtcbn1cbiBzcGFuIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcblx0cGFkZGluZy1sZWZ0OiAwLjVlbTtcbiB9XG59XG5cbi5jdXN0b21lcl9jaGVja2JveF9ncmVlbiB7XG5cdGlucHV0W3R5cGU9Y2hlY2tib3hdOmJlZm9yZSB7XG5cdFx0IGNvbnRlbnQ6IFwiXCI7XG5cdFx0IGRpc3BsYXk6IGJsb2NrO1xuXHRcdCBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0IHdpZHRoOiAxM3B4O1xuXHRcdCBoZWlnaHQ6IDEzcHg7XG5cdFx0IGJvcmRlcjogc29saWQgZ3JlZW47XG5cdFx0IGJvcmRlci1yYWRpdXM6IDJweDtcblx0XHQgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gfVxuIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YmVmb3JlIHtcblx0XHQgY29udGVudDogXCJcIjtcblx0XHQgZGlzcGxheTogYmxvY2s7XG5cdFx0IHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHQgd2lkdGg6IDE1cHg7XG5cdFx0IGhlaWdodDogMTVweDtcblx0XHQgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gfVxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFmdGVyIHtcblx0XHQgY29udGVudDogXCJcIjtcblx0XHQgZGlzcGxheTogYmxvY2s7XG5cdFx0IHdpZHRoOiA1cHg7XG5cdFx0IGhlaWdodDogMTBweDtcblx0XHQgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcblx0XHQgYm9yZGVyLXdpZHRoOiAwIDJweCAycHggMDtcblx0XHQgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0IC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0IHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0XHQgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCB0b3A6IDVweDtcblx0XHQgbGVmdDogNXB4O1xuIH1cbiAgc3BhbiB7XG5cdCBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCB0b3A6IC0xcHg7XG5cdCBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICB9XG4gfVxuXG5cbi5jdXN0b21lcl9yYWRpb19yZWQge1xuXHQubWFya2VyIHtcblx0XHRtYXJnaW4tbGVmdDogMC41ZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0Zm9udC1zaXplOiAxLjZlbTtcblx0XHRjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG5cdH1cblx0aW5wdXRbdHlwZT1cInJhZGlvXCJdOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWQzZDE7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHdoaXRlO1xuICAgIH07XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZDphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHdoaXRlO1xuICAgIH07XG59XG5cbi5jdXN0b21lcl9yYWRpb19ncmVlbiB7XG5cdC5tYXJrZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiAwLjVlbTtcblx0XHRtYXJnaW4tcmlnaHQ6IDFlbTtcblx0XHRmb250LXNpemU6IDEuNmVtO1xuXHRcdGNvbG9yOiBncmVlbiAhaW1wb3J0YW50O1xuXHR9XG5cdGlucHV0W3R5cGU9XCJyYWRpb1wiXTphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFkM2QxO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IDBweCBzb2xpZCB3aGl0ZTtcbiAgICB9O1xuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkIHdoaXRlO1xuICAgIH07XG59XG5cbi5jdXN0b21lcl9yYWRpb19ub3JtYWwge1xuXHQubWFya2VyIHtcblx0XHRtYXJnaW4tbGVmdDogMC41ZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdFx0Zm9udC1zaXplOiAxLjZlbTtcblx0fVxuXHRpbnB1dFt0eXBlPVwicmFkaW9cIl06YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QxZDNkMTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYm9yZGVyOiAwcHggc29saWQgd2hpdGU7XG4gICAgfTtcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBib3JkZXI6IDBweCBzb2xpZCB3aGl0ZTtcbiAgICB9O1xufVxuXG4ucGFnaW5hdGlvbiB7XG5cdG1hcmdpbi10b3A6IDJlbSAhaW1wb3J0YW50O1xufVxuXG4ucGFnaW5hdGlvbj5saT5hLFxuLnBhZ2luYXRpb24+bGk+c3BhbiB7XG4gIGJvcmRlcjogMHB4O1xuICBwYWRkaW5nOiAzcHggNnB4O1xufVxuXG4ucGFnaW5hdGlvbj5saS5hY3RpdmU+YSB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogIzMzN2FiNztcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luLXRvcDogLTAuMmVtO1xuICB9XG4vKiAucGFnaW5hdGlvbj5saS5hY3RpdmU+YSB7XG4gIGJhY2tncm91bmQ6IHB1cnBsZTtcbiAgY29sb3I6ICNmZmY7XG59ICovXG5cbi8qIC5wYWdpbmF0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdC5saSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmVkO1xuXHR9XG59ICovXG5cbi5wb3BvdmVyX3VsIHtcblx0bWFyZ2luLWxlZnQ6IC0yZW07XG59XG5cbi5wb3BvdmVyX2NvbnRhaW5lciB7XG5cdC5wb3BvdmVyIHtcblx0XHR3aWR0aDogNDBlbTtcblx0XHRtYXgtd2lkdGg6IDQwZW07XG5cdH1cbn1cblxuLnBvcG92ZXJfbGFiZWwge1xuXHRtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHRmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCc7XG59XG5cbi5waW5rX2hlYWRlciB7XG5cdHBhZGRpbmctbGVmdDogMiU7XG5cdHBhZGRpbmctcmlnaHQ6IDIlO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICNFRUU2RkY7XG59XG5cbi5wdXJwbGVfaGVhZGVyIHtcblx0cGFkZGluZy1sZWZ0OiAyJTtcblx0cGFkZGluZy1yaWdodDogMiU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNywyMTAsMjMzKTtcbn1cblxuLmJsdWVfaGVhZGVyIHtcblx0cGFkZGluZy1sZWZ0OiAyJTtcblx0cGFkZGluZy1yaWdodDogMiU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNywyMjYsMjQzKTtcbn1cblxuLmxvbmdfc2VjdGlvbntcblx0d2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogLTUlO1xuXHRtYXJnaW4tcmlnaHQ6MTUlO1xufVxuIiwiLyogLm9wLWhlYWRlciB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogNXB4IDA7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7XG5cdGg0IHtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxufSAqL1xuXG4ub3BlcmF0aW9uLWZvcm0ge1xuXHRAZXh0ZW5kIC5mb250LXJlZ3VsYXI7XG5cdGNvbG9yOiAkdGV4dEdyZXk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Ly8gYmFja2dyb3VuZC1jb2xvcjogcGluaztcblx0cGFkZGluZzogMCAyMHB4O1xuXHRib3JkZXItdG9wOiAycHggc29saWQgJG5hdnk7XG5cdGJvcmRlci1yYWRpdXM6IDByZW07XG5cdHBhZGRpbmctdG9wOiAzZW07XG5cdHNlbGVjdCwgLmZvcm0tY29udHJvbCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0XHQvLyBjb2xvcjogJHRleHRHcmV5O1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJG5hdnk7XG5cdFx0LyogRG8gbm90IHNldCBhcHBlYXJhbmNlIChlLmcuIHJhZGlvKTogQ2hyb21lIG1pc2FsaWducyB0ZXh0IGluIGlucHV0cywgc2VsZWN0cywgYW5kIGRpdi5mb3JtLWNvbnRyb2wuICovXG5cdH1cbiAgICBcbiAgICAuc2luZ2xlLXZhbHVlLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAwcHg7XG4gICAgfVxuXG5cdC5mb3JtLWdyb3VwLWxhYmVsIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG5cdFx0LmNvbnRyb2wtbGFiZWwge1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0LmZsZXgge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRzZWxlY3QsXG5cdFx0LmlucHV0LFxuXHRcdC5pbmxpbmUtbnVtYmVyLFxuXHRcdC5tYXJrLXdyYXAge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5tYXJrLXdyYXAsXG5cdC5tYXJrLXdyYXAtZGVnIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuc2l4LXByZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDIwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIC8qIGxlZnQ6IC0yMHB4OyAqL1xuICAgICAgICAgICAgY29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0LnN0cmlwZS1wb3N0IHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0cmlnaHQ6IC0xNXB4O1xuXHRcdH1cblxuXHRcdC5zdHJpcGUtcHJlIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0bGVmdDogLTEycHg7XG5cdFx0fVxuXHR9XG5cblx0Lm1hcmstd3JhcC1kZWcge1xuXHRcdC5kZWcge1xuXHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDZweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDZweDtcblx0XHR9XG5cdFx0XG5cdFx0LnN0cmlwZS1wb3N0IHtcblx0XHRcdHJpZ2h0OiAtMzdweDtcblx0XHR9XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0Y29sb3I6ICRuYXZ5ICFpbXBvcnRhbnQ7XG5cdFx0QGV4dGVuZCAuZm9udC1ib2xkO1xuXHR9XG5cblx0Lm1hcmtlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogMnB4O1xuXHRcdEBleHRlbmQgLmZvbnQtcmVndWxhcjtcblx0fVxufVxuXG4uYnRuLW5leHQge1xuXHR3aWR0aDogMTIwcHg7XG5cdEBleHRlbmQgLmZvbnQtYm9sZDtcbn1cblxuLmNoZWNrLWxhYmVsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5jaGVjay1zcGFuIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAycHg7XG5cdH1cbn1cblxuLmxlbnMge1xuXHR3aWR0aDogMjIwcHg7XG59XG5cbi5sZW5zLWxhYmVsIHtcblx0bWFyZ2luLXRvcDogMzRweDtcbn1cblxuLnZpc3VhbC1sYWJlbCB7XG5cdG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi5mb3JtLWdyb3VwLWxhYmVsLXRvcCB7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5jb2wtYmluIHtcblx0cGFkZGluZy1sZWZ0OiA2MHB4O1xufVxuXG4ucHJlc3N1cmUtd3JhcCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O1xuXHQvKiBtYXgtd2lkdGg6IDQ2MHB4OyAqL1xuXG5cdC5mb3JtLWdyb3VwIHtcblx0XHR3aWR0aDogNDAlO1xuXHR9XG59XG5cbi5oYWxmLXdpZHRoIHtcblx0bWF4LXdpZHRoOiA1MCU7XG59XG5cbi5xdWFydGVyLXdpZHRoIHtcblx0bWF4LXdpZHRoOiAyNSU7XG59XG5cbi5ibHVlLWJveCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRuYXZ5O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGFsZUJsdWU7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdGJvcmRlci1yYWRpdXM6IDhweDtcblx0LmhlYWRlciB7XG5cdFx0QGV4dGVuZCAudGV4dC1uYXZ5O1xuXG5cdFx0Lmg0IHtcblx0XHRcdEBleHRlbmQgLmZvbnQtYm9sZDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5leWUtaGVhZGluZyB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5vcGVyYXRpb24tbm90ZS1zYXZlLXdyYXAge1xuXHRtaW4taGVpZ2h0OiA4MHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbjogMjBweCAwO1xuXG5cdC5wcm9ncmVzc2lvbi13cmFwIHtcblx0XHRtaW4td2lkdGg6IDI1MHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0LnNhdmUtcHJvZ3Jlc3Mge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdFx0QGV4dGVuZCAudGV4dC1uYXZ5O1xuXHRcdH1cblx0fVxuXG5cdC5wcm9ncmVzc2lvbi1hbGVydC13cmFwIHtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjgwcHgpO1xuXG5cdFx0LmFsZXJ0IHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdCYgKyAuYWxlcnQge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc3RhY2stdmVydCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDogMnB4O1xuXHRtYXJnaW4tbGVmdDogMTBweDtcblxuXHQucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHR9XG59XG5cbi5vcHRpb25hbCB7XG5cdEBleHRlbmQgLnRleHQtcHVycGxlO1xuXHRAZXh0ZW5kIC5mb250LWxpZ2h0LWl0YWxpYztcbn1cblxuLmZsZXgtYmlvbWV0cnkge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdC5jb250cm9sLWxhYmVsIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4uYmlvbWV0cnktaW5wdXQge1xuXHR3aWR0aDogMTAwcHg7XG5cdG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLmF4aXMtd3JhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmF4aXMtdGltZXMsXG4uYXhpcy1kZWcge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmF4aXMtdGltZXMge1xuXHRyaWdodDogY2FsYygxMDAlICsgNnB4KTtcbn1cblxuLmF4aXMtZGVnIHtcblx0bGVmdDogMTEwcHg7XG59XG5cbi5zZWN0aW9uLWxhYmVsIHtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmJpb21ldHJ5IHtcblx0LmZvcm0tcm93IHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHR9XG5cdC5sZWZ0LWNvbHVtbiB7XG5cdFx0d2lkdGg6IDE4cHg7XG5cdH1cblx0LmZvcm0tZ3JvdXAge1xuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0fVxuXHQuaGVscC1ibG9jayB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAzMDBweDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG59XG5cbi50YWJsZS1pbmNpc2lvbnMge1xuXHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdHRoLFxuXHR0ZCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbmF2eSAhaW1wb3J0YW50O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcblx0XHRib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyLWl0YWxpYztcblx0fVxuXHR0ZDpsYXN0LWNoaWxkIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cdC5yZW1vdmUtbWVkIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkbmF2eTtcblx0XHR3aWR0aDogMjRweDtcblx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHR9XG5cdH1cbn1cblxuLmJ0bi1hZGQtaW5jaXNpb24ge1xuXHRoZWlnaHQ6IDM0cHg7XG5cdHdpZHRoOiAzNHB4O1xuXHRtYXJnaW4tbGVmdDogMC41ZW07XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5mbGV4LWFsbGVyZ3kge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdC5ncm93IHtcblx0XHRmbGV4OiAxIDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG59XG5cbi5hbmFlc3RoZXRpYy13cmFwIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQuZm9ybS1ncm91cCB7XG5cdFx0d2lkdGg6IDI2MHB4O1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0fVxuXG5cdC5oZWxwLWJsb2NrIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuXG4udGV4dC1hcmVhLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0LmNvdW50LXJlbWFpbmluZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDE1cHg7XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdEBleHRlbmQgLmZvbnQtcmVndWxhci1pdGFsaWM7XG5cdH1cbn1cblxuLmRpYWJldGVzLXBvcC11cC13cmFwIHtcblx0d2lkdGg6IDUwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucmV0aW5vcGF0aHktcG9wLXVwLU9EIHtcblx0LnJldGlub3BhdGh5LXBvcHVwIHtcblx0XHRsZWZ0OiBjYWxjKDEwMCUgKyAxMHB4KTtcblx0fVxufVxuXG4ucmV0aW5vcGF0aHktcG9wLXVwLU9TIHtcblx0LnJldGlub3BhdGh5LXBvcHVwIHtcblx0XHRyaWdodDogY2FsYygxMDAlICsgMTBweCk7XG5cdH1cbn1cblxuLnNob3dSZXRpbm9wYXRoeSB7XG5cdC5yZXRpbm9wYXRoeS1wb3B1cCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuLm1hY3Vsb3BhdGh5LXBvcC11cC1PRCB7XG5cdC5tYWN1bG9wYXRoeS1wb3B1cCB7XG5cdFx0bGVmdDogY2FsYygxMDAlICsgMTBweCk7XG5cdH1cbn1cblxuLm1hY3Vsb3BhdGh5LXBvcC11cC1PUyB7XG5cdC5tYWN1bG9wYXRoeS1wb3B1cCB7XG5cdFx0cmlnaHQ6IGNhbGMoMTAwJSArIDEwcHgpO1xuXHR9XG59XG5cbi5zaG93TWFjdWxvcGF0aHkge1xuXHQubWFjdWxvcGF0aHktcG9wdXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5yZXRpbm9wYXRoeS1wb3B1cCxcbi5tYWN1bG9wYXRoeS1wb3B1cCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRuYXZ5O1xuXHRwYWRkaW5nOiAxNXB4O1xuXHRmb250LXNpemU6IDEwcHg7XG5cdGNvbG9yOiAkbmF2eTtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdHdpZHRoOiA0ODBweDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxO1xuXHR0b3A6IDA7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0LnRhYmxlLWJvcmRlcmVkIHtcblx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdFx0dGgge1xuXHRcdFx0QGV4dGVuZCAuZm9udC1ib2xkLWl0YWxpYztcblx0XHR9XG5cblx0XHR0aCxcblx0XHR0ZCB7XG5cdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbmF2eTtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG5hdnk7XG5cblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRyOmxhc3QtY2hpbGQge1xuXHRcdFx0dGQge1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR0ZCxcblx0cCB7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyLWl0YWxpYztcblx0fVxuXG5cdHRkLFxuXHR0aCB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkbmF2eSAhaW1wb3J0YW50O1xuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4ucmV0aW5vcGF0aHktcG9wdXAge1xuXHR0aDpmaXJzdC1jaGlsZCxcblx0dGQ6Zmlyc3QtY2hpbGQge1xuXHRcdHdpZHRoOiAxMjBweDtcblx0fVxufVxuXG4ub3BlcmF0aW9uLWZvcm0ge1xuXHQuZmxleC1sZW5zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0LmZvcm0tZ3JvdXAge1xuXHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblxuXHRcdC5mb3JtLWdyb3VwLWF4aXMge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDExMHB4O1xuXHRcdH1cblx0fVxufVxuXG4uYWxsZXJneS1mb3JtLXdyYXAge1xuXHQuaGVscC1ibG9jayB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG59XG5cbi5sb2NzaWlpLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiA1MCU7XG59XG5cbi5sb2NzaWlpLWltZy13cmFwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogNTAwcHg7XG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmxvY3NpaWktaW1nLXdyYXAtT0Qge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiA3MDBweDtcblx0bGVmdDogY2FsYygxMDAlICsgMTVweCk7XG5cdHRvcDogMDtcblx0ei1pbmRleDogMTtcblx0ZGlzcGxheTogbm9uZTtcblxuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5sb2NzaWlpLWltZy13cmFwLU9TIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogNTAwcHg7XG5cdHJpZ2h0OiBjYWxjKDEwMCUgKyAxNXB4KTtcblx0dG9wOiAwO1xuXHR6LWluZGV4OiAxO1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLnNob3dPcGFsLFxuLnNob3dDb2xvdXIsXG4uc2hvd0NvcnRpY2FsLFxuLnNob3dQdXBpbCxcbi5zaG93U3ViIHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLm9wZXJhdGlvbi1ub3RlLWhlYWRlciB7XG5cdC8vIG91dGxpbmU6IDFweCBkb3R0ZWQgcGluaztcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHQuaGVhZC1mbGV4IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHR9XG5cdH1cblxuXHRoMyxcblx0aDQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRAZXh0ZW5kIC5mb250LWJvbGQ7XG5cdFx0QGV4dGVuZCAudGV4dC1uYXZ5O1xuXHR9XG5cblx0aDYge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRAZXh0ZW5kIC50ZXh0LW5hdnk7XG5cdH1cblxuXHQuaGVhZC1saW5rIHtcblx0XHRjb2xvcjogJG5hdnk7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRAZXh0ZW5kIC5mb250LXJlZ3VsYXI7XG5cdH1cblxuXHQuaGVhZC1uYW1lIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdH1cblxuXHQuaGVhZGVyLWxlZnQsXG5cdC5oZWFkZXItcmlnaHQge1xuXHRcdC8vIG91dGxpbmU6IDFweCBzb2xpZCBncmVlbjtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0fVxuXG5cdC5oZWFkZXItcmlnaHQge1xuXHRcdC8vIG1hcmdpbi1yaWdodDogODBweDtcblx0XHQvLyBvdXRsaW5lOiAxcHggc29saWQgYmx1ZTtcblx0fVxufVxuXG4ucG9wb3Zlci1wcmVvcC13cmFwIHtcblx0cGFkZGluZzogMjBweDtcblx0cGFkZGluZy1ib3R0b206IDA7XG5cdHdpZHRoOiAzMDBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGxhYmVsIHtcblx0XHRjb2xvcjogJG5hdnkgIWltcG9ydGFudDtcblx0XHRAZXh0ZW5kIC5mb250LXJlZ3VsYXI7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblxuXHQuZm9ybS1jb250cm9sIHtcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJG5hdnk7XG5cdH1cblxuXHQuZm9ybS1ncm91cDpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG59XG5cbi5wb3BvdmVyIHtcblx0Ym9yZGVyLWNvbG9yOiAkbmF2eTtcblxuXHQubWFya2VyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAycHg7XG5cdH1cbn1cblxuLnBvcG92ZXIuYm90dG9tID4gLmFycm93IHtcblx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdnk7XG59XG5cbi5zcGlubmVyLXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52ZXJ0aWNhbC1idXR0b25zIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRidXR0b24gKyBidXR0b24ge1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cbn1cblxuLm15LW1vZGFsLWZvb3Rlci1wYXRpZW50LWRldGFpbHMge1xuXHQuYnRuLW5hdnkge1xuXHRcdHdpZHRoOiAyMjBweDtcblx0fVxufVxuXG4uaW5jaXNpb25zLWltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmctbGVmdDogNWVtO1xuXHRwYWRkaW5nLXJpZ2h0OiA1ZW07XG5cdG1hcmdpbi10b3A6IDFlbTtcblx0bWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4ubWFyZ2luLXRvcC0yZW0ge1xuXHRtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5tYXJnaW4tdG9wLTFlbSB7XG5cdG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLnBhZGRpbmctdG9wLWRvdC00ZW0ge1xuXHRwYWRkaW5nLXRvcDogMC40ZW07XG59XG5cbi5jdXN0b20tc2xpZGVyLnJ6c2xpZGVyIDpmb2N1cyB7b3V0bGluZTpub25lO31cblxuLmN1c3RvbS1zbGlkZXIucnpzbGlkZXIge1xuXHRtYXJnaW4tdG9wOiAxZW07XG5cdG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmN1c3RvbS1zbGlkZXIucnpzbGlkZXIgLnJ6LWJhciB7XG5cdGhlaWdodDogOHB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cblxuICAuY3VzdG9tLXNsaWRlci5yenNsaWRlciAucnotcG9pbnRlciB7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cdHRvcDogYXV0bzsgLyogdG8gcmVtb3ZlIHRoZSBkZWZhdWx0IHBvc2l0aW9uaW5nICovXG5cdGJvdHRvbTogMDtcblx0bWFyZ2luLWJvdHRvbTogLTZweDtcbiAgfVxuICBcbiAgLmN1c3RvbS1zbGlkZXIucnpzbGlkZXIgLnJ6LXBvaW50ZXI6YWZ0ZXIge1xuXHRkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAuY3VzdG9tLXNsaWRlci5yenNsaWRlciAucnotYnViYmxlIHtcblx0Ym90dG9tOiAxNHB4O1xuICB9XG4gIFxuICAuY3VzdG9tLXNsaWRlci5yenNsaWRlciAucnotbGltaXQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5jdXN0b20tc2xpZGVyLnJ6c2xpZGVyIC5yei10aWNrLXZhbHVlIHtcblx0dG9wOjBweDtcblx0Y29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIFxuICAuY3VzdG9tLXNsaWRlci5yenNsaWRlciAucnotdGljayB7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMTBweDtcblx0bWFyZ2luLWxlZnQ6IDhweDtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0dG9wOiAtMXB4O1xuICB9XG5cbiAgLnRyYW5zcGFyZW50LWNvbG9yIHtcblx0ICBjb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmJ0bi13aGl0ZSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0Y29sb3I6ICRuYXZ5O1xuXHR3aWR0aDogMjAwcHg7XG5cdGJvcmRlci1jb2xvcjogJG5hdnk7XG59XG5cbi5tYXJnaW4tbWlkZGxlIHtcblx0bWFyZ2luLWxlZnQ6IDFlbTtcblx0bWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cbi5oZWFkLWxpbmsge1xuXHRjb2xvcjogJG5hdnk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0QGV4dGVuZCAuZm9udC1yZWd1bGFyO1xufVxuXG4uZm9udC1zaXplLTE2IHtcblx0Zm9udC1zaXplOiAxNnB4O1xufVxuXG4ucG9zdG9wZXJhdGl2ZS1oZWFkZXIge1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAyZW07XG5cdG1hcmdpbi1ib3R0b206IDJlbTtcbn1cblxuLmNhcmV0IHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMDtcblx0aGVpZ2h0OiAwO1xuXHRtYXJnaW4tbGVmdDogMnB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRib3JkZXItdG9wOiAwcHggZGFzaGVkO1xuXHRib3JkZXItdG9wOiAwcHggc29saWQgXFw5O1xuXHRib3JkZXItcmlnaHQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4uZm9udC1yZWd1bGFyIHtcblx0Zm9udC1mYW1pbHk6ICdHb3JkaXRhIFJlZ3VsYXInICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXNpemUtOCB7XG5cdGZvbnQtc2l6ZTogOHB4ICFpbXBvcnRhbnQ7XG59XG4ubWFyZ2luLXRvLXJpZ2h0IHtcblx0bWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmdyaWQtY29sdW1uLW5vLXBhZGRpbmcge1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0cGFkZGluZy1yaWdodDogMHB4O1xuXG59XG4uc2VsZWN0LW5vLW1hcmdpbiB7XG5cdG1hcmdpbi1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4iLCIvKiFcbiAqIHVpLXNlbGVjdFxuICogaHR0cDovL2dpdGh1Yi5jb20vYW5ndWxhci11aS91aS1zZWxlY3RcbiAqIFZlcnNpb246IDAuMTguMCAtIDIwMTYtMDYtMTRUMDY6NTQ6NDMuMTU5WlxuICogTGljZW5zZTogTUlUXG4gKi9cblxuLyogU3R5bGUgd2hlbiBoaWdobGlnaHRpbmcgYSBzZWFyY2guICovXG4udWktc2VsZWN0LWhpZ2hsaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi51aS1zZWxlY3Qtb2Zmc2NyZWVuIHtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnVpLXNlbGVjdC1jaG9pY2VzLXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxuLnVpLXNlbGVjdC1jaG9pY2VzLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdGl6ZS1jb250cm9sLnNpbmdsZSAuc2VsZWN0aXplLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBTZWxlY3QyIHRoZW1lICovXG5cbi8qIE1hcmsgaW52YWxpZCBTZWxlY3QyICovXG4ubmctZGlydHkubmctaW52YWxpZCA+IGEuc2VsZWN0Mi1jaG9pY2Uge1xuICAgIGJvcmRlci1jb2xvcjogI2Q0NDk1MDtcbn1cblxuLnNlbGVjdDItcmVzdWx0LXNpbmdsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uc2VsZWN0Mi1sb2NrZWQgPiAuc2VsZWN0Mi1zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VsZWN0LWxvY2tlZCA+IC51aS1zZWxlY3QtbWF0Y2gtY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkgPiAuc2VsZWN0Mi1jb250YWluZXIub3BlbiB7XG4gICAgei1pbmRleDogOTk5OTsgLyogVGhlIHotaW5kZXggU2VsZWN0MiBhcHBsaWVzIHRvIHRoZSBzZWxlY3QyLWRyb3AgKi9cbn1cblxuLyogSGFuZGxlIHVwIGRpcmVjdGlvbiBTZWxlY3QyICovXG4udWktc2VsZWN0LWNvbnRhaW5lclt0aGVtZT1cInNlbGVjdDJcIl0uZGlyZWN0aW9uLXVwIC51aS1zZWxlY3QtbWF0Y2gge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgLyogRklYTUUgaGFyZGNvZGVkIHZhbHVlIDotLyAqL1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWktc2VsZWN0LWNvbnRhaW5lclt0aGVtZT1cInNlbGVjdDJcIl0uZGlyZWN0aW9uLXVwIC51aS1zZWxlY3QtZHJvcGRvd24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgLyogRklYTUUgaGFyZGNvZGVkIHZhbHVlIDotLyAqL1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcblxuICAgIGJveC1zaGFkb3c6IDAgLTRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcblxuICAgIG1hcmdpbi10b3A6IC00cHg7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbn1cbi51aS1zZWxlY3QtY29udGFpbmVyW3RoZW1lPVwic2VsZWN0MlwiXS5kaXJlY3Rpb24tdXAgLnVpLXNlbGVjdC1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2gge1xuICAgIG1hcmdpbi10b3A6IDRweDsgLyogRklYTUUgaGFyZGNvZGVkIHZhbHVlIDotLyAqL1xufVxuLnVpLXNlbGVjdC1jb250YWluZXJbdGhlbWU9XCJzZWxlY3QyXCJdLmRpcmVjdGlvbi11cC5zZWxlY3QyLWRyb3Bkb3duLW9wZW4gLnVpLXNlbGVjdC1tYXRjaCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzU4OTdmYjtcbn1cbi8qIFNlbGVjdGl6ZSB0aGVtZSAqL1xuXG4vKiBIZWxwZXIgY2xhc3MgdG8gc2hvdyBzdHlsZXMgd2hlbiBmb2N1cyAqL1xuLnNlbGVjdGl6ZS1pbnB1dC5zZWxlY3RpemUtZm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdGl6ZS1pbnB1dCA+IGlucHV0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgb3V0bGluZS1jb2xvcjogcmVkO1xuICAgIC8qIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgKi9cbn1cblxuLnNlbGVjdGl6ZS1jb250cm9sLnNpbmdsZSAuc2VsZWN0aXplLWlucHV0LFxuLnNlbGVjdGl6ZS1kcm9wZG93bi5zaW5nbGUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEZpeCBpbnB1dCB3aWR0aCBmb3IgU2VsZWN0aXplIHRoZW1lICovXG4uc2VsZWN0aXplLWNvbnRyb2wgPiAuc2VsZWN0aXplLWlucHV0ID4gaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBGaXggZHJvcGRvd24gd2lkdGggZm9yIFNlbGVjdGl6ZSB0aGVtZSAqL1xuLnNlbGVjdGl6ZS1jb250cm9sID4gLnNlbGVjdGl6ZS1kcm9wZG93biB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zZWxlY3RpemUtY29udHJvbC5zaW5nbGUgLnNlbGVjdGl6ZS1pbnB1dCxcbsKgLnNlbGVjdGl6ZS1kcm9wZG93bi5zaW5nbGXCoCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzg1MGEyICFpbXBvcnRhbnQ7XG4gICAgLyogYm9yZGVyOiAxcHggc29saWQgIzM4NTBhMiAhaW1wb3J0YW50OyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTRweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1hcmsgaW52YWxpZCBTZWxlY3RpemUgKi9cbi5uZy1kaXJ0eS5uZy1pbnZhbGlkID4gZGl2LnNlbGVjdGl6ZS1pbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDQ0OTUwO1xufVxuXG4uc2VsZWN0aXplLWRyb3Bkb3duIHtcbiAgICBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhhbmRsZSB1cCBkaXJlY3Rpb24gU2VsZWN0aXplICovXG4udWktc2VsZWN0LWNvbnRhaW5lclt0aGVtZT1cInNlbGVjdGl6ZVwiXS5kaXJlY3Rpb24tdXAgLnVpLXNlbGVjdC1kcm9wZG93biB7XG4gICAgYm94LXNoYWRvdzogMCAtNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG4gICAgbWFyZ2luLXRvcDogLTJweDsgLyogRklYTUUgaGFyZGNvZGVkIHZhbHVlIDotLyAqL1xufVxuXG4vKiBCb290c3RyYXAgdGhlbWUgKi9cblxuLyogSGVscGVyIGNsYXNzIHRvIHNob3cgc3R5bGVzIHdoZW4gZm9jdXMgKi9cbi5idG4tZGVmYXVsdC1mb2N1cyB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAwLjYpO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LXRvZ2dsZSA+IC5jYXJldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vKiBGaXggQm9vdHN0cmFwIGRyb3Bkb3duIHBvc2l0aW9uIHdoZW4gaW5zaWRlIGEgaW5wdXQtZ3JvdXAgKi9cbi5pbnB1dC1ncm91cCA+IC51aS1zZWxlY3QtYm9vdHN0cmFwLmRyb3Bkb3duIHtcbiAgICAvKiBJbnN0ZWFkIG9mIHJlbGF0aXZlICovXG4gICAgcG9zaXRpb246IHN0YXRpYztcbn1cblxuLmlucHV0LWdyb3VwID4gLnVpLXNlbGVjdC1ib290c3RyYXAgPiBpbnB1dC51aS1zZWxlY3Qtc2VhcmNoLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyAvKiBGSVhNRSBoYXJkY29kZWQgdmFsdWUgOi0vICovXG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG4uaW5wdXQtZ3JvdXAgPiAudWktc2VsZWN0LWJvb3RzdHJhcCA+IGlucHV0LnVpLXNlbGVjdC1zZWFyY2guZm9ybS1jb250cm9sLmRpcmVjdGlvbi11cCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7IC8qIEZJWE1FIGhhcmRjb2RlZCB2YWx1ZSA6LS8gKi9cbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwID4gLnVpLXNlbGVjdC1tYXRjaCA+IC5idG4ge1xuICAgIC8qIEluc3RlYWQgb2YgY2VudGVyIGJlY2F1c2Ugb2YgLmJ0biAqL1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgPiAudWktc2VsZWN0LW1hdGNoID4gLmNhcmV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NSU7XG4gICAgcmlnaHQ6IDE1cHg7XG59XG5cbi8qIFNlZSBTY3JvbGxhYmxlIE1lbnUgd2l0aCBCb290c3RyYXAgMyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE5MjI3NDk2ICovXG4udWktc2VsZWN0LWJvb3RzdHJhcCA+IC51aS1zZWxlY3QtY2hvaWNlcyxcbi51aS1zZWxlY3QtYm9vdHN0cmFwID4gLnVpLXNlbGVjdC1uby1jaG9pY2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbn1cblxuYm9keSA+IC51aS1zZWxlY3QtYm9vdHN0cmFwLm9wZW4ge1xuICAgIHotaW5kZXg6IDEwMDA7IC8qIFN0YW5kYXJkIEJvb3RzdHJhcCBkcm9wZG93biB6LWluZGV4ICovXG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGUudWktc2VsZWN0LWJvb3RzdHJhcCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCAzcHggMCAzcHg7XG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGUudWktc2VsZWN0LWJvb3RzdHJhcCBpbnB1dC51aS1zZWxlY3Qtc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyAvKiBUbyBwcmV2ZW50IGRvdWJsZSBiYWNrZ3JvdW5kIHdoZW4gZGlzYWJsZWQgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBoZWlnaHQ6IDEuNjY2NjY2ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1tYXRjaCAuY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuNzU7XG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGUudWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LW1hdGNoLWl0ZW0ge1xuICAgIG91dGxpbmU6IDA7XG4gICAgbWFyZ2luOiAwIDNweCAzcHggMDtcbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZSAudWktc2VsZWN0LW1hdGNoLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVpLXNlbGVjdC1tdWx0aXBsZSAudWktc2VsZWN0LW1hdGNoLWl0ZW0uZHJvcHBpbmcgLnVpLXNlbGVjdC1tYXRjaC1jbG9zZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi51aS1zZWxlY3QtbXVsdGlwbGU6aG92ZXIgLnVpLXNlbGVjdC1tYXRjaC1pdGVtLmRyb3BwaW5nLWJlZm9yZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNDI4YmNhO1xufVxuXG4udWktc2VsZWN0LW11bHRpcGxlOmhvdmVyIC51aS1zZWxlY3QtbWF0Y2gtaXRlbS5kcm9wcGluZy1hZnRlcjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzQyOGJjYTtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdyA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdyA+IGE6aG92ZXIsXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LWNob2ljZXMtcm93ID4gYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5cbi51aS1zZWxlY3QtYm9vdHN0cmFwIC51aS1zZWxlY3QtY2hvaWNlcy1yb3cuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyOGJjYTtcbn1cblxuLnVpLXNlbGVjdC1ib290c3RyYXAgLnVpLXNlbGVjdC1jaG9pY2VzLXJvdy5kaXNhYmxlZCA+IGEsXG4udWktc2VsZWN0LWJvb3RzdHJhcCAudWktc2VsZWN0LWNob2ljZXMtcm93LmFjdGl2ZS5kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLyogZml4IGhpZGUvc2hvdyBhbmd1bGFyIGFuaW1hdGlvbiAqL1xuLnVpLXNlbGVjdC1tYXRjaC5uZy1oaWRlLWFkZCxcbi51aS1zZWxlY3Qtc2VhcmNoLm5nLWhpZGUtYWRkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1hcmsgaW52YWxpZCBCb290c3RyYXAgKi9cbi51aS1zZWxlY3QtYm9vdHN0cmFwLm5nLWRpcnR5Lm5nLWludmFsaWQgPiBidXR0b24uYnRuLnVpLXNlbGVjdC1tYXRjaCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDQ0OTUwO1xufVxuXG4vKiBIYW5kbGUgdXAgZGlyZWN0aW9uIEJvb3RzdHJhcCAqL1xuLnVpLXNlbGVjdC1jb250YWluZXJbdGhlbWU9XCJib290c3RyYXBcIl0uZGlyZWN0aW9uLXVwIC51aS1zZWxlY3QtZHJvcGRvd24ge1xuICAgIGJveC1zaGFkb3c6IDAgLTRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLnNlbGVjdGl6ZS1jb250cm9sLnNpbmdsZSAuc2VsZWN0aXplLWlucHV0OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDdweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC01cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6ICRuYXZ5ICRuYXZ5IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAwcHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cblxuLmxpc3RjbGFzcyB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggIWltcG9ydGFudDtcbn0iLCIucHJlbWl1bS1sZW5zLXByaWNlLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2eTsgKi9cbn1cblxuLmg0LW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLm5hdnktY29sb3Ige1xuICAgIGNvbG9yOiAkbmF2eSAhaW1wb3J0YW50O1xufVxuLmZsZXgtcm93IHtcbiAgICB3aWR0aDogMjAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cbi5kb2xsYXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtNmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nLXRvcDogMC44ZW07XG59XG5cbi5kb2xsYXItbm9uLXRvcmljIHtcbiAgICBtYXJnaW4tbGVmdDogLTZlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy10b3A6IDAuOGVtO1xufVxuXG4ucGFkZGluZy16ZXJvIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmFsaWduLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5uZXh0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59IiwiLnNsaWRlSW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4uc2xpZGVJbi5uZy1lbnRlcixcbi5zbGlkZUluLm5nLWxlYXZlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xufVxuLnNsaWRlSW4ubmctZW50ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG59XG4uc2xpZGVJbi5uZy1lbnRlci1hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG59XG4uc2xpZGVJbi5uZy1sZWF2ZSB7XG4gICAgbGVmdDogMDtcbn1cbi5zbGlkZUluLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgbGVmdDogMTAwJTtcbn1cblxuLnNsaWRlT3V0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnNsaWRlT3V0Lm5nLWVudGVyLFxuLnNsaWRlT3V0Lm5nLWxlYXZlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xufVxuLnNsaWRlT3V0Lm5nLWVudGVyIHtcbiAgICBsZWZ0OiAtMTAwJTtcbn1cbi5zbGlkZU91dC5uZy1lbnRlci1hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG59XG4uc2xpZGVPdXQubmctbGVhdmUge1xuICAgIGxlZnQ6IDA7XG59XG4uc2xpZGVPdXQubmctbGVhdmUtYWN0aXZlIHtcbiAgICBsZWZ0OiAtMTAwJTtcbn1cblxuLnNsaWRlZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5zbGlkZWRvd24ubmctZW50ZXIsXG4uc2xpZGVkb3duLm5nLWxlYXZlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xufVxuLnNsaWRlZG93bi5uZy1lbnRlciB7XG4gICAgdG9wOiAtMTAwJTtcbn1cbi5zbGlkZWRvd24ubmctZW50ZXItYWN0aXZlIHtcbiAgICB0b3A6IDA7XG59XG4uc2xpZGVkb3duLm5nLWxlYXZlIHtcbiAgICB0b3A6IDA7XG59XG4uc2xpZGVkb3duLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgdG9wOiAxMDAlO1xufVxuXG4uc2xpZGV1cCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbn1cbi5zbGlkZXVwLm5nLWVudGVyLFxuLnNsaWRldXAubmctbGVhdmUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XG59XG4uc2xpZGV1cC5uZy1lbnRlciB7XG4gICAgdG9wOiAxMDAlO1xufVxuLnNsaWRldXAubmctZW50ZXItYWN0aXZlIHtcbiAgICB0b3A6IDA7XG59XG4uc2xpZGV1cC5uZy1sZWF2ZSB7XG4gICAgdG9wOiAwO1xufVxuLnNsaWRldXAubmctbGVhdmUtYWN0aXZlIHtcbiAgICB0b3A6IC0xMDAlO1xufSIsIlxuXG4uYWktZnVsbC1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIC0tLSBNYWluIExheW91dCBDb250YWluZXIgLS0tICovXG4uYWktYWdlbnQtbWFpbiB7XG4gICAgLyogQ2hhbmdlZCBmcm9tIG1hcmdpbiB0byBwYWRkaW5nIHNvIGhlaWdodDogMTAwJSB3b3JrcyBjb3JyZWN0bHkgKi9cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMnJlbTsgXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICAvKiBFTkFCTEVTIFRIRSBTVElDS1kgRk9PVEVSIExBWU9VVCAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyogLS0tIFNjcm9sbGFibGUgQ29udGVudCBBcmVhIC0tLSAqL1xuLyogVGhpcyB0YXJnZXRzIHRoZSBjb250YWluZXIgaG9sZGluZyB0aGUgdGFibGVzIGFuZCBmb3JtcyAqL1xuLmRpYWxvZy1jb250ZW50LWJveCwgLmFpLXNjcm9sbCB7XG4gICAgLyogR3JvdyB0byBmaWxsIGVtcHR5IHNwYWNlICovXG4gICAgZmxleDogMTsgXG4gICAgXG4gICAgLyogSGFuZGxlIFNjcm9sbGluZyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87IFxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBcbiAgICAvKiBSZW1vdmUgZml4ZWQgaGVpZ2h0cyAqL1xuICAgIGhlaWdodDogYXV0bzsgXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgLyogQWRkIGJyZWF0aGluZyByb29tIGZvciBzY3JvbGxiYXIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IFxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBcbiAgICAvKiBGaXggZm9yIEZpcmVmb3ggZmxleCBzY3JvbGxpbmcgKi9cbiAgICBtaW4taGVpZ2h0OiAwOyBcbn1cblxuLyogLS0tIEZvb3RlciBCdXR0b25zIC0tLSAqL1xuLmFpLWFnZW50LWZvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgLyogTGF5b3V0ICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGZsZXgtc2hyaW5rOiAwOyBcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIG1hcmdpbi10b3A6IGF1dG87IFxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi8qIC0tLSBVdGlsaXR5IENsYXNzZXMgLS0tICovXG4uYWktYWdlbnQtaXRlbS1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiAxcmVtO1xufVxuXG4vKiAtLS0gQW5pbWF0aW9ucyAtLS0gKi9cbi5wbGF5aW5nIGkge1xuICAgIGFuaW1hdGlvbjogZmxhc2ggMXMgaW5maW5pdGU7XG4gICAgY29sb3I6ICNlOTFlNjM7XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAgIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICAgIDUwJSB7IG9wYWNpdHk6IDAuMzsgfVxufVxuXG4vKiAtLS0gVHJhbnNjcmlwdGlvbiBzdHlsZXMgLS0tICovXG4udHItY29tcGFjdC10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG59XG5cbi8qIFN0YW5kYXJkaXplZCAzMHgzMCBzcXVhcmUgYnV0dG9ucyBmb3IgaWNvbnMgKi9cbi50ci1pY29uLWJ0biB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udHItbWljLXNlbGVjdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogMTYwcHg7XG59XG5cbiAgICAudHItbWljLXNlbGVjdG9yIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgfVxuXG4udHItbWljLWljb24tYWRkb24ge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4udHItdGltZXItZGlzcGxheSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG59XG5cbi50ci10b29sYmFyLWRpdmlkZXIge1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgbWFyZ2luOiAwIDJweDtcbn1cblxuLnRyLXBlcm1pc3Npb24tZXJyb3Ige1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmJsaW5rIHtcbiAgICBhbmltYXRpb246IGJsaW5rZXIgMS41cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgYmxpbmtlciB7XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbiIsIi8qXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGVtZWQgUXVpbGwgRWRpdG9yIENvbXBvbmVudFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG5cbi8qIC0tLSAxLiBUaGVtZSBWYXJpYWJsZXMgLS0tICovXG46cm9vdCB7XG4gICAgLS1xbC1mb250LWZhbWlseTogJ0dvcmRpdGEgUmVndWxhcicsIHNhbnMtc2VyaWY7XG4gICAgLS1xbC1ib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgLS1xbC1ib3JkZXItY29sb3I6ICM5NDk1OTk7IFxuICAgIC0tcWwtYWNjZW50LWNvbG9yOiAjMDAzNWQyOyBcbiAgICAtLXFsLXdoaXRlLWNvbG9yOiAjZmZmZmZmO1xuICAgIC0tcWwtdGV4dC1iZy1jb2xvcjogI2YyZjZmYjsgXG4gICAgLS1xbC10b29sYmFyLWJnLWNvbG9yOiAjZWJlY2VhOyBcbiAgICAtLXFsLXRleHQtY29sb3I6ICM0MDQxNDE7IFxuICAgIC0tcWwtc3VidGxlLWJvcmRlci1jb2xvcjogI2JjY2FkMjsgXG59XG5cbi8qIC0tLSAyLiBNYWluIEVkaXRvciBDb250YWluZXIgLS0tICovXG4ucWwtdG9vbGJhcixcbi5xbC1jb250YWluZXIge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1xbC1mb250LWZhbWlseSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xbC1ib3JkZXItY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cbi8qIC0tLSAzLiBUb29sYmFyIFVJIC0tLSAqL1xuLnFsLXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXFsLXRvb2xiYXItYmctY29sb3IpO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLXFsLWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1xbC1ib3JkZXItcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcWwtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuXG4gICAgLnFsLXRvb2xiYXIgLnFsLXN0cm9rZSB7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tcWwtdGV4dC1jb2xvcik7XG4gICAgfVxuXG4gICAgLnFsLXRvb2xiYXIgLnFsLWZpbGwge1xuICAgICAgICBmaWxsOiB2YXIoLS1xbC10ZXh0LWNvbG9yKTtcbiAgICB9XG5cbiAgICAucWwtdG9vbGJhciAucWwtcGlja2VyLWxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXFsLXRleHQtY29sb3IpO1xuICAgIH1cblxuICAgICAgICAucWwtdG9vbGJhciBidXR0b246aG92ZXIsXG4gICAgICAgIC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWw6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xbC10b29sYmFyIGJ1dHRvbi5xbC1hY3RpdmUsXG4gICAgICAgIC5xbC10b29sYmFyIC5xbC1waWNrZXItbGFiZWwucWwtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgNTMsIDIxMCwgMC4xKTsgXG4gICAgICAgIH1cblxuICAgIC5xbC10b29sYmFyIC5xbC10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuXG4vKiAtLS0gNC4gRWRpdGFibGUgQ29udGVudCBBcmVhIC0tLSAqL1xuLnFsLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcWwtYm9yZGVyLXJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXFsLWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXFsLXRleHQtYmctY29sb3IpO1xufVxuXG4ucWwtZWRpdG9yIHtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBjb2xvcjogdmFyKC0tcWwtdGV4dC1jb2xvcik7XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG59XG5cbiAgICAucWwtZWRpdG9yLnFsLWJsYW5rOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzk0OTU5OTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBsZWZ0OiAxLjVyZW07XG4gICAgfVxuXG5cbi8qIC0tLSA1LiBGb2N1cyBTdGF0ZSAtLS0gKi9cbi5xbC1jb250YWluZXIucWwtZm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcWwtYWNjZW50LWNvbG9yKSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDAsIDUzLCAyMTAsIDAuMjUpO1xufVxuXG4ucWwtdG9vbGJhci5xbC1mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xbC1hY2NlbnQtY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cblxuLyogLS0tIDYuIENvbnRlbnQgU3R5bGluZyAtLS0gKi9cbi5xbC1lZGl0b3IgaDEsIC5xbC1lZGl0b3IgaDIsIC5xbC1lZGl0b3IgaDMge1xuICAgIGNvbG9yOiB2YXIoLS1xbC10ZXh0LWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xbC1zdWJ0bGUtYm9yZGVyLWNvbG9yKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC44ZW07XG59XG5cbi5xbC1lZGl0b3IgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4ucWwtZWRpdG9yIGgyIHtcbiAgICBmb250LXNpemU6IDEuNzVlbTtcbn1cblxuLnFsLWVkaXRvciBoMyB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLnFsLWVkaXRvciBwLCAucWwtZWRpdG9yIG9sLCAucWwtZWRpdG9yIHVsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICBjb2xvcjogdmFyKC0tcWwtdGV4dC1jb2xvcik7XG59XG5cbi5xbC1lZGl0b3IgYSB7XG4gICAgY29sb3I6IHZhcigtLXFsLWFjY2VudC1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbiAgICAucWwtZWRpdG9yIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbi8qIC0tLSA3LiBGb250IEZhbWlseSBTZWxlY3RvciAtLS0gKi9cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCB7XG4gICAgd2lkdGg6IDEzMHB4O1xufVxuXG4vKiBEZWZhdWx0IG9wdGlvbiAobm8gZm9udCB2YWx1ZSkgaXMgdGhlIHRoZW1lIGZvbnQsIEdvcmRpdGEgUmVndWxhci4gKi9cbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWxhYmVsOjpiZWZvcmUsXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdHb3JkaXRhIFJlZ3VsYXInO1xuICAgIGZvbnQtZmFtaWx5OiAnR29yZGl0YSBSZWd1bGFyJywgc2Fucy1zZXJpZjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cImFyaWFsXCJdOjpiZWZvcmUsXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1pdGVtW2RhdGEtdmFsdWU9XCJhcmlhbFwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnQXJpYWwnO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cImdlb3JnaWFcIl06OmJlZm9yZSxcbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cImdlb3JnaWFcIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogJ0dlb3JnaWEnO1xuICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cInRpbWVzLW5ldy1yb21hblwiXTo6YmVmb3JlLFxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItaXRlbVtkYXRhLXZhbHVlPVwidGltZXMtbmV3LXJvbWFuXCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdUaW1lcyBOZXcgUm9tYW4nO1xuICAgIGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgVGltZXMsIHNlcmlmO1xufVxuXG4ucWwtc25vdyAucWwtcGlja2VyLnFsLWZvbnQgLnFsLXBpY2tlci1sYWJlbFtkYXRhLXZhbHVlPVwiY291cmllci1uZXdcIl06OmJlZm9yZSxcbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cImNvdXJpZXItbmV3XCJdOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdDb3VyaWVyIE5ldyc7XG4gICAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIE5ldycsIENvdXJpZXIsIG1vbm9zcGFjZTtcbn1cblxuLnFsLXNub3cgLnFsLXBpY2tlci5xbC1mb250IC5xbC1waWNrZXItbGFiZWxbZGF0YS12YWx1ZT1cInZlcmRhbmFcIl06OmJlZm9yZSxcbi5xbC1zbm93IC5xbC1waWNrZXIucWwtZm9udCAucWwtcGlja2VyLWl0ZW1bZGF0YS12YWx1ZT1cInZlcmRhbmFcIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1ZlcmRhbmEnO1xuICAgIGZvbnQtZmFtaWx5OiBWZXJkYW5hLCBHZW5ldmEsIHNhbnMtc2VyaWY7XG59XG5cbi8qIEFwcGx5IHRoZSBjaG9zZW4gZm9udCB0byB0aGUgZWRpdG9yIGNvbnRlbnQuICovXG4ucWwtZm9udC1hcmlhbCB7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ucWwtZm9udC1nZW9yZ2lhIHtcbiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7XG59XG5cbi5xbC1mb250LXRpbWVzLW5ldy1yb21hbiB7XG4gICAgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWY7XG59XG5cbi5xbC1mb250LWNvdXJpZXItbmV3IHtcbiAgICBmb250LWZhbWlseTogJ0NvdXJpZXIgTmV3JywgQ291cmllciwgbW9ub3NwYWNlO1xufVxuXG4ucWwtZm9udC12ZXJkYW5hIHtcbiAgICBmb250LWZhbWlseTogVmVyZGFuYSwgR2VuZXZhLCBzYW5zLXNlcmlmO1xufVxuXG4ucXVpbGwtdmlld2VyLWNvbnRhaW5lciB7XG4gICAgLS1xbC10ZXh0LWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuICAgIC5xdWlsbC12aWV3ZXItY29udGFpbmVyLnFsLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICAgICAucXVpbGwtdmlld2VyLWNvbnRhaW5lci5xbC1jb250YWluZXIgLnFsLWVkaXRvciB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAgICAgLnF1aWxsLXZpZXdlci1jb250YWluZXIucWwtY29udGFpbmVyIC5xbC1lZGl0b3IgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBQYXltZW50IFNldHRpbmdzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIC0tLSBNYWluIFZpZXcgQ29udGFpbmVyIC0tLSAqL1xuLnBheW1lbnQtc2V0dGluZ3MtbWFpbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmN2ZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLyogLS0tIFR5cG9ncmFwaHkgT3ZlcnJpZGVzIC0tLSAqL1xuICAgIGgzLCBoNCwgaDUge1xuICAgICAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIEhlcm8gU2VjdGlvbiAoRGlnaXRhbCBXYWxsZXQpXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud2FsbGV0LWhlcm8tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLndhbGxldC1jYXJkLXZpc3VhbCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwMzVkMiAwJSwgIzJhMzA3ZiAxMDAlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI1cHggMzVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwgNTMsIDIxMCwgMC4yNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xuICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAud2FsbGV0LWluZm8ge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53YWxsZXQtc3RhdHVzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIFxuICAgICAgICAuc3RhdHVzLWJhZGdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogOHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzIwYzk5NztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBHcmlkIExheW91dFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNldHRpbmdzLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmdyaWQtY29sLWxlZnQge1xuICAgIGZsZXg6IDM7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbn1cblxuLmdyaWQtY29sLXJpZ2h0IHtcbiAgICBmbGV4OiAyO1xuICAgIG1pbi13aWR0aDogMjgwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgQ2FyZCBDb21wb25lbnRzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2V0dGluZ3MtY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLmNhcmQtaGVhZGVyLFxuICAgIC5jYXJkLWhlYWRlci1mbGV4IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGU2ZWQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6ICMwMDM1ZDI7IC8qICRuYXZ5ICovXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtaGVhZGVyLWZsZXgge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcmQtYm9keSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIEJhY2t1cCBDYXJkICYgRm9vdGVyIFdhcm5pbmdzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5zZXR0aW5ncy1jYXJkIHtcbiAgICAuYmFja3VwLW1pc3NpbmctZm9vdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjVmNTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmU1Y2M7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87IFxuICAgICAgICBcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTJweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEycHg7XG5cbiAgICAgICAgLndhcm5pbmctdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogIzg1NjQwNDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmYWIwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHb3JkaXRhIEJvbGQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1vdXRsaW5lLXdhcm5pbmcge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWIwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZhYjAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFiMDA7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgTGVmdCBDb2x1bW46IEF1dG8tUmVsb2FkIElucHV0c1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNldHRpbmctcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNlMGU2ZWQ7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG4gICAgLnNldHRpbmctaWNvbiB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY3ZmU7XG4gICAgICAgIGNvbG9yOiAjMDAzNWQyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICAuc2V0dGluZy1jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWxwZXItdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBjb2xvcjogIzg4ODtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXR0aW5nLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTZlZDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICMwMDM1ZDI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDM1ZDI7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCA1MywgMjEwLCAwLjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBUb2dnbGUgU3dpdGNoICovXG4udG9nZ2xlLXN3aXRjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG5cbiAgICBpbnB1dCB7IFxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdG9wOiAwOyBsZWZ0OiAwOyByaWdodDogMDsgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNHM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC40cztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0OmNoZWNrZWQgKyAuc2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwYzk5NztcbiAgICB9XG5cbiAgICBpbnB1dDpmb2N1cyArIC5zbGlkZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMXB4ICMyMGM5OTc7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIC5zbGlkZXI6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICAgIH1cbn1cblxuLmRpc2FibGVkLW92ZXJsYXkge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG5cbi5zYXZlLXN0YXR1cy1pbmRpY2F0b3Ige1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMyMGM5OTc7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICAgIFxuICAgICYuZXJyb3IgeyBjb2xvcjogI2Q5NTM0ZjsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFJpZ2h0IENvbHVtbjogUGF5bWVudCBNZXRob2QgKFJlZGVzaWduZWQpXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIENlbnRlciBjb250YWluZXIgZm9yIHRoZSByaWdodCBjb2x1bW4gKi9cbi5wYXltZW50LWNhcmQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xufVxuXG4vKiBDcmVkaXQgQ2FyZCBWaXN1YWwgQm94ICovXG4uY2MtdmlzdWFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UwZTZlZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgNTMsIDIxMCwgMC4wOCk7IFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzgwcHg7IFxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgXG4gICAgLmNjLWljb24ge1xuICAgICAgICBjb2xvcjogIzAwMzVkMjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgIH1cblxuICAgIC5jYy10ZXh0IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgXG4gICAgICAgIGg1IHsgXG4gICAgICAgICAgICBtYXJnaW46IDA7IFxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7IFxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8qIE5ldyBjbGFzcyBmb3IgdGhlIG1hc2tlZCBkb3RzICovXG4gICAgICAgIC5tYXNrZWQtZG90cyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICBjb2xvcjogIzg4ODtcbiAgICAgICAgfVxuXG4gICAgICAgIHAgeyBcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMCAwOyBcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgXG4gICAgICAgICAgICBjb2xvcjogIzg4ODsgXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTdHJpcGUgSW5wdXQgQ29udGFpbmVyIChDb25zdHJhaW5lZCB3aWR0aCkgKi9cbi5zdHJpcGUtaW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4jY2FyZC1lbGVtZW50IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAzNWQyO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcGFkZGluZzogMTJweCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNjYXJkLWVycm9ycyB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBCdXR0b25zIChDZW50ZXJlZCAmIENvbnN0cmFpbmVkKSAqL1xuLnZlcnRpY2FsLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnRuLWNlbnRlcmVkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgbWFyZ2luOiA1cHggMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBVc2FnZSBIaXN0b3J5IFRhYmxlXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udXNhZ2UtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDE3MHZoKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjRmN2ZlO1xuICAgICAgICAgICAgY29sb3I6ICMwMDM1ZDI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgI2VlZTsgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMzQzYTQwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHNtYWxsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICM5OGE2YWQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdHI6bGFzdC1jaGlsZCB0ZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICB9XG5cbiAgICAvKiBPcHRpb25hbDogQ3VzdG9tIHNjcm9sbGJhciBmb3IgdGhlIHRhYmxlIGNvbnRhaW5lciAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICB9XG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDUzLCAyMTAsIDAuMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxufVxuLnVzYWdlLWNvbnRhaW5lciAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKiBDdXN0b20gU2Nyb2xsYmFyIGZvciB0aGUgTWFpbiBDb250YWluZXIgKi9cbi5wYXltZW50LXNldHRpbmdzLW1haW46Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xufVxuXG4ucGF5bWVudC1zZXR0aW5ncy1tYWluOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IFxufVxuXG4ucGF5bWVudC1zZXR0aW5ncy1tYWluOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1MywgMjEwLCAwLjEpOyAvKiBMaWdodCBOYXZ5ICovXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbn1cblxuLnBheW1lbnQtc2V0dGluZ3MtbWFpbjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNTMsIDIxMCwgMC4zKTtcbn1cblxuLyogVXRpbGl0eSAqL1xuLm10LWF1dG8geyBtYXJnaW4tdG9wOiBhdXRvOyB9XG5cbi8qIENhcmQgU3dpdGNoZXIgSGVhZGVyICovXG4uY2FyZC1zd2l0Y2hlciB7XG4gICAgYmFja2dyb3VuZDogI2Y0ZjdmZTtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGNvbG9yOiAjMDAzNWQyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMzVkMjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLyogQmFja3VwIENhcmQgVmlzdWFsIFZhcmlhbnQgKi9cbi5jYy12aXN1YWwuYmFja3VwLXN0eWxlIHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2ZmYWIwMDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMjU1LCAxNzEsIDAsIDAuMSk7XG4gICAgXG4gICAgLmNjLWljb24ge1xuICAgICAgICBjb2xvcjogI2ZmYWIwMDtcbiAgICB9XG59XG5cbi8qIEhlbHBlciBDb2xvcnMgKi9cbi50ZXh0LXdhcm5pbmcgeyBjb2xvcjogI2ZmYWIwMCAhaW1wb3J0YW50OyB9XG4uYnRuLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFiMDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICY6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTY5YTAwICFpbXBvcnRhbnQ7IH1cbn1cblxuLyogU25hcHB5IEZhZGluZyBmb3IgQnV0dG9ucyAqL1xuLmFuaW1hdGUtZmFkZS5uZy1lbnRlciwgXG4uYW5pbWF0ZS1mYWRlLm5nLWxlYXZlIHtcbiAgICB0cmFuc2l0aW9uOiAxNTBtcyBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApIGFsbDtcbn1cblxuLmFuaW1hdGUtZmFkZS5uZy1lbnRlcixcbi5hbmltYXRlLWZhZGUubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uYW5pbWF0ZS1mYWRlLm5nLWxlYXZlLFxuLmFuaW1hdGUtZmFkZS5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIEVuc3VyZSBidXR0b25zIGRvbid0IGp1bXAgbGF5b3V0IHdoZW4gc3dpdGNoaW5nICovXG4udmVydGljYWwtYnV0dG9ucyB7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFuaW1hdGUtZmFkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qIC0tLSBVbml2ZXJzYWwgVG9rZW4gU2VjdGlvbiAtLS0gKi9cbi51bml2ZXJzYWwtdG9rZW4tc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLyogSGVhZGVyICYgVGl0bGUgU3R5bGluZyAqL1xuLnRva2VuLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4udG9rZW4tY2lyY2xlLWljb24ge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogNDZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDAzNWQyIDAlLCAjMmEzMDdmIDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDUzLCAyMTAsIDAuMTUpO1xuICAgIGZsZXgtc2hyaW5rOiAwOyAvKiBQcmV2ZW50cyBpY29uIGZyb20gc3F1aXNoaW5nICovXG59XG5cbi50b2tlbi10aXRsZS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucHJlbWl1bS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMyYTMwN2Y7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4udGl0bGUtc2VwYXJhdG9yIHtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDM1ZDI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wcmVtaXVtLXN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDRweCAwIDAgMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzg3OGJhMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ucHJlbWl1bS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMyYTMwN2Y7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRva2VuLXByaWNlLWJhZGdlIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZmZmYTsgXG4gICAgY29sb3I6ICMyMGM5OTc7IFxuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDMyLCAyMDEsIDE1MSwgMC4yKTtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbn1cblxuLyogR3JpZCAmIEl0ZW1zIFN0eWxpbmcgKi9cbi50b2tlbi12YWx1ZS1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi50b2tlbi1pdGVtIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDEycHggMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGU2ZWQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnRva2VuLWl0ZW06aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3JkZXItY29sb3I6ICNjYmQ1ZTA7XG59XG5cbi5pdGVtLWljb24ge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5pdGVtLWljb24uYWktYWdlbnQgeyBiYWNrZ3JvdW5kOiAjZTdmMGZmOyBjb2xvcjogIzAwMzVkMjsgfVxuLml0ZW0taWNvbi5zbXMgeyBiYWNrZ3JvdW5kOiAjZTZmZmZhOyBjb2xvcjogIzIwYzk5NzsgfVxuLml0ZW0taWNvbi50cmFuc2NyaXB0aW9uIHsgYmFja2dyb3VuZDogI2ZmZjRlNTsgY29sb3I6ICNmZmFiMDA7IH1cblxuLml0ZW0tZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaXRlbS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLml0ZW0tdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5pdGVtLXZhbHVlIHNtYWxsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDAzNWQyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmJ0bi1vdXRsaW5lLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uYnRuLW91dGxpbmUtd2hpdGU6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwMDM1ZDI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEwcHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idG4tb3V0bGluZS13aGl0ZTpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5idG4tb3V0bGluZS13aGl0ZSBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLyogUmVzcG9uc2l2ZSBMb2dpYyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgLnRva2VuLXZhbHVlLWdyaWQge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC50b2tlbi1pdGVtIHtcbiAgICAgICAgbWluLXdpZHRoOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnRva2VuLWl0ZW0ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5wcmVtaXVtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIEFJIFRyYW5zY3JpcHRpb24gU2VhdHNcbi8qIFNoYXJlZCBieSB0aGUgc2VhdCBwbGFuIGRpYWxvZyBhbmQgdGhlIHNlYXQgYXNzaWdubWVudCAvIHVzYWdlIGRpYWxvZy5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVGhlIGNvbXBvbmVudCBzaXRzIGRpcmVjdGx5IGluc2lkZSBhbiBtZC10YWIsIHNvIGl0cyBob3N0IGVsZW1lbnQgaGFzIHRvIGNhcnJ5IHRoZSBoZWlnaHQgaXRzZWxmLiAqL1xudHJhbnNjcmlwdGlvbi1zZWF0cy12aWV3IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zZWF0LW1haW4ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjdmZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIGgzLCBoNCwgaDUge1xuICAgICAgICBmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFNlY3Rpb24gc3dpdGNoZXJcbi8qIEJ1eWluZywgYXNzaWduaW5nIGFuZCByZXBvcnRpbmcgYXJlIG9uZSB2aWV3IG92ZXIgb25lIGxvYWQgb2YgdGhlXG4vKiBzdWJzY3JpcHRpb24sIHNvIHRoZXkgc3dpdGNoIGhlcmUgcmF0aGVyIHRoYW4gdGhyb3VnaCB0aGUgZGlhbG9nJ3Ncbi8qIG93biB0YWJzLlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtc3VibmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNnB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG5cbiAgICBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrTmF2eTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXZ5O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBDYWxsb3V0c1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtYWxlcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICA+IGkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLyogVGhlIHNoYXJlZCAuYnRuIHJ1bGVzIHN0cmV0Y2ggdG8gMjIwcHgsIHdoaWNoIHJlYWRzIGFzIGEgc2xhYiBvbiBhIHNpbmdsZS1saW5lIGNhbGxvdXQuICovXG4gICAgLmJ0biB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmLnRpZ2h0IHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAmLmluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eS1wYWxlO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJG5hdnk7XG4gICAgICAgIGNvbG9yOiAkZGFya05hdnk7XG4gICAgfVxuXG4gICAgJi53YXJuaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmctYmc7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkd2FybmluZy1ib3JkZXI7XG4gICAgICAgIGNvbG9yOiAkd2FybmluZy10ZXh0O1xuICAgIH1cblxuICAgICYuZGFuZ2VyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTcsIDgzLCA3OSwgMC4xKTtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRyZWQtZGFuZ2VyLWFsdDtcbiAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgfVxuXG4gICAgJi50cmlhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjeWFuLXRwLTEwO1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGN5YW47XG4gICAgICAgIGNvbG9yOiAkdGVhbDtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgU3Vic2NyaXB0aW9uIHN0YXR1cyBzdHJpcFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtc3RhdHVzLXN0cmlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLnNlYXQtc3RhdHVzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnNlYXQtc3RhdHVzLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zZWF0LXN0YXR1cy12YWx1ZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRkYXJrTmF2eTtcbn1cblxuLnNlYXQtcGlsbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG5cbiAgICAmLnBpbGwtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRwLTIwO1xuICAgICAgICBjb2xvcjogIzEyODA1YztcbiAgICB9XG5cbiAgICAmLnBpbGwtd2FybmluZyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctdHAtMzA7XG4gICAgICAgIGNvbG9yOiAkd2FybmluZy10ZXh0O1xuICAgIH1cblxuICAgICYucGlsbC1kYW5nZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNywgODMsIDc5LCAwLjE1KTtcbiAgICAgICAgY29sb3I6ICRkYW5nZXI7XG4gICAgfVxuXG4gICAgJi5waWxsLW11dGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VCYWNrR3JvdW5kO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFBsYW4gcGlja2VyIGxheW91dFxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtcGxhbi1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAyMnB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uc2VhdC1wbGFuLWNvbHVtbiB7XG4gICAgZmxleDogMSAxIDYwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5zZWF0LXN1bW1hcnktY29sdW1uIHtcbiAgICBmbGV4OiAwIDAgMzIwcHg7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgU2VhdCB0aWVyIGNhcmRcbi8qIFR3byB0aWVycywgc2lkZSBieSBzaWRlIGFuZCBlcXVhbCBoZWlnaHQsIHNvIGNob29zaW5nIGJldHdlZW4gdGhlbSBpc1xuLyogb25lIGNvbXBhcmlzb24gcmF0aGVyIHRoYW4gYSBzY3JvbGwuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VhdC10aWVyLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5zZWF0LXRpZXItY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctc207XG4gICAgfVxuXG4gICAgJi5yZWNvbW1lbmRlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdnk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgwLCA1MywgMjEwLCAwLjEyKTtcbiAgICB9XG59XG5cbi5zZWF0LXRpZXItZmxhZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2eTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgICBwYWRkaW5nOiA0cHggMTRweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcbn1cblxuLnNlYXQtdGllci1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE0cHg7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDEwcHg7XG5cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBjb2xvcjogJGRhcmtOYXZ5O1xuICAgIH1cbn1cblxuLnNlYXQtdGllci1pY29uIHtcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtY2lyY2xlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAmLnN0YW5kYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdnktcGFsZTtcbiAgICAgICAgY29sb3I6ICRuYXZ5O1xuICAgIH1cblxuICAgICYucHJlbWl1bSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsYXZlbmRlci10cC0yMDtcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgfVxufVxuXG4uc2VhdC10aWVyLXByaWNlIHtcbiAgICBwYWRkaW5nOiAwIDI0cHg7XG5cbiAgICAuYW1vdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGRhcmtOYXZ5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICB9XG5cbiAgICAucGVyaW9kIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgfVxufVxuXG4uc2VhdC10aWVyLWluY2x1ZGVkIHtcbiAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xufVxuXG4vKiBQdXNoZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgY2FyZCBzbyBib3RoIHN0ZXBwZXJzIGxpbmUgdXAgd2hhdGV2ZXIgdGhlIGNvcHkgYWJvdmUgZG9lcy4gKi9cbi5zZWF0LXRpZXItYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMThweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAxOHB4IDI0cHggMjBweDtcbn1cblxuLnNlYXQtdGllci1zdGF0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG59XG5cbi5zZWF0LXN0ZXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWF0LXN0ZXAtYnRuIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodEdyZXk7XG4gICAgY29sb3I6ICRuYXZ5O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eS1wYWxlO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgY29sb3I6ICRjYW5jZWxCb3JkZXI7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxufVxuXG4uc2VhdC1zdGVwLWlucHV0IHtcbiAgICB3aWR0aDogNjhweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICRkYXJrTmF2eTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAvKiBUaGUgKyBhbmQgLSBidXR0b25zIGVpdGhlciBzaWRlIGFyZSB0aGUgb25seSBzdGVwcGVyczogdGhlIGJyb3dzZXIncyBvd24gYXJyb3dzIHNpdCBpbnNpZGUgdGhlXG4gICAgICAgYm94LCBhcmUgZmFyIHRvbyBzbWFsbCB0byBhaW0gYXQsIGFuZCBzdGVwIHBhc3QgdGhlIG1pbmltdW0gdGhlIHByYWN0aWNlIGlzIGFsbG93ZWQgdG8ga2VlcC4gKi9cbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdnktcGFsZTtcbiAgICB9XG59XG5cbi5zZWF0LW92ZXJmbG93LW5vdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgJGdyZXktYm9yZGVyLW1lZGl1bTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcbiAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkbmF2eTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIE9yZGVyIHN1bW1hcnlcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWF0LXN1bW1hcnktY2FyZCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctc207XG59XG5cbi5zZWF0LXN1bW1hcnktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICRuYXZ5IDAlLCAkZGFya05hdnkgMTAwJSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG5cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgfVxufVxuXG4uc2VhdC1zdW1tYXJ5LWN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5zZWF0LXN1bW1hcnktYm9keSB7XG4gICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xufVxuXG4uc2VhdC1zdW1tYXJ5LWxvYWRpbmcsXG4uc2VhdC1zdW1tYXJ5LWVtcHR5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAyNHB4IDA7XG5cbiAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxufVxuXG4uc3VtbWFyeS1saW5lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAmLnRvdGFsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRkYXJrTmF2eTtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJGRhcmtOYXZ5O1xuICAgIH1cbn1cblxuLnN1bW1hcnktbGFiZWwge1xuICAgIGNvbG9yOiAkdGV4dEdyZXk7XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG59XG5cbi5zdW1tYXJ5LWFtb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGRhcmtOYXZ5O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5zdW1tYXJ5LWNoYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG4gICAgYmFja2dyb3VuZDogJG5hdnktcGFsZTtcblxuICAgICYuZG93bmdyYWRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdhcm5pbmctYmc7XG5cbiAgICAgICAgLmNoYXJnZS1yb3cge1xuICAgICAgICAgICAgY29sb3I6ICR3YXJuaW5nLXRleHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGFyZ2Utcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkZGFya05hdnk7XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuXG4uY2hhcmdlLW5vdGUge1xuICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG4uc3VtbWFyeS1uZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VhdC1zdW1tYXJ5LWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJGdyZXktbW9kYWwtaGVhZGVyO1xuXG4gICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICAvKiBUaGUgZ2xvYmFsIC5idG4tbmF2eSBpcyBjYXBwZWQgYXQgMjIwcHgsIHdoaWNoIGxlYXZlcyB0aGUgYmxvY2sgYnV0dG9uXG4gICAgICAgaHVnZ2luZyB0aGUgbGVmdCBlZGdlIG9mIHRoZSBjYXJkLiBTcGFuIHRoZSBmb290ZXIgaW5zdGVhZC4gKi9cbiAgICAuYnRuLWJsb2NrIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbn1cblxuLnNlYXQtdmFsaWRhdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJHdhcm5pbmctYmc7XG4gICAgY29sb3I6ICR3YXJuaW5nLXRleHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG4gICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG59XG5cbi5zZWF0LXZhbGlkYXRpb24tYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDhweCAwIDA7XG59XG5cbi5zZWF0LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgICYuZXJyb3Ige1xuICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICB9XG5cbiAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBjb2xvcjogIzEyODA1YztcbiAgICB9XG59XG5cbi5zZWF0LXJlbmV3LW5vdGUge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAycHggMCAwO1xufVxuXG4uc2VhdC1jYW5jZWwtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IDRweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFNlYXQgYXZhaWxhYmlsaXR5IGhlYWRlclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtYXZhaWxhYmlsaXR5LXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zZWF0LWF2YWlsYWJpbGl0eS1jYXJkIHtcbiAgICBmbGV4OiAxIDEgMjQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogNHB4O1xuXG4gICAgJi5zdGFuZGFyZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2eTtcbiAgICB9XG5cbiAgICAmLnByZW1pdW0ge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHB1cnBsZTtcbiAgICB9XG5cbiAgICAmLmdob3N0IHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJG5hdnk7XG4gICAgICAgICAgICBjb2xvcjogJG5hdnk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdmFpbGFiaWxpdHktaWNvbiB7XG4gICAgd2lkdGg6IDM4cHg7XG4gICAgaGVpZ2h0OiAzOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWNpcmNsZTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogJG5hdnk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5hdmFpbGFiaWxpdHktZGV0YWlsIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmF2YWlsYWJpbGl0eS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYXZhaWxhYmlsaXR5LWNvdW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGRhcmtOYXZ5O1xuXG4gICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICB9XG59XG5cbi5hdmFpbGFiaWxpdHktYmFyIHtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogJHBhZ2VCYWNrR3JvdW5kO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYXZhaWxhYmlsaXR5LWZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2eTtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlO1xufVxuXG4uYXZhaWxhYmlsaXR5LXJlbWFpbmluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcblxuICAgICYubm9uZS1sZWZ0IC5yZW1haW5pbmctbnVtYmVyIHtcbiAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIH1cbn1cblxuLnJlbWFpbmluZy1udW1iZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuLnJlbWFpbmluZy1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBUYWJsZSB0b29sYmFyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VhdC10YWJsZS10b29sYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZWF0LXNlYXJjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBwYWRkaW5nOiA2cHggMTRweDtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxufVxuXG4uc2VhdC10YWJsZS1jb3VudCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2VhdC1wZXJpb2Qtc2VsZWN0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkZGFya05hdnk7XG4gICAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFNlYXQgdGFibGVzXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VhdC10YWJsZS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zZWF0LXRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1tb2RhbC1oZWFkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICB9XG5cbiAgICA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgID4gdGJvZHkgPiB0ciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwYWxlQmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucm93LXNhdmluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eS1wYWxlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eS1wYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5yb3ctb3JwaGFuZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI0MywgMjA1LCAwLjUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhdC11c2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4uc2VhdC1hdmF0YXIge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1jaXJjbGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJi50aWVyLXN0YW5kYXJkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi50aWVyLXByZW1pdW0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYudGllci10cmlhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjeWFuO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYudGllci1ub25lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBhZ2VCYWNrR3JvdW5kO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgfVxufVxuXG4uc2VhdC11c2VyLWRldGFpbCB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uc2VhdC11c2VyLW5hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrTmF2eTtcbn1cblxuLnNlYXQtdXNlci1lbWFpbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uc2VhdC11c2VyLWFzc2lnbmVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogTGFiZWxzIGFyZSB3cml0dGVuIG91dCBpbiB0aGUgdGllciBtYXAgcmF0aGVyIHRoYW4gc2hvdXRlZCBieSB0aGUgc3R5bGVzaGVldCwgc28gbm8gc2NyZWVuIGV2ZXJcbiAgIHNob3dzIGEgcmF3IGVudW0gdmFsdWUuICovXG4uc2VhdC1iYWRnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDJweCA5cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZUJhY2tHcm91bmQ7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuXG4gICAgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIH1cblxuICAgICYuc3RhbmRhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eS1wYWxlO1xuICAgICAgICBjb2xvcjogJG5hdnk7XG4gICAgfVxuXG4gICAgJi5wcmVtaXVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxhdmVuZGVyLXRwLTIwO1xuICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICB9XG5cbiAgICAmLndhbGxldCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodEdyZXk7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICB9XG5cbiAgICAmLnRyaWFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGN5YW4tdHAtMjA7XG4gICAgICAgIGNvbG9yOiAkdGVhbDtcbiAgICB9XG5cbiAgICAmLm9ycGhhbmVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdy10cC0zMDtcbiAgICAgICAgY29sb3I6ICR3YXJuaW5nLXRleHQ7XG4gICAgfVxufVxuXG4vKiBCYWRnZXMgdHJhaWxpbmcgYSBuYW1lIG5lZWQgc2VwYXJhdGluZyBmcm9tIGl0OyB0aGUgc2FtZSBiYWRnZSBpbiBpdHMgb3duIHRhYmxlIGNlbGwgZG9lcyBub3QuICovXG4uc2VhdC11c2VyLW5hbWUgLnNlYXQtYmFkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFBlci1yb3cgdGllciBzZWxlY3RvclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtdGllci1zZWxlY3RvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG5cbi8qIFRoZSBzcGlubmVyIGlzIG92ZXJsYWlkIHJhdGhlciB0aGFuIGluc2VydGVkLCBzbyBhbiBpbi1mbGlnaHQgcm93IGtlZXBzIGl0cyBoZWlnaHQuICovXG4uc2VhdC10aWVyLWNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlYXQtdGllci1zZWxlY3Rvci5zYXZpbmcge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgY3Vyc29yOiBwcm9ncmVzcztcbn1cblxuLnNlYXQtdGllci1zcGlubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbjogLTdweCAwIDAgLTdweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICRuYXZ5O1xufVxuXG4udGllci1vcHRpb24ge1xuICAgIGZsZXg6IDE7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgcGFkZGluZzogN3B4IDZweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0R3JleTtcbiAgICAgICAgY29sb3I6ICRkYXJrTmF2eTtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGNvbG9yOiAjYzhjZGQ0O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRHcmV5O1xuICAgIH1cblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGV4dEdyZXk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5zdGFuZGFyZC5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZ5O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYucHJlbWl1bS5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLyogVGhlIHRyaWFsIHNsb3Qgc3RhbmRzIGluIGZvciBcIm5vbmVcIiBvbiBhIHRyaWFsIGhvbGRlciwgd2hvc2UgdHJpYWwgY2Fubm90IGJlIHJlbGVhc2VkLiAqL1xuICAgICYudHJpYWwuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3lhbjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgRmVlZGJhY2sgYmFyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VhdC1mZWVkYmFjay1iYXIge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nOiAwIDE4cHg7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctbWQ7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlLCBwYWRkaW5nIDAuMnMgZWFzZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICB9XG5cbiAgICAuc2VhdC1mZWVkYmFjayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFVzYWdlIHRvdGFsc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNlYXQtdG90YWxzLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc2VhdC10b3RhbC1jYXJkIHtcbiAgICBmbGV4OiAxIDEgMjAwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBwYWRkaW5nOiAxNnB4IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogM3B4O1xufVxuXG4udG90YWwtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRvdGFsLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGRhcmtOYXZ5O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG4udG90YWwtc3ViIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi50b3RhbC1iYXIge1xuICAgIGhlaWdodDogNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnZUJhY2tHcm91bmQ7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b3RhbC1maWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJG5hdnk7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTtcblxuICAgICYub3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3ctY3RhO1xuICAgIH1cbn1cblxuLnRvdGFsLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkbmF2eTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjb2xvcjogJG5hdnk7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFBlci11c2VyIHVzYWdlIGJhclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVzYWdlLWJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRwYWdlQmFja0dyb3VuZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnVzYWdlLWZpbGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTtcblxuICAgICYub3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3ctY3RhO1xuICAgIH1cbn1cblxuLnVzYWdlLWNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xufVxuXG4uc2VhdC1mb290bm90ZSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMTRweCA0cHggMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgU2VhdCBwcm9tbyBwYW5lbFxuLyogU2l0cyBvbiB0aGUgd2FsbGV0IHRhYiBvZiB0aGUgcGF5bWVudCBkaWFsb2cgYW5kIGxpbmtzIGFjcm9zcyB0byB0aGVcbi8qIHNlYXRzIHRhYi4gS2VwdCBpbiB0aGlzIGZpbGUgcmF0aGVyIHRoYW4gX3BheW1lbnRzLmNzcyBzbyBldmVyeXRoaW5nXG4vKiBkZXNjcmliaW5nIHNlYXRzIHN0YXlzIGluIG9uZSBwbGFjZS5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zZWF0LXByb21vIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICAvKiBUaGUgNHB4IGVkZ2UgaXMgaG93IHRoZSByZXN0IG9mIHRoaXMgZmlsZSBtYXJrcyBhIGNhbGxvdXQsIGFuZCBpdCBnaXZlcyB0aGUgcGFuZWwgYSBicmFuZFxuICAgICAgIGFuY2hvciB3aXRob3V0IHRoZSBmaWxsZWQgbmF2eSBiYW5uZXIgdGhhdCBjcm93ZGVkIHRoZSB3YWxsZXQgY2FyZCBhYm92ZSBpdC4gKi9cbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRuYXZ5O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXhsO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgU2VhdCBwcm9tbyBvcGVuaW5nIHBpbmdcbi8qIFRoZSBwYW5lbCBpcyBlYXN5IHRvIHNjcm9sbCBwYXN0LCBzbyB0d28gdGhpbmdzIGhhcHBlbiB3aGVuIHRoZSBkaWFsb2dcbi8qIGZpcnN0IHNob3dzIGl0OiBpdCBsaWZ0cyBvZmYgdGhlIHBhZ2Ugb25jZSwgYW5kIGEgYmFuZCBvZiBjeWFuIGxpZ2h0XG4vKiBzd2VlcHMgYWNyb3NzIGl0LiBUaGUgd2hpdGUgYm9keSBpcyBuZXZlciByZWNvbG91cmVkIC0gdGhlIGJhbmQgb25seVxuLyogcGFzc2VzIG92ZXIgaXQgLSBhbmQgYm90aCBhbmltYXRpb25zIGVuZCBvbiB0aGUgcmVzdGluZyBsb29rLCBzbyB0aGVcbi8qIGNsYXNzIGNhbiBiZSBkcm9wcGVkIGF0IGFueSBwb2ludCB3aXRob3V0IHRoZSBwYW5lbCBhcHBlYXJpbmcgdG9cbi8qIGNoYW5nZS5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogT25lIHJpc2UgYW5kIHNldHRsZS4gS2VwdCB0byBhIGZldyBwaXhlbHM6IHRoaXMgaXMgYSBwYW5lbCBpbiBhIGRpYWxvZywgbm90IGEgY2FyZCBiZWluZyBwaWNrZWQgdXAuICovXG5Aa2V5ZnJhbWVzIHNlYXQtcHJvbW8tbGlmdCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxuXG4gICAgMzAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpIHNjYWxlKDEuMDA4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLyogVHJhdmVscyB0aGUgcGFuZWwncyBvd24gd2lkdGggcGx1cyBpdHMgb3ZlcmhhbmcsIHNvIHRoZSBiYW5kIGVudGVycyBhbmQgbGVhdmVzIG9mZiB0aGUgZWRnZXMuICovXG5Aa2V5ZnJhbWVzIHNlYXQtcHJvbW8tc3dlZXAge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEzMCUpIHNrZXdYKC0xMmRlZyk7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzIwJSkgc2tld1goLTEyZGVnKTtcbiAgICB9XG59XG5cbi8qIEhlbGQgZm9yIHRoZSBmaXJzdCBtb21lbnRzIG9mIHRoZSBkaWFsb2cgb25seSAtIHRoZSBjb250cm9sbGVyIGRyb3BzIHRoZSBjbGFzcyBhcyB0aGVzZSBmaW5pc2guICovXG4uc2VhdC1wcm9tby1oaWdobGlnaHQge1xuICAgIGFuaW1hdGlvbjogc2VhdC1wcm9tby1saWZ0IDEuN3MgZWFzZS1vdXQgMSBib3RoO1xuXG4gICAgLyogVGhlIGJhbmQgb2YgbGlnaHQuIENsaXBwZWQgYnkgdGhlIHBhbmVsJ3Mgb3duIG92ZXJmbG93LCBhbmQgb3ZlciB0aGUgaGVybyBjb250ZW50IHJhdGhlciB0aGFuXG4gICAgICAgdW5kZXIgaXQsIHNvIGl0IHBhc3NlcyBhY3Jvc3MgdGhlIGNvcHkgYXMgd2VsbCBhcyB0aGUgdGludGVkIHN0cmlwLiBDeWFuIGNhcnJpZXMgYWdhaW5zdCBib3RoXG4gICAgICAgdGhlIHdoaXRlIGJvZHkgYW5kIHRoZSBwYWxlIGhlcm87IGEgd2hpdGUgc2hlZW4gd291bGQgYmUgaW52aXNpYmxlIG9uIGVpdGhlci4gKi9cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTEwJTtcbiAgICAgICAgYm90dG9tOiAtMTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEwMGRlZyxcbiAgICAgICAgICAgIGNvbG9yKCRjeWFuIGEoMCUpKSAwJSxcbiAgICAgICAgICAgIGNvbG9yKCRjeWFuIGEoMjYlKSkgNTAlLFxuICAgICAgICAgICAgY29sb3IoJGN5YW4gYSgwJSkpIDEwMCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEzMCUpIHNrZXdYKC0xMmRlZyk7XG4gICAgICAgIGFuaW1hdGlvbjogc2VhdC1wcm9tby1zd2VlcCAxLjI1cyBlYXNlLWluLW91dCAyIGJvdGg7XG4gICAgfVxufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5zZWF0LXByb21vLWhpZ2hsaWdodCB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcblxuICAgICAgICAvKiBIaWRkZW4gb3V0cmlnaHQ6IHdpdGggdGhlIGFuaW1hdGlvbiBvZmYsIGEgc3RhdGljIGJhbmQgd291bGQganVzdCBzaXQgb3ZlciB0aGUgcGFuZWwuICovXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFRpbnRlZCB3ZWxsIHNob3J0IG9mIHRoZSB3YWxsZXQgY2FyZCdzIHNhdHVyYXRpb24sIGJ1dCBmYXIgZW5vdWdoIHVwIGZyb20gd2hpdGUgdGhhdCB0aGUgcGFuZWxcbiAgIHN0aWxsIHJlYWRzIGFzIGFuIGFkdmVydGlzZW1lbnQgcmF0aGVyIHRoYW4gYW5vdGhlciBzZXR0aW5ncyBjYXJkLiAqL1xuLnNlYXQtcHJvbW8taGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjRweDtcbiAgICBwYWRkaW5nOiAyNHB4IDI4cHggMjJweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCBjb2xvcigkbmF2eSBsKDkwJSkpIDAlLCBjb2xvcigkY3lhbiBsKDg4JSkpIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgY29sb3I6ICRkYXJrTmF2eTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC02MHB4O1xuICAgICAgICB0b3A6IC04MHB4O1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIGhlaWdodDogMjMwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS10cC00MDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtY2lyY2xlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbi5zZWF0LXByb21vLXdhdGVybWFyayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMnB4O1xuICAgIGJvdHRvbTogLTM0cHg7XG4gICAgZm9udC1zaXplOiAxMThweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHdoaXRlLXRwLTUwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2VhdC1wcm9tby1pbnRybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMThweDtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLyogVGhlIG9uZSBzYXR1cmF0ZWQgZWxlbWVudCBsZWZ0IGluIHRoZSBoZXJvLCBtYXRjaGluZyB0aGUgd2FsbGV0IHBhZ2UncyBvd24gaWNvbiBjaGlwcy4gKi9cbi5zZWF0LXByb21vLWljb24ge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkbmF2eSAwJSwgJGRhcmtOYXZ5IDEwMCUpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDUzLCAyMTAsIDAuMTUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5zZWF0LXByb21vLWNvcHkge1xuICAgIG1pbi13aWR0aDogMDtcblxuICAgIGgzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDZweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRkYXJrTmF2eTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGNvbG9yOiAkdGV4dEdyZXk7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRkYXJrTmF2eTtcbiAgICB9XG59XG5cbi5zZWF0LXByb21vLWZsYWcge1xuICAgIGJhY2tncm91bmQ6ICR5ZWxsb3ctY3RhO1xuICAgIGNvbG9yOiAkbmF2eS1kYXJrLXRleHQ7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC44cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAzcHggOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG4gICAgJi5saXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZWVuO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYuYWxlcnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcmVkLWRhbmdlci1hbHQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4uc2VhdC1wcm9tby1jdGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZsZXg6IDAgMCAyMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG5cbiAgICAuYnRuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLnNlYXQtcHJvbW8tYnRuLXByaW1hcnksXG4uc2VhdC1wcm9tby1idG4tc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHBhZGRpbmc6IDlweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxufVxuXG4uc2VhdC1wcm9tby1idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJG5hdnk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDUzLCAyMTAsIDAuMik7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya05hdnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxufVxuXG4uc2VhdC1wcm9tby1idG4tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRuYXZ5O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1tZWRpdW07XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkbmF2eTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2eTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICB9XG59XG5cbi5zZWF0LXByb21vLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRuYXZ5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZGFya05hdnk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuLyogLS0tIFRoZSB0d28gdGllcnMsIHByaWNlZC4gU2lkZSBieSBzaWRlLCBhcyB0aGV5IGFyZSBvbiB0aGUgc2VhdHMgdGFiIGl0c2VsZi4gLS0tICovXG4uc2VhdC1wcm9tby1wbGFucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogMTZweCAyOHB4IDE4cHg7XG59XG5cbi5zZWF0LXByb21vLXBsYW4ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0R3JleTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlLCBib3JkZXItY29sb3IgMC4ycyBlYXNlO1xuXG4gICAgJi5yZWNvbW1lbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZ5LXBhbGU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdnk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3ctc207XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdnk7XG4gICAgfVxufVxuXG4ucHJvbW8tcGxhbi1uYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkZGFya05hdnk7XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6ICRuYXZ5O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxufVxuXG4ucHJvbW8tcGxhbi1wcmljZSB7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICRkYXJrTmF2eTtcblxuICAgIHNtYWxsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgfVxufVxuXG4uc2VhdC1wcm9tby1wbGFucy1zdGF0dXMge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcblxuICAgIGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG59XG5cbi8qIC0tLSBGb290ZXJzOiB0aGUgdGhpbmdzIHRoYXQgYmxvY2sgb3Igd2FzdGUgYSBzZWF0IHB1cmNoYXNlIC0tLSAqL1xuLnNlYXQtcHJvbW8tbm90ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxMXB4IDI4cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG5cbiAgICA+IGkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLyogVGhlIHNoYXJlZCAuYnRuIHJ1bGVzIHN0cmV0Y2ggdG8gMjIwcHgsIHdoaWNoIHJlYWRzIGFzIGEgc2xhYiBpbiBhIG9uZS1saW5lIGZvb3Rlci4gKi9cbiAgICAuYnRuIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICYuaW5mbyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZ5LXBhbGU7XG4gICAgICAgIGNvbG9yOiAkZGFya05hdnk7XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2eTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2FybmluZyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3YXJuaW5nLWJnO1xuICAgICAgICBjb2xvcjogJHdhcm5pbmctdGV4dDtcblxuICAgICAgICA+IGkge1xuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3ctY3RhO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5kYW5nZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIxNywgODMsIDc5LCAwLjEpO1xuICAgICAgICBjb2xvcjogJGRhbmdlcjtcblxuICAgICAgICA+IGkge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQtZGFuZ2VyLWFsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBOYXJyb3cgc2NyZWVuc1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgIC5zZWF0LXBsYW4tbGF5b3V0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuc2VhdC1zdW1tYXJ5LWNvbHVtbiB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICAgIC5zZWF0LXByb21vLWhlcm8ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICAuc2VhdC1wcm9tby1jdGEge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAvKiBCZWxvdyB0aGlzIHRoZXJlIGlzIG5vdCByb29tIHRvIGNvbXBhcmUgdGhlIHRpZXJzIHNpZGUgYnkgc2lkZSwgb24gZWl0aGVyIHNjcmVlbi4gKi9cbiAgICAuc2VhdC10aWVyLWdyaWQsXG4gICAgLnNlYXQtcHJvbW8tcGxhbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC8qIEEgRm9udCBBd2Vzb21lIGVsZW1lbnQsIHdob3NlIG93biAuZmEgcnVsZSBpcyBsb2FkZWQgYWZ0ZXIgdGhpcyBmaWxlIGFuZCBjYXJyaWVzIHRoZSBzYW1lXG4gICAgICAgc3BlY2lmaWNpdHksIHNvIHRoZSBwYXJlbnQgaGFzIHRvIGJlIG5hbWVkIHRvIGhpZGUgaXQuICovXG4gICAgLnNlYXQtcHJvbW8taGVybyAuc2VhdC1wcm9tby13YXRlcm1hcmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qICEgU2V0dGluZ3MgTW9kYWxcbi8qIFNoYXJlcyB0aGUgdmlzdWFsIGxhbmd1YWdlIG9mIF9wYXltZW50cy5jc3MgLSBwYWxlIGJsdWUgY2FudmFzLCB3aGl0ZVxuLyogcm91bmRlZCBjYXJkcywgbmF2eSBhY2NlbnRzIC0gYW5kIHJldXNlcyAuc2V0dGluZ3MtY2FyZCwgLnNldHRpbmctcm93LFxuLyogLnRvZ2dsZS1zd2l0Y2gsIC5zYXZlLXN0YXR1cy1pbmRpY2F0b3IgYW5kIC5kaXNhYmxlZC1vdmVybGF5IGZyb20gaXQuXG4vKiBFdmVyeXRoaW5nIGVsc2UgaXMgc2NvcGVkIHRvIC5zZXR0aW5ncy1zaGVsbCBzbyB0aGUgZ2VuZXJpYyBuYW1lcyBoZXJlXG4vKiBjYW5ub3QgbGVhayBpbnRvIHRoZSByZXN0IG9mIHRoZSBhcHAuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRoZSBzY29wZSBiYW5kIHdpcGVzIG9wZW4gd2hlbiBhIHNlY3Rpb24gaXMgc2hvd24uIENsaXAtcGF0aCBvbmx5IGFmZmVjdHMgcGFpbnQsXG4gICBzbyB0aGUgYm94IG9jY3VwaWVzIGl0cyBzcGFjZSBpbW1lZGlhdGVseSBhbmQgbm90aGluZyBzaGlmdHMgYXJvdW5kIGl0LiAqL1xuQGtleWZyYW1lcyBzZXR0aW5ncy1zY29wZS1iYW5kLW9wZW4ge1xuXHRmcm9tIHtcblx0XHRjbGlwLXBhdGg6IGluc2V0KDAgMTAwJSAwIDApO1xuXHR9XG5cblx0dG8ge1xuXHRcdGNsaXAtcGF0aDogaW5zZXQoMCAwIDAgMCk7XG5cdH1cbn1cblxuLnNldHRpbmdzLWRpYWxvZyB7XG5cdG1kLWRpYWxvZy1jb250ZW50IHtcblx0XHRib3JkZXItdG9wOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuXG4uc2V0dGluZ3Mtc2hlbGwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4OiAxO1xuXHRtaW4taGVpZ2h0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjdmZTtcblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cdC8qICEgTGVmdCBSYWlsIE5hdmlnYXRpb25cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQuc2V0dGluZ3MtbmF2IHtcblx0XHRmbGV4OiAwIDAgMjcycHg7XG5cdFx0d2lkdGg6IDI3MnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cblx0XHQmOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0XHR3aWR0aDogNnB4O1xuXHRcdH1cblxuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNTMsIDIxMCwgMC4xKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0fVxuXHR9XG5cblx0LnNldHRpbmdzLWlkZW50aXR5IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDIwcHggMThweCAxOHB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVmMWY3O1xuXHR9XG5cblx0LnNldHRpbmdzLWF2YXRhciB7XG5cdFx0d2lkdGg6IDQycHg7XG5cdFx0aGVpZ2h0OiA0MnB4O1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWNpcmNsZTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAkbmF2eSAwJSwgJGRhcmtOYXZ5IDEwMCUpO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGZvbnQtZmFtaWx5OiAnR29yZGl0YSBCb2xkJywgc2Fucy1zZXJpZjtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXHRcdGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCA1MywgMjEwLCAwLjIpO1xuXHR9XG5cblx0LnNldHRpbmdzLWlkZW50aXR5LXRleHQge1xuXHRcdG1pbi13aWR0aDogMDtcblxuXHRcdC5pZGVudGl0eS1uYW1lIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAnR29yZGl0YSBCb2xkJywgc2Fucy1zZXJpZjtcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdGNvbG9yOiAkbmF2eS1kYXJrLXRleHQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cblx0XHQuaWRlbnRpdHktcm9sZSB7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcblx0XHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdFx0bWFyZ2luLXRvcDogMnB4O1xuXHRcdH1cblx0fVxuXG5cdC5zZXR0aW5ncy1uYXYtZ3JvdXAge1xuXHRcdHBhZGRpbmc6IDE2cHggMTBweCA0cHg7XG5cblx0XHQvKiBQcmFjdGljZSBuYW1lcyBhcmUgYnV0dG9ucyB0aGF0IGZvbGQgdGhlaXIgc2V0dGluZ3MgYXdheTsgXCJZb3VyIGFjY291bnRcIlxuXHRcdCAgIHVzZXMgdGhlIHNhbWUgbG9vayBidXQgaXMgbm90IGludGVyYWN0aXZlLiAqL1xuXHRcdC5zZXR0aW5ncy1uYXYtZ3JvdXAtdGl0bGUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDdweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cdFx0XHRjb2xvcjogI2EzYWFjMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0XHRwYWRkaW5nOiA1cHggMTJweCA3cHg7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5cblx0XHRcdCYuc3RhdGljIHtcblx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblxuXHRcdFx0Jjpub3QoLnN0YXRpYyk6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJG5hdnk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5LXBhbGU7XG5cblx0XHRcdFx0Lm5hdi1ncm91cC1jaGV2cm9uIHtcblx0XHRcdFx0XHRjb2xvcjogJG5hdnk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm5hdi1ncm91cC1uYW1lIHtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHR9XG5cblx0XHRcdC5uYXYtZ3JvdXAtY2hldnJvbiB7XG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdFx0Y29sb3I6ICNjM2M5ZGE7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7XG5cdFx0XHR9XG5cblx0XHRcdCYuY29sbGFwc2VkIC5uYXYtZ3JvdXAtY2hldnJvbiB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LyogQ29sbGFwc2UgYW5pbWF0aW9uLiBtYXgtaGVpZ2h0IGNhbm5vdCB0cmFuc2l0aW9uIHRvIGF1dG8sIHNvIGl0IHJ1bnMgdG8gYVxuXHRcdCAgIGNlaWxpbmcgY29tZm9ydGFibHkgYWJvdmUgdGhlIHRhbGxlc3QgZ3JvdXAgKDUgaXRlbXMgfiAyMDBweCk7IHRoZSBlYXNpbmcgaXNcblx0XHQgICB3aGF0IGlzIHNlZW4sIG5vdCB0aGUgZXhhY3QgdmFsdWUuIE9wYWNpdHkgYW5kIGEgc21hbGwgbGlmdCBkbyB0aGUgcmVzdC4gKi9cblx0XHQubmF2LWdyb3VwLWl0ZW1zIHtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRtYXgtaGVpZ2h0OiAzMjBweDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksXG5cdFx0XHRcdG9wYWNpdHkgMC4xOHMgZWFzZSxcblx0XHRcdFx0dHJhbnNmb3JtIDAuMjRzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cdFx0fVxuXG5cdFx0Lm5hdi1ncm91cC1pdGVtcy5uZy1lbnRlcixcblx0XHQubmF2LWdyb3VwLWl0ZW1zLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcblx0XHR9XG5cblx0XHQubmF2LWdyb3VwLWl0ZW1zLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSxcblx0XHQubmF2LWdyb3VwLWl0ZW1zLm5nLWxlYXZlIHtcblx0XHRcdG1heC1oZWlnaHQ6IDMyMHB4O1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcblx0XHR9XG5cblx0XHQubmF2LWdyb3VwLXRhZyB7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0R3JleTtcblx0XHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuXHRcdFx0cGFkZGluZzogMnB4IDdweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cblx0XHRcdC8qIEZpbGxlZCBwaWxsIG1hcmtzIHRoZSBvbmUgcHJhY3RpY2UgdGhhdCBpcyBvcGVuIC0gb25seSBldmVyIG9uZS4gKi9cblx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zZXR0aW5ncy1uYXYtaXRlbSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMTFweDtcblx0XHRwYWRkaW5nOiA5cHggMTJweDtcblx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGNvbG9yOiAjNGE1NTY4O1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdFx0aSB7XG5cdFx0XHR3aWR0aDogMTVweDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0Y29sb3I6ICNhM2FhYzA7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y0ZjdmZTtcblx0XHRcdGNvbG9yOiAkbmF2eTtcblxuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkbmF2eTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgNTMsIDIxMCwgMC4yKTtcblxuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNldHRpbmdzLW5hdi1mb290ZXIge1xuXHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdFx0cGFkZGluZzogMTRweCAxOHB4O1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVmMWY3O1xuXG5cdFx0LmZvb3Rlci1sYWJlbCB7XG5cdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuXHRcdFx0Y29sb3I6ICNhM2FhYzA7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0fVxuXG5cdFx0LmZvb3Rlci12YWx1ZSB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRjb2xvcjogJG5hdnk7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRtYXJnaW4tdG9wOiAzcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdH1cblx0fVxuXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LyogISBSaWdodCBDb250ZW50IFBhbmVcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQuc2V0dGluZ3MtcGFuZSB7XG5cdFx0ZmxleDogMTtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY3ZmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC8qIEVhY2ggc2VjdGlvbiBpcyBhIGNvbXBvbmVudCBlbGVtZW50IC0gbWFrZSBpdCBvd24gdGhlIHBhbmUncyBoZWlnaHQgKi9cblx0XHQ+ICoge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1pbi1oZWlnaHQ6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR9XG5cdH1cblxuXHQuc2V0dGluZ3MtcGFuZS1ib2R5IHtcblx0XHRmbGV4OiAxO1xuXHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0cGFkZGluZzogMjRweCAyOHB4IDI4cHg7XG5cblx0XHRoMyxcblx0XHRoNCxcblx0XHRoNSB7XG5cdFx0XHRmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCcsIHNhbnMtc2VyaWY7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblxuXHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcblx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0fVxuXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG5cdFx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1MywgMjEwLCAwLjEpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDUzLCAyMTAsIDAuMyk7XG5cdFx0fVxuXHR9XG5cblx0LyogX3BheW1lbnRzLmNzcyBzdHJldGNoZXMgY2FyZHMgdG8gZmlsbCB0aGVpciBjb2x1bW47IGhlcmUgdGhleSBodWcgdGhlaXIgY29udGVudCAqL1xuXHQuc2V0dGluZ3MtY2FyZCB7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cblx0LyogQ29sdW1uIGZsZXggc28gdGhlIGJhZGdlLCBoZWFkaW5nIGFuZCBkZXNjcmlwdGlvbiBlYWNoIGdldCB0aGVpciBvd24gbGluZVxuXHQgICB3aGlsZSBzdGlsbCBodWdnaW5nIHRoZWlyIGNvbnRlbnQgLSB0aGUgaGVhZGluZyBhbmQgYmFkZ2UgYXJlIHBpbGxzLCBub3QgYmFycy4gKi9cblx0LnNldHRpbmdzLXBhbmUtaGVhZGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdC8qIEEgYmFuZCBvZiB0aGUgYnJhbmQncyBvd24gcGFsZSBuYXZ5IHJhdGhlciB0aGFuIHBsYWluIHRleHQsIHNvIHRoZSBzZWN0aW9uXG5cdFx0ICAgeW91IGFyZSBpbiByZWFkcyBhdCBhIGdsYW5jZSBhZ2FpbnN0IHRoZSBwYWxlIGJsdWUgY2FudmFzLiBTYW1lIHRpbnQgYXMgdGhlXG5cdFx0ICAgaWNvbiBjaGlwcyB0aHJvdWdob3V0IHRoZSBwYW5lLCBzbyBub3RoaW5nIG5ldyBpcyBpbnRyb2R1Y2VkLiAqL1xuXHRcdGgzIHtcblx0XHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRcdGNvbG9yOiAkbmF2eTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5LXBhbGU7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcblx0XHRcdG1hcmdpbjogMCAwIDEwcHg7XG5cdFx0XHRwYWRkaW5nOiA3cHggMTVweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0Y29sb3I6ICM4NzhiYTA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRtYXgtd2lkdGg6IDcyY2g7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdH1cblx0fVxuXG5cdC8qIFdobyBhIHNldHRpbmcgYWZmZWN0cyBpcyB0aGUgc2luZ2xlIG1vc3QgaW1wb3J0YW50IHRoaW5nIG9uIHRoZXNlIHNjcmVlbnMgLVxuXHQgICBjaGFuZ2luZyBzb21ldGhpbmcgcHJhY3RpY2Utd2lkZSB0b3VjaGVzIGV2ZXJ5IGNsaW5pY2lhbiB0aGVyZS4gQSBzb2xpZCBiYW5kXG5cdCAgIGFjcm9zcyBhIHRoaXJkIG9mIHRoZSBwYW5lIC0gd2lkZSBlbm91Z2ggbm90IHRvIGJlIHNraW1tZWQgcGFzdCBhcyBhIGNhcHRpb24sXG5cdCAgIG5hcnJvdyBlbm91Z2ggbm90IHRvIHNob3V0IG92ZXIgdGhlIHNldHRpbmdzIHRoZW1zZWx2ZXMuICovXG5cdC5zY29wZS1iYWRnZSB7XG5cdFx0YWxpZ24tc2VsZjogZmxleC1zdGFydDtcblx0XHR3aWR0aDogMzMlO1xuXHRcdG1pbi13aWR0aDogMzAwcHg7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEwcHg7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMzU7XG5cdFx0cGFkZGluZzogMTFweCAxNnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblxuXHRcdC8qIEVhY2ggc2VjdGlvbiBpcyBjcmVhdGVkIGZyZXNoIGJ5IG5nLWlmLCBzbyB0aGlzIHJlcGxheXMgZXZlcnkgdGltZSB5b3Vcblx0XHQgICBtb3ZlIGJldHdlZW4gc2V0dGluZ3MgLSByZS1hbm5vdW5jaW5nIHRoZSBzY29wZSByYXRoZXIgdGhhbiBsZXR0aW5nIGl0XG5cdFx0ICAgc2l0IHRoZXJlIHVucmVhZC4gKi9cblx0XHRhbmltYXRpb246IHNldHRpbmdzLXNjb3BlLWJhbmQtb3BlbiA0MjBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSkgYm90aDtcblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdH1cblxuXHRcdC8qIFlvdXJzIGFsb25lIC0gdGhlIGJyYW5kIGJsdWUuICovXG5cdFx0Ji5wZXJzb25hbCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblx0XHR9XG5cblx0XHQvKiBBZmZlY3RzIG90aGVyIHBlb3BsZSwgc28gaXQgY2FycmllcyBhIGNhdXRpb24gdG9uZSByYXRoZXIgdGhhbiBhIHNlY29uZFxuXHRcdCAgIHNoYWRlIG9mIGJsdWUuIERlZXAgYW1iZXIga2VlcHMgd2hpdGUgdGV4dCBhdCB+Ni40OjE7IGEgYnJpZ2h0ICR5ZWxsb3ctY3RhXG5cdFx0ICAgZmlsbCB3b3VsZCBkcm9wIGl0IHRvIDMuNDoxIGFuZCBmYWlsIEFBLiAqL1xuXHRcdCYucHJhY3RpY2Uge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdhcm5pbmctdGV4dDtcblx0XHR9XG5cdH1cblxuXHQvKiBTdGlja3kgYWN0aW9uIGJhciBhdCB0aGUgYm90dG9tIG9mIGEgcGFuZS4gVGhlIGNvbmZpcm1hdGlvbiBzaXRzIGltbWVkaWF0ZWx5XG5cdCAgIGxlZnQgb2YgdGhlIGJ1dHRvbiByYXRoZXIgdGhhbiBhY3Jvc3MgdGhlIGJhciwgc28gaXQgbGFuZHMgd2hlcmUgdGhlIGV5ZVxuXHQgICBhbHJlYWR5IGlzIGFmdGVyIGNsaWNraW5nLiAqL1xuXHQuc2V0dGluZ3MtYWN0aW9uLWJhciB7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0Z2FwOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDEycHggMjhweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcblxuXHRcdC5hY3Rpb24taGludCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRjb2xvcjogIzg3OGJhMDtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHR9XG5cblx0XHQuYnRuIHtcblx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXG5cdFx0LyogQW4gb3B0aW9uIHRoYXQgY2hhbmdlcyB3aGF0IFNhdmUgZG9lcywgc28gaXQgbGl2ZXMgd2l0aCBTYXZlIHJhdGhlciB0aGFuXG5cdFx0ICAgdXAgaW4gYSBjYXJkIGhlYWRlciB3aGVyZSBpdCByZWFkIGFzIHVucmVsYXRlZC4gKi9cblx0XHQuY2hpcC1zZWxlY3QuYXBwbHktYWxsIHtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAxMS41cHg7XG5cdFx0XHRwYWRkaW5nOiA2cHggMTNweDtcblx0XHR9XG5cdH1cblxuXHQvKiBTdWNjZXNzIGdyZWVuLCBub3QgdGhlIG5hdnkgdXNlZCBldmVyeXdoZXJlIGVsc2UsIHNvIGEgc2F2ZSByZWFkcyBhcyBhIGRpc3RpbmN0XG5cdCAgIGV2ZW50IHJhdGhlciB0aGFuIG1vcmUgb2YgdGhlIHNhbWUgcGFnZS4gKi9cblx0LnNhdmUtZmxhc2gge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA3cHg7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0cGFkZGluZzogN3B4IDE0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmVlbi10cC0xMDtcblx0XHRjb2xvcjogY29sb3IoJGdyZWVuIGwoLTEyJSkpO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmVlbi10cC0zMDtcblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdH1cblxuXHRcdCYuc2F2aW5nIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyZXk7XG5cdFx0XHRjb2xvcjogIzg3OGJhMDtcblx0XHRcdGJvcmRlci1jb2xvcjogJGdyZXktYm9yZGVyLWxpZ2h0O1xuXHRcdH1cblxuXHRcdCYuZXJyb3Ige1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZkZWNlYTtcblx0XHRcdGNvbG9yOiAkcmVkLWRhbmdlci1hbHQ7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEoMjE3LCA4MywgNzksIDAuMyk7XG5cdFx0fVxuXG5cdFx0LyogUG9wcyBpbiwgc28gaXQgaXMgbm90aWNlZCBldmVuIHdoZW4gdGhlIHdvcmRpbmcgaXMgdW5jaGFuZ2VkLiAqL1xuXHRcdCYubmctZW50ZXIge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMC44NSk7XG5cdFx0fVxuXG5cdFx0Ji5uZy1lbnRlci1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC4zNCwgMS41NiwgMC42NCwgMSk7XG5cdFx0fVxuXG5cdFx0Ji5uZy1sZWF2ZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdCYubmctbGVhdmUtYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG5cdFx0fVxuXHR9XG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQvKiAhIExheW91dCBoZWxwZXJzXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LnNldHRpbmdzLXN0YWNrIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAyMHB4O1xuXHR9XG5cblx0LnNldHRpbmdzLWNvbHVtbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Z2FwOiAyMHB4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuXHRcdD4gKiB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0bWluLXdpZHRoOiAzMDBweDtcblx0XHR9XG5cdH1cblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cdC8qICEgUmVhZC1vbmx5IGRldGFpbCByb3dzXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LmRldGFpbC1yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDE2cHg7XG5cdFx0cGFkZGluZzogMTNweCAwO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuXHRcdG1pbi1oZWlnaHQ6IDUycHg7XG5cblx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0LmRldGFpbC1sYWJlbCB7XG5cdFx0XHRmbGV4OiAwIDAgMTUwcHg7XG5cdFx0XHR3aWR0aDogMTUwcHg7XG5cdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcblx0XHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdC5kZXRhaWwtdmFsdWUge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGNvbG9yOiAkdGV4dC1kYXJrO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0XHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cblx0XHRcdCYubXV0ZWQge1xuXHRcdFx0XHRjb2xvcjogI2EzYWFjMDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZGV0YWlsLWFjdGlvbiB7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cdH1cblxuXHQvKiBPbmx5IHRoZSByb3cgdGhhdCBvcGVucyBhIGNhcmQgc2l0cyBmbHVzaCB3aXRoIHRoZSBjYXJkIGhlYWRlciAqL1xuXHQuY2FyZC1ib2R5ID4gLmRldGFpbC1yb3c6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG5cblx0LyogU21hbGwgaW5saW5lIFwiZWRpdFwiIGFmZm9yZGFuY2UgKi9cblx0LmxpbmstYWN0aW9uIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7XG5cblx0XHRpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogNHB4O1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cblx0LmlubGluZS1lZGl0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQvKiAhIENoaXBzIChmZWF0dXJlcywgcmVmZXJyYWwgdHlwZXMpXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LmNoaXAtbGlzdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0Z2FwOiA4cHg7XG5cdH1cblxuXHQuY2hpcCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDZweDtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0XHRwYWRkaW5nOiA1cHggMTFweDtcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY3ZmU7XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgNTMsIDIxMCwgMC4xMik7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0aSB7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0fVxuXG5cdFx0Ji5jaGlwLW11dGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyZXk7XG5cdFx0XHRjb2xvcjogI2EzYWFjMDtcblx0XHRcdGJvcmRlci1jb2xvcjogJGdyZXktYm9yZGVyLWxpZ2h0O1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblx0fVxuXG5cdC8qIFNlbGVjdGFibGUgY2hpcCAtIHdyYXBzIGEgY2hlY2tib3ggKi9cblx0LmNoaXAtc2VsZWN0IHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogOHB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xuXHRcdHBhZGRpbmc6IDdweCAxNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdGNvbG9yOiAjNGE1NTY4O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXG5cdFx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogI2NiZDVlMDtcblx0XHR9XG5cblx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5LXBhbGU7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEoMCwgNTMsIDIxMCwgMC4zNSk7XG5cdFx0XHRjb2xvcjogJG5hdnk7XG5cdFx0fVxuXG5cdFx0Ji5kaXNhYmxlZCB7XG5cdFx0XHRvcGFjaXR5OiAwLjQ1O1xuXHRcdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0XHR9XG5cdH1cblxuXHQvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cdC8qICEgRWRpdGFibGUgcm93IGxpc3QgKGFwcG9pbnRtZW50IHR5cGVzLCB0YXNrIGxhYmVscylcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQucm93LWxpc3QtaGVhZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMTJweDtcblx0XHRwYWRkaW5nOiAwIDE0cHggOHB4O1xuXG5cdFx0c3BhbiB7XG5cdFx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDZlbTtcblx0XHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdH1cblx0fVxuXG5cdC8qIFRoZSBpbnB1dHMgY2FycnkgdGhlaXIgb3duIGJvcmRlcnMsIHNvIHRoZSByb3dzIHRoZW1zZWx2ZXMgc3RheSB1bmJveGVkICovXG5cdC5yb3ctaXRlbSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMTJweDtcblx0XHRwYWRkaW5nOiA1cHggMTRweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cblx0XHQvKiBTZXBhcmF0ZWQgYnkgYSBydWxlIHJhdGhlciB0aGFuIGEgYm94IG9mIGl0cyBvd24gKi9cblx0XHQmLnJvdy1pdGVtLW5ldyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDUzLCAyMTAsIDAuMjUpO1xuXHRcdH1cblx0fVxuXG5cdC8qIENvbHVtbiB3aWR0aHMgc2hhcmVkIGJ5IHRoZSBoZWFkIGFuZCB0aGUgcm93cyAqL1xuXHQuY29sLW5hbWUge1xuXHRcdGZsZXg6IDEgMSAyMDBweDtcblx0XHRtaW4td2lkdGg6IDE1MHB4O1xuXHR9XG5cblx0LmNvbC1jb2xvdXIge1xuXHRcdGZsZXg6IDAgMCAxMzBweDtcblx0XHR3aWR0aDogMTMwcHg7XG5cdH1cblxuXHQuY29sLWR1cmF0aW9uIHtcblx0XHRmbGV4OiAwIDAgMTEwcHg7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHR9XG5cblx0LmNvbC10eXBlIHtcblx0XHRmbGV4OiAwIDAgMTkwcHg7XG5cdFx0d2lkdGg6IDE5MHB4O1xuXHR9XG5cblx0LmNvbC1hZGQge1xuXHRcdGZsZXg6IDAgMCA0MHB4O1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0fVxuXG5cdC5jb2wtYWRkLXdpZGUge1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0fVxuXG5cdC8qIFRoZSBvbGQgcm91bmQgXCIrXCIgd2FzIG1pc3NlZCAtIHRoZSBhZGQgc3RlcCBub3cgYW5ub3VuY2VzIGl0c2VsZiBhbmQgaXRzXG5cdCAgIGJ1dHRvbiBzYXlzIHdoYXQgaXQgZG9lcy4gVGhlIGZvcm0gY2xlYXJzIGFmdGVyIGVhY2ggYWRkLCBzbyBhIHJ1biBvZlxuXHQgICBlbnRyaWVzIGNhbiBiZSB0eXBlZCBvbmUgYWZ0ZXIgYW5vdGhlciB3aXRob3V0IGxlYXZpbmcgdGhlIHNjcmVlbi4gKi9cblx0LmFkZC1yb3cge1xuXHRcdG1hcmdpbi10b3A6IDE4cHg7XG5cdFx0cGFkZGluZy10b3A6IDE0cHg7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IGRhc2hlZCByZ2JhKDAsIDUzLCAyMTAsIDAuMjUpO1xuXG5cdFx0LmFkZC1yb3ctdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG5cdFx0XHRjb2xvcjogI2EzYWFjMDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRcdHBhZGRpbmc6IDAgMTRweCA4cHg7XG5cdFx0fVxuXG5cdFx0LnJvdy1pdGVtLnJvdy1pdGVtLW5ldyB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmFkZC1yb3ctYWN0aW9ucyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdHBhZGRpbmc6IDEycHggMTRweCAwO1xuXHRcdH1cblx0fVxuXG5cdC5idG4tYWRkIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDhweCAxOHB4O1xuXG5cdFx0aSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZweDtcblx0XHR9XG5cdH1cblxuXHQvKiBhbmd1bGFyanMtY29sb3ItcGlja2VyIHJlbmRlcnMgYSBib290c3RyYXAgaW5wdXQgZ3JvdXAgLSBrZWVwIHRoZSBqb2ludCB0aWR5ICovXG5cdC5jb2wtY29sb3VyIHtcblx0XHQuY29sb3ItcGlja2VyLXdyYXBwZXIsXG5cdFx0LmNvbG9yLXBpY2tlci1pbnB1dC13cmFwcGVyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc20gMCAwICRib3JkZXItcmFkaXVzLXNtO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0fVxuXG5cdFx0LmlucHV0LWdyb3VwIC5jb2xvci1waWNrZXItaW5wdXQge1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmxhYmVsLXN3YXRjaCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiAzMHB4O1xuXHRcdGhlaWdodDogMzBweDtcblx0XHRmbGV4LXNocmluazogMDtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0LmJ0bi1hZGQtcm91bmQge1xuXHRcdHdpZHRoOiAzNHB4O1xuXHRcdGhlaWdodDogMzRweDtcblx0XHRtaW4td2lkdGg6IDM0cHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtY2lyY2xlO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuXG5cdFx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya05hdnk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuXHRcdH1cblxuXHRcdCY6ZGlzYWJsZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2QzZDllNjtcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0fVxuXHR9XG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQvKiAhIEZvcm0gY29udHJvbHNcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQuY29udHJvbC1sYWJlbCxcblx0bGFiZWwuZmllbGQtbGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0fVxuXG5cdC5mb3JtLWNvbnRyb2wsXG5cdHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRwYWRkaW5nOiA4cHggMTJweDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0XHQmOmZvY3VzIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJG5hdnk7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgNTMsIDIxMCwgMC4xKTtcblx0XHR9XG5cblx0XHQmW3JlYWRvbmx5XSxcblx0XHQmOmRpc2FibGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyZXk7XG5cdFx0XHRjb2xvcjogIzhhOTBhMztcblx0XHR9XG5cdH1cblxuXHR0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuXHRcdG1pbi1oZWlnaHQ6IDEyMHB4O1xuXHRcdHJlc2l6ZTogdmVydGljYWw7XG5cdH1cblxuXHQuZXJyb3ItbWVzc2FnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29sb3I6ICRyZWQtZGFuZ2VyLWFsdDtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0bWFyZ2luLXRvcDogNHB4O1xuXHR9XG5cblx0LmZpZWxkLWhlbHAge1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRjb2xvcjogI2EzYWFjMDtcblx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDU7XG5cdH1cblxuXHQuZmllbGQtZ3JpZCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0Z2FwOiAxNnB4O1xuXG5cdFx0LmZpZWxkIHtcblx0XHRcdGZsZXg6IDEgMSAyMDBweDtcblx0XHRcdG1pbi13aWR0aDogMTYwcHg7XG5cdFx0fVxuXG5cdFx0LmZpZWxkLXNtIHtcblx0XHRcdGZsZXg6IDAgMCAxNDBweDtcblx0XHRcdHdpZHRoOiAxNDBweDtcblx0XHR9XG5cdH1cblxuXHQvKiBBIG51bWJlciBzZXQgaW5zaWRlIGl0cyBvd24gc2VudGVuY2UsIHJhdGhlciB0aGFuIHN0cmFuZGVkIGF0IHRoZSBmYXIgcmlnaHQgKi9cblx0LmlubGluZS1zZW50ZW5jZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDdweDtcblx0XHRtYXJnaW4tdG9wOiA3cHg7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGNvbG9yOiAjNTU1O1xuXG5cdFx0aW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG5cdFx0XHR3aWR0aDogNjJweDtcblx0XHRcdHBhZGRpbmc6IDVweCA4cHg7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGNvbG9yOiAkbmF2eTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRuYXZ5O1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgwLCA1MywgMjEwLCAwLjEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LyogISBOb3RpY2VzICYgZW1wdHkgc3RhdGVzXG5cdC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblx0LnNldHRpbmdzLW5vdGljZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRnYXA6IDEycHg7XG5cdFx0cGFkZGluZzogMTRweCAxOHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuXHRcdGZvbnQtc2l6ZTogMTIuNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMXB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0fVxuXG5cdFx0Ji5pbmZvIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5LXBhbGU7XG5cdFx0XHRjb2xvcjogJGRhcmtOYXZ5O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA1MywgMjEwLCAwLjE1KTtcblxuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkbmF2eTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLndhcm5pbmcge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjhlNjtcblx0XHRcdGNvbG9yOiAkd2FybmluZy10ZXh0O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDE3MSwgMCwgMC4zKTtcblxuXHRcdFx0aSB7XG5cdFx0XHRcdGNvbG9yOiAkeWVsbG93LWN0YTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2V0dGluZ3MtZW1wdHkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcblx0XHRib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0cGFkZGluZzogNTRweCAzMnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zaXplOiAzNHB4O1xuXHRcdFx0Y29sb3I6ICNkM2Q5ZTY7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXHRcdH1cblxuXHRcdGg0IHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGNvbG9yOiAkZGFya05hdnk7XG5cdFx0XHRtYXJnaW46IDAgMCA4cHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRjb2xvcjogIzg3OGJhMDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiA1MmNoO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTU7XG5cdFx0fVxuXHR9XG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQvKiAhIEV4cGFuZGFibGUgYmxvY2tzIChyZW1pbmRlciBtZXNzYWdlIGNvbXBvc2Vycylcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQuZXhwYW5kZXIge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTRweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0LmV4cGFuZGVyLWhlYWQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEycHg7XG5cdFx0cGFkZGluZzogMTRweCAxOHB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYmZjZmY7XG5cdFx0fVxuXG5cdFx0LmV4cGFuZGVyLWljb24ge1xuXHRcdFx0d2lkdGg6IDM0cHg7XG5cdFx0XHRoZWlnaHQ6IDM0cHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5LXBhbGU7XG5cdFx0XHRjb2xvcjogJG5hdnk7XG5cdFx0fVxuXG5cdFx0LmV4cGFuZGVyLXRpdGxlIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cblx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRmb250LWZhbWlseTogJ0dvcmRpdGEgQm9sZCcsIHNhbnMtc2VyaWY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0XHR9XG5cblx0XHRcdHNtYWxsIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdFx0Y29sb3I6ICNhM2FhYzA7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZXhwYW5kZXItY2hldnJvbiB7XG5cdFx0XHRjb2xvcjogI2EzYWFjMDtcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHR9XG5cdH1cblxuXHQuZXhwYW5kZXItYm9keSB7XG5cdFx0cGFkZGluZzogNHB4IDE4cHggMThweDtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2VlZjFmNztcblx0fVxuXG5cdC5leHBhbmRlci5pcy1vcGVuIC5leHBhbmRlci1oZWFkIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmY2ZmO1xuXHR9XG5cblx0LyogTWVyZ2UtZmllbGQgdG9rZW5zICovXG5cdC5tZXJnZS1maWVsZC1ncm91cHMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogOHB4IDI4cHg7XG5cdFx0bWFyZ2luOiAxMHB4IDAgMTRweDtcblx0fVxuXG5cdC5tZXJnZS1maWVsZC1ncm91cCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGdhcDogNnB4O1xuXG5cdFx0Lm1lcmdlLWZpZWxkcyB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cblx0Lm1lcmdlLWZpZWxkLWdyb3VwLWxhYmVsIHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA2ZW07XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRjb2xvcjogI2EzYWFjMDtcblx0fVxuXG5cdC5tZXJnZS1maWVsZHMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGdhcDogOHB4O1xuXHRcdG1hcmdpbjogMTBweCAwIDE0cHg7XG5cdH1cblxuXHQubWVyZ2UtZmllbGQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY3ZmU7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCA1MywgMjEwLCAwLjI1KTtcblx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG5cdFx0cGFkZGluZzogNXB4IDEycHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcblxuXHRcdC8qIFRoZSBzaGFyZWQgW2RyYWdnYWJsZV0gcnVsZSBwYWludHMgYSBibGFjayBib3JkZXIgYW5kIGEgbW92ZSBjdXJzb3Igb3ZlciBhbnl0aGluZ1xuXHRcdCAgIGRyYWdnYWJsZSAtIHRoZSBjaGlwcyBrZWVwIHRoZWlyIG93biBwaWxsIHN0eWxpbmcgYW5kIGEgZ3JhYiBjdXJzb3IgaW5zdGVhZC4gKi9cblx0XHQmW2RyYWdnYWJsZV0ge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDAsIDUzLCAyMTAsIDAuMjUpO1xuXHRcdFx0Y3Vyc29yOiBncmFiO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkbmF2eTtcblx0XHR9XG5cblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRjdXJzb3I6IGdyYWJiaW5nO1xuXHRcdH1cblxuXHRcdC5tZXJnZS1maWVsZC1uYW1lIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdC8qIFdoYXQgdGhlIGZpZWxkIHR1cm5zIGludG8uIFJlZ3VsYXIgd2VpZ2h0IGFuZCB0YWJ1bGFyIGZpZ3VyZXMgc28gaXQgcmVhZHMgYXMgYSB2YWx1ZVxuXHRcdCAgIHJhdGhlciB0aGFuIGFzIG1vcmUgbGFiZWwuICovXG5cdFx0Lm1lcmdlLWZpZWxkLWV4YW1wbGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiAxcHg7XG5cdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0XHRmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdH1cblx0fVxuXG5cdC5tZXJnZS1maWVsZC1ub3RlIHtcblx0XHRtYXgtd2lkdGg6IDM0MHB4O1xuXHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRsaW5lLWhlaWdodDogMS40NTtcblx0XHRjb2xvcjogI2EzYWFjMDtcblx0fVxuXG5cdC8qIERyb3AgdGFyZ2V0cy4gVGhlIHNoYXJlZCBsdmwgc3R5bGVzIGdyZXkgdGhlIHdob2xlIGVkaXRvciBvdXQgbWlkLWRyYWcgYW5kIGRhc2ggYSBibGFja1xuXHQgICBib3JkZXIgYXJvdW5kIHdoaWNoZXZlciBub2RlIHRoZSBwb2ludGVyIGlzIG92ZXI7IG91dGxpbmUgdGhlIGNvbXBvc2VyIGluc3RlYWQgc28gdGhlXG5cdCAgIHdvcmRpbmcgc3RheXMgcmVhZGFibGUgd2hpbGUgYSBmaWVsZCBpcyBiZWluZyBkcmFnZ2VkIGludG8gaXQuICovXG5cdC50ZXh0LWFyZWEtd3JhcC5sdmwtdGFyZ2V0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdG91dGxpbmU6IDJweCBkYXNoZWQgcmdiYSgwLCA1MywgMjEwLCAwLjMpO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAzcHg7XG5cdH1cblxuXHQudGV4dC1hcmVhLXdyYXAubHZsLW92ZXIsXG5cdC50ZXh0LWFyZWEtd3JhcCAubHZsLW92ZXIge1xuXHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LnRleHQtYXJlYS13cmFwLmx2bC1vdmVyIHtcblx0XHRvdXRsaW5lOiAycHggZGFzaGVkICRuYXZ5O1xuXHR9XG5cblx0LyogQXR0YWNobWVudHMgKi9cblx0LmF0dGFjaG1lbnQtcm93IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDEwcHggMTRweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0bWFyZ2luLWJvdHRvbTogOHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuXHRcdC5hdHRhY2htZW50LWljb24ge1xuXHRcdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdH1cblxuXHRcdC5hdHRhY2htZW50LW5hbWUge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdGZvbnQtc2l6ZTogMTIuNXB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0XHRcdGNvbG9yOiAkdGV4dC1kYXJrO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHR9XG5cblx0XHQuYXR0YWNobWVudC1zaXplIHtcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0fVxuXG5cdFx0LmF0dGFjaG1lbnQtYWN0aW9ucyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Z2FwOiAxMHB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOiAxNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDE1cHg7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0b3BhY2l0eTogMC42NTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZmlsZS1kcm9wIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRib3JkZXI6IDFweCBkYXNoZWQgcmdiYSgwLCA1MywgMjEwLCAwLjMpO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuXHRcdHBhZGRpbmc6IDE0cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZiZmNmZjtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Y29sb3I6ICM4NzhiYTA7XG5cblx0XHRpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0fVxuXHR9XG5cblx0LyogQ2hhcmFjdGVyIGNvdW50ZXIgKi9cblx0LnNtcy1jb3VudGVyIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0Y29sb3I6ICNhM2FhYzA7XG5cdFx0bWFyZ2luLXRvcDogNnB4O1xuXG5cdFx0c3Ryb25nIHtcblx0XHRcdGNvbG9yOiAkbmF2eTtcblx0XHR9XG5cblx0XHQmLm92ZXIgc3Ryb25nIHtcblx0XHRcdGNvbG9yOiAkcmVkLWRhbmdlci1hbHQ7XG5cdFx0fVxuXHR9XG5cblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQvKiAhIFVzYWdlIGNoYXJ0IGNhcmRcblx0LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXHQuY2hhcnQtY2FyZCB7XG5cdFx0LmNoYXJ0LXRvb2xiYXIge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdGdhcDogMTZweDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdFx0fVxuXG5cdFx0bnZkMyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFJlc3BvbnNpdmVcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuXHQuc2V0dGluZ3Mtc2hlbGwge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHQuc2V0dGluZ3MtbmF2IHtcblx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRvdmVyZmxvdy14OiBhdXRvO1xuXHRcdFx0b3ZlcmZsb3cteTogaGlkZGVuO1xuXHRcdH1cblxuXHRcdC5zZXR0aW5ncy1pZGVudGl0eSxcblx0XHQuc2V0dGluZ3MtbmF2LWZvb3RlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5zZXR0aW5ncy1uYXYtZ3JvdXAge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDZweDtcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblxuXHRcdFx0LnNldHRpbmdzLW5hdi1ncm91cC10aXRsZSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgNnB4IDAgMDtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2V0dGluZ3MtbmF2LWl0ZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0LnNldHRpbmdzLXBhbmUtYm9keSB7XG5cdFx0XHRwYWRkaW5nOiAxOHB4IDE2cHg7XG5cdFx0fVxuXG5cdFx0LnNldHRpbmdzLWFjdGlvbi1iYXIge1xuXHRcdFx0cGFkZGluZzogMTJweCAxNnB4O1xuXHRcdH1cblxuXHRcdC5kZXRhaWwtcm93IHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGdhcDogNnB4O1xuXG5cdFx0XHQuZGV0YWlsLWxhYmVsIHtcblx0XHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnJvdy1pdGVtIHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHR9XG5cblx0XHQuY29sLXR5cGUsXG5cdFx0LmNvbC1jb2xvdXIsXG5cdFx0LmNvbC1kdXJhdGlvbiB7XG5cdFx0XHRmbGV4OiAxIDEgMTQwcHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuLyogQW55b25lIHdobyBoYXMgYXNrZWQgZm9yIGxlc3MgbW90aW9uIGdldHMgdGhlIGJhbmQgd2l0aG91dCB0aGUgd2lwZS4gKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG5cdC5zZXR0aW5ncy1zaGVsbCAuc2NvcGUtYmFkZ2UsXG5cdC5zZXR0aW5ncy1zaGVsbCAubmF2LWdyb3VwLWl0ZW1zIHtcblx0XHRhbmltYXRpb246IG5vbmU7XG5cdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBGZWF0dXJlIHRpcHMgKHRpcCBvZiB0aGUgZGF5KVxuLyogU2FtZSBjYXJkIGxhbmd1YWdlIGFzIF9wYXltZW50cy5jc3MgLyBfc2V0dGluZ3MuY3NzIHNvIHRoZSB0aXAgcmVhZHNcbi8qIGFzIHBhcnQgb2YgdGhlIHByb2R1Y3QgcmF0aGVyIHRoYW4gYW4gYWR2ZXJ0LlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGlwLWNhcmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcblx0Ym9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkbmF2eTtcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcblx0cGFkZGluZzogMTZweCAxOHB4O1xuXHRtYXgtd2lkdGg6IDQ2MHB4O1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cblx0LnRpcC1oZWFkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA4cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0fVxuXG5cdC50aXAtZXllYnJvdyB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjA3ZW07XG5cdFx0Y29sb3I6ICRuYXZ5O1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA2cHg7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdGkge1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdH1cblx0fVxuXG5cdC50aXAtcGFnZXIge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Z2FwOiA0cHg7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuXHQudGlwLWFycm93LFxuXHQudGlwLWNsb3NlIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRwYWRkaW5nOiAycHggNXB4O1xuXHRcdGNvbG9yOiAjYTNhYWMwO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkbmF2eTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNGY3ZmU7XG5cdFx0fVxuXHR9XG5cblx0LnRpcC1jbG9zZSB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdG1hcmdpbi1sZWZ0OiAycHg7XG5cdH1cblxuXHQudGlwLWJvZHkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Z2FwOiAxM3B4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHR9XG5cblx0LnRpcC1pY29uIHtcblx0XHR3aWR0aDogMzhweDtcblx0XHRoZWlnaHQ6IDM4cHg7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2U3ZjBmZjtcblx0XHRjb2xvcjogJG5hdnk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXG5cdC50aXAtdGV4dCB7XG5cdFx0bWluLXdpZHRoOiAwO1xuXG5cdFx0aDUge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICdHb3JkaXRhIEJvbGQnLCBzYW5zLXNlcmlmO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0Y29sb3I6ICRuYXZ5LWRhcmstdGV4dDtcblx0XHRcdG1hcmdpbjogMCAwIDVweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IDEyLjVweDtcblx0XHRcdGNvbG9yOiAjODc4YmEwO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblxuXHQudGlwLWFjdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDE0cHg7XG5cdFx0bWFyZ2luLXRvcDogMTRweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDUxcHg7XG5cblx0XHQuYnRuIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuXHQudGlwLWNhcmQge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdC50aXAtYWN0aW9ucyB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIEVDTElQU0UgSW4tUGF0aWVudCBDbGFpbSAodHlyb01lZGlwYXNzV2lkZ2V0KVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogQSBmb3J3YXJkcy1vbmx5IHRocmVlIHN0ZXAgZmxvdyAtIHZlcmlmeSwgY2hlY2sgZWxpZ2liaWxpdHksIGxvZGdlIC1cbi8qIGluc2lkZSB0aGUgY2xhaW0gbW9kYWwuIFJlYWRzIHRvcCB0byBib3R0b20sIGVhY2ggc3RlcCBlbmRpbmcgaW4gb25lXG4vKiBhY3Rpb24gYmFyLiBMZWF2aW5nIHRoZSBmbG93IGlzIHRoZSBjbGFpbSBtb2RhbCdzIG93biBCYWNrIGxpbmsuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5lY2xpcHNlLWZsb3cge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjc1cmVtIDEuNzVyZW07XG59XG5cbi5lY2xpcHNlLWZsb3dfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5lY2xpcHNlLWZsb3dfX2xlYWQge1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXgtd2lkdGg6IDYwcmVtO1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG59XG5cbi8qIFNlcGFyYXRlcyB0aGUgc2VjdGlvbnMgb2YgYSBsb25nIGZvcm0gdGhlIHdheSB0aGUgY2xpbmljYWwgbm90ZXMgZG8gLSB0aGVcbiAgIGxlZnQtcGFja2VkIHJvd3MgYWxvbmUgZG8gbm90IG1ha2UgdGhlIGJyZWFrcyBvYnZpb3VzLiAkZ3JleS1ib3JkZXItbGlnaHRcbiAgIHJhdGhlciB0aGFuIHRoZSBub3RlcycgI2RkZCwgdG8gbWF0Y2ggdGhlIGFjdGlvbiBiYXIncyB0b3AgYm9yZGVyIGJlbG93LiAqL1xuLmVjbGlwc2UtZGl2aWRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgbWFyZ2luOiAyLjVlbSAwIDEuNWVtO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIFN0ZXBwZXJcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmVjbGlwc2Utc3RlcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC43NXJlbTtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAxLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmVjbGlwc2Utc3RlcHBlcl9fc3RlcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC42cmVtO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLyogRHJhd24gYnkgdGhlIHN0ZXAgaXQgbGVhZHMgaW50bywgc28gaXQgY2FuIG5ldmVyIGRhbmdsZSBvZmYgdGhlIGxhc3Qgb25lLiAqL1xuLmVjbGlwc2Utc3RlcHBlcl9fc3RlcCArIC5lY2xpcHNlLXN0ZXBwZXJfX3N0ZXAge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZmxleDogMSAxIDEuNXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAxLjVyZW07XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWJvcmRlci1saWdodDtcbiAgICB9XG59XG5cbi5lY2xpcHNlLXN0ZXBwZXJfX21hcmtlciB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xufVxuXG4uZWNsaXBzZS1zdGVwcGVyX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2U7XG59XG5cbi5lY2xpcHNlLXN0ZXBwZXJfX3N0ZXAtLWFjdGl2ZSB7XG4gICAgLmVjbGlwc2Utc3RlcHBlcl9fbWFya2VyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2eTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgIC5lY2xpcHNlLXN0ZXBwZXJfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICRuYXZ5O1xuICAgIH1cbn1cblxuLmVjbGlwc2Utc3RlcHBlcl9fc3RlcC0tZG9uZSB7XG4gICAgLmVjbGlwc2Utc3RlcHBlcl9fbWFya2VyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgLmVjbGlwc2Utc3RlcHBlcl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogJHRleHRHcmV5O1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBGb3JtIHJvd3MgYW5kIGZpZWxkc1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLyogTm90IGdyaWQgcm93cy4gSW4gYSBkaWFsb2cgODAlIG9mIHRoZSB3aW5kb3cgd2lkZSwgdGhlIDEyIGNvbHVtbiBncmlkXG4vKiBkZWFscyBldmVyeSBmaWVsZCBhbiBlcXVhbCBzaGFyZSwgc28gYW4gOCBjaGFyYWN0ZXIgcHJvdmlkZXIgbnVtYmVyXG4vKiBnZXRzIHRoZSBzYW1lIDcwMHB4IGJveCBhcyBhIGZyZWUgdGV4dCBkZXNjcmlwdGlvbi4gSGVyZSBlYWNoIGZpZWxkIGlzXG4vKiBhcyB3aWRlIGFzIHRoZSB2YWx1ZSBpdCBob2xkcyBhbmQgdGhlIHJvdyBwYWNrcyBsZWZ0LCBsZWF2aW5nIHRoZVxuLyogc2xhY2sgYXMgd2hpdGVzcGFjZSBhdCB0aGUgZW5kIHJhdGhlciB0aGFuIGluc2lkZSBldmVyeSBmaWVsZC5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmVjbGlwc2UtZm9ybXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgY29sdW1uLWdhcDogMS41cmVtO1xuXG4gICAgLyogU2l6ZWQgYnkgdGhlaXIgY29udGVudHMsIG5ldmVyIHN0cmV0Y2hlZC4gLmZvcm0tZ3JvdXAncyBvd24gYm90dG9tXG4gICAgICAgbWFyZ2luIHNwYWNlcyB0aGUgd3JhcHBlZCBsaW5lcy4gKi9cbiAgICA+IC5mb3JtLWdyb3VwIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvKiBPciBhIHNlbnRlbmNlIG9mIGhlbHAgdW5kZXIgYSBuYXJyb3cgZmllbGQgc2V0cyB0aGUgd2hvbGUgZ3JvdXAncyB3aWR0aC4gKi9cbiAgICAuaGVscC1ibG9jayB7XG4gICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgfVxufVxuXG4vKiBBbGlnbnMgYW4gdW5sYWJlbGxlZCBjb250cm9sIC0gdGhlIHJlbW92ZSBidXR0b24gLSB3aXRoIHRoZSBpbnB1dHMsIG5vdFxuICAgdGhlaXIgbGFiZWxzLiAqL1xuLmVjbGlwc2UtZm9ybXJvd19fc3BhY2VyLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5lY2xpcHNlLWZpZWxkIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIDMtNiBkaWdpdHM6IE1CUyBpdGVtIG51bWJlcnMgYW5kIHByZXNlbnRpbmcgaWxsbmVzcyBjb2Rlcy4gKi9cbi5lY2xpcHNlLWZpZWxkLS1udW1iZXIge1xuICAgIHdpZHRoOiA5cmVtO1xufVxuXG4vKiBFeGFjdGx5IDggY2hhcmFjdGVyczogTWVkaWNhcmUgcHJvdmlkZXIgbnVtYmVycyBhbmQgZmFjaWxpdHkgSURzLiAqL1xuLmVjbGlwc2UtZmllbGQtLWNvZGUge1xuICAgIHdpZHRoOiAxMXJlbTtcbn1cblxuLmVjbGlwc2UtZmllbGQtLW1vbmV5IHtcbiAgICB3aWR0aDogMTByZW07XG59XG5cbi8qIERhdGUgaW5wdXRzIGNhcnJ5IHBpY2tlciBmdXJuaXR1cmUsIHNvIHRoZXkgbmVlZCBtb3JlIHRoYW4gdGVuIGNoYXJhY3RlcnMuICovXG4uZWNsaXBzZS1maWVsZC0tZGF0ZSB7XG4gICAgd2lkdGg6IDEzcmVtO1xufVxuXG4vKiBVcCB0byAyMCBjaGFyYWN0ZXJzLCB3aGVyZSB0aGUgcGxhY2Vob2xkZXIgaXMgbG9uZ2VyIHRoYW4gdGhlIHZhbHVlLiAqL1xuLmVjbGlwc2UtZmllbGQtLXJlZiB7XG4gICAgd2lkdGg6IDE4cmVtO1xufVxuXG4vKiBGcmVlIHRleHQ6IHRoZSBjbGFpbSBpdGVtIGRlc2NyaXB0aW9uLiAqL1xuLmVjbGlwc2UtZmllbGQtLXRleHQge1xuICAgIHdpZHRoOiAyNnJlbTtcbn1cblxuLyogU1RVQiBjb2RlIHBsdXMgYSBmZXcgd29yZHMuIEVDTElQU0UgY2FwcyBpdCBhdCA1MCBjaGFyYWN0ZXJzLCBidXQgc2l6ZWQgdG9cbiAgIHdoYXQgaXMgbm9ybWFsbHkgdHlwZWQgcmF0aGVyIHRoYW4gdG8gdGhlIG1heGltdW0uICovXG4uZWNsaXBzZS1maWVsZC0tc3R1YiB7XG4gICAgd2lkdGg6IDEzcmVtO1xufVxuXG4vKiBUaGUgY2xhaW0gaXRlbSBwaWNrZXIsIHdoaWNoIHNob3dzIFwiNDI3MDIgLSBDYXRhcmFjdCBleHRyYWN0aW9uIC4uLlwiLiAqL1xuLmVjbGlwc2UtZmllbGQtLWl0ZW0ge1xuICAgIHdpZHRoOiAyNHJlbTtcbn1cblxuLyogU2l6ZWQgYnkgdGhlIGxvbmdlc3Qgb3B0aW9uIGFuZCBpdHMgYXJyb3csIG5vdCBieSB0aGUgY29kZSBoZWxkLiAqL1xuLmVjbGlwc2UtZmllbGQtLWNob2ljZS1zbSB7XG4gICAgd2lkdGg6IDExcmVtO1xufVxuXG4uZWNsaXBzZS1maWVsZC0tY2hvaWNlIHtcbiAgICB3aWR0aDogMTVyZW07XG59XG5cbi5lY2xpcHNlLWZpZWxkLS1jaG9pY2Utd2lkZSB7XG4gICAgd2lkdGg6IDE5cmVtO1xufVxuXG4vKiBUaGUgaGVhbHRoIGZ1bmQgcG9saWN5IHBpY2tlciwgd2hvc2Ugb3B0aW9ucyBydW4gXCJCdXBhIC0gIzg4ODEyMzQ1IC0gT3ZlcnNlYXNcbiAgIFZpc2l0b3IgSGVhbHRoIENvdmVyIChPVkhDKSAtIExBUFNFRFwiLiBFdmVyeSBwYXJ0IG9mIHRoYXQgZWFybnMgaXRzIHBsYWNlIC1cbiAgIHR3byBwb2xpY2llcyBhdCB0aGUgc2FtZSBmdW5kIGFyZSB0b2xkIGFwYXJ0IGJ5IHRoZSBjb3ZlciB0eXBlLCBhbmQgdGhlIHN0YXR1c1xuICAgaXMgYSByZWFzb24gbm90IHRvIGNsYWltIG9uIG9uZSAtIHNvIHRoZSBvcHRpb24gaGFzIHRvIGJlIHJlYWRhYmxlIGluIGZ1bGwuXG4gICBIb3cgd2lkZSB0aGF0IGlzIGRlcGVuZHMgb24gdGhlIHBhdGllbnQncyBwb2xpY2llcyByYXRoZXIgdGhhbiBvbiBhbnl0aGluZ1xuICAgdGhpcyBmaWxlIGtub3dzLCBzbyB0aGUgZmllbGQgaXMgc2l6ZWQgdG8gaXRzIGxvbmdlc3Qgb3B0aW9uIGluc3RlYWQgb2YgdG8gYVxuICAgbnVtYmVyIHBpY2tlZCBoZXJlOyB0aGUgZmxvb3Iga2VlcHMgYSBzaG9ydC1uYW1lZCBwb2xpY3kgZnJvbSBjb2xsYXBzaW5nIHRvIGFcbiAgIHN0dWIsIGFuZCAuZWNsaXBzZS1maWVsZCdzIG1heC13aWR0aCBzdG9wcyBhIGxvbmcgb25lIG92ZXJydW5uaW5nIHRoZSBmb3JtLiAqL1xuLmVjbGlwc2UtZmllbGQtLXBvbGljeSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAzMHJlbTtcbn1cblxuLyogVGhlIGVwaXNvZGUgaW5kaWNhdG9ycywgcmVhZCBhY3Jvc3MgcmF0aGVyIHRoYW4gZG93bi4gQm9vdHN0cmFwJ3Mgb3duXG4gICBhZGphY2VudC1jaGVja2JveCBzcGFjaW5nIGZpZ2h0cyB0aGUgZ2FwIGFuZCB1bmV2ZW5zIHRoZSB3cmFwcGVkIHJvd3MuXG5cbiAgIFNpdHMgaW5zaWRlIGEgLmVjbGlwc2UtZm9ybXJvdyBhbG9uZ3NpZGUgdGhlIGVwaXNvZGUncyBmaWVsZHMsIHNvIHRoZSBnYXAgaXNcbiAgIHRoZSB0aWdodGVyIG9mIHRoZSB0d286IDEuNzVyZW0gYmV0d2VlbiBsYWJlbGxlZCBmaWVsZHMgcmVhZHMgYXMgc2VwYXJhdGlvbixcbiAgIGJldHdlZW4gZml2ZSBjaGVja2JveGVzIG9uIG9uZSBsaW5lIGl0IHJlYWRzIGFzIGRyaWZ0LiAqL1xuLmVjbGlwc2UtY2hlY2tyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC40cmVtIDFyZW07XG4gICAgLyogQWxpZ25zIHRoZSBmaXJzdCByb3cgb2YgYm94ZXMgd2l0aCB0aGUgaW5wdXRzIGJlc2lkZSB0aGVtIHJhdGhlciB0aGFuXG4gICAgICAgZmxvYXRpbmcgdGhlbSBhZ2FpbnN0IHRoZSBsYWJlbHMuICovXG4gICAgcGFkZGluZy10b3A6IDAuMzVyZW07XG5cbiAgICAuY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBQYW5lbHNcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qIE9uZSBjYXJkIHBlciB0aGluZyBiZWluZyByZWFkOiB0aGUgYXNzZXNzbWVudCwgdGhlIGl0ZW0gYmVuZWZpdHMsXG4vKiB3aGF0IGlzIGFib3V0IHRvIGJlIGxvZGdlZC5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmVjbGlwc2UtcGFuZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4uZWNsaXBzZS1wYW5lbC0tcXVpZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyZXk7XG59XG5cbi5lY2xpcHNlLXBhbmVsX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg1cmVtO1xufVxuXG4uZWNsaXBzZS1wYW5lbF9fdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG59XG5cbi5lY2xpcHNlLXBhbmVsX19ub3RlIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBUaGUgdHJhbnNhY3Rpb24gcmVmZXJlbmNlLCB3aGljaCBwcmFjdGljZXMgcmVhZCBvdXQgYW5kIHF1b3RlIGJhY2suICovXG4uZWNsaXBzZS1yZWYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJTb3VyY2UgQ29kZSBQcm9cIiwgXCJTRk1vbm8tUmVndWxhclwiLCBDb25zb2xhcywgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWxlQmx1ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgY29sb3I6ICR0ZXh0R3JleTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBNb25leSBzdW1tYXJ5IHRpbGVzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBUaGUgZm91ciBudW1iZXJzIHRoZSBwcmFjdGljZSBhY3RzIG9uLCBwdWxsZWQgb3V0IG9mIHRoZSBwZXItaXRlbVxuLyogdGFibGUgc28gdGhlIGdhcCBpcyBub3QgYnVyaWVkIGluIGEgcm93IG9mIGN1cnJlbmN5LlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZWNsaXBzZS1zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoOC41cmVtLCAxZnIpKTtcbiAgICBnYXA6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLmVjbGlwc2Utc3VtbWFyeV9fdGlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbGVCbHVlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAuN3JlbSAwLjlyZW07XG59XG5cbi5lY2xpcHNlLXN1bW1hcnlfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNmVtO1xuICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG59XG5cbi5lY2xpcHNlLXN1bW1hcnlfX3ZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJHRleHRHcmV5O1xufVxuXG4uZWNsaXBzZS1zdW1tYXJ5X190aWxlLS1nYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctdHAtMTA7XG4gICAgYm9yZGVyLWNvbG9yOiAkeWVsbG93LXRwLTMwO1xuXG4gICAgLmVjbGlwc2Utc3VtbWFyeV9fdmFsdWUge1xuICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICB9XG59XG5cbi5lY2xpcHNlLXN1bW1hcnlfX3RpbGUtLWNsZWFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tdHAtMDg7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JlZW4tdHAtMzA7XG5cbiAgICAuZWNsaXBzZS1zdW1tYXJ5X192YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIENhbGxvdXRzIC0gY29uZmlybSwgbG9kZ2VkLCBmYWlsZWRcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmVjbGlwc2UtY2FsbG91dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmVjbGlwc2UtY2FsbG91dF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW07XG59XG5cbi8qIEl0ZW1pc2VkIGRldGFpbCB1bmRlciBhIGNhbGxvdXQgLSB3aGljaCBpdGVtcyB3ZXJlIHJlcHJpY2VkLCBhbmQgZnJvbSB3aGF0IHRvIHdoYXQuIFNpemVkIHRvIHRoZSBjYWxsb3V0J3NcbiAgIG93biBwYXJhZ3JhcGhzIHJhdGhlciB0aGFuIHRoZSBnbG9iYWwgbGlzdCBzdHlsZXMsIHdoaWNoIGFyZSBzZXQgZm9yIGJvZHkgY29weS4gKi9cbi5lY2xpcHNlLWNhbGxvdXRfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLyogQW4gYWN0aW9uIG9mZmVyZWQgYnkgYSBjYWxsb3V0IGl0c2VsZiByYXRoZXIgdGhhbiBieSB0aGUgc3RlcCdzIGFjdGlvbiBiYXIgLSB0aGUgb25lIGNhc2UgYmVpbmcgdGhlIHBhdGllbnRcbiAgIHBheW1lbnQgYSBsb2RnZWQgY2xhaW0gbGVhdmVzIHRvIGNvbGxlY3QsIHdoaWNoIGJlbG9uZ3MgYmVzaWRlIHRoZSBzZW50ZW5jZSB0aGF0IHNheXMgc28uICovXG4uZWNsaXBzZS1jYWxsb3V0X19hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDAuODVyZW07XG59XG5cblxuLmVjbGlwc2UtY2FsbG91dC0tc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuLXRwLTA4O1xuICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xufVxuXG4uZWNsaXBzZS1jYWxsb3V0LS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE3LCA4MywgNzksIDAuMDgpO1xuICAgIGJvcmRlci1jb2xvcjogJHJlZC1kYW5nZXItYWx0O1xuICAgIGNvbG9yOiAkZGFuZ2VyO1xufVxuXG4uZWNsaXBzZS1jYWxsb3V0LS13YWl0aW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93LXRwLTEwO1xuICAgIGJvcmRlci1jb2xvcjogJHllbGxvdztcbiAgICBjb2xvcjogJHdhcm5pbmctdGV4dDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAhIEFjdGlvbiBiYXJzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBFdmVyeSBzdGVwIGVuZHMgaW4gb25lLiBUaGUgZ2xvYmFsIC5idG4tbmF2eSAvIC5idG4tY2FuY2VsIGFyZSBmdWxsXG4vKiB3aWR0aCBzbGFicyBjYXBwZWQgYXQgMjIwcHgsIHdoaWNoIHJlYWQgYXMgYSBmb3JtIGZpZWxkIHdoZW4gdHdvIHNpdFxuLyogc2lkZSBieSBzaWRlLCBzbyBpbiBoZXJlIHRoZXkgc2l6ZSB0byB0aGVpciBsYWJlbCBpbnN0ZWFkLlxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZWNsaXBzZS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXktYm9yZGVyLWxpZ2h0O1xuXG4gICAgLmJ0biB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1pbi13aWR0aDogOHJlbTtcbiAgICAgICAgcGFkZGluZzogN3B4IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG59XG5cbi8qIFB1c2hlcyB0aGUgc2Vjb25kYXJ5IGFjdGlvbiBhd2F5IGZyb20gdGhlIHByaW1hcnksIHNvIHRoZSBidXR0b24gdGhhdCBzZW5kc1xuICAgYSBjbGFpbSB0byBNZWRpY2FyZSBpcyBuZXZlciB0aGUgb25lIHVuZGVyIGEgc3RyYXkgY2xpY2suIE9uY2UgdGhlIHByaW1hcnkgaXNcbiAgIGdvbmUgdGhlIHBhaXIgY29sbGFwc2VzIGJhY2sgdG8gb25lIHJpZ2h0LWFsaWduZWQgYnV0dG9uLiAqL1xuLmVjbGlwc2UtYWN0aW9uc19fc3BhY2VyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4uZWNsaXBzZS1hY3Rpb25zLS1pbmxpbmUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogISBUYWJsZXMgaW5zaWRlIHRoZSBmbG93XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5lY2xpcHNlLXRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICA+IHRib2R5ID4gdHIgPiB0ZCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLyogVGhlIHRvdGFscyByb3cgcmVhZHMgYXMgYSBzdW1tYXJ5IG9mIHRoZSByb3dzIGFib3ZlIGl0LCBub3QgYW5vdGhlciBpdGVtLiAqL1xuICAgID4gdGJvZHkgPiB0ci5lY2xpcHNlLXRhYmxlX190b3RhbCA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbGVCbHVlO1xuICAgIH1cbn1cblxuLyogTGFiZWwgLyB2YWx1ZSBwYWlycyAtIHRoZSBhc3Nlc3NtZW50IGRldGFpbCByb3dzLiAqL1xuLmVjbGlwc2UtdGFibGUtLWZhY3RzIHtcbiAgICA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAzNCU7XG4gICAgICAgIGNvbG9yOiAkdGV4dEdyZXk7XG4gICAgfVxuICAgID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG59XG5cbi5lY2xpcHNlLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG4iLCIubW9kZXJuLWxvZ2luLXBhZ2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0d2lkdGg6IDEwMCU7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRjb2xvcjogJHdoaXRlO1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0LS1wYWdlLWJnLWltYWdlOiB1cmwoJ2h0dHBzOi8vY2F0dHJheC1tZWRpYS5zMy5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tL2ltYWdlcy9zdXJnZW9uX2ltYWdlX2Nyb3BwZWQyLmpwZycpO1xuXHQtLXBhZ2UtYmctcG9zaXRpb246IGNlbnRlcjtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRuYXZ5LWJnLWdyYWRpZW50LWRhcmssICRuYXZ5LWJnLWdyYWRpZW50LWxpZ2h0KSwgdmFyKC0tcGFnZS1iZy1pbWFnZSk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLXBhZ2UtYmctcG9zaXRpb24pO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG5cdG1haW4uaGVyby1zZWN0aW9uIHtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJmciAxZnI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDRyZW07XG5cdFx0cGFkZGluZzogNXJlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdFx0ZmxleC1ncm93OiAxO1xuXHRcdG1heC13aWR0aDogMTQwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDNyZW0gJHNlY3Rpb24tcGFkZGluZy14O1xuXHRcdFx0Z2FwOiAyLjVyZW07XG5cdFx0fVxuXHR9XG59XG5cbi5oZXJvLWNvbnRlbnQge1xuXHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXHRjb2xvcjogJHdoaXRlO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIFRoaXMgY2VudGVycyB0aGUgY29udGVudCBvbiBtb2JpbGUgKi9cblx0fVxufVxuXG4ubWFpbi1sb2dvIHtcblx0bWF4LXdpZHRoOiAyODBweDtcblx0bWFyZ2luLWJvdHRvbTogMi41cmVtO1xuXHRmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDhweCAkYmxhY2stdHAtMzApO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG4uaGVyby10aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHhsO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUteHhsO1xuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0Zm9udC1zaXplOiAycmVtO1xuXHR9XG59XG5cbi5oZXJvLXN1YnRpdGxlIHtcblx0Zm9udC1zaXplOiAxLjE1cmVtO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWxpZ2h0O1xuXHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXHRjb2xvcjogJHdoaXRlLXRwLTg1O1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdH1cbn1cblxuLmJlbmVmaXRzLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0LyogVGhpcyBhbGxvd3MgdGhlIDx1bD4gdG8gYmUgY2VudGVyZWQgYnkgaXRzIHBhcmVudCdzIHRleHQtYWxpZ246Y2VudGVyICovXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0bGkge1xuXHRcdGZvbnQtc2l6ZTogMS4wNXJlbTtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjJyZW07XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7IC8qIEZpeGVzIGxpc3QgaXRlbSB0ZXh0IGFsaWdubWVudCAqL1xuXHR9XG5cblx0LmNoZWNrbWFyayB7XG5cdFx0Y29sb3I6ICRjeWFuO1xuXHRcdGZvbnQtc2l6ZTogMS40cmVtO1xuXHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHRmbGV4LXNocmluazogMDtcblx0fVxuXG59XG5cbi5wcml2YWN5LWxpbmsge1xuXHRtYXJnaW4tdG9wOiAycmVtO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc207XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICR3aGl0ZS10cC03NTtcblxuXHRhIHtcblx0XHRjb2xvcjogJGN5YW47XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRjb2xvcjogJGN5YW4tZGFya2VyO1xuXHRcdH1cblxuXHR9XG59XG5cbi5wcm9vZi1zZWN0aW9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLXRwLTA1O1xuXHRwYWRkaW5nOiAzLjVyZW0gJHNlY3Rpb24tcGFkZGluZy14O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGUtdHAtMTA7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cblxuLnByb29mLXRpdGxlIHtcblx0Zm9udC1zaXplOiAyLjJyZW07XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0bWFyZ2luLWJvdHRvbTogM3JlbTtcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUteGw7XG5cdH1cbn1cblxuLnRlc3RpbW9uaWFscy1ob3Jpem9udGFsIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7XG5cdGdhcDogMi41cmVtO1xuXHRtYXgtd2lkdGg6IDEyMDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdH1cbn1cblxuLnRlc3RpbW9uaWFsLWNhcmQtaG9yaXpvbnRhbCB7XG5cdGJhY2tncm91bmQ6ICR3aGl0ZS10cC0xMDtcblx0cGFkZGluZzogMi41cmVtO1xuXHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcblx0Ym94LXNoYWRvdzogMCA0cHggMTVweCAkYmxhY2stdHAtMjA7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlLXRwLTE1O1xuXG5cdC5xdW90ZSB7XG5cdFx0Zm9udC1zaXplOiAxLjA1cmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjc7XG5cdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdGNvbG9yOiAkd2hpdGUtdHAtOTA7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cblx0Y2l0ZSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdFx0Y29sb3I6ICRjeWFuO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdH1cblxufVxuXG4udGVzdGltb25pYWwtYXZhdGFyIHtcblx0d2lkdGg6IDkwcHg7XG5cdGhlaWdodDogOTBweDtcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtY2lyY2xlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRib3JkZXI6IDNweCBzb2xpZCAkY3lhbjtcblx0Ym94LXNoYWRvdzogMCAwIDAgNXB4ICRjeWFuLXRwLTIwO1xufVxuXG4ucGFnZS1mb290ZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZzogMS41cmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblx0d2lkdGg6IDEwMCU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cdFx0Z2FwOiAxLjVyZW07XG5cdFx0cGFkZGluZzogMnJlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdH1cblxuXHQuY29weXJpZ2h0IHtcblx0XHRncmlkLWNvbHVtbjogMjtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICR3aGl0ZS10cC03MDtcblx0XHRmb250LXNpemU6IDAuOTVyZW07XG5cdH1cblxuXHQucGVudGVzdC1iYWRnZSB7XG5cdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0anVzdGlmeS1zZWxmOiBlbmQ7XG5cblx0XHRpbWcge1xuXHRcdFx0bWF4LXdpZHRoOiAzMDBweDtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cblx0fVxufVxuXG4udmFsdWUtcHJvcC1zZWN0aW9uIHtcblx0cGFkZGluZzogNi41cmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcblx0XHRwYWRkaW5nOiAzcmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblx0fVxufVxuXG4udmFsdWUtcHJvcC1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXHRnYXA6IDIuNXJlbTtcblx0bWF4LXdpZHRoOiAxMjAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z2FwOiAycmVtO1xuXHR9XG59XG5cbi52YWx1ZS1wcm9wLWNhcmQge1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGUtdHAtMDU7XG5cdHBhZGRpbmc6IDIuNXJlbSAycmVtO1xuXHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy14bDtcblx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlLXRwLTE1O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHQmOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZS10cC0xMDtcblx0XHRib3gtc2hhZG93OiAkc2hhZG93LWxnO1xuXHRcdGJvcmRlci1jb2xvcjogJGN5YW4tdHAtNTA7XG5cblx0XHQudGl0bGUtcmVmZXJyYWwge1xuXHRcdFx0Y29sb3I6ICRjeWFuO1xuXHRcdH1cblxuXHRcdC5pY29uLW1hbmFnZW1lbnQsXG5cdFx0LnRpdGxlLW1hbmFnZW1lbnQge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JlZW4tdHAtNTA7XG5cdFx0XHRjb2xvcjogJGdyZWVuO1xuXHRcdH1cblxuXHRcdC5pY29uLW1hbmFnZW1lbnQge1xuXHRcdFx0YmFja2dyb3VuZDogJGdyZWVuLXRwLTIwO1xuXHRcdH1cblxuXHRcdC5pY29uLXRlY2gsXG5cdFx0LnRpdGxlLXRlY2gge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkeWVsbG93LXRwLTUwO1xuXHRcdFx0Y29sb3I6ICR5ZWxsb3c7XG5cdFx0fVxuXG5cdFx0Lmljb24tdGVjaCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkeWVsbG93LXRwLTIwO1xuXHRcdH1cblxuXHRcdC52YWx1ZS1wcm9wLWljb24td3JhcHBlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDVkZWcpO1xuXHRcdH1cblxuXHR9XG59XG5cbi52YWx1ZS1wcm9wLWljb24td3JhcHBlciB7XG5cdHdpZHRoOiA4MHB4O1xuXHRoZWlnaHQ6IDgwcHg7XG5cdG1hcmdpbjogMCBhdXRvIDEuNXJlbSBhdXRvO1xuXHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1jaXJjbGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xufVxuXG4udmFsdWUtcHJvcC1pY29uIHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLXh4bDtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbi5pY29uLXJlZmVycmFsIHtcblx0YmFja2dyb3VuZDogJGN5YW4tdHAtMTA7XG5cblx0LnZhbHVlLXByb3AtaWNvbiB7XG5cdFx0Y29sb3I6ICRjeWFuO1xuXHR9XG5cbn1cblxuLnRpdGxlLXJlZmVycmFsLFxuLmljb24tcmVmZXJyYWwgLnZhbHVlLXByb3AtaWNvbiB7XG5cdGNvbG9yOiAkY3lhbjtcbn1cblxuLmljb24tbWFuYWdlbWVudCB7XG5cdGJhY2tncm91bmQ6ICRncmVlbi10cC0xMDtcblxuXHQudmFsdWUtcHJvcC1pY29uIHtcblx0XHRjb2xvcjogJGdyZWVuO1xuXHR9XG5cbn1cblxuLnRpdGxlLW1hbmFnZW1lbnQsXG4uaWNvbi1tYW5hZ2VtZW50IC52YWx1ZS1wcm9wLWljb24ge1xuXHRjb2xvcjogJGdyZWVuO1xufVxuXG4uaWNvbi10ZWNoIHtcblx0YmFja2dyb3VuZDogJHllbGxvdy10cC0xMDtcblxuXHQudmFsdWUtcHJvcC1pY29uIHtcblx0XHRjb2xvcjogJHllbGxvdztcblx0fVxuXG59XG5cbi50aXRsZS10ZWNoLFxuLmljb24tdGVjaCAudmFsdWUtcHJvcC1pY29uIHtcblx0Y29sb3I6ICR5ZWxsb3c7XG59XG5cbi52YWx1ZS1wcm9wLXRpdGxlIHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xuXHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbn1cblxuLnZhbHVlLXByb3AtdGV4dCB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRjb2xvcjogJHdoaXRlLXRwLTg1O1xuXHRsaW5lLWhlaWdodDogMS43O1xuXHRtYXJnaW46IDA7XG5cdGZsZXgtZ3JvdzogMTtcbn1cblxuLmJ0bi1zZWUtbW9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRwYWRkaW5nOiAwLjc1cmVtIDEuNXJlbTtcblx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlLXRwLTYwO1xuXHRib3JkZXItcmFkaXVzOiA1MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogMC44cmVtO1xuXHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS10cC0xMDtcblx0XHRib3JkZXItY29sb3I6ICRjeWFuO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0fVxuXG59XG5cbi5mZWF0dXJlcy1vdmVydmlldyB7XG5cdHBhZGRpbmctdG9wOiAycmVtO1xuXHRwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuXHQuZmVhdHVyZXMtZ3JpZCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcblx0XHRnYXA6IDJyZW07XG5cdH1cblxufVxuXG4uZmVhdHVyZS1jYXRlZ29yeS1zZWN0aW9uIHtcblx0bWF4LXdpZHRoOiAxNDAwcHg7XG5cdG1hcmdpbjogMCBhdXRvIDRyZW0gYXV0bztcblx0cGFkZGluZzogMCAxcmVtO1xufVxuXG4uY2F0ZWdvcnktaGVhZGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG5cdGgyIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUteHhsO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRtYXJnaW46IDAgMCAwLjc1cmVtIDA7XG5cdH1cblxuXHRwIHtcblx0XHRmb250LXNpemU6IDEuMTVyZW07XG5cdFx0bWF4LXdpZHRoOiA3NTBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRjb2xvcjogJHdoaXRlLXRwLTg1O1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0fVxuXG5cdCYub3B0b21ldHJ5IGgyIHtcbiAgICAgICAgY29sb3I6ICRjeWFuO1xuICAgIH1cblxuICAgICYub3BodGhhbG1vbG9neSBoMiB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgJi5tYW5hZ2VtZW50IGgyIHtcbiAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgfVxuXG4gICAgJi5ob3NwaXRhbHMgaDIge1xuICAgICAgICBjb2xvcjogJGxhdmVuZGVyO1xuICAgIH1cblxufVxuXG4uY2F0ZWdvcnktaWNvbiB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLXh4bDtcblx0d2lkdGg6IDgwcHg7XG5cdGhlaWdodDogODBweDtcblx0bGluZS1oZWlnaHQ6IDgwcHg7XG5cdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWNpcmNsZTtcblx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRwYWRkaW5nLXRvcDogMnJlbTtcblx0YmFja2dyb3VuZDogJHdoaXRlLXRwLTEwO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG5cdCYub3B0b21ldHJ5IHtcblx0XHRjb2xvcjogJGN5YW47XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGN5YW4tdHAtMzA7XG5cdH1cblxuXHQmLm9waHRoYWxtb2xvZ3kge1xuXHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGdyZWVuLXRwLTMwO1xuXHR9XG5cblx0Ji5tYW5hZ2VtZW50IHtcblx0XHRjb2xvcjogJHllbGxvdztcblx0XHRib3JkZXI6IDJweCBzb2xpZCAkeWVsbG93LXRwLTMwO1xuXHR9XG5cblx0Ji5ob3NwaXRhbHMge1xuXHRcdGNvbG9yOiAkbGF2ZW5kZXI7XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGxhdmVuZGVyLXRwLTMwO1xuXHR9XG59XG5cbi5mZWF0dXJlcy1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcblx0Z2FwOiAycmVtO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHR9XG59XG5cbi5mZWF0dXJlLWNhcmQge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDIuNXJlbSAycmVtO1xuXHRiYWNrZ3JvdW5kOiAkd2hpdGUtdHAtMDU7XG5cdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZS10cC0xNTtcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlO1xuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcblx0XHRiYWNrZ3JvdW5kOiAkd2hpdGUtdHAtMTA7XG5cdH1cblxufVxuXG4uZmVhdHVyZS1pY29uIHtcblx0Zm9udC1zaXplOiAyLjhyZW07XG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0Y29sb3I6ICRjeWFuO1xufVxuXG4uZmVhdHVyZS10aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0bWFyZ2luOiAwIDAgMC43NXJlbSAwO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG4uZmVhdHVyZS1kZXNjcmlwdGlvbiB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRjb2xvcjogJHdoaXRlLXRwLTg1O1xuXHRsaW5lLWhlaWdodDogMS43O1xuXHRtYXJnaW46IDA7XG59XG5cbi5maW5hbC1jdGEtc2VjdGlvbiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogNHJlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjay10cC0yMDtcblxuXHQuYnRuLW5hdi1kZW1vIHtcblx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHRwYWRkaW5nOiAxcmVtIDIuNXJlbTtcblx0fVxuXG59XG5cbi5mZWF0dXJlcy1kaXNjbGFpbWVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAycmVtICRzZWN0aW9uLXBhZGRpbmcteCAxcmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcblx0Y29sb3I6ICR3aGl0ZS10cC02MDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuXG4uc2VjdGlvbi10aXRsZSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0fVxufVxuXG4uZnVsbC1zY3JlZW4tbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59IiwiLm1vZGVybi1sb2dpbi1wYWdlIHtcblx0LmxvZ2luLWNhcmQge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRjb2xvcjogJHRleHQtZGFyaztcblx0XHRwYWRkaW5nOiAzcmVtO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuXHRcdGJveC1zaGFkb3c6ICRzaGFkb3ctbWQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA0NTBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRAbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcblx0XHRcdHBhZGRpbmc6IDIuNXJlbTtcblx0XHR9XG5cblx0XHRAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcblx0XHRcdHBhZGRpbmc6IDJyZW0gMS41cmVtO1xuXHRcdH1cblx0fVxuXG5cdC5wcm9jZXNzaW5nLW92ZXJsYXkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlLXRwLTkwO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxnO1xuXHRcdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ei1pbmRleDogMTA7XG5cdFx0Y29sb3I6ICRuYXZ5LWRhcmstdGV4dDtcblx0XHRnYXA6IDFyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdH1cblxuXHQuc3Bpbm5lciB7XG5cdFx0d2lkdGg6IDQwcHg7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdGJvcmRlcjogNHB4IHNvbGlkICRuYXZ5LXRwLTIwO1xuXHRcdGJvcmRlci10b3AtY29sb3I6ICRjeWFuO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWNpcmNsZTtcblx0XHRhbmltYXRpb246IHNwaW5uZXItcm90YXRpb24gMC44cyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cblxuXHQubG9naW4tcGFuZWwge1xuXHRcdC5idG46Zm9jdXMtdmlzaWJsZSwgYTpmb2N1cy12aXNpYmxlIHtcblx0XHRcdG91dGxpbmU6IDJweCBzb2xpZCAkY3lhbjtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdFx0cGFkZGluZzogMnJlbTtcblx0XHR9XG5cblx0fVxuXG5cdC50ZXh0LWRhbmdlciB7XG5cdFx0Y29sb3I6ICRyZWQtZGFuZ2VyLWFsdDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcblx0fVxuXG5cdC50ZXh0LXN1Y2Nlc3Mge1xuXHRcdGNvbG9yOiAkZ3JlZW4tc3VjY2Vzcy1hbHQ7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdH1cblxuXHQudGV4dC1jZW50ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5sb2dpbi1wYW5lbC10ZXh0IHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0XHRjb2xvcjogJHRleHQtbXV0ZWQ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0XHRtYXJnaW46IDAgYXV0byAxLjVyZW0gYXV0bztcblx0XHRtYXgtd2lkdGg6IDkwJTtcblx0fVxuXG5cdC52ZXJpZnktaW5wdXQtY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGdhcDogMC43NXJlbTtcblx0XHRtYXJnaW46IDJyZW0gYXV0bztcblxuXHRcdGlucHV0IHtcblx0XHRcdHdpZHRoOiA0NXB4O1xuXHRcdFx0aGVpZ2h0OiA1NXB4O1xuXHRcdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXhsO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMC41cmVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0XHRcdGNvbG9yOiAkbmF2eS1kYXJrLXRleHQ7XG5cdFx0fVxuXG5cdH1cblxuXHQuZm9ybS1hY3Rpb25zLWNlbnRlcmVkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWFyZ2luLXRvcDogMS44cmVtO1xuXHRcdGdhcDogMXJlbTtcblx0fVxuXG5cdC5mb3JtLWdyb3VwIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtc2l6ZTogMC45NXJlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC42cmVtO1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0fVxuXG5cdH1cblxuXHQuZm9ybS1jb250cm9sIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAxcmVtIDEuMnJlbTtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbGlnaHQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHR0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcblx0XHRjb2xvcjogJHRleHQtZGFyaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY3lhbjtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDNweCAkY3lhbi10cC0yNTtcblx0XHR9XG5cblx0fVxuXG5cdC5mb3JtLWFjdGlvbnMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Z2FwOiAxcmVtO1xuXHRcdG1hcmdpbi10b3A6IDEuOHJlbTtcblx0fVxuXG5cdC5idG4ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRwYWRkaW5nOiAxcmVtIDEuNXJlbTtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRcdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG5cblx0XHRAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcblx0XHRcdHBhZGRpbmc6IDAuOHJlbSAxcmVtO1xuXHRcdFx0Zm9udC1zaXplOiAwLjk1cmVtO1xuXHRcdH1cblx0fVxuXG5cdC5idG4tbG9naW4ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Ym94LXNoYWRvdzogJHNoYWRvdy1jeWFuLXNtO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi1kYXJrZXI7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG5cdFx0XHRib3gtc2hhZG93OiAkc2hhZG93LWN5YW4tbWQ7XG5cdFx0fVxuXG5cdH1cblxuXHQuYnRuLWxvc3Qge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiAkbmF2eS1kYXJrLXRleHQ7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JleS1ib3JkZXItbWVkaXVtO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0b3BhY2l0eTogMC45O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eS10cC0wNTtcblx0XHRcdGJvcmRlci1jb2xvcjogJG5hdnktZGFyay10ZXh0O1xuXHRcdFx0Y29sb3I6ICRuYXZ5LWRhcmstdGV4dDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRib3gtc2hhZG93OiAkc2hhZG93LXNtO1xuXHRcdH1cblxuXHR9XG5cblx0LmRldi13YXJuaW5nIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZy1iZztcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2FybmluZy1ib3JkZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0cGFkZGluZzogMXJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0Y29sb3I6ICR3YXJuaW5nLXRleHQ7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRib3gtc2hhZG93OiAwIDJweCA4cHggJGJsYWNrLXRwLTEwO1xuXHR9XG5cblx0LmxvZ2luLXRpdGxlIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcblx0XHRcdGZvbnQtc2l6ZTogMS42cmVtO1xuXHRcdH1cblx0fVxuXG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lci1yb3RhdGlvbiB7XG5cdHRvIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHR9XG59IiwiLmFib3V0LXBhZ2Uge1xuICAgIC8qIE92ZXJyaWRlIHRoZSB2YXJpYWJsZSBmb3IgdGhpcyBzcGVjaWZpYyBwYWdlICovXG4gICAgLS1wYWdlLWJnLWltYWdlOiB1cmwoJ2h0dHBzOi8vY2F0dHJheC1tZWRpYS5zMy5hcC1zb3V0aGVhc3QtMi5hbWF6b25hd3MuY29tL2ltYWdlcy9zdXJnZW9uX2ltYWdlX2Nyb3BwZWQyLmpwZycpO1xuICAgIC0tcGFnZS1iZy1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4ubW9kZXJuLWxvZ2luLXBhZ2Uge1xuXG4gICAgLmFib3V0LXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiA0cmVtICRzZWN0aW9uLXBhZGRpbmcteDtcbiAgICB9XG5cbiAgICAuYWJvdXQtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtdHAtOTA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGUtdHAtMjA7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtdHAtODU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjeWFuO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbXBhY3Qtc2VjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjay10cC0zMDtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCk7XG4gICAgICAgIHBhZGRpbmc6IDRyZW0gJHNlY3Rpb24tcGFkZGluZy14O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlLXRwLTEwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlLXRwLTEwO1xuICAgIH1cblxuICAgIC5pbXBhY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAwLjVmcik7XG4gICAgICAgIGdhcDogMHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5pbXBhY3QtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltcGFjdC1udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgICAgICBjb2xvcjogJGN5YW47XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAyMHB4ICRjeWFuLXRwLTIwO1xuICAgIH1cblxuICAgIC5pbXBhY3QtbGFiZWwge1xuICAgICAgICBjb2xvcjogJHdoaXRlLXRwLTgwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuICAgIH1cblxuICAgIC5jbGllbnQtbG9nb3Mtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW0gMDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgIC5jbGllbnQtbG9nb3MtbWFycXVlZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIGJsYWNrIDEwJSwgYmxhY2sgOTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB0cmFuc3BhcmVudCwgYmxhY2sgMTAlLCBibGFjayA5MCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG5cbiAgICAuY2xpZW50LWxvZ29zLXRyYWNrIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiA0cmVtO1xuICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgIGFuaW1hdGlvbjogY2xpZW50LWxvZ29zLXNjcm9sbCA0MHMgbGluZWFyIGluZmluaXRlO1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbGllbnQtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY7IFxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsaWVudC1sb2dvcy1zY3JvbGwge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLm1vZGVybi1sb2dpbi1wYWdlIHtcbiAgICAgICAgLmFib3V0LXNlY3Rpb24sIC5pbXBhY3Qtc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbXBhY3QtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbXBhY3QtbnVtYmVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsaWVudC1sb2dvcy10cmFjayB7XG4gICAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnByaWNpbmctcGFnZSB7XG5cdC0tcGFnZS1iZy1pbWFnZTogdXJsKCdodHRwczovL2NhdHRyYXgtbWVkaWEuczMuYXAtc291dGhlYXN0LTIuYW1hem9uYXdzLmNvbS9pbWFnZXMvc3VyZ2Vvbl9pbWFnZV9jcm9wcGVkMi5qcGcnKTtcblx0LS1wYWdlLWJnLXBvc2l0aW9uOiBjZW50ZXIgMTEwJTtcbn1cblxuLm1vZGVybi1sb2dpbi1wYWdlIHtcblx0LnByaWNpbmctc2VjdGlvbiB7XG5cdFx0cGFkZGluZzogM3JlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdH1cblxuXHQucHJpY2luZy1ncmlkIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG5cdFx0Z2FwOiAycmVtO1xuXHRcdG1heC13aWR0aDogMTYwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGdhcDogMDtcblxuXHRcdFx0LnByaWNpbmctY2FyZCB7XG5cdFx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC0gMTRyZW0pIC8gNSk7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMi41cmVtO1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDQuOHJlbTtcblxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAxNSU7XG5cdFx0XHRcdFx0XHRib3R0b206IDE1JTtcblx0XHRcdFx0XHRcdHJpZ2h0OiAtMi43cmVtO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDJweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS10cC0yMDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICAgICAgXHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXI6OmFmdGVyIHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpudGgtY2hpbGQoNCkge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMi44cmVtO1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogNS40cmVtO1xuXG5cdFx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDE1JTtcblx0XHRcdFx0XHRcdGJvdHRvbTogMTUlO1xuXHRcdFx0XHRcdFx0cmlnaHQ6IC0yLjVyZW07XG5cdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLXRwLTIwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0LnByaWNpbmctY2FyZCB7XG5cdFx0XHRcdHdpZHRoOiA0NSU7XG5cdFx0XHRcdG1hcmdpbjogMXJlbTtcblxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSxcblx0XHRcdFx0JjpudGgtY2hpbGQoMyksXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDQpIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDFyZW07XG5cblx0XHRcdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG5cdFx0XHQucHJpY2luZy1jYXJkIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucHJpY2luZy1jYXJkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlLXRwLTA1O1xuXHRcdHBhZGRpbmc6IDIuNXJlbSAycmVtO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXhsO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZS10cC0xNTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuXHRcdFx0YmFja2dyb3VuZDogJHdoaXRlLXRwLTEwO1xuXHRcdFx0Ym94LXNoYWRvdzogJHNoYWRvdy1sZztcblx0XHRcdGJvcmRlci1jb2xvcjogJGN5YW4tdHAtNTA7XG5cdFx0fVxuXG5cdFx0Ji5wb3B1bGFyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGN5YW47XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDEwcHggNDBweCAkY3lhbi10cC0yMDtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJ01vc3QgUG9wdWxhcic7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAxOHB4O1xuXHRcdFx0XHRyaWdodDogLTM1cHg7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuO1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRwYWRkaW5nOiAwLjVyZW0gM3JlbTtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjg1cmVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwIDRweCAxMHB4ICRibGFjay10cC0yMDtcblx0XHRcdH1cblxuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0Ji5yZWNvbW1lbmRlZCB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRjeWFuO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAycHg7XG5cdFx0XHRib3gtc2hhZG93OiAwIDEwcHggNDBweCAkY3lhbi10cC0yMDtcblx0XHR9XG5cblx0XHQuYnRuIHtcblx0XHRcdG1hcmdpbi10b3A6IGF1dG87XG5cdFx0fVxuXG5cdH1cblxuXHQucHJpY2luZy1yb2kge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDAuOTVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdFx0Y29sb3I6ICR3aGl0ZS10cC05MDtcblx0XHRiYWNrZ3JvdW5kOiAkY3lhbi10cC0xMDtcblx0XHRwYWRkaW5nOiAwLjhyZW0gMXJlbTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbTtcblx0XHRtYXJnaW4tYm90dG9tOiAyLjVyZW07XG5cdH1cblxuXHQucHJpY2luZy10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pYm9sZDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblx0fVxuXG5cdC5wcmljaW5nLXByaWNlIHtcblx0XHRmb250LXNpemU6IDIuOHJlbTtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0Y29sb3I6ICRjeWFuO1xuXHRcdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cblx0XHQucHJpY2UtcGVyaW9kIHtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cdFx0XHRjb2xvcjogJHdoaXRlLXRwLTcwO1xuXHRcdH1cblxuXHR9XG5cblx0LnByaWNpbmctZGVzY3JpcHRpb24ge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdGNvbG9yOiAkd2hpdGUtdHAtODU7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdH1cblxuXHQuZmVhdHVyZXMtbGlzdCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMCAwIDJyZW0gMDtcblx0XHRmbGV4LWdyb3c6IDE7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMC43NXJlbTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0XHRmb250LXNpemU6IDAuOTVyZW07XG5cdFx0XHRjb2xvcjogJHdoaXRlLXRwLTkwO1xuXG5cdFx0XHQmLmRpc2FibGVkIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZS10cC01MDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQuZmEtY2hlY2stY2lyY2xlIHtcblx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHR9XG5cblx0XHQuZmEtdGltZXMtY2lyY2xlIHtcblx0XHRcdGNvbG9yOiAkd2hpdGUtdHAtNDA7XG5cdFx0XHRmb250LXNpemU6IDEuMnJlbTtcblx0XHR9XG5cblx0fVxuXG5cdC5idG4tc2Vjb25kYXJ5IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICRjeWFuO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbjtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXG5cdH1cblxuXHQvKiBBZGQtb25zOiBleHRyYXMgYm91Z2h0IG9uIHRvcCBvZiBhIHBsYW4gcmF0aGVyIHRoYW4gaW5zdGVhZCBvZiBvbmUsIHNvIHRoZXkgc2l0IGJlbG93IHRoZVxuXHQgICBwbGFuIGdyaWQgaW4gYSBuYXJyb3dlciB0aHJlZS1hY3Jvc3Mgcm93IG9mIHRoZWlyIG93bi4gKi9cblx0LmFkZG9uLXNlY3Rpb24ge1xuXHRcdHBhZGRpbmc6IDFyZW0gJHNlY3Rpb24tcGFkZGluZy14IDRyZW0gJHNlY3Rpb24tcGFkZGluZy14O1xuXHRcdG1heC13aWR0aDogMTYwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0XHRwYWRkaW5nOiAxcmVtICRzZWN0aW9uLXBhZGRpbmcteCAzcmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblx0XHR9XG5cblx0fVxuXG5cdC5hZGRvbi1kaXZpZGVyIHtcblx0XHRoZWlnaHQ6IDFweDtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCAkd2hpdGUtdHAtMjAsIHRyYW5zcGFyZW50KTtcblx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xuXHR9XG5cblx0LmFkZG9uLWhlYWRlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDNyZW07XG5cblx0XHRoMiB7XG5cdFx0XHRmb250LXNpemU6ICRmb250LXNpemUteHhsO1xuXHRcdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdG1hcmdpbjogMCAwIDFyZW0gMDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZS10cC04NTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0XHRcdG1heC13aWR0aDogODAwcHg7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cblx0fVxuXG5cdC8qIE9uZSBncm91cCBwZXIgYWRkLW9uLiBUaGVyZSBpcyBvbmx5IHRyYW5zY3JpcHRpb24gdG9kYXksIGJ1dCB0aGUgc3BhY2luZyBpcyBzZXQgdXAgc28gYVxuXHQgICBzZWNvbmQgZ3JvdXAgY2FuIGJlIGRyb3BwZWQgaW4gYmVsb3cgd2l0aG91dCB0b3VjaGluZyBhbnl0aGluZyBlbHNlLiAqL1xuXHQvKiBOYXJyb3dlciB0aGFuIHRoZSBzZWN0aW9uIGl0IHNpdHMgaW46IHR3byBjYXJkcyBzdHJldGNoZWQgYWNyb3NzIHRoZSBmdWxsIDE2MDBweCB3b3VsZCBlYWNoXG5cdCAgIGVuZCB1cCBzZXZlcmFsIHRpbWVzIHRoZSB3aWR0aCBvZiBhIHBsYW4gY2FyZCBhYm92ZSB0aGVtLiAqL1xuXHQuYWRkb24tZ3JvdXAge1xuXHRcdG1heC13aWR0aDogOTAwcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG8gNHJlbSBhdXRvO1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdH1cblxuXHQuYWRkb24tZ3JvdXAtaGVhZGVyIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGdhcDogMS4yNXJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdFx0LmFkZG9uLWdyb3VwLWljb24ge1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDU2cHg7XG5cdFx0XHRoZWlnaHQ6IDU2cHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcblx0XHRcdGJhY2tncm91bmQ6ICRjeWFuLXRwLTEwO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGN5YW4tdHAtMzA7XG5cdFx0XHRjb2xvcjogJGN5YW47XG5cdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHR9XG5cblx0XHRoMyB7XG5cdFx0XHRmb250LXNpemU6ICRmb250LXNpemUtbGc7XG5cdFx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWlib2xkO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0Zm9udC1zaXplOiAwLjk1cmVtO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZS10cC04NTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0XHRcdG1heC13aWR0aDogOTAwcHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Z2FwOiAxcmVtO1xuXHRcdH1cblxuXHR9XG5cblx0LmFkZG9uLWdyaWQge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXHRcdGdhcDogMnJlbTtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0XHRnYXA6IDEuNXJlbTtcblx0XHR9XG5cblx0fVxuXG5cdC5hZGRvbi1jYXJkIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YmFja2dyb3VuZDogJHdoaXRlLXRwLTA1O1xuXHRcdHBhZGRpbmc6IDJyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMteGw7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlLXRwLTE1O1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDVweCk7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkd2hpdGUtdHAtMTA7XG5cdFx0XHRib3gtc2hhZG93OiAkc2hhZG93LWxnO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkY3lhbi10cC01MDtcblx0XHR9XG5cblx0XHQmLnJlY29tbWVuZGVkIHtcblx0XHRcdGJvcmRlci1jb2xvcjogJGN5YW47XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHRcdGJveC1zaGFkb3c6IDAgMTBweCA0MHB4ICRjeWFuLXRwLTIwO1xuXHRcdH1cblxuXHRcdC8qIERpYWxsZWQgYmFjayBmcm9tIHRoZSBwbGFuIGNhcmRzIGFib3ZlOiBhbiBhZGQtb24gbXVzdCBub3Qgb3V0LXNob3V0IHRoZSBwbGFuIGl0XG5cdFx0ICAgYXR0YWNoZXMgdG8uICovXG5cdFx0LnByaWNpbmctdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAxLjM1cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblx0XHR9XG5cblx0XHQucHJpY2luZy1wcmljZSB7XG5cdFx0XHRmb250LXNpemU6IDIuNHJlbTtcblx0XHR9XG5cblx0XHQucHJpY2luZy1kZXNjcmlwdGlvbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cdFx0fVxuXG5cdFx0LmZlYXR1cmVzLWxpc3Qge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdH1cblxuXHRcdC5idG4ge1xuXHRcdFx0bWFyZ2luLXRvcDogYXV0bztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblxuXHR9XG5cblx0LmFkZG9uLWJhZGdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtMC43NXJlbTtcblx0XHRyaWdodDogMS41cmVtO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0cGFkZGluZzogMC4zcmVtIDFyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Ym94LXNoYWRvdzogMCA0cHggMTBweCAkYmxhY2stdHAtMjA7XG5cdH1cblxufSIsIi5mZWF0dXJlcy1wYWdlIHtcblx0LS1wYWdlLWJnLWltYWdlOiB1cmwoJ2h0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTIyMDcxODIwMDgxLTAwOWYwMTI5YzcxYz9xPTgwJnc9MjA3MCZhdXRvPWZvcm1hdCZmaXQ9Y3JvcCcpO1xuXHQtLXBhZ2UtYmctcG9zaXRpb246IGNlbnRlciA4MCU7XG59XG5cbi5tb2Rlcm4tbG9naW4tcGFnZSB7XG5cdC5mZWF0dXJlcy1ncmlkIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdFx0Z2FwOiAycmVtO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblx0XHR9XG5cdH1cblxuXHQuZmVhdHVyZXMtb3ZlcnZpZXcgLmZlYXR1cmVzLWdyaWQge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMjBweCwgMWZyKSk7XG5cdFx0Z2FwOiAycmVtO1xuXHR9XG5cblx0LmZlYXR1cmUtY2FyZCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDIuNXJlbSAycmVtO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZS10cC0wNTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGUtdHAtMTU7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGc7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZS10cC0xMDtcblx0XHR9XG5cblx0fVxuXG5cdC5mZWF0dXJlLWljb24ge1xuXHRcdGZvbnQtc2l6ZTogMi44cmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0XHRjb2xvcjogJGN5YW47XG5cdH1cblxuXHQuZmVhdHVyZS10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWxnO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG5cdFx0bWFyZ2luOiAwIDAgMC43NXJlbSAwO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblxuXHQuZmVhdHVyZS1kZXNjcmlwdGlvbiB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdFx0Y29sb3I6ICR3aGl0ZS10cC04NTtcblx0XHRsaW5lLWhlaWdodDogMS43O1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5maW5hbC1jdGEtc2VjdGlvbiB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmc6IDRyZW0gJHNlY3Rpb24tcGFkZGluZy14O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay10cC0yMDtcblx0fVxuXG5cdC5mZWF0dXJlcy1kaXNjbGFpbWVyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZzogMnJlbSAkc2VjdGlvbi1wYWRkaW5nLXggMXJlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdFx0bWF4LXdpZHRoOiA4MDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtc207XG5cdFx0Y29sb3I6ICR3aGl0ZS10cC02MDtcblx0XHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG5cdH1cblxuXHQuc2VjdGlvbi10aXRsZSB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG5cdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0fVxuXHR9XG5cbn1cblxuLmNvbWluZy1zb29uLWJhbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxOHB4O1xuXHRyaWdodDogLTM1cHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctY3RhO1xuXHRjb2xvcjogJGJsYWNrO1xuXHRwYWRkaW5nOiA2cHggMzVweDtcblx0Zm9udC1zaXplOiAwLjhyZW07XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRib3gtc2hhZG93OiAwIDRweCA2cHggJGJsYWNrLXRwLTEwO1xuXHRsZXR0ZXItc3BhY2luZzogMC41cHg7XG5cdHotaW5kZXg6IDEwO1xufSIsIi5tb2Rlcm4tbG9naW4tcGFnZSB7XG5cdC5kZW1vLWhlcm8ge1xuXHRcdHBhZGRpbmc6IDRyZW0gJHNlY3Rpb24tcGFkZGluZy14IDNyZW0gJHNlY3Rpb24tcGFkZGluZy14O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdC5oZXJvLXRpdGxlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0XHR9XG5cblx0XHQuaGVyby1zdWJ0aXRsZSB7XG5cdFx0XHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuXHRcdFx0cGFkZGluZzogM3JlbSAkc2VjdGlvbi1wYWRkaW5nLXggMnJlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdFx0fVxuXG5cdH1cblxuXHQuZGVtby1zZWN0aW9uIHtcblx0XHRwYWRkaW5nOiAzcmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuXHRcdFx0cGFkZGluZzogMi41cmVtICRzZWN0aW9uLXBhZGRpbmcteDtcblx0XHR9XG5cdH1cblxuXHQuZGVtby1jb250YWluZXIge1xuXHRcdG1heC13aWR0aDogMTEwMHB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHBhZGRpbmc6IDAgMXJlbTtcblx0fVxuXG5cdC52aWRlby13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZy1ib3R0b206IDU2LjI1JTtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy14bDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkd2hpdGUtdHAtMTU7XG5cdFx0Ym94LXNoYWRvdzogMCAxMHB4IDQwcHggJGJsYWNrLXRwLTMwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuXHRcdGlmcmFtZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0fVxuXG5cdH1cblxuXHQuc2VjdGlvbi10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLXh4bDtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0fVxuXG5cdC5zZWN0aW9uLXN1YnRpdGxlIHtcblx0XHRmb250LXNpemU6IDEuMTVyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWF4LXdpZHRoOiA3NTBweDtcblx0XHRtYXJnaW46IDAgYXV0byAzLjVyZW0gYXV0bztcblx0XHRjb2xvcjogJHdoaXRlLXRwLTg1O1xuXHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0fVxuXG5cdC5mb3JtLWNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiA2NTBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0cGFkZGluZzogM3JlbTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcblx0XHRib3gtc2hhZG93OiAkc2hhZG93LW1kO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0XHRwYWRkaW5nOiAycmVtIDEuNXJlbTtcblx0XHR9XG5cdH1cblxuXHQuYnRuLXByaW1hcnkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjeWFuO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Ym94LXNoYWRvdzogJHNoYWRvdy1jeWFuLXNtO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbi1kYXJrZXI7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG5cdFx0XHRib3gtc2hhZG93OiAkc2hhZG93LWN5YW4tbWQ7XG5cdFx0fVxuXG5cdFx0JjpkaXNhYmxlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1kaXNhYmxlZDtcblx0XHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdH1cblxuXHR9XG5cblx0LnN1Y2Nlc3MtbWVzc2FnZSB7XG5cdFx0bWF4LXdpZHRoOiA2NTBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRwYWRkaW5nOiAyLjVyZW07XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQ6ICRncmVlbi10cC0xMDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JlZW4tdHAtNzA7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sZztcblxuXHRcdGg0IHtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bDtcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0XHRtYXJnaW46IDAgMCAxcmVtIDA7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0XHRcdGNvbG9yOiAkd2hpdGUtdHAtOTA7XG5cdFx0fVxuXG5cdH1cbn1cblxuLm1vZGVybi1tb2RhbC1iYWNrZHJvcCB7XG5cdGJhY2tncm91bmQ6ICRuYXZ5LWJhY2tkcm9wO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG5cdC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4ubW9kZXJuLW1vZGFsLXdpbmRvdyB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHR6LWluZGV4OiAxMDUwO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdG1hcmdpbjogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0Y29sb3I6ICR0ZXh0LWRhcms7XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMteGw7XG5cdFx0Ym94LXNoYWRvdzogMCAxMnB4IDQwcHggJGJsYWNrLXRwLTQwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0d2lkdGg6IDkwJTtcblx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0YW5pbWF0aW9uOiBtb2RhbEZhZGVJbiAwLjNzIGVhc2Utb3V0IGZvcndhcmRzO1xuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdFx0d2lkdGg6IDk1JTtcblx0XHRcdG1hcmdpbjogMXJlbTtcblx0XHR9XG5cdH1cblxufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsRmFkZUluIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuXHR9XG5cblx0dG8ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuXHR9XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuXHRwYWRkaW5nOiAxLjVyZW0gMnJlbTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWJvcmRlci1saWdodDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1tb2RhbC1oZWFkZXI7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0cGFkZGluZzogMS4ycmVtIDEuNXJlbTtcblx0fVxufVxuXG4ubW9kYWwtdGl0bGUge1xuXHRmb250LXNpemU6IDEuNjVyZW07XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0Y29sb3I6ICRuYXZ5LWRhcmstdGV4dDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG5cdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdH1cbn1cblxuLmNsb3NlLWJ0biB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAxcmVtO1xuXHRyaWdodDogMXJlbTtcblx0Zm9udC1zaXplOiAyLjJyZW07XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbGlnaHQ7XG5cdGNvbG9yOiAkdGV4dC1jbG9zZS1idG47XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3BhY2l0eTogMC43O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBjb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cdC8vIEFkZGVkIHRyYW5zZm9ybSBcblx0Jjpob3ZlciB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRjb2xvcjogJHRleHQtZGFyaztcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcblx0XHR0b3A6IDAuOHJlbTtcblx0XHRyaWdodDogMC44cmVtO1xuXHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0fVxuXG59XG5cbi5tb2RhbC1ib2R5IHtcblx0cGFkZGluZzogMi41cmVtIDJyZW07XG5cblx0LmZvcm0tZ3JvdXAge1xuXHRcdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblx0fVxuXG5cdC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJGN5YW47XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgM3B4ICRjeWFuLXRwLTI1O1xuXHR9XG5cblx0LmJ0bi1wcmltYXJ5IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAxLjFyZW07XG5cdFx0Zm9udC1zaXplOiAxLjFyZW07XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1kO1xuXHRcdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuXHRcdHBhZGRpbmc6IDEuOHJlbSAxLjVyZW07XG5cblx0XHQuYnRuLXByaW1hcnkge1xuXHRcdFx0cGFkZGluZzogMXJlbTtcblx0XHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuXHRcdH1cblx0fVxuXG59XG5cbi5tb2RhbC1zdWJ0aXRsZSB7XG5cdGZvbnQtc2l6ZTogMS4wNXJlbTtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRjb2xvcjogJHRleHQtbXV0ZWQ7XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcblx0XHRmb250LXNpemU6IDAuOTVyZW07XG5cdH1cbn1cblxuLm1vZGFsLXN1Y2Nlc3Mge1xuXHRiYWNrZ3JvdW5kOiAkZ3JlZW4tdHAtMDg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmVlbi10cC00MDtcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbWQ7XG5cdHBhZGRpbmc6IDEuNXJlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiAxLjVyZW07XG5cdGNvbG9yOiAkdGV4dC1kYXJrO1xuXG5cdGg0IHtcblx0XHRmb250LXNpemU6IDEuNnJlbTtcblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdFx0Y29sb3I6ICRncmVlbjtcblx0XHRtYXJnaW46IDAgMCAwLjhyZW0gMDtcblxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA1NzZweCkge1xuXHRcdFx0Zm9udC1zaXplOiAxLjRyZW07XG5cdFx0fVxuXHR9XG5cblx0cCB7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdFx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRcdGNvbG9yOiAkdGV4dC1saWdodDtcblx0fVxuXG5cdC5mYS1jaGVjay1jaXJjbGUge1xuXHRcdG1hcmdpbi1yaWdodDogMC43NXJlbTtcblx0XHRjb2xvcjogJGdyZWVuO1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG59XG5cbi8qIFNpdHMgYWJvdmUgdGhlIHN1Ym1pdCBidXR0b24gcmF0aGVyIHRoYW4gcmVwbGFjaW5nIHRoZSBmb3JtLCBiZWNhdXNlIHRoZSBkZXRhaWxzIGFyZSBzdGlsbFxuICAgZmlsbGVkIGluIGFuZCByZXRyeWluZyBpcyB1c3VhbGx5IGFsbCB0aGF0IGlzIG5lZWRlZC4gKi9cbi5tb2RhbC1lcnJvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRnYXA6IDAuNzVyZW07XG5cdGJhY2tncm91bmQ6IHJnYmEoMTY5LCA2OCwgNjYsIDAuMDgpO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2OSwgNjgsIDY2LCAwLjQpO1xuXHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcblx0cGFkZGluZzogMXJlbSAxLjI1cmVtO1xuXHRtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc207XG5cdGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcblx0Y29sb3I6ICRkYW5nZXI7XG5cblx0aSB7XG5cdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0bWFyZ2luLXRvcDogMC4xNXJlbTtcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcblx0fVxufSIsIi5tb2Rlcm4tbG9naW4tcGFnZSB7XG5cblx0LnBhZ2UtaGVhZGVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eS1oZWFkZXItYmc7XG5cdFx0cGFkZGluZzogMC43NXJlbSAkc2VjdGlvbi1wYWRkaW5nLXg7XG5cdFx0cGFkZGluZy10b3A6IDAuNXJlbTtcblx0XHRtYXJnaW4tdG9wOiAwcmVtO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGUtdHAtMTU7XG5cdFx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG5cdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHR0b3A6IDA7XG5cdFx0ei1pbmRleDogMTAwMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0LmhlYWRlci1jb250YWluZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiAxNDAwcHg7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdH1cblxuXHQubmF2LWxvZ28ge1xuXHRcdGhlaWdodDogNTBweDtcblx0XHR3aWR0aDogYXV0bztcblx0XHRmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDRweCAkYmxhY2stdHAtMzApO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblxuXHQubWFpbi1uYXYgdWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGdhcDogMXJlbTtcblx0fVxuXG5cdC5uYXYtbGluayB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLXRwLTEwO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZS10cC0yMDtcblx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNXB4KTtcblx0XHQtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig1cHgpO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdHBhZGRpbmc6IDAuNnJlbSAxLjJyZW07XG5cdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtc207XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtdHAtMjA7XG5cdFx0XHRib3JkZXItY29sb3I6ICR3aGl0ZS10cC01MDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0XHR9XG5cdH1cblxuXHQuYnRuLW5hdi1kZW1vIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93LWN0YTtcblx0XHRjb2xvcjogJG5hdnktZGFyay10ZXh0O1xuXHRcdHBhZGRpbmc6IDAuOHJlbSAxLjhyZW07XG5cdFx0Zm9udC1zaXplOiAxLjE1cmVtO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1tZDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cdFx0Ym94LXNoYWRvdzogMCA0cHggMTVweCAkYmxhY2stdHAtMTA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXgtd2lkdGg6IDI1cmVtO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAzcHggMjBweCAkeWVsbG93O1xuXHRcdH1cblx0fVxufSJdfQ== */
