/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
    font-family: sans-serif;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Remove default margin.
 */
body {
    margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
    display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
    outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
    border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
    font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
    font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
    background: #ff0;
    color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
    font-size: 80%;
}

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

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
    border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
    overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
    margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
    box-sizing: content-box;
    height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
    overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
    color: inherit;
    /* 1 */
    font: inherit;
    /* 2 */
    margin: 0;
    /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
    overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
    cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
    line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    /* 2 */
    box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
    border: 0;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
    overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
    font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

td,
th {
    padding: 0;
}

/* source-sans-pro-300 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/source-sans-pro/source-sans-pro-v12-latin-300.eot'); /* IE9 Compat Modes */
    src: local('Source Sans Pro Light'), local('SourceSansPro-Light'),
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-300.woff') format('woff'), /* Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-300.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-regular - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/source-sans-pro/source-sans-pro-v12-latin-regular.eot'); /* IE9 Compat Modes */
    src: local('Source Sans Pro Regular'), local('SourceSansPro-Regular'),
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-regular.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-600 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/source-sans-pro/source-sans-pro-v12-latin-600.eot'); /* IE9 Compat Modes */
    src: local('Source Sans Pro SemiBold'), local('SourceSansPro-SemiBold'),
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-600.woff') format('woff'), /* Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-600.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-700 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/source-sans-pro/source-sans-pro-v12-latin-700.eot'); /* IE9 Compat Modes */
    src: local('Source Sans Pro Bold'), local('SourceSansPro-Bold'),
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-700.woff') format('woff'), /* Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-700.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-900 - latin */
@font-face {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    src: url('../fonts/source-sans-pro/source-sans-pro-v12-latin-900.eot'); /* IE9 Compat Modes */
    src: local('Source Sans Pro Black'), local('SourceSansPro-Black'),
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-900.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-900.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-900.woff') format('woff'), /* Modern Browsers */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-900.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/source-sans-pro/source-sans-pro-v12-latin-900.svg#SourceSansPro') format('svg'); /* Legacy iOS */
}

@font-face {
    font-family: 'icomoon';
    src: url("../icomoon/icomoon.eot?v8d4vw");
    src: url("../icomoon/icomoon.eot?v8d4vw#iefix") format("embedded-opentype"), url("../icomoon/icomoon.ttf?v8d4vw") format("truetype"), url("../icomoon/icomoon.woff?v8d4vw") format("woff"), url("../icomoon/icomoon.svg?v8d4vw#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
    /* use !important to prevent issues with browser extensions that change fonts */
    font-family: 'icomoon' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-map-flat:before {
    content: "\e915";
}

.icon-bar_chart:before {
    content: "\e901";
}

.icon-g20:before {
    content: "\e902";
}

.icon-income:before {
    content: "\e903";
}

.icon-region:before {
    content: "\e904";
}

.icon-download:before {
    content: "\e905";
}

.icon-info:before {
    content: "\e906";
}

.icon-mail_notify:before {
    content: "\e907";
}

.icon-close:before {
    content: "\e908";
}

.icon-search:before {
    content: "\e909";
}

.icon-mail_share:before {
    content: "\e90a";
}

.icon-menu_share_fb:before {
    content: "\e90b";
}

.icon-menu_share_twitter:before {
    content: "\e90c";
}

.icon-hamburger:before {
    content: "\e90d";
}

.icon-share_facebook_1:before {
    content: "\e90e";
}

.icon-share_twitter_1:before {
    content: "\e90f";
}

.icon-share:before {
    content: "\e910";
}

.icon-switch_world_view:before {
    content: "\e911";
}

.icon-world_globe:before {
    content: "\e912";
}

.icon-plus:before {
    content: "\e914";
}

.icon-arrow-down:before {
    content: "\e913";
}

.icon-minus:before {
    content: "\e900";
}

html {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    color: #180908;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 400;
    font-size: 62.5%;
    height: 100%;
}

body {
    background-color: #ffffff;
    color: #180908;
    font-size: 1.5em;
    overflow: hidden;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 auto;
    height: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 300;
    margin-bottom: 2rem;
    margin-top: 0;
}

h1 {
    font-size: 5.0rem;
    line-height: 1.2;
    letter-spacing: -.05rem;
}

h2 {
    font-size: 4.0rem;
    line-height: 1;
    letter-spacing: 0.25px;
}

h3 {
    font-size: 3.6rem;
    line-height: 1.3;
    letter-spacing: -.05rem;
}

h4 {
    font-size: 3.0rem;
    line-height: 1.35;
    letter-spacing: -.08rem;
}

h5 {
    font-size: 2.4rem;
    line-height: 1.5;
    letter-spacing: -.05rem;
}

h6 {
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 0;
}

ul {
    list-style: none;
}

a {
    text-decoration: none;
}

#pageLoader {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #33140e;
    z-index: 5;
}

#pageLoader_vid {
    left: 50%;
    position: absolute;
    top: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
}

#ndc {
    width: 100%;
    height: 100%;
    background: #180908;
    z-index: 4;
}

#ndc_supportOverlay {
    display: none;
    position: absolute;
    background: #180908;
    width: 100%;
    height: 100%;
    z-index: 10;
}

#ndc_supportOverlay h2 {
    text-align: center;
    font-size: 24px;
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    color: #978a7e;
    top: 48%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: auto;
}

#ndc_map_aboutOverlay,
#ndc_map_openDataOverlay {
    background: #ffffff;
    position: absolute;
    text-align: center;
    top: 0;
    z-index: 5;
    height: 100%;
    left: -4000px;
    opacity: 0;
    width: 100%;
    overflow: auto;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
}

#ndc_map_aboutOverlay_inner,
#ndc_map_openDataOverlay_inner {
    display: inline-block;
    margin: 0 auto;
    width: 80%;
    padding: 8% 0 5% 0;
}

#ndc_map_aboutOverlay_inner_container_header,
#ndc_map_openDataOverlay_inner_container_header {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 27px;
    margin: -20px 0 50px 0;
    text-align: center;
}

#ndc_map_aboutOverlay_inner_container_header span,
#ndc_map_openDataOverlay_inner_container_header span {
    color: #f2774f;
    text-transform: uppercase;
}

#ndc_map_aboutOverlay_inner_closing,
#ndc_map_openDataOverlay_inner_closing {
    position: fixed;
    right: -4000px;
    top: 40px;
    cursor: pointer;
    transition: 0.15s ease-in-out;
}

#ndc_map_aboutOverlay_inner_closing:hover,
#ndc_map_openDataOverlay_inner_closing:hover {
    color: #f2774f;
}

.aboutContent,
.openDataContent {
    font-family: "Source Sans Pro", sans-serif;
    color: #978a7e;
    font-size: 15px;
    line-height: 1.3;
    margin: 0;
    position: relative;
    text-align: left;
}

.aboutContent span,
.openDataContent span {
    color: #f2774f;
    font-style: italic;
}

.aboutContent .dmdrnLink,
.openDataContent .dmdrnLink {
    color: #aba6a6;
    transition: 0.15s ease-in-out;
}

.aboutContent .dmdrnLink:hover,
.openDataContent .dmdrnLink:hover {
    color: #f2774f;
    transition: 0.25s ease-in-out;
}

.about-headline,
.opendata-headline {
    font-family: 'Source Sans Pro';
    font-weight: 900 !important;
    color: #675d54 !important;
    font-style: normal !important;
}

#ndc_map_tutorialOverlay {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 6;
    left: -4000px;
    opacity: 0;
    background-color: #110705;
    background-image: url(../img/tutorial_overview.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: contain;
    cursor: default;
}

#ndc_map_tutorialOverlay_closing {
    position: fixed;
    right: -4000px;
    top: 40px;
    cursor: pointer;
    transition: 0.15s ease-in-out;
    color: #ffffff;
}

#ndc_map_tutorialOverlay_closing:hover {
    color: #f2774f;
}

#ndc_map_tutorialOverlay_center {
    top: calc(50% - 45px);
    position: relative;
}

#ndc_map_tutorialOverlay_headline {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 14px;
    text-align: center;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    margin: 0 0 2px 0;
}

#ndc_map_tutorialOverlay_subline {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    color: #f2774f;
    font-size: 30px;
    text-transform: uppercase;
    text-align: center;
    margin: 0 0 4px 0;
}

#ndc_map_tutorialOverlay_btnWrapper {
    width: 90px;
    height: 30px;
    background: #ffffff;
    border-radius: 20px;
    margin-left: calc(50% - 45px);
    cursor: pointer;
    transition: 0.15s ease-in-out;
}

#ndc_map_tutorialOverlay_btnWrapper_text {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 12px;
    color: #f2774f;
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    padding: 6px 0 0 0;
}

#ndc_map_tutorialOverlay_btnWrapper:hover {
    background: #f2774f;
}

#ndc_map_tutorialOverlay_btnWrapper:hover #ndc_map_tutorialOverlay_btnWrapper_text {
    color: #ffffff;
}

#ndc_btnUI {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 4;
}

#ndc_btnUI ul {
    list-style: none;
    margin: 0 0 0 -10px;
    padding: 0;
}

#ndc_btnUI li {
    cursor: pointer;
}

#ndc_btnUI li:hover ul li {
    display: block;
    animation: flipIn 0.4s ease-in-out forwards;
}

.mainBtnStyle {
    background: #f2774f;
    border-radius: 50%;
    height: 34px;
    width: 34px;
    padding-top: 14px;
    padding-left: 14px;
    font-size: 20px;
    position: relative;
    z-index: 6;
}

.mainBtnStyle:before {
    transition: 0.35s ease-in-out;
    color: white;
}

.mainBtnStyle:hover {
    background: white;
}

.mainBtnStyle:hover:before {
    color: #f2774f;
}

#viewBtn {
    float: left;
}

#viewBtn li {
    perspective: 600px;
    display: none;
}

#graphBtn {
    float: left;
    margin-left: 20px;
    font-size: 18px;
    padding-left: 16px;
}

#shareBtn {
    float: left;
    margin-left: 20px;
    height: 32px;
    padding-top: 16px;
    font-size: 18px;
}

#shareBtn li {
    perspective: 600px;
    display: none;
}

#viewBtn_income {
    color: rgba(255, 255, 255, 0.35);
}

#viewBtn_region {
    color: rgba(255, 255, 255, 0.35);
    font-size: 28px !important;
    height: 34px;
    width: 36px;
    padding-top: 10px;
    padding-left: 8px;
}

.subBtnStyle {
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    background: #180908;
    color: rgba(255, 255, 255, 0.35);
    height: 32px;
    width: 32px;
    padding-top: 12px;
    padding-left: 12px;
    font-size: 20px;
    margin: 10px 0 0 -4px;
    position: relative;
    z-index: 4;
}

.subBtnStyle a {
    color: rgba(255, 255, 255, 0.35);
    transition: 0.25s ease-in-out;
}

.subBtnStyle:before {
    transition: 0.25s ease-in-out;
}

.subBtnStyle:hover:before {
    color: white;
}

.subBtnStyle:hover a {
    color: white;
}

.activeBtnStyle {
    border-color: #f2774f;
}

.activeBtnStyle:before {
    color: white;
}

.activeBtnStyle a {
    color: white;
}

/**
 * Used for disable sharing btns
 */
.inactiveMainBtnStyle {
    background: #9d9c9c;
    color: grey;
}

.inactiveMainBtnStyle:before {
    color: grey;
}

.inactiveMainBtnStyle:hover {
    background: #9d9c9c;
    color: grey;
}

.inactiveMainBtnStyle:hover:before {
    color: grey;
}

.inactiveBtnStyle .subBtnStyle {
    background: #9d9c9c;
    color: grey;
    cursor: default;
}

.inactiveBtnStyle .subBtnStyle:hover {
    background: #9d9c9c;
    color: grey;
}

.inactiveBtnStyle .subBtnStyle:hover:before {
    color: grey;
}

.inactiveBtnStyle .subBtnStyle:hover ul {
    display: none;
}

#btnUI_inactiveTooltip {
    position: absolute;
    height: 30px;
    padding: 20px;
    padding: 10px 20px 4px 20px;
    background: white;
    z-index: 6;
    display: none;
    opacity: 0;
}

