/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document ========================================================================== */
/** 1. Correct the line height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. */
html { line-height: 1.15; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ }

/* Sections ========================================================================== */
/** Remove the margin in all browsers. */
body { margin: 0; }

/** Correct the font size and margin on `h1` elements within `section` and `article` contexts in Chrome, Firefox, and Safari. */
h1 { font-size: 2em; margin: 0.67em 0; }

/* Grouping content ========================================================================== */
/** 1. Add the correct box sizing in Firefox. 2. Show the overflow in Edge and IE. */
hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/* Text-level semantics ========================================================================== */
/** Remove the gray background on active links in IE 10. */
a { background-color: transparent; }

/** 1. Remove the bottom border in Chrome 57- 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. */
abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ text-decoration: underline dotted; /* 2 */ }

/** Add the correct font weight in Chrome, Edge, and Safari. */
b, strong { font-weight: bolder; }

/** 1. Correct the inheritance and scaling of font size in all browsers. 2. Correct the odd `em` font sizing in all browsers. */
code, kbd, samp { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

/** Add the correct font size in all browsers. */
small { font-size: 80%; }

/** Prevent `sub` and `sup` elements from affecting the line height in all browsers. */
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

/* Embedded content ========================================================================== */
/** Remove the border on images inside links in IE 10. */
img { border-style: none; }

/* Forms ========================================================================== */
/** 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. */
button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ margin: 0; /* 2 */ }

/** Show the overflow in IE. 1. Show the overflow in Edge. */
button, input { /* 1 */ overflow: visible; }

/** Remove the inheritance of text transform in Edge, Firefox, and IE. 1. Remove the inheritance of text transform in Firefox. */
button, select { /* 1 */ text-transform: none; }

/** Correct the inability to style clickable types in iOS and Safari. */
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

/** Remove the inner border and padding in Firefox. */
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

/** Restore the focus styles unset by the previous rule. */
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

/** Correct the padding in Firefox. */
fieldset { padding: 0.35em 0.75em 0.625em; }

/** 1. Correct the text wrapping in Edge and IE. 2. Correct the color inheritance from `fieldset` elements in IE. 3. Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers. */
legend { box-sizing: border-box; /* 1 */ color: inherit; /* 2 */ display: table; /* 1 */ max-width: 100%; /* 1 */ padding: 0; /* 3 */ white-space: normal; /* 1 */ }

/** Add the correct vertical alignment in Chrome, Firefox, and Opera. */
progress { vertical-align: baseline; }

/** Remove the default vertical scrollbar in IE 10+. */
textarea { overflow: auto; }

/** 1. Add the correct box sizing in IE 10. 2. Remove the padding in IE 10. */
[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

/** Correct the cursor style of increment and decrement buttons in Chrome. */
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

/** 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */
[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

/** Remove the inner padding in Chrome and Safari on macOS. */
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

/** 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */
::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

/* Interactive ========================================================================== */
/* Add the correct display in Edge, IE 10+, and Firefox. */
details { display: block; }

/* Add the correct display in all browsers. */
summary { display: list-item; }

/* Misc ========================================================================== */
/** Add the correct display in IE 10+. */
template { display: none; }

/** Add the correct display in IE 10. */
[hidden] { display: none; }

:root { --color-primary: #5f7ba3; --color-primary-gradient: linear-gradient(135deg, #5f7ba3, #5f70a3); --color-primary-light: #7f96b6; --color-primary-lighter: #b0bed2; --color-primary-dark: #4c6383; --color-primary-darker: #303e53; --color-primary-transparent: rgba(95, 123, 163, 0.2); --color-primary-transparent-50: rgba(95, 123, 163, 0.5); --color-success: #76c753; --color-success-gradient: linear-gradient(135deg, #76c753, #63c753); --color-success-light: #95d479; --color-success-lighter: #c3e6b3; --color-success-dark: #5cae39; --color-success-darker: #3e7526; --color-success-transparent: rgba(118, 199, 83, 0.2); --color-success-transparent-50: rgba(118, 199, 83, 0.5); --color-info: #1469c8; --color-info-gradient: linear-gradient(135deg, #1469c8, #144bc8); --color-info-light: #2682e9; --color-info-lighter: #6baaf0; --color-info-dark: #0f519a; --color-info-darker: #082c54; --color-info-transparent: rgba(20, 105, 200, 0.2); --color-info-transparent-50: rgba(20, 105, 200, 0.5); --color-warning: #f0ad4e; --color-warning-gradient: linear-gradient(135deg, #f0ad4e, #f0c84e); --color-warning-light: #f4c37d; --color-warning-lighter: #fae3c4; --color-warning-dark: #ec971f; --color-warning-darker: #b06d0f; --color-warning-transparent: rgba(240, 173, 78, 0.2); --color-warning-transparent-50: rgba(240, 173, 78, 0.5); --color-danger: #d9534f; --color-danger-gradient: linear-gradient(135deg, #d9534f, #d96a4f); --color-danger-light: #e27c79; --color-danger-lighter: #f0b9b8; --color-danger-dark: #c9302c; --color-danger-darker: #8b211e; --color-danger-transparent: rgba(217, 83, 79, 0.2); --color-danger-transparent-50: rgba(217, 83, 79, 0.5); --color-secondary: #91a4cf; --color-secondary-gradient: linear-gradient(135deg, #91a4cf, #919acf); --color-secondary-light: #b5c1de; --color-secondary-lighter: #eaedf6; --color-secondary-dark: #6d87c0; --color-secondary-darker: #445f9c; --color-secondary-transparent: rgba(145, 164, 207, 0.2); --color-secondary-transparent-50: rgba(145, 164, 207, 0.5); --color-background: #e6ecfc; --color-background-gradient: linear-gradient(135deg, #e6ecfc, #e6e8fc); --color-background-light: white; --color-background-lighter: white; --color-background-dark: #b8c9f7; --color-background-darker: #7495ee; --color-background-transparent: rgba(230, 236, 252, 0.2); --color-background-transparent-50: rgba(230, 236, 252, 0.5); --color-text: #424540; --color-text-gradient: linear-gradient(135deg, #424540, #414540); --color-text-light: #5b5f59; --color-text-lighter: #81877e; --color-text-dark: #292b27; --color-text-darker: #030303; --color-text-transparent: rgba(66, 69, 64, 0.2); --color-text-transparent-50: rgba(66, 69, 64, 0.5); --color-panel-background: #f5fcff; --color-panel-background-gradient: linear-gradient(135deg, #f5fcff, #f5faff); --color-panel-background-light: white; --color-panel-background-lighter: white; --color-panel-background-dark: #c2edff; --color-panel-background-darker: #76d6ff; --color-panel-background-transparent: rgba(245, 252, 255, 0.2); --color-panel-background-transparent-50: rgba(245, 252, 255, 0.5); --color-soft-grey: #9e9d9e; --color-soft-grey-gradient: linear-gradient(135deg, #9e9d9e, #9e9d9e); --color-soft-grey-light: #b7b7b7; --color-soft-grey-lighter: #dddddd; --color-soft-grey-dark: #858385; --color-soft-grey-darker: #5e5d5e; --color-soft-grey-transparent: rgba(158, 157, 158, 0.2); --color-soft-grey-transparent-50: rgba(158, 157, 158, 0.5); --color-white: #eeeeee; --color-white-gradient: linear-gradient(135deg, #eeeeee, #eeeeee); --color-white-light: white; --color-white-lighter: white; --color-white-dark: #d5d5d5; --color-white-darker: #aeaeae; --color-white-transparent: rgba(238, 238, 238, 0.2); --color-white-transparent-50: rgba(238, 238, 238, 0.5); --font-base: 'Ubuntu', sans-serif; }

.alert-box { padding: 20px; box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); margin: 5px 0; }

.alert-box.primary { background-color: var(--color-primary); }

.alert-box.success { background-color: var(--color-success); }

.alert-box.info { background-color: var(--color-info); }

.alert-box.warning { background-color: var(--color-warning); }

.alert-box.danger { background-color: var(--color-danger); }

.alert-box.danger, .alert-box.success { color: var(--color-white); }

@keyframes fadeOut { 0% { opacity: 1; }
  100% { opacity: 0; } }

.animation.fade-out { animation-delay: 3s; animation-duration: 1s; animation-name: fadeOut; animation-timing-function: ease-in; }

.t-badge { color: var(--color-white-light); background-color: var(--color-soft-grey-dark); border-radius: 4px; font-weight: bold; padding: 4px; margin: 4px; }

.t-badge.counter { position: relative; top: -10px; right: 12px; font-size: 9px; padding: 2px 5px; border-radius: 50%; background-color: var(--color-danger); }

.t-badge.primary { background-color: var(--color-primary-dark); }

.t-badge.small { font-size: 12px; }

button, a.btn-link, .btn { border: none; background-color: transparent; cursor: pointer; padding: 10px 20px; }

button.small, .btn.small { padding: 5px 10px; }

button:active:not(:disabled), .btn:active:not(:disabled) { transform: translateY(2px); }

button.btn-link, .btn.btn-link { border: 1px solid transparent; }

button.btn-link:hover:not(:disabled), button.btn-link:focus:not(:disabled), .btn.btn-link:hover:not(:disabled), .btn.btn-link:focus:not(:disabled) { text-decoration: underline; outline: none; }

.btn-container-right { display: flex; flex-direction: row; justify-content: flex-end; }

.btn-container { display: flex; flex-direction: row; justify-content: space-between; }

.btns-tight button, .btns-tight .btn-link, .btns-tight .btn { padding: 10px; }

button.primary, .btn.primary { background-color: var(--color-primary); color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); }

button.primary:active:not(:disabled), .btn.primary:active:not(:disabled) { box-shadow: 0 0 8px -3px rgba(0, 0, 0, 0.4); }

button.primary:hover:not(:disabled), button.primary:focus:not(:disabled), .btn.primary:hover:not(:disabled), .btn.primary:focus:not(:disabled) { text-decoration: underline; outline: none; }

button.primary.btn-link, .btn.primary.btn-link { background-color: transparent; color: var(--color-primary); box-shadow: none; }

button.primary.btn-link:active, .btn.primary.btn-link:active { background-color: var(--color-primary-transparent); }

button.primary.btn-link:hover, button.primary.btn-link:focus, .btn.primary.btn-link:hover, .btn.primary.btn-link:focus { border-bottom: 1px solid var(--color-primary); text-decoration: none; outline: none; }

button.primary:disabled, .btn.primary:disabled { background-color: var(--color-primary-light); cursor: not-allowed; }

button.danger, .btn.danger { background-color: var(--color-danger); color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); }

