File: D:/HostingSpaces/SBogers10/otium.komma.nl/wwwroot/css/style.css
@charset "UTF-8";
/* 1 - SETTINGS
* Global variables, site-wide settings,
* config switches etc.
*
* The order in which these Sass files
* are loaded is critical!
* So please be careful when editing
=========================================================== */
/* =========================================================
Organize color variables in a Sass Map.
This way, the colors can be iterated, are more organized,
and are more intuitive to reference.
========================================================= */
/**
* A simple function for accessing the colors from our mapping
* To access colors in our palette, we use a very simple custom Sass function
* This function is placed here, (and not in the toolbox)
* so we can use it in our other setting files if we need
USAGE:
.demo {
color: palette(neutral, 900);
}
*/
/* ========================================
Config settings
======================================== */
/* ==========================================================
Defines the typographic baseline.
We define every size in pixels, the underlying system
converts the respective units to the responsive REM value.
========================================================== */
/**
* Our base font-size and line-height
*/
/**
* Here we assign short names for the font families
*/
/* ============================================
Define breakpoints for given formats
============================================ */
/* 2 - TOOLS
* Site wide mixins and functions
=========================================================== */
/* ==========================================================================
Functions used in grid calculation
========================================================================== */
/**
* Return percentage based on amount of columns
* Use parent column size to adjust the origin
*/
/**
* Default function for columns
* Return as percentage
*/
/**
* Return as viewport width
*/
/**
* Fluid type plugin (https://codepen.io/MadeByMike/pen/vNrvdZ)
* Requires the calc-interpolation function which can also be used independently
*
* Usage:
*
* .demo {
* @include interpolate(font-size, 320px, 1366px, 14px, 20px);
* }
*
* Multiple properties with same values:
*
* h1,h2,h3,h4,h5 {
* @include interpolate((padding-top, padding-bottom), 20rem, 70rem, 0rem, .5rem);
* }
*
*/
/* ==========================================================================
* Font related functions
* ========================================================================== */
/**
* Mixin for setting font-size in REM through a Sass Map with all available sizes
USAGE:
.myClass {
@include font-size(xl);
}
*/
/**
* Mixin for setting font-weight through a Sass Map with all available weights
USAGE:
.myClass {
@include font-weight(semiBold);
}
.myClass {
@include font-weight(semi-bold);
}
*/
/* Media query mixin for writing Mobile First
* ========================================== */
/* =============================================
Toolbox functions
================================================ */
/**
* Maths helpers.
* Halve and double numbers, returning rounded integers.
USAGE:
.foo {
padding: halve(30px);
}
*/
/**
* Remove the unit of a length
* @param {Number} $number - Number to remove unit from
* @return {Number} - Unitless number
*/
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/*
* Set vertical spacing for viewport larger than mobile
* In flexible units (vw) and on max viewport in a fixed amount (px)
USAGE:
.example {
@include vspacing(
'padding-top' 0.33,
'margin-bottom' 0.5
);
}
*/
/**
* A simple function for setting a consistent border-radius
USAGE:
.card {
@include border-radius;
}
.card--alt {
@include border-radius(l);
}
*/
/**
* Lobotomized Owl Selector mixin:
* - Set spacing for consecutive items with margin-top on all but the first item
USAGE:
.box {
@include owl-children;
}
.card__item {
@include owl;
}
*/
/*
* Lobotomized owl selector.
* - Gives the children of the element spacing
* - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
*/
/**
* Show hyphens for every browser supporting it
* and will break lines in every other browser
*/
/*
* Restrict an element to a max-width for creating gutters on the side
*/
/*
* Restrict an element to a max-width for creating gutters on the side
*/
/*
* A mixin to set elements to its own named grid-area
*/
/** =================================================================================================
* The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
* This way we have a overview of all the z-index values that are used across the project.
==================================================================================================== */
/**
USAGE:
@include z(z-modal);
*/
/* 3 - ELEMENTS
* Plain old simple HTML elements without a class (type selectors)
=========================================================== */
/* ==========================================================================
* Basic elements (no class selectors allowed)
* ========================================================================== */
/**
* Set up the html
*
* 1. Makes sure that some fonts are better rendered
* 2. Set font to lining figures
*
*/
html {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-feature-settings: "lnum";
box-sizing: border-box;
height: 100%;
}
body {
font-size: 1rem;
line-height: 1.5;
position: relative;
line-height: 1.5;
font-family: "azo-sans-web", sans-serif;
margin: 0;
color: #4a4a4a;
}
/**
* [1] Make sure elements like input and textarea inherit some base properties
* https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
*
* [2] Setting box-sizing the best way per:
* https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
*/
* {
font-family: inherit;
line-height: inherit;
color: inherit;
}
*, *:before, *:after {
box-sizing: inherit;
}
/**
* [1] Turn off text-shadow when selecting text for better readability
*/
::selection {
background: #ead3c2;
color: #140f0a;
text-shadow: none;
/* [1] */
}
/* Remove default margin around figure
*/
figure {
margin: 0;
}
/**
* [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
* elements when they are dropped into a page as-is. Safer alternative to
* using 'display: block;'.
* [2] Remove border / especially on older browsers
*/
img, svg {
vertical-align: middle;
/*[1]*/
border: none;
/*[2]*/
max-width: 100%;
}
/**
* Needed for iOS to prevent input zooming
* https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
*/
input,
select,
textarea {
font-size: 16px;
}
a:not([class]) {
position: relative;
color: #2D5C80;
font-weight: bold;
text-decoration: none;
-webkit-text-decoration-skip: ink;
text-decoration-skip-ink: auto;
}
a:not([class]):hover::after {
height: 2px;
opacity: 1;
transform: translateY(0px);
}
a:not([class]):focus {
outline-color: #13cfce;
}
a:not([class])::after {
position: absolute;
top: 100%;
left: 0;
width: 100%;
height: 1px;
background: #89A4B8;
content: "";
opacity: 0;
transition: height 300ms, opacity 300ms, transform 300ms;
transform: translateY(-5px);
}
h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
margin-top: 0;
margin-bottom: 0;
}
h1 {
font-size: 3.5rem;
line-height: 1;
}
h2 {
font-size: 2.5rem;
line-height: 1.4;
font-weight: normal;
}
h3 {
font-size: 1.5rem;
line-height: 1.3333333333;
font-weight: 500;
}
h4 {
font-size: 1.25rem;
line-height: 1.2;
font-weight: 500;
}
h5, h6 {
font-size: 1rem;
line-height: 1.5;
font-weight: bold;
}
/** =====================================================================================
* Lists
===================================================================================== */
/**
* Default indentation value for lists
*/
ul,
ol {
padding: 0;
margin: 0;
margin-left: 1.125em;
}
dd {
margin-left: 0;
}
/**
* Remove extra vertical spacing when nesting lists.
*/
li > ul,
li > ol {
margin-bottom: 0;
}
/* 4 - Layout elements
* Design patterns (e.g. grids or media object)
=========================================================== */
@media screen and (max-width: 1343px) {
.l-block + .l-block {
margin-top: 6.25vw;
}
}
@media screen and (min-width: 1344px) {
.l-block + .l-block {
margin-top: 96px;
}
}
/*==========================================================================
* Contain
* ========================================================================== */
.l-contain {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
}
@media screen and (min-width: 840px) {
.l-divide {
display: flex;
align-items: center;
}
}
@media screen and (max-width: 839px) {
.l-divide__item + .l-divide__item {
margin-top: 24px;
}
}
@media screen and (min-width: 840px) {
.l-divide__item:nth-child(2) {
margin-left: auto;
}
}
.l-form__body {
margin-top: 40px;
}
.l-form__row + .l-form__row {
margin-top: 24px;
}
.l-form__footer {
margin-top: 40px;
}
.l-form__pot {
opacity: 0;
position: absolute;
top: 0;
left: 0;
height: 0;
width: 0;
z-index: -1;
}
/*
* Wrapper of the main body
* (between the header and the footer)
* [1] Avoid the IE 10-11 `min-height` bug.
*/
.l-page {
display: flex;
flex-direction: column;
height: 100%;
/* [1] */
}
.l-page__header {
position: relative;
}
.l-page__body {
z-index: 40;
position: relative;
flex: 1 0 auto;
overflow-x: hidden;
}
.l-page__footer {
position: relative;
flex-shrink: 0;
padding-bottom: 64px;
transition: padding 600ms ease-in-out;
}
body.is-cookies-accepted .l-page__footer {
padding-bottom: 0;
}
/* 5 - COMPONENTS
* Discrete complete chunks of UI.
* Designed components
=========================================================== */
/** ==========================================================================
* Components
* =========================================================================*/
.c-breadcrumb {
padding-bottom: 4px;
}
.c-breadcrumb__list {
margin: 0;
list-style: none;
display: flex;
flex-wrap: wrap;
}
.c-breadcrumb__item {
display: flex;
align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
margin-left: 8px;
margin-right: 8px;
transform: rotate(0.75turn);
color: #1D1D1D;
}
.c-breadcrumb__link {
color: #656565;
text-decoration: none;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
font-weight: bold;
}
.c-button {
font-size: 1rem;
line-height: 1.5;
font-weight: 400;
position: relative;
overflow: hidden;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 16px 0;
color: #FFFFFF;
background-color: #3b3b3b;
background-image: linear-gradient(-7deg, #000000 50%, transparent 50%);
background-position: 0 0;
background-size: 100% 400%;
transition: background 250ms ease-in-out;
border: none;
text-transform: uppercase;
text-decoration: none;
cursor: pointer;
}
.c-button:focus {
outline: none;
box-shadow: 0 0 4px 2px #13cfce;
}
.c-button:active:not(:disabled) {
outline: none;
box-shadow: none !important;
}
.c-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-button:hover:not(:disabled) {
background-position: 0 100%;
}
.c-button__text {
position: relative;
z-index: 2;
padding: 0 24px;
text-align: center;
}
.c-button--icon .c-button__text {
padding-right: 16px;
}
.c-button__icon {
display: none;
position: relative;
z-index: 2;
top: -1px;
margin-right: 16px;
transition: transform 300ms;
}
.c-button:hover:not(:disabled) .c-button__icon {
transform: translateX(3px);
}
.c-button__icon:first-child {
margin-right: 0;
margin-left: 16px;
}
.c-button--icon .c-button__icon {
display: block;
width: 16px;
}
.c-button--ghost {
padding: calc(10px) 0;
border: 2px solid #1D1D1D;
color: #1D1D1D;
background-color: transparent;
background-image: linear-gradient(-7deg, #cdcdcd 50%, transparent 50%);
transition-property: color, border;
}
.c-button--ghost.c-button--on-dark {
color: #FFFFFF;
border-color: #FFFFFF;
border-width: 1px;
}
.c-button--ghost.c-button--on-dark:hover:not(:disabled) {
color: #152C3D;
}
.c-card {
display: -ms-grid;
display: grid;
-ms-grid-columns: auto;
grid-template-columns: auto;
-ms-grid-rows: (auto)[2];
grid-template-rows: repeat(2, auto);
align-items: center;
height: 100%;
color: #FFFFFF;
text-decoration: none;
cursor: pointer;
}
.c-card__picture {
position: relative;
width: 100%;
grid-row: 1/-1;
-ms-grid-column: 1;
grid-column: 1;
z-index: 0;
overflow: hidden;
}
.c-card__picture::before {
content: "";
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
right: 0;
left: 0;
display: block;
background-color: #152C3D;
opacity: 0.64;
transition: opacity 300ms linear;
}
.c-card:hover .c-card__picture::before {
opacity: 0;
}
.c-card__img {
object-fit: cover;
width: 100%;
height: 100%;
background-color: #efefef;
transition: all 300ms ease-out;
}
.c-card:hover .c-card__img {
transform: scale(1.1);
}
.c-card__title {
font-size: 2rem;
line-height: 1.375;
font-weight: 300;
position: relative;
z-index: 1;
font-family: "mokoko", sans-serif;
padding: 0 16px;
text-align: center;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row-align: end;
align-self: end;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
opacity: 1;
transition: all 300ms ease-out;
transition-delay: 75ms;
}
.c-card:hover .c-card__title {
opacity: 0;
transform: translateY(-16px) scale(1.05);
}
.c-card__subtitle {
font-size: 1rem;
line-height: 1.5;
font-weight: 800;
-ms-grid-row: 2;
grid-row: 2;
-ms-grid-column: 1;
grid-column: 1;
position: relative;
z-index: 1;
padding: 0 16px;
text-align: center;
-ms-grid-row-align: start;
align-self: start;
text-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
transition: all 300ms ease-out;
}
.c-card:hover .c-card__subtitle {
opacity: 0;
transform: translateY(16px) scale(1.1);
}
.c-card__arrow {
-ms-grid-row: 2;
grid-row: 2;
-ms-grid-column: 1;
grid-column: 1;
position: relative;
z-index: 1;
display: flex;
-ms-grid-column-align: center;
justify-self: center;
align-items: center;
width: 40px;
height: 40px;
padding: 10px;
border-radius: 100%;
border: 2px solid currentColor;
transition: all 200ms;
}
.c-card__arrow > svg {
transform: rotate(-0.25turn);
transition: transform 200ms;
}
.c-card:hover .c-card__arrow {
opacity: 0;
transform: scale(0.8);
}
.c-checkbox {
display: flex;
align-items: center;
}
.c-checkbox__input {
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
}
.c-checkbox__text {
font-size: 0.875rem;
line-height: 1.4285714286;
position: relative;
display: inline-block;
padding-left: 24px;
/* 16px width of fake checkbox + gap */
/*Outer box of the fake checkbox*/
/*Checkmark of the fake checkbox*/
/*Hide the checkmark by default*/
/*Unhide on the checked state*/
/*Adding focus styles on the outer-box of the fake checkbox*/
/* Links inside the text */
}
.c-checkbox__text::before, .c-checkbox__text::after {
position: absolute;
content: "";
/*Needed for the line-height to take effect*/
display: inline-block;
}
.c-checkbox__text::before {
height: 16px;
width: 16px;
background-color: #FFFFFF;
border: 2px solid #cdcdcd;
top: 2px;
left: 0;
border-radius: 2px;
transition: all 150ms linear;
}
.c-checkbox__text::after {
height: 5px;
width: 10px;
top: 7px;
left: 3px;
color: #FFFFFF;
border-left: 2px solid;
border-bottom: 2px solid;
transform: rotate(-53deg);
}
.c-checkbox__input + .c-checkbox__text::after {
content: none;
}
.c-checkbox__input:checked + .c-checkbox__text::before {
background-color: #13cfce;
border-color: #13cfce;
}
.c-checkbox__input:checked + .c-checkbox__text::after {
content: "";
}
.c-checkbox__input:focus + .c-checkbox__text::before {
outline: #3b99fc auto 5px;
outline: none;
box-shadow: 0 0 7px -1px rgba(29, 29, 29, 0.8);
border-color: #13cfce;
}
.c-checkbox__text > a {
color: #13cfce;
}
.c-checkbox__text > a:hover {
text-decoration: underline;
}
.c-checkbox__text > a:hover::after {
content: none;
}
.c-checkbox__count {
font-size: 0.75rem;
border-radius: 4px;
display: flex;
align-items: center;
padding: 2px 8px;
color: #cdcdcd;
background-color: rgba(239, 239, 239, 0.7);
border: 2px solid #cdcdcd;
transition: all 80ms linear;
}
.c-checkbox__input:checked ~ .c-checkbox__count {
color: #13cfce;
background-color: #13cfce;
border-color: #13cfce;
}
.c-checkbox--has-indicator {
margin-top: 4px;
}
.c-checkbox--has-indicator .c-checkbox__text {
margin-right: auto;
}
.c-close {
display: flex;
align-items: center;
justify-content: center;
-ms-grid-row-align: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
background: none;
border: none;
outline: none;
cursor: pointer;
transition: transform 180ms ease-out;
}
.c-close:focus {
box-shadow: 0 0 3px 2px #cdcdcd;
}
.c-close:after, .c-close:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: #cdcdcd;
border-radius: 3px;
}
.c-close:before {
transform: rotate(45deg);
}
.c-close:after {
transform: rotate(-45deg);
}
.c-close:hover {
transform: scale(1.2);
}
.c-form-group__label {
font-size: 0.9375rem;
line-height: 1.6;
display: block;
padding: 4px 0;
}
.c-form-group__error {
display: none;
}
.has-error .c-form-group__error:not(:empty) {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding: 8px;
color: #ffd33a;
background-color: rgba(255, 211, 58, 0.1);
border: 1px solid #ffd33a;
border-top: none;
border-radius: 0 0 4px 4px;
}
.c-form-feedback {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
margin: 16px 0 0;
padding: 24px 32px;
border: 2px solid #ffd33a;
background-color: rgba(255, 211, 58, 0.1);
}
.c-form-feedback:before {
content: attr(data-feedback);
display: inline-block;
margin-left: -16px;
margin-bottom: 8px;
}
.c-form-feedback:not(:empty) {
display: block;
}
.c-hamburger {
display: flex;
justify-content: center;
align-items: center;
-ms-grid-row-align: center;
align-self: center;
position: relative;
width: 40px;
height: 40px;
padding: 0;
color: #2C2C2C;
background: none;
border: none;
outline: none;
cursor: pointer;
}
.c-hamburger:focus {
box-shadow: 0 0 3px 2px #13cfce;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
content: "";
position: absolute;
top: 20px;
right: 20%;
left: 20%;
height: 3px;
margin-top: -2px;
pointer-events: none;
background: currentColor;
border-radius: 3px;
transform-origin: right;
transition-property: transform;
transition-duration: 150ms;
transition-timing-function: ease-out;
transition-delay: 100ms;
}
.c-hamburger:before {
top: 12px;
transform: scaleX(0.8);
}
.c-hamburger:after {
top: 28px;
transform: scaleX(0.5);
}
.c-hamburger:hover > span {
transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
transform: translateY(3px) scaleX(1) !important;
transition-delay: 0ms;
}
.is-overlay-menu-active .c-hamburger:after {
transform: translateY(-3px) scaleX(1) !important;
transition-delay: 0ms;
}
.c-heading {
font-size: 1.75rem;
line-height: 1.2857142857;
color: #2C2C2C;
}
.c-hero {
position: relative;
z-index: 1;
width: 100%;
overflow: hidden;
background-color: #89A4B8;
}
.c-hero__main {
z-index: 1;
position: relative;
display: -ms-grid;
display: grid;
-ms-grid-rows: auto auto;
grid-template-rows: auto auto;
-ms-grid-columns: auto;
grid-template-columns: auto;
max-width: 1440px;
margin: 0 auto;
}
@media screen and (min-width: 900px) {
.c-hero__main {
-ms-grid-rows: auto;
grid-template-rows: auto;
}
.c-hero__main::before {
content: "";
position: absolute;
z-index: 1;
display: block;
bottom: 0;
right: -50vw;
left: -50vw;
height: 8%;
background-color: #152C3D;
}
}
.c-hero__slider {
position: relative;
min-height: 400px;
padding-bottom: 57.5%;
}
@media screen and (min-width: 900px) {
.c-hero__slider {
padding-bottom: 57.5%;
grid-row: 1/-1;
grid-column: 1/-1;
}
}
.c-hero__tray {
position: absolute;
z-index: 0;
overflow: hidden;
width: 100%;
height: 100%;
}
.c-hero__picture {
position: absolute;
top: 0;
bottom: 0;
left: 0;
z-index: 0;
opacity: 0;
}
.c-hero__picture.is-previous, .c-hero__picture.is-active {
transition-property: transform;
transition-duration: 900ms;
transition-timing-function: cubic-bezier(0.4, 0.01, 0.18, 1.01);
opacity: 1;
}
.c-hero__picture.is-next {
transform: translateX(100%);
}
.c-hero__picture.is-previous {
transition-delay: 900ms;
}
.c-hero__picture.is-active {
z-index: 1;
}
.c-hero__image {
width: 100%;
height: 100%;
object-fit: cover;
}
.c-hero__looking-glass {
display: none;
}
@media screen and (min-width: 900px) {
.c-hero__looking-glass {
display: -ms-grid;
display: grid;
pointer-events: none;
position: absolute;
z-index: 2;
bottom: 0;
left: calc(50% - (39.44% / 2));
width: 39.44%;
height: 0;
padding-bottom: 39.44%;
box-shadow: 0 16px 20px rgba(21, 44, 61, 0.32);
border-radius: 50%;
background-repeat: no-repeat;
background-size: 100% auto;
background-attachment: fixed;
-ms-grid-columns: auto;
grid-template-columns: auto;
-ms-grid-rows: auto;
grid-template-rows: auto;
overflow: hidden;
}
.c-hero__looking-glass::after, .c-hero__looking-glass::before {
content: "";
position: absolute;
z-index: 3;
display: block;
border-radius: 50%;
}
.c-hero__looking-glass::before {
top: 0;
bottom: 0;
right: 0;
left: 0;
border: 32px solid rgba(182, 215, 240, 0.24);
}
.c-hero__looking-glass::after {
top: 32px;
bottom: 32px;
right: 32px;
left: 32px;
box-shadow: 0 16px 20px rgba(21, 44, 61, 0.32);
}
}
.c-hero__looking-glass-slide {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
width: 100%;
padding-bottom: 100%;
background-size: calc((100 / 39.44) * 100%) auto;
background-position: center bottom;
z-index: 0;
opacity: 0;
}
.c-hero__looking-glass-slide.is-previous, .c-hero__looking-glass-slide.is-active {
transition-property: transform;
transition-duration: 566.6666666667ms;
transition-timing-function: cubic-bezier(0.4, 0.01, 0.18, 1.01);
transition-delay: 333.3333333333ms;
opacity: 1;
}
.c-hero__looking-glass-slide.is-next {
transform: translateX(100%);
}
.c-hero__looking-glass-slide.is-previous {
transition-delay: 900ms;
}
.c-hero__looking-glass-slide.is-active {
z-index: 2;
}
.c-hero__headline-box {
position: relative;
z-index: 20;
color: #FFFFFF;
background-color: #152C3D;
}
@media screen and (min-width: 900px) {
.c-hero__headline-box {
grid-row: 1/-1;
grid-column: 1/-1;
-ms-grid-column-align: center;
justify-self: center;
width: 39.44%;
margin-bottom: 8.5vw;
background-color: transparent;
-ms-grid-row-align: end;
align-self: end;
display: flex;
flex-direction: column;
align-items: center;
}
}
@media screen and (min-width: 1344px) {
.c-hero__headline-box {
margin-bottom: 8.4%;
}
}
.c-hero__headline {
padding: 48px 32px 0;
text-align: center;
display: flex;
flex-direction: column;
text-transform: uppercase;
}
.c-hero__headline {
font-size: 28px;
}
@media screen and (min-width: 900px) {
.c-hero__headline {
font-size: calc(2.5751072961vw + 4.8240343348px);
}
}
@media screen and (min-width: 1366px) {
.c-hero__headline {
font-size: 40px;
}
}
.c-hero__headline {
line-height: 36px;
}
@media screen and (min-width: 900px) {
.c-hero__headline {
line-height: calc(2.5751072961vw + 12.8240343348px);
}
}
@media screen and (min-width: 1366px) {
.c-hero__headline {
line-height: 48px;
}
}
@media screen and (min-width: 900px) {
.c-hero__headline {
text-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
}
}
.c-hero__caption-top {
font-weight: 900;
}
.c-hero__caption-bottom {
font-weight: 300;
}
.c-hero__scroll {
display: none;
}
@media screen and (min-width: 900px) {
.c-hero__scroll {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
padding: 10px;
margin-top: 14%;
color: #FFFFFF;
border-radius: 100%;
border: 2px solid currentColor;
transition: all 200ms;
}
.c-hero__scroll > svg {
transition: transform 200ms;
}
.c-hero__scroll:hover {
cursor: pointer;
color: #EBF0F5;
background-color: rgba(255, 255, 255, 0.3);
transform: scale(1.2);
}
.c-hero__scroll:hover > svg {
transform: translateY(3px);
}
}
.c-hero__controls {
pointer-events: none;
position: absolute;
bottom: 0;
right: 0;
width: 100%;
padding: 8px;
}
@media screen and (min-width: 900px) {
.c-hero__controls {
bottom: 8%;
}
}
.c-hero__description {
font-weight: 300;
position: relative;
margin: 0 auto;
padding-top: 24px;
color: #FFFFFF;
background-color: #152C3D;
text-align: center;
}
.c-hero__description {
font-size: 16px;
}
@media screen and (min-width: 320px) {
.c-hero__description {
font-size: calc(0.7648183556vw + 13.552581262px);
}
}
@media screen and (min-width: 1366px) {
.c-hero__description {
font-size: 24px;
}
}
.c-hero__description {
line-height: 32px;
}
@media screen and (min-width: 320px) {
.c-hero__description {
line-height: calc(0.7648183556vw + 29.552581262px);
}
}
@media screen and (min-width: 1366px) {
.c-hero__description {
line-height: 40px;
}
}
.c-hero__description::before {
content: "";
display: block;
top: 0;
margin: 0 auto 32px;
width: 1px;
height: 48px;
background-color: #2D5C80;
}
.c-hero__description-text {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
max-width: 856px;
}
.o-image {
--o-image-bg-offset: 6vw;
position: relative;
margin-left: auto;
margin-right: auto;
background-image: linear-gradient(to top, transparent var(--o-image-bg-offset), #152C3D var(--o-image-bg-offset));
}
.o-image {
padding-top: 48px;
}
@media screen and (min-width: 320px) {
.o-image {
padding-top: calc(2.3529411765vw + 40.4705882353px);
}
}
@media screen and (min-width: 1000px) {
.o-image {
padding-top: 64px;
}
}
.o-image {
margin-bottom: 48px;
}
@media screen and (min-width: 320px) {
.o-image {
margin-bottom: calc(2.3529411765vw + 40.4705882353px);
}
}
@media screen and (min-width: 1000px) {
.o-image {
margin-bottom: 64px;
}
}
@media screen and (min-width: 1344px) {
.o-image {
--o-image-bg-offset: 80px;
}
}
.o-image__main {
width: calc((100% / 14) * 13);
}
.c-input {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
width: 100%;
padding: 6px 16px;
color: #2C2C2C;
background-color: #FFFFFF;
border: 2px solid #1D1D1D;
outline: none;
}
.has-error .c-input {
box-shadow: 0 0 7px -3px #ffd33a;
border-color: #ffd33a;
}
.c-input:focus {
box-shadow: 0 0 7px -3px #13cfce;
border-color: #13cfce;
}
textarea.c-input {
display: block;
padding: 16px;
min-height: 156px;
line-height: 24px;
resize: vertical;
}
.c-language {
position: relative;
}
.c-language__button {
font-size: 0.9375rem;
line-height: 1.6;
border-radius: 4px;
display: flex;
position: relative;
width: 100%;
padding: 8px;
text-align: left;
background: transparent;
color: #2C2C2C;
border: none;
-webkit-appearance: none;
appearance: none;
transition: background-color 150ms, box-shadow 150ms;
}
.c-language__button:focus {
outline: none;
}
.c-language__icon {
flex: none;
pointer-events: none;
}
.c-language__label {
margin-left: 4px;
font-weight: bold;
}
.c-language__dropdown {
position: absolute;
right: 0;
top: 100%;
min-width: 100%;
margin: 0;
opacity: 0;
list-style: none;
border-radius: 4px;
box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
pointer-events: none;
transform: translate3d(0, -5px, 0);
transition: opacity 300ms, transform 300ms;
}
.c-language:hover .c-language__dropdown {
opacity: 1;
pointer-events: all;
transform: translate3d(0, 0, 0);
}
.c-language__item {
overflow: hidden;
background-color: #FFFFFF;
}
.c-language__item:nth-child(even) {
background-color: #efefef;
}
.c-language__item:first-child {
border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
border-radius: 4px;
}
.c-language__link {
display: block;
padding: 4px 8px;
text-align: center;
font-weight: bold;
text-decoration: none;
color: #1D1D1D;
transition: background-color 300ms;
}
.c-language__link:hover {
color: #FFFFFF;
background-color: #656565;
}
.c-nav {
height: 100%;
padding: 0;
}
.c-nav__list {
display: flex;
justify-content: flex-end;
align-items: center;
margin-left: 0;
padding: 0;
list-style: none;
}
.c-nav__item {
font-size: 1rem;
line-height: 1.5;
white-space: nowrap;
margin-right: 2%;
}
.c-nav__item:last-child {
margin-right: 0;
}
.c-nav__link {
position: relative;
padding: 4px;
color: #2C2C2C;
text-decoration: none;
transition: color 150ms linear;
}
.c-nav__link::before {
content: "";
display: block;
position: absolute;
z-index: -1;
left: 4px;
bottom: 1px;
width: calc(100% - 8px);
height: 2px;
border-radius: 1px;
background-color: currentColor;
transform: scaleX(0);
transform-origin: bottom right;
transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
color: #1D1D1D;
}
.c-nav__link:hover::before {
transform: scaleX(1);
transform-origin: bottom left;
}
.is-active.c-nav__item .c-nav__link {
font-weight: bold;
color: #000000;
}
.is-active.c-nav__item .c-nav__link::before {
transform: scaleX(1);
transform-origin: bottom left;
background-color: #000000;
}
.c-nav__link:focus {
outline-color: #13cfce;
}
/*
* Page title
*/
.c-page-title {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
padding-top: 32px;
padding-bottom: 32px;
color: #152C3D;
}
@media screen and (min-width: 840px) {
.c-page-title__lead {
margin-top: -16px;
margin-bottom: 16px;
}
}
.c-page-title__heading {
font-size: 2rem;
line-height: 1.375;
line-height: 1.3;
}
.c-pagination {
border-radius: 8px;
display: inline-flex;
justify-content: center;
align-items: center;
margin-left: 0;
list-style: none;
overflow: hidden;
border: 1px solid #1D1D1D;
}
.c-pagination__item {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 839px) {
.c-pagination__item {
display: none;
}
.c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
display: flex;
}
.c-pagination__item.is-last-page {
pointer-events: none;
}
}
.c-pagination__item + .c-pagination__item {
border-left: 1px solid;
border-color: inherit;
}
.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
display: flex;
justify-content: center;
align-items: center;
min-width: 48px;
min-height: 48px;
padding: 8px;
}
.c-pagination__text {
color: #1D1D1D;
opacity: 0.35;
}
.c-pagination__link {
color: #1D1D1D;
text-decoration: none;
transition: color 200ms, background-color 200ms;
}
.c-pagination__link:hover {
color: #000000;
background: #F8F8F8;
}
.is-active > .c-pagination__link {
box-shadow: inset 0 0 10px -5px #1D1D1D;
font-weight: bold;
color: #1D1D1D;
cursor: default;
}
.c-pagination__prev,
.c-pagination__next {
transition: background 200ms;
transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
color: #cdcdcd;
background: transparent;
}
.c-pagination__prev {
transform: rotate(0.25turn);
}
.c-password {
position: relative;
}
.c-password__input {
background-image: none !important;
}
.c-password__preview-button {
position: absolute;
-webkit-appearance: none;
appearance: none;
top: 50%;
right: 5px;
display: inline-block;
padding: 4px 8px;
color: #cdcdcd;
background-color: transparent;
border: none;
transform: translateY(-50%);
cursor: pointer;
transition: color 100ms linear;
}
.c-password__preview-button:focus {
border: none;
outline: none;
}
.c-password__preview-button:hover {
color: #1D1D1D;
}
.is-previewing .c-password__preview-button {
color: #4079B8;
pointer-events: none;
}
.c-person__picture {
width: 100%;
flex: auto;
display: block;
}
.c-person__img {
object-fit: cover;
width: 100%;
height: 100%;
background-color: #efefef;
}
.c-person__info {
padding: 16px;
background-color: #cdcdcd;
}
.c-person__title {
font-size: 1.5rem;
line-height: 1.3333333333;
color: #4a4a4a;
}
.c-person__subtitle {
font-size: 0.9375rem;
line-height: 1.6;
color: #656565;
}
.c-projector {
display: -ms-grid;
display: grid;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
height: 100%;
max-height: 90vh;
background-color: #2D5C80;
}
.c-projector__caption {
font-size: 0.9375rem;
line-height: 1.6;
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 2;
grid-row: 2;
-webkit-user-select: text;
-ms-user-select: text;
user-select: text;
margin-top: 8px;
color: #999999;
}
.c-projector__picture {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: end;
align-self: end;
height: 100%;
display: block;
background-color: #F8F8F8;
opacity: 0;
transition: opacity 500ms;
}
.c-projector__picture.is-active {
opacity: 1;
}
.c-projector__img {
width: 100%;
height: 100%;
max-height: 80vh;
object-fit: cover;
background-color: #efefef;
}
@media screen and (max-width: 839px) {
.c-projector__img {
max-height: 78vh;
}
}
.c-projector__control {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-row-align: center;
align-self: center;
}
/**
* Select styled without extra containing elements
* ------------------------------------
* Based on this article:
* https://www.filamentgroup.com/lab/select-css.html
*/
.c-select {
border-radius: 4px;
font-size: 0.875rem;
line-height: 1.1428571429;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
display: block;
padding-top: 6px;
padding-bottom: 6px;
padding-left: 16px;
padding-right: 32px;
height: 40px;
width: 100%;
max-width: 500px;
box-sizing: border-box;
margin: 0;
-webkit-appearance: none;
appearance: none;
color: #1D1D1D;
background-color: #FFFFFF;
background-image: url("/img/select-arrow.svg"), linear-gradient(to bottom, #FFFFFF 0%, #FFFFFF 100%);
background-repeat: no-repeat, repeat;
background-position: right 13px top 50%, 0 0;
background-size: 12px auto, 100%;
border: 2px solid #cdcdcd;
transition: border 150ms linear;
}
.c-select:hover {
border-color: #656565;
background-color: #F8F8F8;
}
.c-select:focus {
border-color: #13cfce;
box-shadow: 0 0 7px -3px rgba(29, 29, 29, 0.7);
box-shadow: 0 0 0 1px -moz-mac-focusring;
color: #1D1D1D;
outline: none;
}
.c-select option {
font-weight: normal;
}
.c-select::-ms-expand {
display: none;
}
.c-servicepoint {
display: inline-flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-start;
text-align: left;
margin-top: -16px;
}
.c-servicepoint__image {
max-width: 176px;
flex: 0;
margin-top: 16px;
margin-right: 16px;
border-radius: 50%;
}
@media screen and (max-width: 539px) {
.c-servicepoint__image {
width: 96px;
}
}
.c-servicepoint__content {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
flex-grow: 1;
flex-basis: 165px;
margin-top: 16px;
}
.c-servicepoint__body {
margin-top: 8px;
}
.c-servicepoint__data {
font-size: 1.25rem;
line-height: 1.2;
}
.c-servicepoint__footer {
margin-top: 8px;
}
.c-servicepoint__heading {
font-size: 1rem;
line-height: 1.5;
color: #656565;
border-radius: 100%;
}
.c-sitemap__item {
font-size: 1.5rem;
line-height: 1.3333333333;
color: #656565;
}
.c-sitemap__link {
display: block;
padding: 4px 0;
text-decoration: none;
}
.c-sitemap__link:hover {
color: #1D1D1D;
text-decoration: underline;
}
/*
* Skip Link
*/
.c-skip-link {
font-size: 0.9375rem;
line-height: 1.6;
position: fixed;
top: -100vh;
left: 50%;
transform: translateX(-50%);
color: #656565;
text-decoration: none;
}
.c-skip-link:focus {
outline-color: #13cfce;
outline-offset: 2px;
top: 5px;
/* Now the link will appear */
}
.c-slide-indicator {
display: flex;
justify-content: flex-end;
align-items: center;
}
.c-slide-indicator__dot {
position: relative;
display: inline-block;
width: 30px;
height: 30px;
background-color: transparent;
border: none;
cursor: pointer;
transition-property: background-color, opacity;
transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
content: "";
position: absolute;
background-clip: content-box;
transition-property: transform, background-color, opacity;
transition-duration: 300ms;
transition-timing-function: ease-in-out;
border-radius: 100%;
}
.c-slide-indicator__dot:before {
top: calc((30px - 8px) / 2);
right: calc((30px - 8px) / 2);
bottom: calc((30px - 8px) / 2);
left: calc((30px - 8px) / 2);
background-color: rgba(255, 255, 255, 0.5);
}
.c-slide-indicator__dot:after {
top: calc((30px - 14px) / 2);
right: calc((30px - 14px) / 2);
bottom: calc((30px - 14px) / 2);
left: calc((30px - 14px) / 2);
border: 1px solid rgba(255, 255, 255, 0.5);
transform: scale(1.4);
opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
background-color: #FFFFFF;
border-color: rgba(255, 255, 255, 0.9);
transform: scale(1);
}
.c-slide-indicator__dot.is-active:after {
opacity: 0.9;
transform: scale(1);
}
.c-slide-indicator__dot:focus {
opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__button {
position: relative;
border: 1px solid rgba(255, 255, 255, 0.48);
background-color: transparent;
color: #FFFFFF;
height: 6vw;
width: 6vw;
border-radius: 50%;
transform: translateX(50%);
}
.c-slide-indicator__button + .c-slide-indicator__button {
margin-left: 8px;
}
.c-slide-indicator__button > svg {
width: 16px;
height: 16px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
cursor: pointer;
color: #152c3d;
background-color: white;
}
.c-slide-indicator__button:focus {
outline: none;
box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.3);
}
.c-subnav {
background-color: #F8F8F8;
padding: 8.3333333333%;
}
.c-subnav__header {
margin: 0;
}
.c-subnav__list {
margin-top: 40px;
list-style-type: none;
margin-left: 0;
}
.c-subnav__link {
position: relative;
display: flex;
padding: 8px 0;
color: #656565;
text-decoration: none;
cursor: pointer;
transition: color 250ms;
}
.c-subnav__link:hover {
color: #1D1D1D;
}
.c-subnav__link:focus {
outline-color: #13cfce;
}
.c-subnav__link::before {
content: "";
display: block;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border-bottom: 1px solid #cdcdcd;
}
.c-subnav__icon {
opacity: 0;
align-items: center;
margin-left: 16px;
color: #cdcdcd;
transform: translateX(-16px);
transition: all 250ms ease-out;
}
.c-subnav__link:hover .c-subnav__icon {
opacity: 1;
transform: none;
color: #1D1D1D;
}
.c-subnav__item.is-active .c-subnav__link {
color: #000000;
font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
border-color: #1D1D1D;
border-width: 2px;
}
.c-subnav__item.is-active .c-subnav__icon {
opacity: 0;
}
.c-text-button {
display: inline-flex;
justify-content: center;
align-items: center;
color: #1D1D1D;
padding: 0;
/* 2 */
background-color: transparent;
/* 2 */
border: none;
/* 2 */
cursor: pointer;
text-decoration: none;
transition: color 300ms;
}
.c-text-button:hover:not(:disabled) {
color: #000000;
}
.c-text-button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.c-text-button:focus {
outline-color: #13cfce;
}
.c-text-button__text {
font-size: 1rem;
line-height: 1.5;
}
.c-text-button__icon {
display: none;
position: relative;
margin-left: 8px;
transition: transform 300ms;
}
.c-text-button:hover:not(:disabled) .c-text-button__icon {
transform: translateX(3px);
}
.c-text-button--icon .c-text-button__icon {
display: block;
}
.c-text-button--is-reversed .c-text-button__text {
order: 2;
}
.c-text-button--is-reversed .c-text-button__icon {
order: 1;
top: 1px;
margin-left: 0;
margin-right: 8px;
transform: rotate(0.5turn);
}
.c-text-button--is-reversed:hover:not(:disabled) .c-text-button__icon {
transform: rotate(0.5turn) translateX(3px);
}
.c-trademark {
display: inline-flex;
align-items: center;
text-decoration: none;
transition: color 150ms linear;
}
.c-trademark__text {
display: flex;
align-items: center;
margin-right: 7px;
}
.c-trademark__love {
display: flex;
align-items: center;
justify-content: center;
margin: -3px 8px 0;
animation: heartbeat 1.8s infinite;
width: 16px;
height: 16px;
}
.c-trademark__love svg {
width: 100%;
height: 100%;
}
.c-trademark:hover {
color: #E2264D;
color: #2D5C80;
}
.c-trademark:hover .komma-emblem {
transform-origin: 12px 12px;
animation: logo-spin 1.8s linear infinite;
}
@keyframes logo-spin {
from {
transform: rotate(0);
}
to {
transform: rotate(-1turn);
}
}
@keyframes heartbeat {
0% {
transform: scale(0.75);
}
20% {
transform: scale(1);
}
40% {
transform: scale(0.75);
}
60% {
transform: scale(1);
}
80% {
transform: scale(0.75);
}
100% {
transform: scale(0.75);
}
}
.c-video {
position: relative;
}
@media screen and (max-width: 999px) {
.c-video {
padding-top: 24px;
padding-bottom: 24px;
}
}
.c-video::before {
position: absolute;
z-index: -1;
display: block;
content: "";
top: 0;
bottom: 0;
right: 0;
left: 0;
background-color: #152C3D;
}
.c-video__main {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
position: relative;
display: -ms-grid;
display: grid;
-ms-grid-columns: auto;
grid-template-columns: auto;
-ms-grid-rows: (auto)[2];
grid-template-rows: repeat(2, auto);
grid-template-areas: "image" "description";
}
@media screen and (min-width: 1000px) {
.c-video__main {
-ms-grid-columns: (1fr)[2];
grid-template-columns: repeat(2, 1fr);
-ms-grid-rows: 4vw auto auto 48px 48px;
grid-template-rows: 4vw auto auto 48px 48px;
margin-top: -4vw;
}
}
@media screen and (min-width: 1344px) {
.c-video__main {
margin-top: -64px;
-ms-grid-rows: 64px auto auto 48px 48px;
grid-template-rows: 64px auto auto 48px 48px;
}
}
.c-video__main::before {
content: "";
position: absolute;
z-index: 1;
bottom: 0;
left: 50%;
height: 48px;
width: 1px;
background-color: #FFFFFF;
transform: translateY(50%);
transition: all 200ms ease-out;
}
@media screen and (min-width: 1000px) {
.c-video__main::before {
-ms-grid-column: 2;
grid-column: 2;
-ms-grid-row: 3;
-ms-grid-row-span: 3;
grid-row: 3/6;
left: 0;
height: calc(100% + 48px);
position: relative;
transform: translateY(-48px);
}
}
.c-video__image {
-ms-grid-row: 1;
-ms-grid-column: 1;
grid-area: image;
position: relative;
}
@media screen and (min-width: 1000px) {
.c-video__image {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
-ms-grid-row-span: 4;
grid-row: 1/5;
}
}
.c-video__image::before {
content: "";
display: block;
position: absolute;
z-index: 1;
top: 0;
bottom: 0;
right: 0;
left: 0;
background-color: #152C3D;
opacity: 0.64;
}
.c-video__img {
position: relative;
z-index: 0;
width: 100%;
pointer-events: none;
}
@media screen and (min-width: 1000px) {
.c-video__img {
height: 100%;
object-fit: cover;
}
}
.c-video__iframe {
position: absolute;
z-index: 2;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.c-video__description {
-ms-grid-row: 2;
-ms-grid-column: 1;
font-weight: 300;
font-family: "azo-sans-web", sans-serif;
position: relative;
grid-area: description;
padding: 56px 8% 48px;
color: #FFFFFF;
background-color: #2D5C80;
}
@media screen and (min-width: 1000px) {
.c-video__description {
-ms-grid-row-align: start;
align-self: start;
-ms-grid-column: 2;
grid-column: 2;
-ms-grid-row: 2;
-ms-grid-row-span: 1;
grid-row: 2/3;
height: 100%;
padding-bottom: 128px;
padding-left: 72px;
padding-right: 72px;
}
}
.c-video__button {
position: relative;
z-index: 1;
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
display: flex;
-ms-grid-row-align: end;
align-self: end;
border: none;
text-decoration: none;
cursor: pointer;
margin: 0 auto;
padding: 0;
background-color: transparent;
border-radius: 50%;
}
@media screen and (max-width: 999px) {
.c-video__button {
transform: translateY(50%);
}
}
@media screen and (min-width: 1000px) {
.c-video__button {
display: flex;
align-items: center;
width: 100%;
-ms-grid-column: 2;
grid-column: 2;
-ms-grid-row: 2;
-ms-grid-row-span: 1;
grid-row: 2/3;
-ms-grid-row-align: end;
align-self: end;
-ms-grid-column-align: start;
justify-self: start;
transform: translateX(-52px);
margin-bottom: 24px;
}
}
.c-video__circle {
display: flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
background: rgba(182, 215, 240, 0.24);
border-radius: 50%;
-webkit-backdrop-filter: blur(14px);
backdrop-filter: blur(14px);
}
@media screen and (min-width: 1000px) {
.c-video__circle {
margin: 0;
width: 104px;
height: 104px;
}
}
.c-video__circle::before {
content: "";
position: absolute;
top: 8px;
bottom: 8px;
right: 8px;
left: 8px;
background-color: #FFFFFF;
border-radius: 50%;
transition: all 200ms ease-out;
}
.c-video__button:hover .c-video__circle:before {
background-color: #152C3D;
transform: scale(0.88);
}
.c-video__play {
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
color: #152C3D;
transform: translateX(2px);
transition: all 200ms ease-out;
}
.c-video__button:hover .c-video__play {
color: #FFFFFF;
}
.c-video__text-button {
display: none;
}
@media screen and (min-width: 1000px) {
.c-video__text-button {
display: block;
margin-left: calc(72px - 52px);
padding: 0;
text-transform: uppercase;
color: #FFFFFF;
transition: color 150ms linear;
}
.c-video__button:hover .c-video__text-button {
color: #89A4B8;
}
}
/* 6 - ORGANISMS
* Large blocks composed of multiple components.
=========================================================== */
/** ==========================================================================
* Organisms
* =========================================================================*/
.o-banner {
background-color: #89A4B8;
}
.o-banner__main {
display: -ms-grid;
display: grid;
-ms-grid-columns: auto;
grid-template-columns: auto;
-ms-grid-rows: (auto)[2];
grid-template-rows: repeat(2, auto);
max-width: 1440px;
margin: 0 auto;
}
.o-banner__picture {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 1;
grid-row: 1;
background-color: #89A4B8;
}
@media screen and (max-width: 759px) {
.o-banner__picture {
height: 100vw;
max-height: 60vh;
}
}
@media screen and (min-width: 760px) {
.o-banner__picture {
grid-row: 1/-1;
}
}
@media screen and (max-width: 759px) {
.o-banner__img {
height: 100%;
object-fit: cover;
}
}
.o-banner__description {
-ms-grid-column: 1;
grid-column: 1;
-ms-grid-row: 2;
grid-row: 2;
-ms-grid-row-align: end;
align-self: end;
justify-content: center;
color: #FFFFFF;
}
@media screen and (max-width: 759px) {
.o-banner__description {
background-color: #152C3D;
}
}
@media screen and (min-width: 760px) {
.o-banner__description {
position: relative;
top: 1px;
width: 41.67vw;
height: 20.835vw;
border-top-left-radius: 20.835vw;
border-top-right-radius: 20.835vw;
margin: 0 auto;
overflow: hidden;
display: flex;
align-items: flex-start;
background: rgba(182, 215, 240, 0.24);
-webkit-backdrop-filter: blur(14px);
backdrop-filter: blur(14px);
}
}
@media screen and (min-width: 1344px) {
.o-banner__description {
width: 600px;
height: 300px;
border-top-left-radius: 300px;
border-top-right-radius: 300px;
}
}
.o-banner__heading {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
padding: 5.5vw 6.5vw 0;
text-align: center;
font-family: "mokoko", sans-serif;
}
@media screen and (max-width: 759px) {
.o-banner__heading {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
padding: 48px 0 24px;
}
}
@media screen and (min-width: 1344px) {
.o-banner__heading {
padding: 80px 96px 0;
}
}
.o-banner__title {
font-size: 2.5rem;
line-height: 1.4;
font-weight: 300;
word-break: break-word;
}
@media screen and (min-width: 760px) and (max-width: 1343px) {
.o-banner__title {
font-size: 2.9vw;
}
}
.o-banner__subtitle {
font-size: 1rem;
line-height: 1.5;
font-weight: 800;
word-break: break-word;
}
.o-blog__heading {
font-size: 1.75rem;
line-height: 1.2857142857;
color: #2C2C2C;
}
.o-blog__article {
position: relative;
}
.o-blog__article + .o-blog__article {
margin-top: 32px;
}
.o-blog__link {
display: block;
cursor: pointer;
text-decoration: none;
transition: background-color 150ms linear;
}
.o-blog__link::before {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 2px solid #1D1D1D;
transition: border 150ms linear;
}
.o-blog__link:hover {
background-color: #F8F8F8;
}
.o-blog__link:hover::before {
border-color: #cdcdcd;
}
.o-blog__link:focus {
outline-color: #13cfce;
}
@media screen and (min-width: 840px) {
.o-blog__link {
display: flex;
justify-content: flex-start;
align-items: flex-start;
}
}
.o-blog__body {
flex-grow: 1;
padding: 8.3333333333%;
}
@media screen and (min-width: 840px) {
.o-blog__body {
order: 1;
padding: 48px 8.3333333333%;
}
}
.o-blog__image {
position: relative;
width: 100%;
padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
.o-blog__image {
flex: none;
order: 2;
width: 25%;
padding-bottom: 25%;
}
}
.o-blog__bg-image {
position: absolute;
background-size: cover;
background-position: center;
top: 8.3333333333%;
right: 8.3333333333%;
width: calc(100% - 16.6666666667%);
height: calc(100% - 8.3333333333%);
}
@media screen and (min-width: 840px) {
.o-blog__bg-image {
top: 8px;
right: 8px;
width: calc(100% - 16px);
height: calc(100% - 16px);
}
}
.o-blog__intro {
margin-top: 24px;
}
.o-blog__timestamp {
display: block;
margin-top: 16px;
color: #999999;
}
.o-blog__action {
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: 8px;
color: #000000;
}
.o-blog__readmore {
margin-right: 8px;
}
.o-blog__footer {
margin-top: 32px;
text-align: center;
}
.o-callout-bar {
overflow-wrap: break-word;
word-wrap: break-word;
-webkit-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;
color: #2C2C2C;
background-color: #F8F8F8;
text-align: center;
}
.o-callout-bar__main {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
}
@media screen and (max-width: 1343px) {
.o-callout-bar__main {
padding-top: 6.25vw;
padding-bottom: 6.25vw;
}
}
@media screen and (min-width: 1344px) {
.o-callout-bar__main {
padding-top: 96px;
padding-bottom: 96px;
}
}
@media screen and (max-width: 1343px) {
.o-callout-bar__main > * + * {
margin-top: 3.125vw;
}
}
@media screen and (min-width: 1344px) {
.o-callout-bar__main > * + * {
margin-top: 48px;
}
}
.o-callout-bar__heading {
font-size: 1.75rem;
line-height: 1.2857142857;
}
.o-card-grid {
padding-top: 80px;
margin-bottom: 64px;
background-image: linear-gradient(to top, transparent, transparent 80px, #152C3D 80px);
}
@media screen and (max-width: 739px) {
.is-mobile-alternate .o-card-grid {
background-color: #152C3D;
}
}
.o-card-grid__heading {
font-size: 2rem;
line-height: 1.375;
font-weight: 300;
font-family: "mokoko", sans-serif;
color: #FFFFFF;
text-align: center;
margin-bottom: 48px;
}
@media screen and (max-width: 739px) {
.is-mobile-alternate .o-card-grid__heading {
display: none;
}
}
.o-card-grid__main {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
display: -ms-grid;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
grid-gap: 32px;
}
@media screen and (max-width: 739px) {
.is-mobile-alternate .o-card-grid__main {
display: none;
}
}
@media screen and (max-width: 739px) {
.o-card-grid__back {
display: none;
}
.is-mobile-alternate .o-card-grid__back {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
display: block;
text-align: center;
padding-bottom: 40px;
}
}
.o-card-grid__item {
min-width: 0;
word-break: break-word;
}
.o-content-personal {
position: relative;
background-color: #FFFFFF;
}
@media screen and (min-width: 840px) {
.o-content-personal {
display: flex;
}
}
@media screen and (min-width: 840px) {
.o-content-personal__description {
width: 50%;
padding-right: 8.3333333333%;
}
}
@media screen and (max-width: 839px) {
.o-content-personal__info {
margin-top: 40px;
}
}
@media screen and (min-width: 840px) {
.o-content-personal__info {
width: 50%;
}
}
.o-cookie-bar {
z-index: -1;
position: fixed;
bottom: 0;
left: 0;
justify-content: flex-start;
align-items: center;
height: 64px;
width: 100%;
background-color: #1D1D1D;
box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.25);
transition: transform 600ms ease-in-out;
}
body:not(.is-cookies-accepted) .o-cookie-bar {
z-index: 9999;
display: flex;
}
.o-cookie-bar.is-transitioning-out {
display: flex;
z-index: -1;
pointer-events: none;
transform: translateY(100%);
}
.o-cookie-bar__main {
display: flex;
justify-content: center;
align-items: center;
}
@media screen and (max-width: 374px) {
.o-cookie-bar__main {
transform: scale(0.9);
}
}
.o-cookie-bar__text {
margin: 0;
color: #FFFFFF;
}
@media screen and (max-width: 374px) {
.o-cookie-bar__text {
font-size: 0.875rem;
line-height: 1.1428571429;
}
}
.o-cookie-bar__link {
color: inherit;
transition: color 300ms;
}
.o-cookie-bar__link:hover {
color: #efefef;
}
.o-cookie-bar__button {
flex: none;
margin-left: 40px;
}
@media screen and (max-width: 839px) {
.o-cookie-bar__button {
margin-left: 16px;
}
}
@media screen and (max-width: 999px) {
.o-data {
background-color: #EBF0F5;
}
}
.o-data__main {
position: relative;
display: -ms-grid;
display: grid;
-ms-grid-columns: auto;
grid-template-columns: auto;
-ms-grid-rows: auto (40px)[2] auto;
grid-template-rows: auto repeat(2, 40px) auto;
}
@media screen and (min-width: 1000px) {
.o-data__main {
-ms-grid-columns: minmax(7.1428571429vw, 1fr) (minmax(0, 576px))[2] minmax(7.1428571429vw, 1fr);
grid-template-columns: minmax(7.1428571429vw, 1fr) repeat(2, minmax(0, 576px)) minmax(7.1428571429vw, 1fr);
-ms-grid-rows: 48px auto (40px)[2] auto 64px;
grid-template-rows: 48px auto repeat(2, 40px) auto 64px;
}
}
@media screen and (min-width: 1000px) {
.o-data__main::before {
content: "";
position: absolute;
z-index: 2;
top: 0;
left: calc(50% - 1px);
height: 96px;
width: 2px;
background-color: red;
background-image: linear-gradient(to bottom, #152C3D 50%, #FFFFFF 50%);
}
}
.o-data__figure1 {
-ms-grid-row: 1;
-ms-grid-row-span: 2;
grid-row: 1/3;
-ms-grid-column: 1;
grid-column: 1;
}
@media screen and (min-width: 1000px) {
.o-data__figure1 {
-ms-grid-row: 2;
-ms-grid-row-span: 3;
grid-row: 2/5;
-ms-grid-column: 1;
-ms-grid-column-span: 2;
grid-column: 1/3;
}
}
@media screen and (max-width: 999px) {
.o-data__figure2 {
display: none;
}
}
@media screen and (min-width: 1000px) {
.o-data__figure2 {
-ms-grid-row: 2;
-ms-grid-row-span: 4;
grid-row: 2/6;
-ms-grid-column: 3;
-ms-grid-column-span: 2;
grid-column: 3/5;
}
}
.o-data__img {
height: 100%;
width: 100%;
object-fit: cover;
}
.o-data__icon {
-ms-grid-row: 2;
-ms-grid-row-span: 2;
grid-row: 2/4;
-ms-grid-column: 1;
grid-column: 1;
position: relative;
z-index: 2;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
width: 80px;
height: 80px;
background: rgba(182, 215, 240, 0.24);
-webkit-backdrop-filter: blur(14px);
backdrop-filter: blur(14px);
}
@media screen and (max-width: 999px) {
.o-data__icon {
-ms-grid-column-align: center;
justify-self: center;
}
}
.o-data__icon::before {
content: "";
position: absolute;
z-index: -1;
top: 8px;
bottom: 8px;
right: 8px;
left: 8px;
background-color: #FFFFFF;
border-radius: 50%;
}
.o-data__icon::after {
content: "";
position: absolute;
z-index: 0;
bottom: -24px;
left: 50%;
width: 1px;
height: 32px;
background-color: #152C3D;
}
.o-data__icon svg {
margin-top: -8px;
}
@media screen and (min-width: 1000px) {
.o-data__icon {
-ms-grid-row: 3;
-ms-grid-row-span: 2;
grid-row: 3/5;
-ms-grid-column: 2;
-ms-grid-column-span: 1;
grid-column: 2/3;
transform: translateX(-50%);
}
.o-data__icon::after {
bottom: -56px;
height: 64px;
width: 2px;
}
}
@media screen and (max-width: 999px) {
.o-data__content {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
-ms-grid-row: 3;
-ms-grid-row-span: 2;
grid-row: 3/5;
-ms-grid-column: 1;
grid-column: 1;
padding-top: 88px;
padding-bottom: 56px;
}
}
@media screen and (min-width: 1000px) {
.o-data__content {
-ms-grid-row: 4;
-ms-grid-row-span: 3;
grid-row: 4/7;
-ms-grid-column: 2;
-ms-grid-column-span: 1;
grid-column: 2/3;
margin-right: 48px;
position: relative;
z-index: 0;
padding-top: 104px;
padding-bottom: 64px;
padding-left: 8%;
padding-right: 8%;
}
.o-data__content::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
right: 0;
left: -50vw;
background-color: #EBF0F5;
}
.o-data__content::after {
content: "";
position: absolute;
z-index: 1;
left: 0;
background-color: #152C3D;
top: 0;
bottom: 64px;
width: 2px;
}
}
.o-data__list {
display: -ms-grid;
display: grid;
grid-gap: 24px;
-ms-grid-columns: 1fr 1fr;
grid-template-columns: 1fr 1fr;
margin: 0;
}
.o-data__list dt {
-ms-grid-column: 1;
grid-column: 1;
font-family: "mokoko", sans-serif;
color: #2D5C80;
}
.o-data__list dd {
-ms-grid-column: 2;
grid-column: 2;
color: #152C3D;
}
.o-double-image {
margin: -1px;
text-align: center;
}
@media screen and (min-width: 1100px) {
.o-double-image {
display: flex;
}
}
.o-double-image__picture {
display: block;
margin: 1px;
order: 1;
}
@media screen and (min-width: 1100px) {
.o-double-image__picture {
width: 50%;
display: flex;
justify-content: flex-end;
}
.o-double-image__picture:last-child {
justify-content: flex-start;
}
}
.o-double-image__img {
object-fit: cover;
max-height: 85vh;
}
.o-double-image--is-reversed .o-double-image__picture {
justify-content: flex-start;
}
.o-double-image--is-reversed .o-double-image__picture:last-child {
order: 0;
justify-content: flex-end;
}
.o-double-text {
position: relative;
}
@media screen and (min-width: 840px) {
.o-double-text {
display: flex;
}
}
.o-double-text__column + .o-double-text__column {
margin-top: 40px;
}
@media screen and (min-width: 840px) {
.o-double-text__column {
margin-top: 0 !important;
width: 50%;
padding-right: 8.3333333333%;
}
}
.o-footer {
z-index: 20;
position: relative;
background-color: #FFFFFF;
color: #2D5C80;
}
.o-footer::before {
position: absolute;
content: "";
top: 0;
left: 50%;
width: 1px;
height: 48px;
background-color: #2D5C80;
}
.o-footer__main {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
padding-top: 88px;
padding-bottom: 40px;
}
@media screen and (min-width: 840px) {
.o-footer__main {
display: -ms-grid;
display: grid;
-ms-grid-columns: 1fr 1fr 1fr;
grid-template-columns: 1fr 1fr 1fr;
-ms-grid-rows: auto;
grid-template-rows: auto;
grid-template-areas: "info brand .";
}
}
.o-footer__brand {
grid-area: brand;
display: flex;
align-items: center;
justify-content: center;
width: 200px;
height: 200px;
margin: 0 auto 32px;
border-radius: 50%;
background-color: #2D5C80;
}
.o-footer__info {
font-weight: 300;
grid-area: info;
text-align: center;
}
@media screen and (min-width: 840px){
.o-footer__brand {
-ms-grid-row: 1;
-ms-grid-column: 2;
}
.o-footer__info {
-ms-grid-row: 1;
-ms-grid-column: 1;
}
}
@media screen and (min-width: 840px) {
.o-footer__info {
text-align: left;
}
}
.o-footer__heading {
font-size: 1.25rem;
line-height: 1.2;
font-weight: 900;
font-family: "mokoko", sans-serif;
margin-top: 16px;
}
.o-footer__address {
margin-top: 16px;
}
.o-footer__contact {
margin-top: 24px;
}
.o-footer__contact > * + * {
margin-top: 8px;
}
.o-footer__link {
display: inline-flex;
align-items: center;
position: relative;
z-index: 0;
text-decoration: none;
cursor: pointer;
color: #2D5C80;
transition: all 150ms linear;
}
.o-footer__link::before {
content: attr(data-letter);
flex: none;
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
margin-right: 16px;
border-radius: 50%;
border: 1px solid rgba(45, 92, 128, 0.48);
transition: all 150ms linear;
}
.o-footer__link:hover {
color: #152C3D;
}
.o-footer__link:hover::before {
border-color: currentColor !important;
background-color: #89A4B8;
color: #FFFFFF;
}
.o-header {
z-index: 50;
overflow: hidden;
}
.o-header.is-floating {
position: absolute;
top: 0;
left: 0;
right: 0;
}
.o-header__logo {
background-color: #2D5C80;
display: flex;
justify-content: center;
width: 240px;
height: 120px;
margin: 0 auto;
border-bottom-left-radius: 240px;
border-bottom-right-radius: 240px;
}
.o-header__logo > .otium-logo {
margin-top: 26px;
}
.o-map {
position: relative;
width: 100%;
height: 0;
padding-bottom: 55%;
}
.o-map__inner {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.o-overlay-menu {
z-index: 100;
display: flex;
flex-direction: column;
position: fixed;
height: 100%;
width: 100%;
left: 0;
top: 0;
background-color: #1D1D1D;
opacity: 0;
transform: translateX(120vw);
transition-property: transform, opacity;
transition-duration: 450ms;
transition-timing-function: cubic-bezier(0.8, 0.2, 0.2, 0.8);
transition-delay: 0ms, 450ms;
}
.is-overlay-menu-active .o-overlay-menu {
opacity: 1;
transform: none;
transition-delay: 100ms, 0ms;
}
.o-overlay-menu::before {
display: block;
content: "";
position: absolute;
top: 0;
left: -120vw;
width: 120vw;
height: 100%;
background: rgba(0, 0, 0, 0.6);
pointer-events: none;
opacity: 0;
transition-property: opacity;
transition-duration: 100ms;
transition-delay: 450ms;
transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
opacity: 1;
transition-delay: 0ms;
}
@media screen and (min-width: 1100px) {
.o-overlay-menu {
display: none;
}
}
.o-overlay-menu__bar {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 32px;
padding-bottom: 32px;
}
.o-overlay-menu__img {
height: 48px;
}
.o-overlay-menu__toggle {
transform: rotate(-0.5turn);
transition: transform 600ms ease-out;
transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
transform: none;
}
.o-overlay-menu__nav {
margin-top: 8px;
}
.o-overlay-menu__list {
margin-left: 0;
list-style: none;
}
.o-overlay-menu__item + .o-overlay-menu__item {
border-top: 1px solid #656565;
}
.o-overlay-menu__link {
font-size: 1.25rem;
line-height: 1.2;
display: block;
padding: 12px 7.1428571429%;
color: #FFFFFF;
text-decoration: none;
opacity: 0;
transform: translateX(-8.3333333333%) scale(1.2);
transform-origin: top left;
transition: all 300ms ease-in;
transition-delay: 0ms;
}
.o-overlay-menu__link:hover {
background-color: #171717;
}
.o-overlay-menu__link:focus {
outline-offset: 2px;
outline-color: #FFFFFF;
}
.is-overlay-menu-active .o-overlay-menu__link {
opacity: 1;
transform: none;
transition: all 200ms ease-out;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(1) .o-overlay-menu__link {
transition-delay: 495ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(2) .o-overlay-menu__link {
transition-delay: 540ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(3) .o-overlay-menu__link {
transition-delay: 585ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(4) .o-overlay-menu__link {
transition-delay: 630ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(5) .o-overlay-menu__link {
transition-delay: 675ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(6) .o-overlay-menu__link {
transition-delay: 720ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(7) .o-overlay-menu__link {
transition-delay: 765ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(8) .o-overlay-menu__link {
transition-delay: 810ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(9) .o-overlay-menu__link {
transition-delay: 855ms;
}
.is-overlay-menu-active .o-overlay-menu__item:nth-child(10) .o-overlay-menu__link {
transition-delay: 900ms;
}
/* In the [$o-partners] map we define some settings:
*
* 'columns'.key = number of items in a row
* 'columns'.value = breakpoint size from which we want that number of items
*/
@media screen and (min-width: 320px) {
.o-partners__list {
display: flex;
flex-wrap: wrap;
margin: -4%;
}
}
.o-partners__item {
max-width: 444px;
margin: 4% auto;
list-style-type: none;
}
@media screen and (min-width: 320px) {
.o-partners__item {
flex: none;
margin: 4%;
flex-basis: calc(50% - (4% * 2));
}
}
@media screen and (min-width: 620px) {
.o-partners__item {
flex-basis: calc(33.3333333333% - (4% * 2));
}
}
@media screen and (min-width: 860px) {
.o-partners__item {
flex-basis: calc(25% - (4% * 2));
}
}
@media screen and (min-width: 1080px) {
.o-partners__item {
flex-basis: calc(20% - (4% * 2));
}
}
.o-partners__logo {
display: flex;
align-items: center;
height: 100%;
transition: opacity 150ms linear;
}
.o-partners__logo:hover {
opacity: 0.75;
}
.o-partners__figure {
display: flex;
align-items: center;
}
.o-partners__img {
display: block;
width: 100%;
object-fit: contain;
}
.o-quote {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
}
@media screen and (min-width: 840px) {
.o-quote {
display: flex;
}
}
.o-quote__body > * + * {
margin-top: 24px;
}
@media screen and (min-width: 840px) {
.o-quote__body {
width: 41.6666666667%;
margin-left: 8.3333333333%;
}
}
.o-quote__picture {
display: block;
}
@media screen and (max-width: 839px) {
.o-quote__picture {
margin-top: 32px;
}
}
@media screen and (min-width: 840px) {
.o-quote__picture {
width: 33.3333333333%;
margin-left: 8.3333333333%;
margin-right: 8.3333333333%;
}
}
.o-quote__img {
display: block;
margin: 0 auto;
}
.o-quote__text {
font-size: 1.25rem;
line-height: 1.2;
quotes: "\201C" "\201D";
}
.o-quote__text::before {
content: open-quote;
}
.o-quote__text::after {
content: close-quote;
}
.o-quote__heading {
font-size: 1rem;
line-height: 1.5;
color: #000000;
}
.o-quote__heading::before {
content: "- ";
}
.o-quote__subheading {
font-size: 0.9375rem;
line-height: 1.6;
color: #656565;
}
.o-testimonials__matrix {
display: flex;
flex-wrap: wrap;
margin: -24px;
}
.o-testimonials__item {
border-radius: 4px;
flex: 0 1 100%;
margin: 24px;
padding-top: 40px;
padding-bottom: 40px;
background-color: #F8F8F8;
box-shadow: 0 12.5px 10px rgba(0, 0, 0, 0.035), 0 100px 80px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 800px) {
.o-testimonials__item {
flex-basis: calc(50% - 48px);
}
}
.o-testimonials__body {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
margin-top: 0;
padding-right: 40px;
}
.o-testimonials__picture {
display: block;
flex-grow: 1;
flex-basis: 25%;
margin-bottom: 24px;
margin-left: 40px;
}
.o-testimonials__content {
flex-grow: 9999;
flex-basis: 12em;
margin-left: 24px;
}
.o-testimonials__author {
margin-top: 24px;
}
.o-subfooter {
z-index: 10;
background-color: #EBF0F5;
color: #89A4B8;
}
.o-subfooter__main {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
font-size: 0.9375rem;
line-height: 1.6;
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
padding-top: 8px;
padding-bottom: 8px;
}
@media screen and (max-width: 1169px) {
.o-subfooter__main {
padding-top: 24px;
text-align: center;
flex-direction: column;
}
}
.o-subfooter__copyright {
margin: 0 auto;
}
@media screen and (min-width: 1170px) {
.o-subfooter__copyright {
margin-left: 0;
margin-right: 32px;
}
}
.o-subfooter__nav {
margin: 8px auto 16px;
}
@media screen and (min-width: 1170px) {
.o-subfooter__nav {
margin: 0 0 0 auto;
}
}
.o-subfooter__list {
display: flex;
flex-wrap: wrap;
list-style-type: none;
margin: 0;
}
@media screen and (max-width: 1169px) {
.o-subfooter__list {
justify-content: center;
}
}
.o-subfooter__item {
margin-right: 32px;
white-space: nowrap;
}
@media screen and (max-width: 1169px) {
.o-subfooter__item {
margin-right: 16px;
margin-bottom: 8px;
}
.o-subfooter__item:first-child {
width: 100%;
}
.o-subfooter__item:last-child {
display: flex;
align-items: center;
}
.o-subfooter__item:last-child::before {
content: "";
display: block;
width: 1px;
height: 100%;
margin-right: 16px;
background-color: #89A4B8;
}
}
.o-subfooter__link {
color: #89A4B8;
text-decoration: none;
transition: color 200ms;
}
.o-subfooter__link:hover {
color: #2D5C80;
}
.o-subfooter__trademark {
margin-top: 8px;
margin-bottom: 8px;
}
@media screen and (max-width: 1169px) {
.o-subfooter__trademark {
margin: 0 auto;
padding-top: 16px;
border-top: 1px solid #89A4B8;
}
}
/*
* On small screens the content is stacked, without controls
* When the screen is wide enough we add the controls
* and show only the chosen 'slide content'
*/
.o-tabs {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
}
@media screen and (max-width: 839px) {
.o-tabs__controls {
display: none;
}
}
@media screen and (min-width: 840px) {
.o-tabs__controls {
display: flex;
align-items: center;
}
}
.o-tabs__button {
font-size: 1rem;
line-height: 1.5;
border: none;
padding: 16px 32px;
min-height: 48px;
color: #3b3b3b;
cursor: pointer;
transition: all 200ms linear;
}
.o-tabs__button:hover {
color: #000000;
background-color: #F8F8F8;
}
.o-tabs__button.is-active {
color: #000000;
background-color: #efefef;
}
.o-tabs__button:focus {
outline: none;
border-color: #13cfce;
}
.o-tabs__button:focus:not(.is-active):not(:active) {
box-shadow: 0 0 5px 3px rgba(19, 207, 206, 0.1);
}
@media screen and (min-width: 840px) {
.o-tabs__container {
display: -ms-grid;
display: grid;
-ms-grid-columns: 1fr;
grid-template-columns: 1fr;
-ms-grid-rows: 1fr;
grid-template-rows: 1fr;
padding: 48px 32px;
background-color: #efefef;
}
}
@media screen and (max-width: 839px) {
.o-tabs__content + .o-tabs__content {
margin-top: 40px;
}
}
@media screen and (min-width: 840px) {
.o-tabs__content {
-ms-grid-row: 1;
grid-row: 1;
-ms-grid-column: 1;
grid-column: 1;
opacity: 0;
z-index: 0;
pointer-events: none;
transition: opacity 200ms linear;
}
.o-tabs__content.is-active {
opacity: 1;
z-index: 1;
pointer-events: all;
}
}
.o-tabs__label {
font-size: 0.875rem;
line-height: 1.1428571429;
display: block;
padding-bottom: 8px;
text-transform: uppercase;
color: #000000;
}
@media screen and (min-width: 840px) {
.o-tabs__label {
display: none;
}
}
/* In the [$o-team] map we define some settings:
*
* 'columns'.key = number of items in a row
* 'columns'.value = breakpoint size from which we want that number of items
*/
.o-team {
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
}
@media screen and (min-width: 524px) {
.o-team__matrix {
display: flex;
flex-wrap: wrap;
margin: -16px;
}
}
.o-team__item {
max-width: 320px;
margin: 16px auto;
}
@media screen and (min-width: 524px) {
.o-team__item {
flex: none;
margin: 16px;
flex-basis: calc(50% - (16px * 2));
}
}
@media screen and (min-width: 784px) {
.o-team__item {
flex-basis: calc(33.3333333333% - (16px * 2));
}
}
@media screen and (min-width: 1190px) {
.o-team__item {
flex-basis: calc(25% - (16px * 2));
}
}
.o-text {
max-width: 744px;
text-align: center;
line-height: 2;
color: #2D5C80;
}
.o-text {
margin-top: 48px;
}
@media screen and (min-width: 320px) {
.o-text {
margin-top: calc(2.3529411765vw + 40.4705882353px);
}
}
@media screen and (min-width: 1000px) {
.o-text {
margin-top: 64px;
}
}
.o-text {
margin-bottom: 48px;
}
@media screen and (min-width: 320px) {
.o-text {
margin-bottom: calc(2.3529411765vw + 40.4705882353px);
}
}
@media screen and (min-width: 1000px) {
.o-text {
margin-bottom: 64px;
}
}
.o-text-image {
position: relative;
display: -ms-grid;
display: grid;
-ms-grid-rows: auto 48px auto;
grid-template-rows: auto 48px auto;
-ms-grid-columns: minmax(7.1428571429vw, 1fr) minmax(0, 1152px) minmax(7.1428571429vw, 1fr);
grid-template-columns: minmax(7.1428571429vw, 1fr) minmax(0, 1152px) minmax(7.1428571429vw, 1fr);
margin-top: 72px;
}
@media screen and (min-width: 1000px) {
.o-text-image {
-ms-grid-rows: 1fr auto 1fr;
grid-template-rows: 1fr auto 1fr;
-ms-grid-columns: minmax(7.1428571429vw, 1fr) (minmax(0, 576px))[2] minmax(7.1428571429vw, 1fr);
grid-template-columns: minmax(7.1428571429vw, 1fr) repeat(2, minmax(0, 576px)) minmax(7.1428571429vw, 1fr);
background-image: linear-gradient(to bottom, transparent 50%, #152C3D 50%);
padding-bottom: 72px;
}
}
.o-text-image:after {
content: "";
position: absolute;
z-index: 2;
bottom: 0;
left: 50%;
height: 48px;
width: 1px;
background-color: #FFFFFF;
transform: translateY(50%);
}
@media screen and (min-width: 1000px) {
.o-text-image:after {
height: 144px;
bottom: 72px;
}
}
.o-text-image__visual {
-ms-grid-column: 2;
-ms-grid-column-span: 2;
grid-column: 2/4;
-ms-grid-row: 1;
-ms-grid-row-span: 2;
grid-row: 1/3;
}
@media screen and (min-width: 1000px) {
.o-text-image__visual {
-ms-grid-column: 2;
-ms-grid-column-span: 3;
grid-column: 2/5;
-ms-grid-row: 1;
-ms-grid-row-span: 3;
grid-row: 1/4;
}
}
.o-text-image__description {
font-weight: 300;
-ms-grid-column: 2;
-ms-grid-column-span: 1;
grid-column: 2/3;
-ms-grid-row: 2;
-ms-grid-row-span: 2;
grid-row: 2/4;
position: relative;
z-index: 1;
color: #FFFFFF;
padding-top: 48px;
padding-bottom: 48px;
padding-right: 24px;
}
@media screen and (min-width: 1000px) {
.o-text-image__description {
-ms-grid-column: 2;
-ms-grid-column-span: 1;
grid-column: 2/3;
-ms-grid-row: 2;
-ms-grid-row-span: 1;
grid-row: 2/3;
padding-top: 72px;
padding-bottom: 72px;
padding-right: 104px;
}
}
.o-text-image__description::before {
content: "";
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
right: 0;
left: -50vw;
background-color: #2D5C80;
}
.o-vacancies {
margin: 0;
list-style: none;
}
.o-vacancies__item + .o-vacancies__item {
margin-top: 16px;
}
.o-vacancies__link {
font-size: 1.25rem;
line-height: 1.2;
display: block;
padding: 32px;
border: 2px solid #1D1D1D;
color: #1D1D1D;
text-decoration: none;
transition: all 200ms;
}
.o-vacancies__link:hover {
border-color: #cdcdcd;
background-color: #efefef;
}
/* Video Modal
-----------------------------------------*/
/* set the iframe element to stretch to fit its parent element */
iframe#youtube-iframe {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
background: #000;
box-shadow: 0 2px 16px rgba(0, 0, 0, 0.5);
}
.o-video-modal,
.o-video-modal__overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 3000;
}
.o-video-modal {
overflow: hidden;
position: fixed;
opacity: 0;
transform: translate(500%, 0%);
transition: transform 0s linear 0s;
display: flex;
align-items: center;
transform-style: preserve-3d;
}
.o-video-modal__overlay {
z-index: 0;
background: rgba(21, 44, 61, 0.85);
/* overlay color */
opacity: 0;
transition: opacity 200ms ease-out 50ms;
}
.o-video-modal__content {
position: relative;
top: auto;
right: auto;
bottom: auto;
left: auto;
z-index: 1;
margin: 0 auto;
overflow-y: visible;
background: #000000;
width: calc(100% - 12em);
height: 0;
padding-top: calc((100% - 12em) * 0.5625);
/* 16:9 calc */
/* Scaling to fit within the current Viewport size:
When viewport aspect ratio is greater than 16:9
work off the height instead of the width for calc */
/* Mobile Layout Tweaks - side margins reduced */
}
@media (min-aspect-ratio: 16/9) {
.o-video-modal__content {
width: 0;
height: calc(100vh - 10em);
padding-top: 0;
padding-left: calc((100vh - 10em) * 1.7778);
/* 16:9 calc */
}
}
@media (max-width: 640px) {
.o-video-modal__content {
width: calc(100% - 1em);
padding-top: calc((100% - 1em) * 0.5625);
/* 16:9 calc */
}
}
/* modal close button */
.o-video-modal__close {
background-color: transparent;
border: none;
display: block;
position: absolute;
left: 0;
top: -40px;
text-decoration: none;
font-size: 20px;
font-weight: bold;
color: #fff;
cursor: pointer;
}
/* show the modal:
add class to the body to reveal (via javascript) */
.is-visible-video-modal .o-video-modal {
opacity: 1;
transform: none;
}
.is-visible-video-modal .o-video-modal__overlay {
opacity: 1;
}
.is-visible-video-modal .o-video-modal__content {
transform: none;
}
/* 7 - Templates
* Override styling for a specific template
=========================================================== */
/** ==========================================================================
* Templates
* =========================================================================*/
/* 8 - SCOPES
* Elements and classes that are scoped by a parent class
=========================================================== */
/**
* All text elements that can be added by the user through a CMS
*/
.s-text {
color: #152C3D;
}
.s-text h2, .s-text h3, .s-text h4 {
font-weight: 300;
font-family: "mokoko", sans-serif;
color: currentColor;
}
.s-text > * + * {
margin-top: 32px;
}
.s-text > :first-child {
margin-top: 0 !important;
}
.s-text > * + [class*=c-] {
margin-top: 40px;
}
.s-text > ul:not([class]) {
list-style: none;
}
.s-text > ul:not([class]) > li {
position: relative;
margin-left: -1.125em;
padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
font-size: 1.5rem;
line-height: 1.3333333333;
content: "\2022";
position: absolute;
top: -4px;
left: 0;
}
.s-text > ol:not([class]) {
list-style: none;
counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
counter-increment: ol-counter;
position: relative;
margin-left: -1.125em;
padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
content: counter(ol-counter) ". ";
position: absolute;
top: 0;
left: 0;
width: 1.275em;
text-align: right;
}
.s-text--on-dark {
color: #FFFFFF;
}
/* 9 - LIBRARIES
* Styling we implement from third parties
=========================================================== */
/**
* Animation classes for the KAL package.
* KAl stands for Komma Animation Library
*
* There are different animation types that we can define,
* the name of which is used as the class, prefixed with 'kal-'
*
* When the plugin is activated an element that will be animated
* receives a extra state class
*
* When the element comes into view the plugin should swap
* to the final state
*
*/
/**
* Config
*/
/**
* Easings
*/
/**
* Core
*/
[data-kal].is-kal-end {
transition-duration: var(--kal-duration, 1200ms);
transition-delay: var(--kal-delay, 0s);
transition-timing-function: var(--kal-easing, ease);
}
[data-kal][data-kal-easing=linear] {
transition-timing-function: linear;
}
[data-kal][data-kal-easing=ease] {
transition-timing-function: ease;
}
[data-kal][data-kal-easing=ease-in] {
transition-timing-function: ease-in;
}
[data-kal][data-kal-easing=ease-out] {
transition-timing-function: ease-out;
}
[data-kal][data-kal-easing=ease-in-out] {
transition-timing-function: ease-in-out;
}
[data-kal][data-kal-easing=ease-in-cubic] {
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
[data-kal][data-kal-easing=ease-out-cubic] {
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}
[data-kal][data-kal-easing=ease-in-out-cubic] {
transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
}
[data-kal][data-kal-easing=ease-in-circ] {
transition-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.335);
}
[data-kal][data-kal-easing=ease-out-circ] {
transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
[data-kal][data-kal-easing=ease-in-out-circ] {
transition-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}
[data-kal][data-kal-easing=ease-in-expo] {
transition-timing-function: cubic-bezier(0.95, 0.05, 0.795, 0.035);
}
[data-kal][data-kal-easing=ease-out-expo] {
transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}
[data-kal][data-kal-easing=ease-in-out-expo] {
transition-timing-function: cubic-bezier(1, 0, 0, 1);
}
[data-kal][data-kal-easing=ease-in-quad] {
transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}
[data-kal][data-kal-easing=ease-out-quad] {
transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
[data-kal][data-kal-easing=ease-in-out-quad] {
transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}
[data-kal][data-kal-easing=ease-in-quart] {
transition-timing-function: cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
[data-kal][data-kal-easing=ease-out-quart] {
transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
[data-kal][data-kal-easing=ease-in-out-quart] {
transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}
[data-kal][data-kal-easing=ease-in-quint] {
transition-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
}
[data-kal][data-kal-easing=ease-out-quint] {
transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
}
[data-kal][data-kal-easing=ease-in-out-quint] {
transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
[data-kal][data-kal-easing=ease-in-sine] {
transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}
[data-kal][data-kal-easing=ease-out-sine] {
transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}
[data-kal][data-kal-easing=ease-in-out-sine] {
transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
[data-kal][data-kal-easing=ease-in-back] {
transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}
[data-kal][data-kal-easing=ease-out-back] {
transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
[data-kal][data-kal-easing=ease-in-out-back] {
transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
/**
* Preset Animations
*/
/* ------------------
* Fade
*/
[data-kal|=fade].is-kal-start {
opacity: 0;
}
[data-kal|=fade].is-kal-end {
transition-property: opacity;
opacity: 1;
}
/* ------------------
* Slide
*/
[data-kal*=slide].is-kal-start {
opacity: 0;
}
[data-kal*=slide].is-kal-end {
--kal-duration: 1000ms;
transition-timing-function: cubic-bezier(0.37, 0.01, 0, 0.98);
opacity: 1;
transform: none;
}
/* ------------------
* Move
*/
[data-kal*=move].is-kal-end {
transition-timing-function: cubic-bezier(0.37, 0.01, 0, 0.98);
transform: none;
}
/* ------------------
* Slide and move
*/
[data-kal*=up].is-kal-start {
transform: translateY(var(--kal-slide-offset, 64px));
}
[data-kal*=down].is-kal-start {
transform: translateY(calc(var(--kal-slide-offset, 64px) * -1));
}
[data-kal*=right].is-kal-start {
transform: translateX(calc(var(--kal-slide-offset, 64px) * -1));
}
[data-kal*=left].is-kal-start {
transform: translateX(var(--kal-slide-offset, 64px));
}
/* ------------------
* Zoom-in
*/
[data-kal=zoom-in].is-kal-start {
opacity: 0;
transform: scale(0.8);
}
[data-kal=zoom-in].is-kal-end {
transition-property: opacity, transform;
opacity: 1;
transform: none;
}
/* 10 - UTILITIES
* High-specificity, very explicit selectors.
* Overrides and helper classes.
=========================================================== */
/** =====================================================================================
* Color
===================================================================================== */
/**
* Here we print out all our helper classes for our defined colors
* Based on these articles:
* - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
* - https://blog.atechmedia.com/css-for-multiple-themes/
* Output is in the form of:
.u-color-primary {
color: #bada55;
}
.u-bg-neutral--900 {
background-color: #decaff;
}
*/
.u-color-primary--100 {
color: #EBF0F5;
}
.u-bg-primary--100 {
background-color: #EBF0F5;
}
.u-color-primary--300 {
color: #89A4B8;
}
.u-bg-primary--300 {
background-color: #89A4B8;
}
.u-color-primary--500 {
color: #2D5C80;
}
.u-bg-primary--500 {
background-color: #2D5C80;
}
.u-color-primary--600 {
color: #152C3D;
}
.u-bg-primary--600 {
background-color: #152C3D;
}
.u-color-neutral--0 {
color: #FFFFFF;
}
.u-bg-neutral--0 {
background-color: #FFFFFF;
}
.u-color-neutral--100 {
color: #F8F8F8;
}
.u-bg-neutral--100 {
background-color: #F8F8F8;
}
.u-color-neutral--200 {
color: #efefef;
}
.u-bg-neutral--200 {
background-color: #efefef;
}
.u-color-neutral--300 {
color: #cdcdcd;
}
.u-bg-neutral--300 {
background-color: #cdcdcd;
}
.u-color-neutral--400 {
color: #999999;
}
.u-bg-neutral--400 {
background-color: #999999;
}
.u-color-neutral--500 {
color: #656565;
}
.u-bg-neutral--500 {
background-color: #656565;
}
.u-color-neutral--600 {
color: #4a4a4a;
}
.u-bg-neutral--600 {
background-color: #4a4a4a;
}
.u-color-neutral--700 {
color: #3b3b3b;
}
.u-bg-neutral--700 {
background-color: #3b3b3b;
}
.u-color-neutral--800 {
color: #2C2C2C;
}
.u-bg-neutral--800 {
background-color: #2C2C2C;
}
.u-color-neutral--900 {
color: #1D1D1D;
}
.u-bg-neutral--900 {
background-color: #1D1D1D;
}
.u-color-neutral--1000 {
color: #000000;
}
.u-bg-neutral--1000 {
background-color: #000000;
}
.u-color-feedback--focus {
color: #13cfce;
}
.u-bg-feedback--focus {
background-color: #13cfce;
}
.u-color-feedback--action {
color: #4079B8;
}
.u-bg-feedback--action {
background-color: #4079B8;
}
.u-color-feedback--warning {
color: #ffd33a;
}
.u-bg-feedback--warning {
background-color: #ffd33a;
}
.u-placeholder-image {
height: 100% !important;
width: 100% !important;
object-fit: cover !important;
}
.u-text-align-center {
text-align: center !important;
}
.u-list {
list-style: none;
margin-left: 0;
}
/**
* Here we print out all our helper classes for our defined $font-weights map
* Output of the classes in the this form:
.u-fw-regular {}
.u-fw-semiBold {}
... etc
*/
.u-fw-light {
font-weight: 300;
}
.u-fw-regular {
font-weight: 400;
}
.u-fw-extra-bold {
font-weight: 800;
}
.u-fw-extraBold {
font-weight: 800;
}
.u-fw-black {
font-weight: 900;
}
.u-visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
border: 0;
padding: 0;
white-space: nowrap;
-webkit-clip-path: inset(100%);
clip-path: inset(100%);
overflow: hidden;
}
.u-hidden {
display: none !important;
}
@media screen and (max-width: 839px) {
.u-hidden\@s-down {
display: none !important;
}
}
@media screen and (min-width: 840px) {
.u-hidden\@m-up {
display: none !important;
}
}
@media screen and (max-width: 1151px) {
.u-hidden\@m-down {
display: none !important;
}
}
@media screen and (min-width: 1152px) {
.u-hidden\@l-up {
display: none !important;
}
}
@media screen and (max-width: 1343px) {
.u-hidden\@l-down {
display: none !important;
}
}
/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-spacing-m0 {
margin: 0px !important;
}
.u-spacing-mt0 {
margin-top: 0px !important;
}
.u-spacing-mr0 {
margin-right: 0px !important;
}
.u-spacing-mb0 {
margin-bottom: 0px !important;
}
.u-spacing-ml0 {
margin-left: 0px !important;
}
.u-spacing-p0 {
padding: 0px !important;
}
.u-spacing-pt0 {
padding-top: 0px !important;
}
.u-spacing-pr0 {
padding-right: 0px !important;
}
.u-spacing-pb0 {
padding-bottom: 0px !important;
}
.u-spacing-pl0 {
padding-left: 0px !important;
}
.u-spacing-m1 {
margin: 8px !important;
}
.u-spacing-mt1 {
margin-top: 8px !important;
}
.u-spacing-mr1 {
margin-right: 8px !important;
}
.u-spacing-mb1 {
margin-bottom: 8px !important;
}
.u-spacing-ml1 {
margin-left: 8px !important;
}
.u-spacing-p1 {
padding: 8px !important;
}
.u-spacing-pt1 {
padding-top: 8px !important;
}
.u-spacing-pr1 {
padding-right: 8px !important;
}
.u-spacing-pb1 {
padding-bottom: 8px !important;
}
.u-spacing-pl1 {
padding-left: 8px !important;
}
.u-spacing-m2 {
margin: 16px !important;
}
.u-spacing-mt2 {
margin-top: 16px !important;
}
.u-spacing-mr2 {
margin-right: 16px !important;
}
.u-spacing-mb2 {
margin-bottom: 16px !important;
}
.u-spacing-ml2 {
margin-left: 16px !important;
}
.u-spacing-p2 {
padding: 16px !important;
}
.u-spacing-pt2 {
padding-top: 16px !important;
}
.u-spacing-pr2 {
padding-right: 16px !important;
}
.u-spacing-pb2 {
padding-bottom: 16px !important;
}
.u-spacing-pl2 {
padding-left: 16px !important;
}
.u-spacing-m3 {
margin: 24px !important;
}
.u-spacing-mt3 {
margin-top: 24px !important;
}
.u-spacing-mr3 {
margin-right: 24px !important;
}
.u-spacing-mb3 {
margin-bottom: 24px !important;
}
.u-spacing-ml3 {
margin-left: 24px !important;
}
.u-spacing-p3 {
padding: 24px !important;
}
.u-spacing-pt3 {
padding-top: 24px !important;
}
.u-spacing-pr3 {
padding-right: 24px !important;
}
.u-spacing-pb3 {
padding-bottom: 24px !important;
}
.u-spacing-pl3 {
padding-left: 24px !important;
}
.u-spacing-m4 {
margin: 32px !important;
}
.u-spacing-mt4 {
margin-top: 32px !important;
}
.u-spacing-mr4 {
margin-right: 32px !important;
}
.u-spacing-mb4 {
margin-bottom: 32px !important;
}
.u-spacing-ml4 {
margin-left: 32px !important;
}
.u-spacing-p4 {
padding: 32px !important;
}
.u-spacing-pt4 {
padding-top: 32px !important;
}
.u-spacing-pr4 {
padding-right: 32px !important;
}
.u-spacing-pb4 {
padding-bottom: 32px !important;
}
.u-spacing-pl4 {
padding-left: 32px !important;
}
.u-spacing-m5 {
margin: 40px !important;
}
.u-spacing-mt5 {
margin-top: 40px !important;
}
.u-spacing-mr5 {
margin-right: 40px !important;
}
.u-spacing-mb5 {
margin-bottom: 40px !important;
}
.u-spacing-ml5 {
margin-left: 40px !important;
}
.u-spacing-p5 {
padding: 40px !important;
}
.u-spacing-pt5 {
padding-top: 40px !important;
}
.u-spacing-pr5 {
padding-right: 40px !important;
}
.u-spacing-pb5 {
padding-bottom: 40px !important;
}
.u-spacing-pl5 {
padding-left: 40px !important;
}
.u-spacing-m6 {
margin: 48px !important;
}
.u-spacing-mt6 {
margin-top: 48px !important;
}
.u-spacing-mr6 {
margin-right: 48px !important;
}
.u-spacing-mb6 {
margin-bottom: 48px !important;
}
.u-spacing-ml6 {
margin-left: 48px !important;
}
.u-spacing-p6 {
padding: 48px !important;
}
.u-spacing-pt6 {
padding-top: 48px !important;
}
.u-spacing-pr6 {
padding-right: 48px !important;
}
.u-spacing-pb6 {
padding-bottom: 48px !important;
}
.u-spacing-pl6 {
padding-left: 48px !important;
}
.u-spacing-m7 {
margin: 56px !important;
}
.u-spacing-mt7 {
margin-top: 56px !important;
}
.u-spacing-mr7 {
margin-right: 56px !important;
}
.u-spacing-mb7 {
margin-bottom: 56px !important;
}
.u-spacing-ml7 {
margin-left: 56px !important;
}
.u-spacing-p7 {
padding: 56px !important;
}
.u-spacing-pt7 {
padding-top: 56px !important;
}
.u-spacing-pr7 {
padding-right: 56px !important;
}
.u-spacing-pb7 {
padding-bottom: 56px !important;
}
.u-spacing-pl7 {
padding-left: 56px !important;
}
.u-spacing-m8 {
margin: 64px !important;
}
.u-spacing-mt8 {
margin-top: 64px !important;
}
.u-spacing-mr8 {
margin-right: 64px !important;
}
.u-spacing-mb8 {
margin-bottom: 64px !important;
}
.u-spacing-ml8 {
margin-left: 64px !important;
}
.u-spacing-p8 {
padding: 64px !important;
}
.u-spacing-pt8 {
padding-top: 64px !important;
}
.u-spacing-pr8 {
padding-right: 64px !important;
}
.u-spacing-pb8 {
padding-bottom: 64px !important;
}
.u-spacing-pl8 {
padding-left: 64px !important;
}
/* ==========================================================================
* This grid can be turned on and off when you want to check
* if everything is nice in place.
* Set flag 'show_grid' to true in site.php
* ========================================================================== */
.u-visible-grid {
z-index: 10000;
margin-left: auto;
margin-right: auto;
max-width: 1152px;
width: calc((100% / 14) * 12);
position: fixed;
left: 0;
right: 0;
pointer-events: none;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
.u-visible-grid {
padding: 0;
}
}
.u-visible-grid__main {
height: 100vh;
background: repeating-linear-gradient(to right, rgba(38, 77, 217, 0.2), rgba(38, 77, 217, 0.2) 1px, transparent 1px, transparent 8.3333333333%), repeating-linear-gradient(to left, rgba(38, 77, 217, 0.2), rgba(38, 77, 217, 0.2) 1px, transparent 1px, transparent 100vw);
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmludGVycG9sYXRlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMuZm9udHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8yLVRvb2xzL190b29scy5tZWRpYVF1ZXJpZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8yLVRvb2xzL190b29scy50b29sYm94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMuemluZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMy1FbGVtZW50cy9fZWxlbWVudHMuYmFzZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmhlYWRpbmdzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMy1FbGVtZW50cy9fZWxlbWVudHMubGlzdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuY29udGFpbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzQtTGF5b3V0cy9fbGF5b3V0cy5kaXZpZGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuZm9ybS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzQtTGF5b3V0cy9fbGF5b3V0cy5wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmJyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmNhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2hlY2tib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2xvc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZm9ybUdyb3VwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1GZWVkYmFjay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oYW1idXJnZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGVhZGluZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmlucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmxhbmd1YWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLm5hdi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYXNzd29yZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wZXJzb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zZXJ2aWNlUG9pbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2l0ZW1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5za2lwTGluay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZUluZGljYXRvci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudGV4dEJ1dHRvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy50cmFkZW1hcmsuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMudmlkZW8uc2NzcyIsIndlYnBhY2s6Ly8vLi88bm8gc291cmNlPiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmJsb2cuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhbGxvdXRCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhcmRHcmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5jb250ZW50UGVyc29uYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNvb2tpZUJhci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZGF0YS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG91YmxlSW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmRvdWJsZVRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5tYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm92ZXJsYXlNZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5wYXJ0bmVycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMucXVvdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRlc3RpbW9uaWFscy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc3ViZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50YWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50ZWFtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50ZXh0SW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnZhY2FuY2llcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudmlkZW9Nb2RhbC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzctVGVtcGxhdGVzL190ZW1wbGF0ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy84LVNjb3Blcy9fc2NvcGVzLnRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LUxpYnJhcmllcy9fbGlicmFyaWVzLmthbC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEwLVV0aWxpdGllcy9fdXRpbGl0aWVzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEwLVV0aWxpdGllcy9fdXRpbGl0aWVzLmhlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xMC1VdGlsaXRpZXMvX3V0aWxpdGllcy5oaWRkZW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xMC1VdGlsaXRpZXMvX3V0aWxpdGllcy5zaGFtZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEwLVV0aWxpdGllcy9fdXRpbGl0aWVzLnNwYWNpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xMC1VdGlsaXRpZXMvX3V0aWxpdGllcy52aXNpYmxlR3JpZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFnQjtBQUNoQjs7Ozs7OztnRUFBQTtBQ0RBOzs7OytEQUFBO0FBdUNBOzs7Ozs7Ozs7Ozs7R0FBQTtBQ3ZDQTs7OENBQUE7QUNBQTs7OztnRUFBQTtBQU1BOztHQUFBO0FBOERBOztHQUFBO0FDcEVBOztrREFBQTtBSmNBOzsrREFBQTtBS2RBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Ozs7Ozs7Ozs7Ozs7OztHQUFBO0FDQUE7O2dGQUFBO0FBS0E7Ozs7Ozs7OztHQUFBO0FBOENBOzs7Ozs7Ozs7Ozs7OztHQUFBO0FDbkRBO2dEQUFBO0FDQUE7O3NEQUFBO0FBS0E7Ozs7Ozs7Ozs7R0FBQTtBQWlDQTs7OztHQUFBO0FBZUE7QUFPQTtBQU9BO0FBa0JBOzs7Ozs7Ozs7Ozs7O0dBQUE7QUErQkE7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQTBCQTs7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQWdCQTs7OztHQUFBO0FBMEJBOzs7R0FBQTtBQWdCQTs7R0FBQTtBQUdBOztHQUFBO0FBNEJBOztHQUFBO0FDdk9BOzs7d0dBQUE7QUFpQkE7Ozs7O0dBQUE7QVZLQTs7K0RBQUE7QVd0QkE7O2dGQUFBO0FBSUE7Ozs7OztHQUFBO0FBUUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1gyTUQ7O0FXdk1BO0VKVU07RUFSQTtFSUFMO0VBQ0EsaUJSZG1CO0VRZW5CLHdDUitDbUI7RVE5Q25CO0VBQ0E7Q1gyTUQ7O0FXdk1BOzs7Ozs7R0FBQTtBQU9BO0VBQ0M7RUFDQTtFQUNBO0NYME1EO0FXeE1DO0VBR0M7Q1h3TUY7O0FXbk1BOztHQUFBO0FBR0E7RUFDQztFQUNBO0VBQ0E7RUFBbUI7Q1h1TXBCOztBV25NQTtHQUFBO0FBRUE7RUFDQztDWHNNRDs7QVdsTUE7Ozs7O0dBQUE7QUFNQTtFQUNDO0VBQXdCO0VBQ3hCO0VBQWM7RUFDZDtDWHVNRDs7QVduTUE7OztHQUFBO0FBSUE7OztFQUdDO0NYc01EOztBV2pNQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtDWG9NRDtBV2pNRTtFQUNDO0VBQ0E7RUFDQTtDWG1NSDtBVy9MQztFQUNDO0NYaU1GO0FXOUxDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1hnTUY7O0FXekxBOzs7O0VBSUM7RUFDQTtDWDRMRDs7QVluVUE7RUxnQ007RUFSQTtDUGdUTjs7QVlwVUE7RUw0Qk07RUFSQTtFS2xCTDtDWndVRDs7QVlyVUE7RUx1Qk07RUFSQTtFS2JMO0NaeVVEOztBWXRVQTtFTGtCTTtFQVJBO0VLUkw7Q1owVUQ7O0FZdlVBO0VMYU07RUFSQTtFS0hMO0NaMlVEOztBYWhXQTs7eUZBQUE7QUFLQTs7R0FBQTtBQUlBOztFQUVDO0VBQ0E7RUFDQTtDYmdXRDs7QWE3VkE7RUFDQztDYmdXRDs7QWEzVkE7O0dBQUE7QUFLQzs7RUFFQztDYjRWRjs7QUEzVkE7OytEQUFBO0FRU0M7RU1yQ0M7SUxxR0M7R1QwUkQ7Q0FDRjtBUTNWQztFTXJDQztJTDRHQztHVHdSRDtDQUNGOztBZXZZQTs7Z0ZBQUE7QUFLQTtFTjBNQztFQUNBO0VBR0M7RUFJQztDVDBMSDs7QVExV0M7RVF0Q0E7SUFDQztJQUNBO0doQm9aQTtDQUNGO0FRalhDO0VDMElFO0lBQ0MsaUJPektVO0doQm1aWjtDQUNGO0FRdFhDO0VRM0JDO0lBQ0M7R2hCb1pEO0NBQ0Y7O0FpQmxhQTtFQUNDO0NqQnFhRDs7QWlCaGFDO0VBQ0M7Q2pCbWFGOztBaUI5WkE7RUFDQztDakJpYUQ7O0FpQjVaQTtFQUNDO0VBQ0E7RUFDQTtFQUFRO0VBQVM7RUFBVztFQUM1QjtDakJrYUQ7O0FrQnhiQzs7Ozs7RUFBQTtBQVNEO0VBQ0M7RUFDQTtFQUNBO0VBQWM7Q2xCeWJmOztBa0JyYkE7RUFDRTtDbEJ3YkY7O0FrQnBiQTtFUklDO0VRRkE7RUFDQTtFQUNBO0NsQnViRDs7QWtCbmJBO0VBQ0U7RUFDRDtFQUdBLHFCaEJSNkI7RWdCUzdCO0NsQm9iRDtBa0JsYkM7RUFDQztDbEJvYkY7O0FBcGJBOzs7K0RBQUE7QW1CdENBOzs4RUFBQTtBQ0FBO0VBQ0M7Q3BCb2VEOztB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O0N2QjhyQkg7QXVCN3JCRztFQUFXO0N2QmdzQmQ7O0F1QjFyQkE7RWhCN0RNO0VFb0dKO0VjcENEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N2QjZyQkQ7QXVCM3JCQztFQUNDO0VBQ0E7RUFDQTtDdkI2ckJGOztBdUJ4ckJBO0VBQ0M7Q3ZCMnJCRDtBdUJ6ckJDO0VBQ0M7Q3ZCMnJCRjs7QXdCL3lCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO01BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hCa3pCRDtBd0JoekJDO0VBQ0M7Q3hCa3pCRjtBd0IveUJDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hCZ3pCRjtBd0I5eUJDO0VBQ0M7Q3hCZ3pCRjtBd0I5eUJDO0VBQ0M7Q3hCZ3pCRjtBd0I3eUJDO0VBQ0M7Q3hCK3lCRjs7QXlCdjFCQTtFbEJnQ007RUFSQTtFa0J0Qkw7RUFDQTtDekIyMUJEOztBeUJ2MUJBO0VBQ0M7Q3pCMDFCRDtBeUJ4MUJDO0VsQnNCSztFQVJBO0VrQlpKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QjIxQkY7O0EwQjcyQkE7RW5CZ0NNO0VBUkE7RUU0R0o7RWlCaklEO0VBQ0E7RUFDQTtFQUNBO0MxQmkzQkQ7QTBCLzJCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0MxQmkzQkY7QTBCNzJCQztFQUNDO0MxQisyQkY7O0EyQmg0QkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtNQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQm00QkQ7QTJCajRCQztFQUNDO0MzQm00QkY7QTJCaDRCQztFQUdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0JnNEJGO0EyQjczQkM7RUFDQztFQUNBO0MzQiszQkY7QTJCNTNCQztFQUNDO0VBQ0E7QzNCODNCRjtB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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9Cc3pDRjs7QWdDbDFDQTtFQUNDO0NoQ3ExQ0Q7O0FnQ2oxQ0E7RXpCMkJNO0VBUkE7RUU0R0o7RXVCNUhEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7Q2hDcTFDRDtBZ0NuMUNDO0VBQ0M7Q2hDcTFDRjs7QWdDaDFDQTtFQUNDO0VBQ0E7Q2hDbTFDRDs7QWdDLzBDQTtFQUNDO0VBQ0E7Q2hDazFDRDs7QWdDOTBDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDaENpMUNEO0FnQy8wQ0M7RUFDQztFQUNBO0VBQ0E7Q2hDaTFDRjs7QWdDNTBDQTtFQUNDO0VBQ0E7Q2hDKzBDRDtBZ0M3MENDO0VBQ0M7Q2hDKzBDRjtBZ0M1MENDO0VBQ0M7Q2hDODBDRjtBZ0MzMENDO0VBQ0M7Q2hDNjBDRjtBZ0MxMENDO0VBQ0M7Q2hDNDBDRjs7QWdDdjBDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQzAwQ0Q7QWdDeDBDQztFQUNDO0VBQ0E7Q2hDMDBDRjs7QWlDbjZDQTtFQUNDO0VBQ0E7Q2pDczZDRDs7QWlDbDZDQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakNxNkNEOztBaUNqNkNBO0UxQmFNO0VBUkE7RTBCSEw7RUFDQTtDakNxNkNEO0FpQ242Q0M7RUFDQztDakNxNkNGOztBaUNoNkNBO0VBQ0M7RUFDQSxhQWhDb0I7RUFpQ3BCO0VBQ0E7RUFDQTtDakNtNkNEO0FpQ2o2Q0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLFVBMUNtQjtFQTJDbkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakNtNkNGO0FpQ2g2Q0M7RUFDQztDakNrNkNGO0FpQ2g2Q0U7RUFDQztFQUNBO0NqQ2s2Q0g7QWlDNzVDQztFQUNDO0VBQ0E7Q2pDKzVDRjtBaUM3NUNFO0VBQ0M7RUFDQTtFQUNBO0NqQys1Q0g7QWlDMzVD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RUFDN0I7RUFDQTtDbkQ0OUVGO0FtRHo5RUM7RUFDQztDbkQyOUVGO0FtRHo5RUU7RUFDQztDbkQyOUVIO0FtRHY5RUM7RUFDQztDbkR5OUVGO0FRdDlFQztFMkMzQkQ7SUE0QkU7SUFDQTtJQUNBO0duRHk5RUE7Q0FDRjs7QW1EcjlFQTtFQUNDO0VBQ0E7Q25EdzlFRDtBUWwrRUM7RTJDUUQ7SUFLRTtJQUNBO0duRHk5RUE7Q0FDRjs7QW1EcjlFQTtFQUNDO0VBQ0E7RUFDQTtDbkR3OUVEO0FROStFQztFMkNtQkQ7SUFNRTtJQUNBO0lBQ0E7SUFDQTtHbkR5OUVBO0NBQ0Y7O0FtRHI5RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkR3OUVEO0FRaGdGQztFMkNpQ0Q7SUFVRTtJQUNBO0lBQ0E7SUFDQTtHbkR5OUVBO0NBQ0Y7O0FtRHA5RUE7RUFDQztDbkR1OUVEOztBbURuOUVBO0VBQ0M7RUFDQTtFQUNBO0NuRHM5RUQ7O0FtRGw5RUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRHE5RUQ7O0FtRGo5RUE7RUFDQztDbkRvOUVEOztBbURoOUVBO0VBQ0M7RUFDQTtDbkRtOUVEOztBb0Qxa0ZBO0UzQzhMQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0UyQ2hNQTtFQUNBO0VBQ0U7Q3BEaWxGSDs7QW9EN2tGQTtFM0N1TUM7RUFDQTtFQUdDO0VBSUM7Q1RxNEVIO0FRcmpGQztFNEMvQkQ7STNDK0ZHO0lBQUE7R1QwL0VEO0NBQ0Y7QVEzakZDO0U0Qy9CRDtJM0NzR0c7SUFBQTtHVHkvRUQ7Q0FDRjtBUWprRkM7RTRDdkJBO0kzQ3VGRTtHVHFnRkQ7Q0FDRjtBUXRrRkM7RTRDdkJBO0kzQzhGRTtHVG1nRkQ7Q0FDRjs7QW9EMWxGQTtFN0NRTTtFQVJBO0NQK2xGTjs7QXFEcm5GQTtFQUNDO0VBQ0E7RUFDQTtDckR3bkZEO0FRdGxGQztFNkMvQkM7SUFDQztHckR3bkZEO0NBQ0Y7O0FxRG5uRkE7RTlDaUJNO0VBUkE7RUFnREEsaUJBSm1CO0U4Q2xEeEIsa0NsRHdEa0I7RWtEdkRsQjtFQUNBO0VBQ0E7Q3JEdW5GRDtBUXJtRkM7RTZDZkM7SUFDQztHckR1bkZEO0NBQ0Y7O0FxRGxuRkE7RTVDZ0xDO0VBQ0E7RUFHQztFQUlDO0U0Q3RMRjtFQUFBO0VBQ0E7RUFDQTtDckR3bkZEO0FRcG5GQztFNkNEQztJQUNDO0dyRHduRkQ7Q0FDRjs7QVF6bkZDO0U2Q09BO0lBQ0M7R3JEc25GQTtFcURwbkZBO0k1QzhKRDtJQUNBO0lBR0M7SUFJQztJNENwS0E7SUFDQTtJQUNBO0dyRHluRkQ7Q0FDRjtBcURwbkZBO0VBQ0M7RUFDQTtDckRzbkZEOztBc0RuckZBO0VBQ0M7RUFDQTtDdERzckZEO0FRanBGQztFOEN2Q0Q7SUFNRTtHdERzckZBO0NBQ0Y7O0FRdHBGQztFOEM1QkQ7SUFFRTtJQUNBO0d0RHFyRkE7Q0FDRjs7QVE3cEZDO0U4Q3BCRDtJQUVFO0d0RG9yRkE7Q0FDRjtBUW5xRkM7RThDcEJEO0lBS0U7R3REc3JGQTtDQUNGOztBdUQvc0ZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYXJEbUI2QjtFcURsQjdCO0VBQ0E7RUFFQTtFQUNBO0N2RGl0RkQ7QXVEN3NGQztFN0NTQTtFNkNQQztDdkQrc0ZGO0F1RDNzRkM7RUFDQztFQUNBO0VBQ0E7RUFFQTtDdkQ0c0ZGOztBdUR2c0ZBO0VBQ0M7RUFDQTtFQUNBO0N2RDBzRkQ7QVF0c0ZDO0UrQ1BEO0lBTUU7R3ZEMnNGQTtDQUNGOztBdUR2c0ZBO0VBQ0M7RUFDQTtDdkQwc0ZEO0FRaHRGQztFK0NJRDtJaERYTTtJQVJBO0dQb3VGSjtDQUNGOztBdUR4c0ZBO0VBQ0M7RUFDQTtDdkQyc0ZEO0F1RHpzRkM7RUFDQztDdkQyc0ZGOztBdUR0c0ZBO0VBQ0M7RUFDQTtDdkR5c0ZEO0FRbnVGQztFK0N3QkQ7SUFLRTtHdkQwc0ZBO0NBQ0Y7O0FReHVGQztFZ0RoQ0Q7SUFFRTtHeEQyd0ZBO0NBQ0Y7O0F3RHZ3RkE7RUFDQztFQUNBO0VBQUE7RUFDQTtFQUFBO0VBQ0E7RUFBQTtDeEQwd0ZEO0FRcnZGQztFZ0R6QkQ7SUFP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Q0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5RGlvR0Y7QThEOW5HRTtFQUNDO0VBQ0E7QzlEZ29HSDtBUXBwR0M7RXNENUJEO0lBc0RFO0c5RDhuR0E7Q0FDRjs7QThEMW5HQTtFckR5SUM7RUFDQTtFQUdDO0VBSUM7RXFEL0lGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlEZ29HRDs7QThENW5HQTtFQUNDO0M5RCtuR0Q7O0E4RDNuR0E7RUFDQztFQUNBO0VBQ0E7QzlEOG5HRDtBOEQ1bkdDO0VBQ0M7QzlEOG5HRjs7QThEem5HQTtFQUNDO0M5RDRuR0Q7O0E4RHhuR0E7RUFDQztFQUNBO0M5RDJuR0Q7O0E4RHRuR0M7RUFDQztDOUR5bkdGOztBOERwbkdBO0V2RGxGTTtFQVJBO0V1RDRGTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlEd25HRDtBOER0bkdDO0VBQ0M7QzlEd25HRjtBOERybkdDO0VBQ0M7RUFDQTtDOUR1bkdGO0E4RHBuR0M7RUFDQztFQUNBO0VBQ0E7QzlEc25HRjtBOERobkdHO0VBR0M7QzlEZ25HSjs7QThEbm5HRztFQUdDO0M5RG9uR0o7O0E4RHZuR0c7RUFHQztDOUR3bkdKOztBOEQzbkdHO0VBR0M7QzlENG5HSjs7QThEL25HRztFQUdDO0M5RGdvR0o7O0E4RG5vR0c7RUFHQztDOURvb0dKOztBOER2b0dHO0VBR0M7QzlEd29HSjs7QThEM29HRztFQUdDO0M5RDRvR0o7O0E4RC9vR0c7RUFHQztDOURncEdKOztBOERucEdHO0VBR0M7QzlEb3BHSjs7QStEdnlHQTs7OztHQUFBO0F2RHVDQztFdURoQkQ7SUFFRTtJQUNBO0lBQ0E7Ry9Ed3hHQTtDQUNGOztBK0RweEdBO0VBQ0M7RUFDQTtFQUNBO0MvRHV4R0Q7QVFueEdDO0V1RFBEO0lBYUk7SUFDQTtJQUlEO0cvRDh3R0Q7Q0FDRjtBUTF4R0M7RXVEUEQ7SUFrQkc7Ry9EbXhHRDtDQUNGO0FRL3hHQztFdURQRDtJQWtCRztHL0R3eEdEO0NBQ0Y7QVFweUdDO0V1RFBEO0lBa0JHO0cvRDZ4R0Q7Q0FDRjs7QStEeHhHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MvRDJ4R0Q7QStEenhHQztFQUNDO0MvRDJ4R0Y7O0ErRHR4R0E7RUFDQztFQUNBO0MvRHl4R0Q7O0ErRHB4R0E7RUFDQztFQUNBO0VBQ0E7Qy9EdXhHRDs7QWdFcjJHQTtFdkQrTUM7RUFDQTtFQUdDO0VBSUM7Q1RxcEdIOztBUXIwR0M7RXdEbENEO0lBRUU7R2hFMDJHQTtDQUNGOztBUzlzR0M7RUFDQyxpQnVEeEpxQjtDaEV5Mkd2QjtBUS8wR0M7RXdEM0JEO0lBSUU7SUFDQTtHaEUwMkdBO0NBQ0Y7O0FnRXQyR0E7RUFDQztDaEV5MkdEO0FRejFHQztFd0RqQkQ7SUFJRTtHaEUwMkdBO0NBQ0Y7QVE5MUdDO0V3RGpCRDtJQVFFO0lBQ0E7SUFDQTtHaEUyMkdBO0NBQ0Y7O0FnRXYyR0E7RUFDQztFQUNBO0NoRTAyR0Q7O0FnRXQyR0E7RXpEWE07RUFSQTtFeURxQkw7Q2hFMDJHRDtBZ0V4MkdDO0VBQVk7Q2hFMjJHYjtBZ0UxMkdDO0VBQVk7Q2hFNjJHYjs7QWdFejJHQTtFekRwQk07RUFSQTtFeUQ4Qkw7Q2hFNjJHRDtBZ0UzMkdDO0VBQ0M7Q2hFNjJHRjs7QWdFeDJHQTtFekQ5Qk07RUFSQTtFeUR3Q0w7Q2hFNDJHRDs7QWlFbDZHQTtFQUNDO0VBQ0E7RUFDQTtDakVxNkdEOztBaUVqNkdBO0V4RG1IRTtFd0RqSEQ7RUFDQTtFQUNBLGtCQXBCeUI7RUFxQnpCLHFCQXJCeUI7RUFzQnpCO0VBQ0E7Q2pFbzZHRDtBUXI1R0M7RXlEdEJEO0lBV0U7R2pFbzZHQTtDQUNGOztBaUVoNkdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxvQkFyQ3lCO0NqRXc4RzFCOztBaUUvNUdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkE5Q3lCO0NqRWc5RzFCOztBaUU5NUdBO0VBQ0M7RUFDQTtFQUNBLGtCQXBEeUI7Q2pFcTlHMUI7O0FpRTc1R0E7RUFDQyxpQkF6RHlCO0NqRXk5RzFCOztBa0V6OUdBO0V4RHVCQztFd0RyQkE7RUFDQTtDbEU0OUdEOztBa0V4OUdBO0V6RHNNQztFQUNBO0VBR0M7RUFJQztFRnZMRztFQVJBO0UyRFpMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEUrOUdEO0FRejhHQztFMEQ5QkQ7SUFXRTtJQUNBO0lBQ0E7R2xFZytHQTtDQUNGOztBa0U1OUdBO0VBQ0M7Q2xFKzlHRDtBUXA5R0M7RTBEWkQ7SUFJRTtJQUNBO0dsRWcrR0E7Q0FDRjs7QWtFNTlHQTtFQUNDO0NsRSs5R0Q7QVE5OUdDO0UwREZEO0lBSUU7R2xFZytHQTtDQUNGOztBa0U1OUdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2xFKzlHRDtBUTErR0M7RTBET0Q7SUFPRTtHbEVnK0dBO0NBQ0Y7O0FrRTU5R0E7RUFDQztFQUNBO0NsRSs5R0Q7QVFwL0dDO0UwRG1CRDtJQUtFO0lBQ0E7R2xFZytHQTtFa0U5OUdBO0lBQ0M7R2xFZytHRDtFa0U3OUdBO0lBQ0M7SUFDQTtHbEUrOUdEO0VrRTc5R0M7SUFDSTtJQUNIO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R2xFKzlHRjtDQUNGOztBa0V6OUdBO0VBQ0M7RUFDQTtFQUNBO0NsRTQ5R0Q7QWtFMTlHQztFQUNDO0NsRTQ5R0Y7O0FrRXY5R0E7RUFDQztFQUNBO0NsRTA5R0Q7QVF2aEhDO0UwRDJERDtJQUtFO0lBQ0E7SUFDQTtHbEUyOUdBO0NBQ0Y7O0FtRW5rSEE7Ozs7R0FBQTtBQU9BO0UxRHNNQztFQUNBO0VBR0M7RUFJQztDVDAzR0g7O0FRMWlIQztFMkR6QkQ7SUFFRTtHbkVza0hBO0NBQ0Y7QVFoakhDO0UyRHpCRDtJQU1FO0lBQ0E7R25FdWtIQTtDQUNGOztBbUVsa0hBO0U1REtNO0VBUkE7RTRES0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NuRXNrSEQ7QW1FcGtIQztFQUNDO0VBQ0E7Q25Fc2tIRjtBbUVua0hDO0VBQ0M7RUFDQTtDbkVxa0hGO0FtRWxrSEM7RUFDQztFQUNBO0NuRW9rSEY7QW1FbGtIRTtFQUNDO0NuRW9rSEg7O0FRaGxIQztFMkRrQkQ7SUFFRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQUE7SUFDQTtJQUNBO0duRWlrSEE7Q0FDRjs7QVExbEhDO0UyRCtCQztJQUNDO0duRStqSEQ7Q0FDRjtBUWhtSEM7RTJENkJEO0lBUUU7SUFBQTtJQUNBO0lBQUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtHbkUrakhBO0VtRTdqSEE7SUFDQztJQUNBO0lBQ0E7R25FK2pIRDtDQUNGOztBbUUxakhBO0U1RDVETTtFQVJBO0U0RHNFTDtFQUNBO0VBQ0E7RUFDQTtDbkU4akhEO0FReG5IQztFMkRxREQ7SUFRRTtHbkUrakhBO0NBQ0Y7O0FvRXBxSEE7Ozs7R0FBQTtBQXNCQTtFM0R5TEM7RUFDQTtFQUdDO0VBSUM7Q1R5OUdIOztBUXpvSEM7RTREWEE7SUFDQztJQUNBO0lBQ0E7R3BFd3BIQTtDQUNGO0FvRXBwSEE7RUFDQztFQUNBO0NwRXNwSEQ7QVFycEhDO0U0REhEO0lBWUk7SUFDQTtJQUlEO0dwRTZvSEQ7Q0FDRjtBUTVwSEM7RTRESEQ7SUFpQkc7R3BFa3BIRDtDQUNGO0FRanFIQztFNERIRDtJQWlCRztHcEV1cEhEO0NBQ0Y7O0FxRTdzSEE7RUFHQztFQUNBO0VBQ0E7RUFDQTtDckU4c0hEO0FNbHNIRTtFQUVJLGlCK0RuQjJDO0NyRXN0SGpEO0FNaHNISTtFQUxGO0lBT007R05rc0hOO0NBQ0Y7QU0vckhJO0VBWEY7SUFhTSxpQitEOUJtRDtHckUrdEh6RDtDQUNGO0FNL3NIRTtFQUVJLG9CK0RsQjhDO0NyRWt1SHBEO0FNN3NISTtFQUxGO0lBT007R04rc0hOO0NBQ0Y7QU01c0hJO0VBWEY7SUFhTSxvQitEN0JzRDtHckUydUg1RDtDQUNGOztBc0UxdUhBO0VBQ0M7RUFDQTtFQUFBO0VBQ0E7RUFBQTtFQUNBO0VBQUE7RUFDQTtDdEU2dUhEO0FRL3NIQztFOERuQ0Q7SUFRRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQ0E7R3RFOHVIQTtDQUNGO0FzRTV1SEM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3RFOHVIRjtBUWx1SEM7RThEckJBO0lBWUUsY0E1QmlDO0lBNkJqQztHdEUrdUhEO0NBQ0Y7O0FzRTF1SEE7RUFDQztFQUFBO0VBQUE7RUFDQTtFQUFBO0VBQUE7Q3RFNnVIRDtBUTd1SEM7RThERkQ7SUFLRTtJQUFBO0lBQUE7SUFDQTtJQUFBO0lBQUE7R3RFOHVIQTtDQUNGOztBc0UxdUhBO0UvRHdCTSxpQkFKbUI7RStEbEJ4QjtFQUFBO0VBQUE7RUFDQTtFQUFBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQkF0RHdCO0VBdUR4QixxQkF2RHdCO0VBd0R4QjtDdEU2dUhEO0FRL3ZIQztFOERTRDtJQVlFO0lBQUE7SUFBQTtJQUNBO0lBQUE7SUFBQTtJQUNBO0lBQ0E7SUFDQTtHdEU4dUhBO0NBQ0Y7QXNFNXVIQztFQUNJO0VBQ0g7RUFDQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0g7Q3RFOHVIRjs7QXVFenpIQTtFQUNDO0VBQ0E7Q3ZFNHpIRDs7QVNscEhFO0VBQ0MsaUI4RHZLVztDdkU0ekhkOztBdUV4ekhBO0VoRXNCTTtFQVJBO0VnRVpMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDdkU0ekhEO0F1RTF6SEM7RUFDQztFQUNBO0N2RTR6SEY7O0F3RWgxSEE7MkNBQUE7QUFNQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEUrMEhEOztBd0UzMEhBOztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEU4MEhEOztBd0UxMEhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEU2MEhEOztBd0V6MEhBO0VBQ0M7RUFDQSxtQ0F6QzZCO0VBeUNhO0VBQzFDO0VBQ0E7Q3hFNjBIRDs7QXdFejBIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUEyQztFQUUzQzs7eURBQUE7RUFVQTtDeEVxMEhEO0F3RTUwSEM7RUFqQkQ7SUFrQkU7SUFDQTtJQUNBO0lBQ0E7SUFBNkM7R3hFZzFIN0M7Q0FDRjtBd0U3MEhDO0VBekJEO0lBMEJFO0lBQ0E7SUFBMEM7R3hFaTFIMUM7Q0FDRjs7QXdFNzBIQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEVnMUhEOztBd0U1MEhBO3NEQUFBO0FBSUM7RUFDQztFQUNBO0N4RTYwSEY7QXdFMzBIQztFQUNDO0N4RTYwSEY7QXdFMzBIQztFQUNDO0N4RTYwSEY7O0FBcjRIQTs7K0RBQUE7QXlFdkRBOzs4RUFBQTtBekUrREE7OytEQUFBO0EwRS9EQTs7R0FBQTtBQUtBO0VBQ0M7QzFFczhIRDtBMEVwOEhDO0VuRWdFSyxpQkFKbUI7RW1FMUR2QixrQ3ZFZ0VpQjtFdUUvRGpCO0MxRXM4SEY7QTBFbDhIQztFQUNDO0MxRW84SEY7QTBFaDhIQztFQUNDO0MxRWs4SEY7QTBFOTdIQztFQUNDO0MxRWc4SEY7QTBFNzdIQztFQUNDO0MxRSs3SEY7QTBFNzdIRTtFQUNDO0VBQ0E7RUFDQTtDMUUrN0hIO0EwRTc3SEc7RW5FTEc7RUFSQTtFbUVlRjtFQUNBO0VBQ0E7RUFDQTtDMUVnOEhKO0EwRTM3SEM7RUFDQztFQUNBO0MxRTY3SEY7QTBFMzdIRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MxRTY3SEg7QTBFMzdIRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUU2N0hKOztBMEV2N0hBO0VBQ0M7QzFFMDdIRDs7QUF6N0hBOzsrREFBQTtBMkV2RUE7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQWdCQTs7R0FBQTtBQXdCQTs7RUFBQTtBQXFDQTs7R0FBQTtBQUtDO0VBQ0M7RUFDQTtFQUNBO0MzRTI4SEY7O0EyRXQ4SEM7RUFDQyxtQ0EvQ1k7QzNFdy9IZDs7QTJFMThIQztFQUNDLGlDQS9DWTtDM0U0L0hkOztBMkU5OEhDO0VBQ0Msb0NBL0NZO0MzRWdnSWQ7O0EyRWw5SEM7RUFDQyxxQ0EvQ1k7QzNFb2dJZDs7QTJFdDlIQztFQUNDLHdDQS9DWTtDM0V3Z0lkOztBMkUxOUhDO0VBQ0MsbUVBL0NZO0MzRTRnSWQ7O0EyRTk5SEM7RUFDQyxnRUEvQ1k7QzNFZ2hJZDs7QTJFbCtIQztFQUNDLGlFQS9DWTtDM0VvaElkOztBMkV0K0hDO0VBQ0MsaUVBL0NZO0MzRXdoSWQ7O0EyRTErSEM7RUFDQyxnRUEvQ1k7QzNFNGhJZDs7QTJFOStIQztFQUNDLG1FQS9DWTtDM0VnaUlkOztBMkVsL0hDO0VBQ0MsbUVBL0NZO0MzRW9pSWQ7O0EyRXQvSEM7RUFDQywyREEvQ1k7QzNFd2lJZDs7QTJFMS9IQztFQUNDLHFEQS9DWTtDM0U0aUlkOztBMkU5L0hDO0VBQ0Msa0VBL0NZO0MzRWdqSWQ7O0EyRWxnSUM7RUFDQyxpRUEvQ1k7QzNFb2pJZDs7QTJFdGdJQztFQUNDLG9FQS9DWTtDM0V3aklkOztBMkUxZ0lDO0VBQ0MsbUVBL0NZO0MzRTRqSWQ7O0EyRTlnSUM7RUFDQywrREEvQ1k7QzNFZ2tJZDs7QTJFbGhJQztFQUNDLDREQS9DWTtDM0Vva0lkOztBMkV0aElDO0VBQ0MsbUVBL0NZO0MzRXdrSWQ7O0EyRTFoSUM7RUFDQywyREEvQ1k7QzNFNGtJZDs7QTJFOWhJQztFQUNDLDJEQS9DWTtDM0VnbElkOztBMkVsaUlDO0VBQ0MsZ0VBL0NZO0MzRW9sSWQ7O0EyRXRpSUM7RUFDQyxnRUEvQ1k7QzNFd2xJZDs7QTJFMWlJQztFQUNDLGtFQS9DWTtDM0U0bElkOztBMkU5aUlDO0VBQ0MsbUVBL0NZO0MzRWdtSWQ7O0EyRWxqSUM7RUFDQyxvRUEvQ1k7QzNFb21JZDs7QTJFdGpJQztFQUNDLG1FQS9DWTtDM0V3bUlkOztBMkVuaklBOztHQUFBO0FBS0E7O0dBQUE7QUFJQztFQUNDO0MzRW1qSUY7QTJFaGpJQztFQUNDO0VBQ0E7QzNFa2pJRjs7QTJFN2lJQTs7R0FBQTtBQUlDO0VBQ0M7QzNFK2lJRjtBMkU1aUlDO0VBQ0M7RUFFQTtFQUNBO0VBQ0E7QzNFNmlJRjs7QTJFemlJQTs7R0FBQTtBQUlDO0VBRUM7RUFDQTtDM0UwaUlGOztBMkVyaUlBOztHQUFBO0FBSUM7RUFDQztDM0V1aUlGOztBMkVsaUlDO0VBQ0M7QzNFcWlJRjs7QTJFaGlJQztFQUNDO0MzRW1pSUY7O0EyRTloSUM7RUFDQztDM0VpaUlGOztBMkUxaElBOztHQUFBO0FBSUM7RUFDQztFQUNBO0MzRTRoSUY7QTJFemhJQztFQUNDO0VBQ0E7RUFDQTtDM0UyaElGOztBQXpvSUE7OzsrREFBQTtBNEU5RUE7O3lGQUFBO0FBS0E7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkc7RUFDQztDNUVpdElKOztBNEUvc0lHO0VBQ0M7QzVFa3RJSjs7QTRFdHRJRztFQUNDO0M1RXl0SUo7O0E0RXZ0SUc7RUFDQztDNUUwdElKOztBNEU5dElHO0VBQ0M7QzVFaXVJSjs7QTRFL3RJRztFQUNDO0M1RWt1SUo7O0E0RXR1SUc7RUFDQztDNUV5dUlKOztBNEV2dUlHO0VBQ0M7QzVFMHVJSjs7QTRFOXVJRztFQUNDO0M1RWl2SUo7O0E0RS91SUc7RUFDQztDNUVrdklKOztBNEV0dklHO0VBQ0M7QzVFeXZJSjs7QTRFdnZJRztFQUNDO0M1RTB2SUo7O0E0RTl2SUc7RUFDQztDNUVpd0lKOztBNEUvdklHO0VBQ0M7QzVFa3dJSjs7QTRFdHdJRztFQUNDO0M1RXl3SUo7O0E0RXZ3SUc7RUFDQztDNUUwd0lKOztBNEU5d0lHO0VBQ0M7QzVFaXhJSjs7QTRFL3dJRztFQUNDO0M1RWt4SUo7O0E0RXR4SUc7RUFDQztDNUV5eElKOztBNEV2eElHO0VBQ0M7QzVFMHhJSjs7QTRFOXhJRztFQUNDO0M1RWl5SUo7O0E0RS94SUc7RUFDQztDNUVreUlKOztBNEV0eUlHO0VBQ0M7QzVFeXlJSjs7QTRFdnlJRztFQUNDO0M1RTB5SUo7O0E0RTl5SUc7RUFDQztDNUVpeklKOztBNEUveUlHO0VBQ0M7QzVFa3pJSjs7QTRFdHpJRztFQUNDO0M1RXl6SUo7O0E0RXZ6SUc7RUFDQztDNUUweklKOztBNEU5eklHO0VBQ0M7QzVFaTBJSjs7QTRFL3pJRztFQUNDO0M1RWswSUo7O0E0RXQwSUc7RUFDQztDNUV5MElKOztBNEV2MElHO0VBQ0M7QzVFMDBJSjs7QTRFOTBJRztFQUNDO0M1RWkxSUo7O0E0RS8wSUc7RUFDQztDNUVrMUlKOztBNEV0MUlHO0VBQ0M7QzVFeTFJSjs7QTRFdjFJRztFQUNDO0M1RTAxSUo7O0E2RTczSUE7RUFDQztFQUNBO0VBQ0E7QzdFZzRJRDs7QTZFNzNJQTtFQUNDO0M3RWc0SUQ7O0E2RTczSUE7RUFDQztFQUNBO0M3RWc0SUQ7O0E2RTUzSUE7Ozs7Ozs7O0dBQUE7QUFZRTtFdEU0Q0ksaUJBSm1CO0NQcTFJekI7O0E2RTczSUU7RXRFNENJLGlCQUptQjtDUHkxSXpCOztBNkVqNElFO0V0RTRDSSxpQkFKbUI7Q1A2MUl6Qjs7QTZFcjRJRTtFdEU0Q0ksaUJBSm1CO0NQaTJJekI7O0E2RXo0SUU7RXRFNENJLGlCQUptQjtDUHEySXpCOztBOEV6NklBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0VBQ0E7QzlFNDZJRDs7QThFejZJQTtFQUNDO0M5RTQ2SUQ7O0FRbDVJQztFc0V0QkE7SUFDQztHOUU0NklBO0NBQ0Y7QVF4NUlDO0VzRWhCQTtJQUNDO0c5RTI2SUE7Q0FDRjtBUTc1SUM7RXNFVkE7SUFDQztHOUUwNklBO0NBQ0Y7QVFsNklDO0VzRUpBO0lBQ0M7RzlFeTZJQTtDQUNGO0FRdjZJQztFc0VFQTtJQUNDO0c5RXc2SUE7Q0FDRjtBK0VuOUlBOzs7RUFBQTtBQ0VDO0VBQXlCO0NoRnc5STFCOztBZ0Z2OUlDO0VBQXlCO0NoRjI5STFCOztBZ0YxOUlDO0VBQXlCO0NoRjg5STFCOztBZ0Y3OUlDO0VBQXlCO0NoRmkrSTFCOztBZ0ZoK0lDO0VBQXlCO0NoRm8rSTFCOztBZ0ZqK0lDO0VBQXlCO0NoRnErSTFCOztBZ0ZwK0lDO0VBQXlCO0NoRncrSTFCOztBZ0Z2K0lDO0VBQXlCO0NoRjIrSTFCOztBZ0YxK0lDO0VBQXlCO0NoRjgrSTFCOztBZ0Y3K0lDO0VBQXlCO0NoRmkvSTFCOztBZ0Y1L0lDO0VBQXlCO0NoRmdnSjFCOztBZ0YvL0lDO0VBQXlCO0NoRm1nSjFCOztBZ0ZsZ0pDO0VBQXlCO0NoRnNnSjFCOztBZ0ZyZ0pDO0VBQXlCO0NoRnlnSjFCOztBZ0Z4Z0pDO0VBQXlCO0NoRjRnSjFCOztBZ0Z6Z0pDO0VBQXlCO0NoRjZnSjFCOztBZ0Y1Z0pDO0VBQXlCO0NoRmdoSjFCOztBZ0YvZ0pDO0VBQXlCO0NoRm1oSjFCOztBZ0ZsaEpDO0VBQXlCO0NoRnNoSjFCOztBZ0ZyaEpDO0VBQXlCO0NoRnloSjFCOztBZ0ZwaUpDO0VBQXlCO0NoRndpSjFCOztBZ0Z2aUpDO0VBQXlCO0NoRjJpSjFCOztBZ0YxaUpDO0VBQXlCO0NoRjhpSjFCOztBZ0Y3aUpDO0VBQXlCO0NoRmlqSjFCOztBZ0ZoakpDO0VBQXlCO0NoRm9qSjFCOztBZ0ZqakpDO0VBQXlCO0NoRnFqSjFCOztBZ0ZwakpDO0VBQXlCO0NoRndqSjFCOztBZ0Z2akpDO0VBQXlCO0NoRjJqSjFCOztBZ0YxakpDO0VBQXlCO0NoRjhqSjFCOztBZ0Y3akpDO0VBQXlCO0NoRmlrSjFCOztBZ0Y1a0pDO0VBQXlCO0NoRmdsSjFCOztBZ0Yva0pDO0VBQXlCO0NoRm1sSjFCOztBZ0ZsbEpDO0VBQXlCO0NoRnNsSjFCOztBZ0ZybEpDO0VBQXlCO0NoRnlsSjFCOztBZ0Z4bEpDO0VBQXlCO0NoRjRsSjFCOztBZ0Z6bEpDO0VBQXlCO0NoRjZsSjFCOztBZ0Y1bEpDO0VBQXlCO0NoRmdtSjFCOztBZ0YvbEpDO0VBQXlCO0NoRm1tSjFCOztBZ0ZsbUpDO0VBQXlCO0NoRnNtSjFCOztBZ0ZybUpDO0VBQXlCO0NoRnltSjFCOztBZ0ZwbkpDO0VBQXlCO0NoRnduSjFCOztBZ0Z2bkpDO0VBQXlCO0NoRjJuSjFCOztBZ0YxbkpDO0VBQXlCO0NoRjhuSjFCOztBZ0Y3bkpDO0VBQXlCO0NoRmlvSjFCOztBZ0Zob0pDO0VBQXlCO0NoRm9vSjFCOztBZ0Zqb0pDO0VBQXlCO0NoRnFvSjFCOztBZ0Zwb0pDO0VBQXlCO0NoRndvSjFCOztBZ0Z2b0pDO0VBQXlCO0NoRjJvSjFCOztBZ0Yxb0pDO0VBQXlCO0NoRjhvSjFCOztBZ0Y3b0pDO0VBQXlCO0NoRmlwSjFCOztBZ0Y1cEpDO0VBQXlCO0NoRmdxSjFCOztBZ0YvcEpDO0VBQXlCO0NoRm1xSjFCOztBZ0ZscUpDO0VBQXlCO0NoRnNxSjFCOztBZ0ZycUpDO0VBQXlCO0NoRnlxSjFCOztBZ0Z4cUpDO0VBQXlCO0NoRjRxSjFCOztBZ0Z6cUpDO0VBQXlCO0NoRjZxSjFCOztBZ0Y1cUpDO0VBQXlCO0NoRmdySjFCOztBZ0YvcUpDO0VBQXlCO0NoRm1ySjFCOztBZ0ZsckpDO0VBQXlCO0NoRnNySjFCOztBZ0ZyckpDO0VBQXlCO0NoRnlySjFCOztBZ0Zwc0pDO0VBQXlCO0NoRndzSjFCOztBZ0Z2c0pDO0VBQXlCO0NoRjJzSjFCOztBZ0Yxc0pDO0VBQXlCO0NoRjhzSjFCOztBZ0Y3c0pDO0VBQXlCO0NoRml0SjFCOztBZ0ZodEpDO0VBQXlCO0NoRm90SjFCOztBZ0ZqdEpDO0VBQXlCO0NoRnF0SjFCOztBZ0ZwdEpDO0VBQXlCO0NoRnd0SjFCOztBZ0Z2dEpDO0VBQXlCO0NoRjJ0SjFCOztBZ0YxdEpDO0VBQXlCO0NoRjh0SjFCOztBZ0Y3dEpDO0VBQXlCO0NoRml1SjFCOztBZ0Y1dUpDO0VBQXlCO0NoRmd2SjFCOztBZ0YvdUpDO0VBQXlCO0NoRm12SjFCOztBZ0ZsdkpDO0VBQXlCO0NoRnN2SjFCOztBZ0ZydkpDO0VBQXlCO0NoRnl2SjFCOztBZ0Z4dkpDO0VBQXlCO0NoRjR2SjFCOztBZ0Z6dkpDO0VBQXlCO0NoRjZ2SjFCOztBZ0Y1dkpDO0VBQXlCO0NoRmd3SjFCOztBZ0YvdkpDO0VBQXlCO0NoRm13SjFCOztBZ0Zsd0pDO0VBQXlCO0NoRnN3SjFCOztBZ0Zyd0pDO0VBQXlCO0NoRnl3SjFCOztBZ0ZweEpDO0VBQXlCO0NoRnd4SjFCOztBZ0Z2eEpDO0VBQXlCO0NoRjJ4SjFCOztBZ0YxeEpDO0VBQXlCO0NoRjh4SjFCOztBZ0Y3eEpDO0VBQXlCO0NoRml5SjFCOztBZ0ZoeUpDO0VBQXlCO0NoRm95SjFCOztBZ0ZqeUpDO0VBQXlCO0NoRnF5SjFCOztBZ0ZweUpDO0VBQXlCO0NoRnd5SjFCOztBZ0Z2eUpDO0VBQXlCO0NoRjJ5SjFCOztBZ0YxeUpDO0VBQXlCO0NoRjh5SjFCOztBZ0Y3eUpDO0VBQXlCO0NoRml6SjFCOztBaUY5ekpBOzs7O2dGQUFBO0FBY0E7RXZFV0M7RURzTEE7RUFDQTtFQUdDO0VBSUM7RXdFdE1GO0VBQ0E7RUFDQTtFQUNBO0NqRjJ6SkQ7QVF4eUpDO0V5RXpCRDtJQVNFO0dqRjR6SkE7Q0FDRjs7QWlGeHpKQTtFQUNDO0VBQ0EsNFFBQ0MiLCJmaWxlIjoiY3NzL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qICAxIC0gU0VUVElOR1NcbiAqICBHbG9iYWwgdmFyaWFibGVzLCBzaXRlLXdpZGUgc2V0dGluZ3MsXG4gKiAgY29uZmlnIHN3aXRjaGVzIGV0Yy5cbiAqXG4gKiAgVGhlIG9yZGVyIGluIHdoaWNoIHRoZXNlIFNhc3MgZmlsZXNcbiAqICBhcmUgbG9hZGVkIGlzIGNyaXRpY2FsIVxuICogIFNvIHBsZWFzZSBiZSBjYXJlZnVsIHdoZW4gZWRpdGluZ1xuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBzbyB3ZSBjYW4gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzIGlmIHdlIG5lZWRcblxuXHRVU0FHRTpcblxuXHQuZGVtbyB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0fVxuXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qKlxuICogRmx1aWQgdHlwZSBwbHVnaW4gKGh0dHBzOi8vY29kZXBlbi5pby9NYWRlQnlNaWtlL3Blbi92TnJ2ZFopXG4gKiBSZXF1aXJlcyB0aGUgY2FsYy1pbnRlcnBvbGF0aW9uIGZ1bmN0aW9uIHdoaWNoIGNhbiBhbHNvIGJlIHVzZWQgaW5kZXBlbmRlbnRseVxuICpcbiAqIFVzYWdlOlxuICpcbiAqIC5kZW1vIHtcbiAqICAgICBAaW5jbHVkZSBpbnRlcnBvbGF0ZShmb250LXNpemUsIDMyMHB4LCAxMzY2cHgsIDE0cHgsIDIwcHgpO1xuICogfVxuICpcbiAqIE11bHRpcGxlIHByb3BlcnRpZXMgd2l0aCBzYW1lIHZhbHVlczpcbiAqXG4gKiBoMSxoMixoMyxoNCxoNSB7XG4gKiAgIEBpbmNsdWRlIGludGVycG9sYXRlKChwYWRkaW5nLXRvcCwgcGFkZGluZy1ib3R0b20pLCAyMHJlbSwgNzByZW0sIDByZW0sIC41cmVtKTtcbiAqIH1cbiAqXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC13ZWlnaHQgdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSB3ZWlnaHRzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC13ZWlnaHQoc2VtaUJvbGQpO1xuICAgIH1cblxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXdlaWdodChzZW1pLWJvbGQpO1xuICAgIH1cblxuICovXG4vKiBNZWRpYSBxdWVyeSBtaXhpbiBmb3Igd3JpdGluZyBNb2JpbGUgRmlyc3RcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqICBNYXRocyBoZWxwZXJzLlxuICogIEhhbHZlIGFuZCBkb3VibGUgbnVtYmVycywgcmV0dXJuaW5nIHJvdW5kZWQgaW50ZWdlcnMuXG5cbiAgICBVU0FHRTpcblxuICAgIC5mb28ge1xuICAgICAgICBwYWRkaW5nOiBoYWx2ZSgzMHB4KTtcbiAgICB9XG5cbiAqL1xuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuLyogQ2hlY2sgaWYgdmFsdWUgaXMgbnVtYmVyICovXG4vKiBWYWx1ZSB0byBFbSAqL1xuLyogVmFsdWUgdG8gUmVtICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdCdtYXJnaW4tYm90dG9tJyAwLjVcblx0KTtcbiAgfVxuXG4gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3JkZXItcmFkaXVzXG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGwpO1xuXHR9XG5cbiAqL1xuLyoqXG4gKiBMb2JvdG9taXplZCBPd2wgU2VsZWN0b3IgbWl4aW46XG4gKiAtIFNldCBzcGFjaW5nIGZvciBjb25zZWN1dGl2ZSBpdGVtcyB3aXRoIG1hcmdpbi10b3Agb24gYWxsIGJ1dCB0aGUgZmlyc3QgaXRlbVxuXG5cdFVTQUdFOlxuXG5cdC5ib3gge1xuXHRcdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0fVxuXG5cdC5jYXJkX19pdGVtIHtcblx0XHRAaW5jbHVkZSBvd2w7XG5cdH1cblxuICovXG4vKlxuICogTG9ib3RvbWl6ZWQgb3dsIHNlbGVjdG9yLlxuICogLSBHaXZlcyB0aGUgY2hpbGRyZW4gb2YgdGhlIGVsZW1lbnQgc3BhY2luZ1xuICogLSBodHRwczovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvYXhpb21hdGljLWNzcy1hbmQtbG9ib3RvbWl6ZWQtb3dsc1xuICovXG4vKipcbiAqICBTaG93IGh5cGhlbnMgZm9yIGV2ZXJ5IGJyb3dzZXIgc3VwcG9ydGluZyBpdFxuICogIGFuZCB3aWxsIGJyZWFrIGxpbmVzIGluIGV2ZXJ5IG90aGVyIGJyb3dzZXJcbiAqL1xuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG4vKlxuICpcdEEgbWl4aW4gdG8gc2V0IGVsZW1lbnRzIHRvIGl0cyBvd24gbmFtZWQgZ3JpZC1hcmVhXG4gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgVGhlICd6LWluZGV4LW1hcCcgaXMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGVsZW1lbnRzIHN0YWNraW5nIG9yZGVyIGluIHRoZSAncm9vdCcgc3RhY2tpbmcgY29udGV4dFxuICogIFRoaXMgd2F5IHdlIGhhdmUgYSBvdmVydmlldyBvZiBhbGwgdGhlIHotaW5kZXggdmFsdWVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIHRoZSBwcm9qZWN0LlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgIFVTQUdFOlxuXG4gICAgQGluY2x1ZGUgeih6LW1vZGFsKTtcblxuICovXG4vKiAgMyAtIEVMRU1FTlRTXG4gKiAgUGxhaW4gb2xkIHNpbXBsZSBIVE1MIGVsZW1lbnRzIHdpdGhvdXQgYSBjbGFzcyAodHlwZSBzZWxlY3RvcnMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNpYyBlbGVtZW50cyAobm8gY2xhc3Mgc2VsZWN0b3JzIGFsbG93ZWQpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBTZXQgdXAgdGhlIGh0bWxcbiAqXG4gKiAxLiBNYWtlcyBzdXJlIHRoYXQgc29tZSBmb250cyBhcmUgYmV0dGVyIHJlbmRlcmVkXG4gKiAyLiBTZXQgZm9udCB0byBsaW5pbmcgZmlndXJlc1xuICpcbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1mYW1pbHk6IFwiYXpvLXNhbnMtd2ViXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM0YTRhNGE7XG59XG5cbi8qKlxuICogWzFdIE1ha2Ugc3VyZSBlbGVtZW50cyBsaWtlIGlucHV0IGFuZCB0ZXh0YXJlYSBpbmhlcml0IHNvbWUgYmFzZSBwcm9wZXJ0aWVzXG4gKiAgICAgaHR0cHM6Ly93d3cuc21hc2hpbmdtYWdhemluZS5jb20vMjAxNi8xMS9jc3MtaW5oZXJpdGFuY2UtY2FzY2FkZS1nbG9iYWwtc2NvcGUtbmV3LW9sZC13b3JzdC1iZXN0LWZyaWVuZHMvXG4gKlxuICogWzJdIFNldHRpbmcgYm94LXNpemluZyB0aGUgYmVzdCB3YXkgcGVyOlxuICogICAgIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlL1xuICovXG4qIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBbMV0gVHVybiBvZmYgdGV4dC1zaGFkb3cgd2hlbiBzZWxlY3RpbmcgdGV4dCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2VhZDNjMjtcbiAgY29sb3I6ICMxNDBmMGE7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICAvKiBbMV0gKi9cbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFsxXSBTZXR0aW5nICd2ZXJ0aWNhbC1hbGlnbicgcmVtb3ZlcyB0aGUgd2hpdGVzcGFjZSB0aGF0IGFwcGVhcnMgdW5kZXIgJ2ltZydcbiAqXHQgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXG4gKlx0ICAgdXNpbmcgJ2Rpc3BsYXk6IGJsb2NrOycuXG4gKiBbMl0gUmVtb3ZlIGJvcmRlciAvIGVzcGVjaWFsbHkgb24gb2xkZXIgYnJvd3NlcnNcbiAqL1xuaW1nLCBzdmcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKlsxXSovXG4gIGJvcmRlcjogbm9uZTtcbiAgLypbMl0qL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qKlxuICogIE5lZWRlZCBmb3IgaU9TIHRvIHByZXZlbnQgaW5wdXQgem9vbWluZ1xuICogIGh0dHBzOi8vdXhjZWxsZW5jZS5jb20vMjAxNC8wMS8xNS9xdWljay1maXgtaW5jcmVhc2UtZm9udC1zaXplLXRvLTE2cHgtdG8tZml4LWlucHV0LXpvb21cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuYTpub3QoW2NsYXNzXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMkQ1QzgwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XG59XG5hOm5vdChbY2xhc3NdKTpob3Zlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDJweDtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5hOm5vdChbY2xhc3NdKTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG59XG5hOm5vdChbY2xhc3NdKTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjODlBNEI4O1xuICBjb250ZW50OiBcIlwiO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMzAwbXMsIG9wYWNpdHkgMzAwbXMsIHRyYW5zZm9ybSAzMDBtcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZ3JvdXAsXG51bCwgb2wsIGRkLFxucCwgZmlndXJlLFxucHJlLCB0YWJsZSwgZmllbGRzZXQsIGhyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDMuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAgNCAtIExheW91dCBlbGVtZW50c1xuICogIERlc2lnbiBwYXR0ZXJucyAoZS5nLiBncmlkcyBvciBtZWRpYSBvYmplY3QpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAubC1ibG9jayArIC5sLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA2LjI1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAubC1ibG9jayArIC5sLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1jb250YWluIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1kaXZpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmwtZGl2aWRlX19pdGVtICsgLmwtZGl2aWRlX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1kaXZpZGVfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4ubC1mb3JtX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmwtZm9ybV9fcm93ICsgLmwtZm9ybV9fcm93IHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLmwtZm9ybV9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmwtZm9ybV9fcG90IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKlxuKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcblxuKiBbMV0gQXZvaWQgdGhlIElFIDEwLTExIGBtaW4taGVpZ2h0YCBidWcuXG4qL1xuLmwtcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgLyogWzFdICovXG59XG5cbi5sLXBhZ2VfX2hlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmwtcGFnZV9fYm9keSB7XG4gIHotaW5kZXg6IDQwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5sLXBhZ2VfX2Zvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDYwMG1zIGVhc2UtaW4tb3V0O1xufVxuYm9keS5pcy1jb29raWVzLWFjY2VwdGVkIC5sLXBhZ2VfX2Zvb3RlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKiAgNSAtIENPTVBPTkVOVFNcbiAqICBEaXNjcmV0ZSBjb21wbGV0ZSBjaHVua3Mgb2YgVUkuXG4gKiAgRGVzaWduZWQgY29tcG9uZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbXBvbmVudHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmMtYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpc3Qge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmMtYnJlYWRjcnVtYl9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1icmVhZGNydW1iX19pdGVtOm50aC1jaGlsZChuKzIpIC5jLWJyZWFkY3J1bWJfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpbmsge1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtYnJlYWRjcnVtYl9faXRlbS0tbGFzdCAuYy1icmVhZGNydW1iX19saW5rIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjNiM2I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtN2RlZywgIzAwMDAwMCA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDQwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCAjMTNjZmNlO1xufVxuLmMtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1idXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXM7XG59XG4uYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG59XG4uYy1idXR0b25fX2ljb246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xufVxuLmMtYnV0dG9uLS1pY29uIC5jLWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTZweDtcbn1cblxuLmMtYnV0dG9uLS1naG9zdCB7XG4gIHBhZGRpbmc6IGNhbGMoMTBweCkgMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTdkZWcsICNjZGNkY2QgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xufVxuLmMtYnV0dG9uLS1naG9zdC5jLWJ1dHRvbi0tb24tZGFyayB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci13aWR0aDogMXB4O1xufVxuLmMtYnV0dG9uLS1naG9zdC5jLWJ1dHRvbi0tb24tZGFyazpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjMTUyQzNEO1xufVxuXG4uYy1jYXJkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLWNhcmRfX3BpY3R1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLXJvdzogMS8tMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uYy1jYXJkX19waWN0dXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTJDM0Q7XG4gIG9wYWNpdHk6IDAuNjQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgbGluZWFyO1xufVxuLmMtY2FyZDpob3ZlciAuYy1jYXJkX19waWN0dXJlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYy1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xufVxuLmMtY2FyZDpob3ZlciAuYy1jYXJkX19pbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5jLWNhcmRfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZm9udC1mYW1pbHk6IFwibW9rb2tvXCIsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDc1bXM7XG59XG4uYy1jYXJkOmhvdmVyIC5jLWNhcmRfX3RpdGxlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNnB4KSBzY2FsZSgxLjA1KTtcbn1cblxuLmMtY2FyZF9fc3VidGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGdyaWQtcm93OiAyO1xuICBncmlkLWNvbHVtbjogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xufVxuLmMtY2FyZDpob3ZlciAuYy1jYXJkX19zdWJ0aXRsZSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KSBzY2FsZSgxLjEpO1xufVxuXG4uYy1jYXJkX19hcnJvdyB7XG4gIGdyaWQtcm93OiAyO1xuICBncmlkLWNvbHVtbjogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG59XG4uYy1jYXJkX19hcnJvdyA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjI1dHVybik7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcbn1cbi5jLWNhcmQ6aG92ZXIgLmMtY2FyZF9fYXJyb3cge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG5cbi5jLWNoZWNrYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmMtY2hlY2tib3hfX2lucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4uYy1jaGVja2JveF9fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyODY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIC8qIDE2cHggd2lkdGggb2YgZmFrZSBjaGVja2JveCArIGdhcCAqL1xuICAvKk91dGVyIGJveCBvZiB0aGUgZmFrZSBjaGVja2JveCovXG4gIC8qQ2hlY2ttYXJrIG9mIHRoZSBmYWtlIGNoZWNrYm94Ki9cbiAgLypIaWRlIHRoZSBjaGVja21hcmsgYnkgZGVmYXVsdCovXG4gIC8qVW5oaWRlIG9uIHRoZSBjaGVja2VkIHN0YXRlKi9cbiAgLypBZGRpbmcgZm9jdXMgc3R5bGVzIG9uIHRoZSBvdXRlci1ib3ggb2YgdGhlIGZha2UgY2hlY2tib3gqL1xuICAvKiBMaW5rcyBpbnNpZGUgdGhlIHRleHQgKi9cbn1cbi5jLWNoZWNrYm94X190ZXh0OjpiZWZvcmUsIC5jLWNoZWNrYm94X190ZXh0OjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogXCJcIjtcbiAgLypOZWVkZWQgZm9yIHRoZSBsaW5lLWhlaWdodCB0byB0YWtlIGVmZmVjdCovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5jLWNoZWNrYm94X190ZXh0OjpiZWZvcmUge1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2RjZGNkO1xuICB0b3A6IDJweDtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuLmMtY2hlY2tib3hfX3RleHQ6OmFmdGVyIHtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiAxMHB4O1xuICB0b3A6IDdweDtcbiAgbGVmdDogM3B4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNTNkZWcpO1xufVxuLmMtY2hlY2tib3hfX2lucHV0ICsgLmMtY2hlY2tib3hfX3RleHQ6OmFmdGVyIHtcbiAgY29udGVudDogbm9uZTtcbn1cbi5jLWNoZWNrYm94X19pbnB1dDpjaGVja2VkICsgLmMtY2hlY2tib3hfX3RleHQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxM2NmY2U7XG4gIGJvcmRlci1jb2xvcjogIzEzY2ZjZTtcbn1cbi5jLWNoZWNrYm94X19pbnB1dDpjaGVja2VkICsgLmMtY2hlY2tib3hfX3RleHQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cbi5jLWNoZWNrYm94X19pbnB1dDpmb2N1cyArIC5jLWNoZWNrYm94X190ZXh0OjpiZWZvcmUge1xuICBvdXRsaW5lOiAjM2I5OWZjIGF1dG8gNXB4O1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0xcHggcmdiYSgyOSwgMjksIDI5LCAwLjgpO1xuICBib3JkZXItY29sb3I6ICMxM2NmY2U7XG59XG4uYy1jaGVja2JveF9fdGV4dCA+IGEge1xuICBjb2xvcjogIzEzY2ZjZTtcbn1cbi5jLWNoZWNrYm94X190ZXh0ID4gYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmMtY2hlY2tib3hfX3RleHQgPiBhOmhvdmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbi5jLWNoZWNrYm94X19jb3VudCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBjb2xvcjogI2NkY2RjZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzksIDIzOSwgMjM5LCAwLjcpO1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2RjZGNkO1xuICB0cmFuc2l0aW9uOiBhbGwgODBtcyBsaW5lYXI7XG59XG4uYy1jaGVja2JveF9faW5wdXQ6Y2hlY2tlZCB+IC5jLWNoZWNrYm94X19jb3VudCB7XG4gIGNvbG9yOiAjMTNjZmNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNjZmNlO1xuICBib3JkZXItY29sb3I6ICMxM2NmY2U7XG59XG5cbi5jLWNoZWNrYm94LS1oYXMtaW5kaWNhdG9yIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLmMtY2hlY2tib3gtLWhhcy1pbmRpY2F0b3IgLmMtY2hlY2tib3hfX3RleHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jLWNsb3NlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xufVxuLmMtY2xvc2U6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgM3B4IDJweCAjY2RjZGNkO1xufVxuLmMtY2xvc2U6YWZ0ZXIsIC5jLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMjAlO1xuICBsZWZ0OiAyMCU7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogI2NkY2RjZDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmMtY2xvc2U6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLmMtY2xvc2U6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLmMtY2xvc2U6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG5cbi5jLWZvcm0tZ3JvdXBfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggMDtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1mb3JtLWdyb3VwX19lcnJvcjpub3QoOmVtcHR5KSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHg7XG4gIGNvbG9yOiAjZmZkMzNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjExLCA1OCwgMC4xKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZDMzYTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW46IDE2cHggMCAwO1xuICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmQzM2E7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTEsIDU4LCAwLjEpO1xufVxuLmMtZm9ybS1mZWVkYmFjazpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmMtZm9ybS1mZWVkYmFjazpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1oYW1idXJnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jLWhhbWJ1cmdlcjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMnB4ICMxM2NmY2U7XG59XG4uYy1oYW1idXJnZXIgPiBzcGFuLCAuYy1oYW1idXJnZXI6YWZ0ZXIsIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcbn1cbi5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0b3A6IDEycHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG59XG4uYy1oYW1idXJnZXI6YWZ0ZXIge1xuICB0b3A6IDI4cHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDAuNSk7XG59XG4uYy1oYW1idXJnZXI6aG92ZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmhvdmVyOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLmMtaGFtYnVyZ2VyID4gc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlcjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xufVxuXG4uYy1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyODU3O1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLmMtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OUE0Qjg7XG59XG5cbi5jLWhlcm9fX21haW4ge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLWhlcm9fX21haW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgfVxuICAuYy1oZXJvX19tYWluOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAtNTB2dztcbiAgICBsZWZ0OiAtNTB2dztcbiAgICBoZWlnaHQ6IDglO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTJDM0Q7XG4gIH1cbn1cblxuLmMtaGVyb19fc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgcGFkZGluZy1ib3R0b206IDU3LjUlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtaGVyb19fc2xpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTcuNSU7XG4gICAgZ3JpZC1yb3c6IDEvLTE7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbn1cblxuLmMtaGVyb19fdHJheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtaGVyb19fcGljdHVyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIG9wYWNpdHk6IDA7XG59XG4uYy1oZXJvX19waWN0dXJlLmlzLXByZXZpb3VzLCAuYy1oZXJvX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogOTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLjAxLCAwLjE4LCAxLjAxKTtcbiAgb3BhY2l0eTogMTtcbn1cbi5jLWhlcm9fX3BpY3R1cmUuaXMtbmV4dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbi5jLWhlcm9fX3BpY3R1cmUuaXMtcHJldmlvdXMge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA5MDBtcztcbn1cbi5jLWhlcm9fX3BpY3R1cmUuaXMtYWN0aXZlIHtcbiAgei1pbmRleDogMTtcbn1cblxuLmMtaGVyb19faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmMtaGVyb19fbG9va2luZy1nbGFzcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy1oZXJvX19sb29raW5nLWdsYXNzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtICgzOS40NCUgLyAyKSk7XG4gICAgd2lkdGg6IDM5LjQ0JTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDM5LjQ0JTtcbiAgICBib3gtc2hhZG93OiAwIDE2cHggMjBweCByZ2JhKDIxLCA0NCwgNjEsIDAuMzIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5jLWhlcm9fX2xvb2tpbmctZ2xhc3M6OmFmdGVyLCAuYy1oZXJvX19sb29raW5nLWdsYXNzOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG4gIC5jLWhlcm9fX2xvb2tpbmctZ2xhc3M6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlcjogMzJweCBzb2xpZCByZ2JhKDE4MiwgMjE1LCAyNDAsIDAuMjQpO1xuICB9XG4gIC5jLWhlcm9fX2xvb2tpbmctZ2xhc3M6OmFmdGVyIHtcbiAgICB0b3A6IDMycHg7XG4gICAgYm90dG9tOiAzMnB4O1xuICAgIHJpZ2h0OiAzMnB4O1xuICAgIGxlZnQ6IDMycHg7XG4gICAgYm94LXNoYWRvdzogMCAxNnB4IDIwcHggcmdiYSgyMSwgNDQsIDYxLCAwLjMyKTtcbiAgfVxufVxuXG4uYy1oZXJvX19sb29raW5nLWdsYXNzLXNsaWRlIHtcbiAgZ3JpZC1yb3c6IDE7XG4gIGdyaWQtY29sdW1uOiAxO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY2FsYygoMTAwIC8gMzkuNDQpICogMTAwJSkgYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgei1pbmRleDogMDtcbiAgb3BhY2l0eTogMDtcbn1cbi5jLWhlcm9fX2xvb2tpbmctZ2xhc3Mtc2xpZGUuaXMtcHJldmlvdXMsIC5jLWhlcm9fX2xvb2tpbmctZ2xhc3Mtc2xpZGUuaXMtYWN0aXZlIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1NjYuNjY2NjY2NjY2N21zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMC4wMSwgMC4xOCwgMS4wMSk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMzMy4zMzMzMzMzMzMzbXM7XG4gIG9wYWNpdHk6IDE7XG59XG4uYy1oZXJvX19sb29raW5nLWdsYXNzLXNsaWRlLmlzLW5leHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG59XG4uYy1oZXJvX19sb29raW5nLWdsYXNzLXNsaWRlLmlzLXByZXZpb3VzIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogOTAwbXM7XG59XG4uYy1oZXJvX19sb29raW5nLWdsYXNzLXNsaWRlLmlzLWFjdGl2ZSB7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5jLWhlcm9fX2hlYWRsaW5lLWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyQzNEO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtaGVyb19faGVhZGxpbmUtYm94IHtcbiAgICBncmlkLXJvdzogMS8tMTtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB3aWR0aDogMzkuNDQlO1xuICAgIG1hcmdpbi1ib3R0b206IDguNXZ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5jLWhlcm9fX2hlYWRsaW5lLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOC40JTtcbiAgfVxufVxuXG4uYy1oZXJvX19oZWFkbGluZSB7XG4gIHBhZGRpbmc6IDQ4cHggMzJweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYy1oZXJvX19oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jLWhlcm9fX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IGNhbGMoMi41NzUxMDcyOTYxdncgKyA0LjgyNDAzNDMzNDhweCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAuYy1oZXJvX19oZWFkbGluZSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICB9XG59XG4uYy1oZXJvX19oZWFkbGluZSB7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtaGVyb19faGVhZGxpbmUge1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKDIuNTc1MTA3Mjk2MXZ3ICsgMTIuODI0MDM0MzM0OHB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC5jLWhlcm9fX2hlYWRsaW5lIHtcbiAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmMtaGVyb19faGVhZGxpbmUge1xuICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIH1cbn1cblxuLmMtaGVyb19fY2FwdGlvbi10b3Age1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uLWJvdHRvbSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy1oZXJvX19zY3JvbGwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxNCU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gIC5jLWhlcm9fX3Njcm9sbCA+IHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuICB9XG4gIC5jLWhlcm9fX3Njcm9sbDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjRUJGMEY1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbiAgLmMtaGVyb19fc2Nyb2xsOmhvdmVyID4gc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxufVxuXG4uYy1oZXJvX19jb250cm9scyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYy1oZXJvX19jb250cm9scyB7XG4gICAgYm90dG9tOiA4JTtcbiAgfVxufVxuXG4uYy1oZXJvX19kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MkMzRDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmMtaGVyb19fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICAuYy1oZXJvX19kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKDAuNzY0ODE4MzU1NnZ3ICsgMTMuNTUyNTgxMjYycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgLmMtaGVyb19fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuLmMtaGVyb19fZGVzY3JpcHRpb24ge1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5jLWhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogY2FsYygwLjc2NDgxODM1NTZ2dyArIDI5LjU1MjU4MTI2MnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC5jLWhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuLmMtaGVyb19fZGVzY3JpcHRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMCBhdXRvIDMycHg7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogNDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJENUM4MDtcbn1cblxuLmMtaGVyb19fZGVzY3JpcHRpb24tdGV4dCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgbWF4LXdpZHRoOiA4NTZweDtcbn1cblxuLm8taW1hZ2Uge1xuICAtLW8taW1hZ2UtYmctb2Zmc2V0OiA2dnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgdmFyKC0tby1pbWFnZS1iZy1vZmZzZXQpLCAjMTUyQzNEIHZhcigtLW8taW1hZ2UtYmctb2Zmc2V0KSk7XG59XG4uby1pbWFnZSB7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLm8taW1hZ2Uge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDIuMzUyOTQxMTc2NXZ3ICsgNDAuNDcwNTg4MjM1M3B4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLWltYWdlIHtcbiAgICBwYWRkaW5nLXRvcDogNjRweDtcbiAgfVxufVxuLm8taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLm8taW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMi4zNTI5NDExNzY1dncgKyA0MC40NzA1ODgyMzUzcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8taW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1pbWFnZSB7XG4gICAgLS1vLWltYWdlLWJnLW9mZnNldDogODBweDtcbiAgfVxufVxuXG4uby1pbWFnZV9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTMpO1xufVxuXG4uYy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA2cHggMTZweDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxRDFEMUQ7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uaGFzLWVycm9yIC5jLWlucHV0IHtcbiAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4ICNmZmQzM2E7XG4gIGJvcmRlci1jb2xvcjogI2ZmZDMzYTtcbn1cbi5jLWlucHV0OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDdweCAtM3B4ICMxM2NmY2U7XG4gIGJvcmRlci1jb2xvcjogIzEzY2ZjZTtcbn1cbnRleHRhcmVhLmMtaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTZweDtcbiAgbWluLWhlaWdodDogMTU2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uYy1sYW5ndWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBib3JkZXI6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMsIGJveC1zaGFkb3cgMTUwbXM7XG59XG4uYy1sYW5ndWFnZV9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuICBmbGV4OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWxhbmd1YWdlX19kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zLCB0cmFuc2Zvcm0gMzAwbXM7XG59XG4uYy1sYW5ndWFnZTpob3ZlciAuYy1sYW5ndWFnZV9fZHJvcGRvd24ge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uYy1sYW5ndWFnZV9faXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jLWxhbmd1YWdlX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXM7XG59XG4uYy1sYW5ndWFnZV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1uYXYge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jLW5hdl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYy1uYXZfX2l0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbi1yaWdodDogMiU7XG59XG4uYy1uYXZfX2l0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmMtbmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA0cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cbi5jLW5hdl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IDRweDtcbiAgYm90dG9tOiAxcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICBoZWlnaHQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG4uYy1uYXZfX2xpbms6aG92ZXIge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cbi5jLW5hdl9fbGluazpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuLmlzLWFjdGl2ZS5jLW5hdl9faXRlbSAuYy1uYXZfX2xpbmsge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uaXMtYWN0aXZlLmMtbmF2X19pdGVtIC5jLW5hdl9fbGluazo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLmMtbmF2X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzEzY2ZjZTtcbn1cblxuLypcbiAqIFBhZ2UgdGl0bGVcbiAqL1xuLmMtcGFnZS10aXRsZSB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBjb2xvcjogIzE1MkMzRDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZV9fbGVhZCB7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzU7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLXBhZ2luYXRpb24ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxRDFEMUQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4uYy1wYWdpbmF0aW9uX19pdGVtICsgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMsIGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4uYy1wYWdpbmF0aW9uX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjg7XG59XG4uaXMtYWN0aXZlID4gLmMtcGFnaW5hdGlvbl9fbGluayB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4IC01cHggIzFEMUQxRDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xufVxuLmMtcGFnaW5hdGlvbl9fcHJldi5pcy1pbmFjdGl2ZSxcbi5jLXBhZ2luYXRpb25fX25leHQuaXMtaW5hY3RpdmUge1xuICBjb2xvcjogI2NkY2RjZDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjI1dHVybik7XG59XG5cbi5jLXBhc3N3b3JkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1wYXNzd29yZF9faW5wdXQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jLXBhc3N3b3JkX19wcmV2aWV3LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgY29sb3I6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxMDBtcyBsaW5lYXI7XG59XG4uYy1wYXNzd29yZF9fcHJldmlldy1idXR0b246Zm9jdXMge1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYy1wYXNzd29yZF9fcHJldmlldy1idXR0b246aG92ZXIge1xuICBjb2xvcjogIzFEMUQxRDtcbn1cbi5pcy1wcmV2aWV3aW5nIC5jLXBhc3N3b3JkX19wcmV2aWV3LWJ1dHRvbiB7XG4gIGNvbG9yOiAjNDA3OUI4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtcGVyc29uX19waWN0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1wZXJzb25fX2ltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4uYy1wZXJzb25fX2luZm8ge1xuICBwYWRkaW5nOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RjZGNkO1xufVxuXG4uYy1wZXJzb25fX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGNvbG9yOiAjNGE0YTRhO1xufVxuXG4uYy1wZXJzb25fX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uYy1wcm9qZWN0b3Ige1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJENUM4MDtcbn1cblxuLmMtcHJvamVjdG9yX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMjtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zO1xufVxuLmMtcHJvamVjdG9yX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLXByb2plY3Rvcl9faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1wcm9qZWN0b3JfX2ltZyB7XG4gICAgbWF4LWhlaWdodDogNzh2aDtcbiAgfVxufVxuXG4uYy1wcm9qZWN0b3JfX2NvbnRyb2wge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLyoqXG4gKiBTZWxlY3Qgc3R5bGVkIHdpdGhvdXQgZXh0cmEgY29udGFpbmluZyBlbGVtZW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCYXNlZCBvbiB0aGlzIGFydGljbGU6XG4gKiBodHRwczovL3d3dy5maWxhbWVudGdyb3VwLmNvbS9sYWIvc2VsZWN0LWNzcy5odG1sXG4gKi9cbi5jLXNlbGVjdCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NlbGVjdC1hcnJvdy5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNGRkZGRkYgMCUsICNGRkZGRkYgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQsIHJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTNweCB0b3AgNTAlLCAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvLCAxMDAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2RjZGNkO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMTUwbXMgbGluZWFyO1xufVxuLmMtc2VsZWN0OmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuLmMtc2VsZWN0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMTNjZmNlO1xuICBib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggcmdiYSgyOSwgMjksIDI5LCAwLjcpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuICBjb2xvcjogIzFEMUQxRDtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5jLXNlbGVjdCBvcHRpb24ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYy1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcbiAgbWF4LXdpZHRoOiAxNzZweDtcbiAgZmxleDogMDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MzlweCkge1xuICAuYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcbiAgICB3aWR0aDogOTZweDtcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogMTY1cHg7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fYm9keSB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmMtc2VydmljZXBvaW50X19kYXRhIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmMtc2VydmljZXBvaW50X19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuLmMtc2l0ZW1hcF9faXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtc2l0ZW1hcF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2l0ZW1hcF9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLypcbiAqIFNraXAgTGlua1xuICovXG4uYy1za2lwLWxpbmsge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1za2lwLWxpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTNjZmNlO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB0b3A6IDVweDtcbiAgLyogTm93IHRoZSBsaW5rIHdpbGwgYXBwZWFyICovXG59XG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpob3Zlcjpub3QoLmlzLWFjdGl2ZSksIC5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmJlZm9yZSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmJlZm9yZSB7XG4gIHRvcDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgcmlnaHQ6IGNhbGMoKDMwcHggLSA4cHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgbGVmdDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICB0b3A6IGNhbGMoKDMwcHggLSAxNHB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDE0cHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDE0cHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSAxNHB4KSAvIDIpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgb3BhY2l0eTogMDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90LmlzLWFjdGl2ZTphZnRlciB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1czphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuXG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDZ2dztcbiAgd2lkdGg6IDZ2dztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uICsgLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24gPiBzdmcge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b25bYXJpYS1sYWJlbD1wcmV2aW91c10gPiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvblthcmlhLWxhYmVsPW5leHRdID4gc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzE1MmMzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuXG4uYy1zdWJuYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICBwYWRkaW5nOiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uYy1zdWJuYXZfX2hlYWRlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtc3VibmF2X19saXN0IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmMtc3VibmF2X19saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgY29sb3I6ICM2NTY1NjU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcbn1cbi5jLXN1Ym5hdl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuLmMtc3VibmF2X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzEzY2ZjZTtcbn1cbi5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NkY2RjZDtcbn1cblxuLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGNvbG9yOiAjY2RjZGNkO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbmsge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMUQxRDFEO1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmMtdGV4dC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXM7XG59XG4uYy10ZXh0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmMtdGV4dC1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy10ZXh0LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICMxM2NmY2U7XG59XG5cbi5jLXRleHQtYnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zO1xufVxuLmMtdGV4dC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dC1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLXRleHQtYnV0dG9uLS1pY29uIC5jLXRleHQtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLXRleHQtYnV0dG9uLS1pcy1yZXZlcnNlZCAuYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG4gIG9yZGVyOiAyO1xufVxuLmMtdGV4dC1idXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHQtYnV0dG9uX19pY29uIHtcbiAgb3JkZXI6IDE7XG4gIHRvcDogMXB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xufVxuLmMtdGV4dC1idXR0b24tLWlzLXJldmVyc2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHQtYnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybikgdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uYy10cmFkZW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuXG4uYy10cmFkZW1hcmtfX2xvdmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAtM3B4IDhweCAwO1xuICBhbmltYXRpb246IGhlYXJ0YmVhdCAxLjhzIGluZmluaXRlO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xufVxuLmMtdHJhZGVtYXJrX19sb3ZlIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXRyYWRlbWFyazpob3ZlciB7XG4gIGNvbG9yOiAjRTIyNjREO1xuICBjb2xvcjogIzJENUM4MDtcbn1cbi5jLXRyYWRlbWFyazpob3ZlciAua29tbWEtZW1ibGVtIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTJweCAxMnB4O1xuICBhbmltYXRpb246IGxvZ28tc3BpbiAxLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBsb2dvLXNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTtcbiAgfVxufVxuQGtleWZyYW1lcyBoZWFydGJlYXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxufVxuLmMtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAuYy12aWRlbyB7XG4gICAgcGFkZGluZy10b3A6IDI0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gIH1cbn1cbi5jLXZpZGVvOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyQzNEO1xufVxuXG4uYy12aWRlb19fbWFpbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIGF1dG8pO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlXCIgXCJkZXNjcmlwdGlvblwiO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5jLXZpZGVvX19tYWluIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogNHZ3IGF1dG8gYXV0byA0OHB4IDQ4cHg7XG4gICAgbWFyZ2luLXRvcDogLTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5jLXZpZGVvX19tYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtNjRweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDY0cHggYXV0byBhdXRvIDQ4cHggNDhweDtcbiAgfVxufVxuLmMtdmlkZW9fX21haW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIGhlaWdodDogNDhweDtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYy12aWRlb19fbWFpbjo6YmVmb3JlIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMy82O1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyA0OHB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00OHB4KTtcbiAgfVxufVxuXG4uYy12aWRlb19faW1hZ2Uge1xuICBncmlkLWFyZWE6IGltYWdlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmMtdmlkZW9fX2ltYWdlIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMS81O1xuICB9XG59XG4uYy12aWRlb19faW1hZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MkMzRDtcbiAgb3BhY2l0eTogMC42NDtcbn1cblxuLmMtdmlkZW9fX2ltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5jLXZpZGVvX19pbWcge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4uYy12aWRlb19faWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXZpZGVvX19kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtZmFtaWx5OiBcImF6by1zYW5zLXdlYlwiLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdyaWQtYXJlYTogZGVzY3JpcHRpb247XG4gIHBhZGRpbmc6IDU2cHggOCUgNDhweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDVDODA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmMtdmlkZW9fX2Rlc2NyaXB0aW9uIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMi8zO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTI4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3MnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7XG4gIH1cbn1cblxuLmMtdmlkZW9fX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1zZWxmOiBlbmQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgLmMtdmlkZW9fX2J1dHRvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYy12aWRlb19fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDIvMztcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUycHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIH1cbn1cblxuLmMtdmlkZW9fX2NpcmNsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiA2NHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE4MiwgMjE1LCAyNDAsIDAuMjQpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYy12aWRlb19fY2lyY2xlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwNHB4O1xuICAgIGhlaWdodDogMTA0cHg7XG4gIH1cbn1cbi5jLXZpZGVvX19jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA4cHg7XG4gIGJvdHRvbTogOHB4O1xuICByaWdodDogOHB4O1xuICBsZWZ0OiA4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xufVxuLmMtdmlkZW9fX2J1dHRvbjpob3ZlciAuYy12aWRlb19fY2lyY2xlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTJDM0Q7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44OCk7XG59XG5cbi5jLXZpZGVvX19wbGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICMxNTJDM0Q7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG59XG4uYy12aWRlb19fYnV0dG9uOmhvdmVyIC5jLXZpZGVvX19wbGF5IHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5jLXZpZGVvX190ZXh0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmMtdmlkZW9fX3RleHQtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3MnB4IC0gNTJweCk7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcbiAgfVxuICAuYy12aWRlb19fYnV0dG9uOmhvdmVyIC5jLXZpZGVvX190ZXh0LWJ1dHRvbiB7XG4gICAgY29sb3I6ICM4OUE0Qjg7XG4gIH1cbn1cblxuLyogIDYgLSBPUkdBTklTTVNcbiAqICBMYXJnZSBibG9ja3MgY29tcG9zZWQgb2YgbXVsdGlwbGUgY29tcG9uZW50cy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLm8tYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg5QTRCODtcbn1cblxuLm8tYmFubmVyX19tYWluIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uby1iYW5uZXJfX3BpY3R1cmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4OUE0Qjg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTlweCkge1xuICAuby1iYW5uZXJfX3BpY3R1cmUge1xuICAgIGhlaWdodDogMTAwdnc7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLm8tYmFubmVyX19waWN0dXJlIHtcbiAgICBncmlkLXJvdzogMS8tMTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTlweCkge1xuICAuby1iYW5uZXJfX2ltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5cbi5vLWJhbm5lcl9fZGVzY3JpcHRpb24ge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgLm8tYmFubmVyX19kZXNjcmlwdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1MkMzRDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLm8tYmFubmVyX19kZXNjcmlwdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIHdpZHRoOiA0MS42N3Z3O1xuICAgIGhlaWdodDogMjAuODM1dnc7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjAuODM1dnc7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDIwLjgzNXZ3O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE4MiwgMjE1LCAyNDAsIDAuMjQpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJhbm5lcl9fZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDMwMHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzMDBweDtcbiAgfVxufVxuXG4uby1iYW5uZXJfX2hlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDUuNXZ3IDYuNXZ3IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwibW9rb2tvXCIsIHNhbnMtc2VyaWY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTlweCkge1xuICAuby1iYW5uZXJfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBwYWRkaW5nOiA0OHB4IDAgMjRweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJhbm5lcl9faGVhZGluZyB7XG4gICAgcGFkZGluZzogODBweCA5NnB4IDA7XG4gIH1cbn1cblxuLm8tYmFubmVyX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogMzAwO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYmFubmVyX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjl2dztcbiAgfVxufVxuXG4uby1iYW5uZXJfX3N1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogODAwO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uby1ibG9nX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyODU3O1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLm8tYmxvZ19fYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5vLWJsb2dfX2FydGljbGUgKyAuby1ibG9nX19hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuLm8tYmxvZ19fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyBsaW5lYXI7XG59XG4uby1ibG9nX19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMxRDFEMUQ7XG4gIHRyYW5zaXRpb246IGJvcmRlciAxNTBtcyBsaW5lYXI7XG59XG4uby1ibG9nX19saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cbi5vLWJsb2dfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2NkY2RjZDtcbn1cbi5vLWJsb2dfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTNjZmNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYmxvZ19fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLm8tYmxvZ19fYm9keSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogOC4zMzMzMzMzMzMzJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWJsb2dfX2JvZHkge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmc6IDQ4cHggOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1ibG9nX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1NSU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1ibG9nX19pbWFnZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyNSU7XG4gIH1cbn1cblxuLm8tYmxvZ19fYmctaW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdG9wOiA4LjMzMzMzMzMzMzMlO1xuICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2LjY2NjY2NjY2NjclKTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4LjMzMzMzMzMzMzMlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWJsb2dfX2JnLWltYWdlIHtcbiAgICB0b3A6IDhweDtcbiAgICByaWdodDogOHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICB9XG59XG5cbi5vLWJsb2dfX2ludHJvIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tYmxvZ19fdGltZXN0YW1wIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uby1ibG9nX19hY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5vLWJsb2dfX3JlYWRtb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5vLWJsb2dfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tY2FsbG91dC1iYXIge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNi4yNXZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNDhweDtcbiAgfVxufVxuXG4uby1jYWxsb3V0LWJhcl9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0Mjg1Nztcbn1cblxuLm8tY2FyZC1ncmlkIHtcbiAgcGFkZGluZy10b3A6IDgwcHg7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCA4MHB4LCAjMTUyQzNEIDgwcHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM5cHgpIHtcbiAgLmlzLW1vYmlsZS1hbHRlcm5hdGUgLm8tY2FyZC1ncmlkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyQzNEO1xuICB9XG59XG5cbi5vLWNhcmQtZ3JpZF9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LWZhbWlseTogXCJtb2tva29cIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDczOXB4KSB7XG4gIC5pcy1tb2JpbGUtYWx0ZXJuYXRlIC5vLWNhcmQtZ3JpZF9faGVhZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1jYXJkLWdyaWRfX21haW4ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNTJweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI3MHB4LCAxZnIpKTtcbiAgZ3JpZC1nYXA6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzlweCkge1xuICAuaXMtbW9iaWxlLWFsdGVybmF0ZSAuby1jYXJkLWdyaWRfX21haW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzM5cHgpIHtcbiAgLm8tY2FyZC1ncmlkX19iYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pcy1tb2JpbGUtYWx0ZXJuYXRlIC5vLWNhcmQtZ3JpZF9fYmFjayB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgbWluLXdpZHRoOiAwO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uby1jb250ZW50LXBlcnNvbmFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY29udGVudC1wZXJzb25hbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jb250ZW50LXBlcnNvbmFsX19kZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNvbnRlbnQtcGVyc29uYWxfX2luZm8ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRlbnQtcGVyc29uYWxfX2luZm8ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm8tY29va2llLWJhciB7XG4gIHotaW5kZXg6IC0xO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xuICBib3gtc2hhZG93OiAwIC00cHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2UtaW4tb3V0O1xufVxuYm9keTpub3QoLmlzLWNvb2tpZXMtYWNjZXB0ZWQpIC5vLWNvb2tpZS1iYXIge1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLm8tY29va2llLWJhci5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IC0xO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xufVxuXG4uby1jb29raWUtYmFyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAuby1jb29raWUtYmFyX19tYWluIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gIH1cbn1cblxuLm8tY29va2llLWJhcl9fdGV4dCB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNzRweCkge1xuICAuby1jb29raWUtYmFyX190ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIH1cbn1cblxuLm8tY29va2llLWJhcl9fbGluayB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcztcbn1cbi5vLWNvb2tpZS1iYXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI2VmZWZlZjtcbn1cblxuLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1jb29raWUtYmFyX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gIC5vLWRhdGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkYwRjU7XG4gIH1cbn1cblxuLm8tZGF0YV9fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gcmVwZWF0KDIsIDQwcHgpIGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tZGF0YV9fbWFpbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNy4xNDI4NTcxNDI5dncsIDFmcikgcmVwZWF0KDIsIG1pbm1heCgwLCA1NzZweCkpIG1pbm1heCg3LjE0Mjg1NzE0Mjl2dywgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDQ4cHggYXV0byByZXBlYXQoMiwgNDBweCkgYXV0byA2NHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tZGF0YV9fbWFpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDFweCk7XG4gICAgaGVpZ2h0OiA5NnB4O1xuICAgIHdpZHRoOiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxNTJDM0QgNTAlLCAjRkZGRkZGIDUwJSk7XG4gIH1cbn1cblxuLm8tZGF0YV9fZmlndXJlMSB7XG4gIGdyaWQtcm93OiAxLzM7XG4gIGdyaWQtY29sdW1uOiAxO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLWRhdGFfX2ZpZ3VyZTEge1xuICAgIGdyaWQtcm93OiAyLzU7XG4gICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAuby1kYXRhX19maWd1cmUyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tZGF0YV9fZmlndXJlMiB7XG4gICAgZ3JpZC1yb3c6IDIvNjtcbiAgICBncmlkLWNvbHVtbjogMy81O1xuICB9XG59XG5cbi5vLWRhdGFfX2ltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uby1kYXRhX19pY29uIHtcbiAgZ3JpZC1yb3c6IDIvNDtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgxODIsIDIxNSwgMjQwLCAwLjI0KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDE0cHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgLm8tZGF0YV9faWNvbiB7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIH1cbn1cbi5vLWRhdGFfX2ljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogOHB4O1xuICBib3R0b206IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgbGVmdDogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4uby1kYXRhX19pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgYm90dG9tOiAtMjRweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTJDM0Q7XG59XG4uby1kYXRhX19pY29uIHN2ZyB7XG4gIG1hcmdpbi10b3A6IC04cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tZGF0YV9faWNvbiB7XG4gICAgZ3JpZC1yb3c6IDMvNTtcbiAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuICAuby1kYXRhX19pY29uOjphZnRlciB7XG4gICAgYm90dG9tOiAtNTZweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgd2lkdGg6IDJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAuby1kYXRhX19jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgZ3JpZC1yb3c6IDMvNTtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBwYWRkaW5nLXRvcDogODhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLWRhdGFfX2NvbnRlbnQge1xuICAgIGdyaWQtcm93OiA0Lzc7XG4gICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgICBtYXJnaW4tcmlnaHQ6IDQ4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgcGFkZGluZy10b3A6IDEwNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2NHB4O1xuICAgIHBhZGRpbmctbGVmdDogOCU7XG4gICAgcGFkZGluZy1yaWdodDogOCU7XG4gIH1cbiAgLm8tZGF0YV9fY29udGVudDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IC01MHZ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkYwRjU7XG4gIH1cbiAgLm8tZGF0YV9fY29udGVudDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTUyQzNEO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDY0cHg7XG4gICAgd2lkdGg6IDJweDtcbiAgfVxufVxuXG4uby1kYXRhX19saXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDI0cHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgbWFyZ2luOiAwO1xufVxuLm8tZGF0YV9fbGlzdCBkdCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBmb250LWZhbWlseTogXCJtb2tva29cIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICMyRDVDODA7XG59XG4uby1kYXRhX19saXN0IGRkIHtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGNvbG9yOiAjMTUyQzNEO1xufVxuXG4uby1kb3VibGUtaW1hZ2Uge1xuICBtYXJnaW46IC0xcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1kb3VibGUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMXB4O1xuICBvcmRlcjogMTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZTpsYXN0LWNoaWxkIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuLm8tZG91YmxlLWltYWdlX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgbWF4LWhlaWdodDogODV2aDtcbn1cblxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4uby1kb3VibGUtaW1hZ2UtLWlzLXJldmVyc2VkIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZTpsYXN0LWNoaWxkIHtcbiAgb3JkZXI6IDA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5vLWRvdWJsZS10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZG91YmxlLXRleHRfX2NvbHVtbiArIC5vLWRvdWJsZS10ZXh0X19jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1mb290ZXIge1xuICB6LWluZGV4OiAyMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBjb2xvcjogIzJENUM4MDtcbn1cbi5vLWZvb3Rlcjo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQ1QzgwO1xufVxuXG4uby1mb290ZXJfX21haW4ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNTJweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gIHBhZGRpbmctdG9wOiA4OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImluZm8gYnJhbmQgLlwiO1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuICBncmlkLWFyZWE6IGJyYW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBtYXJnaW46IDAgYXV0byAzMnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDVDODA7XG59XG5cbi5vLWZvb3Rlcl9faW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGdyaWQtYXJlYTogaW5mbztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbi5vLWZvb3Rlcl9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1mYW1pbHk6IFwibW9rb2tvXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5vLWZvb3Rlcl9fYWRkcmVzcyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5vLWZvb3Rlcl9fY29udGFjdCB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG4uby1mb290ZXJfX2NvbnRhY3QgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLm8tZm9vdGVyX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMkQ1QzgwO1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuLm8tZm9vdGVyX19saW5rOjpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtbGV0dGVyKTtcbiAgZmxleDogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDQ1LCA5MiwgMTI4LCAwLjQ4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbn1cbi5vLWZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMTUyQzNEO1xufVxuLm8tZm9vdGVyX19saW5rOmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODlBNEI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm8taGVhZGVyIHtcbiAgei1pbmRleDogNTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uby1oZWFkZXIuaXMtZmxvYXRpbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5vLWhlYWRlcl9fbG9nbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDVDODA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyNDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI0MHB4O1xufVxuLm8taGVhZGVyX19sb2dvID4gLm90aXVtLWxvZ28ge1xuICBtYXJnaW4tdG9wOiAyNnB4O1xufVxuXG4uby1tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1NSU7XG59XG5cbi5vLW1hcF9faW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm8tb3ZlcmxheS1tZW51IHtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFEMUQxRDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0NTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjgsIDAuMiwgMC4yLCAwLjgpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXMsIDQ1MG1zO1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcywgMG1zO1xufVxuLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xMjB2dztcbiAgd2lkdGg6IDEyMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiA0NTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudTo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTE1MnB4O1xuICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG59XG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX25hdiB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5vLW92ZXJsYXktbWVudV9faXRlbSArIC5vLW92ZXJsYXktbWVudV9faXRlbSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjU2NTY1O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMnB4IDcuMTQyODU3MTQyOSU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOC4zMzMzMzMzMzMzJSkgc2NhbGUoMS4yKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxNzE3O1xufVxuLm8tb3ZlcmxheS1tZW51X19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgb3V0bGluZS1jb2xvcjogI0ZGRkZGRjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudV9fbGluayB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xufVxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCgxKSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA0OTVtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCgyKSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA1NDBtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCgzKSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA1ODVtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCg0KSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA2MzBtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCg1KSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA2NzVtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCg2KSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MjBtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCg3KSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3NjVtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCg4KSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA4MTBtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCg5KSAuby1vdmVybGF5LW1lbnVfX2xpbmsge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA4NTVtcztcbn1cblxuLmlzLW92ZXJsYXktbWVudS1hY3RpdmUgLm8tb3ZlcmxheS1tZW51X19pdGVtOm50aC1jaGlsZCgxMCkgLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogOTAwbXM7XG59XG5cbi8qIEluIHRoZSBbJG8tcGFydG5lcnNdIG1hcCB3ZSBkZWZpbmUgc29tZSBzZXR0aW5nczpcbiAqXG4gKiAnY29sdW1ucycua2V5IFx0PVx0bnVtYmVyIG9mIGl0ZW1zIGluIGEgcm93XG4gKiAnY29sdW1ucycudmFsdWUgXHQ9IFx0YnJlYWtwb2ludCBzaXplIGZyb20gd2hpY2ggd2Ugd2FudCB0aGF0IG51bWJlciBvZiBpdGVtc1xuICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICAuby1wYXJ0bmVyc19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAtNCU7XG4gIH1cbn1cblxuLm8tcGFydG5lcnNfX2l0ZW0ge1xuICBtYXgtd2lkdGg6IDQ0NHB4O1xuICBtYXJnaW46IDQlIGF1dG87XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5vLXBhcnRuZXJzX19pdGVtIHtcbiAgICBmbGV4OiBub25lO1xuICAgIG1hcmdpbjogNCU7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAoNCUgKiAyKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyMHB4KSB7XG4gIC5vLXBhcnRuZXJzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gKDQlICogMikpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NjBweCkge1xuICAuby1wYXJ0bmVyc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAoNCUgKiAyKSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODBweCkge1xuICAuby1wYXJ0bmVyc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAoNCUgKiAyKSk7XG4gIH1cbn1cblxuLm8tcGFydG5lcnNfX2xvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTUwbXMgbGluZWFyO1xufVxuLm8tcGFydG5lcnNfX2xvZ286aG92ZXIge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuXG4uby1wYXJ0bmVyc19fZmlndXJlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm8tcGFydG5lcnNfX2ltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLm8tcXVvdGUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNTJweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLXF1b3RlX19ib2R5ID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tcXVvdGVfX2JvZHkge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1xdW90ZV9fcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tcXVvdGVfX3BpY3R1cmUge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlX19waWN0dXJlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXF1b3RlX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLXF1b3RlX190ZXh0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjtcbn1cbi5vLXF1b3RlX190ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuLm8tcXVvdGVfX3RleHQ6OmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbi5vLXF1b3RlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5vLXF1b3RlX19oZWFkaW5nOjpiZWZvcmUge1xuICBjb250ZW50OiBcIi0gXCI7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4uby10ZXN0aW1vbmlhbHNfX21hdHJpeCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMjRweDtcbn1cblxuLm8tdGVzdGltb25pYWxzX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmbGV4OiAwIDEgMTAwJTtcbiAgbWFyZ2luOiAyNHB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIGJveC1zaGFkb3c6IDAgMTIuNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjAzNSksIDAgMTAwcHggODBweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLm8tdGVzdGltb25pYWxzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDQ4cHgpO1xuICB9XG59XG5cbi5vLXRlc3RpbW9uaWFsc19fYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5cbi5vLXRlc3RpbW9uaWFsc19fcGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDI1JTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG59XG5cbi5vLXRlc3RpbW9uaWFsc19fY29udGVudCB7XG4gIGZsZXgtZ3JvdzogOTk5OTtcbiAgZmxleC1iYXNpczogMTJlbTtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7XG59XG5cbi5vLXRlc3RpbW9uaWFsc19fYXV0aG9yIHtcbiAgbWFyZ2luLXRvcDogMjRweDtcbn1cblxuLm8tc3ViZm9vdGVyIHtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkYwRjU7XG4gIGNvbG9yOiAjODlBNEI4O1xufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNTJweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNjlweCkge1xuICAuby1zdWJmb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTcwcHgpIHtcbiAgLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMzJweDtcbiAgfVxufVxuXG4uby1zdWJmb290ZXJfX25hdiB7XG4gIG1hcmdpbjogOHB4IGF1dG8gMTZweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkge1xuICAuby1zdWJmb290ZXJfX25hdiB7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICB9XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTY5cHgpIHtcbiAgLm8tc3ViZm9vdGVyX19saXN0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uby1zdWJmb290ZXJfX2l0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTY5cHgpIHtcbiAgLm8tc3ViZm9vdGVyX19pdGVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIC5vLXN1YmZvb3Rlcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm8tc3ViZm9vdGVyX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuby1zdWJmb290ZXJfX2l0ZW06bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODlBNEI4O1xuICB9XG59XG5cbi5vLXN1YmZvb3Rlcl9fbGluayB7XG4gIGNvbG9yOiAjODlBNEI4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICMyRDVDODA7XG59XG5cbi5vLXN1YmZvb3Rlcl9fdHJhZGVtYXJrIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTY5cHgpIHtcbiAgLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODlBNEI4O1xuICB9XG59XG5cbi8qXG4gKiBPbiBzbWFsbCBzY3JlZW5zIHRoZSBjb250ZW50IGlzIHN0YWNrZWQsIHdpdGhvdXQgY29udHJvbHNcbiAqIFdoZW4gdGhlIHNjcmVlbiBpcyB3aWRlIGVub3VnaCB3ZSBhZGQgdGhlIGNvbnRyb2xzXG4gKiBhbmQgc2hvdyBvbmx5IHRoZSBjaG9zZW4gJ3NsaWRlIGNvbnRlbnQnXG4gKi9cbi5vLXRhYnMge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNTJweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXRhYnNfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5cbi5vLXRhYnNfX2J1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAxNnB4IDMycHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIGNvbG9yOiAjM2IzYjNiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7XG59XG4uby10YWJzX19idXR0b246aG92ZXIge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cbi5vLXRhYnNfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cbi5vLXRhYnNfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzEzY2ZjZTtcbn1cbi5vLXRhYnNfX2J1dHRvbjpmb2N1czpub3QoLmlzLWFjdGl2ZSk6bm90KDphY3RpdmUpIHtcbiAgYm94LXNoYWRvdzogMCAwIDVweCAzcHggcmdiYSgxOSwgMjA3LCAyMDYsIDAuMSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBwYWRkaW5nOiA0OHB4IDMycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzX19jb250ZW50ICsgLm8tdGFic19fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic19fY29udGVudCB7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuICB9XG4gIC5vLXRhYnNfX2NvbnRlbnQuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxufVxuXG4uby10YWJzX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXRhYnNfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIEluIHRoZSBbJG8tdGVhbV0gbWFwIHdlIGRlZmluZSBzb21lIHNldHRpbmdzOlxuICpcbiAqICdjb2x1bW5zJy5rZXkgXHQ9XHRudW1iZXIgb2YgaXRlbXMgaW4gYSByb3dcbiAqICdjb2x1bW5zJy52YWx1ZSBcdD0gXHRicmVha3BvaW50IHNpemUgZnJvbSB3aGljaCB3ZSB3YW50IHRoYXQgbnVtYmVyIG9mIGl0ZW1zXG4gKi9cbi5vLXRlYW0ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDExNTJweDtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyNHB4KSB7XG4gIC5vLXRlYW1fX21hdHJpeCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAtMTZweDtcbiAgfVxufVxuLm8tdGVhbV9faXRlbSB7XG4gIG1heC13aWR0aDogMzIwcHg7XG4gIG1hcmdpbjogMTZweCBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTI0cHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAoMTZweCAqIDIpKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzg0cHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtICgxNnB4ICogMikpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTkwcHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAoMTZweCAqIDIpKTtcbiAgfVxufVxuXG4uby10ZXh0IHtcbiAgbWF4LXdpZHRoOiA3NDRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMjtcbiAgY29sb3I6ICMyRDVDODA7XG59XG4uby10ZXh0IHtcbiAgbWFyZ2luLXRvcDogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC5vLXRleHQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMi4zNTI5NDExNzY1dncgKyA0MC40NzA1ODgyMzUzcHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNjRweDtcbiAgfVxufVxuLm8tdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xuICAuby10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIuMzUyOTQxMTc2NXZ3ICsgNDAuNDcwNTg4MjM1M3B4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gIH1cbn1cblxuLm8tdGV4dC1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDQ4cHggYXV0bztcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNy4xNDI4NTcxNDI5dncsIDFmcikgbWlubWF4KDAsIDExNTJweCkgbWlubWF4KDcuMTQyODU3MTQyOXZ3LCAxZnIpO1xuICBtYXJnaW4tdG9wOiA3MnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLXRleHQtaW1hZ2Uge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG8gMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDcuMTQyODU3MTQyOXZ3LCAxZnIpIHJlcGVhdCgyLCBtaW5tYXgoMCwgNTc2cHgpKSBtaW5tYXgoNy4xNDI4NTcxNDI5dncsIDFmcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNTAlLCAjMTUyQzNEIDUwJSk7XG4gICAgcGFkZGluZy1ib3R0b206IDcycHg7XG4gIH1cbn1cbi5vLXRleHQtaW1hZ2U6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5vLXRleHQtaW1hZ2U6YWZ0ZXIge1xuICAgIGhlaWdodDogMTQ0cHg7XG4gICAgYm90dG9tOiA3MnB4O1xuICB9XG59XG5cbi5vLXRleHQtaW1hZ2VfX3Zpc3VhbCB7XG4gIGdyaWQtY29sdW1uOiAyLzQ7XG4gIGdyaWQtcm93OiAxLzM7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tdGV4dC1pbWFnZV9fdmlzdWFsIHtcbiAgICBncmlkLWNvbHVtbjogMi81O1xuICAgIGdyaWQtcm93OiAxLzQ7XG4gIH1cbn1cblxuLm8tdGV4dC1pbWFnZV9fZGVzY3JpcHRpb24ge1xuICBmb250LXdlaWdodDogMzAwO1xuICBncmlkLWNvbHVtbjogMi8zO1xuICBncmlkLXJvdzogMi80O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nLXRvcDogNDhweDtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tdGV4dC1pbWFnZV9fZGVzY3JpcHRpb24ge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZ3JpZC1yb3c6IDIvMztcbiAgICBwYWRkaW5nLXRvcDogNzJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDRweDtcbiAgfVxufVxuLm8tdGV4dC1pbWFnZV9fZGVzY3JpcHRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogLTUwdnc7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyRDVDODA7XG59XG5cbi5vLXZhY2FuY2llcyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm8tdmFjYW5jaWVzX19pdGVtICsgLm8tdmFjYW5jaWVzX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMzJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzFEMUQxRDtcbiAgY29sb3I6ICMxRDFEMUQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuLm8tdmFjYW5jaWVzX19saW5rOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2RjZGNkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4vKiBWaWRlbyBNb2RhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogc2V0IHRoZSBpZnJhbWUgZWxlbWVudCB0byBzdHJldGNoIHRvIGZpdCBpdHMgcGFyZW50IGVsZW1lbnQgKi9cbmlmcmFtZSN5b3V0dWJlLWlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLm8tdmlkZW8tbW9kYWwsXG4uby12aWRlby1tb2RhbF9fb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAzMDAwO1xufVxuXG4uby12aWRlby1tb2RhbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAwJSwgMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgbGluZWFyIDBzO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4uby12aWRlby1tb2RhbF9fb3ZlcmxheSB7XG4gIHotaW5kZXg6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjEsIDQ0LCA2MSwgMC44NSk7XG4gIC8qIG92ZXJsYXkgY29sb3IgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLW91dCA1MG1zO1xufVxuXG4uby12aWRlby1tb2RhbF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDAgYXV0bztcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyZW0pO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCgxMDAlIC0gMTJlbSkgKiAwLjU2MjUpO1xuICAvKiAxNjo5IGNhbGMgKi9cbiAgLyogU2NhbGluZyB0byBmaXQgd2l0aGluIHRoZSBjdXJyZW50IFZpZXdwb3J0IHNpemU6XG4gICAgIFdoZW4gdmlld3BvcnQgYXNwZWN0IHJhdGlvIGlzIGdyZWF0ZXIgdGhhbiAxNjo5XG4gICAgIHdvcmsgb2ZmIHRoZSBoZWlnaHQgaW5zdGVhZCBvZiB0aGUgd2lkdGggZm9yIGNhbGMgKi9cbiAgLyogTW9iaWxlIExheW91dCBUd2Vha3MgLSBzaWRlIG1hcmdpbnMgcmVkdWNlZCAqL1xufVxuQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gIC5vLXZpZGVvLW1vZGFsX19jb250ZW50IHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMGVtKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZoIC0gMTBlbSkgKiAxLjc3NzgpO1xuICAgIC8qIDE2OjkgY2FsYyAqL1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLm8tdmlkZW8tbW9kYWxfX2NvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxZW0pO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKCgxMDAlIC0gMWVtKSAqIDAuNTYyNSk7XG4gICAgLyogMTY6OSBjYWxjICovXG4gIH1cbn1cblxuLyogbW9kYWwgY2xvc2UgYnV0dG9uICovXG4uby12aWRlby1tb2RhbF9fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IC00MHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIHNob3cgdGhlIG1vZGFsOlxuICAgYWRkIGNsYXNzIHRvIHRoZSBib2R5IHRvIHJldmVhbCAodmlhIGphdmFzY3JpcHQpICovXG4uaXMtdmlzaWJsZS12aWRlby1tb2RhbCAuby12aWRlby1tb2RhbCB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi5pcy12aXNpYmxlLXZpZGVvLW1vZGFsIC5vLXZpZGVvLW1vZGFsX19vdmVybGF5IHtcbiAgb3BhY2l0eTogMTtcbn1cbi5pcy12aXNpYmxlLXZpZGVvLW1vZGFsIC5vLXZpZGVvLW1vZGFsX19jb250ZW50IHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiAgNyAtIFRlbXBsYXRlc1xuICogIE92ZXJyaWRlIHN0eWxpbmcgZm9yIGEgc3BlY2lmaWMgdGVtcGxhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUZW1wbGF0ZXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyogIDggLSBTQ09QRVNcbiAqICBFbGVtZW50cyBhbmQgY2xhc3NlcyB0aGF0IGFyZSBzY29wZWQgYnkgYSBwYXJlbnQgY2xhc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cbi5zLXRleHQge1xuICBjb2xvcjogIzE1MkMzRDtcbn1cbi5zLXRleHQgaDIsIC5zLXRleHQgaDMsIC5zLXRleHQgaDQge1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LWZhbWlseTogXCJtb2tva29cIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbi5zLXRleHQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG4ucy10ZXh0ID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnMtdGV4dCA+ICogKyBbY2xhc3MqPWMtXSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb250ZW50OiBcIuKAolwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogMDtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI3NWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnMtdGV4dC0tb24tZGFyayB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4vKiAgOSAtIExJQlJBUklFU1xuICogIFN0eWxpbmcgd2UgaW1wbGVtZW50IGZyb20gdGhpcmQgcGFydGllc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFuaW1hdGlvbiBjbGFzc2VzIGZvciB0aGUgS0FMIHBhY2thZ2UuXG4gKiBLQWwgc3RhbmRzIGZvciBLb21tYSBBbmltYXRpb24gTGlicmFyeVxuICpcbiAqIFRoZXJlIGFyZSBkaWZmZXJlbnQgYW5pbWF0aW9uIHR5cGVzIHRoYXQgd2UgY2FuIGRlZmluZSxcbiAqIHRoZSBuYW1lIG9mIHdoaWNoIGlzIHVzZWQgYXMgdGhlIGNsYXNzLCBwcmVmaXhlZCB3aXRoICdrYWwtJ1xuICpcbiAqIFdoZW4gdGhlIHBsdWdpbiBpcyBhY3RpdmF0ZWQgYW4gZWxlbWVudCB0aGF0IHdpbGwgYmUgYW5pbWF0ZWRcbiAqIHJlY2VpdmVzIGEgZXh0cmEgc3RhdGUgY2xhc3NcbiAqXG4gKiBXaGVuIHRoZSBlbGVtZW50IGNvbWVzIGludG8gdmlldyB0aGUgcGx1Z2luIHNob3VsZCBzd2FwXG4gKiB0byB0aGUgZmluYWwgc3RhdGVcbiAqXG4gKi9cbi8qKlxuICogQ29uZmlnXG4gKi9cbi8qKlxuKiBFYXNpbmdzXG4qL1xuLyoqXG4gKiBDb3JlXG4gKi9cbltkYXRhLWthbF0uaXMta2FsLWVuZCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLWthbC1kdXJhdGlvbiwgMTIwMG1zKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0ta2FsLWRlbGF5LCAwcyk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1rYWwtZWFzaW5nLCBlYXNlKTtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9bGluZWFyXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2VdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW5dIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2Utb3V0XSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9ZWFzZS1pbi1vdXRdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLWN1YmljXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9ZWFzZS1vdXQtY3ViaWNdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLW91dC1jdWJpY10ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLWNpcmNdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KTtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9ZWFzZS1vdXQtY2lyY10ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW4tb3V0LWNpcmNdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc4NSwgMC4xMzUsIDAuMTUsIDAuODYpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLWV4cG9dIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjk1LCAwLjA1LCAwLjc5NSwgMC4wMzUpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLW91dC1leHBvXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW4tb3V0LWV4cG9dIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigxLCAwLCAwLCAxKTtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9ZWFzZS1pbi1xdWFkXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLW91dC1xdWFkXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW4tb3V0LXF1YWRdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9ZWFzZS1pbi1xdWFydF0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2Utb3V0LXF1YXJ0XSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLW91dC1xdWFydF0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbn1cblxuW2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9ZWFzZS1pbi1xdWludF0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2Utb3V0LXF1aW50XSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW4tb3V0LXF1aW50XSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW4tc2luZV0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2Utb3V0LXNpbmVdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLW91dC1zaW5lXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLWluLWJhY2tdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjYsIC0wLjI4LCAwLjczNSwgMC4wNDUpO1xufVxuXG5bZGF0YS1rYWxdW2RhdGEta2FsLWVhc2luZz1lYXNlLW91dC1iYWNrXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG59XG5cbltkYXRhLWthbF1bZGF0YS1rYWwtZWFzaW5nPWVhc2UtaW4tb3V0LWJhY2tdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xufVxuXG4vKipcbiAqIFByZXNldCBBbmltYXRpb25zXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICogRmFkZVxuICovXG5bZGF0YS1rYWx8PWZhZGVdLmlzLWthbC1zdGFydCB7XG4gIG9wYWNpdHk6IDA7XG59XG5bZGF0YS1rYWx8PWZhZGVdLmlzLWthbC1lbmQge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlXG4gKi9cbltkYXRhLWthbCo9c2xpZGVdLmlzLWthbC1zdGFydCB7XG4gIG9wYWNpdHk6IDA7XG59XG5bZGF0YS1rYWwqPXNsaWRlXS5pcy1rYWwtZW5kIHtcbiAgLS1rYWwtZHVyYXRpb246IDEwMDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM3LCAwLjAxLCAwLCAwLjk4KTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAqIE1vdmVcbiAqL1xuW2RhdGEta2FsKj1tb3ZlXS5pcy1rYWwtZW5kIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM3LCAwLjAxLCAwLCAwLjk4KTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlIGFuZCBtb3ZlXG4gKi9cbltkYXRhLWthbCo9dXBdLmlzLWthbC1zdGFydCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1rYWwtc2xpZGUtb2Zmc2V0LCA2NHB4KSk7XG59XG5cbltkYXRhLWthbCo9ZG93bl0uaXMta2FsLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0ta2FsLXNsaWRlLW9mZnNldCwgNjRweCkgKiAtMSkpO1xufVxuXG5bZGF0YS1rYWwqPXJpZ2h0XS5pcy1rYWwtc3RhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1rYWwtc2xpZGUtb2Zmc2V0LCA2NHB4KSAqIC0xKSk7XG59XG5cbltkYXRhLWthbCo9bGVmdF0uaXMta2FsLXN0YXJ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWthbC1zbGlkZS1vZmZzZXQsIDY0cHgpKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBab29tLWluXG4gKi9cbltkYXRhLWthbD16b29tLWluXS5pcy1rYWwtc3RhcnQge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG59XG5bZGF0YS1rYWw9em9vbS1pbl0uaXMta2FsLWVuZCB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiAgMTAgLSBVVElMSVRJRVNcbiAqICBIaWdoLXNwZWNpZmljaXR5LCB2ZXJ5IGV4cGxpY2l0IHNlbGVjdG9ycy5cbiAqICBPdmVycmlkZXMgYW5kIGhlbHBlciBjbGFzc2VzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuLnUtY29sb3ItcHJpbWFyeS0tMTAwIHtcbiAgY29sb3I6ICNFQkYwRjU7XG59XG5cbi51LWJnLXByaW1hcnktLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQkYwRjU7XG59XG5cbi51LWNvbG9yLXByaW1hcnktLTMwMCB7XG4gIGNvbG9yOiAjODlBNEI4O1xufVxuXG4udS1iZy1wcmltYXJ5LS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODlBNEI4O1xufVxuXG4udS1jb2xvci1wcmltYXJ5LS01MDAge1xuICBjb2xvcjogIzJENUM4MDtcbn1cblxuLnUtYmctcHJpbWFyeS0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJENUM4MDtcbn1cblxuLnUtY29sb3ItcHJpbWFyeS0tNjAwIHtcbiAgY29sb3I6ICMxNTJDM0Q7XG59XG5cbi51LWJnLXByaW1hcnktLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTJDM0Q7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTAge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMCB7XG4gIGNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1iZy1uZXV0cmFsLS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0yMDAge1xuICBjb2xvcjogI2VmZWZlZjtcbn1cblxuLnUtYmctbmV1dHJhbC0tMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMzAwIHtcbiAgY29sb3I6ICNjZGNkY2Q7XG59XG5cbi51LWJnLW5ldXRyYWwtLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTQwMCB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1iZy1uZXV0cmFsLS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5OTk5O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS01MDAge1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtYmctbmV1dHJhbC0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tNjAwIHtcbiAgY29sb3I6ICM0YTRhNGE7XG59XG5cbi51LWJnLW5ldXRyYWwtLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTcwMCB7XG4gIGNvbG9yOiAjM2IzYjNiO1xufVxuXG4udS1iZy1uZXV0cmFsLS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzYjNiO1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS04MDAge1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLnUtYmctbmV1dHJhbC0tODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tOTAwIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWJnLW5ldXRyYWwtLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMDAge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtYmctbmV1dHJhbC0tMTAwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1mb2N1cyB7XG4gIGNvbG9yOiAjMTNjZmNlO1xufVxuXG4udS1iZy1mZWVkYmFjay0tZm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTNjZmNlO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tYWN0aW9uIHtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA3OUI4O1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0td2FybmluZyB7XG4gIGNvbG9yOiAjZmZkMzNhO1xufVxuXG4udS1iZy1mZWVkYmFjay0td2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi51LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCAkZm9udC13ZWlnaHRzIG1hcFxuICogT3V0cHV0IG9mIHRoZSBjbGFzc2VzIGluIHRoZSB0aGlzIGZvcm06XG5cbiAgIC51LWZ3LXJlZ3VsYXIge31cbiAgIC51LWZ3LXNlbWlCb2xkIHt9XG4gICAuLi4gZXRjXG5cbiAqL1xuLnUtZnctbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4udS1mdy1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnUtZnctZXh0cmEtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbi51LWZ3LWV4dHJhQm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG5cbi51LWZ3LWJsYWNrIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLnUtdmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51LWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLnUtaGlkZGVuXFxAcy1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC51LWhpZGRlblxcQG0tdXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LWhpZGRlblxcQG0tZG93biB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtaGlkZGVuXFxAbC11cCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLnUtaGlkZGVuXFxAbC1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuLnUtc3BhY2luZy1tMCB7XG4gIG1hcmdpbjogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQwIHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjAge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDAge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcDAge1xuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDAge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIwIHtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIwIHtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMCB7XG4gIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbTEge1xuICBtYXJnaW46IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MSB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMSB7XG4gIG1hcmdpbi1yaWdodDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIxIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwxIHtcbiAgbWFyZ2luLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXAxIHtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQxIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDEge1xuICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW0yIHtcbiAgbWFyZ2luOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQyIHtcbiAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yMiB7XG4gIG1hcmdpbi1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDIge1xuICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXAyIHtcbiAgcGFkZGluZzogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0MiB7XG4gIHBhZGRpbmctdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIyIHtcbiAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMiB7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGwyIHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbTMge1xuICBtYXJnaW46IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDMge1xuICBtYXJnaW4tdG9wOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIzIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWIzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcDMge1xuICBwYWRkaW5nOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQzIHtcbiAgcGFkZGluZy10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjMge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIzIHtcbiAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDMge1xuICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tNCB7XG4gIG1hcmdpbjogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NCB7XG4gIG1hcmdpbi10b3A6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjQge1xuICBtYXJnaW4tcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw0IHtcbiAgbWFyZ2luLWxlZnQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wNCB7XG4gIHBhZGRpbmc6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDQge1xuICBwYWRkaW5nLXRvcDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjQge1xuICBwYWRkaW5nLWJvdHRvbTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNCB7XG4gIHBhZGRpbmctbGVmdDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW01IHtcbiAgbWFyZ2luOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ1IHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yNSB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iNSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDUge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXA1IHtcbiAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0NSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI1IHtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiNSB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw1IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbTYge1xuICBtYXJnaW46IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tdDYge1xuICBtYXJnaW4tdG9wOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXI2IHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWI2IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sNiB7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcDYge1xuICBwYWRkaW5nOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQ2IHtcbiAgcGFkZGluZy10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wcjYge1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGI2IHtcbiAgcGFkZGluZy1ib3R0b206IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDYge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tNyB7XG4gIG1hcmdpbjogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NyB7XG4gIG1hcmdpbi10b3A6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjcge1xuICBtYXJnaW4tcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjcge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw3IHtcbiAgbWFyZ2luLWxlZnQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wNyB7XG4gIHBhZGRpbmc6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDcge1xuICBwYWRkaW5nLXRvcDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNyB7XG4gIHBhZGRpbmctcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjcge1xuICBwYWRkaW5nLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNyB7XG4gIHBhZGRpbmctbGVmdDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW04IHtcbiAgbWFyZ2luOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQ4IHtcbiAgbWFyZ2luLXRvcDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1yOCB7XG4gIG1hcmdpbi1yaWdodDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iOCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDgge1xuICBtYXJnaW4tbGVmdDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXA4IHtcbiAgcGFkZGluZzogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXB0OCB7XG4gIHBhZGRpbmctdG9wOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHI4IHtcbiAgcGFkZGluZy1yaWdodDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiOCB7XG4gIHBhZGRpbmctYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGw4IHtcbiAgcGFkZGluZy1sZWZ0OiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93X2dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udS12aXNpYmxlLWdyaWQge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC51LXZpc2libGUtZ3JpZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpLCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCA4LjMzMzMzMzMzMzMlKSwgcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpLCByZ2JhKDM4LCA3NywgMjE3LCAwLjIpIDFweCwgdHJhbnNwYXJlbnQgMXB4LCB0cmFuc3BhcmVudCAxMDB2dyk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4kcGFsZXR0ZXM6IChcbiAgJ3ByaW1hcnknOiAoXG4gICAgMTAwOiAjRUJGMEY1LFxuICAgIDMwMDogIzg5QTRCOCxcbiAgICA1MDA6ICMyRDVDODAsXG4gICAgNjAwOiAjMTUyQzNELFxuICApLFxuXG4gICduZXV0cmFsJzogKFxuICAgIDA6ICAgI0ZGRkZGRixcbiAgICAxMDA6ICNGOEY4RjgsXG4gICAgMjAwOiAjZWZlZmVmLFxuICAgIDMwMDogI2NkY2RjZCxcbiAgICA0MDA6ICM5OTk5OTksXG4gICAgNTAwOiAjNjU2NTY1LFxuICAgIDYwMDogIzRhNGE0YSxcbiAgICA3MDA6ICMzYjNiM2IsXG4gICAgODAwOiAjMkMyQzJDLFxuICAgIDkwMDogIzFEMUQxRCxcbiAgICAxMDAwOiAjMDAwMDAwLFxuICApLFxuXG4gICdmZWVkYmFjayc6IChcbiAgICBmb2N1czogIzEzY2ZjZSxcbiAgICBhY3Rpb246ICAgIzQwNzlCOCxcbiAgICB3YXJuaW5nOiAgI2ZmZDMzYSxcbiAgICAvL25lZ2F0aXZlOiAjY2YzZTNlLFxuICAgIC8vcG9zaXRpdmU6ICMzZWNmOGUsXG4gICksXG4pO1xuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBzbyB3ZSBjYW4gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzIGlmIHdlIG5lZWRcblxuXHRVU0FHRTpcblxuXHQuZGVtbyB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0fVxuXG4gKi9cblxuQGZ1bmN0aW9uIHBhbGV0dGUoJHBhbGV0dGUsICRsZXZlbDogMSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHBhbGV0dGVzLCAkcGFsZXR0ZSkge1xuICAgIEBpZiBtYXAtaGFzLWtleShtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSWYgbGV2ZWwgZG9lc24ndCBleGlzdCBpbiBtYXAsIGdpdmUgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSBwYWxldHRlXG4gICAgICBAd2FybiBcIlVua25vd24gbGV2ZWw6IGAjeyRsZXZlbH1gIGluIGAjeyRwYWxldHRlfWAuIFwiO1xuICAgICAgQHJldHVybiBudGgobnRoKG1hcC1nZXQoJHBhbGV0dGVzLCAkcGFsZXR0ZSksIDEpLCAyKTtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIlVua25vd24gY29sb3I6IGAjeyRwYWxldHRlfWAgaW4gJHBhbGV0dGUuIFwiO1xuICBAcmV0dXJuIGRlZXBwaW5rO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbmZpZyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoZSBkZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWVzIHVzZWQgaW4gdGhlIGJvcmRlciBtaXhpblxuXG4kYm9yZGVyLXJhZGl1czogKFxuXHRzOiA0cHgsXG5cdG06IDhweCxcblx0bDogMTZweFxuKTtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2x1bW4gc2V0dGluZ3NcblxuJHNpdGUtY29sdW1uczogMTQ7XG4kc2l0ZS1jb2x1bW4tc2l6ZTpcdFx0ICAgIDk2OyAvLyBTaXplIG9mIGEgc2luZ2xlIGNvbHVtbiB3aGVuIHZpZXdwb3J0IGlzIGF0IGl0cyBtYXggd2lkdGggKHVzZWQgZm9yIGNhbGN1bGF0aW5nIG1heC13aWR0aCkuXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gT3RoZXIgc2V0dGluZ3NcblxuJHNpdGUtY29va2llQmFyLWhlaWdodDogICAgIFx0XHQ2NHB4OyAvLyBGaXhlZCBzaXplIHNvIHdlIGNhbiBvZmZzZXQgcGFkZGluZy1ib3R0b20gb24gdGhlIGJvZHlcbiRzaXRlLWNvb2tpZUJhci10cmFuc2l0aW9uLXNwZWVkOiBcdDYwMG1zOyAvLyBTcGVlZCBvZiB0aGUgZGlzYXBwZWFyIGFuaW1hdGlvblxuJHNpdGUtY29va2llQmFyLXRyYW5zaXRpb24tZWFzZTogXHRlYXNlLWluLW91dDsgLy8gRWFzaW5nIG9mIHRoZSBkaXNhcHBlYXIgYW5pbWF0aW9uXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0aW9ucyB0aGF0IGFyZSBkb25lIHdpdGggc29tZSBvZiB0aGUgZ2l2ZW4gdmFsdWVzIGFib3ZlIHRoaXMgbGluZVxuXG4kc2l0ZS1tYXgtd2lkdGg6ICRzaXRlLWNvbHVtbi1zaXplICogKCRzaXRlLWNvbHVtbnMgLSAyKTsgLy8gTWFpbiBjb250YWluZXIgbWF4LXdpZHRoICh3aXRob3V0IGd1dHRlcilcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBcdCBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAgIFdlIGRlZmluZSBldmVyeSBzaXplIGluIHBpeGVscywgdGhlIHVuZGVybHlpbmcgc3lzdGVtXG4gICBjb252ZXJ0cyB0aGUgcmVzcGVjdGl2ZSB1bml0cyB0byB0aGUgcmVzcG9uc2l2ZSBSRU0gdmFsdWUuXG4gXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuJGJhc2UtZm9udC1zaXplOiAgIFx0MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kYmFzZS1saW5lLWhlaWdodDogXHQyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHQhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1yYXRpbzpcdCRiYXNlLWxpbmUtaGVpZ2h0LyRiYXNlLWZvbnQtc2l6ZSAgICFkZWZhdWx0O1xuXG4kZm9udC1zaXplczogKFxuXHQneHMnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MTZcblx0KSxcblx0J3MnOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQxNSxcblx0XHRsaW5lLWhlaWdodDogXHQyNFxuXHQpLFxuXHQnYmFzZSc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0JGJhc2UtZm9udC1zaXplLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdCRiYXNlLWxpbmUtaGVpZ2h0XG5cdCksXG5cdCdtJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MjRcblx0KSxcblx0J2wnOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQyNCxcblx0XHRsaW5lLWhlaWdodDogXHQzMlxuXHQpLFxuXHQneGwnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjgsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzZcblx0KSxcblx0J3h4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQzMixcblx0XHRsaW5lLWhlaWdodDogXHQ0NFxuXHQpLFxuXHQneHh4bCc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NDAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NTZcblx0KSxcblx0J3h4eHhsJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ1Nixcblx0XHRsaW5lLWhlaWdodDogXHQ1NlxuXHQpLFxuKTtcblxuXG4kZm9udC13ZWlnaHRzOiAoXG5cdC8vJ3RoaW4nOlx0ICAgICAgICAxMDAsXG5cdC8vJ2V4dHJhLWxpZ2h0JzpcdDIwMCxcblx0J2xpZ2h0JzogXHRcdDMwMCxcblx0J3JlZ3VsYXInOiBcdFx0NDAwLFxuXHQvLydtZWRpdW0nOiBcdFx0NTAwLFxuXHQvLydzZW1pLWJvbGQnOiBcdDYwMCxcblx0Ly8nc2VtaUJvbGQnOiBcdDYwMCxcblx0Ly8nYm9sZCc6XHRcdFx0NzAwLFxuXHQnZXh0cmEtYm9sZCc6IFx0ODAwLFxuXHQnZXh0cmFCb2xkJzogXHQ4MDAsXG5cdCdibGFjayc6IFx0XHQ5MDAsXG4pO1xuXG5cbi8qKlxuICpcdEhlcmUgd2UgYXNzaWduIHNob3J0IG5hbWVzIGZvciB0aGUgZm9udCBmYW1pbGllc1xuICovXG5cbiRmb250LXN5c3RlbTpcdFx0LWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG4kZm9udC1hem8tc2FuczogICAgICdhem8tc2Fucy13ZWInLCBzYW5zLXNlcmlmO1xuJGZvbnQtbW9rb2tvOiBcdCAgICAnbW9rb2tvJywgc2Fucy1zZXJpZjsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBnaXZlbiBmb3JtYXRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8vIERlZmF1bHQgYnJlYWtwb2ludHNcbiRicmVha3BvaW50czogKFxuXHRzOiAzODQsXG5cdG06IDg0MCxcblx0bDogMTE1Mixcbik7XG5cbi8vIERldGVybWluZSBhdCB3aGljaCB2aWV3cG9ydCBzaXplIHdlIGNhbiBmaXQgaW4gYSBob3Jpem9udGFsIG1lbnUgaW5zdGVhZCBvZiB0aGUgaGFtYnVyZ2VyIG1lbnUgdG9nZ2xlXG4kYnAtaGVhZGVyLWxhcmdlOiAxMTAwO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgdmlld3BvcnQgc2l6ZSB3aGVuIGNvbnRhaW5lciBjYW4ndCBncm93IGFueW1vcmVcbiRicC1tYXg6ICRzaXRlLWNvbHVtbnMgKiAkc2l0ZS1jb2x1bW4tc2l6ZTsiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICBGdW5jdGlvbnMgdXNlZCBpbiBncmlkIGNhbGN1bGF0aW9uXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuQGZ1bmN0aW9uIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMpIHtcblx0Ly8gQ2FsY3VsYXRlIHRoZSB3aWR0aCBmb3IgYSBzaW5nbGUgY29sdW1uIG9uIGEgZnVsbCBncmlkXG5cdCRzaW5nbGVDb2x1bW5TaXplOiAxMDAgLyAkc2l0ZS1jb2x1bW5zO1xuXG5cdC8vIEdldCB0aGUgb3JpZ2luIHNpemUgaW4gcGVyY2VudGFnZSBmcm9tIHRoZSBmdWxsIGdyaWRcblx0JG9yaWdpblBlcmNlbnRhZ2U6ICRvcmlnaW4gLyAkc2l0ZS1jb2x1bW5zICogMTAwO1xuXG5cdC8vIENhbGN1bGF0ZSBzaW5nbGUgY29sdW1uIGZyb20gbmV3IG9yaWdpblxuXHQkbmV3U2luZ2xlQ29sdW1uU2l6ZTogJHNpbmdsZUNvbHVtblNpemUgLyAkb3JpZ2luUGVyY2VudGFnZSAqIDEwMDtcblxuXHQvLyBSZXR1cm4gYW1vdW50IG9mIGNvbHVtbnMgYXMgcGVyY2VudGFnZVxuXHRAcmV0dXJuICgkbmV3U2luZ2xlQ29sdW1uU2l6ZSAqICRjb2x1bW5Db3VudCk7XG59XG5cbi8qKlxuICAqIERlZmF1bHQgZnVuY3Rpb24gZm9yIGNvbHVtbnNcbiAgKiBSZXR1cm4gYXMgcGVyY2VudGFnZVxuICAqL1xuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogKCRzaXRlLWNvbHVtbnMgLSAyKSkge1xuXHRAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDElO1xufVxuXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW5WdygkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogKCRzaXRlLWNvbHVtbnMgLSAyKSkge1xuXHRAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDF2dztcbn0iLCIvKipcbiAqIEZsdWlkIHR5cGUgcGx1Z2luIChodHRwczovL2NvZGVwZW4uaW8vTWFkZUJ5TWlrZS9wZW4vdk5ydmRaKVxuICogUmVxdWlyZXMgdGhlIGNhbGMtaW50ZXJwb2xhdGlvbiBmdW5jdGlvbiB3aGljaCBjYW4gYWxzbyBiZSB1c2VkIGluZGVwZW5kZW50bHlcbiAqXG4gKiBVc2FnZTpcbiAqXG4gKiAuZGVtbyB7XG4gKiAgICAgQGluY2x1ZGUgaW50ZXJwb2xhdGUoZm9udC1zaXplLCAzMjBweCwgMTM2NnB4LCAxNHB4LCAyMHB4KTtcbiAqIH1cbiAqXG4gKiBNdWx0aXBsZSBwcm9wZXJ0aWVzIHdpdGggc2FtZSB2YWx1ZXM6XG4gKlxuICogaDEsaDIsaDMsaDQsaDUge1xuICogICBAaW5jbHVkZSBpbnRlcnBvbGF0ZSgocGFkZGluZy10b3AsIHBhZGRpbmctYm90dG9tKSwgMjByZW0sIDcwcmVtLCAwcmVtLCAuNXJlbSk7XG4gKiB9XG4gKlxuICovXG5AbWl4aW4gaW50ZXJwb2xhdGUoJHByb3BlcnRpZXMsICRtaW4tc2NyZWVuLCAkbWF4LXNjcmVlbiwgJG1pbi12YWx1ZSwgJG1heC12YWx1ZSkge1xuICAmIHtcbiAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgI3skcHJvcGVydHl9OiAkbWluLXZhbHVlO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tc2NyZWVuKSB7XG4gICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGNhbGMtaW50ZXJwb2xhdGlvbigkbWluLXNjcmVlbiwgJG1pbi12YWx1ZSwgJG1heC1zY3JlZW4sICRtYXgtdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtc2NyZWVuKSB7XG4gICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRtYXgtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIGludGVycG9sYXRlIG1peGluLCBjYW4gYWxzbyBiZSB1c2VkIGluZGVwZW5kZW50bHlcbkBmdW5jdGlvbiBjYWxjLWludGVycG9sYXRpb24oJG1pbi1zY3JlZW4sICRtaW4tdmFsdWUsICRtYXgtc2NyZWVuLCAkbWF4LXZhbHVlKSB7XG4gICRhOiAoKCRtYXgtdmFsdWUgIC0gICRtaW4tdmFsdWUpICAvICAoJG1heC1zY3JlZW4gIC0gICRtaW4tc2NyZWVuKSk7XG4gICRiOiAkbWluLXZhbHVlIC0gJGEgKiAkbWluLXNjcmVlbjtcblxuICAkc2lnbjogXCIrXCI7XG4gIEBpZiAoJGIgPCAwKSB7XG4gICAgJHNpZ246IFwiLVwiO1xuICAgICRiOiBhYnMoJGIpO1xuICB9XG5cbiAgQHJldHVybiBjYWxjKCN7JGEqMTAwfXZ3ICN7JHNpZ259ICN7JGJ9KTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRm9udCByZWxhdGVkIGZ1bmN0aW9uc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqICBNaXhpbiBmb3Igc2V0dGluZyBmb250LXNpemUgaW4gUkVNIHRocm91Z2ggYSBTYXNzIE1hcCB3aXRoIGFsbCBhdmFpbGFibGUgc2l6ZXNcblxuICAgIFVTQUdFOlxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuICAgIH1cblxuICovXG5cblxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRsaDogbnVsbCkge1xuICAvLyBHZXQgY29ycmVjdCBrZXkgd2l0aCBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IHB4IHZhbHVlXG4gICRmb250LXNpemUtcHJvcGVydGllczogbWFwLWdldCgkZm9udC1zaXplcywgJGZzKTtcbiAgQGlmICRmb250LXNpemUtcHJvcGVydGllcyB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpKTtcblxuICAgIEBpZigkbGggPT0gbnVsbCl7XG4gICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGxpbmUtaGVpZ2h0KSAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaCAvIG1hcC1nZXQoJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzLCBmb250LXNpemUpO1xuICAgIH1cbiAgfVxuICAvLyBXaGVuIG1hcHBpbmcgaXNuJ3QgZm91bmQgY2FsY3VsYXRlIGFzIGlmIFBYLXZhbHVlIHdhcyBnaXZlbiBhbmQgcmV0dXJuIFJFTSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQGlmIGlzLW51bWJlcigkZnMpIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFsdWVUb1JlbSgkZnMpO1xuXG4gICAgICBAaWYoJGxoICE9IG51bGwpe1xuICAgICAgICBsaW5lLWhlaWdodDogJGxoIC8gJGZzO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiBcIiBgI3skZnN9YCBpcyBub3QgYSB2YWxpZCB2YWx1ZS4gSXQgbXVzdCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZzogYCN7JGZvbnQtc2l6ZXN9YFwiO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vVE9ETzogcmVtb3ZlIGZ1bmN0aW9uIGFuZCB1c2VzXG5AbWl4aW4gZm9udCgkc2l6ZSwgJGxoOiBudWxsLCAkd2VpZ2h0OiBudWxsKSB7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkc2l6ZSwgJGxoKTtcbn1cblxuXG4vKipcbiAqICBNaXhpbiBmb3Igc2V0dGluZyBmb250LXdlaWdodCB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHdlaWdodHNcblxuICAgIFVTQUdFOlxuXG4gICAgLm15Q2xhc3Mge1xuICAgICAgICBAaW5jbHVkZSBmb250LXdlaWdodChzZW1pQm9sZCk7XG4gICAgfVxuXG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtd2VpZ2h0KHNlbWktYm9sZCk7XG4gICAgfVxuXG4gKi9cbkBtaXhpbiBmb250LXdlaWdodCgkd2VpZ2h0KSB7XG4gIEBpZiBtYXAtZ2V0KCRmb250LXdlaWdodHMsICR3ZWlnaHQpIHtcbiAgICBAaW5jbHVkZSBmb250LXdlaWdodChtYXAtZ2V0KCRmb250LXdlaWdodHMsICR3ZWlnaHQpKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGlzLW51bWJlcigkd2VpZ2h0KSB7XG4gICAgICBmb250LXdlaWdodDogJHdlaWdodDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ0dpdmVuIHZhbHVlOiBgI3skd2VpZ2h0fWAgaXMgbm90IGFuIG9wdGlvbiBhcyBmb250LXdlaWdodCBpbiBzZXR0aW5ncyc7XG4gICAgfVxuICB9XG59IiwiLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZ1bmN0aW9uIGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkYnJlYWtwb2ludCkge1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpO1xuXHR9XG5cblx0QHdhcm4gXCJVbmtub3duIGJyZWFrcG9pbnQ6IGAjeyRicmVha3BvaW50fWAgaW4gJGJyZWFrcG9pbnRzLlwiO1xuXHRAcmV0dXJuIG51bGw7XG59XG5cbkBtaXhpbiBtcSgkbWluOiBudWxsLCAkbWF4OiBudWxsKSB7XG5cdCRxdWVyeTogXCJhbGxcIiAhZGVmYXVsdDtcblxuXHQvLyBUcnkgdG8gY29udmVydCAkbWluIHZhbHVlIGlmIG5vdCBudW1iZXIgb3IgbnVsbFxuXHRAaWYodHlwZS1vZigkbWluKSAhPSBudW1iZXIgYW5kICRtaW4gIT0gbnVsbCl7XG5cdFx0JG1pbjogY29udmVydEJyZWFrcG9pbnRLZXlUb1ZhbHVlKCRtaW4pO1xuXHR9XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1heCB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1heCkgIT0gbnVtYmVyIGFuZCAkbWF4ICE9IG51bGwpe1xuXHRcdCRtYXg6IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWF4KTtcblx0fVxuXG5cdC8vIHNldCBib3RoIG1pbiBhbmQgbWF4XG5cdEBpZiAoJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwpIHtcblx0XHQkcXVlcnk6IFwiKG1pbi13aWR0aDogI3skbWlufXB4KSBhbmQgKG1heC13aWR0aDogI3skbWF4IC0gMX1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtaW5cblx0QGVsc2UgaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCA9PSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weClcIjtcblx0fVxuXHQvLyBzZXQganVzdCBtYXhcblx0QGVsc2UgaWYgKCRtaW4gPT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAjeyRxdWVyeX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUb29sYm94IGZ1bmN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cblxuQGZ1bmN0aW9uIHF1YXJ0ZXIoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgLyA0KTtcbn1cblxuQGZ1bmN0aW9uIGhhbHZlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gMik7XG59XG5cbkBmdW5jdGlvbiBkb3VibGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAyKTtcbn1cblxuQGZ1bmN0aW9uIHRyaXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDMpO1xufVxuXG5AZnVuY3Rpb24gcXVhZHJ1cGxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogNCk7XG59XG5cblxuLyoqXG4gKiAgUmVtb3ZlIHRoZSB1bml0IG9mIGEgbGVuZ3RoXG4gKiAgQHBhcmFtIHtOdW1iZXJ9ICRudW1iZXIgLSBOdW1iZXIgdG8gcmVtb3ZlIHVuaXQgZnJvbVxuICogIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbiAqL1xuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG5cdEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuXHRcdEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuXHR9XG5cblx0QHJldHVybiAkbnVtYmVyO1xufVxuXG5cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuXG5AZnVuY3Rpb24gaXMtbnVtYmVyKCR2YWx1ZSkge1xuXHRAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJztcbn1cblxuXG4vKiBWYWx1ZSB0byBFbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb1JlbSgkdmFsdWUpIHtcblx0JG5vVW5pdHM6IHN0cmlwLXVuaXQoJHZhbHVlKTtcblx0QHJldHVybiAjeyRub1VuaXRzIC8gMTYgKiAxcmVtfTtcbn1cblxuLyogVmFsdWUgdG8gUmVtICovXG5cbkBmdW5jdGlvbiB2YWx1ZVRvRW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMWVtfTtcbn1cblxuXG5cblxuLy8gU2V0IGEgZml4ZWQgc3BhY2UgYmFzZWQgb24gdGhlIDhwdCBncmlkXG4vLyBKdXN0IHBhc3MgdGhlIGZ1bmN0aW9uIGEgbnVtYmVyIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgKDgpcG9pbnRzIHlvdSBuZWVkXG5AZnVuY3Rpb24gc3BhY2UoJHNpemU6ICcxJykge1xuICBAcmV0dXJuIDhweCAqICRzaXplO1xufVxuXG5cblxuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB2aWV3cG9ydCBsYXJnZXIgdGhhbiBtb2JpbGVcbiAqIEluIGZsZXhpYmxlIHVuaXRzICh2dykgYW5kIG9uIG1heCB2aWV3cG9ydCBpbiBhIGZpeGVkIGFtb3VudCAocHgpXG5cbiBVU0FHRTpcblxuIC5leGFtcGxlIHtcblx0IEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMC4zMyxcblx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdCk7XG4gIH1cblxuICovXG5cbkBtaXhpbiB2c3BhY2luZygkdmFsdWVzLi4uKSB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1tYXgpIHtcblx0XHRAZWFjaCAkaSBpbiAkdmFsdWVzIHtcblx0XHRcdCN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucyArIDIpICogMTAwKSAqIG50aCgkaSwgMil9dnc7XG5cdFx0fVxuXHR9XG5cdC8vIGxvY2sgaXQgaW4gcHggdmFsdWVzIHNvIGl0IHdvbid0IGtlZXAgZ3Jvd2luZ1xuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0QGVhY2ggJGkgaW4gJHZhbHVlcyB7XG5cdFx0XHQvLyN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLW1heC13aWR0aCAvICRzaXRlLWNvbHVtbnMpICogbnRoKCRpLCAyKX1weDtcblx0XHRcdCN7bnRoKCRpLCAxKX06ICN7JHNpdGUtY29sdW1uLXNpemUgKiBudGgoJGksIDIpfXB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3JkZXItcmFkaXVzXG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGwpO1xuXHR9XG5cbiAqL1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHR5cGU6IHMpIHtcblx0QGlmICgkdHlwZSA9PSAncycpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdtJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIG0pO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ2wnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbCk7XG5cdH1cbn1cblxuLyoqXG4gKiBMb2JvdG9taXplZCBPd2wgU2VsZWN0b3IgbWl4aW46XG4gKiAtIFNldCBzcGFjaW5nIGZvciBjb25zZWN1dGl2ZSBpdGVtcyB3aXRoIG1hcmdpbi10b3Agb24gYWxsIGJ1dCB0aGUgZmlyc3QgaXRlbVxuXG5cdFVTQUdFOlxuXG5cdC5ib3gge1xuXHRcdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0fVxuXG5cdC5jYXJkX19pdGVtIHtcblx0XHRAaW5jbHVkZSBvd2w7XG5cdH1cblxuICovXG5cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbkBtaXhpbiBvd2wtY2hpbGRyZW4oJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vLyBHaXZlcyB0aGUgZWxlbWVudCBpdHNlbGYgc3BhY2luZ1xuQG1peGluIG93bCgkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0sICRtcTogbnVsbCkge1xuXHRAaWYoJG1xID09IG51bGwpIHtcblx0XHQmICsgJiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGluY2x1ZGUgbXEoJG1heDogJG1xKXtcblx0XHRcdCYgKyAmIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiAgU2hvdyBoeXBoZW5zIGZvciBldmVyeSBicm93c2VyIHN1cHBvcnRpbmcgaXRcbiAqICBhbmQgd2lsbCBicmVhayBsaW5lcyBpbiBldmVyeSBvdGhlciBicm93c2VyXG4gKi9cblxuQG1peGluIGh5cGhlbmF0ZSB7XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHQtbXMtaHlwaGVuczogYXV0bztcblx0aHlwaGVuczogYXV0bztcbn1cblxuXG5cblxuLypcbiAqICBSZXN0cmljdCBhbiBlbGVtZW50IHRvIGEgbWF4LXdpZHRoIGZvciBjcmVhdGluZyBndXR0ZXJzIG9uIHRoZSBzaWRlXG4gKi9cbi8qXG4gKiAgUmVzdHJpY3QgYW4gZWxlbWVudCB0byBhIG1heC13aWR0aCBmb3IgY3JlYXRpbmcgZ3V0dGVycyBvbiB0aGUgc2lkZVxuICovXG5AbWl4aW4gY29udGFpbigkbXE6IG51bGwsICRtYXg6IG51bGwpIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblxuXHRAaWYgKCRtYXggPT0gbnVsbCkge1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cblx0XHQvLyBpZiBubyBhcmd1bWVudCBpcyBwYXNzZWQgY29udGFpbiBvbiBhbGwgdmlld3BvcnRzXG5cdFx0QGlmICgkbXEgPT0gbnVsbCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnN9KSAqICN7JHNpdGUtY29sdW1ucyAtIDJ9KTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdC8vIGlmIG1lZGlhIHF1ZXJ5IGlzIHBhc3NlZCB1c2UgdGhhdCBpbiBvdXIgbWl4aW5cblx0XHRcdEBpbmNsdWRlIG1xKCRtcSkge1xuXHRcdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1uc30pICogI3skc2l0ZS1jb2x1bW5zIC0gMn0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRAZWxzZSB7XG5cdFx0QGluY2x1ZGUgbXEoJG1heDogJG1heCkge1xuXHRcdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnN9KSAqICN7JHNpdGUtY29sdW1ucyAtIDJ9KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKlxuICpcdEEgbWl4aW4gdG8gc2V0IGVsZW1lbnRzIHRvIGl0cyBvd24gbmFtZWQgZ3JpZC1hcmVhXG4gKi9cblxuQG1peGluIHRlbXBsYXRlKCRlbGVtZW50cy4uLikge1xuXHRAZWFjaCAkZWxlbWVudCBpbiAkZWxlbWVudHMge1xuXHRcdCZfXyN7JGVsZW1lbnR9IHtcblx0XHRcdGdyaWQtYXJlYTogJGVsZW1lbnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jazsgLy8gSW4gSUUgZ3JpZCBpdGVtcyBjYW4ndCBiZSBpbmxpbmVcblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIFRoZSAnei1pbmRleC1tYXAnIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHRoZSBlbGVtZW50cyBzdGFja2luZyBvcmRlciBpbiB0aGUgJ3Jvb3QnIHN0YWNraW5nIGNvbnRleHRcbiAqICBUaGlzIHdheSB3ZSBoYXZlIGEgb3ZlcnZpZXcgb2YgYWxsIHRoZSB6LWluZGV4IHZhbHVlcyB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgcHJvamVjdC5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHotaW5kZXg6IChcblx0ei12aXNpYmxlLWdyaWQ6XHRcdFx0MTAwMDAsXG5cdHotY29va2llOlx0XHQgXHRcdFx0XHQ5OTk5LFxuXHR6LW92ZXJsYXktbWVudTpcdFx0XHQxMDAsXG5cdHotaGVhZGVyOiBcdFx0XHRcdFx0NTAsXG5cdHotYm9keTpcdFx0XHRcdFx0XHRcdDQwLFxuXHR6LWZvb3RlcjpcdFx0XHRcdCBcdFx0MjAsXG5cdHotc3ViZm9vdGVyOlx0XHRcdFx0MTAsXG4pO1xuXG5cbi8qKlxuICAgIFVTQUdFOlxuXG4gICAgQGluY2x1ZGUgeih6LW1vZGFsKTtcblxuICovXG5cbkBtaXhpbiB6KCRsYWJlbCkge1xuXHR6LWluZGV4OiBtYXAtZ2V0KCR6LWluZGV4LCRsYWJlbCk7XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogU2V0IHVwIHRoZSBodG1sXG4gKlxuICogMS4gTWFrZXMgc3VyZSB0aGF0IHNvbWUgZm9udHMgYXJlIGJldHRlciByZW5kZXJlZFxuICogMi4gU2V0IGZvbnQgdG8gbGluaW5nIGZpZ3VyZXNcbiAqXG4gKi9cblxuaHRtbCB7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHRmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuYm9keSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXJhdGlvO1xuXHRmb250LWZhbWlseTogJGZvbnQtYXpvLXNhbnM7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNjAwKTtcbn1cblxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuXHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cblx0Jixcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGJveC1zaXppbmc6IGluaGVyaXQ7XG5cdH1cbn1cblxuXG4vKipcbiAqIFsxXSBUdXJuIG9mZiB0ZXh0LXNoYWRvdyB3aGVuIHNlbGVjdGluZyB0ZXh0IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAqL1xuOjpzZWxlY3Rpb24ge1xuXHRiYWNrZ3JvdW5kOiBpbnZlcnQocGFsZXR0ZShwcmltYXJ5LCA2MDApLCAxMDAlKTtcblx0Y29sb3I6IGludmVydChwYWxldHRlKHByaW1hcnksIDEwMCksIDEwMCUpO1xuXHR0ZXh0LXNoYWRvdzogbm9uZTsgLyogWzFdICovXG59XG5cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGFyb3VuZCBmaWd1cmVcbiAqL1xuZmlndXJlIHtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qWzFdKi9cblx0Ym9yZGVyOiBub25lOyAvKlsyXSovXG5cdG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRmb250LXNpemU6IDE2cHg7XG59XG5cblxuLy8gTGlua3Mgd2l0aCBubyBjbGFzcyBnZXQgYSBkZWZhdWx0IGhvdmVyXG5hOm5vdChbY2xhc3NdKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvOyAvLyBwcmV0dHkgdW5kZXJsaW5pbmcgbGlua3NcblxuXHQmOmhvdmVyIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cblxuXHQmOjphZnRlciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGJhY2tncm91bmQ6IHBhbGV0dGUocHJpbWFyeSwgMzAwKTtcblx0XHRjb250ZW50OiAnJztcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb246IGhlaWdodCAzMDBtcywgb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcblx0fVxufVxuXG5cbi8vIFRPRE86IElzIHRoaXMgdGhlIHJpZ2h0IHdheSB0byByZXNldCBhbGwgbWFyZ2luPz9cbi8vIFJlc2V0IGFsbCB0b3AgbWFyZ2luc1xuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaGdyb3VwLFxudWwsIG9sLCBkZCxcbnAsIGZpZ3VyZSxcbnByZSwgdGFibGUsIGZpZWxkc2V0LCBociB7XG5cdG1hcmdpbi10b3A6IDA7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59IiwiaDEge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHh4eGwpO1xufVxuXG5oMiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHhsKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKG0pO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xuXG51bCxcbm9se1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1sZWZ0OiAxLjEyNWVtO1xufVxuXG5kZHtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuXG4vKipcbiAqXHRSZW1vdmUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB3aGVuIG5lc3RpbmcgbGlzdHMuXG4gKi9cblxubGkge1xuXHQ+IHVsLFxuXHQ+IG9sIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59IiwiLmwtYmxvY2sge1xuICAvLyBUb3AgbWFyZ2luIG9ubHkgb24gY29uc2VjdXRpdmUgYmxvY2tzXG4gICYgKyAmIHtcbiAgICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICAgJ21hcmdpbi10b3AnIDFcbiAgICApO1xuICB9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29udGFpblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4ubC1jb250YWluIHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbn0iLCJAaW5jbHVkZSBtcShtKSB7XG5cdC5sLWRpdmlkZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG59XG5cblxuLmwtZGl2aWRlX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDMpLCBtKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0fVxuXHR9XG59IiwiLmwtZm9ybV9fYm9keSB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xufVxuXG5cbi5sLWZvcm1fX3JvdyB7XG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcblx0fVxufVxuXG5cbi5sLWZvcm1fX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xufVxuXG5cbi8vIEEgaGlkZGVuIHdyYXBwZXIgZm9yIGhvbmV5IHBvdCBzdHVmZlxuLmwtZm9ybV9fcG90IHtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XHRsZWZ0OiAwOyBoZWlnaHQ6IDA7IHdpZHRoOiAwO1xuXHR6LWluZGV4OiAtMTtcbn0iLCIgLypcbiAqIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuICogKGJldHdlZW4gdGhlIGhlYWRlciBhbmQgdGhlIGZvb3RlcilcblxuICogWzFdIEF2b2lkIHRoZSBJRSAxMC0xMSBgbWluLWhlaWdodGAgYnVnLlxuICovXG5cblxuIC8vIC5sLXBhZ2UgbmVlZHMgdG8gYmUgb24gdGhlIGJvZHkgZWxlbWVudFxuLmwtcGFnZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTsgLyogWzFdICovXG59XG5cblxuLmwtcGFnZV9faGVhZGVyIHtcbiBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4ubC1wYWdlX19ib2R5IHtcblx0QGluY2x1ZGUgeih6LWJvZHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IDEgMCBhdXRvO1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cblxuLmwtcGFnZV9fZm9vdGVyIHtcbiBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZmxleC1zaHJpbms6IDA7XG5cblx0Ly8gU29tZSBzZXR0aW5ncyBmb3IgbWFraW5nIHN1cmUgdGhlIGNvb2tpZS1iYXIgZG9lc24ndCBjb3ZlciB0aGUgY29udGVudFxuXHRwYWRkaW5nLWJvdHRvbTogJHNpdGUtY29va2llQmFyLWhlaWdodDtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAkc2l0ZS1jb29raWVCYXItdHJhbnNpdGlvbi1zcGVlZCAkc2l0ZS1jb29raWVCYXItdHJhbnNpdGlvbi1lYXNlO1xuXG5cdGJvZHkuaXMtY29va2llcy1hY2NlcHRlZCAmIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxufVxuXG5cbi8vIFdyYXBwZXIgZm9yIGluaXRpYWxseSBoaWRkZW4gZWxlbWVudHNcbi5sLXBhZ2VfX2NvbmNlYWxlZCB7XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBDb21wb25lbnRzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuQGltcG9ydCBcImNvbXBvbmVudHMuYnJlYWRjcnVtYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jYXJkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jaGVja2JveFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY2xvc2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1Hcm91cFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZm9ybUZlZWRiYWNrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oYW1idXJnZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlYWRpbmdcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmhlcm9cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmltYWdlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5pbnB1dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubGFuZ3VhZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLm5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnZVRpdGxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wYXNzd29yZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGVyc29uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wcm9qZWN0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNlbGVjdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VydmljZVBvaW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5za2lwTGlua1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGVJbmRpY2F0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnN1Ym5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudGV4dEJ1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMudHJhZGVtYXJrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy52aWRlb1wiOyIsIi5jLWJyZWFkY3J1bWIge1xuXHRwYWRkaW5nLWJvdHRvbTogNHB4OyAvLyBtYWtlIHN1cmUgdG90YWwgaGVpZ2h0IHdpbGwgYmUgZGl2aXNpYmxlIGJ5IDhcbiB9XG5cbi5jLWJyZWFkY3J1bWJfX2xpc3Qge1xuXHRtYXJnaW46IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuXG4uYy1icmVhZGNydW1iX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmOm50aC1jaGlsZChuKzIpIHtcblx0XHQmIC5jLWJyZWFkY3J1bWJfX2ljb24ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiBzcGFjZSgzKTtcblx0XHRcdGhlaWdodDogc3BhY2UoMyk7XG5cdFx0XHRtYXJnaW4tbGVmdDogc3BhY2UoMSk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuXHRcdFx0Ly9jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHR9XG5cdH1cbn1cblxuLmMtYnJlYWRjcnVtYl9fbGluayB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQuYy1icmVhZGNydW1iX19pdGVtLS1sYXN0ICYge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG59IiwiLmMtYnV0dG9uIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChyZWd1bGFyKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDcwMCk7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtN2RlZywgcGFsZXR0ZShuZXV0cmFsLCAxMDAwKSA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDQwMCU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZS1pbi1vdXQ7XG5cdGJvcmRlcjogbm9uZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgNHB4IDJweCBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdCY6ZGlzYWJsZWQge1xuXHRcdG9wYWNpdHk6IDAuNTtcblx0XHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHR9XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuXHR9XG59XG5cbi5jLWJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG5cbi5jLWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcblxuXHQuYy1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKDIpO1xuXHR9XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogc3BhY2UoMik7XG5cdH1cbn1cblxuXG4uYy1idXR0b24tLWdob3N0IHtcblx0JGMtYnV0dG9uLWJvcmRlci1zaXplOiAycHg7XG5cdHBhZGRpbmc6IGNhbGMoI3tzcGFjZSgxLjUpIC0gJGMtYnV0dG9uLWJvcmRlci1zaXplfSkgMDtcblx0Ym9yZGVyOiAkYy1idXR0b24tYm9yZGVyLXNpemUgc29saWQgcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KC03ZGVnLCBwYWxldHRlKG5ldXRyYWwsIDMwMCkgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuXG5cdCYuYy1idXR0b24tLW9uLWRhcmsge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwMCk7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDYwMCk7XG5cdFx0fVxuXHR9XG59IiwiLmMtY2FyZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGhlaWdodDogMTAwJTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi5jLWNhcmRfX3BpY3R1cmUge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRncmlkLXJvdzogMSAvIC0xO1xuXHRncmlkLWNvbHVtbjogMTtcblx0ei1pbmRleDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XG5cdCY6OmJlZm9yZSB7XG5cdCAgICBjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0ICAgIHRvcDogMDtcblx0ICAgIGJvdHRvbTogMDtcblx0ICAgIHJpZ2h0OiAwO1xuXHQgICAgbGVmdDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDYwMCk7XG5cdFx0b3BhY2l0eTogMC42NDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGxpbmVhcjtcblxuXHRcdC5jLWNhcmQ6aG92ZXIgJiB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblx0fVxufVxuXG5cbi5jLWNhcmRfX2ltZyB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dDtcblxuXHQuYy1jYXJkOmhvdmVyICYge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcblx0fVxufVxuXG5cbi5jLWNhcmRfX3RpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KGxpZ2h0KTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRmb250LWZhbWlseTogJGZvbnQtbW9rb2tvO1xuXHRwYWRkaW5nOiAwIHNwYWNlKDIpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGdyaWQtcm93OiAxO1xuXHRncmlkLWNvbHVtbjogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHR0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsMCwwLCAwLjQpO1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDc1bXM7XG5cblx0LmMtY2FyZDpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTZweCkgc2NhbGUoMS4wNSk7XG5cdH1cblxufVxuXG5cbi5jLWNhcmRfX3N1YnRpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChleHRyYS1ib2xkKTtcblx0Z3JpZC1yb3c6IDI7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdHBhZGRpbmc6IDAgc3BhY2UoMik7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0YWxpZ24tc2VsZjogc3RhcnQ7XG5cdHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwwLDAsMC41KTtcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0O1xuXG5cdC5jLWNhcmQ6aG92ZXIgJiB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCkgc2NhbGUoMS4xKTtcblx0fVxufVxuXG5cbi5jLWNhcmRfX2Fycm93IHtcblx0Z3JpZC1yb3c6IDI7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktc2VsZjogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogNDBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXG5cdCYgPiBzdmcge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC0wLjI1dHVybik7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuXHR9XG5cblx0LmMtY2FyZDpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdC8vY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgMTAwKTtcblx0XHQvL2JvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKG5ldXRyYWwsIDApLCAwLjMpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC44KTtcblx0XHQvL1xuXHRcdC8vJiA+IHN2ZyB7XG5cdFx0Ly9cdHRyYW5zZm9ybTogbm9uZTtcblx0XHQvL31cblx0fVxufSIsIi5jLWNoZWNrYm94IHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuXG4uYy1jaGVja2JveF9faW5wdXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG59XG5cblxuLmMtY2hlY2tib3hfX3RleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoMTQsMjApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZy1sZWZ0OiAxNnB4ICsgc3BhY2UoMSk7IC8qIDE2cHggd2lkdGggb2YgZmFrZSBjaGVja2JveCArIGdhcCAqL1xuXG5cdCY6OmJlZm9yZSxcblx0Jjo6YWZ0ZXIge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRjb250ZW50OiBcIlwiO1xuXG5cdFx0LypOZWVkZWQgZm9yIHRoZSBsaW5lLWhlaWdodCB0byB0YWtlIGVmZmVjdCovXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0LypPdXRlciBib3ggb2YgdGhlIGZha2UgY2hlY2tib3gqL1xuXHQmOjpiZWZvcmUge1xuXHRcdGhlaWdodDogMTZweDtcblx0XHR3aWR0aDogMTZweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0XHR0b3A6IDJweDsgLy8gdG8gdmVydGljYWxseSBjZW50ZXIgaXQuXG5cdFx0bGVmdDogMDtcblx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdC8qQ2hlY2ttYXJrIG9mIHRoZSBmYWtlIGNoZWNrYm94Ki9cblx0Jjo6YWZ0ZXIge1xuXHRcdGhlaWdodDogNXB4O1xuXHRcdHdpZHRoOiAxMHB4O1xuXHRcdHRvcDogN3B4O1xuXHRcdGxlZnQ6IDNweDtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkO1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNTNkZWcpO1xuXHR9XG5cblxuXHQvKkhpZGUgdGhlIGNoZWNrbWFyayBieSBkZWZhdWx0Ki9cblx0LmMtY2hlY2tib3hfX2lucHV0ICsgJjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IG5vbmU7XG5cdH1cblxuXHQvKlVuaGlkZSBvbiB0aGUgY2hlY2tlZCBzdGF0ZSovXG5cdC5jLWNoZWNrYm94X19pbnB1dDpjaGVja2VkICsgJiB7XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHRcdH1cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdH1cblx0fVxuXG5cblx0LypBZGRpbmcgZm9jdXMgc3R5bGVzIG9uIHRoZSBvdXRlci1ib3ggb2YgdGhlIGZha2UgY2hlY2tib3gqL1xuXHQuYy1jaGVja2JveF9faW5wdXQ6Zm9jdXMgKyAmOjpiZWZvcmUge1xuXHRcdG91dGxpbmU6IHJnYig1OSwgMTUzLCAyNTIpIGF1dG8gNXB4O1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDdweCAtMXB4IHJnYmEocGFsZXR0ZShuZXV0cmFsLCA5MDApLCAwLjgpO1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHR9XG5cdFxuXHRcblx0LyogTGlua3MgaW5zaWRlIHRoZSB0ZXh0ICovXG5cdCYgPiBhIHtcblx0XHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdCY6OmFmdGVyIHsgY29udGVudDogbm9uZTsgfVxuXHRcdH1cblx0fVxufVxuXG5cbi5jLWNoZWNrYm94X19jb3VudCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDJweCBzcGFjZSgxKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKG5ldXRyYWwsIDIwMCksIDAuNyk7XG5cdGJvcmRlcjogMnB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0dHJhbnNpdGlvbjogYWxsIDgwbXMgbGluZWFyO1xuXG5cdC5jLWNoZWNrYm94X19pbnB1dDpjaGVja2VkIH4gJiB7XG5cdFx0Y29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cbn1cblxuXG4uYy1jaGVja2JveC0taGFzLWluZGljYXRvciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDAuNSk7XG5cblx0JiAuYy1jaGVja2JveF9fdGV4dCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG59IiwiLmMtY2xvc2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBzcGFjZSg1KTtcblx0aGVpZ2h0OiBzcGFjZSg1KTtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgM3B4IDJweCBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdH1cblxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdH1cblx0JjpiZWZvcmUge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuXHR9XG59IiwiLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIDA7XG59XG5cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdC5oYXMtZXJyb3IgJjpub3QoOmVtcHR5KSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0XHRjb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSwgMC4xKTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKTtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxufSIsIi5jLWZvcm0tZmVlZGJhY2sge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG5cdG1hcmdpbjogc3BhY2UoMikgMCAwO1xuXHRwYWRkaW5nOiBzcGFjZSgzKSBzcGFjZSg0KTtcblx0Ym9yZGVyOiAycHggc29saWQgcGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEocGFsZXR0ZShmZWVkYmFjaywgd2FybmluZyksIDAuMSk7XG5cblx0JjpiZWZvcmV7XG5cdFx0Y29udGVudDogYXR0cihkYXRhLWZlZWRiYWNrKTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYWNlKC0yKTtcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcblx0fVxuXG5cdC8vIE1ha2Ugc3VyZSBkaXYgYmVjb21lcyB2aXNpYmxlIHdoZW4gaXQgaXMgcG9wdWxhdGVkIHdpdGggaXRlbXMgdmlhIEpTXG5cdCY6bm90KDplbXB0eSkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59IiwiLmMtaGFtYnVyZ2VyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAzcHggMnB4IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0fVxuXG5cdCYgPiBzcGFuLFxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHR0b3A6IDEycHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHRvcDogMjhweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0XHR9XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHQmID4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBtcztcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cdFx0fVxuXHR9XG59IiwiLmMtaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQoeGwpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogSGVyb1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWhlcm8tYnAxOiA5MDA7XG4kYy1oZXJvLWFuaW1hdGlvbi1zcGVlZDogOTAwbXM7XG4kYy1oZXJvLWFuaW1hdGlvbi1lYXNlOiBjdWJpYy1iZXppZXIoMC40LCAwLjAxLCAwLjE4LCAxLjAxKTtcbiRjLWhlcm8tYW5pbWF0aW9uLWRlbGF5OiAkYy1oZXJvLWFuaW1hdGlvbi1zcGVlZCAvIDIuNztcbiRjLWhlcm8tYm94LXNpemU6IDM5LjQ0O1xuJGMtaGVyby1vdmVybGFwOiA4JTtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWhlcm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDMwMCk7XG59XG5cblxuLmMtaGVyb19fbWFpbiB7XG5cdHotaW5kZXg6IDE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcblx0bWF4LXdpZHRoOiAxNDQwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXG5cdEBpbmNsdWRlIG1xKCRjLWhlcm8tYnAxKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cmlnaHQ6IC01MHZ3O1xuXHRcdFx0bGVmdDogLTUwdnc7XG5cdFx0XHRoZWlnaHQ6ICRjLWhlcm8tb3ZlcmxhcDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblx0XHR9XG5cdH1cbn1cblxuXG4uYy1oZXJvX19zbGlkZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1pbi1oZWlnaHQ6IDQwMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogNTcuNSU7IC8vIFJhdGlvIHVzZWQgZm9yIGltYWdlXG5cblx0QGluY2x1ZGUgbXEoJGMtaGVyby1icDEpIHtcblx0XHQvL3BvaW50ZXItZXZlbnRzOiBub25lOyAvLyBkaXNhYmxlIHN3aXBlXG5cdFx0cGFkZGluZy1ib3R0b206IDU3LjUlOyAvLyBSYXRpbyB1c2VkIGZvciBpbWFnZVxuXHRcdGdyaWQtcm93OiAxIC8gLTE7XG5cdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0fVxufVxuXG5cbi5jLWhlcm9fX3RyYXkge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG59XG5cblxuLmMtaGVyb19fcGljdHVyZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHotaW5kZXg6IDA7XG5cdG9wYWNpdHk6IDA7XG5cblx0Ji5pcy1wcmV2aW91cyxcblx0Ji5pcy1hY3RpdmUge1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAkYy1oZXJvLWFuaW1hdGlvbi1zcGVlZDtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGMtaGVyby1hbmltYXRpb24tZWFzZTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0Ji5pcy1uZXh0IHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdH1cblxuXHQmLmlzLXByZXZpb3VzIHtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAkYy1oZXJvLWFuaW1hdGlvbi1zcGVlZDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHR6LWluZGV4OiAxO1xuXHR9XG59XG5cblxuLmMtaGVyb19faW1hZ2Uge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuXG4uYy1oZXJvX19sb29raW5nLWdsYXNzIHtcblx0ZGlzcGxheTogbm9uZTtcblxuXHRAaW5jbHVkZSBtcSgkYy1oZXJvLWJwMSkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7IC8vIG5lZWRlZCBmb3Igc2hvd2luZyBpdFxuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAyOyAvLyBvbiB0b3Agb2YgYm90dG9tIGJhclxuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiBjYWxjKDUwJSAtICgjeyRjLWhlcm8tYm94LXNpemUgKiAxJX0gLyAyKSk7XG5cdFx0d2lkdGg6ICRjLWhlcm8tYm94LXNpemUgKiAxJTtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0cGFkZGluZy1ib3R0b206ICRjLWhlcm8tYm94LXNpemUgKiAxJTtcblx0XHRib3gtc2hhZG93OiAwIDE2cHggMjBweCByZ2JhKHBhbGV0dGUocHJpbWFyeSwgNjAwKSwgLjMyKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblx0XHRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCY6OmFmdGVyLFxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDM7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHR9XG5cdFx0Jjo6YmVmb3JlIHtcblx0XHQgICAgdG9wOiAwO1xuXHRcdCAgICBib3R0b206IDA7XG5cdFx0ICAgIHJpZ2h0OiAwO1xuXHRcdCAgICBsZWZ0OiAwO1xuXHRcdFx0Ym9yZGVyOiAzMnB4IHNvbGlkIHJnYmEoI0I2RDdGMCwgMC4yNCk7XG5cdFx0fVxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHRvcDogc3BhY2UoNCk7XG5cdFx0XHRib3R0b206IHNwYWNlKDQpO1xuXHRcdFx0cmlnaHQ6IHNwYWNlKDQpO1xuXHRcdFx0bGVmdDogc3BhY2UoNCk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDE2cHggMjBweCByZ2JhKHBhbGV0dGUocHJpbWFyeSwgNjAwKSwgLjMyKTtcblx0XHR9XG5cdH1cbn1cblxuXG4uYy1oZXJvX19sb29raW5nLWdsYXNzLXNsaWRlIHtcblx0Z3JpZC1yb3c6IDE7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDEwMCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY2FsYygoMTAwIC8gI3skYy1oZXJvLWJveC1zaXplfSkgKiAxMDAlKSBhdXRvO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuXHR6LWluZGV4OiAwO1xuXHRvcGFjaXR5OiAwO1xuXG5cdCYuaXMtcHJldmlvdXMsXG5cdCYuaXMtYWN0aXZlIHtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogJGMtaGVyby1hbmltYXRpb24tc3BlZWQgLSAkYy1oZXJvLWFuaW1hdGlvbi1kZWxheTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGMtaGVyby1hbmltYXRpb24tZWFzZTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAkYy1oZXJvLWFuaW1hdGlvbi1kZWxheTtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0Ji5pcy1uZXh0IHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cdH1cblxuXHQmLmlzLXByZXZpb3VzIHtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAkYy1oZXJvLWFuaW1hdGlvbi1zcGVlZDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHR6LWluZGV4OiAyO1xuXHR9XG59XG5cblxuLmMtaGVyb19faGVhZGxpbmUtYm94IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyMDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblxuXHRAaW5jbHVkZSBtcSgkYy1oZXJvLWJwMSkge1xuXHRcdGdyaWQtcm93OiAxIC8gLTE7XG5cdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHRqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcblx0XHR3aWR0aDogJGMtaGVyby1ib3gtc2l6ZSAqIDElO1xuXHRcdG1hcmdpbi1ib3R0b206IDguNXZ3O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGFsaWduLXNlbGY6IGVuZDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcblx0XHRtYXJnaW4tYm90dG9tOiA4LjQlO1xuXHR9XG59XG5cblxuLmMtaGVyb19faGVhZGxpbmUge1xuXHRAaW5jbHVkZSBpbnRlcnBvbGF0ZShmb250LXNpemUsIDkwMHB4LCAxMzY2cHgsIDI4cHgsIDQwcHgpO1xuXHRAaW5jbHVkZSBpbnRlcnBvbGF0ZShsaW5lLWhlaWdodCwgOTAwcHgsIDEzNjZweCwgMzZweCwgNDhweCk7XG5cdHBhZGRpbmc6IHNwYWNlKDYpIHNwYWNlKDQpIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRAaW5jbHVkZSBtcSgkYy1oZXJvLWJwMSkge1xuXHRcdHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLDAuNik7XG5cdH1cbn1cblxuXG4uYy1oZXJvX19jYXB0aW9uLXRvcCB7XG5cdEBpbmNsdWRlIGZvbnQtd2VpZ2h0KCdibGFjaycpO1xufVxuXG5cbi5jLWhlcm9fX2NhcHRpb24tYm90dG9tIHtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQobGlnaHQpO1xufVxuXG5cbi8vIEJ1dHRvbiB3aXRoIGFycm93IHRoYXQgc2Nyb2xscyBkb3duXG4uYy1oZXJvX19zY3JvbGwge1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKCRjLWhlcm8tYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGhlaWdodDogNDBweDtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdG1hcmdpbi10b3A6IDE0JTtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG5cblx0XHQmID4gc3ZnIHtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcztcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDEwMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuMyk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cblx0XHRcdCYgPiBzdmcge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4uYy1oZXJvX19jb250cm9scyB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBzd2l0Y2ggb2ZmIGNvbnRyb2xzXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHNwYWNlKDEpO1xuXG5cdEBpbmNsdWRlIG1xKCRjLWhlcm8tYnAxKSB7XG5cdFx0Ym90dG9tOiAkYy1oZXJvLW92ZXJsYXA7XG5cdH1cbn1cblxuXG5cbi8vIGRlc2NyaXB0aW9uXG5cbi5jLWhlcm9fX2Rlc2NyaXB0aW9uIHtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQobGlnaHQpO1xuXHRAaW5jbHVkZSBpbnRlcnBvbGF0ZShmb250LXNpemUsIDMyMHB4LCAxMzY2cHgsIDE2cHgsIDI0cHgpO1xuXHRAaW5jbHVkZSBpbnRlcnBvbGF0ZShsaW5lLWhlaWdodCwgMzIwcHgsIDEzNjZweCwgMzJweCwgNDBweCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgzKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dG9wOiAwO1xuXHRcdG1hcmdpbjogMCBhdXRvIHNwYWNlKDQpO1xuXHRcdHdpZHRoOiAxcHg7XG5cdFx0aGVpZ2h0OiBzcGFjZSg2KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cbn1cblxuLmMtaGVyb19fZGVzY3JpcHRpb24tdGV4dCB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdG1heC13aWR0aDogODU2cHg7XG59IiwiLm8taW1hZ2Uge1xuXHQtLW8taW1hZ2UtYmctb2Zmc2V0OiA2dnc7XG5cblx0QGluY2x1ZGUgaW50ZXJwb2xhdGUocGFkZGluZy10b3AsIDMyMHB4LCAxMDAwcHgsIHNwYWNlKDYpLCBzcGFjZSg4KSk7XG5cdEBpbmNsdWRlIGludGVycG9sYXRlKG1hcmdpbi1ib3R0b20sIDMyMHB4LCAxMDAwcHgsIHNwYWNlKDYpLCBzcGFjZSg4KSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQgdmFyKC0tby1pbWFnZS1iZy1vZmZzZXQpLCBwYWxldHRlKHByaW1hcnksIDYwMCkgdmFyKC0tby1pbWFnZS1iZy1vZmZzZXQpKTtcblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0LS1vLWltYWdlLWJnLW9mZnNldDogI3tzcGFjZSgxMCl9O1xuXHR9XG59XG5cblxuLm8taW1hZ2VfX21haW4ge1xuXHR3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEzKTtcbn0iLCIkYy1pbnB1dC1ib3JkZXItc2l6ZTogMnB4O1xuXG5cbi5jLWlucHV0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogKHNwYWNlKDEpIC0gJGMtaW5wdXQtYm9yZGVyLXNpemUpIHNwYWNlKDIpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRib3JkZXI6ICRjLWlucHV0LWJvcmRlci1zaXplIHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0b3V0bGluZTogbm9uZTtcblxuXHQuaGFzLWVycm9yICYge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDdweCAtM3B4IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGZvY3VzKTtcblx0fVxuXG5cdEBhdC1yb290IHRleHRhcmVhI3smfSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogc3BhY2UoMik7XG5cdFx0bWluLWhlaWdodDogc3BhY2UoMjApIC0gZG91YmxlKCRjLWlucHV0LWJvcmRlci1zaXplKTtcblx0XHRsaW5lLWhlaWdodDogc3BhY2UoMyk7XG5cdFx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0fVxufSIsIi5jLWxhbmd1YWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuXHRAaW5jbHVkZSBmb250KHMpO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cdGJvcmRlcjogbm9uZTtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcywgYm94LXNoYWRvdyAxNTBtcztcblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG5cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuXHRmbGV4OiBub25lO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuXG4uYy1sYW5ndWFnZV9fbGFiZWwge1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMC41KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAxMDAlO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0b3BhY2l0eTogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMTUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuXG5cdC5jLWxhbmd1YWdlOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxufVxuXG5cbi5jLWxhbmd1YWdlX19pdGVtIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblxuXHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgMCAwO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG59XG5cblxuLmMtbGFuZ3VhZ2VfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSBzcGFjZSgxKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0fVxufVxuXG4iLCIkYy1uYXYtbGluay1wYWRkaW5nOiA0cHg7XG5cblxuLmMtbmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5cbi5jLW5hdl9fbGlzdCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi5jLW5hdl9faXRlbSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0bWFyZ2luLXJpZ2h0OiAyJTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxufVxuXG5cbi5jLW5hdl9fbGluayB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogJGMtbmF2LWxpbmstcGFkZGluZztcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0bGVmdDogJGMtbmF2LWxpbmstcGFkZGluZztcblx0XHRib3R0b206IDFweDtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJGMtbmF2LWxpbmstcGFkZGluZyl9KTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdH1cblx0fVxuXG5cdC8vIFdoZW4gaXRlbSBpcyBhY3RpdmVcblx0LmlzLWFjdGl2ZS5jLW5hdl9faXRlbSAmIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cbn0iLCIvKlxuICogUGFnZSB0aXRsZVxuICovXG5cblxuLmMtcGFnZS10aXRsZSB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDYwMCk7XG59XG5cblxuLmMtcGFnZS10aXRsZV9fbGVhZCB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMik7XG5cdH1cbn1cblxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59IiwiLmMtcGFnaW5hdGlvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLWxlZnQ6IDA7IC8vIHJlc2V0XG5cdGxpc3Qtc3R5bGU6IG5vbmU7IC8vIHJlc2V0XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGJvcmRlcjogMXB4IHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uX19pdGVtIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0Ly8gT24gc21hbGwgc2NyZWVucyBoaWRlIGFsbCBpdGVtcyBidXQgdGhlIGFycm93cywgZmlyc3QgcGFnZSwgbGFzdCBwYWdlIGFuZCBhY3RpdmVcblx0QGluY2x1ZGUgbXEoJG1heDogbSl7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQsXG5cdFx0JjpsYXN0LWNoaWxkLFxuXHRcdCYuaXMtbGFzdC1wYWdlLFxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0fVxuXG5cdFx0Ji5pcy1sYXN0LXBhZ2Uge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiArICYge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi13aWR0aDogc3BhY2UoNik7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uX190ZXh0IHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0b3BhY2l0eTogMC4zNTtcbn1cblxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcywgYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdH1cblxuXHQuaXMtYWN0aXZlID4gJiB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cbn1cblxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXM7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcblxuXHQmLmlzLWluYWN0aXZlIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG5cdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn0iLCIuYy1wYXNzd29yZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4uYy1wYXNzd29yZF9faW5wdXQge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IC8vIG1ha2Ugc3VyZSBsYXN0cGFzcyBpY29uIGdldHMgaGlkZGVuXG59XG5cblxuLmMtcGFzc3dvcmRfX3ByZXZpZXctYnV0dG9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRhcHBlYXJhbmNlOiBub25lO1xuXHR0b3A6IDUwJTtcblx0cmlnaHQ6IDVweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgwLjUpIHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiBub25lO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogY29sb3IgMTAwbXMgbGluZWFyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0fVxuXG5cdC5pcy1wcmV2aWV3aW5nICYge1xuXHRcdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR9XG59IiwiLmMtcGVyc29uX19waWN0dXJlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsZXg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi5jLXBlcnNvbl9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMjAwKTtcbn1cblxuXG4uYy1wZXJzb25fX2luZm8ge1xuXHRwYWRkaW5nOiBzcGFjZSgyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xufVxuXG5cbi5jLXBlcnNvbl9fdGl0bGUge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDYwMCk7XG59XG5cblxuLmMtcGVyc29uX19zdWJ0aXRsZSB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcbn0iLCIuYy1wcm9qZWN0b3Ige1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGhlaWdodDogMTAwJTtcblx0bWF4LWhlaWdodDogOTB2aDtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fY2FwdGlvbiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAyO1xuXHR1c2VyLXNlbGVjdDogdGV4dDtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG5cblxuLmMtcHJvamVjdG9yX19waWN0dXJlIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdGhlaWdodDogMTAwJTtcblx0ZGlzcGxheTogYmxvY2s7IC8vIE5lZWRlZCBmb3IgSUVcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zO1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19pbWcge1xuXHQvLyBtYWtlIHN1cmUgaXQgc3RyZXRjaGVzIHRoZSBjb250YWluZXJcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWF4LWhlaWdodDogODB2aDtcblx0b2JqZWN0LWZpdDogY292ZXI7IC8vIEZhbGxiYWNrIGZvciBJRSB2aWEgSlMgcG9seWZpbGxcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXgtaGVpZ2h0OiA3OHZoOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSB2aXNpYmxlIGVudGlyZWx5IG9uIHNtYWxsIGRldmljZXMgaW4gbGFuZHNjYXBlKVxuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBjZW50ZXI7XG59IiwiLyoqXG4gKiBTZWxlY3Qgc3R5bGVkIHdpdGhvdXQgZXh0cmEgY29udGFpbmluZyBlbGVtZW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCYXNlZCBvbiB0aGlzIGFydGljbGU6XG4gKiBodHRwczovL3d3dy5maWxhbWVudGdyb3VwLmNvbS9sYWIvc2VsZWN0LWNzcy5odG1sXG4gKi9cblxuXG4kYy1zZWxlY3QtYm9yZGVyLXNpemU6IDJweDtcblxuXG4uYy1zZWxlY3Qge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMTQsMTYpO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3lzdGVtOyAvLyBmb3IgZmlyZWZveFxuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6ICN7c3BhY2UoMSkgLSAkYy1zZWxlY3QtYm9yZGVyLXNpemV9O1xuXHRwYWRkaW5nLWJvdHRvbTogI3tzcGFjZSgxKSAtICRjLXNlbGVjdC1ib3JkZXItc2l6ZX07XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoMik7XG5cdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDQpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHR3aWR0aDogMTAwJTtcblx0Ly9tYXgtd2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogNTAwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG1hcmdpbjogMDtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1nL3NlbGVjdC1hcnJvdy5zdmcnKSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcGFsZXR0ZShuZXV0cmFsLCAwKSAwJSxwYWxldHRlKG5ldXRyYWwsIDApIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEzcHggdG9wIDUwJSwgMCAwO1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bywgMTAwJTtcblx0Ym9yZGVyOiAkYy1zZWxlY3QtYm9yZGVyLXNpemUgc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHR0cmFuc2l0aW9uOiBib3JkZXIgMTUwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgOTAwKSwgMC43KTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCYgb3B0aW9uIHtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR9XG59XG5cblxuLmMtc2VsZWN0OjotbXMtZXhwYW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIkYy1zZXJ2aWNlcG9pbnQtYnAxOiA1NDA7XG5cblxuLmMtc2VydmljZXBvaW50IHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgtMik7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRjLXNlcnZpY2Vwb2ludC1icDEpIHtcblx0XHR3aWR0aDogOTZweDtcblx0fVxuXG5cdG1heC13aWR0aDogMTc2cHg7XG5cdGZsZXg6IDA7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDIpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IDE2NXB4O1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2RhdGEge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xufSIsIi5jLXNpdGVtYXBfX2l0ZW0ge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxufSIsIi8qXG4gKiBTa2lwIExpbmtcbiAqL1xuXG4uYy1za2lwLWxpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAtMTAwdmg7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAycHg7XG5cdFx0dG9wOiA1cHg7IC8qIE5vdyB0aGUgbGluayB3aWxsIGFwcGVhciAqL1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBTbGlkZSBpbmRpY2F0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1zbGlkZS1pbmRpY2F0b3I6IChcblx0J2RvdC1jb2xvcic6XHRcdFx0XHRyZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNSksXG5cdCdkb3QtY29sb3ItYWN0aXZlJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnZG90LXJpbmctY29sb3ItYWN0aXZlJzpcdHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC41KSxcblx0J2RvdC1zaXplJzpcdFx0XHRcdFx0OHB4LFxuXHQnZG90LXNpemUtYWN0aXZlJzpcdFx0XHQ4cHgsXG5cdCdkb3QtcmluZy1zaXplLWFjdGl2ZSc6XHRcdDE0cHgsXG5cdCdkb3Qtc2l6ZS10YXJnZXRib3gnOlx0XHQzMHB4LFxuXHQnZG90LWlzLXJvdW5kZWQnOlx0XHRcdHRydWUsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1zbGlkZS1pbmRpY2F0b3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5cbi8vIERvdHMgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiBhcnJvdyBidXR0b25zXG4vLyBZb3UgaGF2ZSB0byBzZXQgdGhlICRpbWFnZU5hdmlnYXRpb25NZXRob2QgdG8gWzBdIG9uIHRoZSBpbWFnZSBjb21wb25lbnRcbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXI6bm90KC5pcy1hY3RpdmUpLFxuXHQmOmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0QGlmIChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1pcy1yb3VuZGVkJykgPT0gdHJ1ZSkge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmOmJlZm9yZSB7XG5cdFx0JG9mZnNldDogY2FsYygoI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3InKTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdCRvZmZzZXQ6IGNhbGMoKCN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZS10YXJnZXRib3gnKX0gLSAje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctc2l6ZS1hY3RpdmUnKX0pIC8gMik7XG5cdFx0dG9wOiAkb2Zmc2V0O1xuXHRcdHJpZ2h0OiAkb2Zmc2V0O1xuXHRcdGJvdHRvbTogJG9mZnNldDtcblx0XHRsZWZ0OiAkb2Zmc2V0O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXJpbmctY29sb3ItYWN0aXZlJyk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjQpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtY29sb3ItYWN0aXZlJyk7XG5cdFx0XHRib3JkZXItY29sb3I6IHJnYmEobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1jb2xvci1hY3RpdmUnKSwgMC45KTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLWFjdGl2ZScpKSAvIHN0cmlwLXVuaXQobWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3Qtc2l6ZScpKSk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRvcGFjaXR5OiAwLjk7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHQvL2JhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vIEFycm93IGJ1dHRvbnMgY2FuIGJlIHVzZWQgaW5zdGVhZCBvZiBkb3RzXG4vLyBZb3UgaGF2ZSB0byBzZXQgdGhlICRpbWFnZU5hdmlnYXRpb25NZXRob2QgdG8gWzFdIG9uIHRoZSBpbWFnZSBjb21wb25lbnRcbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNDgpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGhlaWdodDogNnZ3O1xuXHR3aWR0aDogNnZ3O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tbGVmdDogOHB4O1xuXHR9XG5cblx0JiA+IHN2ZyB7XG5cdFx0d2lkdGg6IHNwYWNlKDIpO1xuXHRcdGhlaWdodDogc3BhY2UoMik7XG5cdH1cblxuXHQmW2FyaWEtbGFiZWw9J3ByZXZpb3VzJ10gPiBzdmcge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0fVxuXG5cdCZbYXJpYS1sYWJlbD0nbmV4dCddID4gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGNvbG9yOiByZ2JhKHBhbGV0dGUocHJpbWFyeSwgNjAwKSwgMSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKG5ldXRyYWwsIDApLCAxKTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG5cdH1cbn0iLCIuYy1zdWJuYXYge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdHBhZGRpbmc6IGNvbHVtbigxKTtcbn1cblxuXG4uYy1zdWJuYXZfX2hlYWRlciB7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4uYy1zdWJuYXZfX2xpc3Qge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4uYy1zdWJuYXZfX2xpbmsge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdH1cbn1cblxuXG4uYy1zdWJuYXZfX2ljb24ge1xuXHRvcGFjaXR5OiAwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDMwMCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgje3NwYWNlKC0yKX0pO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG5cblx0LmMtc3VibmF2X19saW5rOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdH1cbn1cblxuXG4vLyBBY3RpdmUgc3RhdGUgb2YgdGhlIHN1Ym5hdiBpdGVtXG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIHtcblx0LmMtc3VibmF2X19saW5rIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxuXG5cdC5jLXN1Ym5hdl9faWNvbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufSIsIi5jLXRleHQtYnV0dG9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRwYWRkaW5nOiAwOyAvKiAyICovXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAyICovXG5cdGJvcmRlcjogbm9uZTsgLyogMiAqL1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMzAwbXM7XG5cblx0Jjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG5cdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwMClcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cbn1cblxuXG4uYy10ZXh0LWJ1dHRvbl9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcbn1cblxuXG4uYy10ZXh0LWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcblxuXHQuYy10ZXh0LWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxuXG5cdC5jLXRleHQtYnV0dG9uLS1pY29uICZ7XG5cdFx0ZGlzcGxheTogYmxvY2s7IC8vIFNob3cgd2hlbiBoYXMgaWNvbiBtb2RpZmllclxuXHR9XG59XG5cblxuLy8gQ2hhbmdlIGRpcmVjdGlvbiBvZiBpY29uIChhcnJvdylcbi5jLXRleHQtYnV0dG9uLS1pcy1yZXZlcnNlZCB7XG5cdC5jLXRleHQtYnV0dG9uX190ZXh0IHsgb3JkZXI6IDI7XHR9XG5cdC5jLXRleHQtYnV0dG9uX19pY29uIHtcblx0XHRvcmRlcjogMTtcblx0XHR0b3A6IDFweDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pO1xuXHR9XG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dC1idXR0b25fX2ljb24ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pIHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxufSIsIi5jLXRyYWRlbWFyayB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcbn1cblxuXG4uYy10cmFkZW1hcmtfX3RleHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tcmlnaHQ6IDdweDtcbn1cblxuXG4uYy10cmFkZW1hcmtfX2xvdmUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luOiAtM3B4IHNwYWNlKDEpIDA7XG5cdGFuaW1hdGlvbjogaGVhcnRiZWF0IDEuOHMgaW5maW5pdGU7XG5cdHdpZHRoOiAxNnB4O1xuXHRoZWlnaHQ6IDE2cHg7XG5cblx0c3ZnIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdH1cbn1cblxuXG4vLyBPbiBob3ZlciBkbyBzb21lIGFuaW1hdGluZyA7LSlcbi5jLXRyYWRlbWFyazpob3ZlciB7XG5cdGNvbG9yOiAjRTIyNjREOyAvLyBzYW1lIGNvbG9yIGFzIGhlYXJ0IGltYWdlXG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cblx0JiAua29tbWEtZW1ibGVtIHtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiAxMnB4IDEycHg7XG5cdFx0YW5pbWF0aW9uOiBsb2dvLXNwaW4gMS44cyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBsb2dvLXNwaW4ge1xuXHRmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cblx0dG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG59XG5cblxuQGtleWZyYW1lcyBoZWFydGJlYXQge1xuXHQwJSB7IHRyYW5zZm9ybTogc2NhbGUoIC43NSApOyB9XG5cdDIwJSB7IHRyYW5zZm9ybTogc2NhbGUoIDEgKTsgfVxuXHQ0MCUgeyB0cmFuc2Zvcm06IHNjYWxlKCAuNzUgKTsgfVxuXHQ2MCUgeyB0cmFuc2Zvcm06IHNjYWxlKCAxICk7IH1cblx0ODAlIHsgdHJhbnNmb3JtOiBzY2FsZSggLjc1ICk7IH1cblx0MTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoIC43NSApOyB9XG59IiwiJGMtdmlkZW8tbGFyZ2UtYnV0dG9uOiAxMDRweDtcbiRjLXZpZGVvLWxhcmdlLWJ1dHRvbi1vZmZzZXQ6IHNwYWNlKDMpO1xuJGMtdmlkZW8tc3RyaXBlLWhlaWdodDogc3BhY2UoNik7XG5cbi5jLXZpZGVvIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDEwMDApIHtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoMyk7XG5cdFx0cGFkZGluZy1ib3R0b206ICRjLXZpZGVvLXN0cmlwZS1oZWlnaHQgLyAyO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdCAgICBjb250ZW50OiAnJztcblx0ICAgIHRvcDogMDtcblx0ICAgIGJvdHRvbTogMDtcblx0ICAgIHJpZ2h0OiAwO1xuXHQgICAgbGVmdDogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDYwMCk7XG5cdH1cbn1cblxuXG4uYy12aWRlb19fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcblx0Z3JpZC10ZW1wbGF0ZS1hcmVhczpcblx0XHRcImltYWdlXCJcblx0XHRcImRlc2NyaXB0aW9uXCI7XG5cblx0QGluY2x1ZGUgbXEoMTAwMCkge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiA0dncgYXV0byBhdXRvIHNwYWNlKDYpIHNwYWNlKDYpO1xuXHRcdG1hcmdpbi10b3A6IC00dnc7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoLTgpO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogc3BhY2UoOCkgYXV0byBhdXRvIHNwYWNlKDYpIHNwYWNlKDYpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMTtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogNTAlO1xuXHRcdGhlaWdodDogJGMtdmlkZW8tc3RyaXBlLWhlaWdodDtcblx0XHR3aWR0aDogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuXG5cdFx0QGluY2x1ZGUgbXEoMTAwMCkge1xuXHRcdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0XHRncmlkLXJvdzogMyAvIDY7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMCUgKyAjeyRjLXZpZGVvLXN0cmlwZS1oZWlnaHR9KTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3NwYWNlKC02KX0pO1xuXHRcdH1cblx0fVxufVxuXG5cbi5jLXZpZGVvX19pbWFnZSB7XG5cdGdyaWQtYXJlYTogaW1hZ2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtcSgxMDAwKSB7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0Z3JpZC1yb3c6IDEgLyA1O1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0ICAgIGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAxO1xuXHQgICAgdG9wOiAwO1xuXHQgICAgYm90dG9tOiAwO1xuXHQgICAgcmlnaHQ6IDA7XG5cdCAgICBsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblx0XHRvcGFjaXR5OiAwLjY0O1xuXHR9XG59XG5cblxuLmMtdmlkZW9fX2ltZyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKDEwMDApIHtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdH1cbn1cblxuXG4uYy12aWRlb19faWZyYW1lIHtcblx0Ly9kaXNwbGF5OiBub25lOyAvLyB0ZW1wIGhpZGRlblxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHotaW5kZXg6IDI7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy12aWRlb19fZGVzY3JpcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChsaWdodCk7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1hem8tc2Fucztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRncmlkLWFyZWE6IGRlc2NyaXB0aW9uO1xuXHRwYWRkaW5nOiBzcGFjZSg3KSA4JSBzcGFjZSg2KTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblxuXHRAaW5jbHVkZSBtcSgxMDAwKSB7XG5cdFx0YWxpZ24tc2VsZjogc3RhcnQ7XG5cdFx0Z3JpZC1jb2x1bW46IDI7XG5cdFx0Z3JpZC1yb3c6IDIgLyAzO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRwYWRkaW5nLWJvdHRvbTogJGMtdmlkZW8tbGFyZ2UtYnV0dG9uICsgJGMtdmlkZW8tbGFyZ2UtYnV0dG9uLW9mZnNldDtcblx0XHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDkpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDkpO1xuXHR9XG59XG5cblxuXG4uYy12aWRlb19fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRncmlkLXJvdzogMTtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLXNlbGY6IGVuZDtcblx0Ym9yZGVyOiBub25lO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0bWFyZ2luOiAwIGF1dG87XG5cdHBhZGRpbmc6IDA7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogMTAwMCkge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoMTAwMCkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRncmlkLWNvbHVtbjogMjtcblx0XHRncmlkLXJvdzogMiAvIDM7XG5cdFx0YWxpZ24tc2VsZjogZW5kO1xuXHRcdGp1c3RpZnktc2VsZjogc3RhcnQ7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYy12aWRlby1sYXJnZS1idXR0b24vMik7XG5cdFx0bWFyZ2luLWJvdHRvbTogJGMtdmlkZW8tbGFyZ2UtYnV0dG9uLW9mZnNldDtcblx0fVxufVxuXG5cbi5jLXZpZGVvX19jaXJjbGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0d2lkdGg6IDY0cHg7XG5cdGhlaWdodDogNjRweDtcblx0YmFja2dyb3VuZDogcmdiYSgxODIsIDIxNSwgMjQwLCAwLjI0KTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG5cblx0QGluY2x1ZGUgbXEoMTAwMCkge1xuXHRcdG1hcmdpbjogMDtcblx0XHR3aWR0aDogJGMtdmlkZW8tbGFyZ2UtYnV0dG9uO1xuXHRcdGhlaWdodDogJGMtdmlkZW8tbGFyZ2UtYnV0dG9uO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA4cHg7XG5cdFx0Ym90dG9tOiA4cHg7XG5cdFx0cmlnaHQ6IDhweDtcblx0XHRsZWZ0OiA4cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0O1xuXHR9XG5cblx0LmMtdmlkZW9fX2J1dHRvbjpob3ZlciAmOmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA2MDApO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC44OCk7XG5cdH1cbn1cblxuXG4uYy12aWRlb19fcGxheSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDYwMCk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG5cblx0LmMtdmlkZW9fX2J1dHRvbjpob3ZlciAmIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0fVxufVxuXG5cbi5jLXZpZGVvX190ZXh0LWJ1dHRvbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0QGluY2x1ZGUgbXEoMTAwMCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiBjYWxjKCN7c3BhY2UoOSl9IC0gI3skYy12aWRlby1sYXJnZS1idXR0b24gLyAyfSk7XG5cdFx0cGFkZGluZzogMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRcdHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcblxuXHRcdC5jLXZpZGVvX19idXR0b246aG92ZXIgJiB7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAzMDApO1xuXHRcdH1cblx0fVxufSIsbnVsbCwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5AaW1wb3J0IFwib3JnYW5pc21zLmJhbm5lclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5ibG9nXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNhbGxvdXRCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY2FyZEdyaWRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29udGVudFBlcnNvbmFsXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmNvb2tpZUJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kYXRhXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmRvdWJsZUltYWdlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmRvdWJsZVRleHRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZm9vdGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmhlYWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5tYXBcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMub3ZlcmxheU1lbnVcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMucGFydG5lcnNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMucXVvdGVcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGVzdGltb25pYWxzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnN1YmZvb3RlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50YWJzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnRlYW1cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudGV4dFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50ZXh0SW1hZ2VcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudmFjYW5jaWVzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnZpZGVvTW9kYWxcIjsiLCIkby1iYW5uZXItYnAxOiA3NjA7XG5cbi5vLWJhbm5lciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgMzAwKTtcbn1cblxuXG4uby1iYW5uZXJfX21haW4ge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG5cdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIGF1dG8pO1xuXHRtYXgtd2lkdGg6IDE0NDBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cblxuLm8tYmFubmVyX19waWN0dXJlIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDMwMCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJG8tYmFubmVyLWJwMSkge1xuXHRcdGhlaWdodDogMTAwdnc7XG5cdFx0bWF4LWhlaWdodDogNjB2aDtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRvLWJhbm5lci1icDEpIHtcblx0XHRncmlkLXJvdzogMSAvIC0xO1xuXHR9XG59XG5cblxuLm8tYmFubmVyX19pbWcge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiAkby1iYW5uZXItYnAxKSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR9XG59XG5cblxuLm8tYmFubmVyX19kZXNjcmlwdGlvbiB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMjtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJG8tYmFubmVyLWJwMSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRvLWJhbm5lci1icDEpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAxcHg7XG5cdFx0JHc6IDQxLjY3dnc7XG5cdFx0d2lkdGg6ICR3O1xuXHRcdGhlaWdodDogJHcvMjtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkdy8yO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdy8yO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDE4MiwyMTUsMjQwLDAuMjQpO1xuXHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxNHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcblx0XHQkdzogNjAwcHg7XG5cdFx0d2lkdGg6ICR3O1xuXHRcdGhlaWdodDogJHcvMjtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkdy8yO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkdy8yO1xuXHR9XG59XG5cblxuLm8tYmFubmVyX19oZWFkaW5nIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwYWRkaW5nOiA1LjV2dyA2LjV2dyAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtZmFtaWx5OiAkZm9udC1tb2tva287XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJG8tYmFubmVyLWJwMSkge1xuXHRcdEBpbmNsdWRlIGNvbnRhaW47XG5cdFx0cGFkZGluZzogc3BhY2UoNikgMCBzcGFjZSgzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpIHtcblx0XHRwYWRkaW5nOiBzcGFjZSgxMCkgc3BhY2UoMTIpIDA7XG5cdH1cbn1cblxuXG4uby1iYW5uZXJfX3RpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4eGwpO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChsaWdodCk7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cblx0QGluY2x1ZGUgbXEoJG8tYmFubmVyLWJwMSwgJG1heDogJGJwLW1heCkge1xuXHRcdGZvbnQtc2l6ZTogMi45dnc7XG5cdH1cbn1cblxuXG4uby1iYW5uZXJfX3N1YnRpdGxlIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChleHRyYS1ib2xkKTtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcbn0iLCIuby1ibG9nX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuXG4uby1ibG9nX19hcnRpY2xlIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDQpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5vLWJsb2dfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTUwbXMgbGluZWFyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDsgcmlnaHQ6IDA7IGJvdHRvbTogMDsgbGVmdDogMDtcblx0XHRib3JkZXI6IDJweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyIDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBmb2N1cyk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cbn1cblxuXG4uby1ibG9nX19ib2R5IHtcblx0ZmxleC1ncm93OiAxO1xuXHRwYWRkaW5nOiBjb2x1bW4oMSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdG9yZGVyOiAxO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDYpIGNvbHVtbigxKTtcblx0fVxufVxuXG5cbi5vLWJsb2dfX2ltYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZy1ib3R0b206IDU1JTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZmxleDogbm9uZTtcblx0XHRvcmRlcjogMjtcblx0XHR3aWR0aDogY29sdW1uKDIsOCk7XG5cdFx0cGFkZGluZy1ib3R0b206IGNvbHVtbigyLDgpO1xuXHR9XG59XG5cblxuLm8tYmxvZ19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0dG9wOiBjb2x1bW4oMSk7XG5cdHJpZ2h0OiBjb2x1bW4oMSk7XG5cdHdpZHRoOiBjYWxjKDEwMCUgLSAje2NvbHVtbigyKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Y29sdW1uKDEpfSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG4uby1ibG9nX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG5cbi5vLWJsb2dfX3RpbWVzdGFtcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgyKTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNDAwKTtcbn1cblxuXG4uby1ibG9nX19hY3Rpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcbn1cblxuXG4uby1ibG9nX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cblxuLm8tYmxvZ19fZm9vdGVyIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCIuby1jYWxsb3V0LWJhciB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDApO1xuICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4uby1jYWxsb3V0LWJhcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMSxcblx0XHQncGFkZGluZy1ib3R0b20nIDFcblx0KTtcblxuXHQvLyBWZXJ0aWNhbCBzcGFjaW5nIGZvciBlbGVtZW50cyB0aGF0IHByb2NlZWQgYW5vdGhlciBlbGVtZW50XG5cdCYgPiAqICsgKiB7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMC41XG5cdFx0KTtcblx0fVxufVxuXG5cbi5vLWNhbGxvdXQtYmFyX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbn0iLCIkby1jYXJkLWdyaWQtbW9iaWxlLWFsdGVybmF0ZTogNzQwO1xuXG4uby1jYXJkLWdyaWQge1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoMTApO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg4KTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IHNwYWNlKDEwKSwgcGFsZXR0ZShwcmltYXJ5LCA2MDApIHNwYWNlKDEwKSk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJG8tY2FyZC1ncmlkLW1vYmlsZS1hbHRlcm5hdGUpIHtcblx0XHQuaXMtbW9iaWxlLWFsdGVybmF0ZSAmIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1jYXJkLWdyaWRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHhsKTtcblx0QGluY2x1ZGUgZm9udC13ZWlnaHQobGlnaHQpO1xuXHRmb250LWZhbWlseTogJGZvbnQtbW9rb2tvO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg2KTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkby1jYXJkLWdyaWQtbW9iaWxlLWFsdGVybmF0ZSkge1xuXHRcdC5pcy1tb2JpbGUtYWx0ZXJuYXRlICYge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1jYXJkLWdyaWRfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNzBweCwgMWZyKSk7XG5cdGdyaWQtZ2FwOiBzcGFjZSg0KTtcblx0XG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tb2JpbGUtYWx0ZXJuYXRlKSB7XG5cdFx0LmlzLW1vYmlsZS1hbHRlcm5hdGUgJiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5cbkBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tb2JpbGUtYWx0ZXJuYXRlKSB7XG5cdC5vLWNhcmQtZ3JpZF9fYmFjayB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdC5pcy1tb2JpbGUtYWx0ZXJuYXRlICYge1xuXHRcdFx0QGluY2x1ZGUgY29udGFpbjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDUpO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWNhcmQtZ3JpZF9faXRlbSB7XG5cdG1pbi13aWR0aDogMDtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcbn0iLCIuby1jb250ZW50LXBlcnNvbmFsIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWNvbnRlbnQtcGVyc29uYWxfX2Rlc2NyaXB0aW9uIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEpO1xuXHR9XG59XG5cblxuLm8tY29udGVudC1wZXJzb25hbF9faW5mbyB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcblx0fVxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0fVxufSIsIi5vLWNvb2tpZS1iYXIge1xuXHR6LWluZGV4OiAtMTsgLy8gbm90IHNlbGVjdGFibGVcblx0cG9zaXRpb246IGZpeGVkO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAkc2l0ZS1jb29raWVCYXItaGVpZ2h0O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHQvL29wYWNpdHk6IDE7XG5cdGJveC1zaGFkb3c6IDAgLTRweCA2cHggMCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMjUpO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHNpdGUtY29va2llQmFyLXRyYW5zaXRpb24tc3BlZWQgJHNpdGUtY29va2llQmFyLXRyYW5zaXRpb24tZWFzZTtcblx0Ly90cmFuc2Zvcm06IG5vbmU7XG5cblx0Ly8gV2hlbiBjb29raWVzIGFyZSBub3QgeWV0IGFjY2VwdGVkLCBzaG93IGNvb2tpZWJhclxuXHRib2R5Om5vdCguaXMtY29va2llcy1hY2NlcHRlZCkgJiB7XG5cdFx0QGluY2x1ZGUgeih6LWNvb2tpZSk7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHR9XG5cblx0Ji5pcy10cmFuc2l0aW9uaW5nLW91dCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHR6LWluZGV4OiAtMTsgLy8gbm90IHNlbGVjdGFibGVcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHQvL29wYWNpdHk6IDA7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuXHR9XG59XG5cblxuLm8tY29va2llLWJhcl9fbWFpbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMC45KTtcblx0fVxufVxuXG5cbi5vLWNvb2tpZS1iYXJfX3RleHQge1xuXHRtYXJnaW46IDA7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IDM3NSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdH1cbn1cblxuXG4uby1jb29raWUtYmFyX19saW5rIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRyYW5zaXRpb246IGNvbG9yIDMwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG5cdH1cbn1cblxuXG4uby1jb29raWUtYmFyX19idXR0b24ge1xuXHRmbGV4OiBub25lO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0fVxufSIsIiRvLWRhdGEtYnAxOiAxMDAwO1xuJG8tZGF0YS1pY29uLXNpemU6IDgwcHg7XG4kby1kYXRhLWljb24tcmluZy1zaXplOiA4cHg7XG4kby1kYXRhLWljb24tbGluZS1oZWlnaHQ6IDMycHg7XG4kby1kYXRhLWNvbnRlbnQtdG9wLXBhZGRpbmc6IHNwYWNlKDgpO1xuJG8tZGF0YS1jb250ZW50LWJvdHRvbS1wYWRkaW5nOiBzcGFjZSg4KTtcblxuLm8tZGF0YSB7XG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRvLWRhdGEtYnAxKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAxMDApO1xuXHR9XG59XG5cblxuLm8tZGF0YV9fbWFpbiB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogZ3JpZDtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gcmVwZWF0KDIsICRvLWRhdGEtaWNvbi1zaXplLzIpIGF1dG87XG5cblx0QGluY2x1ZGUgbXEoJG8tZGF0YS1icDEpIHtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgje2NvbHVtblZ3KDEsMTQpLCAxZnJ9KSByZXBlYXQoMiwgbWlubWF4KDAsICN7JHNpdGUtbWF4LXdpZHRoLzIqMXB4fSkpIG1pbm1heCgje2NvbHVtblZ3KDEsMTQpLCAxZnJ9KTtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHNwYWNlKDYpIGF1dG8gcmVwZWF0KDIsICRvLWRhdGEtaWNvbi1zaXplLzIpIGF1dG8gc3BhY2UoOCk7XG5cdH1cblxuXHQvLyBtaWRkbGUgbGluZSBvbiB0b3Bcblx0QGluY2x1ZGUgbXEoJG8tZGF0YS1icDEpIHtcblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogY2FsYyg1MCUgLSAxcHgpO1xuXHRcdFx0aGVpZ2h0OiBzcGFjZSgxMik7XG5cdFx0XHR3aWR0aDogMnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmVkO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcGFsZXR0ZShwcmltYXJ5LCA2MDApIDUwJSwgcGFsZXR0ZShuZXV0cmFsLCAwKSA1MCUpO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWRhdGFfX2ZpZ3VyZTEge1xuXHRncmlkLXJvdzogMSAvIDM7XG5cdGdyaWQtY29sdW1uOiAxO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWRhdGEtYnAxKSB7XG5cdFx0Z3JpZC1yb3c6IDIgLyA1O1xuXHRcdGdyaWQtY29sdW1uOiAxIC8gMztcblx0fVxufVxuXG5cbi5vLWRhdGFfX2ZpZ3VyZTIge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiAkby1kYXRhLWJwMSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0QGluY2x1ZGUgbXEoJG8tZGF0YS1icDEpIHtcblx0XHRncmlkLXJvdzogMiAvIDY7XG5cdFx0Z3JpZC1jb2x1bW46IDMgLyA1O1xuXHR9XG59XG5cblxuLm8tZGF0YV9faW1nIHtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0b2JqZWN0LWZpdDogY292ZXI7XG59XG5cblxuLm8tZGF0YV9faWNvbiB7XG5cdGdyaWQtcm93OiAyIC8gNDtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0d2lkdGg6ICRvLWRhdGEtaWNvbi1zaXplO1xuXHRoZWlnaHQ6ICRvLWRhdGEtaWNvbi1zaXplO1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDE4MiwgMjE1LCAyNDAsIDAuMjQpO1xuXHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJG8tZGF0YS1icDEpIHtcblx0XHRqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IC0xO1xuXHRcdHRvcDogJG8tZGF0YS1pY29uLXJpbmctc2l6ZTtcblx0XHRib3R0b206ICRvLWRhdGEtaWNvbi1yaW5nLXNpemU7XG5cdFx0cmlnaHQ6ICRvLWRhdGEtaWNvbi1yaW5nLXNpemU7XG5cdFx0bGVmdDogJG8tZGF0YS1pY29uLXJpbmctc2l6ZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0fVxuXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogMDtcblx0XHRib3R0b206IC0kby1kYXRhLWljb24tbGluZS1oZWlnaHQgKyAkby1kYXRhLWljb24tcmluZy1zaXplO1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR3aWR0aDogMXB4O1xuXHRcdGhlaWdodDogJG8tZGF0YS1pY29uLWxpbmUtaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblx0fVxuXG5cdHN2ZyB7IG1hcmdpbi10b3A6IC04cHg7IH1cblxuXHRAaW5jbHVkZSBtcSgkby1kYXRhLWJwMSkge1xuXHRcdGdyaWQtcm93OiAzIC8gNTtcblx0XHRncmlkLWNvbHVtbjogMiAvIDM7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym90dG9tOiAtJG8tZGF0YS1jb250ZW50LXRvcC1wYWRkaW5nICsgJG8tZGF0YS1pY29uLXJpbmctc2l6ZTtcblx0XHRcdGhlaWdodDogJG8tZGF0YS1jb250ZW50LXRvcC1wYWRkaW5nO1xuXHRcdFx0d2lkdGg6IDJweDtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1kYXRhX19jb250ZW50IHtcblx0QGluY2x1ZGUgbXEoJG1heDogJG8tZGF0YS1icDEpIHtcblx0XHRAaW5jbHVkZSBjb250YWluO1xuXHRcdGdyaWQtcm93OiAzIC8gNTtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRwYWRkaW5nLXRvcDogJG8tZGF0YS1pY29uLXNpemUvMiArICRvLWRhdGEtaWNvbi1saW5lLWhlaWdodCAtICRvLWRhdGEtaWNvbi1yaW5nLXNpemUgKyBzcGFjZSgzKTtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNyk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkby1kYXRhLWJwMSkge1xuXHRcdGdyaWQtcm93OiA0IC8gNztcblx0XHRncmlkLWNvbHVtbjogMiAvIDM7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSg2KTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogMDtcblx0XHRwYWRkaW5nLXRvcDogJG8tZGF0YS1jb250ZW50LXRvcC1wYWRkaW5nICsgJG8tZGF0YS1pY29uLXNpemUvMjtcblx0XHRwYWRkaW5nLWJvdHRvbTogJG8tZGF0YS1jb250ZW50LWJvdHRvbS1wYWRkaW5nIDtcblx0XHRwYWRkaW5nLWxlZnQ6IDglO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDglO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogJyc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHQgICAgdG9wOiAwO1xuXHRcdCAgICBib3R0b206IDA7XG5cdFx0ICAgIHJpZ2h0OiAwO1xuXHRcdCAgICBsZWZ0OiAtNTB2dztcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgMTAwKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA2MDApO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAkby1kYXRhLWNvbnRlbnQtYm90dG9tLXBhZGRpbmc7XG5cdFx0XHR3aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWRhdGFfX2xpc3Qge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLWdhcDogc3BhY2UoMyk7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblx0bWFyZ2luOiAwO1xuXG5cdGR0IHtcblx0XHRncmlkLWNvbHVtbjogMTtcblx0XHRmb250LWZhbWlseTogJGZvbnQtbW9rb2tvO1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cblx0ZGQge1xuXHRcdGdyaWQtY29sdW1uOiAyO1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDYwMCk7XG5cdH1cbn0iLCIkby1kb3VibGUtaW1hZ2UtYnAxOiAxMTAwO1xuXG5cbi5vLWRvdWJsZS1pbWFnZSB7XG5cdG1hcmdpbjogLTFweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8vIFNldCBzaWRlIGJ5IHNpZGUgZnJvbSBtZWRpdW0gdmlld3BvcnRzIGFuZCB1cFxuXHRAaW5jbHVkZSBtcSgkby1kb3VibGUtaW1hZ2UtYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDFweDtcblx0b3JkZXI6IDE7XG5cblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLWltYWdlLWJwMSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHR9XG5cdH1cbn1cblxuXG4uby1kb3VibGUtaW1hZ2VfX2ltZyB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRtYXgtaGVpZ2h0OiA4NXZoO1xufVxuXG5cbi5vLWRvdWJsZS1pbWFnZS0taXMtcmV2ZXJzZWQge1xuXHQmIC5vLWRvdWJsZS1pbWFnZV9fcGljdHVyZSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG9yZGVyOiAwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHR9XG5cdH1cbn0iLCIkby1kb3VibGUtdGV4dC1icDE6IG07XG5cblxuLm8tZG91YmxlLXRleHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLXRleHQtYnAxKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxufVxuXG5cbi5vLWRvdWJsZS10ZXh0X19jb2x1bW4ge1xuXHRAaW5jbHVkZSBvd2woc3BhY2UoNSkpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWRvdWJsZS10ZXh0LWJwMSkge1xuXHRcdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgLy8gcmVzZXQgb3dsXG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSk7XG5cdH1cbn0iLCIkby1mb290ZXItYnAxOiBtO1xuJG8tZm9vdGVyLXN0cmlwZS1oZWlnaHQ6IDQ4cHg7XG5cblxuLm8tZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LWZvb3Rlcik7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIGNvbnRlbnQ6ICcnO1xuXHQgICAgdG9wOiAwO1xuXHQgICAgbGVmdDogNTAlO1xuXHRcdHdpZHRoOiAxcHg7XG5cdFx0aGVpZ2h0OiAkby1mb290ZXItc3RyaXBlLWhlaWdodDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRwYWRkaW5nLXRvcDogJG8tZm9vdGVyLXN0cmlwZS1oZWlnaHQgKyBzcGFjZSg1KTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDUpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWZvb3Rlci1icDEpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblx0XHRncmlkLXRlbXBsYXRlLWFyZWFzOiBcImluZm8gYnJhbmQgLlwiO1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19icmFuZCB7XG5cdGdyaWQtYXJlYTogYnJhbmQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogMjAwcHg7XG5cdGhlaWdodDogMjAwcHg7XG5cdG1hcmdpbjogMCBhdXRvIHNwYWNlKDQpO1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNTAwKTtcbn1cblxuXG4uby1mb290ZXJfX2luZm8ge1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChsaWdodCk7XG5cdGdyaWQtYXJlYTogaW5mbztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1xKCRvLWZvb3Rlci1icDEpIHtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG59XG5cblxuLm8tZm9vdGVyX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKG0pO1xuXHRAaW5jbHVkZSBmb250LXdlaWdodCgnYmxhY2snKTtcblx0Zm9udC1mYW1pbHk6ICRmb250LW1va29rbztcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG59XG5cblxuLm8tZm9vdGVyX19hZGRyZXNzIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG59XG5cblxuLm8tZm9vdGVyX19jb250YWN0IHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuKHNwYWNlKDEpKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoMyk7XG59XG5cblxuLm8tZm9vdGVyX19saW5rIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdHRyYW5zaXRpb246IGFsbCAxNTBtcyBsaW5lYXI7XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtbGV0dGVyKTtcblx0XHRmbGV4OiBub25lO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR3aWR0aDogc3BhY2UoNSk7XG5cdFx0aGVpZ2h0OiBzcGFjZSg1KTtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDIpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKHBhbGV0dGUocHJpbWFyeSwgNTAwKSwgMC40OCk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcblx0fVxuXHRcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAzMDApO1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdFx0fVxuXHR9XG59IiwiLm8taGVhZGVyIHtcblx0QGluY2x1ZGUgeih6LWhlYWRlcik7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ji5pcy1mbG9hdGluZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHR9XG59XG5cblxuLm8taGVhZGVyX19sb2dvIHtcblx0JHNpemU6IDI0MHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR3aWR0aDogJHNpemU7XG5cdGhlaWdodDogJHNpemUgLyAyO1xuXHRtYXJnaW46IDAgYXV0bztcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHNpemU7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkc2l6ZTtcblxuXHQmID4gLm90aXVtLWxvZ28ge1xuXHRcdG1hcmdpbi10b3A6IDI2cHg7XG5cdH1cbn0iLCIuby1tYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctYm90dG9tOiA1NSU7XG59XG5cblxuLm8tbWFwX19pbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufSIsIiRvLW92ZXJsYXktbWVudTogKFxuXHQnYmdjb2xvcic6ICAgICAgICAgIHBhbGV0dGUobmV1dHJhbCwgOTAwKSxcblx0J2NvbG9yJzogICAgICAgICAgICBwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnc2hhZGVyLWNvbG9yJzogICAgIHJnYmEoMCwgMCwgMCwgMC42KSxcblx0J21vdmUtc3BlZWQnOiAgICAgICA0NTBtcyxcblx0J29wYWNpdHktc3BlZWQnOiAgICAxMDBtcyxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5vLW92ZXJsYXktbWVudSB7XG5cdEBpbmNsdWRlIHooei1vdmVybGF5LW1lbnUpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJyk7XG5cblx0Ly8gV2hlbiBpdCBkaXNhcHBlYXJzIG91dCBvZiB2aWV3XG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMjB2dyk7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdtb3ZlLXNwZWVkJyk7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44LCAwLjIsIDAuMiwgMC44KTtcblx0dHJhbnNpdGlvbi1kZWxheTogMG1zLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblxuXHQvLyBXaGVuIGl0IGNvbWVzIGludG8gdmlld1xuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKSwgMG1zO1xuXHR9XG5cblx0Ly8gU2hhZGVyXG5cdCY6OmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAtMTIwdnc7XG5cdFx0d2lkdGg6IDEyMHZ3O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ3NoYWRlci1jb2xvcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdFx0Ly8gd2hlbiBzaGFkZXIgZGlzYXBwZWFycyBvdXQgb2Ygdmlld1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ21vdmUtc3BlZWQnKTtcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG5cdFx0Ly8gd2hlbiBzaGFkZXIgY29tZXMgaW50byB2aWV3XG5cdFx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xuXHRcdH1cblx0fVxuXG5cdC8vIEhpZGUgb3ZlcmxheSBtZW51IG9uIGxhcmdlciB2aWV3cG9ydHNcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2JhciB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoNCk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pbWcge1xuXHRoZWlnaHQ6IHNwYWNlKDYpO1xufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTAuNXR1cm4pO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgZWFzZS1vdXQ7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fbmF2IHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19pdGVtIHtcblx0JiArICYge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdH1cbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUobSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiBzcGFjZSgxLjUpIGNvbHVtbigxLDE0KTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY29sdW1uKC0xKSkgc2NhbGUoMS4yKTtcblx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluO1xuXHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdiZ2NvbG9yJyksICRsaWdodG5lc3M6IC0yMCUpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDJweDtcblx0XHRvdXRsaW5lLWNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2NvbG9yJyk7XG5cdH1cblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQ7XG5cdH1cblxuXHQvLyBTZXQgYSBkZWxheSBmb3IgZWFjaCBsaW5rXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuXHRcdEBhdC1yb290IC5vLW92ZXJsYXktbWVudV9faXRlbTpudGgtY2hpbGQoI3skaX0pIHtcblx0XHRcdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYgLm8tb3ZlcmxheS1tZW51X19saW5rIHtcblx0XHRcdFx0JGdhcDogNDU7XG5cdFx0XHRcdCRpbml0aWFsZGVsYXk6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnbW92ZS1zcGVlZCcpO1xuXHRcdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAjeyRpICogJGdhcCArICRpbml0aWFsZGVsYXl9O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIEluIHRoZSBbJG8tcGFydG5lcnNdIG1hcCB3ZSBkZWZpbmUgc29tZSBzZXR0aW5nczpcbiAqXG4gKiAnY29sdW1ucycua2V5IFx0PVx0bnVtYmVyIG9mIGl0ZW1zIGluIGEgcm93XG4gKiAnY29sdW1ucycudmFsdWUgXHQ9IFx0YnJlYWtwb2ludCBzaXplIGZyb20gd2hpY2ggd2Ugd2FudCB0aGF0IG51bWJlciBvZiBpdGVtc1xuICovXG5cblxuJG8tcGFydG5lcnM6IChcblx0J2dhcCcgOiA0JSxcblx0J2NvbHVtbnMnOiAoXG5cdFx0MjogMzIwLFxuXHRcdDM6IDYyMCxcblx0XHQ0OiA4NjAsXG5cdFx0NTogMTA4MCxcblx0KSxcbik7XG5cbi8vIEdldCB2YWx1ZXMgZnJvbSB0aGUgbWFwIGFuZCBwbGFjZSB0aGVtIGluIGFuIGVhc3kgdG8gYWNjZXNzIHZhcmlhYmxlXG4kby1wYXJ0bmVycy1jb2x1bW5zOiBcdFx0XHRcdG1hcC1nZXQoJG8tcGFydG5lcnMsICdjb2x1bW5zJyk7IC8vIGdldCB0aGUgJ2NvbHVtbnMnIGxpc3RcbiRvLXBhcnRuZXJzLWNvbHVtbi1rZXlzOiBcdFx0XHRtYXAta2V5cygkby1wYXJ0bmVycy1jb2x1bW5zKTsgLy8gZ2V0IGEgbGlzdCBvZiB0aGUga2V5cyBmcm9tIHRoZSAnY29sdW1ucydcbiRvLXBhcnRuZXJzLWNvbHVtbi1zbWFsbGVzdC1icDogXHRtYXAtZ2V0KCRvLXBhcnRuZXJzLWNvbHVtbnMsIG50aCgkby1wYXJ0bmVycy1jb2x1bW4ta2V5cywgMSkpOyAvLyBnZXQgYnJlYWtwb2ludCB2YWx1ZSBvZiB0aGUgZmlyc3QgY29sdW1uXG5cblxuLm8tcGFydG5lcnNfX2xpc3Qge1xuXHRAaW5jbHVkZSBtcSgkby1wYXJ0bmVycy1jb2x1bW4tc21hbGxlc3QtYnApIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRtYXJnaW46IG1hcC1nZXQoJG8tcGFydG5lcnMsICdnYXAnKSAqIC0xO1xuXHR9XG59XG5cblxuLm8tcGFydG5lcnNfX2l0ZW0ge1xuXHRtYXgtd2lkdGg6IDQ0NHB4OyAvLyBjb25zdHJhaW4gdGhlIHdpZHRoIG9mIHRoZSBlbGVtZW50IGluc2lkZVxuXHRtYXJnaW46IG1hcC1nZXQoJG8tcGFydG5lcnMsICdnYXAnKSBhdXRvO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cblxuXHQvLyBMb29wIHRocm91Z2ggYWxsIGRlZmluZWQgY29sdW1uc1xuXHRAZWFjaCAkY291bnQsICRicmVha3BvaW50IGluICRvLXBhcnRuZXJzLWNvbHVtbnMge1xuXHRcdCRpOiBpbmRleCgkby1wYXJ0bmVycy1jb2x1bW5zLCAoJGNvdW50ICRicmVha3BvaW50KSk7XG5cblx0XHRAaW5jbHVkZSBtcShtYXAtZ2V0KCRvLXBhcnRuZXJzLWNvbHVtbnMsICRjb3VudCkpIHtcblx0XHRcdEBpZigkaSA9PSAxKSB7XG5cdFx0XHRcdC8vIE9ubHkgc2V0IHRoZXNlIHZhbHVlcyBmb3IgdGhlIGZpcnN0IG1lZGlhIHF1ZXJ5LCBubyBuZWVkIHRvIHNldCB0aGVtIGV2ZXJ5IHRpbWVcblx0XHRcdFx0ZmxleDogbm9uZTtcblx0XHRcdFx0bWFyZ2luOiBtYXAtZ2V0KCRvLXBhcnRuZXJzLCAnZ2FwJyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIGluIGNhc2Ugb2YgYSBidWcgaW4gSUUgd2UgbmVlZCB0byBzcGVjaWZ5IGZsZXgtYmFzaXMgbG9uZ2hhbmQgcHJvcGVydHk6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy04XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGNvdW50KX0gLSAoI3ttYXAtZ2V0KCRvLXBhcnRuZXJzLCAnZ2FwJyl9ICogMikpO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLXBhcnRuZXJzX19sb2dvIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0aGVpZ2h0OiAxMDAlO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjc1O1xuXHR9XG59XG5cblxuLm8tcGFydG5lcnNfX2ZpZ3VyZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbn1cblxuXG4uby1wYXJ0bmVyc19faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHdpZHRoOiAxMDAlO1xuXHRvYmplY3QtZml0OiBjb250YWluO1xufSIsIi5vLXF1b3RlIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tcXVvdGVfX2JvZHkge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW4oc3BhY2UoMykpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDUpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSk7XG5cdH1cbn1cblxuXG4uby1xdW90ZV9fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSg0KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHR3aWR0aDogY29sdW1uKDQpO1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oMSk7XG5cdH1cbn1cblxuXG4uby1xdW90ZV9faW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG5cbi5vLXF1b3RlX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0cXVvdGVzOiAnXFwyMDFjJyAnXFwyMDFkJztcblxuXHQmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG5cdCY6OmFmdGVyICB7IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG59XG5cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICctICc7XG5cdH1cbn1cblxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59IiwiJG8tdGVzdGltb25pYWxzLWdhcDogXHRcdFx0c3BhY2UoNik7XG4kby10ZXN0aW1vbmlhbHMtZXh0LXBhZDpcdFx0c3BhY2UoNSk7XG4kby10ZXN0aW1vbmlhbHMtaW50LXBhZDpcdFx0c3BhY2UoMyk7XG5cblxuLm8tdGVzdGltb25pYWxzIHtcblxufVxuXG5cbi5vLXRlc3RpbW9uaWFsc19fbWF0cml4IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IGhhbHZlKCRvLXRlc3RpbW9uaWFscy1nYXApICogLTE7XG59XG5cblxuLm8tdGVzdGltb25pYWxzX19pdGVtIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0ZmxleDogMCAxIDEwMCU7XG5cdG1hcmdpbjogaGFsdmUoJG8tdGVzdGltb25pYWxzLWdhcCk7XG5cdHBhZGRpbmctdG9wOiAkby10ZXN0aW1vbmlhbHMtZXh0LXBhZDtcblx0cGFkZGluZy1ib3R0b206ICRvLXRlc3RpbW9uaWFscy1leHQtcGFkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJveC1zaGFkb3c6IDAgMTIuNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjAzNSksXG5cdFx0XHRcdDAgMTAwcHggODBweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAjeyRvLXRlc3RpbW9uaWFscy1nYXB9KTtcblx0fVxufVxuXG5cbi5vLXRlc3RpbW9uaWFsc19fYm9keSB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdG1hcmdpbi10b3A6IDA7XG5cdHBhZGRpbmctcmlnaHQ6ICRvLXRlc3RpbW9uaWFscy1leHQtcGFkO1xufVxuXG5cbi5vLXRlc3RpbW9uaWFsc19fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IDI1JTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdG1hcmdpbi1sZWZ0OiAkby10ZXN0aW1vbmlhbHMtZXh0LXBhZDtcbn1cblxuXG4uby10ZXN0aW1vbmlhbHNfX2NvbnRlbnQge1xuXHRmbGV4LWdyb3c6IDk5OTk7XG5cdGZsZXgtYmFzaXM6IDEyZW07XG5cdG1hcmdpbi1sZWZ0OiAkby10ZXN0aW1vbmlhbHMtaW50LXBhZDtcbn1cblxuXG4uby10ZXN0aW1vbmlhbHNfX2F1dGhvciB7XG5cdG1hcmdpbi10b3A6ICRvLXRlc3RpbW9uaWFscy1pbnQtcGFkO1xufSIsIiRvLWZvb3Rlci1icC0xOiAxMTcwO1xuXG4uby1zdWJmb290ZXIge1xuXHRAaW5jbHVkZSB6KHotc3ViZm9vdGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAxMDApO1xuXHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCAzMDApO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoMSk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSgxKTtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAkby1mb290ZXItYnAtMSkge1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjZSgzKTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0fVxufVxuXG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcblx0bWFyZ2luOiAwIGF1dG87XG5cblx0QGluY2x1ZGUgbXEoJG8tZm9vdGVyLWJwLTEpIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDQpO1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW46IHNwYWNlKDEpIGF1dG8gc3BhY2UoMik7XG5cblx0QGluY2x1ZGUgbXEoJG8tZm9vdGVyLWJwLTEpIHtcblx0XHRtYXJnaW46IDAgMCAwIGF1dG87XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRvLWZvb3Rlci1icC0xKSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX2l0ZW0ge1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDQpO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRvLWZvb3Rlci1icC0xKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgyKTtcblx0XHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0ICAgIGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDIpO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHByaW1hcnksIDMwMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgMzAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX190cmFkZW1hcmsge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMSk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJG8tZm9vdGVyLWJwLTEpIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoMik7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHBhbGV0dGUocHJpbWFyeSwgMzAwKTtcblx0fVxufSIsIiRvLXRhYnMtcGFkZGluZy1oOiBzcGFjZSg0KTtcblxuLypcbiAqIE9uIHNtYWxsIHNjcmVlbnMgdGhlIGNvbnRlbnQgaXMgc3RhY2tlZCwgd2l0aG91dCBjb250cm9sc1xuICogV2hlbiB0aGUgc2NyZWVuIGlzIHdpZGUgZW5vdWdoIHdlIGFkZCB0aGUgY29udHJvbHNcbiAqIGFuZCBzaG93IG9ubHkgdGhlIGNob3NlbiAnc2xpZGUgY29udGVudCdcbiAqL1xuXG5cbi5vLXRhYnMge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG5cbi5vLXRhYnNfX2NvbnRyb2xzIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG59XG5cblxuLy8gU2hhcmVkIHN0eWxpbmcgZm9yIHRhYi0gYW5kIHN0ZXAtYnV0dG9uc1xuLm8tdGFic19fYnV0dG9uIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKGJhc2UpOyAvLyBuZWVkZWQgZm9yIGJ1dHRvbiByZXNldFxuXHRib3JkZXI6IG5vbmU7IC8vIG5lZWRlZCBmb3IgYnV0dG9uIHJlc2V0XG5cdHBhZGRpbmc6IHNwYWNlKDIpICRvLXRhYnMtcGFkZGluZy1oO1xuXHRtaW4taGVpZ2h0OiBzcGFjZSg2KTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNzAwKTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMDApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAxMDAwKTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDIwMCk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpO1xuXG5cdFx0Jjpub3QoLmlzLWFjdGl2ZSk6bm90KDphY3RpdmUpIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCA1cHggM3B4IHJnYmEocGFsZXR0ZShmZWVkYmFjaywgZm9jdXMpLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLXRhYnNfX2NvbnRhaW5lciB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDYpICRvLXRhYnMtcGFkZGluZy1oO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMjAwKTtcblx0fVxufVxuXG5cbi5vLXRhYnNfX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdFx0JiArICYge1xuXHRcdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGdyaWQtcm93OiAxO1xuXHRcdGdyaWQtY29sdW1uOiAxO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ei1pbmRleDogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcblxuXHRcdCYuaXMtYWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHR9XG5cdH1cbn1cblxuXG4uby10YWJzX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMDApO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59IiwiLyogSW4gdGhlIFskby10ZWFtXSBtYXAgd2UgZGVmaW5lIHNvbWUgc2V0dGluZ3M6XG4gKlxuICogJ2NvbHVtbnMnLmtleSBcdD1cdG51bWJlciBvZiBpdGVtcyBpbiBhIHJvd1xuICogJ2NvbHVtbnMnLnZhbHVlIFx0PSBcdGJyZWFrcG9pbnQgc2l6ZSBmcm9tIHdoaWNoIHdlIHdhbnQgdGhhdCBudW1iZXIgb2YgaXRlbXNcbiAqL1xuXG5cbiRvLXRlYW06IChcblx0J2dhcCcgOiBzcGFjZSgyKSxcblx0J2NvbHVtbnMnOiAoXG5cdFx0MjogNTI0LFxuXHRcdDM6IDc4NCxcblx0XHQ0OiAxMTkwXG5cdCksXG4pO1xuXG4vLyBHZXQgdmFsdWVzIGZyb20gdGhlIG1hcCBhbmQgcGxhY2UgdGhlbSBpbiBhbiBlYXN5IHRvIGFjY2VzcyB2YXJpYWJsZVxuJG8tdGVhbS1jb2x1bW5zOiBcdFx0XHRcdG1hcC1nZXQoJG8tdGVhbSwgJ2NvbHVtbnMnKTsgLy8gZ2V0IHRoZSAnY29sdW1ucycgbGlzdFxuJG8tdGVhbS1jb2x1bW4ta2V5czogXHRcdFx0bWFwLWtleXMoJG8tdGVhbS1jb2x1bW5zKTsgLy8gZ2V0IGEgbGlzdCBvZiB0aGUga2V5cyBmcm9tIHRoZSAnY29sdW1ucydcbiRvLXRlYW0tY29sdW1uLXNtYWxsZXN0LWJwOiBcdG1hcC1nZXQoJG8tdGVhbS1jb2x1bW5zLCBudGgoJG8tdGVhbS1jb2x1bW4ta2V5cywgMSkpOyAvLyBnZXQgYnJlYWtwb2ludCB2YWx1ZSBvZiB0aGUgZmlyc3QgY29sdW1uXG5cblxuLm8tdGVhbSB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cblxuQGluY2x1ZGUgbXEoJG8tdGVhbS1jb2x1bW4tc21hbGxlc3QtYnApIHtcblx0Lm8tdGVhbV9fbWF0cml4IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRtYXJnaW46IG1hcC1nZXQoJG8tdGVhbSwgJ2dhcCcpICogLTE7XG5cdH1cbn1cblxuXG4uby10ZWFtX19pdGVtIHtcblx0bWF4LXdpZHRoOiAzMjBweDsgLy8gY29uc3RyYWluIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCBpbnNpZGVcblx0bWFyZ2luOiBtYXAtZ2V0KCRvLXRlYW0sICdnYXAnKSBhdXRvO1xuXG5cblx0Ly8gTG9vcCB0aHJvdWdoIGFsbCBkZWZpbmVkIGNvbHVtbnNcblx0QGVhY2ggJGNvdW50LCAkYnJlYWtwb2ludCBpbiAkby10ZWFtLWNvbHVtbnMge1xuXHRcdCRpOiBpbmRleCgkby10ZWFtLWNvbHVtbnMsICgkY291bnQgJGJyZWFrcG9pbnQpKTtcblxuXHRcdEBpbmNsdWRlIG1xKG1hcC1nZXQoJG8tdGVhbS1jb2x1bW5zLCAkY291bnQpKSB7XG5cdFx0XHRAaWYoJGkgPT0gMSkge1xuXHRcdFx0XHQvLyBPbmx5IHNldCB0aGVzZSB2YWx1ZXMgZm9yIHRoZSBmaXJzdCBtZWRpYSBxdWVyeSwgbm8gbmVlZCB0byBzZXQgdGhlbSBldmVyeSB0aW1lXG5cdFx0XHRcdGZsZXg6IG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogbWFwLWdldCgkby10ZWFtLCAnZ2FwJyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIGluIGNhc2Ugb2YgYSBidWcgaW4gSUUgd2UgbmVlZCB0byBzcGVjaWZ5IGZsZXgtYmFzaXMgbG9uZ2hhbmQgcHJvcGVydHk6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy04XG5cdFx0XHRmbGV4LWJhc2lzOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGNvdW50KX0gLSAoI3ttYXAtZ2V0KCRvLXRlYW0sICdnYXAnKX0gKiAyKSk7XG5cdFx0fVxuXHR9XG59IiwiLm8tdGV4dCB7XG5cdEBpbmNsdWRlIGludGVycG9sYXRlKG1hcmdpbi10b3AsIDMyMHB4LCAxMDAwcHgsIHNwYWNlKDYpLCBzcGFjZSg4KSk7XG5cdEBpbmNsdWRlIGludGVycG9sYXRlKG1hcmdpbi1ib3R0b20sIDMyMHB4LCAxMDAwcHgsIHNwYWNlKDYpLCBzcGFjZSg4KSk7XG5cdG1heC13aWR0aDogNzQ0cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGluZS1oZWlnaHQ6IDI7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG59IiwiJG8tdGV4dC1pbWFnZS1icDE6IDEwMDA7XG4kby10ZXh0LWltYWdlLXYtcGFkZGluZzogc3BhY2UoNik7XG4kby10ZXh0LWltYWdlLWJvdHRvbS1wYWRkaW5nLWxhcmdlOiBzcGFjZSgxOCk7XG5cbi5vLXRleHQtaW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAkby10ZXh0LWltYWdlLXYtcGFkZGluZyBhdXRvO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgje2NvbHVtblZ3KDEsMTQpLCAxZnJ9KSBtaW5tYXgoMCwgI3skc2l0ZS1tYXgtd2lkdGggKiAxcHh9KSBtaW5tYXgoI3tjb2x1bW5WdygxLDE0KSwgMWZyfSk7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDkpO1xuXG5cdEBpbmNsdWRlIG1xKCRvLXRleHQtaW1hZ2UtYnAxKSB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0byAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoI3tjb2x1bW5WdygxLDE0KSwgMWZyfSkgcmVwZWF0KDIsIG1pbm1heCgwLCAjeyRzaXRlLW1heC13aWR0aC8yICogMXB4fSkpIG1pbm1heCgje2NvbHVtblZ3KDEsMTQpLCAxZnJ9KTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB0cmFuc3BhcmVudCA1MCUsICN7cGFsZXR0ZShwcmltYXJ5LCA2MDApfSA1MCUpO1xuXHRcdHBhZGRpbmctYm90dG9tOiAkby10ZXh0LWltYWdlLWJvdHRvbS1wYWRkaW5nLWxhcmdlIC8gMjtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAyO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0aGVpZ2h0OiBzcGFjZSg2KTtcblx0XHR3aWR0aDogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMCk7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cblx0XHRAaW5jbHVkZSBtcSgkby10ZXh0LWltYWdlLWJwMSkge1xuXHRcdFx0aGVpZ2h0OiAkby10ZXh0LWltYWdlLWJvdHRvbS1wYWRkaW5nLWxhcmdlO1xuXHRcdFx0Ym90dG9tOiAkby10ZXh0LWltYWdlLWJvdHRvbS1wYWRkaW5nLWxhcmdlIC8gMjtcblx0XHR9O1xuXHR9XG59XG5cblxuLm8tdGV4dC1pbWFnZV9fdmlzdWFsIHtcblx0Z3JpZC1jb2x1bW46IDIgLyA0O1xuXHRncmlkLXJvdzogMSAvIDM7XG5cblx0QGluY2x1ZGUgbXEoJG8tdGV4dC1pbWFnZS1icDEpIHtcblx0XHRncmlkLWNvbHVtbjogMiAvIDU7XG5cdFx0Z3JpZC1yb3c6IDEgLyA0O1xuXHR9XG59XG5cblxuLm8tdGV4dC1pbWFnZV9fZGVzY3JpcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXdlaWdodChsaWdodCk7XG5cdGdyaWQtY29sdW1uOiAyIC8gMztcblx0Z3JpZC1yb3c6IDIgLyA0O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDE7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRwYWRkaW5nLXRvcDogJG8tdGV4dC1pbWFnZS12LXBhZGRpbmc7XG5cdHBhZGRpbmctYm90dG9tOiAkby10ZXh0LWltYWdlLXYtcGFkZGluZztcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cblx0QGluY2x1ZGUgbXEoJG8tdGV4dC1pbWFnZS1icDEpIHtcblx0XHRncmlkLWNvbHVtbjogMiAvIDM7XG5cdFx0Z3JpZC1yb3c6IDIgLyAzO1xuXHRcdHBhZGRpbmctdG9wOiBzcGFjZSg5KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoOSk7XG5cdFx0cGFkZGluZy1yaWdodDogc3BhY2UoMTMpO1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0ICAgIGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0ICAgIHRvcDogMDtcblx0ICAgIGJvdHRvbTogMDtcblx0ICAgIHJpZ2h0OiAwO1xuXHQgICAgbGVmdDogLTUwdnc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA1MDApO1xuXHR9XG59IiwiLm8tdmFjYW5jaWVzIHtcblx0bWFyZ2luOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uby12YWNhbmNpZXNfX2l0ZW0ge1xuXHRAaW5jbHVkZSBvd2woc3BhY2UoMikpO1xufVxuXG5cbi5vLXZhY2FuY2llc19fbGluayB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShtKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDQpO1xuXHRib3JkZXI6IDJweCBzb2xpZCBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDkwMCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMjAwKTtcblx0fVxufSIsIlxuLyogVmlkZW8gTW9kYWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuJG8tdmlkZW8tbW9kYWwtb3ZlcmxheS1jb2xvcjogcmdiYShwYWxldHRlKHByaW1hcnksIDYwMCksIDAuODUpO1xuXG5cbi8qIHNldCB0aGUgaWZyYW1lIGVsZW1lbnQgdG8gc3RyZXRjaCB0byBmaXQgaXRzIHBhcmVudCBlbGVtZW50ICovXG5pZnJhbWUjeW91dHViZS1pZnJhbWUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0ei1pbmRleDogMTtcblx0YmFja2dyb3VuZDogIzAwMDtcblx0Ym94LXNoYWRvdzogMCAycHggMTZweCByZ2JhKDAsMCwwLDAuNSk7XG59XG5cblxuLm8tdmlkZW8tbW9kYWwsXG4uby12aWRlby1tb2RhbF9fb3ZlcmxheSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiAzMDAwO1xufVxuXG5cbi5vLXZpZGVvLW1vZGFsIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRvcGFjaXR5OiAwO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MDAlLCAwJSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyBsaW5lYXIgMHM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cblxuLm8tdmlkZW8tbW9kYWxfX292ZXJsYXkge1xuXHR6LWluZGV4OiAwO1xuXHRiYWNrZ3JvdW5kOiAkby12aWRlby1tb2RhbC1vdmVybGF5LWNvbG9yOyAvKiBvdmVybGF5IGNvbG9yICovXG5cdG9wYWNpdHk6IDA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZS1vdXQgNTBtcztcbn1cblxuXG4uby12aWRlby1tb2RhbF9fY29udGVudCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiBhdXRvO1xuXHRyaWdodDogYXV0bztcblx0Ym90dG9tOiBhdXRvO1xuXHRsZWZ0OiBhdXRvO1xuXHR6LWluZGV4OiAxO1xuXHRtYXJnaW46IDAgYXV0bztcblx0b3ZlcmZsb3cteTogdmlzaWJsZTtcblx0YmFja2dyb3VuZDogIzAwMDAwMDtcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDEyZW0pO1xuXHRoZWlnaHQ6IDA7XG5cdHBhZGRpbmctdG9wOiBjYWxjKCgxMDAlIC0gMTJlbSkgKiAwLjU2MjUpOyAvKiAxNjo5IGNhbGMgKi9cblxuXHQvKiBTY2FsaW5nIHRvIGZpdCB3aXRoaW4gdGhlIGN1cnJlbnQgVmlld3BvcnQgc2l6ZTpcblx0ICAgV2hlbiB2aWV3cG9ydCBhc3BlY3QgcmF0aW8gaXMgZ3JlYXRlciB0aGFuIDE2Ojlcblx0ICAgd29yayBvZmYgdGhlIGhlaWdodCBpbnN0ZWFkIG9mIHRoZSB3aWR0aCBmb3IgY2FsYyAqL1xuXHRAbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDE2LzkpIHtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMGVtKTtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZoIC0gMTBlbSkgKiAxLjc3NzgpOyAvKiAxNjo5IGNhbGMgKi9cblx0fVxuXG5cdC8qIE1vYmlsZSBMYXlvdXQgVHdlYWtzIC0gc2lkZSBtYXJnaW5zIHJlZHVjZWQgKi9cblx0QG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDFlbSk7XG5cdFx0cGFkZGluZy10b3A6IGNhbGMoKDEwMCUgLSAxZW0pICogMC41NjI1KTsgLyogMTY6OSBjYWxjICovXG5cdH1cbn1cblxuXG4vKiBtb2RhbCBjbG9zZSBidXR0b24gKi9cbi5vLXZpZGVvLW1vZGFsX19jbG9zZSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogLTQwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0Y29sb3I6ICNmZmY7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKiBzaG93IHRoZSBtb2RhbDpcbiAgIGFkZCBjbGFzcyB0byB0aGUgYm9keSB0byByZXZlYWwgKHZpYSBqYXZhc2NyaXB0KSAqL1xuXG4uaXMtdmlzaWJsZS12aWRlby1tb2RhbCAge1xuXHQuby12aWRlby1tb2RhbCB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdH1cblx0Lm8tdmlkZW8tbW9kYWxfX292ZXJsYXkge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0Lm8tdmlkZW8tbW9kYWxfX2NvbnRlbnQge1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGVtcGxhdGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuIiwiLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cblxuXG4ucy10ZXh0IHtcblx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNjAwKTtcblxuXHRoMiwgaDMsIGg0IHtcblx0XHRAaW5jbHVkZSBmb250LXdlaWdodChsaWdodCk7XG5cdFx0Zm9udC1mYW1pbHk6ICRmb250LW1va29rbztcblx0XHRjb2xvcjogY3VycmVudENvbG9yO1xuXHR9XG5cblx0Ly8gRmlyc3QgdGhlIG93bCBzZWxlY3RvciBmb3Igc2V0dGluZyBhIGRlZmF1bHQgdmVydGljYWwgcmh5dGhtXG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdH1cblxuXHQvLyBNYWtlIHN1cmUgZmlyc3QgaXRlbSBpbiBzY29wZWQgdGV4dCBoYXMgbm8gbWFyZ2luIG9uIHRvcFxuXHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvLyBDbGFzc2VzIHRoYXQgc3RhcnQgd2l0aCAnYy0nIGFyZSBjb21wb25lbnRzIGFuZCBuZWVkIGEgbGl0dGxlIGV4dHJhIHNwYWNlXG5cdCYgPiAqICsgW2NsYXNzKj0nYy0nXSB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdH1cblxuXHQmID4gdWw6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS4xMjVlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRcdFx0XHRjb250ZW50OiBcIlxcMjAyMlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogLTRweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmID4gb2w6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0Y291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuOGVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxLjI3NWVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLnMtdGV4dC0tb24tZGFyayB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xufSIsIi8qKlxuICogQW5pbWF0aW9uIGNsYXNzZXMgZm9yIHRoZSBLQUwgcGFja2FnZS5cbiAqIEtBbCBzdGFuZHMgZm9yIEtvbW1hIEFuaW1hdGlvbiBMaWJyYXJ5XG4gKlxuICogVGhlcmUgYXJlIGRpZmZlcmVudCBhbmltYXRpb24gdHlwZXMgdGhhdCB3ZSBjYW4gZGVmaW5lLFxuICogdGhlIG5hbWUgb2Ygd2hpY2ggaXMgdXNlZCBhcyB0aGUgY2xhc3MsIHByZWZpeGVkIHdpdGggJ2thbC0nXG4gKlxuICogV2hlbiB0aGUgcGx1Z2luIGlzIGFjdGl2YXRlZCBhbiBlbGVtZW50IHRoYXQgd2lsbCBiZSBhbmltYXRlZFxuICogcmVjZWl2ZXMgYSBleHRyYSBzdGF0ZSBjbGFzc1xuICpcbiAqIFdoZW4gdGhlIGVsZW1lbnQgY29tZXMgaW50byB2aWV3IHRoZSBwbHVnaW4gc2hvdWxkIHN3YXBcbiAqIHRvIHRoZSBmaW5hbCBzdGF0ZVxuICpcbiAqL1xuXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cblxuLy8gQ2xhc3MgbmFtZXMgdG8gdXNlIGZvciBpbmRpY2F0aW5nIHBvc2l0aW9uIHN0YXRlXG4ka2FsLXN0YXJ0LXBvc2l0aW9uLWNsYXNzOiAnaXMta2FsLXN0YXJ0JyAhZGVmYXVsdDtcbiRrYWwtZW5kLXBvc2l0aW9uLWNsYXNzOiAnaXMta2FsLWVuZCcgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgdmFsdWVzIHRvIHVzZSBpbiBhbGwgYW5pbWF0aW9uc1xuJGthbC1hbmltYXRpb24tZHVyYXRpb246IDEyMDBtcyAhZGVmYXVsdDtcbiRrYWwtYW5pbWF0aW9uLWRlbGF5OiAwcyAhZGVmYXVsdDtcblxuXG4vLyBTbGlkZS11cCBhbmltYXRpb25zXG4ka2FsLXNsaWRlLW9mZnNldDogNjRweCAhZGVmYXVsdDtcbiRrYWwtc2xpZGUtdHJhbnNmb3JtLWR1cmF0aW9uOiAxMDAwbXMgIWRlZmF1bHQ7XG5cbi8vIFpvb20gYW5pbWF0aW9uXG4ka2FsLXpvb20taW4tc2NhbGU6IDAuOCAhZGVmYXVsdDtcbiRrYWwtem9vbS1vdXQtc2NhbGU6IDEuMSAhZGVmYXVsdDtcblxuXG5cblxuLyoqXG4qIEVhc2luZ3NcbiovXG5cbiRrYWwtZWFzaW5nczogKFxuXHRsaW5lYXI6IGxpbmVhcixcblx0ZWFzZTogZWFzZSxcblx0ZWFzZS1pbjogZWFzZS1pbixcblx0ZWFzZS1vdXQ6IGVhc2Utb3V0LFxuXHRlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG5cdGVhc2UtaW4tY3ViaWM6IGN1YmljLWJlemllciguNTUsIC4wNTUsIC42NzUsIC4xOSksXG5cdGVhc2Utb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjIxNSwgLjYxLCAuMzU1LCAxKSxcblx0ZWFzZS1pbi1vdXQtY3ViaWM6IGN1YmljLWJlemllciguNjQ1LCAuMDQ1LCAuMzU1LCAxKSxcblx0ZWFzZS1pbi1jaXJjOiBjdWJpYy1iZXppZXIoLjYsIC4wNCwgLjk4LCAuMzM1KSxcblx0ZWFzZS1vdXQtY2lyYzogY3ViaWMtYmV6aWVyKC4wNzUsIC44MiwgLjE2NSwgMSksXG5cdGVhc2UtaW4tb3V0LWNpcmM6IGN1YmljLWJlemllciguNzg1LCAuMTM1LCAuMTUsIC44NiksXG5cdGVhc2UtaW4tZXhwbzogY3ViaWMtYmV6aWVyKC45NSwgLjA1LCAuNzk1LCAuMDM1KSxcblx0ZWFzZS1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKSxcblx0ZWFzZS1pbi1vdXQtZXhwbzogY3ViaWMtYmV6aWVyKDEsIDAsIDAsIDEpLFxuXHRlYXNlLWluLXF1YWQ6IGN1YmljLWJlemllciguNTUsIC4wODUsIC42OCwgLjUzKSxcblx0ZWFzZS1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG5cdGVhc2UtaW4tb3V0LXF1YWQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpLFxuXHRlYXNlLWluLXF1YXJ0OiBjdWJpYy1iZXppZXIoLjg5NSwgLjAzLCAuNjg1LCAuMjIpLFxuXHRlYXNlLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKC4xNjUsIC44NCwgLjQ0LCAxKSxcblx0ZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguNzcsIDAsIC4xNzUsIDEpLFxuXHRlYXNlLWluLXF1aW50OiBjdWJpYy1iZXppZXIoLjc1NSwgLjA1LCAuODU1LCAuMDYpLFxuXHRlYXNlLW91dC1xdWludDogY3ViaWMtYmV6aWVyKC4yMywgMSwgLjMyLCAxKSxcblx0ZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllciguODYsIDAsIC4wNywgMSksXG5cdGVhc2UtaW4tc2luZTogY3ViaWMtYmV6aWVyKC40NywgMCwgLjc0NSwgLjcxNSksXG5cdGVhc2Utb3V0LXNpbmU6IGN1YmljLWJlemllciguMzksIC41NzUsIC41NjUsIDEpLFxuXHRlYXNlLWluLW91dC1zaW5lOiBjdWJpYy1iZXppZXIoLjQ0NSwgLjA1LCAuNTUsIC45NSksXG5cdGVhc2UtaW4tYmFjazogY3ViaWMtYmV6aWVyKC42LCAtLjI4LCAuNzM1LCAuMDQ1KSxcblx0ZWFzZS1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS4yNzUpLFxuXHRlYXNlLWluLW91dC1iYWNrOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KVxuKTtcblxuXG4vKipcbiAqIENvcmVcbiAqL1xuXG5bZGF0YS1rYWxdIHtcblx0Ji4jeyRrYWwtZW5kLXBvc2l0aW9uLWNsYXNzfSB7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0ta2FsLWR1cmF0aW9uLCAka2FsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogdmFyKC0ta2FsLWRlbGF5LCAka2FsLWFuaW1hdGlvbi1kZWxheSk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWthbC1lYXNpbmcsIG1hcC1nZXQoJGthbC1lYXNpbmdzLCAnZWFzZScpKTtcblx0fVxufVxuXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGthbC1lYXNpbmdzIHtcblx0W2RhdGEta2FsXVtkYXRhLWthbC1lYXNpbmc9JyN7JGtleX0nXSB7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZTtcblx0fVxufVxuXG5cblxuLyoqXG4gKiBQcmVzZXQgQW5pbWF0aW9uc1xuICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBGYWRlXG4gKi9cbltkYXRhLWthbHw9J2ZhZGUnXSB7XG5cdCYuI3ska2FsLXN0YXJ0LXBvc2l0aW9uLWNsYXNzfSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYuI3ska2FsLWVuZC1wb3NpdGlvbi1jbGFzc30ge1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLVxuICogU2xpZGVcbiAqL1xuW2RhdGEta2FsKj0nc2xpZGUnXSB7XG5cdCYuI3ska2FsLXN0YXJ0LXBvc2l0aW9uLWNsYXNzfSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYuI3ska2FsLWVuZC1wb3NpdGlvbi1jbGFzc30ge1xuXHRcdC0ta2FsLWR1cmF0aW9uOiAxMDAwbXM7XG5cdFx0Ly90cmFuc2l0aW9uLWR1cmF0aW9uOiAka2FsLWFuaW1hdGlvbi1kdXJhdGlvbiwgJGthbC1zbGlkZS10cmFuc2Zvcm0tZHVyYXRpb247XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzcsLjAxLDAsLjk4KTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAqIE1vdmVcbiAqL1xuW2RhdGEta2FsKj0nbW92ZSddIHtcblx0Ji4jeyRrYWwtZW5kLXBvc2l0aW9uLWNsYXNzfSB7XG5cdFx0Ly90cmFuc2l0aW9uLWR1cmF0aW9uOiAka2FsLWFuaW1hdGlvbi1kdXJhdGlvbiwgJGthbC1zbGlkZS10cmFuc2Zvcm0tZHVyYXRpb247XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMzcsLjAxLDAsLjk4KTtcblx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFNsaWRlIGFuZCBtb3ZlXG4gKi9cbltkYXRhLWthbCo9J3VwJ10ge1xuXHQmLiN7JGthbC1zdGFydC1wb3NpdGlvbi1jbGFzc30ge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1rYWwtc2xpZGUtb2Zmc2V0LCAka2FsLXNsaWRlLW9mZnNldCkpO1xuXHR9XG59XG5cbltkYXRhLWthbCo9J2Rvd24nXSB7XG5cdCYuI3ska2FsLXN0YXJ0LXBvc2l0aW9uLWNsYXNzfSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModmFyKC0ta2FsLXNsaWRlLW9mZnNldCwgI3ska2FsLXNsaWRlLW9mZnNldH0pICogLTEpKTtcblx0fVxufVxuXG5bZGF0YS1rYWwqPSdyaWdodCddIHtcblx0Ji4jeyRrYWwtc3RhcnQtcG9zaXRpb24tY2xhc3N9IHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyh2YXIoLS1rYWwtc2xpZGUtb2Zmc2V0LCAjeyRrYWwtc2xpZGUtb2Zmc2V0fSkgKiAtMSkpO1xuXHR9XG59XG5cbltkYXRhLWthbCo9J2xlZnQnXSB7XG5cdCYuI3ska2FsLXN0YXJ0LXBvc2l0aW9uLWNsYXNzfSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWthbC1zbGlkZS1vZmZzZXQsICRrYWwtc2xpZGUtb2Zmc2V0KSk7XG5cdH1cbn1cblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBab29tLWluXG4gKi9cbltkYXRhLWthbD0nem9vbS1pbiddIHsgLy8gRklYTUU6IEZpbmV0dW5lIHRoZSBhbmltYXRpb24gZm9yIG91ciBsaWtpbmdcblx0Ji4jeyRrYWwtc3RhcnQtcG9zaXRpb24tY2xhc3N9IHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoJGthbC16b29tLWluLXNjYWxlKTtcblx0fVxuXG5cdCYuI3ska2FsLWVuZC1wb3NpdGlvbi1jbGFzc30ge1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0fVxufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgQ29sb3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuXG5AZWFjaCAkbGV2ZWwsICRwYWxldHRlIGluICRwYWxldHRlcyB7XG5cdEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJHBhbGV0dGUge1xuXHRcdEBpZigkdHlwZSA9PSAnYmFzZScpe1xuXHRcdFx0LnUtY29sb3ItI3skbGV2ZWx9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRjb2xvcjogI3skY29sb3J9O1xuXHRcdFx0fVxuXHRcdFx0LnUtYmctI3skbGV2ZWx9LS0jeyR0eXBlfSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIudS1wbGFjZWhvbGRlci1pbWFnZSB7XG5cdGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50O1xufVxuXG4udS10ZXh0LWFsaWduLWNlbnRlciB7XG5cdHRleHQtYWxpZ246IGNlbnRlciFpbXBvcnRhbnQ7XG59XG5cbi51LWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4vKipcbiAqIEhlcmUgd2UgcHJpbnQgb3V0IGFsbCBvdXIgaGVscGVyIGNsYXNzZXMgZm9yIG91ciBkZWZpbmVkICRmb250LXdlaWdodHMgbWFwXG4gKiBPdXRwdXQgb2YgdGhlIGNsYXNzZXMgaW4gdGhlIHRoaXMgZm9ybTpcblxuICAgLnUtZnctcmVndWxhciB7fVxuICAgLnUtZnctc2VtaUJvbGQge31cbiAgIC4uLiBldGNcblxuICovXG5cbkBpZiB2YXJpYWJsZS1leGlzdHMoZm9udC13ZWlnaHRzKSB7XG5cdEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZm9udC13ZWlnaHRzIHtcblx0XHQudS1mdy0jeyRuYW1lfSB7XG5cdFx0XHRAaW5jbHVkZSBmb250LXdlaWdodCgkbmFtZSk7XG5cdFx0fVxuXHR9XG59IiwiLnUtdmlzdWFsbHktaGlkZGVuIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRib3JkZXI6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi51LWhpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxufVxuXG5AaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG5cdC51LWhpZGRlblxcQHMtZG93biB7XG5cdFx0ZGlzcGxheTogbm9uZSFpbXBvcnRhbnRcblx0fVxufVxuXG5AaW5jbHVkZSBtcShtKSB7XG5cdC51LWhpZGRlblxcQG0tdXAge1xuXHRcdGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEoJG1heDogbCkge1xuXHQudS1oaWRkZW5cXEBtLWRvd24ge1xuXHRcdGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobCkge1xuXHQudS1oaWRkZW5cXEBsLXVwIHtcblx0XHRkaXNwbGF5OiBub25lIWltcG9ydGFudFxuXHR9XG59XG5cbkBpbmNsdWRlIG1xKCRtYXg6ICRicC1tYXgpIHtcblx0LnUtaGlkZGVuXFxAbC1kb3duIHtcblx0XHRkaXNwbGF5OiBub25lIWltcG9ydGFudFxuXHR9XG59IiwiLypcbiogSWYgeW91IG5lZWQgdG8gbWFrZSBhIHF1aWNrIGZpeCwgeW91IGNhbiBkbyBpdCBoZXJlLlxuKiBMYXRlciB3aGVuIHlvdSBoYXZlIHRoZSB0aW1lLCB5b3UgY2FuIG1vdmUgdGhlIGZpeCBpbnRvIHRoZSBjb3JyZWN0IHBsYWNlIGluIHRoZSBzdHJ1Y3R1cmVcbiovXG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOb3RoaW5nIGhlcmUgeWV0LCBHb29kIGpvYiEhIiwiQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA4IHtcblx0Ly8gTWFyZ2luXG5cdC51LXNwYWNpbmctbSN7JGl9ICAgICAgeyBtYXJnaW46IFx0XHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW10I3skaX0gICAgIHsgbWFyZ2luLXRvcDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1yI3skaX0gICAgIHsgbWFyZ2luLXJpZ2h0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctbWIjeyRpfSAgICAgeyBtYXJnaW4tYm90dG9tOiBzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1sI3skaX0gICAgIHsgbWFyZ2luLWxlZnQ6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblxuXHQvLyBQYWRkaW5nXG5cdC51LXNwYWNpbmctcCN7JGl9ICAgICAgeyBwYWRkaW5nOiBcdFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wdCN7JGl9ICAgICB7IHBhZGRpbmctdG9wOiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcHIjeyRpfSAgICAgeyBwYWRkaW5nLXJpZ2h0OiBzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXBiI3skaX0gICAgIHsgcGFkZGluZy1ib3R0b206c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wbCN7JGl9ICAgICB7IHBhZGRpbmctbGVmdDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93X2dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHZnLWxpbmUtY29sb3I6IGhzbGEoMjI3LCA3MCwgNTAsIDAuMik7XG5cbi8vIERvIHNvbWUgY2FsY3VsYXRpb25zIGFuZCBwdXQgdGhlbSBpbiB2YXJpYWJsZXMgZm9yIHJldXNlXG4kdmctY29sdW1uLWNvdW50OiAkc2l0ZS1jb2x1bW5zIC0gMjtcbiR2Zy1jb2x1bW4td2lkdGg6IHBlcmNlbnRhZ2UoMSAvICR2Zy1jb2x1bW4tY291bnQpO1xuXG5cbi51LXZpc2libGUtZ3JpZCB7XG5cdEBpbmNsdWRlIHooei12aXNpYmxlLWdyaWQpO1xuXHRAaW5jbHVkZSBjb250YWluKCk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0cmlnaHQ6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG5cblxuLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcblx0aGVpZ2h0OiAxMDB2aDtcblx0YmFja2dyb3VuZDpcblx0XHRyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byByaWdodCxcblx0XHRcdFx0JHZnLWxpbmUtY29sb3IsXG5cdFx0XHRcdCR2Zy1saW5lLWNvbG9yIDFweCxcblx0XHRcdFx0dHJhbnNwYXJlbnQgMXB4LFxuXHRcdFx0XHR0cmFuc3BhcmVudCAkdmctY29sdW1uLXdpZHRoXG5cdFx0KSxcblx0XHRyZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KFxuXHRcdFx0XHR0byBsZWZ0LFxuXHRcdFx0XHQkdmctbGluZS1jb2xvcixcblx0XHRcdFx0JHZnLWxpbmUtY29sb3IgMXB4LFxuXHRcdFx0XHR0cmFuc3BhcmVudCAxcHgsXG5cdFx0XHRcdHRyYW5zcGFyZW50IDEwMHZ3XG5cdFx0KTtcblxuXG59XG4iXSwic291cmNlUm9vdCI6IiJ9*/