#btnUI_inactiveTooltip p {
    margin: 0;
    padding: 0;
}

@keyframes flipIn {
    0% {
        transform: translateY(0px);
    }
    100% {
        transform: translateY(14px);
    }
}

.visGlobeStyle {
    font-size: 23px !important;
    padding-top: 13px;
    height: 35px;
    padding-left: 13px !important;
    width: 37px;
}

#ndc_map_burgerIcon {
    font-size: 18px;
    color: #ffffff;
    top: 11px;
    left: 20px;
    position: absolute;
    cursor: pointer;
    transition: 0.15s ease-in-out;
    border-radius: 50%;
    background: #f2774f;
    height: 34px;
    width: 34px;
    padding-top: 14px;
    padding-left: 14px;
    font-size: 20px;
    margin-top: 10px;
    z-index: 4;
}

#ndc_map_burgerIcon:hover {
    background: #ffffff;
}

#ndc_map_burgerIcon:hover:before {
    color: #f2774f;
}

#nav_switch_tooltip {
    position: absolute;
    z-index: 5;
    width: 300px;
    left: 315px;
    top: 80px;
    padding: 20px;
    font-size: 14px;
    line-height: 1.3;
    background: #ffffff;
    margin: 0;
    display: none;
    opacity: 0;
}

#nav_switch_tooltip:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #ffffff;
    position: absolute;
    left: -18px;
    top: calc(50% - 6px);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.hideSwitchToltip {
    display: none;
    opacity: 0;
    left: 315px;
}

#navWrapper {
    max-width: 300px;
    height: 100%;
    background: #180908;
    position: absolute;
    top: 0;
    left: 0;
    -ms-transform: translateX(-310px);
    transform: translateX(-310px);
    cursor: auto;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 5;
}

#navBarTop {
    border-bottom: 2px solid #f2774f;
    padding: 40px 0 40px 0;
    cursor: default;
}

#navBarTop_closingWrapper {
    height: 40px;
    margin: -4px 0 0 20px;
    transition: 0.15s ease-in-out;
    display: inline-block;
    cursor: pointer;
    color: #ffffff;
    float: left;
}

#navBarTop_closingWrapper_icon {
    font-size: 10px;
    background: #f2774f;
    border-radius: 50%;
    height: 18px;
    width: 18px;
    padding: 8px 0 0 8px;
    transition: 0.15s ease-in-out;
}

#navBarTop_closingWrapper:hover {
    color: #f2774f;
}

#navBarTop_closingWrapper:hover #navBarTop_closingWrapper_icon {
    background: #ffffff;
}

#navBarTop_img {
    font-size: 60px;
    width: 70px;
    float: left;
    display: block;
    margin: -19px 0 0 20px;
    color: rgba(255, 255, 255, 0.35);
}

#navBarTop_headline p {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: 1px;
    margin: 0;
    text-transform: uppercase;
    color: #ffffff;
}

#navBarTop_headline p span {
    color: #f2774f;
}

#navBarCategory {
    display: inline-block;
    width: 100%;
    padding: 40px 0px 10px 0px;
}

#navBarCategory_text {
    font-family: "Source Sans Pro", sans-serif;
    margin: 0;
    font-size: 14px;
    float: left;
    margin-left: 20px !important;
    color: rgba(255, 255, 255, 0.8);
    cursor: default;
}

#navBarCategory_switch {
    float: right;
    font-size: 12px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 20px;
    width: 94px;
    text-transform: uppercase;
    margin: 1px 20px 0 0;
    cursor: pointer;
}

#navBarCategory_switch_indc {
    font-family: "Source Sans Pro", sans-serif;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    float: left;
    border-radius: 20px;
    width: 40px;
    margin: 2px 0 2px 2px;
    padding: 0 2px 0 2px;
    transition: 0.15s ease-in-out;
}

#navBarCategory_switch_indc:hover {
    background: #f2774f;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
}

#navBarCategory_switch_ndc {
    font-family: "Source Sans Pro", sans-serif;
    color: rgba(255, 255, 255, 0.8);
    text-align: center;
    float: right;
    border-radius: 20px;
    width: 40px;
    margin: 2px 2px 2px 0;
    padding: 0 2px 0 2px;
    transition: 0.15s ease-in-out;
}

#navBarCategory_switch_ndc:hover {
    background: #f2774f;
    font-weight: 600;
}

nav {
    width: 100%;
    display: inline-block;
}

nav #mainMenuWrapper {
    padding: 0;
    margin: 0;
    background-image: linear-gradient(#331211, #180908);
}

nav #mainMenuWrapper .mainMenuEle {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: #ffffff;
    padding: 20px 0 20px 20px;
    cursor: pointer;
    text-transform: uppercase;
    transition: 0.25s ease-in-out;
}

nav #mainMenuWrapper .mainMenuEle:nth-child(9) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

nav #mainMenuWrapper .mainMenuEle span {
    font-size: 14px;
    float: right;
    margin: 2px 20px 0 0;
    transition: 0.15s ease-in-out;
}

nav #mainMenuWrapper .mainMenuEle:hover {
    color: #f2774f;
}

nav #mainMenuWrapper .mainMenuEle:hover span {
    margin-top: 8px;
    color: #f2774f;
}

nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_a:hover, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_b:hover, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_c:hover, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_d:hover, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_e:hover {
    color: #ffffff;
}

nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_a:hover span, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_b:hover span, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_c:hover span, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_d:hover span, nav #mainMenuWrapper .mainMenuEle.highlightSubMenu_e:hover span {
    color: #ffffff;
}

nav .subMenuEle {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    letter-spacing: 1px;
    font-size: 13px;
    color: #ffffff;
    padding: 0 0 0 20px;
    cursor: pointer;
    transition: 0.25s ease-in-out;
    position: relative;
}

nav .subMenuEle_wrapper_a, nav .subMenuEle_wrapper_b, nav .subMenuEle_wrapper_c, nav .subMenuEle_wrapper_d, nav .subMenuEle_wrapper_e {
    padding: 0;
    margin-left: -20px;
    display: none;
    opacity: 0;
}

nav .subMenuEle_wrapper_a_item, nav .subMenuEle_wrapper_b_item, nav .subMenuEle_wrapper_c_item, nav .subMenuEle_wrapper_d_item, nav .subMenuEle_wrapper_e_item {
    letter-spacing: 0.6px;
    padding: 20px 20px 20px 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: 0.25s ease-in-out;
}

nav .subMenuEle_wrapper_a_item:last-child, nav .subMenuEle_wrapper_b_item:last-child, nav .subMenuEle_wrapper_c_item:last-child, nav .subMenuEle_wrapper_d_item:last-child, nav .subMenuEle_wrapper_e_item:last-child {
    border-bottom: none;
}

nav .subMenuEle_wrapper_a {
    background: #f5997b;
}

nav .subMenuEle_wrapper_a_item:hover {
    background: rgba(255, 255, 255, 0.25);
}

nav .subMenuEle_wrapper_b {
    background: #f16781;
}

nav .subMenuEle_wrapper_b_item:hover {
    background: rgba(255, 255, 255, 0.25);
}

nav .subMenuEle_wrapper_c {
    background: #8e658b;
}

nav .subMenuEle_wrapper_c_item:hover {
    background: rgba(255, 255, 255, 0.25);
}

nav .subMenuEle_wrapper_d {
    background: #7f76c6;
}

nav .subMenuEle_wrapper_d_item:hover {
    background: rgba(255, 255, 255, 0.25);
}

nav .subMenuEle_wrapper_e {
    background: #978a7e;
}

nav .subMenuEle_wrapper_e_item:hover {
    background: rgba(255, 255, 255, 0.25);
}

#navBarSearch {
    height: 34px;
    padding: 20px 0 0 0;
    display: inherit;
}

#navBarSearch input {
    float: left;
    font-family: "Source Sans Pro", sans-serif;
    cursor: pointer;
    text-align: left;
    background: none;
}

#navBarSearch .searchIcon {
    float: left;
    margin: 3px 10px 0 0;
    transition: 0.25s ease-in-out;
}

#navBarSearch:hover {
    color: #f2774f;
}

#navBarSearch:hover .easy-autocomplete textarea::-webkit-input-placeholder, #navBarSearch:hover .easy-autocomplete textarea {
    color: #f2774f;
}

#navBarSearch:hover .easy-autocomplete textarea:-moz-placeholder, #navBarSearch:hover .easy-autocomplete textarea {
    transition: 0.25s ease-in-out;
    color: #f2774f;
}

#navBarSearch:hover .easy-autocomplete textarea::-moz-placeholder, #navBarSearch:hover .easy-autocomplete textarea {
    transition: 0.25s ease-in-out;
    color: #f2774f;
}

#navBarSearch:hover .easy-autocomplete textarea:-ms-placeholder, #navBarSearch:hover .easy-autocomplete textarea {
    transition: 0.25s ease-in-out;
    color: #f2774f;
}

#navBarSearch p span {
    margin-left: 12px;
}

/**
 * Styles for search plugin (easy) in nav bar
 */
#navBarSearch {
    /**
       * End of styles for search plugin
       */
}

#navBarSearch textarea {
    outline: none;
    resize: none;
    overflow: hidden;
    background: none;
    border: none;
    width: 226px;
    max-height: 30px;
    cursor: pointer;
    line-height: 1.3;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.35);
    text-transform: uppercase;
    transition: 0.25s ease-in-out;
}

#navBarSearch textarea::-webkit-input-placeholder {
    transition: 0.25s ease-in-out;
    color: rgba(255, 255, 255, 0.35);
}

#navBarSearch textarea:-moz-input-placeholder {
    transition: 0.25s ease-in-out;
    color: rgba(255, 255, 255, 0.35);
}

#navBarSearch textarea::-moz-input-placeholder {
    transition: 0.25s ease-in-out;
    color: rgba(255, 255, 255, 0.35);
}

#navBarSearch textarea:-ms-input-placeholder {
    transition: 0.25s ease-in-out;
    color: rgba(255, 255, 255, 0.35);
}

#navBarSearch .easy-autocomplete {
    position: relative;
}

#navBarSearch .easy-autocomplete:after {
    display: none;
}

#navBarSearch .easy-autocomplete-container ul li,
#navBarSearch .easy-autocomplete-container ul .eac-category {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: block;
    font-size: 14px;
    font-weight: normal;
    background-color: #180908;
    width: 304px;
    padding: 0;
    margin: 0;
    transition: 0.25s ease-in-out;
    color: #ffffff;
    font-family: "Source Sans Pro", sans-serif;
}

#navBarSearch .easy-autocomplete-container ul li:last-child {
    border: none;
}

#navBarSearch .easy-autocomplete-container ul li.selected {
    background: none repeat scroll 0 0 none;
    cursor: pointer;
    transition: 0s ease-in-out;
}

#navBarSearch .easy-autocomplete-container {
    top: -5px;
    background: #180908;
    position: relative;
    display: inline-block;
}

#navBarSearch .easy-autocomplete-container ul {
    display: none;
    margin-top: 0;
    margin-bottom: 8px;
    padding-bottom: 0;
    padding-left: 0;
    position: relative;
    overflow: hidden !important;
    max-height: 180px;
    overflow: auto;
}

#navBarSearch .eac-item {
    color: rgba(255, 255, 255, 0.35);
    font-size: 12px;
    text-align: left;
    line-height: 1.3;
    padding: 24px 20px 16px 40px;
    height: 20px;
    transition: 0.15s ease-in-out;
}

#navBarSearch .eac-item:hover {
    color: #f2774f;
}

#navBarAbout,
#navBarOpenData,
#navBarTutorial,
#navBarAccessibility {
    display: table;
    position: relative;
    cursor: pointer;
    padding-bottom: 14px;
}

#navBarAbout p,
#navBarOpenData p,
#navBarTutorial p,
#navBarAccessibility a {
    transition: 0.15s ease-in-out;
}

#navBarAbout p:hover,
#navBarOpenData p:hover,
#navBarTutorial p:hover,
#navBarAccessibility a:hover {
    color: #f2774f;
}

#navBarImprint {
    display: inline-block;
    cursor: pointer;
}

#navBarImprint a {
    transition: 0.15s ease-in-out;
}