button.danger:active:not(:disabled), .btn.danger:active:not(:disabled) { box-shadow: 0 0 8px -3px rgba(0, 0, 0, 0.4); }

button.danger:hover:not(:disabled), button.danger:focus:not(:disabled), .btn.danger:hover:not(:disabled), .btn.danger:focus:not(:disabled) { text-decoration: underline; outline: none; }

button.danger.btn-link, .btn.danger.btn-link { background-color: transparent; color: var(--color-danger); box-shadow: none; }

button.danger.btn-link:active, .btn.danger.btn-link:active { background-color: var(--color-danger-transparent); }

button.danger.btn-link:hover, button.danger.btn-link:focus, .btn.danger.btn-link:hover, .btn.danger.btn-link:focus { border-bottom: 1px solid var(--color-danger); text-decoration: none; outline: none; }

button.danger:disabled, .btn.danger:disabled { background-color: var(--color-danger-light); cursor: not-allowed; }

button.warning, .btn.warning { background-color: var(--color-warning); color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); }

button.warning:active:not(:disabled), .btn.warning:active:not(:disabled) { box-shadow: 0 0 8px -3px rgba(0, 0, 0, 0.4); }

button.warning:hover:not(:disabled), button.warning:focus:not(:disabled), .btn.warning:hover:not(:disabled), .btn.warning:focus:not(:disabled) { text-decoration: underline; outline: none; }

button.warning.btn-link, .btn.warning.btn-link { background-color: transparent; color: var(--color-warning); box-shadow: none; }

button.warning.btn-link:active, .btn.warning.btn-link:active { background-color: var(--color-warning-transparent); }

button.warning.btn-link:hover, button.warning.btn-link:focus, .btn.warning.btn-link:hover, .btn.warning.btn-link:focus { border-bottom: 1px solid var(--color-warning); text-decoration: none; outline: none; }

button.warning:disabled, .btn.warning:disabled { background-color: var(--color-warning-light); cursor: not-allowed; }

button.info, .btn.info { background-color: var(--color-info); color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); }

button.info:active:not(:disabled), .btn.info:active:not(:disabled) { box-shadow: 0 0 8px -3px rgba(0, 0, 0, 0.4); }

button.info:hover:not(:disabled), button.info:focus:not(:disabled), .btn.info:hover:not(:disabled), .btn.info:focus:not(:disabled) { text-decoration: underline; outline: none; }

button.info.btn-link, .btn.info.btn-link { background-color: transparent; color: var(--color-info); box-shadow: none; }

button.info.btn-link:active, .btn.info.btn-link:active { background-color: var(--color-info-transparent); }

button.info.btn-link:hover, button.info.btn-link:focus, .btn.info.btn-link:hover, .btn.info.btn-link:focus { border-bottom: 1px solid var(--color-info); text-decoration: none; outline: none; }

button.info:disabled, .btn.info:disabled { background-color: var(--color-info-light); cursor: not-allowed; }

button.success, .btn.success { background-color: var(--color-success); color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); }

button.success:active:not(:disabled), .btn.success:active:not(:disabled) { box-shadow: 0 0 8px -3px rgba(0, 0, 0, 0.4); }

button.success:hover:not(:disabled), button.success:focus:not(:disabled), .btn.success:hover:not(:disabled), .btn.success:focus:not(:disabled) { text-decoration: underline; outline: none; }

button.success.btn-link, .btn.success.btn-link { background-color: transparent; color: var(--color-success); box-shadow: none; }

button.success.btn-link:active, .btn.success.btn-link:active { background-color: var(--color-success-transparent); }

button.success.btn-link:hover, button.success.btn-link:focus, .btn.success.btn-link:hover, .btn.success.btn-link:focus { border-bottom: 1px solid var(--color-success); text-decoration: none; outline: none; }

button.success:disabled, .btn.success:disabled { background-color: var(--color-success-light); cursor: not-allowed; }

.checkbox { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; user-select: none; }

.checkbox input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }

.checkbox span { padding: 0; }

.checkbox .checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: var(--color-white); padding: 0; }

.checkbox .checkmark:after { content: ""; position: absolute; display: none; left: 9px; top: 5px; width: 5px; height: 10px; border: solid white; border-width: 0 3px 3px 0; transform: rotate(45deg); -webkit-transform: rotate(45deg); }

.checkbox .checkbox-label { margin-left: 30px; }

.checkbox:hover input:not(:disabled) ~ .checkmark { background-color: var(--color-white-dark); }

.checkbox input:not(:disabled):checked ~ .checkmark { background-color: var(--color-primary); }

.checkbox input:disabled ~ .checkmark { background-color: var(--color-white-darker); }

.checkbox input:checked ~ .checkmark:after { display: block; }

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

.dropdown .dropbtn { cursor: pointer; padding: 10px; }

.dropdown .dropdown-content { display: none; position: absolute; box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); min-width: 240px; background-color: var(--color-background); color: var(--color-text); z-index: 1; }

.dropdown .dropdown-content a.dropdown-item, .dropdown .dropdown-content a.dropdown-item:visited { display: block; padding: 8px 16px; text-decoration: none; color: var(--color-text); }

.dropdown .dropdown-content a.dropdown-item:hover { display: block; padding: 8px 16px; color: var(--color-text); background-color: var(--color-background-dark); text-decoration: none; }

.dropdown .dropdown-content .separator { display: inline-block; height: 1px; width: 100%; background-color: var(--color-primary-light); margin: 0; padding: 0; }

.dropdown:hover .dropdown-content { display: block; }

.navbar { background-color: var(--color-primary); color: var(--color-white-light); border-bottom: 1px solid var(--color-primary-dark); line-height: 20px; z-index: 10; }

.navbar .container { display: flex; flex-direction: row; }

.navbar .nav-items { flex-grow: 2; }

.navbar .nav-items, .navbar .nav-items-right { display: flex; flex-direction: row; align-items: center; }

.navbar .nav-items a, .navbar .nav-items a:visited, .navbar .nav-items a:hover, .navbar .nav-items a:active, .navbar .nav-items-right a, .navbar .nav-items-right a:visited, .navbar .nav-items-right a:hover, .navbar .nav-items-right a:active { color: var(--color-white-light); padding: 15px; }

.navbar a:hover .counter { text-decoration: none; }

.navbar.fixed-top { position: fixed; top: 0; left: 0; right: 0; }

.navbar .navbar-header { font-size: 18px; display: flex; flex-direction: row; align-items: center; padding: 15px 0; margin-left: -15px; }

@media only screen and (max-width: 1200px) { .navbar .navbar-header { margin-left: 0; } }

.with-icons { padding-left: 5px; padding-right: 5px; }

.subnav { z-index: 9; color: var(--color-primary-dark); background-color: var(--color-background-dark); border-bottom: 1px solid var(--color-background-darker); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); line-height: 20px; font-size: 18px; padding: 15px; }

.subnav.fixed-top { margin-top: 50px; position: fixed; top: 0; left: 0; right: 0; }

.with-navbar { margin-top: 60px; }

.with-subnavbar { margin-top: 110px; }

.pagination { margin: auto 0; display: flex; flex-direction: row; flex-wrap: wrap; justify-content: center; }

.pagination button { margin: 0; padding: 10px; }

.pagination button.active { color: var(--color-primary); }

.pagination button:hover:not(:disabled), .pagination button:focus:not(:disabled), .pagination button:active:not(:disabled) { text-decoration: underline; }

@media only screen and (max-width: 1200px) { .t-container, .container { padding: 0 15px; } }

.t-panel { background-color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); }

.t-panel .header { padding: 5px 20px; color: var(--color-primary-dark); border-bottom: 1px solid var(--color-white); display: flex; flex-direction: row; justify-content: flex-start; align-items: center; }

.t-panel .header > *:not(:last-child), .t-panel .header h4 > *:not(:last-child) { margin-right: 5px; }

.t-panel .header.primary { color: var(--color-white); background-color: var(--color-primary); border-bottom: 1px solid var(--color-primary-dark); }

.t-panel .header-action { display: flex; flex-direction: row; justify-content: space-between; }

.t-panel .header-action .btn-link:hover { text-decoration: none; }

.t-panel .body { padding: 10px 20px; }

.t-panel .body:last-child { padding-bottom: 20px; }

.t-panel .body.bottom-separator { border-bottom: 1px solid var(--color-white); }

.t-panel .footer { padding: 5px 20px; border-top: 1px solid var(--color-white); }

.t-panel .inner-panel { border-top: 1px solid var(--color-white); }

.t-panel .inner-panel > * { padding: 5px; }

.t-panel .inner-panel > * input[type="date"] { box-shadow: none; }

.fit-screen { max-height: 620px; overflow-y: auto; }

.fit-screen table thead { position: sticky; top: 0; }

.fit-screen.small { max-height: 420px; }

.fit-screen-sm { max-height: 420px; overflow-y: auto; }

.field-data { display: grid; grid-template-columns: 1fr 3fr; justify-content: left; column-gap: 10px; row-gap: 10px; }

.field-data label { align-self: top; }

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

.field-data .row { grid-column-start: 1; grid-column-end: 3; }

.form-data { display: grid; grid-template-columns: 1fr 3fr; justify-content: left; column-gap: 10px; row-gap: 10px; }

.form-data label, .form-data span { padding: 10px 0; }

.form-data .input-column { display: flex; flex-direction: column; }

.form-data .input-column > *:not(:last-child) { margin-bottom: 5px; }

.form-data .col { grid-column: 1 / 3; display: flex; flex-direction: column; }

.form-data .form-row { display: flex; flex-direction: row; justify-content: space-between; }

.form-data .form-row > .grow { flex-grow: 3; }

.form-data .form-row .fill { width: 100%; }