#navBarImprint a:hover {
    color: #f2774f;
}

.navBarTools {
    font-family: "Source Sans Pro", sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.35);
    margin: 4px 0 0 20px;
    text-transform: uppercase;
}

#navBarSocial {
    display: inline-block;
    width: 100%;
    padding: 20px 0 0 0;
}

#navBarSocial ul {
    margin: 0;
    padding-left: 20px;
}

#navBarSocial ul li {
    float: left;
    font-size: 18px;
}

#navBarSocial ul li a {
    color: rgba(255, 255, 255, 0.35);
    transition: 0.15s ease-in-out;
}

#navBarSocial ul li a:hover {
    color: #f2774f;
}

#navBarSocial ul li + li {
    margin-left: 20px;
}

#navBarSocial ul li:nth-child(3) {
    font-size: 19px;
}

#navBarBottom {
    width: 100%;
    display: inline-block;
    border-bottom: 4px solid #f2774f;
    padding-bottom: 14px;
    margin-top: 80px;
    bottom: 0;
    left: 0;
    position: relative;
}

#navBarBottom p {
    font-family: "Source Sans Pro", sans-serif;
    font-size: 11px;
    letter-spacing: 1px;
    color: #f2774f;
    text-transform: uppercase;
    margin: 0;
    padding-left: 20px;
    cursor: default;
}

#navBarBottom p:nth-child(4) {
    text-transform: none;
}

#navBarBottom p a {
    text-decoration: underline;
    color: #ffffff;
}

#navBarBottom img {
    width: 80px;
    margin: 10px 0 4px 20px;
}

#navBarBottom .mod-logoStyle img {
    margin-top: 0;
}

#navBarBottom .mod-seiLogo img {
    margin: -68px 0 8px 110px;
    display: block;
}

#navBarBottom .mod-fsLogo img {
    width: 210px;
    margin-top: 16px;
    margin-bottom: 20px;
    display: block;
}

.selectedCategory {
    background: rgba(255, 255, 255, 0.25);
}

.highlightSubMenu_a {
    background: #f2774f !important;
}

.highlightSubMenu_b {
    background: #d0043c !important;
}

.highlightSubMenu_c {
    background: #63355e !important;
}

.highlightSubMenu_d {
    background: #453d71 !important;
}

.highlightSubMenu_e {
    background: #675d54 !important;
}

.activeDataset {
    background: #f2774f;
}

@media (max-height: 760px) {
    #navBarBottom {
        position: relative !important;
    }
}

#ndc_map {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    background-color: #180908;
    background-image: url(../img/grid.svg), radial-gradient(ellipse at center, #331211 42%, #180908 88%);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 2;
}

#ndc_map_bgSquare {
    z-index: -1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../img/pattern.png);
    background-size: 6px;
}

#ndc_map_map {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
}

#ndc_map_countryTooltip {
    background: #ffffff;
    position: absolute;
    font-size: 14px;
    padding: 8px 12px 10px 12px;
    position: absolute;
    z-index: 2;
}

#ndc_map_countryTooltip p {
    margin: 0;
}

#ndc_map_countryTooltip #toolTip_countryName {
    color: #63355e;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    float: left;
}

#ndc_map_countryTooltip #toolTip_countryName_unfccc {
    width: 100%;
}

#ndc_map_countryTooltip #toolTip_flagIcon {
    z-index: 26;
    float: right;
    height: 14px;
    width: 19px;
    margin: 3px 0 0 6px;
}

#ndc_map_countryTooltip #toolTip_flagIcon:before {
    content: " ";
    display: block;
    position: absolute;
    height: 15px;
    width: 19px;
    background: #ffffff;
}

#ndc_map_countryTooltip #toolTip_divider {
    clear: both;
    height: 1px;
    background: #cecece;
    width: 100%;
    margin: 24px 0 6px 0;
}

#ndc_map_countryTooltip #toolTip_divider_unfccc {
    height: 1px;
    background: #cecece;
    width: 100%;
    margin: 4px 0 4px 0;
}

#ndc_map_countryTooltip #toolTip_countryAttr {
    clear: both;
    color: #000000;
    font-family: "Source Sans Pro", sans-serif;
    max-width: 240px;
    line-height: 16px;
}

#ndc_map_countryTooltip #toolTip_countryAttr_unfccc {
    color: #000000;
}

.euClass:hover {
    /*stroke-linejoin: round;
      stroke-linecap: round;
      vector-effect: non-scaling-stroke;
      stroke-width: 0.9px;*/
}

.country {
    stroke: #f2774f;
    stroke-width: 1px;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
    shape-rendering: optimizeSpeed;
    color-rendering: optimizeSpeed;
}

.country:hover {
    cursor: pointer;
    fill: #ffffff !important;
}

.hidden {
    display: none;
}

.mouseUp, .mouseUngrapCursor {
    cursor: -webkit-grab !important;
    cursor: grab !important;
}

.mouseDown, .mouseGrabCursor {
    cursor: -webkit-grabbing !important;
    cursor: grabbing !important;
}

.mouseAutoCursor {
    cursor: auto !important;
}

.mousePointerCursor {
    cursor: pointer !important;
}

.searchFlag {
    width: 28px;
    height: 18px;
    display: inline-block;
    margin-left: 5px;
    margin-top: -1px;
    float: right;
}

#ndc_map_zoomUI {
    background-color: #f2774f;
    position: absolute;
    left: 20px;
    bottom: 36px;
    border-radius: 50%;
    z-index: 4;
}

#ndc_map_zoomUI_plusWrapper {
    background-color: #f2774f;
    cursor: pointer;
    height: 34px;
    transition: 0.15s ease-in-out;
    width: 44px;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    float: left;
    border-top-right-radius: 22px;
    border-bottom-right-radius: 22px;
}

#ndc_map_zoomUI_plusWrapper_icon {
    color: #ffffff;
    display: inline-block;
    margin: 10px 0 0 12px;
}

#ndc_map_zoomUI_plusWrapper:hover {
    background-color: #ffffff;
    transition: 0.25s ease-in-out;
}

#ndc_map_zoomUI_plusWrapper:hover #ndc_map_zoomUI_plusWrapper_icon {
    color: #f2774f;
}

#ndc_map_zoomUI_divider {
    width: 1px;
    height: 34px;
    background: #180908;
    float: left;
}

#ndc_map_zoomUI_minusWrapper {
    background-color: #f2774f;
    cursor: pointer;
    height: 34px;
    transition: 0.15s ease-in-out;
    width: 44px;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
    float: left;
    border-top-left-radius: 22px;
    border-bottom-left-radius: 22px;
}

#ndc_map_zoomUI_minusWrapper_icon {
    color: #ffffff;
    font-size: 12px;
    display: inline-block;
    margin: 12px 0 0 18px;
}

#ndc_map_zoomUI_minusWrapper:hover {
    background-color: #ffffff;
    transition: 0.25s ease-in-out;
}

#ndc_map_zoomUI_minusWrapper:hover #ndc_map_zoomUI_minusWrapper_icon {
    color: #f2774f;
}

#ndc_map_legend {
    background: #ffffff;
    position: absolute;
    bottom: 60px;
    right: 20px;
    padding: 20px;
    z-index: 3;
}

#ndc_map_legend .legend_itemWrapper {
    padding: 0;
    margin: 0;
}

#ndc_map_legend .size {
    float: right;
    margin-left: 14px;
}

#legend_infoWrapper {
    cursor: pointer;
    display: inline-block;
    margin-bottom: 10px;
}

#legend_headline {
    font-size: 16px;
    max-width: 260px;
    margin: 0;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    color: #63355e;
    float: left;
}

#legend_subtitle {
    max-width: 288px;
    margin: 0 0 10px 0;
    color: #978a7e;
}

#legend_subtitle:empty {
    margin: 0;
}

#legend_subtitle a {
    color: #f2774f;
}

#infoWrapper_icon {
    float: left;
    margin: 0 0 0 14px;
    color: #f2774f;
}

#infoWrapper_content {
    display: none;
    font-size: 14px;
    line-height: 1.3;
    background: #ffffff;
    margin: 0;
    padding: 20px;
    position: absolute;
    right: 0px;
    opacity: 0;
}

#infoWrapper_content:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #ffffff;
    position: absolute;
    bottom: -11px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.legend_item {
    color: #000000;
    cursor: pointer;
    font-family: "Source Sans Pro", sans-serif;
}

.circle {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: block;
    float: right;
    margin: 8px 0 0 14px;
}

.circle_default {
    background: #000000;
    cursor: default;
}

.legend_item_default {
    color: #000000;
    cursor: pointer;
    font-family: "Source Sans Pro", sans-serif;
}

#countryCards {
    background: #180908;
    width: 90%;
    height: 100%;
    position: absolute;
    top: 0;
    padding: 5%;
    left: -4000px;
    overflow: auto;
    z-index: 5;
    opacity: 0;
}

#countryCards_closeIcon {
    float: right;
    transition: 0.15s ease-in-out;
    cursor: pointer;
}

#countryCards_closeIcon:hover {
    color: #f2774f;
}

#chooseCountryWrapper {
    background: #ffffff;
    width: 93.5%;
    max-width: 1580px;
    display: inline-block;
    position: relative;
    display: table;
    margin: 0 auto;
    padding: 60px 2.5% 0 4%;
}

#chooseCountryWrapper_placeholder {
    height: 130px;
    border-bottom: 1px solid #ededed;
    width: 34%;
    max-width: 400px;
    float: left;
}

.chooseCountry_item {
    width: 16.75%;
    max-width: 267px;
    height: 100%;
    height: 82px;
    border-bottom: 1px solid #ededed;
    float: left;
    position: relative;
    padding: 24px 2% 24px 2%;
    box-shadow: -1px 0px 0px 0px #ededed;
}

.chooseCountry_item:nth-child(4) {
    border-right: 1px solid #ededed;
}

.chooseCountry_item_searchWrapper {
    position: absolute;
    left: 24px;
    right: 24px;
    margin: 0 auto;
}

.chooseCountry_item_flag {
    width: 22px;
    float: left;
}

.chooseCountry_item_name {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 16px;
    font-weight: normal;
    max-width: 226px;
    line-height: 16px;
    width: 86%;
    float: right;
}

.chooseCountry_item_category {
    font-size: 14px;
    line-height: 16px;
    width: 86%;
    margin-top: 6px;
    float: right;
    font-weight: normal;
    clear: both;
    text-align: left;
}

.chooseCountry_item_exclude {
    color: #f2774f;
    font-size: 14px;
    width: 46px;
    margin-left: 14%;
    float: left;
    margin-top: 6px;
    text-decoration: underline;
    cursor: pointer;
}

.chooseCountry_item_searchIcon {
    color: #f2774f;
    cursor: pointer;
    float: left;
    font-size: 14px;
    width: 16px;
    height: 14px;
    padding-top: 4px;
}

.chooseCountry_item_overlay {
    display: none;
}

#countryCards_mainCategories {
    background: #ffffff;
    width: 93.5%;
    max-width: 1580px;
    padding: 0 2.5% 5% 4%;
    overflow: auto;
    display: table;
    margin: 0 auto;
}

.mainCategory {
    display: table;
    background: #ffffff;
    width: 100%;
    max-width: 1293px;
    height: 70px;
    width: 86%;
    padding: 0 3% 0 3%;
    cursor: pointer;
    border-bottom: 1px solid #ededed;
    transition: 0.25s ease-in-out;
}

.mainCategory_name {
    float: left;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    letter-spacing: 1px;
    font-size: 14px;
    color: #ffffff;
    text-transform: uppercase;
    margin: 26px 0 0 0;
    transition: 0.25s ease-in-out;
}

.mainCategory_icon {
    float: right;
    border-radius: 50%;
    height: 30px;
    width: 24px;
    padding-top: 2px;
    padding-left: 8px;
    margin-top: 20px;
    font-size: 22px;
    background: #f2774f;
    transition: 0.25s ease-in-out;
}

.mainCategory_icon:before {
    font-size: 16px;
    color: #ffffff;
}

.mainCategory:hover .mainCategory_name {
    color: #ffffff !important;
}

.mainCategory:hover .mainCategory_icon {
    background: #ffffff;
}

.mainCategory:hover .mainCategory_icon:before {
    color: #f2774f;
}

#mainCategory_a .mainCategory_name {
    color: #f2774f;
}

#mainCategory_a:hover {
    background: #f2774f;
}

#mainCategory_b .mainCategory_name {
    color: #d0043c;
}

#mainCategory_b:hover {
    background: #d0043c;
}

#mainCategory_c .mainCategory_name {
    color: #63355e;
}

#mainCategory_c:hover {
    background: #63355e;
}

#mainCategory_d .mainCategory_name {
    color: #453d71;
}

#mainCategory_d:hover {
    background: #453d71;
}

#mainCategory_e .mainCategory_name {
    color: #675d54;
}

#mainCategory_e:hover {
    background: #675d54;
}

.ccSubCategory {
    padding: 0;
    margin: 0;
    background: #f6f4f6;
    display: none;
    opacity: 0;
}

.subCategoryWrapper {
    width: 34%;
    max-width: 400px;
    margin: 0;
    padding: 0;
    float: left;
    background: #f6f4f6;
    border-right: 1px solid #ededed;
}

.subCategoryWrapper_ele {
    height: 80px;
    color: #978a7e;
    font-size: 14px;
    line-height: 80px;
    font-family: "Source Sans Pro", sans-serif;
    border-bottom: 1px solid #ededed;
}

.subCategoryWrapper_ele p {
    margin: 0;
    padding: 0px 10% 0px 10%;
    display: inline-block;
    vertical-align: middle;
    line-height: 14px;
}

.subCategoryWrapper.resultList {
    width: 20.75%;
    text-align: center;
}

.lastColumnStyle {
    border-right: none;
}

.highlightCCCat_a {
    background: #f2774f !important;
}

.highlightCCCat_a p {
    color: #ffffff !important;
}

.highlightCCCat_a .mainCategory_icon {
    background: #ffffff;
}

.highlightCCCat_a .mainCategory_icon:before {
    color: #f2774f;
}

.highlightCCCat_b {
    background: #d0043c !important;
}

.highlightCCCat_b p {
    color: #ffffff !important;
}

.highlightCCCat_b .mainCategory_icon {
    background: #ffffff;
}

.highlightCCCat_b .mainCategory_icon:before {
    color: #f2774f;
}

.highlightCCCat_c {
    background: #63355e !important;
}

.highlightCCCat_c p {
    color: #ffffff !important;
}

.highlightCCCat_c .mainCategory_icon {
    background: #ffffff;
}

.highlightCCCat_c .mainCategory_icon:before {
    color: #f2774f;
}

.highlightCCCat_d {
    background: #453d71 !important;
}

.highlightCCCat_d p {
    color: #ffffff !important;
}

.highlightCCCat_d .mainCategory_icon {
    background: #ffffff;
}

.highlightCCCat_d .mainCategory_icon:before {
    color: #f2774f;
}

.highlightCCCat_e {
    background: #675d54 !important;
}

.highlightCCCat_e p {
    color: #ffffff !important;
}

.highlightCCCat_e .mainCategory_icon {
    background: #ffffff;
}

.highlightCCCat_e .mainCategory_icon:before {
    color: #f2774f;
}

/**
 * Styles for search plugin (easy)
 */
.easy-autocomplete {
    position: relative;
    width: 100% !important;
    color: #ffffff;
}

.easy-autocomplete:after {
    content: " ";
    height: 1px;
    background: #f2774f;
    position: absolute;
    bottom: -22px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.easy-autocomplete input {
    color: #978a7e;
    width: calc(100% - 20px);
    font-family: "Source Sans Pro", sans-serif;
    border: none;
    cursor: pointer;
    float: right;
    text-align: center;
}

.easy-autocomplete-container ul li,
.easy-autocomplete-container ul .eac-category {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    display: block;
    font-size: 14px;
    font-weight: normal;
    padding: 2.4% 5%;
    transition: 0.25s ease-in-out;
    color: #ffffff;
    font-family: "Source Sans Pro", sans-serif;
}

.easy-autocomplete-container ul li:last-child {
    border: none;
}

.easy-autocomplete-container ul li.selected {
    background: none repeat scroll 0 0 #ededed;
    cursor: pointer;
    color: #ffffff;
    transition: 0s ease-in-out;
}

.easy-autocomplete input:hover,
.easy-autocomplete input:focus,
.easy-autocomplete input:active {
    outline: none;
}

.easy-autocomplete input:active {
    outline: none;
    box-shadow: none;
    border: none;
}

.easy-autocomplete a {
    display: block;
}

.easy-autocomplete-container {
    top: 108px;
    left: -24px;
    width: calc(100% + 48px) !important;
    position: absolute;
    z-index: 2;
    background: #ffffff;
}

.easy-autocomplete-container ul {
    display: none;
    margin-top: 0;
    margin-bottom: 8px;
    padding-bottom: 0;
    padding-left: 0;
    position: relative;
    top: -1px;
    max-height: 456px;
    overflow: auto;
}

.eac-item {
    color: #978a7e;
    font-size: 14px;
    text-align: left;
    line-height: 1.3;
    padding: 10% 10%;
}

/**
 * End of styles for search plugin
 */
@media (max-width: 1400px) {
    .chooseCountry_item_flag,
    .chooseCountry_item_name,
    .chooseCountry_item_exclude {
        float: none;
        margin: 0;
    }

    #countryCards_closeIcon {
        right: 7%;
        top: 24%;
    }

    .mainCategory {
        width: 90.5%;
    }
}

@media (max-width: 1030px) {
    #countryCards_closeIcon {
        top: 17%;
    }

    .easy-autocomplete input {
        font-size: 12px;
    }

    .chooseCountry_item_name {
        line-height: 12px;
        font-size: 12px;
    }

    .chooseCountry_item_exclude {
        font-size: 12px;
    }

    .mainCategory_name {
        font-size: 10px;
    }

    .mainCategory_icon {
        -ms-transform: scale(0.7);
        transform: scale(0.7);
    }

    .subCategoryWrapper_ele p {
        font-size: 12px;
        line-height: 12px;
    }
}

#screenshotContainer {
    position: absolute;
    top: 0;
    left: -4000px;
    width: 100%;
    z-index: 5;
    opacity: 0;
    background-color: #ffffff;
}

#screenshotWebGLMap {
    width: 96%;
    margin: 125px 0 60px 2%;
    background: #ffffff;
}

#screenshotGraph {
    width: 96%;
    margin: 125px 0 60px 2%;
    background: #ffffff;
}

#screenshotGraph .graph_header_title, #screenshotGraph .graph_header_descr, #screenshotGraph .graph_barWrapper_label, #screenshotGraph .graph_axisWrapper_ele_value {
    color: #000000;
}

#screenshotGraph .graph_axisWrapper, #screenshotGraph .graph_axisWrapper_ele:after, #screenshotGraph .graph_axisWrapper_ele:before {
    background-color: #000000;
}

#screenshotGraph .graph_header, #screenshotGraph .graph_barWrapper, #screenshotGraph .graph_axisWrapper {
    width: 100%;
    padding: 0;
    margin-left: 0;
}

#downloadContainer {
    position: absolute;
    width: 100%;
    top: 0;
    left: -4000px;
    opacity: 0;
    z-index: 12;
}

.legendScreenShotStyle {
    display: inline-block;
    margin: 0 0 20px 2%;
    background: #ffffff;
    width: 96%;
}

.legendScreenShotStyle ul {
    padding: 0;
    margin: 0;
}

.legendScreenShotStyle ul li {
    float: left;
    margin-right: 30px;
}

.legendScreenShotStyle ul li .circle {
    margin: 6px 0 0 10px;
    width: 12px;
    height: 12px;
}

.legendScreenShotStyle .legend_item_graph {
    color: #000000;
    list-style-type: none;
}

.legendScreenShotStyle .legend_item_graph .circle_graph {
    border: none;
    width: 14px;
    height: 14px;
    border-radius: 0;
}

.legendScreenShotStyle #legend_headline {
    float: none;
}

.legendScreenShotStyle #infoWrapper_icon {
    display: none;
}

.legendScreenShotStyle #infoWrapper_content {
    display: block;
    font-size: 16px;
    clear: both;
    background: transparent;
    position: relative;
    padding: 4px 0 0 0;
    right: auto;
    opacity: 1;
}

.legendScreenShotStyle #infoWrapper_content::after {
    display: none;
}

.headlineScreenShotStyle {
    color: #000000;
    position: absolute;
    top: 45px;
    text-align: center;
    width: 100%;
    font-size: 30px;
    font-family: "Source Sans Pro", sans-serif;
}

.infoScreenShotStyle {
    display: inline-block;
    margin: 0 0 60px 2%;
    background: #ffffff;
    width: 96%;
}

.copyrightScreenShotStyle {
    color: #000000;
    width: auto;
    margin: 0;
    position: absolute;
    bottom: 12px;
    right: 2%;
}

.logosScreenShotStyle {
    color: rgba(255, 255, 255, 0.8);
    padding: 0 2% 0 2%;
    width: auto;
    margin: 0;
    padding-bottom: 14px;
}

.logosScreenShotStyle p {
    font-family: "Source Sans Pro", sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
    color: #f2774f;
    text-transform: uppercase;
    margin: 0;
    clear: both;
}

.logosScreenShotStyle p:nth-child(4) {
    text-transform: none;
}

.logosScreenShotStyle p a {
    color: #000000;
}

.logosScreenShotStyle img {
    display: none;
}

.logosScreenShotStyle .screenshotLogo {
    display: block;
    float: left;
    width: 90px;
    height: auto;
    margin: 4px 14px 4px 0;
}

.logosScreenShotStyle #logoDie {
    background-image: url(../img/logo_die_black.jpg);
    background-size: contain;
    background-repeat: no-repeat;
}

.logosScreenShotStyle #logoGdi {
    background-image: url(../img/logo_gdi_black.jpg);
    background-size: contain;
    background-repeat: no-repeat;
}

.logosScreenShotStyle #logoActs {
    background-image: url(../img/logo_acts_black.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-top: -2px;
}

.logosScreenShotStyle #logoSei {
    background-image: url(../img/logo_sei_black.jpg);
    background-size: contain;
    background-repeat: no-repeat;
}

.screenshotLogo {
    display: none;
}

#map_copyright {
    width: 100%;
    position: absolute;
    bottom: 0;
}

#map_copyright_text {
    color: #ffffff;
    opacity: 0.65;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 12px;
    margin: 0 0 10px 20px;
    line-height: 1em;
    float: left;
    width: 98%;
}

#map_copyright_text a {
    color: #f2774f;
    cursor: pointer;
}

#map_copyright_text a span {
    font-size: 20px;
    vertical-align: text-bottom;
}

#ndc_graphOverlay {
    width: 100%;
    height: 100%;
    top: 0;
    left: -4000px;
    opacity: 0;
    position: absolute;
    overflow: scroll;
    background-color: #180908;
    background-image: url(../img/grid.svg), radial-gradient(ellipse at center, #331211 42%, #180908 88%);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 3;
    cursor: default;
}

#ndc_graphOverlay_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(../img/pattern.png);
    background-size: 6px;
}

#ndc_graphOverlay_wrapper {
    width: 100%;
    position: relative;
    z-index: 2;
}

.graph_header {
    min-height: 54px;
    width: 80%;
    padding: 0 10% 0 10%;
    display: inline-block;
    cursor: default;
}

.graph_header_title {
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 22px;
    color: rgba(255, 255, 255, 0.8);
    float: left;
    margin: 0;
    width: 60%;
}

.graph_header_descr {
    font-style: italic;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 14px;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.8);
    float: right;
    margin: 0;
    width: 40%;
}

.graph_barWrapper {
    width: 80%;
    margin-top: 40px;
    position: relative;
    width: 80%;
    padding: 0 10% 0 10%;
    cursor: default;
}

.graph_barWrapper li {
    margin-bottom: 38px;
}

.graph_barWrapper li:last-child {
    margin-bottom: 0;
}

.graph_barWrapper_label {
    font-family: "Source Sans Pro";
    font-weight: 300;
    letter-spacing: 1px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 0;
    text-transform: uppercase;
    clear: both;
}