input, select, textarea { background-color: var(--color-white-light); border: 1px solid var(--color-white); padding: 10px; }

textarea { resize: vertical; }

select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>"); background-repeat: no-repeat; background-position-x: 100%; background-position-y: 5px; }

input:active, input:focus, select:active, select:focus { outline: none; border-color: var(--color-primary); color: var(--color-primary); }

select[data-placeholder] { color: var(--color-soft-grey); }

.contact-layout { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 15px; margin-bottom: 20px; }

.contact-layout .row { display: flex; flex-direction: row; grid-column: 1 / 3; }

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

.contact-layout .column > *:not(:last-child) { margin-bottom: 15px; }

.t-container, .container { max-width: 1170px; margin-left: auto; margin-right: auto; }

.center-panel { display: flex; flex-direction: column; align-items: center; }

.contact-list-layout, .family-list-layout { display: grid; grid-template-columns: 1fr 3fr; column-gap: 20px; row-gap: 15px; }

.contact-list-layout .contact-list, .contact-list-layout .family-list, .family-list-layout .contact-list, .family-list-layout .family-list { width: 100%; }

.contact-list-layout .contact-list tr:hover, .contact-list-layout .family-list tr:hover, .family-list-layout .contact-list tr:hover, .family-list-layout .family-list tr:hover { background-color: var(--color-white); cursor: pointer; }

.panel-column { display: grid; grid-template-columns: 1fr; column-gap: 20px; row-gap: 15px; }

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

.filter-input:not(:last-child) { margin-bottom: 10px; }

.sub-label { font-size: 12px; color: var(--color-text-light); margin-bottom: 0; }

.profile-layout { display: grid; grid-template-columns: 1fr; row-gap: 15px; }

.family-layout { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 15px; margin-bottom: 20px; }

.family-layout .field-row { margin: 5px 0; }

.family-layout div.field-row { display: grid; grid-template-columns: 1fr 1fr; }

.family-layout .row { display: flex; flex-direction: row; grid-column: 1 / 3; }

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

.family-layout .column > *:not(:last-child) { margin-bottom: 15px; }

.note-card section, .note-card header, .note-card footer { padding: 5px; }

.note-card header { display: flex; flex-direction: row; justify-content: space-between; }

.note-card p { margin: 4px 0; }

.note-card .title { color: var(--color-primary-dark); font-weight: bold; }

.note-card .light-text { color: var(--color-text-light); }

.note-card .reminder { color: var(--color-text-lighter); display: flex; flex-direction: row; justify-content: space-between; align-items: center; }

.note-card .reminder span, .note-card .reminder i { margin-right: 5px; }

.note-card:not(:last-of-type) { border-bottom: 1px solid var(--color-white); }

.note-form { display: flex; flex-direction: column; padding: 5px; border-bottom: 1px solid var(--color-white); }

.note-form * { margin-bottom: 10px; }

.note-form label { padding: 5px 0; }

.login-form { max-width: 340px; margin: 20px auto; }

.notifications-layout { display: grid; grid-template-columns: 1fr; row-gap: 15px; }

.notifications-layout .notification:not(:last-child) { border-bottom: 1px solid var(--color-white); }

.notifications-layout .notification footer { display: flex; flex-direction: row; justify-content: space-between; align-items: center; color: var(--color-text-lighter); }

.notifications-layout .notification footer span, .notifications-layout .notification footer i { margin-right: 5px; }

.center { text-align: center; }

.breadcrumb { background-color: var(--color-panel-background); font-size: 16px; padding: 10px 5px; }

.breadcrumb * { margin-right: 5px; }

.spinner { display: inline-block; width: 30px; height: 30px; border: 4px solid rgba(255, 255, 255, 0.3); border-radius: 50%; border-top-color: var(--color-primary); animation: spin 1s ease-in-out infinite; }

@keyframes spin { to { transform: rotate(360deg); } }

table { border-collapse: collapse; width: 100%; }

table thead { border-bottom: 1px solid var(--color-white-dark); box-shadow: 0 2px 2px -3px rgba(0, 0, 0, 0.4); }

table th, table td { text-align: left; padding: 10px; }

table.hover tr:hover { background-color: var(--color-white); cursor: pointer; }

.fit-screen thead th, .fit-screen-sm thead th { position: sticky; top: 0; border-bottom: 1px solid var(--color-white-dark); box-shadow: 0 2px 2px -3px rgba(0, 0, 0, 0.4); background-color: var(--color-white-light); }

.fit-screen thead, .fit-screen-sm thead { border: none; box-shadow: none; }

.icons-right { text-align: right; }

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

.text-success { color: var(--color-success); }

.text-info { color: var(--color-info); }

.text-warning { color: var(--color-warning); }

.text-danger { color: var(--color-danger); }

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

.text-lighter { color: var(--color-text-lighter); }

.text-bold { font-weight: bold; }

.tooltip { position: relative; display: inline-block; }

.tooltip .tooltip-content { visibility: hidden; background-color: var(--color-text-dark); color: var(--color-white); position: absolute; z-index: 1; top: 100%; left: 50%; width: 240px; margin-left: -120px; }

.tooltip .tooltip-content::after { content: " "; position: absolute; bottom: 100%; left: 50%; margin-left: -5px; border-width: 5px; border-style: solid; border-color: transparent transparent var(--color-text-dark) transparent; }

.tooltip .tooltip-content .btn-link { color: var(--color-white); }

.tooltip .tooltip-content header { border-bottom: 1px solid var(--color-text); padding: 5px 10px; font-size: 14px; }

.tooltip .tooltip-content footer { border-top: 1px solid var(--color-text); padding: 5px 10px; }

.tooltip .tooltip-content .body { padding: 5px 10px; font-size: 14px; }

.tooltip:hover .tooltip-content { visibility: visible; }

.typeahead { position: relative; display: flex; flex-direction: column; }

.typeahead .typeahead-items { position: absolute; top: 38px; display: flex; flex-direction: column; background-color: var(--color-white-light); box-shadow: 2px 2px 8px -3px rgba(0, 0, 0, 0.4); z-index: 1; width: 100%; max-height: 320px; overflow-y: auto; }

.typeahead .typeahead-items .typeahead-item { padding: 10px; cursor: pointer; }

.typeahead .typeahead-items .typeahead-item.typeahead-active { background-color: var(--color-primary-light); }

.typeahead .typeahead-items .typeahead-item:not(:last-child) { border-bottom: 1px solid var(--color-white); }

.typeahead .typeahead-remove { position: absolute; right: 12px; top: 12px; cursor: pointer; }

.align-left { display: flex; flex-direction: column; align-items: flex-end; }

.dashboard.t-panel { background-color: var(--color-white-transparent-50); }

.dashboard.t-panel .header { color: var(--color-text); border-bottom: none; }

.danger-row { border-top: solid 1px var(--color-danger-light); border-bottom: solid 1px var(--color-danger-light); color: var(--color-danger); }

body { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 1.42857; color: var(--color-text); background-color: var(--color-panel-background); }

a, a:visited { text-decoration: none; color: var(--color-primary); cursor: pointer; }

a:hover, a:focus, a:active { text-decoration: underline; }

h4 { font-size: 18px; }

h4, h5, h6 { margin-top: 10px; margin-bottom: 10px; }

h1, h2, h3, h4, h5, h6 { font-family: inherit; font-weight: 500; line-height: 1.1; color: inherit; }

label { display: inline-block; max-width: 100%; margin-bottom: 5px; font-weight: bold; }

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

.full-screen { position: absolute; top: 0; left: 0; right: 0; height: 100vh; }