.graph_barWrapper_row {
    width: 100%;
    height: 24px;
    background: none;
    padding: 0;
    margin: 10px 0 0 0;
}

.graph_barWrapper_row_bar {
    float: left;
    background: none;
    height: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    cursor: pointer;
}

.graph_barWrapper_row_bar:first-child {
    box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.4);
}

.graph_barWrapper_row_bar:last-child {
    box-shadow: 1px 0px 0px 0px rgba(255, 255, 255, 0.4);
}

.graph_axisWrapper {
    background-color: rgba(255, 255, 255, 0.4);
    height: 2px;
    margin: 46px 0 0 10%;
    width: 80%;
    padding: 0;
}

.graph_axisWrapper_ele {
    width: 25%;
    height: 100%;
    float: left;
    margin: 0;
    position: relative;
}

.graph_axisWrapper_ele:after {
    content: "";
    width: 2px;
    height: 8px;
    background: rgba(255, 255, 255, 0.4);
    float: right;
    position: relative;
    margin-top: -8px;
    margin-right: -2px;
}

.graph_axisWrapper_ele_value {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.8);
    display: inline-block;
    bottom: 12px;
    position: absolute;
    margin: 0 0 0 -6px;
}

.graph_axisWrapper_ele_value.lastValue {
    right: -12px;
}

.graph_axisWrapper_ele:first-child:before {
    content: "";
    width: 2px;
    height: 8px;
    background: rgba(255, 255, 255, 0.4);
    float: left;
    position: relative;
    margin-top: -8px;
    margin-right: -2px;
}

.graph_axisWrapper_ele:last-child:after {
    margin-right: 0px;
}

.mod-vAlign_graph {
    width: 100%;
    display: inline-block;
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    cursor: default;
}

#ndc_graph_legend {
    margin-top: 40px;
    position: relative;
    width: 80%;
    padding: 0 10% 0 10%;
}

#ndc_graph_legend .legend_itemWrapper {
    width: auto;
    padding: 0;
    margin: 0;
    display: inline-block;
}

.legend_item_graph {
    font-family: "Source Sans Pro", sans-serif;
    font-weight: 600;
    cursor: default;
    float: left;
    margin-right: 40px;
    color: rgba(255, 255, 255, 0.4);
}

.legend_item_graph:last-child {
    margin-right: 0;
}

.circle_graph {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: block;
    float: left;
    margin: 5px 14px 0 0;
    border: 2px solid #727272;
}

#graph_income {
    width: 100%;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .mod-topMarginIncome {
        margin-top: 0;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    .mod-topMarginIncome {
        margin-top: 40px;
    }
}

@media only screen and (max-height: 768px) {
    .mod-topMarginIncome {
        margin-top: 120px;
    }
}

#graph_region {
    width: 100%;
}

.mod-topMarginRegion {
    margin-top: 280px;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    .mod-topMarginRegion {
        margin-top: 40px;
    }
}

@media only screen and (max-height: 768px) {
    .mod-topMarginRegion {
        margin-top: 380px;
    }
}

#graph_copyright {
    width: 80%;
    padding: 0 10% 0 10%;
    position: relative;
    cursor: default;
}

#graph_copyright_text {
    color: rgba(255, 255, 255, 0.8);
    opacity: 0.65;
    font-family: "Source Sans Pro", sans-serif;
    font-size: 12px;
    margin: 40px 0 0 0;
    line-height: 1em;
    float: left;
}

#graph_copyright_text a {
    color: #f2774f;
    cursor: pointer;
}

#graph_copyright_text a span {
    font-size: 20px;
    vertical-align: text-bottom;
}

#graph_tooltip {
    background: #ffffff;
    position: absolute;
    max-width: 400px;
    font-size: 14px;
    padding: 8px 12px 10px 12px;
    position: absolute;
    z-index: 2;
}

#graph_tooltip p {
    margin: 0;
}

#graph_tooltip_headline {
    color: #63355e;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    float: left;
    font-size: 14px;
    line-height: 16px;
}

#graph_tooltip_divider {
    clear: both;
    float: left;
    height: 1px;
    background: #cecece;
    width: 100%;
    margin: 6px 0 6px 0;
}

#graph_tooltip_attr {
    clear: both;
    float: left;
    color: #000000;
    font-family: "Source Sans Pro", sans-serif;
    max-width: 250px;
    line-height: 16px;
}

#graph_tooltip_bottom {
    float: right;
}

#graph_tooltip_bottom #graph_tooltip_value {
    color: #63355e;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    float: left;
    line-height: 18px;
    margin-left: 16px !important;
}

#graph_tooltip_bottom #graph_tooltip_perc {
    color: #63355e;
    font-family: 'Source Sans Pro';
    font-style: normal;
    font-weight: 900;
    line-height: 18px;
    float: left;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX2Jhc2UvX25vcm1hbGl6ZS5zY3NzIiwiX2Jhc2UvX2ZvbnRzLnNjc3MiLCJfYmFzZS9faWNvbW9vbi5zY3NzIiwiX2Jhc2UvX21peGlucy5zY3NzIiwiX3BhcnRpYWxzL2dlbmVyYWwuc2NzcyIsIl9wYXJ0aWFscy9hYm91dC5zY3NzIiwiX3BhcnRpYWxzL3R1dG9yaWFsLnNjc3MiLCJfcGFydGlhbHMvYnRuVUkuc2NzcyIsIl9wYXJ0aWFscy9uYXYuc2NzcyIsIl9wYXJ0aWFscy9fbWFwL19tYXBfZ2VuZXJhbC5zY3NzIiwiX3BhcnRpYWxzL19tYXAvX21hcF96b29tVUkuc2NzcyIsIl9wYXJ0aWFscy9fbWFwL19tYXBfbGVnZW5kLnNjc3MiLCJfcGFydGlhbHMvX21hcC9fbWFwX2NvdW50cnlDYXJkcy5zY3NzIiwiX3BhcnRpYWxzL19tYXAvX21hcF9zY3JlZW5zaG90LnNjc3MiLCJfcGFydGlhbHMvX21hcC9fbWFwX2NvcHlyaWdodC5zY3NzIiwiX3BhcnRpYWxzL19ncmFwaC9fZ3JhcGhfZ2VuZXJhbC5zY3NzIiwiX3BhcnRpYWxzL19ncmFwaC9fZ3JhcGhfbGVnZW5kLnNjc3MiLCJfcGFydGlhbHMvX2dyYXBoL19ncmFwaF9pbmNvbWUuc2NzcyIsIl9wYXJ0aWFscy9fZ3JhcGgvX2dyYXBoX3JlZ2lvbi5zY3NzIiwiX3BhcnRpYWxzL19ncmFwaC9fZ3JhcGhfY29weXJpZ2h0LnNjc3MiLCJfcGFydGlhbHMvX2dyYXBoL19ncmFwaF90b29sdGlwLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIl9iYXNlL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcIl9iYXNlL2ZvbnRzXCI7XG5AaW1wb3J0IFwiX2Jhc2UvaWNvbW9vblwiO1xuQGltcG9ydCBcIl9iYXNlL21peGluc1wiO1xuXG5AaW1wb3J0IFwiX3BhcnRpYWxzL2dlbmVyYWxcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvYWJvdXRcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvdHV0b3JpYWxcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvYnRuVUlcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvbmF2XCI7XG5cbkBpbXBvcnQgXCJfcGFydGlhbHMvX21hcC9fbWFwX2dlbmVyYWxcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvX21hcC9fbWFwX3pvb21VSVwiO1xuQGltcG9ydCBcIl9wYXJ0aWFscy9fbWFwL19tYXBfbGVnZW5kXCI7XG5AaW1wb3J0IFwiX3BhcnRpYWxzL19tYXAvX21hcF9jb3VudHJ5Q2FyZHNcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvX21hcC9fbWFwX3NjcmVlbnNob3RcIjtcbkBpbXBvcnQgXCJfcGFydGlhbHMvX21hcC9fbWFwX2NvcHlyaWdodFwiO1xuXG5AaW1wb3J0IFwiX3BhcnRpYWxzL19ncmFwaC9fZ3JhcGhfZ2VuZXJhbFwiO1xuQGltcG9ydCBcIl9wYXJ0aWFscy9fZ3JhcGgvX2dyYXBoX2xlZ2VuZFwiO1xuQGltcG9ydCBcIl9wYXJ0aWFscy9fZ3JhcGgvX2dyYXBoX2luY29tZVwiO1xuQGltcG9ydCBcIl9wYXJ0aWFscy9fZ3JhcGgvX2dyYXBoX3JlZ2lvblwiO1xuQGltcG9ydCBcIl9wYXJ0aWFscy9fZ3JhcGgvX2dyYXBoX2NvcHlyaWdodFwiO1xuQGltcG9ydCBcIl9wYXJ0aWFscy9fZ3JhcGgvX2dyYXBoX3Rvb2x0aXBcIjsiLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnc2hha2VyX3JocmhfaGVhZGxpbmUnO1xuICAgIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9zaGFrZXIvc2hha2VyX3Jocmgvc2hha3JoX18td2ViZm9udC5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL3NoYWtlci9zaGFrZXJfcmhyaC9zaGFrcmhfXy13ZWJmb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9hc3NldHMvZm9udHMvc2hha2VyL3NoYWtlcl9yaHJoL3NoYWtyaF9fLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9hc3NldHMvZm9udHMvc2hha2VyL3NoYWtlcl9yaHJoL3NoYWtyaF9fLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL3NoYWtlci9zaGFrZXJfcmhyaC9zaGFrcmhfXy13ZWJmb250LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9zaGFrZXIvc2hha2VyX3Jocmgvc2hha3JoX18td2ViZm9udC5zdmcjc2hha2VyX3JocmhcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xufSIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6IHVybChcIi9hc3NldHMvaWNvbW9vbi9pY29tb29uLmVvdD92OGQ0dndcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9pY29tb29uL2ljb21vb24uZW90P3Y4ZDR2dyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9pY29tb29uL2ljb21vb24udHRmP3Y4ZDR2d1wiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL2Fzc2V0cy9pY29tb29uL2ljb21vb24ud29mZj92OGQ0dndcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9pY29tb29uL2ljb21vb24uc3ZnP3Y4ZDR2dyNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1tYXAtZmxhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuXG4uaWNvbi1iYXJfY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tZzIwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG5cbi5pY29uLWluY29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuXG4uaWNvbi1yZWdpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjtcbn1cblxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cblxuLmljb24taW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNlwiO1xufVxuXG4uaWNvbi1tYWlsX25vdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwN1wiO1xufVxuXG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwOFwiO1xufVxuXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDlcIjtcbn1cblxuLmljb24tbWFpbF9zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuXG4uaWNvbi1tZW51X3NoYXJlX2ZiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG5cbi5pY29uLW1lbnVfc2hhcmVfdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwY1wiO1xufVxuXG4uaWNvbi1oYW1idXJnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGRcIjtcbn1cblxuLmljb24tc2hhcmVfZmFjZWJvb2tfMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuXG4uaWNvbi1zaGFyZV90d2l0dGVyXzE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MGZcIjtcbn1cblxuLmljb24tc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cblxuLmljb24tc3dpdGNoX3dvcmxkX3ZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cblxuLmljb24td29ybGRfZ2xvYmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cblxuLmljb24tcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG59XG5cbi5pY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59IiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcbiAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XG59IiwiLy8gQ29sb3JzXG4kYnJvd24tQ29sb3ItYTogIzE4MDkwODtcbiRicm93bi1Db2xvci1iOiAjMzMxMjExO1xuJG9yYW5nZS1Db2xvci1hOiAjZjI3NzRmO1xuJG9yYW5nZS1Db2xvci1iOiAjZjU5OTdiO1xuJG9yYW5nZS1Db2xvci1jOiAjZjdhNzhkO1xuJHBpbmstQ29sb3ItYTogI2QwMDQzYztcbiRwaW5rLUNvbG9yLWI6ICNmMTY3ODE7XG4kcGluay1Db2xvci1jOiAjZjQ5NGE2O1xuJHB1cnBsZS1Db2xvci1hOiAjNjMzNTVlO1xuJHB1cnBsZS1Db2xvci1iOiAjOGU2NThiO1xuJHB1cnBsZS1Db2xvci1jOiAjOWQ3NzlhO1xuJHB1cnBsZURhcmstQ29sb3ItYTogIzQ1M2Q3MTtcbiRwdXJwbGVEYXJrLUNvbG9yLWI6ICM3Zjc2YzY7XG4kcHVycGxlRGFyay1Db2xvci1jOiAjOTE4YWNlO1xuJGdyZXktQ29sb3ItYTogIzY3NWQ1NDtcbiRncmV5LUNvbG9yLWI6ICM5NzhhN2U7XG4kZ3JleS1Db2xvci1jOiAjYmZiN2FmO1xuJHdoaXRlLUNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuJGxpZ2h0LVdoaXRlLUNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4kb3BhY2l0eS1XaGl0ZS1Db2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbiRoaWdobGlnaHQtQ29sb3ItYWN0aXZlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuJGRpdmlkZXItQ29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiRuYXZJdGVtLWhvdmVyLUNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4kY291bnRyeUNhcmRzLWJvcmRlci1jb2xvcjogI2VkZWRlZDtcblxuLy8gVHlwb2dyYXBoeVxuJGZvbnQtYTogc2hha2VyX3JocmhfaGVhZGxpbmU7XG4kZm9udC1iOiBcIlNvdXJjZSBTYW5zIFByb1wiLCBzYW5zLXNlcmlmO1xuXG5odG1sIHtcbiAgICAvLy13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGNvbG9yOiAkYnJvd24tQ29sb3ItYTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogNjIuNSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAkYnJvd24tQ29sb3ItYTtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyBjdXJyZW50bHkgZW1zIGNhdXNlIGNocm9tZSBidWcgbWlzaW50ZXJwcmV0aW5nIHJlbXMgb24gYm9keSBlbGVtZW50XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogNS4wcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMDVyZW07XG59XG5cbmgyIHtcbiAgICBmb250LXNpemU6IDQuMHJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNXB4O1xufVxuXG5oMyB7XG4gICAgZm9udC1zaXplOiAzLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wNXJlbTtcbn1cblxuaDQge1xuICAgIGZvbnQtc2l6ZTogMy4wcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIGxldHRlci1zcGFjaW5nOiAtLjA4cmVtO1xufVxuXG5oNSB7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLS4wNXJlbTtcbn1cblxuaDYge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5hIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNwYWdlTG9hZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMzMzE0MGU7XG4gICAgei1pbmRleDogNTtcblxuICAgICZfdmlkIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbn1cblxuI25kYyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRicm93bi1Db2xvci1hO1xuICAgIHotaW5kZXg6IDQ7XG59XG5cbiNuZGNfc3VwcG9ydE92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICRicm93bi1Db2xvci1hO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIGgyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGdyZXktQ29sb3ItYjtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59IiwiI25kY19tYXBfYWJvdXRPdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IC00MDAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAgICZfaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBwYWRkaW5nOiA4JSAwIDUlIDA7XG5cbiAgICAgICAgJl9jb250YWluZXIge1xuICAgICAgICAgICAgJl9oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IC0yMHB4IDAgNTBweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfY2xvc2luZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICByaWdodDogLTQwMDBweDtcbiAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWJvdXRDb250ZW50IHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICBjb2xvcjogJGdyZXktQ29sb3ItYjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5kbWRybkxpbmsge1xuICAgICAgICBjb2xvcjogI2FiYTZhNjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hYm91dC1oZWFkbGluZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWE7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGdyZXktQ29sb3ItYSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xufSIsIiNuZGNfbWFwX3R1dG9yaWFsT3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGxlZnQ6IC00MDAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTEwNzA1O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy90dXRvcmlhbF9vdmVydmlldy5qcGcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmX2Nsb3Npbmcge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAtNDAwMHB4O1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfY2VudGVyIHtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDQ1cHgpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJl9oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRuYXZJdGVtLWhvdmVyLUNvbG9yO1xuICAgICAgICBtYXJnaW46IDAgMCAycHggMDtcbiAgICB9XG5cbiAgICAmX3N1YmxpbmUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYTtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwIDRweCAwO1xuICAgIH1cblxuICAgICZfYnRuV3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDQ1cHgpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICZfdGV4dCB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDAgMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlLUNvbG9yLWE7XG5cbiAgICAgICAgICAgICNuZGNfbWFwX3R1dG9yaWFsT3ZlcmxheV9idG5XcmFwcGVyX3RleHQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIiNuZGNfYnRuVUkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgei1pbmRleDogNDtcblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAtMTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHVsIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBmbGlwSW4gMC40cyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1haW5CdG5TdHlsZSB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgcGFkZGluZy10b3A6IDE0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGUtQ29sb3I7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1Db2xvcjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jdmlld0J0biB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBsaSB7XG4gICAgICAgIHBlcnNwZWN0aXZlOiA2MDBweDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNncmFwaEJ0biB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbn1cblxuI3NoYXJlQnRuIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgbGkge1xuICAgICAgICBwZXJzcGVjdGl2ZTogNjAwcHg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jdmlld0J0biB7XG4gICAgJl9pbmNvbWUge1xuICAgICAgICBjb2xvcjogJG9wYWNpdHktV2hpdGUtQ29sb3I7XG4gICAgfVxuXG4gICAgJl9yZWdpb24ge1xuICAgICAgICBjb2xvcjogJG9wYWNpdHktV2hpdGUtQ29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgfVxufVxuXG4uc3ViQnRuU3R5bGUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYnJvd24tQ29sb3ItYTtcbiAgICBjb2xvcjogJG9wYWNpdHktV2hpdGUtQ29sb3I7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCAtNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkb3BhY2l0eS1XaGl0ZS1Db2xvcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1Db2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1Db2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjdGl2ZUJ0blN0eWxlIHtcbiAgICBib3JkZXItY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1Db2xvcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1Db2xvcjtcbiAgICB9XG59XG5cbi8qKlxuICogVXNlZCBmb3IgZGlzYWJsZSBzaGFyaW5nIGJ0bnNcbiAqL1xuLmluYWN0aXZlTWFpbkJ0blN0eWxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjOWQ5YzljO1xuICAgIGNvbG9yOiBncmV5O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogZ3JleTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzlkOWM5YztcbiAgICAgICAgY29sb3I6IGdyZXk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IGdyZXk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbmFjdGl2ZUJ0blN0eWxlIHtcbiAgICAuc3ViQnRuU3R5bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOWQ5YzljO1xuICAgICAgICBjb2xvcjogZ3JleTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzlkOWM5YztcbiAgICAgICAgICAgIGNvbG9yOiBncmV5O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGdyZXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jYnRuVUlfaW5hY3RpdmVUb29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgcGFkZGluZzogMTBweCAyMHB4IDRweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTRweCk7XG4gICAgfVxufVxuXG4udmlzR2xvYmVTdHlsZSB7XG4gICAgZm9udC1zaXplOiAyM3B4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTNweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzN3B4O1xufSIsIiNuZGNfbWFwX2J1cmdlckljb24ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0b3A6IDExcHg7XG4gICAgbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI25hdl9zd2l0Y2hfdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGxlZnQ6IDMxNXB4O1xuICAgIHRvcDogODBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTE4cHg7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxufVxuXG4uaGlkZVN3aXRjaFRvbHRpcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IDMxNXB4O1xufVxuXG4jbmF2V3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGJyb3duLUNvbG9yLWE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzEwcHgpO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB6LWluZGV4OiA1O1xufVxuXG4jbmF2QmFyVG9wIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG9yYW5nZS1Db2xvci1hO1xuICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4IDA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgJl9jbG9zaW5nV3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luOiAtNHB4IDAgMCAyMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAmX2ljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMCAwIDhweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuXG4gICAgICAgICAgICAjbmF2QmFyVG9wX2Nsb3NpbmdXcmFwcGVyX2ljb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX2ltZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAtMTlweCAwIDAgMjBweDtcbiAgICAgICAgY29sb3I6ICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgIH1cblxuICAgICZfaGVhZGxpbmUge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbmF2QmFyQ2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA0MHB4IDBweCAxMHB4IDBweDtcblxuICAgICZfdGV4dCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtV2hpdGUtQ29sb3I7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmX3N3aXRjaCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkb3BhY2l0eS1XaGl0ZS1Db2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgd2lkdGg6IDk0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMXB4IDIwcHggMCAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJl9pbmRjIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1XaGl0ZS1Db2xvcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAycHggMCAycHggMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAycHggMCAycHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9uZGMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LVdoaXRlLUNvbG9yO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAycHggMnB4IDJweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAycHggMCAycHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbm5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgI21haW5NZW51V3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRicm93bi1Db2xvci1iLCAkYnJvd24tQ29sb3ItYSk7XG5cbiAgICAgICAgLm1haW5NZW51RWxlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGRpdmlkZXItQ29sb3I7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDkpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRpdmlkZXItQ29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gU2V0ZWQgdG8gcHJldmVudCBvcmFuZ2UgaG92ZXJpbmcgaWYgY2F0ZWdvcnkgaXMgb3BlblxuICAgICAgICAgICAgJi5oaWdobGlnaHRTdWJNZW51X2E6aG92ZXIsXG4gICAgICAgICAgICAmLmhpZ2hsaWdodFN1Yk1lbnVfYjpob3ZlcixcbiAgICAgICAgICAgICYuaGlnaGxpZ2h0U3ViTWVudV9jOmhvdmVyLFxuICAgICAgICAgICAgJi5oaWdobGlnaHRTdWJNZW51X2Q6aG92ZXIsXG4gICAgICAgICAgICAmLmhpZ2hsaWdodFN1Yk1lbnVfZTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1Yk1lbnVFbGUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICZfd3JhcHBlcl9hLFxuICAgICAgICAmX3dyYXBwZXJfYixcbiAgICAgICAgJl93cmFwcGVyX2MsXG4gICAgICAgICZfd3JhcHBlcl9kLFxuICAgICAgICAmX3dyYXBwZXJfZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICZfaXRlbSB7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDQwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkaXZpZGVyLUNvbG9yO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX3dyYXBwZXJfYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlLUNvbG9yLWI7XG5cbiAgICAgICAgICAgICZfaXRlbTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhpZ2hsaWdodC1Db2xvci1hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX3dyYXBwZXJfYiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGluay1Db2xvci1iO1xuXG4gICAgICAgICAgICAmX2l0ZW06aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoaWdobGlnaHQtQ29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl93cmFwcGVyX2Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZS1Db2xvci1iO1xuXG4gICAgICAgICAgICAmX2l0ZW06aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoaWdobGlnaHQtQ29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl93cmFwcGVyX2Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZURhcmstQ29sb3ItYjtcblxuICAgICAgICAgICAgJl9pdGVtOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0LUNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfd3JhcHBlcl9lIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5LUNvbG9yLWI7XG5cbiAgICAgICAgICAgICZfaXRlbTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGhpZ2hsaWdodC1Db2xvci1hY3RpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNuYXZCYXJTZWFyY2gge1xuICAgIGhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cblxuICAgIC5zZWFyY2hJY29uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogM3B4IDEwcHggMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcblxuICAgICAgICAuZWFzeS1hdXRvY29tcGxldGUgdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5lYXN5LWF1dG9jb21wbGV0ZSB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVhc3ktYXV0b2NvbXBsZXRlIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIsIC5lYXN5LWF1dG9jb21wbGV0ZSB0ZXh0YXJlYSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIH1cblxuICAgICAgICAuZWFzeS1hdXRvY29tcGxldGUgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIC5lYXN5LWF1dG9jb21wbGV0ZSB0ZXh0YXJlYSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIH1cblxuICAgICAgICAuZWFzeS1hdXRvY29tcGxldGUgdGV4dGFyZWE6LW1zLXBsYWNlaG9sZGVyLCAuZWFzeS1hdXRvY29tcGxldGUgdGV4dGFyZWEge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgfVxufVxuXG4vKipcbiAqIFN0eWxlcyBmb3Igc2VhcmNoIHBsdWdpbiAoZWFzeSkgaW4gbmF2IGJhclxuICovXG4jbmF2QmFyU2VhcmNoIHtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMjI2cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6ICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgY29sb3I6ICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgY29sb3I6ICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1vei1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjI1cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGNvbG9yOiAkb3BhY2l0eS1XaGl0ZS1Db2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgY29sb3I6ICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVhc3ktYXV0b2NvbXBsZXRlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgdWwgbGksXG4gICAgLmVhc3ktYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB1bCAuZWFjLWNhdGVnb3J5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkaXZpZGVyLUNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd24tQ29sb3ItYTtcbiAgICAgICAgd2lkdGg6IDMwNHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG4gICAgfVxuXG4gICAgLmVhc3ktYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgdWwgbGkuc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwIG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMHMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgLmVhc3ktYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB7XG4gICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyb3duLUNvbG9yLWE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuXG4gICAgLmVhYy1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRvcGFjaXR5LVdoaXRlLUNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMjBweCAxNnB4IDQwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5kIG9mIHN0eWxlcyBmb3Igc2VhcmNoIHBsdWdpblxuICAgICAqL1xufVxuXG4jbmF2QmFyQWJvdXQge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDE0cHg7XG5cbiAgICBwIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jbmF2QmFyVHV0b3JpYWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBwIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2QmFyVG9vbHMge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIGNvbG9yOiAkb3BhY2l0eS1XaGl0ZS1Db2xvcjtcbiAgICBtYXJnaW46IDRweCAwIDAgMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jbmF2QmFyU29jaWFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwIDAgMDtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3BhY2l0eS1XaGl0ZS1Db2xvcjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpICsgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jbmF2QmFyQm90dG9tIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRvcmFuZ2UtQ29sb3ItYTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDRweCAyMHB4O1xuICAgIH1cblxuICAgIC5tb2QtbG9nb1N0eWxlIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kLWxhc3RMb2dvIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogLTQzcHggMCAyMHB4IDEyNHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3RlZENhdGVnb3J5IHtcbiAgICBiYWNrZ3JvdW5kOiAkaGlnaGxpZ2h0LUNvbG9yLWFjdGl2ZTtcbn1cblxuLmhpZ2hsaWdodFN1Yk1lbnVfYSB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hICFpbXBvcnRhbnQ7XG59XG5cbi5oaWdobGlnaHRTdWJNZW51X2Ige1xuICAgIGJhY2tncm91bmQ6ICRwaW5rLUNvbG9yLWEgIWltcG9ydGFudDtcbn1cblxuLmhpZ2hsaWdodFN1Yk1lbnVfYyB7XG4gICAgYmFja2dyb3VuZDogJHB1cnBsZS1Db2xvci1hICFpbXBvcnRhbnQ7XG59XG5cbi5oaWdobGlnaHRTdWJNZW51X2Qge1xuICAgIGJhY2tncm91bmQ6ICRwdXJwbGVEYXJrLUNvbG9yLWEgIWltcG9ydGFudDtcbn1cblxuLmhpZ2hsaWdodFN1Yk1lbnVfZSB7XG4gICAgYmFja2dyb3VuZDogJGdyZXktQ29sb3ItYSAhaW1wb3J0YW50O1xufVxuXG4uYWN0aXZlRGF0YXNldCB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hO1xufVxuXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDc2MHB4KSB7XG4gICAgI25hdkJhckJvdHRvbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIH1cbn0iLCIjbmRjX21hcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicm93bi1Db2xvci1hO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy9ncmlkLnN2ZyksIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciwgJGJyb3duLUNvbG9yLWIgNDIlLCAkYnJvd24tQ29sb3ItYSA4OCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJl9iZ1NxdWFyZSB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL3BhdHRlcm4ucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHg7XG4gICAgfVxuXG4gICAgJl9tYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmX2NvdW50cnlUb29sdGlwIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDEwcHggMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgI3Rvb2xUaXBfY291bnRyeU5hbWUge1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGUtQ29sb3ItYTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICZfdW5mY2NjIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN0b29sVGlwX2ZsYWdJY29uIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI2O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICBtYXJnaW46IDNweCAwIDAgNnB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3Rvb2xUaXBfZGl2aWRlciB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2NlY2VjZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAyNHB4IDAgNnB4IDA7XG5cbiAgICAgICAgICAgICZfdW5mY2NjIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2VjZWNlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNHB4IDAgNHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjdG9vbFRpcF9jb3VudHJ5QXR0ciB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG5cbiAgICAgICAgICAgICZfdW5mY2NjIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmV1Q2xhc3M6aG92ZXIge1xuICAgIC8qc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gICAgdmVjdG9yLWVmZmVjdDogbm9uLXNjYWxpbmctc3Ryb2tlO1xuICAgIHN0cm9rZS13aWR0aDogMC45cHg7Ki9cbn1cblxuLmNvdW50cnkge1xuICAgIHN0cm9rZTogJG9yYW5nZS1Db2xvci1hO1xuICAgIHN0cm9rZS13aWR0aDogMXB4O1xuICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICAgIHZlY3Rvci1lZmZlY3Q6IG5vbi1zY2FsaW5nLXN0cm9rZTtcbiAgICBzaGFwZS1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gICAgY29sb3ItcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xufVxuXG4uY291bnRyeTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZpbGw6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vdXNlVXAsIC5tb3VzZVVuZ3JhcEN1cnNvciB7XG4gICAgY3Vyc29yOiBncmFiICFpbXBvcnRhbnQ7XG59XG5cbi5tb3VzZURvd24sIC5tb3VzZUdyYWJDdXJzb3Ige1xuICAgIGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcbn1cblxuLm1vdXNlQXV0b0N1cnNvciB7XG4gICAgY3Vyc29yOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi5tb3VzZVBvaW50ZXJDdXJzb3Ige1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xufVxuXG4uc2VhcmNoRmxhZyB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufSIsIiNuZGNfbWFwX3pvb21VSSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIGJvdHRvbTogMzZweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgei1pbmRleDogNDtcblxuICAgICZfcGx1c1dyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDIycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyMnB4O1xuXG4gICAgICAgICZfaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAjbmRjX21hcF96b29tVUlfcGx1c1dyYXBwZXJfaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfZGl2aWRlciB7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyb3duLUNvbG9yLWE7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgICZfbWludXNXcmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIycHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDIycHg7XG5cbiAgICAgICAgJl9pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMCAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICNuZGNfbWFwX3pvb21VSV9taW51c1dyYXBwZXJfaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIjbmRjX21hcF9sZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICAubGVnZW5kX2l0ZW1XcmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuI2xlZ2VuZF9pbmZvV3JhcHBlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4jbGVnZW5kX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWE7XG4gICAgY29sb3I6ICRwdXJwbGUtQ29sb3ItYTtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuI2luZm9XcmFwcGVyX2ljb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDAgMTRweDtcbiAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xufVxuXG4jaW5mb1dyYXBwZXJfY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTExcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbi5sZWdlbmRfaXRlbSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xufVxuXG4uY2lyY2xlIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDhweCAwIDAgMTRweDtcblxuICAgICZfZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG59XG5cbi5sZWdlbmRfaXRlbV9kZWZhdWx0IHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG59IiwiI2NvdW50cnlDYXJkcyB7XG4gICAgYmFja2dyb3VuZDogJGJyb3duLUNvbG9yLWE7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiA1JTtcbiAgICBsZWZ0OiAtNDAwMHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHotaW5kZXg6IDU7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICZfY2xvc2VJY29uIHtcbiAgICAgICAgcmlnaHQ6IDEyMHB4O1xuICAgICAgICB0b3A6IDEyMHB4O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2hvb3NlQ291bnRyeVdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDkzLjUlO1xuICAgIG1heC13aWR0aDogMTU4MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogNjBweCAyLjUlIDAgNCU7XG5cbiAgICAmX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb3VudHJ5Q2FyZHMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB3aWR0aDogMzQlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi5jaG9vc2VDb3VudHJ5X2l0ZW0ge1xuICAgIHdpZHRoOiAxNi43NSU7XG4gICAgbWF4LXdpZHRoOiAyNjdweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiA4MnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY291bnRyeUNhcmRzLWJvcmRlci1jb2xvcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjRweCAyJSAyNHB4IDIlO1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggJGNvdW50cnlDYXJkcy1ib3JkZXItY29sb3I7XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb3VudHJ5Q2FyZHMtYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgICZfc2VhcmNoV3JhcHBlciB7XG4gICAgICAgIC8vd2lkdGg6IDE3NHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDI0cHg7XG4gICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmX2ZsYWcge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9uYW1lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiA4NiU7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbiAgICAmX2NhdGVnb3J5IHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgd2lkdGg6IDg2JTtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgICZfZXhjbHVkZSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJl9zZWFyY2hJY29uIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNHB4O1xuXG4gICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgIFxuICAgIH1cblxuICAgICZfb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jY291bnRyeUNhcmRzX21haW5DYXRlZ29yaWVzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHdpZHRoOiA5My41JTtcbiAgICBtYXgtd2lkdGg6IDE1ODBweDtcbiAgICBwYWRkaW5nOiAwIDIuNSUgNSUgNCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tYWluQ2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMjkzcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHdpZHRoOiA4NiU7XG4gICAgcGFkZGluZzogMCAzJSAwIDMlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvdW50cnlDYXJkcy1ib3JkZXItY29sb3I7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmX25hbWUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMjZweCAwIDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuXG4gICAgJl9pY29uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLm1haW5DYXRlZ29yeV9uYW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbkNhdGVnb3J5X2ljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNtYWluQ2F0ZWdvcnlfYSB7XG4gICAgLm1haW5DYXRlZ29yeV9uYW1lIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hO1xuICAgIH1cbn1cblxuI21haW5DYXRlZ29yeV9iIHtcbiAgICAubWFpbkNhdGVnb3J5X25hbWUge1xuICAgICAgICBjb2xvcjogJHBpbmstQ29sb3ItYTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHBpbmstQ29sb3ItYTtcbiAgICB9XG59XG5cbiNtYWluQ2F0ZWdvcnlfYyB7XG4gICAgLm1haW5DYXRlZ29yeV9uYW1lIHtcbiAgICAgICAgY29sb3I6ICRwdXJwbGUtQ29sb3ItYTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZS1Db2xvci1hO1xuICAgIH1cbn1cblxuI21haW5DYXRlZ29yeV9kIHtcbiAgICAubWFpbkNhdGVnb3J5X25hbWUge1xuICAgICAgICBjb2xvcjogJHB1cnBsZURhcmstQ29sb3ItYTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHB1cnBsZURhcmstQ29sb3ItYTtcbiAgICB9XG59XG5cbiNtYWluQ2F0ZWdvcnlfZSB7XG4gICAgLm1haW5DYXRlZ29yeV9uYW1lIHtcbiAgICAgICAgY29sb3I6ICRncmV5LUNvbG9yLWE7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LUNvbG9yLWE7XG4gICAgfVxufVxuXG4uY2NTdWJDYXRlZ29yeSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjRmNjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5zdWJDYXRlZ29yeVdyYXBwZXIge1xuICAgIHdpZHRoOiAzNCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNGY2O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb3VudHJ5Q2FyZHMtYm9yZGVyLWNvbG9yO1xuXG4gICAgJl9lbGUge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGNvbG9yOiAkZ3JleS1Db2xvci1iO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb3VudHJ5Q2FyZHMtYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMHB4IDEwJSAwcHggMTAlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yZXN1bHRMaXN0IHtcbiAgICAgICAgd2lkdGg6IDIwLjc1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmxhc3RDb2x1bW5TdHlsZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG4uaGlnaGxpZ2h0Q0NDYXRfYSB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZS1Db2xvci1hICFpbXBvcnRhbnQ7XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWFpbkNhdGVnb3J5X2ljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oaWdobGlnaHRDQ0NhdF9iIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGluay1Db2xvci1hICFpbXBvcnRhbnQ7XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWFpbkNhdGVnb3J5X2ljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oaWdobGlnaHRDQ0NhdF9jIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHVycGxlLUNvbG9yLWEgIWltcG9ydGFudDtcblxuICAgIHAge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluQ2F0ZWdvcnlfaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhpZ2hsaWdodENDQ2F0X2Qge1xuICAgIGJhY2tncm91bmQ6ICRwdXJwbGVEYXJrLUNvbG9yLWEgIWltcG9ydGFudDtcblxuICAgIHAge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluQ2F0ZWdvcnlfaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhpZ2hsaWdodENDQ2F0X2Uge1xuICAgIGJhY2tncm91bmQ6ICRncmV5LUNvbG9yLWEgIWltcG9ydGFudDtcblxuICAgIHAge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tYWluQ2F0ZWdvcnlfaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2UtQ29sb3ItYTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBTdHlsZXMgZm9yIHNlYXJjaCBwbHVnaW4gKGVhc3kpXG4gKi9cbi5lYXN5LWF1dG9jb21wbGV0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuLmVhc3ktYXV0b2NvbXBsZXRlIGlucHV0IHtcbiAgICBjb2xvcjogJGdyZXktQ29sb3ItYjtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZWFzeS1hdXRvY29tcGxldGUtY29udGFpbmVyIHVsIGxpLFxuLmVhc3ktYXV0b2NvbXBsZXRlLWNvbnRhaW5lciB1bCAuZWFjLWNhdGVnb3J5IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDIuNCUgNSU7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG59XG5cbi5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgdWwgbGk6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uZWFzeS1hdXRvY29tcGxldGUtY29udGFpbmVyIHVsIGxpLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICRjb3VudHJ5Q2FyZHMtYm9yZGVyLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiAwcyBlYXNlLWluLW91dDtcbn1cblxuLmVhc3ktYXV0b2NvbXBsZXRlIGlucHV0OmhvdmVyLFxuLmVhc3ktYXV0b2NvbXBsZXRlIGlucHV0OmZvY3VzLFxuLmVhc3ktYXV0b2NvbXBsZXRlIGlucHV0OmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmVhc3ktYXV0b2NvbXBsZXRlIGlucHV0OmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmVhc3ktYXV0b2NvbXBsZXRlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZWFzeS1hdXRvY29tcGxldGUtY29udGFpbmVyIHtcbiAgICB0b3A6IDEwOHB4O1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0OHB4KSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG59XG5cbi5lYXN5LWF1dG9jb21wbGV0ZS1jb250YWluZXIgdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgbWF4LWhlaWdodDogNDU2cHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5lYWMtaXRlbSB7XG4gICAgY29sb3I6ICRncmV5LUNvbG9yLWI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwYWRkaW5nOiAxMCUgMTAlO1xufVxuXG4vKipcbiAqIEVuZCBvZiBzdHlsZXMgZm9yIHNlYXJjaCBwbHVnaW5cbiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICAgIC5jaG9vc2VDb3VudHJ5X2l0ZW1fZmxhZyxcbiAgICAuY2hvb3NlQ291bnRyeV9pdGVtX25hbWUsXG4gICAgLmNob29zZUNvdW50cnlfaXRlbV9leGNsdWRlIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAjY291bnRyeUNhcmRzX2Nsb3NlSWNvbiB7XG4gICAgICAgIHJpZ2h0OiA3JTtcbiAgICAgICAgdG9wOiAyNCU7XG4gICAgfVxuXG4gICAgLm1haW5DYXRlZ29yeSB7XG4gICAgICAgIHdpZHRoOiA5MC41JTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDMwcHgpIHtcbiAgICAjY291bnRyeUNhcmRzX2Nsb3NlSWNvbiB7XG4gICAgICAgIHRvcDogMTclO1xuICAgIH1cblxuICAgIC5lYXN5LWF1dG9jb21wbGV0ZSBpbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAuY2hvb3NlQ291bnRyeV9pdGVtX25hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC5jaG9vc2VDb3VudHJ5X2l0ZW1fZXhjbHVkZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAubWFpbkNhdGVnb3J5IHtcbiAgICAgICAgJl9uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfaWNvbiB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3ViQ2F0ZWdvcnlXcmFwcGVyX2VsZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICB9XG59IiwiI3NjcmVlbnNob3RDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTQwMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuI3NjcmVlbnNob3RXZWJHTE1hcCB7XG4gICAgd2lkdGg6IDk2JTtcbiAgICBtYXJnaW46IDEyNXB4IDAgNjBweCAyJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xufVxuXG4jc2NyZWVuc2hvdEdyYXBoIHtcbiAgICB3aWR0aDogOTYlO1xuICAgIG1hcmdpbjogMTI1cHggMCA2MHB4IDIlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cbiAgICAuZ3JhcGhfaGVhZGVyX3RpdGxlLCAuZ3JhcGhfaGVhZGVyX2Rlc2NyLCAuZ3JhcGhfYmFyV3JhcHBlcl9sYWJlbCwgLmdyYXBoX2F4aXNXcmFwcGVyX2VsZV92YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuICAgIC5ncmFwaF9heGlzV3JhcHBlciwgLmdyYXBoX2F4aXNXcmFwcGVyX2VsZTphZnRlciwgLmdyYXBoX2F4aXNXcmFwcGVyX2VsZTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuICAgIC5ncmFwaF9oZWFkZXIsIC5ncmFwaF9iYXJXcmFwcGVyLCAuZ3JhcGhfYXhpc1dyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuXG4jZG93bmxvYWRDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTQwMDBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDEyO1xufVxuXG4ubGVnZW5kU2NyZWVuU2hvdFN0eWxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAyJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHdpZHRoOiA5NiU7XG5cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcblxuICAgICAgICAgICAgLmNpcmNsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA2cHggMCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxlZ2VuZF9pdGVtX2dyYXBoIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICAuY2lyY2xlX2dyYXBoIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNsZWdlbmRfaGVhZGxpbmUge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAjaW5mb1dyYXBwZXJfaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2luZm9XcmFwcGVyX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogNHB4IDAgMCAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGxpbmVTY3JlZW5TaG90U3R5bGUge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbn1cblxuLmluZm9TY3JlZW5TaG90U3R5bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCA2MHB4IDIlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgd2lkdGg6IDk2JTtcbn1cblxuLmNvcHlyaWdodFNjcmVlblNob3RTdHlsZSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEycHg7XG4gICAgcmlnaHQ6IDIlO1xufVxuXG4ubG9nb3NTY3JlZW5TaG90U3R5bGUge1xuICAgIGNvbG9yOiAkbGlnaHQtV2hpdGUtQ29sb3I7XG4gICAgcGFkZGluZzogMCAyJSAwIDIlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTRweDtcblxuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNjcmVlbnNob3RMb2dvIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDRweCAxNHB4IDRweCAwO1xuICAgIH1cblxuICAgICNsb2dvRGllIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2xvZ29fZGllX2JsYWNrLmpwZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAjbG9nb0dkaSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltZy9sb2dvX2dkaV9ibGFjay5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgI2xvZ29BY3RzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2xvZ29fYWN0c19ibGFjay5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuXG4gICAgI2xvZ29TZWkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvbG9nb19zZWlfYmxhY2suanBnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbn1cblxuLnNjcmVlbnNob3RMb2dvIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSIsIiNtYXBfY29weXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xufVxuXG4jbWFwX2NvcHlyaWdodF90ZXh0IHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogOTglO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLUNvbG9yLWE7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIjbmRjX2dyYXBoT3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtNDAwMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyb3duLUNvbG9yLWE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1nL2dyaWQuc3ZnKSwgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkYnJvd24tQ29sb3ItYiA0MiUsICRicm93bi1Db2xvci1hIDg4JSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IDM7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgJl9iZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWcvcGF0dGVybi5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweDtcblxuICAgICAgICAvL3otaW5kZXg6IDE7XG4gICBcbiAgICB9XG5cbiAgICAmX3dyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbn1cblxuLmdyYXBoX2hlYWRlciB7XG4gICAgbWluLWhlaWdodDogNTRweDtcbiAgICB3aWR0aDogODAlO1xuICAgIHBhZGRpbmc6IDAgMTAlIDAgMTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmX3RpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWE7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6ICRsaWdodC1XaGl0ZS1Db2xvcjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICB9XG5cbiAgICAmX2Rlc2NyIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBjb2xvcjogJGxpZ2h0LVdoaXRlLUNvbG9yO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG59XG5cbi5ncmFwaF9iYXJXcmFwcGVyIHtcbiAgICB3aWR0aDogODAlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA4MCU7XG4gICAgcGFkZGluZzogMCAxMCUgMCAxMCU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9sYWJlbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtV2hpdGUtQ29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICZfcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuXG4gICAgICAgICZfYmFyIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbmF2SXRlbS1ob3Zlci1Db2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2SXRlbS1ob3Zlci1Db2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCAkbmF2SXRlbS1ob3Zlci1Db2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMHB4IDBweCAwcHggJG5hdkl0ZW0taG92ZXItQ29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmFwaF9heGlzV3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdkl0ZW0taG92ZXItQ29sb3I7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luOiA0NnB4IDAgMCAxMCU7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJl9lbGUge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2SXRlbS1ob3Zlci1Db2xvcjtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX3ZhbHVlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAkbGlnaHQtV2hpdGUtQ29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBib3R0b206IDEycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIC02cHg7XG5cbiAgICAgICAgICAgICYubGFzdFZhbHVlIHtcbiAgICAgICAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdkl0ZW0taG92ZXItQ29sb3I7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kLXZBbGlnbl9ncmFwaCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufSIsIiNuZGNfZ3JhcGhfbGVnZW5kIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogODAlO1xuICAgIHBhZGRpbmc6IDAgMTAlIDAgMTAlO1xuXG4gICAgLmxlZ2VuZF9pdGVtV3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi5sZWdlbmRfaXRlbV9ncmFwaCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIGNvbG9yOiAkbmF2SXRlbS1ob3Zlci1Db2xvcjtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbi5jaXJjbGVfZ3JhcGgge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA1cHggMTRweCAwIDA7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzcyNzI3Mjtcbn0iLCIjZ3JhcGhfaW5jb21lIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNzY4cHgpIGFuZCAobWF4LWRldmljZS13aWR0aDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5tb2QtdG9wTWFyZ2luSW5jb21lIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6IDc2OHB4KSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLm1vZC10b3BNYXJnaW5JbmNvbWUge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzY4cHgpIHtcbiAgICAubW9kLXRvcE1hcmdpbkluY29tZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgIH1cbn0iLCIjZ3JhcGhfcmVnaW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1vZC10b3BNYXJnaW5SZWdpb24ge1xuICAgIG1hcmdpbi10b3A6IDI4MHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI0cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLm1vZC10b3BNYXJnaW5SZWdpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNzY4cHgpIHtcbiAgICAubW9kLXRvcE1hcmdpblJlZ2lvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM4MHB4O1xuICAgIH1cbn0iLCIjZ3JhcGhfY29weXJpZ2h0IHtcbiAgICB3aWR0aDogODAlO1xuICAgIHBhZGRpbmc6IDAgMTAlIDAgMTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbiNncmFwaF9jb3B5cmlnaHRfdGV4dCB7XG4gICAgY29sb3I6ICRsaWdodC1XaGl0ZS1Db2xvcjtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDQwcHggMCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJG9yYW5nZS1Db2xvci1hO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICAgIH1cbiAgICB9XG59IiwiI2dyYXBoX3Rvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMnB4IDEwcHggMTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9oZWFkbGluZSB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlLUNvbG9yLWE7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB9XG5cbiAgICAmX2RpdmlkZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2VjZWNlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiA2cHggMCA2cHggMDtcbiAgICB9XG5cbiAgICAmX2F0dHIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYjtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuXG4gICAgJl9ib3R0b20ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgI2dyYXBoX3Rvb2x0aXBfdmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGUtQ29sb3ItYTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1hO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAjZ3JhcGhfdG9vbHRpcF9wZXJjIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlLUNvbG9yLWE7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm1hcHBpbmdzIjoiQUNBQSw0REFBNEQ7QUFFNUQ7Ozs7R0FJRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLFVBQVc7RUFBRSxPQUFPO0VBQ2pDLG9CQUFvQixFQUFFLElBQUs7RUFBRSxPQUFPO0VBQ3BDLHdC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 */