.pointer { cursor: pointer; }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi93ZWItc3JjL3Njc3Mvc3R5bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLG1CQUFtQix3Q0FBd0M7O0FBRWpFO0FBQ0E7QUFDQSxNQUFNLFdBQVc7O0FBRWpCO0FBQ0EsSUFBSSxnQkFBZ0Isa0JBQWtCOztBQUV0QztBQUNBO0FBQ0EsSUFBSSx5QkFBeUIsbUJBQW1CLDJCQUEyQjs7QUFFM0U7QUFDQSxLQUFLLG1DQUFtQyx3QkFBd0I7O0FBRWhFO0FBQ0E7QUFDQSxHQUFHLCtCQUErQjs7QUFFbEM7QUFDQSxhQUFhLHFCQUFxQixvQ0FBb0MsMkNBQTJDOztBQUVqSDtBQUNBLFdBQVcscUJBQXFCOztBQUVoQztBQUNBLGlCQUFpQixtQ0FBbUMsd0JBQXdCOztBQUU1RTtBQUNBLE9BQU8sZ0JBQWdCOztBQUV2QjtBQUNBLFVBQVUsZ0JBQWdCLGdCQUFnQixvQkFBb0IsMEJBQTBCOztBQUV4RixLQUFLLGlCQUFpQjs7QUFFdEIsS0FBSyxhQUFhOztBQUVsQjtBQUNBO0FBQ0EsS0FBSyxvQkFBb0I7O0FBRXpCO0FBQ0E7QUFDQSwyQ0FBMkMsc0JBQXNCLHlCQUF5QiwyQkFBMkIsbUJBQW1COztBQUV4STtBQUNBLGVBQWUsMkJBQTJCOztBQUUxQztBQUNBLGdCQUFnQiw4QkFBOEI7O0FBRTlDO0FBQ0EsMERBQTBELDRCQUE0Qjs7QUFFdEY7QUFDQSxrSUFBa0ksb0JBQW9CLFlBQVk7O0FBRWxLO0FBQ0Esc0hBQXNILGdDQUFnQzs7QUFFdEo7QUFDQSxVQUFVLGdDQUFnQzs7QUFFMUM7QUFDQSxRQUFRLHdCQUF3Qix3QkFBd0Isd0JBQXdCLHlCQUF5QixvQkFBb0IsNkJBQTZCOztBQUUxSjtBQUNBLFVBQVUsMEJBQTBCOztBQUVwQztBQUNBLFVBQVUsZ0JBQWdCOztBQUUxQjtBQUNBLG1DQUFtQyx3QkFBd0Isb0JBQW9COztBQUUvRTtBQUNBLHdGQUF3RixjQUFjOztBQUV0RztBQUNB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QUFxQiwwRUFBMEU7O0FBRWxPLHFDQUFxQywyQkFBMkI7O0FBRWhFLGtDQUFrQyw0Q0FBNEMsbUJBQW1CLGlCQUFpQjs7QUFFbEgsa0NBQWtDLHlDQUF5QyxtQkFBbUI7O0FBRTlGLGlDQUFpQyxtQkFBbUIsaUJBQWlCOztBQUVyRSxpQ0FBaUMscUJBQXFCOztBQUV0RCxZQUFZLG9CQUFvQixlQUFlLHdCQUF3Qjs7QUFFdkUsNkJBQTZCLG9CQUFvQixXQUFXLGVBQWUsd0JBQXdCLDRDQUE0QyxpREFBaUQsWUFBWSxhQUFhLG1CQUFtQixrQkFBa0I7O0FBRTlQLDZDQUE2QyxlQUFlLGlCQUFpQjs7QUFFN0UsOERBQThELDhDQUE4Qzs7QUFFNUcsOERBQThELDZDQUE2Qzs7QUFFM0csOEJBQThCLG9CQUFvQixhQUFhLFdBQVcsaUJBQWlCOztBQUUzRixhQUFhLGVBQWUsd0JBQXdCLHVCQUF1Qjs7QUFFM0Usb0JBQW9CLHFEQUFxRDs7QUFFekUsNEJBQTRCLDBCQUEwQixxQkFBcUI7O0FBRTNFLGFBQWEsaURBQWlELG9EQUFvRCw0QkFBNEI7O0FBRTlJLE1BQU0sNkRBQTZELGlCQUFpQixzQkFBc0IsMEJBQTBCLGlEQUFpRDs7QUFFckwsY0FBYyx1QkFBdUIsNkJBQTZCLGlCQUFpQjs7QUFFbkYsNEJBQTRCLDRCQUE0Qjs7QUFFeEQsSUFBSSxpQkFBaUI7O0FBRXJCLFlBQVksa0JBQWtCLHFCQUFxQjs7QUFFbkQsd0JBQXdCLHNCQUFzQixrQkFBa0Isa0JBQWtCLGdCQUFnQjs7QUFFbEcsT0FBTyx1QkFBdUIsaUJBQWlCLG9CQUFvQixtQkFBbUI7O0FBRXRGLFNBQVMsZUFBZSx3QkFBd0I7O0FBRWhELGNBQWMsb0JBQW9CLFFBQVEsU0FBUyxVQUFVLGVBQWU7O0FBRTVFLFVBQVUsaUJBQWlCIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLiAqL1xuaHRtbCB7IGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLiAqL1xuYm9keSB7IG1hcmdpbjogMDsgfVxuXG4vKiogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLiAqL1xuaDEgeyBmb250LXNpemU6IDJlbTsgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC4gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuICovXG5ociB7IGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovIGhlaWdodDogMDsgLyogMSAqLyBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqLyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuICovXG5wcmUgeyBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi8gZm9udC1zaXplOiAxZW07IC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC4gKi9cbmEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKiogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS4gKi9cbmFiYnJbdGl0bGVdIHsgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi8gfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS4gKi9cbmIsIHN0cm9uZyB7IGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy4gKi9cbmNvZGUsIGtiZCwgc2FtcCB7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqLyBmb250LXNpemU6IDFlbTsgLyogMiAqLyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy4gKi9cbnNtYWxsIHsgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuICovXG5zdWIsIHN1cCB7IGZvbnQtc2l6ZTogNzUlOyBsaW5lLWhlaWdodDogMDsgcG9zaXRpb246IHJlbGF0aXZlOyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLiAqL1xuaW1nIHsgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS4gKi9cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHsgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi8gZm9udC1zaXplOiAxMDAlOyAvKiAxICovIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovIG1hcmdpbjogMDsgLyogMiAqLyB9XG5cbi8qKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS4gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS4gKi9cbmJ1dHRvbiwgaW5wdXQgeyAvKiAxICovIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS4gMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LiAqL1xuYnV0dG9uLCBzZWxlY3QgeyAvKiAxICovIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLiAqL1xuYnV0dG9uLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJzdWJtaXRcIl0geyAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG4vKiogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHsgYm9yZGVyLXN0eWxlOiBub25lOyBwYWRkaW5nOiAwOyB9XG5cbi8qKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLCBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7IG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKiogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LiAqL1xuZmllbGRzZXQgeyBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07IH1cblxuLyoqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS4gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dCBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy4gKi9cbmxlZ2VuZCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi8gY29sb3I6IGluaGVyaXQ7IC8qIDIgKi8gZGlzcGxheTogdGFibGU7IC8qIDEgKi8gbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovIHBhZGRpbmc6IDA7IC8qIDMgKi8gd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqLyB9XG5cbi8qKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLiAqL1xucHJvZ3Jlc3MgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLyoqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLiAqL1xudGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKiogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovIHBhZGRpbmc6IDA7IC8qIDIgKi8gfVxuXG4vKiogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS4gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7IC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovIH1cblxuLyoqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi8gZm9udDogaW5oZXJpdDsgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LiAqL1xuZGV0YWlscyB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy4gKi9cbnN1bW1hcnkgeyBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogTWlzYyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy4gKi9cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuICovXG5baGlkZGVuXSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuOnJvb3QgeyAtLWNvbG9yLXByaW1hcnk6ICM1ZjdiYTM7IC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzVmN2JhMywgIzVmNzBhMyk7IC0tY29sb3ItcHJpbWFyeS1saWdodDogIzdmOTZiNjsgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXI6ICNiMGJlZDI7IC0tY29sb3ItcHJpbWFyeS1kYXJrOiAjNGM2MzgzOyAtLWNvbG9yLXByaW1hcnktZGFya2VyOiAjMzAzZTUzOyAtLWNvbG9yLXByaW1hcnktdHJhbnNwYXJlbnQ6IHJnYmEoOTUsIDEyMywgMTYzLCAwLjIpOyAtLWNvbG9yLXByaW1hcnktdHJhbnNwYXJlbnQtNTA6IHJnYmEoOTUsIDEyMywgMTYzLCAwLjUpOyAtLWNvbG9yLXN1Y2Nlc3M6ICM3NmM3NTM7IC0tY29sb3Itc3VjY2Vzcy1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzc2Yzc1MywgIzYzYzc1Myk7IC0tY29sb3Itc3VjY2Vzcy1saWdodDogIzk1ZDQ3OTsgLS1jb2xvci1zdWNjZXNzLWxpZ2h0ZXI6ICNjM2U2YjM7IC0tY29sb3Itc3VjY2Vzcy1kYXJrOiAjNWNhZTM5OyAtLWNvbG9yLXN1Y2Nlc3MtZGFya2VyOiAjM2U3NTI2OyAtLWNvbG9yLXN1Y2Nlc3MtdHJhbnNwYXJlbnQ6IHJnYmEoMTE4LCAxOTksIDgzLCAwLjIpOyAtLWNvbG9yLXN1Y2Nlc3MtdHJhbnNwYXJlbnQtNTA6IHJnYmEoMTE4LCAxOTksIDgzLCAwLjUpOyAtLWNvbG9yLWluZm86ICMxNDY5Yzg7IC0tY29sb3ItaW5mby1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzE0NjljOCwgIzE0NGJjOCk7IC0tY29sb3ItaW5mby1saWdodDogIzI2ODJlOTsgLS1jb2xvci1pbmZvLWxpZ2h0ZXI6ICM2YmFhZjA7IC0tY29sb3ItaW5mby1kYXJrOiAjMGY1MTlhOyAtLWNvbG9yLWluZm8tZGFya2VyOiAjMDgyYzU0OyAtLWNvbG9yLWluZm8tdHJhbnNwYXJlbnQ6IHJnYmEoMjAsIDEwNSwgMjAwLCAwLjIpOyAtLWNvbG9yLWluZm8tdHJhbnNwYXJlbnQtNTA6IHJnYmEoMjAsIDEwNSwgMjAwLCAwLjUpOyAtLWNvbG9yLXdhcm5pbmc6ICNmMGFkNGU7IC0tY29sb3Itd2FybmluZy1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2YwYWQ0ZSwgI2YwYzg0ZSk7IC0tY29sb3Itd2FybmluZy1saWdodDogI2Y0YzM3ZDsgLS1jb2xvci13YXJuaW5nLWxpZ2h0ZXI6ICNmYWUzYzQ7IC0tY29sb3Itd2FybmluZy1kYXJrOiAjZWM5NzFmOyAtLWNvbG9yLXdhcm5pbmctZGFya2VyOiAjYjA2ZDBmOyAtLWNvbG9yLXdhcm5pbmctdHJhbnNwYXJlbnQ6IHJnYmEoMjQwLCAxNzMsIDc4LCAwLjIpOyAtLWNvbG9yLXdhcm5pbmctdHJhbnNwYXJlbnQtNTA6IHJnYmEoMjQwLCAxNzMsIDc4LCAwLjUpOyAtLWNvbG9yLWRhbmdlcjogI2Q5NTM0ZjsgLS1jb2xvci1kYW5nZXItZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkOTUzNGYsICNkOTZhNGYpOyAtLWNvbG9yLWRhbmdlci1saWdodDogI2UyN2M3OTsgLS1jb2xvci1kYW5nZXItbGlnaHRlcjogI2YwYjliODsgLS1jb2xvci1kYW5nZXItZGFyazogI2M5MzAyYzsgLS1jb2xvci1kYW5nZXItZGFya2VyOiAjOGIyMTFlOyAtLWNvbG9yLWRhbmdlci10cmFuc3BhcmVudDogcmdiYSgyMTcsIDgzLCA3OSwgMC4yKTsgLS1jb2xvci1kYW5nZXItdHJhbnNwYXJlbnQtNTA6IHJnYmEoMjE3LCA4MywgNzksIDAuNSk7IC0tY29sb3Itc2Vjb25kYXJ5OiAjOTFhNGNmOyAtLWNvbG9yLXNlY29uZGFyeS1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzkxYTRjZiwgIzkxOWFjZik7IC0tY29sb3Itc2Vjb25kYXJ5LWxpZ2h0OiAjYjVjMWRlOyAtLWNvbG9yLXNlY29uZGFyeS1saWdodGVyOiAjZWFlZGY2OyAtLWNvbG9yLXNlY29uZGFyeS1kYXJrOiAjNmQ4N2MwOyAtLWNvbG9yLXNlY29uZGFyeS1kYXJrZXI6ICM0NDVmOWM7IC0tY29sb3Itc2Vjb25kYXJ5LXRyYW5zcGFyZW50OiByZ2JhKDE0NSwgMTY0LCAyMDcsIDAuMik7IC0tY29sb3Itc2Vjb25kYXJ5LXRyYW5zcGFyZW50LTUwOiByZ2JhKDE0NSwgMTY0LCAyMDcsIDAuNSk7IC0tY29sb3ItYmFja2dyb3VuZDogI2U2ZWNmYzsgLS1jb2xvci1iYWNrZ3JvdW5kLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZTZlY2ZjLCAjZTZlOGZjKTsgLS1jb2xvci1iYWNrZ3JvdW5kLWxpZ2h0OiB3aGl0ZTsgLS1jb2xvci1iYWNrZ3JvdW5kLWxpZ2h0ZXI6IHdoaXRlOyAtLWNvbG9yLWJhY2tncm91bmQtZGFyazogI2I4YzlmNzsgLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmtlcjogIzc0OTVlZTsgLS1jb2xvci1iYWNrZ3JvdW5kLXRyYW5zcGFyZW50OiByZ2JhKDIzMCwgMjM2LCAyNTIsIDAuMik7IC0tY29sb3ItYmFja2dyb3VuZC10cmFuc3BhcmVudC01MDogcmdiYSgyMzAsIDIzNiwgMjUyLCAwLjUpOyAtLWNvbG9yLXRleHQ6ICM0MjQ1NDA7IC0tY29sb3ItdGV4dC1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzQyNDU0MCwgIzQxNDU0MCk7IC0tY29sb3ItdGV4dC1saWdodDogIzViNWY1OTsgLS1jb2xvci10ZXh0LWxpZ2h0ZXI6ICM4MTg3N2U7IC0tY29sb3ItdGV4dC1kYXJrOiAjMjkyYjI3OyAtLWNvbG9yLXRleHQtZGFya2VyOiAjMDMwMzAzOyAtLWNvbG9yLXRleHQtdHJhbnNwYXJlbnQ6IHJnYmEoNjYsIDY5LCA2NCwgMC4yKTsgLS1jb2xvci10ZXh0LXRyYW5zcGFyZW50LTUwOiByZ2JhKDY2LCA2OSwgNjQsIDAuNSk7IC0tY29sb3ItcGFuZWwtYmFja2dyb3VuZDogI2Y1ZmNmZjsgLS1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjVmY2ZmLCAjZjVmYWZmKTsgLS1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kLWxpZ2h0OiB3aGl0ZTsgLS1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kLWxpZ2h0ZXI6IHdoaXRlOyAtLWNvbG9yLXBhbmVsLWJhY2tncm91bmQtZGFyazogI2MyZWRmZjsgLS1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kLWRhcmtlcjogIzc2ZDZmZjsgLS1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kLXRyYW5zcGFyZW50OiByZ2JhKDI0NSwgMjUyLCAyNTUsIDAuMik7IC0tY29sb3ItcGFuZWwtYmFja2dyb3VuZC10cmFuc3BhcmVudC01MDogcmdiYSgyNDUsIDI1MiwgMjU1LCAwLjUpOyAtLWNvbG9yLXNvZnQtZ3JleTogIzllOWQ5ZTsgLS1jb2xvci1zb2Z0LWdyZXktZ3JhZGllbnQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM5ZTlkOWUsICM5ZTlkOWUpOyAtLWNvbG9yLXNvZnQtZ3JleS1saWdodDogI2I3YjdiNzsgLS1jb2xvci1zb2Z0LWdyZXktbGlnaHRlcjogI2RkZGRkZDsgLS1jb2xvci1zb2Z0LWdyZXktZGFyazogIzg1ODM4NTsgLS1jb2xvci1zb2Z0LWdyZXktZGFya2VyOiAjNWU1ZDVlOyAtLWNvbG9yLXNvZnQtZ3JleS10cmFuc3BhcmVudDogcmdiYSgxNTgsIDE1NywgMTU4LCAwLjIpOyAtLWNvbG9yLXNvZnQtZ3JleS10cmFuc3BhcmVudC01MDogcmdiYSgxNTgsIDE1NywgMTU4LCAwLjUpOyAtLWNvbG9yLXdoaXRlOiAjZWVlZWVlOyAtLWNvbG9yLXdoaXRlLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZWVlZWVlLCAjZWVlZWVlKTsgLS1jb2xvci13aGl0ZS1saWdodDogd2hpdGU7IC0tY29sb3Itd2hpdGUtbGlnaHRlcjogd2hpdGU7IC0tY29sb3Itd2hpdGUtZGFyazogI2Q1ZDVkNTsgLS1jb2xvci13aGl0ZS1kYXJrZXI6ICNhZWFlYWU7IC0tY29sb3Itd2hpdGUtdHJhbnNwYXJlbnQ6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC4yKTsgLS1jb2xvci13aGl0ZS10cmFuc3BhcmVudC01MDogcmdiYSgyMzgsIDIzOCwgMjM4LCAwLjUpOyAtLWZvbnQtYmFzZTogJ1VidW50dScsIHNhbnMtc2VyaWY7IH1cblxuLmFsZXJ0LWJveCB7IHBhZGRpbmc6IDIwcHg7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyBtYXJnaW46IDVweCAwOyB9XG5cbi5hbGVydC1ib3gucHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5hbGVydC1ib3guc3VjY2VzcyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyB9XG5cbi5hbGVydC1ib3guaW5mbyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWluZm8pOyB9XG5cbi5hbGVydC1ib3gud2FybmluZyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyB9XG5cbi5hbGVydC1ib3guZGFuZ2VyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTsgfVxuXG4uYWxlcnQtYm94LmRhbmdlciwgLmFsZXJ0LWJveC5zdWNjZXNzIHsgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTsgfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQgeyAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0aW9uLmZhZGUtb3V0IHsgYW5pbWF0aW9uLWRlbGF5OiAzczsgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLnQtYmFkZ2UgeyBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUtbGlnaHQpOyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zb2Z0LWdyZXktZGFyayk7IGJvcmRlci1yYWRpdXM6IDRweDsgZm9udC13ZWlnaHQ6IGJvbGQ7IHBhZGRpbmc6IDRweDsgbWFyZ2luOiA0cHg7IH1cblxuLnQtYmFkZ2UuY291bnRlciB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgdG9wOiAtMTBweDsgcmlnaHQ6IDEycHg7IGZvbnQtc2l6ZTogOXB4OyBwYWRkaW5nOiAycHggNXB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7IH1cblxuLnQtYmFkZ2UucHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7IH1cblxuLnQtYmFkZ2Uuc21hbGwgeyBmb250LXNpemU6IDEycHg7IH1cblxuYnV0dG9uLCBhLmJ0bi1saW5rLCAuYnRuIHsgYm9yZGVyOiBub25lOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY3Vyc29yOiBwb2ludGVyOyBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cblxuYnV0dG9uLnNtYWxsLCAuYnRuLnNtYWxsIHsgcGFkZGluZzogNXB4IDEwcHg7IH1cblxuYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSwgLmJ0bjphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTsgfVxuXG5idXR0b24uYnRuLWxpbmssIC5idG4uYnRuLWxpbmsgeyBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG5idXR0b24uYnRuLWxpbms6aG92ZXI6bm90KDpkaXNhYmxlZCksIGJ1dHRvbi5idG4tbGluazpmb2N1czpub3QoOmRpc2FibGVkKSwgLmJ0bi5idG4tbGluazpob3Zlcjpub3QoOmRpc2FibGVkKSwgLmJ0bi5idG4tbGluazpmb2N1czpub3QoOmRpc2FibGVkKSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBvdXRsaW5lOiBub25lOyB9XG5cbi5idG4tY29udGFpbmVyLXJpZ2h0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYnRuLWNvbnRhaW5lciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYnRucy10aWdodCBidXR0b24sIC5idG5zLXRpZ2h0IC5idG4tbGluaywgLmJ0bnMtdGlnaHQgLmJ0biB7IHBhZGRpbmc6IDEwcHg7IH1cblxuYnV0dG9uLnByaW1hcnksIC5idG4ucHJpbWFyeSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUtbGlnaHQpOyBib3gtc2hhZG93OiAycHggMnB4IDhweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG5idXR0b24ucHJpbWFyeTphY3RpdmU6bm90KDpkaXNhYmxlZCksIC5idG4ucHJpbWFyeTphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyBib3gtc2hhZG93OiAwIDAgOHB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbmJ1dHRvbi5wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpLCBidXR0b24ucHJpbWFyeTpmb2N1czpub3QoOmRpc2FibGVkKSwgLmJ0bi5wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpLCAuYnRuLnByaW1hcnk6Zm9jdXM6bm90KDpkaXNhYmxlZCkgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b24ucHJpbWFyeS5idG4tbGluaywgLmJ0bi5wcmltYXJ5LmJ0bi1saW5rIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5idXR0b24ucHJpbWFyeS5idG4tbGluazphY3RpdmUsIC5idG4ucHJpbWFyeS5idG4tbGluazphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LXRyYW5zcGFyZW50KTsgfVxuXG5idXR0b24ucHJpbWFyeS5idG4tbGluazpob3ZlciwgYnV0dG9uLnByaW1hcnkuYnRuLWxpbms6Zm9jdXMsIC5idG4ucHJpbWFyeS5idG4tbGluazpob3ZlciwgLmJ0bi5wcmltYXJ5LmJ0bi1saW5rOmZvY3VzIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uLnByaW1hcnk6ZGlzYWJsZWQsIC5idG4ucHJpbWFyeTpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmJ1dHRvbi5kYW5nZXIsIC5idG4uZGFuZ2VyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyKTsgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLWxpZ2h0KTsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuYnV0dG9uLmRhbmdlcjphY3RpdmU6bm90KDpkaXNhYmxlZCksIC5idG4uZGFuZ2VyOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IGJveC1zaGFkb3c6IDAgMCA4cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSwgYnV0dG9uLmRhbmdlcjpmb2N1czpub3QoOmRpc2FibGVkKSwgLmJ0bi5kYW5nZXI6aG92ZXI6bm90KDpkaXNhYmxlZCksIC5idG4uZGFuZ2VyOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uLmRhbmdlci5idG4tbGluaywgLmJ0bi5kYW5nZXIuYnRuLWxpbmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYnV0dG9uLmRhbmdlci5idG4tbGluazphY3RpdmUsIC5idG4uZGFuZ2VyLmJ0bi1saW5rOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlci10cmFuc3BhcmVudCk7IH1cblxuYnV0dG9uLmRhbmdlci5idG4tbGluazpob3ZlciwgYnV0dG9uLmRhbmdlci5idG4tbGluazpmb2N1cywgLmJ0bi5kYW5nZXIuYnRuLWxpbms6aG92ZXIsIC5idG4uZGFuZ2VyLmJ0bi1saW5rOmZvY3VzIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhbmdlcik7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b24uZGFuZ2VyOmRpc2FibGVkLCAuYnRuLmRhbmdlcjpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlci1saWdodCk7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuYnV0dG9uLndhcm5pbmcsIC5idG4ud2FybmluZyB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmcpOyBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUtbGlnaHQpOyBib3gtc2hhZG93OiAycHggMnB4IDhweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG5idXR0b24ud2FybmluZzphY3RpdmU6bm90KDpkaXNhYmxlZCksIC5idG4ud2FybmluZzphY3RpdmU6bm90KDpkaXNhYmxlZCkgeyBib3gtc2hhZG93OiAwIDAgOHB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbmJ1dHRvbi53YXJuaW5nOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLCBidXR0b24ud2FybmluZzpmb2N1czpub3QoOmRpc2FibGVkKSwgLmJ0bi53YXJuaW5nOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLCAuYnRuLndhcm5pbmc6Zm9jdXM6bm90KDpkaXNhYmxlZCkgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b24ud2FybmluZy5idG4tbGluaywgLmJ0bi53YXJuaW5nLmJ0bi1saW5rIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IGNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nKTsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5idXR0b24ud2FybmluZy5idG4tbGluazphY3RpdmUsIC5idG4ud2FybmluZy5idG4tbGluazphY3RpdmUgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13YXJuaW5nLXRyYW5zcGFyZW50KTsgfVxuXG5idXR0b24ud2FybmluZy5idG4tbGluazpob3ZlciwgYnV0dG9uLndhcm5pbmcuYnRuLWxpbms6Zm9jdXMsIC5idG4ud2FybmluZy5idG4tbGluazpob3ZlciwgLmJ0bi53YXJuaW5nLmJ0bi1saW5rOmZvY3VzIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXdhcm5pbmcpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQsIC5idG4ud2FybmluZzpkaXNhYmxlZCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdhcm5pbmctbGlnaHQpOyBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmJ1dHRvbi5pbmZvLCAuYnRuLmluZm8geyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvKTsgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLWxpZ2h0KTsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuYnV0dG9uLmluZm86YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLCAuYnRuLmluZm86YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHsgYm94LXNoYWRvdzogMCAwIDhweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG5idXR0b24uaW5mbzpob3Zlcjpub3QoOmRpc2FibGVkKSwgYnV0dG9uLmluZm86Zm9jdXM6bm90KDpkaXNhYmxlZCksIC5idG4uaW5mbzpob3Zlcjpub3QoOmRpc2FibGVkKSwgLmJ0bi5pbmZvOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IG91dGxpbmU6IG5vbmU7IH1cblxuYnV0dG9uLmluZm8uYnRuLWxpbmssIC5idG4uaW5mby5idG4tbGluayB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBjb2xvcjogdmFyKC0tY29sb3ItaW5mbyk7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYnV0dG9uLmluZm8uYnRuLWxpbms6YWN0aXZlLCAuYnRuLmluZm8uYnRuLWxpbms6YWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItaW5mby10cmFuc3BhcmVudCk7IH1cblxuYnV0dG9uLmluZm8uYnRuLWxpbms6aG92ZXIsIGJ1dHRvbi5pbmZvLmJ0bi1saW5rOmZvY3VzLCAuYnRuLmluZm8uYnRuLWxpbms6aG92ZXIsIC5idG4uaW5mby5idG4tbGluazpmb2N1cyB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pbmZvKTsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBvdXRsaW5lOiBub25lOyB9XG5cbmJ1dHRvbi5pbmZvOmRpc2FibGVkLCAuYnRuLmluZm86ZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1pbmZvLWxpZ2h0KTsgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5idXR0b24uc3VjY2VzcywgLmJ0bi5zdWNjZXNzIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcyk7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS1saWdodCk7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbmJ1dHRvbi5zdWNjZXNzOmFjdGl2ZTpub3QoOmRpc2FibGVkKSwgLmJ0bi5zdWNjZXNzOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IGJveC1zaGFkb3c6IDAgMCA4cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuYnV0dG9uLnN1Y2Nlc3M6aG92ZXI6bm90KDpkaXNhYmxlZCksIGJ1dHRvbi5zdWNjZXNzOmZvY3VzOm5vdCg6ZGlzYWJsZWQpLCAuYnRuLnN1Y2Nlc3M6aG92ZXI6bm90KDpkaXNhYmxlZCksIC5idG4uc3VjY2Vzczpmb2N1czpub3QoOmRpc2FibGVkKSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBvdXRsaW5lOiBub25lOyB9XG5cbmJ1dHRvbi5zdWNjZXNzLmJ0bi1saW5rLCAuYnRuLnN1Y2Nlc3MuYnRuLWxpbmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MpOyBib3gtc2hhZG93OiBub25lOyB9XG5cbmJ1dHRvbi5zdWNjZXNzLmJ0bi1saW5rOmFjdGl2ZSwgLmJ0bi5zdWNjZXNzLmJ0bi1saW5rOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtdHJhbnNwYXJlbnQpOyB9XG5cbmJ1dHRvbi5zdWNjZXNzLmJ0bi1saW5rOmhvdmVyLCBidXR0b24uc3VjY2Vzcy5idG4tbGluazpmb2N1cywgLmJ0bi5zdWNjZXNzLmJ0bi1saW5rOmhvdmVyLCAuYnRuLnN1Y2Nlc3MuYnRuLWxpbms6Zm9jdXMgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itc3VjY2Vzcyk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgb3V0bGluZTogbm9uZTsgfVxuXG5idXR0b24uc3VjY2VzczpkaXNhYmxlZCwgLmJ0bi5zdWNjZXNzOmRpc2FibGVkIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VjY2Vzcy1saWdodCk7IGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmNoZWNrYm94IHsgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiByZWxhdGl2ZTsgcGFkZGluZy1sZWZ0OiAzNXB4OyBtYXJnaW4tYm90dG9tOiAxMnB4OyBjdXJzb3I6IHBvaW50ZXI7IC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5jaGVja2JveCBpbnB1dCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgb3BhY2l0eTogMDsgY3Vyc29yOiBwb2ludGVyOyBoZWlnaHQ6IDA7IHdpZHRoOiAwOyB9XG5cbi5jaGVja2JveCBzcGFuIHsgcGFkZGluZzogMDsgfVxuXG4uY2hlY2tib3ggLmNoZWNrbWFyayB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBoZWlnaHQ6IDI1cHg7IHdpZHRoOiAyNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IHBhZGRpbmc6IDA7IH1cblxuLmNoZWNrYm94IC5jaGVja21hcms6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGRpc3BsYXk6IG5vbmU7IGxlZnQ6IDlweDsgdG9wOiA1cHg7IHdpZHRoOiA1cHg7IGhlaWdodDogMTBweDsgYm9yZGVyOiBzb2xpZCB3aGl0ZTsgYm9yZGVyLXdpZHRoOiAwIDNweCAzcHggMDsgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uY2hlY2tib3ggLmNoZWNrYm94LWxhYmVsIHsgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cblxuLmNoZWNrYm94OmhvdmVyIGlucHV0Om5vdCg6ZGlzYWJsZWQpIH4gLmNoZWNrbWFyayB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLWRhcmspOyB9XG5cbi5jaGVja2JveCBpbnB1dDpub3QoOmRpc2FibGVkKTpjaGVja2VkIH4gLmNoZWNrbWFyayB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyB9XG5cbi5jaGVja2JveCBpbnB1dDpkaXNhYmxlZCB+IC5jaGVja21hcmsgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS1kYXJrZXIpOyB9XG5cbi5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyazphZnRlciB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kcm9wZG93biB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5kcm9wZG93biAuZHJvcGJ0biB7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMTBweDsgfVxuXG4uZHJvcGRvd24gLmRyb3Bkb3duLWNvbnRlbnQgeyBkaXNwbGF5OiBub25lOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyBtaW4td2lkdGg6IDI0MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyB6LWluZGV4OiAxOyB9XG5cbi5kcm9wZG93biAuZHJvcGRvd24tY29udGVudCBhLmRyb3Bkb3duLWl0ZW0sIC5kcm9wZG93biAuZHJvcGRvd24tY29udGVudCBhLmRyb3Bkb3duLWl0ZW06dmlzaXRlZCB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiA4cHggMTZweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7IH1cblxuLmRyb3Bkb3duIC5kcm9wZG93bi1jb250ZW50IGEuZHJvcGRvd24taXRlbTpob3ZlciB7IGRpc3BsYXk6IGJsb2NrOyBwYWRkaW5nOiA4cHggMTZweDsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpOyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmspOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmRyb3Bkb3duIC5kcm9wZG93bi1jb250ZW50IC5zZXBhcmF0b3IgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGhlaWdodDogMXB4OyB3aWR0aDogMTAwJTsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfVxuXG4uZHJvcGRvd246aG92ZXIgLmRyb3Bkb3duLWNvbnRlbnQgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF2YmFyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS1saWdodCk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspOyBsaW5lLWhlaWdodDogMjBweDsgei1pbmRleDogMTA7IH1cblxuLm5hdmJhciAuY29udGFpbmVyIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4ubmF2YmFyIC5uYXYtaXRlbXMgeyBmbGV4LWdyb3c6IDI7IH1cblxuLm5hdmJhciAubmF2LWl0ZW1zLCAubmF2YmFyIC5uYXYtaXRlbXMtcmlnaHQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5uYXZiYXIgLm5hdi1pdGVtcyBhLCAubmF2YmFyIC5uYXYtaXRlbXMgYTp2aXNpdGVkLCAubmF2YmFyIC5uYXYtaXRlbXMgYTpob3ZlciwgLm5hdmJhciAubmF2LWl0ZW1zIGE6YWN0aXZlLCAubmF2YmFyIC5uYXYtaXRlbXMtcmlnaHQgYSwgLm5hdmJhciAubmF2LWl0ZW1zLXJpZ2h0IGE6dmlzaXRlZCwgLm5hdmJhciAubmF2LWl0ZW1zLXJpZ2h0IGE6aG92ZXIsIC5uYXZiYXIgLm5hdi1pdGVtcy1yaWdodCBhOmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS1saWdodCk7IHBhZGRpbmc6IDE1cHg7IH1cblxuLm5hdmJhciBhOmhvdmVyIC5jb3VudGVyIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5uYXZiYXIuZml4ZWQtdG9wIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB9XG5cbi5uYXZiYXIgLm5hdmJhci1oZWFkZXIgeyBmb250LXNpemU6IDE4cHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDE1cHggMDsgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7IC5uYXZiYXIgLm5hdmJhci1oZWFkZXIgeyBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi53aXRoLWljb25zIHsgcGFkZGluZy1sZWZ0OiA1cHg7IHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG4uc3VibmF2IHsgei1pbmRleDogOTsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZGFyayk7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLWRhcmtlcik7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyBsaW5lLWhlaWdodDogMjBweDsgZm9udC1zaXplOiAxOHB4OyBwYWRkaW5nOiAxNXB4OyB9XG5cbi5zdWJuYXYuZml4ZWQtdG9wIHsgbWFyZ2luLXRvcDogNTBweDsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyB9XG5cbi53aXRoLW5hdmJhciB7IG1hcmdpbi10b3A6IDYwcHg7IH1cblxuLndpdGgtc3VibmF2YmFyIHsgbWFyZ2luLXRvcDogMTEwcHg7IH1cblxuLnBhZ2luYXRpb24geyBtYXJnaW46IGF1dG8gMDsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgZmxleC13cmFwOiB3cmFwOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGFnaW5hdGlvbiBidXR0b24geyBtYXJnaW46IDA7IHBhZGRpbmc6IDEwcHg7IH1cblxuLnBhZ2luYXRpb24gYnV0dG9uLmFjdGl2ZSB7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTsgfVxuXG4ucGFnaW5hdGlvbiBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksIC5wYWdpbmF0aW9uIGJ1dHRvbjpmb2N1czpub3QoOmRpc2FibGVkKSwgLnBhZ2luYXRpb24gYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7IC50LWNvbnRhaW5lciwgLmNvbnRhaW5lciB7IHBhZGRpbmc6IDAgMTVweDsgfSB9XG5cbi50LXBhbmVsIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUtbGlnaHQpOyBib3gtc2hhZG93OiAycHggMnB4IDhweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4udC1wYW5lbCAuaGVhZGVyIHsgcGFkZGluZzogNXB4IDIwcHg7IGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpOyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogcm93OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLnQtcGFuZWwgLmhlYWRlciA+ICo6bm90KDpsYXN0LWNoaWxkKSwgLnQtcGFuZWwgLmhlYWRlciBoNCA+ICo6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1yaWdodDogNXB4OyB9XG5cbi50LXBhbmVsIC5oZWFkZXIucHJpbWFyeSB7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTsgfVxuXG4udC1wYW5lbCAuaGVhZGVyLWFjdGlvbiB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4udC1wYW5lbCAuaGVhZGVyLWFjdGlvbiAuYnRuLWxpbms6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLnQtcGFuZWwgLmJvZHkgeyBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cblxuLnQtcGFuZWwgLmJvZHk6bGFzdC1jaGlsZCB7IHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbi50LXBhbmVsIC5ib2R5LmJvdHRvbS1zZXBhcmF0b3IgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpOyB9XG5cbi50LXBhbmVsIC5mb290ZXIgeyBwYWRkaW5nOiA1cHggMjBweDsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTsgfVxuXG4udC1wYW5lbCAuaW5uZXItcGFuZWwgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpOyB9XG5cbi50LXBhbmVsIC5pbm5lci1wYW5lbCA+ICogeyBwYWRkaW5nOiA1cHg7IH1cblxuLnQtcGFuZWwgLmlubmVyLXBhbmVsID4gKiBpbnB1dFt0eXBlPVwiZGF0ZVwiXSB7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmZpdC1zY3JlZW4geyBtYXgtaGVpZ2h0OiA2MjBweDsgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uZml0LXNjcmVlbiB0YWJsZSB0aGVhZCB7IHBvc2l0aW9uOiBzdGlja3k7IHRvcDogMDsgfVxuXG4uZml0LXNjcmVlbi5zbWFsbCB7IG1heC1oZWlnaHQ6IDQyMHB4OyB9XG5cbi5maXQtc2NyZWVuLXNtIHsgbWF4LWhlaWdodDogNDIwcHg7IG92ZXJmbG93LXk6IGF1dG87IH1cblxuLmZpZWxkLWRhdGEgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzZnI7IGp1c3RpZnktY29udGVudDogbGVmdDsgY29sdW1uLWdhcDogMTBweDsgcm93LWdhcDogMTBweDsgfVxuXG4uZmllbGQtZGF0YSBsYWJlbCB7IGFsaWduLXNlbGY6IHRvcDsgfVxuXG4uZmllbGQtZGF0YSAuZmllbGQtY29sdW1uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmllbGQtZGF0YSAucm93IHsgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7IGdyaWQtY29sdW1uLWVuZDogMzsgfVxuXG4uZm9ybS1kYXRhIHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgM2ZyOyBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7IGNvbHVtbi1nYXA6IDEwcHg7IHJvdy1nYXA6IDEwcHg7IH1cblxuLmZvcm0tZGF0YSBsYWJlbCwgLmZvcm0tZGF0YSBzcGFuIHsgcGFkZGluZzogMTBweCAwOyB9XG5cbi5mb3JtLWRhdGEgLmlucHV0LWNvbHVtbiB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZvcm0tZGF0YSAuaW5wdXQtY29sdW1uID4gKjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5mb3JtLWRhdGEgLmNvbCB7IGdyaWQtY29sdW1uOiAxIC8gMzsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZm9ybS1kYXRhIC5mb3JtLXJvdyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uZm9ybS1kYXRhIC5mb3JtLXJvdyA+IC5ncm93IHsgZmxleC1ncm93OiAzOyB9XG5cbi5mb3JtLWRhdGEgLmZvcm0tcm93IC5maWxsIHsgd2lkdGg6IDEwMCU7IH1cblxuaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS1saWdodCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTsgcGFkZGluZzogMTBweDsgfVxuXG50ZXh0YXJlYSB7IHJlc2l6ZTogdmVydGljYWw7IH1cblxuc2VsZWN0IHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IGFwcGVhcmFuY2U6IG5vbmU7IGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgZmlsbD0nYmxhY2snIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgd2lkdGg9JzI0JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxwYXRoIGQ9J003IDEwbDUgNSA1LTV6Jy8+PHBhdGggZD0nTTAgMGgyNHYyNEgweicgZmlsbD0nbm9uZScvPjwvc3ZnPlwiKTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbi14OiAxMDAlOyBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDVweDsgfVxuXG5pbnB1dDphY3RpdmUsIGlucHV0OmZvY3VzLCBzZWxlY3Q6YWN0aXZlLCBzZWxlY3Q6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuc2VsZWN0W2RhdGEtcGxhY2Vob2xkZXJdIHsgY29sb3I6IHZhcigtLWNvbG9yLXNvZnQtZ3JleSk7IH1cblxuLmNvbnRhY3QtbGF5b3V0IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBjb2x1bW4tZ2FwOiAyMHB4OyByb3ctZ2FwOiAxNXB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5jb250YWN0LWxheW91dCAucm93IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsgZ3JpZC1jb2x1bW46IDEgLyAzOyB9XG5cbi5jb250YWN0LWxheW91dCAuY29sdW1uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uY29udGFjdC1sYXlvdXQgLmNvbHVtbiA+ICo6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLnQtY29udGFpbmVyLCAuY29udGFpbmVyIHsgbWF4LXdpZHRoOiAxMTcwcHg7IG1hcmdpbi1sZWZ0OiBhdXRvOyBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNlbnRlci1wYW5lbCB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmNvbnRhY3QtbGlzdC1sYXlvdXQsIC5mYW1pbHktbGlzdC1sYXlvdXQgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzZnI7IGNvbHVtbi1nYXA6IDIwcHg7IHJvdy1nYXA6IDE1cHg7IH1cblxuLmNvbnRhY3QtbGlzdC1sYXlvdXQgLmNvbnRhY3QtbGlzdCwgLmNvbnRhY3QtbGlzdC1sYXlvdXQgLmZhbWlseS1saXN0LCAuZmFtaWx5LWxpc3QtbGF5b3V0IC5jb250YWN0LWxpc3QsIC5mYW1pbHktbGlzdC1sYXlvdXQgLmZhbWlseS1saXN0IHsgd2lkdGg6IDEwMCU7IH1cblxuLmNvbnRhY3QtbGlzdC1sYXlvdXQgLmNvbnRhY3QtbGlzdCB0cjpob3ZlciwgLmNvbnRhY3QtbGlzdC1sYXlvdXQgLmZhbWlseS1saXN0IHRyOmhvdmVyLCAuZmFtaWx5LWxpc3QtbGF5b3V0IC5jb250YWN0LWxpc3QgdHI6aG92ZXIsIC5mYW1pbHktbGlzdC1sYXlvdXQgLmZhbWlseS1saXN0IHRyOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpOyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnBhbmVsLWNvbHVtbiB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBjb2x1bW4tZ2FwOiAyMHB4OyByb3ctZ2FwOiAxNXB4OyB9XG5cbi5maWx0ZXItaW5wdXQgeyBkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5maWx0ZXItaW5wdXQ6bm90KDpsYXN0LWNoaWxkKSB7IG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnN1Yi1sYWJlbCB7IGZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHQpOyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wcm9maWxlLWxheW91dCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyByb3ctZ2FwOiAxNXB4OyB9XG5cbi5mYW1pbHktbGF5b3V0IHsgZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBjb2x1bW4tZ2FwOiAyMHB4OyByb3ctZ2FwOiAxNXB4OyBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5mYW1pbHktbGF5b3V0IC5maWVsZC1yb3cgeyBtYXJnaW46IDVweCAwOyB9XG5cbi5mYW1pbHktbGF5b3V0IGRpdi5maWVsZC1yb3cgeyBkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH1cblxuLmZhbWlseS1sYXlvdXQgLnJvdyB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGdyaWQtY29sdW1uOiAxIC8gMzsgfVxuXG4uZmFtaWx5LWxheW91dCAuY29sdW1uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZmFtaWx5LWxheW91dCAuY29sdW1uID4gKjpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4ubm90ZS1jYXJkIHNlY3Rpb24sIC5ub3RlLWNhcmQgaGVhZGVyLCAubm90ZS1jYXJkIGZvb3RlciB7IHBhZGRpbmc6IDVweDsgfVxuXG4ubm90ZS1jYXJkIGhlYWRlciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ubm90ZS1jYXJkIHAgeyBtYXJnaW46IDRweCAwOyB9XG5cbi5ub3RlLWNhcmQgLnRpdGxlIHsgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5ub3RlLWNhcmQgLmxpZ2h0LXRleHQgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7IH1cblxuLm5vdGUtY2FyZCAucmVtaW5kZXIgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodGVyKTsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IHJvdzsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5ub3RlLWNhcmQgLnJlbWluZGVyIHNwYW4sIC5ub3RlLWNhcmQgLnJlbWluZGVyIGkgeyBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4ubm90ZS1jYXJkOm5vdCg6bGFzdC1vZi10eXBlKSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7IH1cblxuLm5vdGUtZm9ybSB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IHBhZGRpbmc6IDVweDsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTsgfVxuXG4ubm90ZS1mb3JtICogeyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5ub3RlLWZvcm0gbGFiZWwgeyBwYWRkaW5nOiA1cHggMDsgfVxuXG4ubG9naW4tZm9ybSB7IG1heC13aWR0aDogMzQwcHg7IG1hcmdpbjogMjBweCBhdXRvOyB9XG5cbi5ub3RpZmljYXRpb25zLWxheW91dCB7IGRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyByb3ctZ2FwOiAxNXB4OyB9XG5cbi5ub3RpZmljYXRpb25zLWxheW91dCAubm90aWZpY2F0aW9uOm5vdCg6bGFzdC1jaGlsZCkgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpOyB9XG5cbi5ub3RpZmljYXRpb25zLWxheW91dCAubm90aWZpY2F0aW9uIGZvb3RlciB7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiByb3c7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtbGlnaHRlcik7IH1cblxuLm5vdGlmaWNhdGlvbnMtbGF5b3V0IC5ub3RpZmljYXRpb24gZm9vdGVyIHNwYW4sIC5ub3RpZmljYXRpb25zLWxheW91dCAubm90aWZpY2F0aW9uIGZvb3RlciBpIHsgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cblxuLmNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYnJlYWRjcnVtYiB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpOyBmb250LXNpemU6IDE2cHg7IHBhZGRpbmc6IDEwcHggNXB4OyB9XG5cbi5icmVhZGNydW1iICogeyBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4uc3Bpbm5lciB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDMwcHg7IGhlaWdodDogMzBweDsgYm9yZGVyOiA0cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyBib3JkZXItcmFkaXVzOiA1MCU7IGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpOyBhbmltYXRpb246IHNwaW4gMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzcGluIHsgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxudGFibGUgeyBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB3aWR0aDogMTAwJTsgfVxuXG50YWJsZSB0aGVhZCB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZS1kYXJrKTsgYm94LXNoYWRvdzogMCAycHggMnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbnRhYmxlIHRoLCB0YWJsZSB0ZCB7IHRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmc6IDEwcHg7IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZml0LXNjcmVlbiB0aGVhZCB0aCwgLmZpdC1zY3JlZW4tc20gdGhlYWQgdGggeyBwb3NpdGlvbjogc3RpY2t5OyB0b3A6IDA7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZS1kYXJrKTsgYm94LXNoYWRvdzogMCAycHggMnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjQpOyBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZS1saWdodCk7IH1cblxuLmZpdC1zY3JlZW4gdGhlYWQsIC5maXQtc2NyZWVuLXNtIHRoZWFkIHsgYm9yZGVyOiBub25lOyBib3gtc2hhZG93OiBub25lOyB9XG5cbi5pY29ucy1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXByaW1hcnkgeyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IH1cblxuLnRleHQtc3VjY2VzcyB7IGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzKTsgfVxuXG4udGV4dC1pbmZvIHsgY29sb3I6IHZhcigtLWNvbG9yLWluZm8pOyB9XG5cbi50ZXh0LXdhcm5pbmcgeyBjb2xvcjogdmFyKC0tY29sb3Itd2FybmluZyk7IH1cblxuLnRleHQtZGFuZ2VyIHsgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7IH1cblxuLnRleHQtbGlnaHQgeyBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1saWdodCk7IH1cblxuLnRleHQtbGlnaHRlciB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWxpZ2h0ZXIpOyB9XG5cbi50ZXh0LWJvbGQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udG9vbHRpcCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi50b29sdGlwIC50b29sdGlwLWNvbnRlbnQgeyB2aXNpYmlsaXR5OiBoaWRkZW47IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtZGFyayk7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTsgdG9wOiAxMDAlOyBsZWZ0OiA1MCU7IHdpZHRoOiAyNDBweDsgbWFyZ2luLWxlZnQ6IC0xMjBweDsgfVxuXG4udG9vbHRpcCAudG9vbHRpcC1jb250ZW50OjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMTAwJTsgbGVmdDogNTAlOyBtYXJnaW4tbGVmdDogLTVweDsgYm9yZGVyLXdpZHRoOiA1cHg7IGJvcmRlci1zdHlsZTogc29saWQ7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY29sb3ItdGV4dC1kYXJrKSB0cmFuc3BhcmVudDsgfVxuXG4udG9vbHRpcCAudG9vbHRpcC1jb250ZW50IC5idG4tbGluayB7IGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7IH1cblxuLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudCBoZWFkZXIgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7IHBhZGRpbmc6IDVweCAxMHB4OyBmb250LXNpemU6IDE0cHg7IH1cblxuLnRvb2x0aXAgLnRvb2x0aXAtY29udGVudCBmb290ZXIgeyBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItdGV4dCk7IHBhZGRpbmc6IDVweCAxMHB4OyB9XG5cbi50b29sdGlwIC50b29sdGlwLWNvbnRlbnQgLmJvZHkgeyBwYWRkaW5nOiA1cHggMTBweDsgZm9udC1zaXplOiAxNHB4OyB9XG5cbi50b29sdGlwOmhvdmVyIC50b29sdGlwLWNvbnRlbnQgeyB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi50eXBlYWhlYWQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnR5cGVhaGVhZCAudHlwZWFoZWFkLWl0ZW1zIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDM4cHg7IGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLWxpZ2h0KTsgYm94LXNoYWRvdzogMnB4IDJweCA4cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuNCk7IHotaW5kZXg6IDE7IHdpZHRoOiAxMDAlOyBtYXgtaGVpZ2h0OiAzMjBweDsgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4udHlwZWFoZWFkIC50eXBlYWhlYWQtaXRlbXMgLnR5cGVhaGVhZC1pdGVtIHsgcGFkZGluZzogMTBweDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi50eXBlYWhlYWQgLnR5cGVhaGVhZC1pdGVtcyAudHlwZWFoZWFkLWl0ZW0udHlwZWFoZWFkLWFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpOyB9XG5cbi50eXBlYWhlYWQgLnR5cGVhaGVhZC1pdGVtcyAudHlwZWFoZWFkLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7IH1cblxuLnR5cGVhaGVhZCAudHlwZWFoZWFkLXJlbW92ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgcmlnaHQ6IDEycHg7IHRvcDogMTJweDsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5hbGlnbi1sZWZ0IHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5kYXNoYm9hcmQudC1wYW5lbCB7IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlLXRyYW5zcGFyZW50LTUwKTsgfVxuXG4uZGFzaGJvYXJkLnQtcGFuZWwgLmhlYWRlciB7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTsgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uZGFuZ2VyLXJvdyB7IGJvcmRlci10b3A6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1kYW5nZXItbGlnaHQpOyBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggdmFyKC0tY29sb3ItZGFuZ2VyLWxpZ2h0KTsgY29sb3I6IHZhcigtLWNvbG9yLWRhbmdlcik7IH1cblxuYm9keSB7IGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNDI4NTc7IGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTsgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcGFuZWwtYmFja2dyb3VuZCk7IH1cblxuYSwgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5hOmhvdmVyLCBhOmZvY3VzLCBhOmFjdGl2ZSB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmg0IHsgZm9udC1zaXplOiAxOHB4OyB9XG5cbmg0LCBoNSwgaDYgeyBtYXJnaW4tdG9wOiAxMHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgeyBmb250LWZhbWlseTogaW5oZXJpdDsgZm9udC13ZWlnaHQ6IDUwMDsgbGluZS1oZWlnaHQ6IDEuMTsgY29sb3I6IGluaGVyaXQ7IH1cblxubGFiZWwgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IG1heC13aWR0aDogMTAwJTsgbWFyZ2luLWJvdHRvbTogNXB4OyBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uY29sdW1uIHsgZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uZnVsbC1zY3JlZW4geyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgcmlnaHQ6IDA7IGhlaWdodDogMTAwdmg7IH1cblxuLnBvaW50ZXIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/