﻿@charset "UTF-8";
.header-util-link, .header-mainBtn, .header-nav-link_level_2, .header-nav-child-link {
  text-decoration: none; }
  .header-util-link:hover, .header-mainBtn:hover, .header-nav-link_level_2:hover, .header-nav-child-link:hover, .header-util-link:focus, .header-mainBtn:focus, .header-nav-link_level_2:focus, .header-nav-child-link:focus {
    text-decoration: underline; }

/* clear fix */
.u-cf:after, .l-row:after, .l-row-wrap:after, .l-row-inner:after, .l-row-60-40:after, .l-content_indent:after, .l-box:after, .header-util:after, .header-nav-promos:after, .footer:after, .footer-top:after, .footer-top-nav:after, .footer-bottom-nav-list:after, .breadcrumbs-nav:after, .fieldGroup:after, .fr:after, .linkGroup:after, .promo:after, .l-content_indent.hubPromoBlock:after, .readyToRegister:after, .aToZ:after, .statsBlock:after, .locations-wrap:after, .locations-map:after, .locationDetails-container .locationDetails:after, .speakerBlock:after, .listing:after, .listingBlock:after, .listingBlock-content:after, .listingBlock-details:after, .pagination:after, .hgroup:after, .slider:after, .eventSearchBlock:after, .linkTabs:after, .syllabus:after, .siteSearchBlock:after, .researchSearchBlock:after, .searchResults:after, .searchResultsZebra:after, .searchResultDetails:after, .searchResultDetails-header:after, .accountantListing:after, .formSteps:after, .slickSlider:after, .tabsAccordion-contents-item-inner:after, .promoSlider:after, .homeCaseStudySlider:after, .nc-styleguide-block:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.header-nav-items_level_1, .header-nav-items_level_2, .dropdown-items_header, .syllabus-tabs, .syllabus-index {
  margin: 0;
  padding: 0;
  list-style-type: none; }

/* consistent block bottom margin */
/* consistent block padding */
/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}

Here are example usages in HTML:

`display: block` sprite:
<div class="icon-home"></div>

`display: inline-block` sprite:
<img class="icon-home" />
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
/* mobiles */
@media all and (max-width: 37.5em) {
  .desktop-only,
  .tablet-only,
  .not-mobile {
    display: none; } }

/* tablets */
@media all and (min-width: 641px) and (max-width: 47.938em) {
  .desktop-only,
  .mobile-only,
  .not-tablet {
    display: none; } }

/* desktop */
@media all and (min-width: 48em) {
  .mobile-only,
  .tablet-only,
  .not-desktop {
    display: none !important; } }

/* grid */
/* Greys from dark to light */
/* Components themes */
/* ########################### */
/* Web fonts */
/*! 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; }

/*------------------------------------*  #RESET
\*------------------------------------*/
/**
 * A very simple reset that sits on top of Normalize.css.
 */
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
figure, address,
table, th, td, caption,
hr {
  margin: 0;
  padding: 0; }

address {
  font-style: normal; }

/*------------------------------------*  #BOX-SIZING
\*------------------------------------*/
/**
 * More sensible default box-sizing:
 * css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
 */
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

.u-offscreen, .wysiwyg table caption, .textColourBlock table caption,
.mceContentBody table caption, table.tableColoured caption, table.tablePlum caption,
.js .u-jsOffscreen,
.nojs .u-noJsOffscreen {
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  position: absolute; }

.u-disabled {
  cursor: default !important; }

.u-hide,
.nojs .u-noJsHide,
.js .u-jsHide {
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  position: absolute;
  display: none !important;
  visibility: hidden !important; }

@media only screen and (min-width: 61.25em) {
  .u-mobileOnly,
  .u-tabletOnly
.u-notDesktop {
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0);
    position: absolute;
    display: none !important;
    visibility: hidden !important; } }

@media only screen and (max-width: 61.188em) and (min-width: 48em) {
  .u-mobileOnly,
  .u-desktopOnly,
  .u-notTablet {
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0);
    position: absolute;
    display: none !important;
    visibility: hidden !important; } }

@media only screen and (max-width: 47.938em) {
  .u-tabletOnly,
  .u-desktopOnly,
  .u-notMobile {
    margin: -1px;
    padding: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip: rect(0, 0, 0, 0);
    position: absolute;
    display: none !important;
    visibility: hidden !important; } }

/*------------------------------------*  #SHARED
\*------------------------------------*/
body {
  color: #4d4d4f;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
  background: #fff;
  font-family: Arial, "Helvetica Neue", "Helvetica", sans-serif;
  overflow-x: hidden; }

/**
 * Shared declarations for certain elements.
 */
/**
 * Always declare margins in the same direction:
 * csswizardry.com/2012/06/single-direction-margin-declarations
 */
h1, h2, h3, h4, h5, h6,
ul, ol, dl,
blockquote, p, address,
hr,
table,
fieldset, figure,
pre {
  margin-bottom: 25px; }

/*------------------------------------*  #LINKS
\*------------------------------------*/
/**
 * Default styles for simple hyperlinks.
 */
a {
  color: #d50058;
  text-decoration: underline; }

/*------------------------------------*    #IMAGES
\*------------------------------------*/
/**
 * 1. Fluid images for responsive purposes.
 * 2. Offset `alt` text from surrounding copy.
 * 3. Setting `vertical-align` removes the whitespace that appears under `img`
 *    elements when they are dropped into a page as-is. Safer alternative to
 *    using `display: block;`.
 */
img {
  max-width: 100%;
  /* [1] */
  font-style: italic;
  /* [2] */
  vertical-align: middle;
  /* [3] */ }

/*------------------------------------*    #WYSIWYG elements
\*------------------------------------*/
.wysiwyg, .textColourBlock,
.mceContentBody {
  /* default list */
  /* text colours available in WYSIWYG */ }
  .wysiwyg hr, .textColourBlock hr,
  .mceContentBody hr {
    margin-top: 0;
    padding: 0;
    display: block;
    height: 1px;
    color: #d0d0d1;
    border: none;
    background-color: #d0d0d1; }
  .wysiwyg ul, .textColourBlock ul,
  .mceContentBody ul {
    margin-left: 1.2em;
    list-style-type: disc; }
  .wysiwyg ol, .textColourBlock ol,
  .mceContentBody ol {
    margin-left: 1.5em; }
  .wysiwyg .colour-pink, .textColourBlock .colour-pink,
  .mceContentBody .colour-pink {
    color: #d50058; }
  .wysiwyg .colour-pink-light, .textColourBlock .colour-pink-light,
  .mceContentBody .colour-pink-light {
    color: #f06098; }
  .wysiwyg .colour-plum, .textColourBlock .colour-plum,
  .mceContentBody .colour-plum {
    color: #77023f; }
  .wysiwyg .colour-blue, .textColourBlock .colour-blue,
  .mceContentBody .colour-blue {
    color: #0d65ac; }
  .wysiwyg .colour-brown, .textColourBlock .colour-brown,
  .mceContentBody .colour-brown {
    color: #7b6a5d; }
  .wysiwyg .colour-purple, .textColourBlock .colour-purple,
  .mceContentBody .colour-purple {
    color: #993c8e; }
  .wysiwyg .colour-green, .textColourBlock .colour-green,
  .mceContentBody .colour-green {
    color: #31998f; }

/* List with red bullets */
ul.list-bullets {
  clear: both;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-left: 0 !important;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    ul.list-bullets {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  ul.list-bullets > li {
    margin: 0;
    position: relative;
    padding: 0 0 15px 15px;
    padding: 0 0 0.9375rem 0.9375rem; }
    ul.list-bullets > li:last-child {
      padding-bottom: 0; }
    ul.list-bullets > li > p:last-child {
      margin-bottom: 0; }
    @media screen {
      ul.list-bullets > li:before {
        content: '';
        position: absolute;
        left: 0;
        top: 8px;
        width: 6px;
        height: 6px;
        background-color: #d50058;
        border-radius: 10px; }
        .theme_pink ul.list-bullets > li:before {
          background-color: #fff; } }

/* List with bullets and borders */
.list-bullets-borders, .list-borders {
  clear: both;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-left: 0 !important;
  list-style: none !important;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .list-bullets-borders, .list-borders {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .list-bullets-borders > li, .list-borders > li {
    margin: 0;
    position: relative;
    padding: 15px 0 15px 15px;
    padding: 0.9375rem 0 0.9375rem 0.9375rem;
    border-bottom: 1px solid #d0d0d1; }
    .list-bullets-borders > li:first-child, .list-borders > li:first-child {
      border-top: 1px solid #d0d0d1; }
    .list-bullets-borders > li:before, .list-borders > li:before {
      content: '';
      position: absolute;
      left: 0;
      top: 22px;
      width: 6px;
      height: 6px;
      background-color: #d50058;
      border-radius: 10px; }
      .theme_pink .list-bullets-borders > li:before, .theme_pink .list-borders > li:before {
        background-color: #fff; }

/* List with borders */
.list-borders > li {
  padding-left: 0; }
  .list-borders > li h3 {
    font-weight: normal;
    font-size: 22px;
    font-size: 1.375rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .list-borders > li > p {
    margin-bottom: 0; }
  .list-borders > li:before {
    display: none; }

.theme_pink .list-borders {
  color: #fff; }
  .theme_pink .list-borders a {
    color: #fff;
    text-decoration: none; }
    .theme_pink .list-borders a:hover, .theme_pink .list-borders a:active {
      color: inherit;
      text-decoration: underline; }
  .theme_pink .list-borders > li {
    border-color: #f06098; }
    .theme_pink .list-borders > li:first-child {
      border-top: none;
      padding-top: 0; }
    .theme_pink .list-borders > li:last-child {
      border-bottom: none; }

/* List links with arrows */
.list-link-arrow {
  clear: both;
  margin-left: 0 !important;
  list-style: none !important;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .list-link-arrow {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .list-link-arrow > li {
    position: relative;
    margin: 0;
    border-top: 1px solid #d0d0d1; }
    .list-link-arrow > li:last-child {
      border-bottom: 1px solid #d0d0d1; }
      .list-link-arrow > li:last-child a {
        padding-bottom: 15px !important; }
  .list-link-arrow > li > a {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 15px 0;
    padding: 0.9375rem 0;
    padding-right: 40px;
    padding-right: 2.5rem;
    text-decoration: none;
    position: relative; }
    .list-link-arrow > li > a:hover, .list-link-arrow > li > a:active {
      color: inherit;
      text-decoration: underline; }
    .list-link-arrow > li > a:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -622px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      right: 0;
      top: 50%;
      margin-top: -8px; }
      .no-svg .list-link-arrow > li > a:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -622px -512px; }
      .svg .list-link-arrow > li > a:after {
        background-image: url("../images/svg/arrow-pink-right.svg");
        background-position: 0 0; }
  .list-link-arrow-nav-item:last-child .list-link-arrow-nav-link {
    padding-bottom: 0; }

ul.list-icons {
  clear: both;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-left: 0 !important;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    ul.list-icons {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  ul.list-icons li {
    position: relative;
    padding: 0 0 15px 30px; }
    ul.list-icons li > img {
      position: absolute;
      top: 3px;
      left: 0; }
    ul.list-icons li > p:last-child {
      margin-bottom: 0; }

.listObjectives {
  overflow: hidden;
  clear: both;
  font-weight: bold;
  margin-left: 0 !important;
  margin: 0;
  padding: 0;
  list-style-type: none;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .listObjectives {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .listObjectives > li {
    float: left;
    list-style: none;
    margin-right: 14px;
    margin-right: 0.875rem; }
    .listObjectives > li.theme_plum {
      color: #77023f; }
    .listObjectives > li.theme_pink_light {
      color: #f06098; }
    .listObjectives > li.theme_green {
      color: #31998f; }

/* Email block */
a.emailBox {
  color: #d50058 !important;
  display: block;
  font-weight: bold;
  color: #d50058;
  background-color: #fff;
  text-decoration: none;
  overflow-wrap: break-word;
  word-wrap: break-word;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 15px 5px 15px 45px;
  padding: 0.9375rem 0.3125rem 0.9375rem 2.8125rem;
  position: relative; }
  a.emailBox:hover, a.emailBox:active {
    color: inherit;
    text-decoration: underline; }
  a.emailBox:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -388px -528px;
    width: 33px;
    height: 24px;
    background-size: 33px 24px;
    background-repeat: no-repeat;
    left: 15px;
    top: 18px; }
    .no-svg a.emailBox:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -388px -528px; }
    .svg a.emailBox:before {
      background-image: url("../images/svg/icon-email.svg");
      background-position: 0 0; }
  a.emailBox:hover, a.emailBox:focus, a.emailBox:active {
    text-decoration: underline; }
  @media print {
    a.emailBox {
      padding: 0; }
      a.emailBox:after {
        display: none; } }

img.floatLeft,
img.floatRight {
  float: left;
  max-width: 150px;
  max-width: 9.375rem;
  margin: 0 20px 10px 0;
  margin: 0 1.25rem 0.625rem 0; }
  @media all and (min-width: 30em) {
    img.floatLeft,
    img.floatRight {
      max-width: 100%; } }

img.floatRight {
  float: right;
  margin: 0 0 7px 15px;
  margin: 0 0 0.4375rem 0.9375rem; }

.stopFloat {
  clear: both; }

.media-rwd {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }
  .media-rwd iframe, .media-rwd object, .media-rwd embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*------------------------------------*    #Shared placeholders
\*------------------------------------*/
.slider-prev, .slickSlider .slick-prev, .slider-next, .slickSlider .slick-next {
  display: block;
  position: absolute;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  z-index: 999;
  background: #fff;
  font-size: 0;
  line-height: 0;
  text-decoration: none;
  width: 58px;
  width: 3.625rem;
  height: 58px;
  height: 3.625rem;
  position: relative; }
  .slider-prev:before, .slickSlider .slick-prev:before, .slider-next:before, .slickSlider .slick-next:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -488px -562px;
    width: 14px;
    height: 27px;
    background-size: 14px 27px;
    background-repeat: no-repeat;
    left: 50%;
    margin-left: -7px;
    top: 50%;
    margin-top: -13.5px; }
    .no-svg .slider-prev:before, .no-svg .slickSlider .slick-prev:before, .slickSlider .no-svg .slick-prev:before, .no-svg .slider-next:before, .no-svg .slickSlider .slick-next:before, .slickSlider .no-svg .slick-next:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -488px -562px; }
    .svg .slider-prev:before, .svg .slickSlider .slick-prev:before, .slickSlider .svg .slick-prev:before, .svg .slider-next:before, .svg .slickSlider .slick-next:before, .slickSlider .svg .slick-next:before {
      background-image: url("../images/svg/arrow-pink-right-large.svg");
      background-position: 0 0; }

.slider-prev, .slickSlider .slick-prev {
  position: relative; }
  .slider-prev:before, .slickSlider .slick-prev:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -473px -562px;
    width: 15px;
    height: 27px;
    background-size: 15px 27px;
    background-repeat: no-repeat;
    left: 50%;
    margin-left: -7px;
    top: 50%;
    margin-top: -13.5px; }
    .no-svg .slider-prev:before, .no-svg .slickSlider .slick-prev:before, .slickSlider .no-svg .slick-prev:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -473px -562px; }
    .svg .slider-prev:before, .svg .slickSlider .slick-prev:before, .slickSlider .svg .slick-prev:before {
      background-image: url("../images/svg/arrow-pink-left-large.svg");
      background-position: 0 0; }

/*------------------------------------*  #HEADINGS
\*------------------------------------*/
/* Default */
h1 {
  font-weight: normal;
  line-height: normal;
  font-size: 30px;
  font-size: 1.875rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  line-height: 1; }
  @media screen and (min-width: 48em) {
    h1 {
      font-size: 36px;
      font-size: 2.25rem; } }
  @media screen and (min-width: 61.25em) {
    h1 {
      font-size: 46px;
      font-size: 2.875rem;
      margin-bottom: 25px;
      margin-bottom: 1.5625rem; } }

h2 {
  font-weight: normal;
  line-height: normal;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  font-size: 20px;
  font-size: 1.25rem; }
  @media screen and (min-width: 48em) {
    h2 {
      font-size: 22px;
      font-size: 1.375rem;
      margin-bottom: 20px;
      margin-bottom: 1.25rem; } }

.strongHeading {
  line-height: normal;
  font-weight: normal;
  line-height: normal;
  font-size: 22px;
  font-size: 1.375rem;
  color: #d50058; }
  @media screen and (min-width: 48em) {
    .strongHeading {
      font-size: 24px;
      font-size: 1.5rem;
      margin-bottom: 30px;
      margin-bottom: 1.875rem; } }

h3 {
  font-weight: normal;
  line-height: normal;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  font-weight: bold; }
  @media screen and (min-width: 48em) {
    h3 {
      font-size: 18px;
      font-size: 1.125rem;
      margin-bottom: 20px;
      margin-bottom: 1.25rem; } }

h4 {
  font-weight: normal;
  line-height: normal;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  font-weight: bold; }

/* Lead header with a background colour */
.leadTitle_grey,
.leadTitle_pink,
.leadTitle_plum,
.leadTitle_blue {
  color: #fff;
  background-color: #4d4d4f;
  padding: 15px;
  padding: 0.9375rem;
  line-height: normal;
  font-weight: normal;
  line-height: normal;
  font-size: 22px;
  font-size: 1.375rem; }
  @media screen and (min-width: 48em) {
    .leadTitle_grey,
    .leadTitle_pink,
    .leadTitle_plum,
    .leadTitle_blue {
      font-size: 24px;
      font-size: 1.5rem;
      margin-bottom: 30px;
      margin-bottom: 1.875rem; } }
  .leadTitle_grey a,
  .leadTitle_pink a,
  .leadTitle_plum a,
  .leadTitle_blue a {
    color: #fff; }
  @media all and (min-width: 61.25em) {
    .leadTitle_grey,
    .leadTitle_pink,
    .leadTitle_plum,
    .leadTitle_blue {
      padding: 15px 30px;
      padding: 0.9375rem 1.875rem; } }

.leadTitle_pink {
  background-color: #d50058; }

.leadTitle_plum {
  background-color: #77023f; }

.leadTitle_blue {
  background-color: #0d65ac; }

/* SITE LAYOUT SUSY ************************************* */
/* layout */
/* Establish layout container */
.l-row {
  clear: both; }
  .l-row-wrap {
    position: relative;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    .l-row-wrap:after {
      content: " ";
      display: block;
      clear: both; }
    .lt-ie9 .l-row-wrap {
      width: 1200px !important; }
  .l-row-inner {
    clear: both;
    margin: 0 20px; }

/* Layout: 60-40 */
@media all and (min-width: 48em) {
  .l-row-60-40 .l-col-60 {
    float: left;
    width: 62.5%; }
  .l-row-60-40 .l-col-40 {
    float: right;
    width: 35%; } }

/* Layout: flip ; */
@media all and (min-width: 48em) {
  .l-row-60-40_flip .l-col-60 {
    float: left; }
  .l-row-60-40_flip .l-col-40 {
    float: right; } }

/* Content indent */
.l-content_indent {
  background-color: #fff; }

.l-row-100 .l-content_indent {
  padding-top: 15px; }
  @media all and (min-width: 61.25em) {
    .l-row-100 .l-content_indent {
      padding: 30px;
      padding-bottom: 0; } }
  @media all and (min-width: 64.063em) {
    .l-row-100 .l-content_indent {
      padding: 30px 10%; } }

.l-col-60 .l-content_indent {
  padding-top: 15px; }
  @media all and (min-width: 64.063em) {
    .l-col-60 .l-content_indent {
      padding: 30px 0 0 16%; } }

/* Nested blocks ************************************* */
.l-box {
  clear: both;
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .l-box-col {
    margin: 0;
    padding: 0;
    list-style-type: none; }

/* NESTED in 100% layout */
.l-row-100 {
  /* 2 columns */
  /* 3 columns */
  /* 4 columns */ }
  @media only all and (min-width: 30em) {
    .l-row-100 .l-box_50-50 .l-box-col {
      width: 48.57142857%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_50-50 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only screen and (min-width: 30em) and (max-width: 47.938em) {
    .l-row-100 .l-box_30-30-30 .l-box-col {
      width: 48.57142857%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_30-30-30 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only screen and (min-width: 48em) {
    .l-row-100 .l-box_30-30-30 .l-box-col {
      width: 31.42857143%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_30-30-30 .l-box-col:nth-of-type(3n + 1) {
        clear: both;
        margin-left: 0; } }
  @media print {
    .l-row-100 .l-box_30-30-30 .l-box-col {
      width: 31.42857143%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_30-30-30 .l-box-col:nth-of-type(3n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only screen and (min-width: 30em) and (max-width: 61.188em) {
    .l-row-100 .l-box_25-25-25-25 .l-box-col {
      width: 48.57142857%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_25-25-25-25 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only screen and (min-width: 61.25em) {
    .l-row-100 .l-box_25-25-25-25 .l-box-col {
      width: 22.85714286%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_25-25-25-25 .l-box-col:nth-of-type(4n + 1) {
        clear: both;
        margin-left: 0; } }
  @media print {
    .l-row-100 .l-box_25-25-25-25 .l-box-col {
      width: 22.85714286%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row-100 .l-box_25-25-25-25 .l-box-col:nth-of-type(4n + 1) {
        clear: both;
        margin-left: 0; } }

/* @end */
/* NESTED in 40-60 / 60-40 layout */
.l-row_40-60 .l-row-col_last,
.l-row_60-40 .l-row-col_first {
  /* 2 columns */
  /* 2 columns 40:60 / 60:40; */
  /* 3 columns */ }
  @media only screen and (min-width: 30em) and (max-width: 47.938em) {
    .l-row_40-60 .l-row-col_last .l-box_50-50 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_50-50 .l-box-col {
      width: 48.57142857%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row_40-60 .l-row-col_last .l-box_50-50 .l-box-col:nth-of-type(2n + 1),
      .l-row_60-40 .l-row-col_first .l-box_50-50 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only all and (min-width: 48em) {
    .l-row_40-60 .l-row-col_last .l-box_50-50 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_50-50 .l-box-col {
      width: 47.82608696%;
      float: left;
      margin-left: 4.34782609%; }
      .l-row_40-60 .l-row-col_last .l-box_50-50 .l-box-col:nth-of-type(2n + 1),
      .l-row_60-40 .l-row-col_first .l-box_50-50 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only screen and (min-width: 37.5em) and (max-width: 47.938em) {
    .l-row_40-60 .l-row-col_last .l-box_40-60 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_40-60 .l-box-col {
      width: 65.71428571%;
      float: left;
      margin-left: 2.85714286%; }
    .l-row_40-60 .l-row-col_last .l-box_40-60 .l-box-col:nth-of-type(2n+1),
    .l-row_60-40 .l-row-col_first .l-box_40-60 .l-box-col:nth-of-type(2n+1) {
      width: 31.42857143%;
      float: left;
      margin-left: 0; }
    .l-row_40-60 .l-row-col_last .l-box_60-40 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_60-40 .l-box-col {
      width: 31.42857143%;
      float: left;
      margin-left: 2.85714286%; }
    .l-row_40-60 .l-row-col_last .l-box_60-40 .l-box-col:nth-of-type(2n+1),
    .l-row_60-40 .l-row-col_first .l-box_60-40 .l-box-col:nth-of-type(2n+1) {
      width: 65.71428571%;
      float: left;
      margin-left: 0; } }
  @media only screen and (min-width: 48em) {
    .l-row_40-60 .l-row-col_last .l-box_40-60 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_40-60 .l-box-col {
      width: 60.86956522%;
      float: left;
      margin-left: 4.34782609%; }
    .l-row_40-60 .l-row-col_last .l-box_40-60 .l-box-col:nth-of-type(2n+1),
    .l-row_60-40 .l-row-col_first .l-box_40-60 .l-box-col:nth-of-type(2n+1) {
      width: 34.7826087%;
      float: left;
      margin-left: 0; }
    .l-row_40-60 .l-row-col_last .l-box_60-40 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_60-40 .l-box-col {
      width: 34.7826087%;
      float: left;
      margin-left: 4.34782609%; }
    .l-row_40-60 .l-row-col_last .l-box_60-40 .l-box-col:nth-of-type(2n+1),
    .l-row_60-40 .l-row-col_first .l-box_60-40 .l-box-col:nth-of-type(2n+1) {
      width: 60.86956522%;
      float: left;
      margin-left: 0; } }
  @media only screen and (min-width: 30em) and (max-width: 47.938em) {
    .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col {
      width: 48.57142857%;
      float: left;
      margin-left: 2.85714286%; }
      .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col:nth-of-type(2n + 1),
      .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only screen and (min-width: 48em) and (max-width: 61.188em) {
    .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col {
      width: 47.82608696%;
      float: left;
      margin-left: 4.34782609%; }
      .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col:nth-of-type(2n + 1),
      .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; } }
  @media only all and (min-width: 61.25em) {
    .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col {
      width: 30.42608696%;
      float: left;
      margin-left: 4.34782609%; }
      .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col:nth-of-type(3n + 1),
      .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col:nth-of-type(3n + 1) {
        clear: both;
        margin-left: 0; } }
  @media print {
    .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col,
    .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col {
      width: 30.42608696%;
      float: left;
      margin-left: 4.34782609%; }
      .l-row_40-60 .l-row-col_last .l-box_30-30-30 .l-box-col:nth-of-type(3n + 1),
      .l-row_60-40 .l-row-col_first .l-box_30-30-30 .l-box-col:nth-of-type(3n + 1) {
        clear: both;
        margin-left: 0; } }

/* @end */
/* old IE fix (.u-cf class is added by JS) */
.lt-ie9 .l-box-col.u-cf {
  clear: both;
  margin-left: 0 !important; }

.header {
  background-color: #eeeeef;
  margin: 0; }
  .header:before {
    content: "normal";
    display: none; }
  .header-util {
    max-width: 1200px;
    margin: 0 auto; }
    .header-util-items {
      float: left; }
      .header-util-items:first-child {
        margin-left: 40px; }
      .header-util-items_right {
        float: right; }
    .header-util-item {
      float: left;
      display: block;
      margin: 0 40px 0 0;
      padding: 0; }
      .header-util-item_dropdown {
        position: relative; }
    .header-util-link {
      color: #4d4d4f;
      font-size: 13px;
      display: block;
      line-height: 45px;
      height: 45px; }
      .header-util-link_dropdown {
        padding-right: 32px;
        position: relative; }
        .header-util-link_dropdown:after {
          content: '';
          position: absolute;
          display: block;
          width: 13px;
          height: 8px;
          background-position: -156px -630px;
          background-image: url(../images/sheets/sprite.png);
          background-size: 17px 31px;
          background-repeat: no-repeat;
          right: 5px;
          top: 50%;
          margin-top: -4px; }
          .no-svg .header-util-link_dropdown:after {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -156px -630px; }
          .svg .header-util-link_dropdown:after {
            background-image: url("../images/svg/arrows-pink-small.svg");
            background-position: -2px -23px; }
        .header-util-link_dropdown.header-util-link_dropdownOpen:after {
          display: block;
          width: 13px;
          height: 9px;
          background-position: -156px -607px;
          background-image: url(../images/sheets/sprite.png);
          background-size: 17px 31px;
          background-repeat: no-repeat; }
          .no-svg .header-util-link_dropdown.header-util-link_dropdownOpen:after {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -156px -607px; }
          .svg .header-util-link_dropdown.header-util-link_dropdownOpen:after {
            background-image: url("../images/svg/arrows-pink-small.svg");
            background-position: -2px 0; }
      .header-util-link_icon_events {
        padding-left: 33px;
        position: relative; }
        .header-util-link_icon_events:before {
          content: '';
          position: absolute;
          display: block;
          background-image: url(../images/sheets/sprite.png);
          background-position: -719px -528px;
          width: 20px;
          height: 20px;
          background-size: 20px 20px;
          background-repeat: no-repeat;
          left: 0;
          top: 50%;
          margin-top: -12px; }
          .no-svg .header-util-link_icon_events:before {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -719px -528px; }
          .svg .header-util-link_icon_events:before {
            background-image: url("../images/svg/datepicker.svg");
            background-position: 0 0; }
      .header-util-link_icon_rni {
        padding-left: 33px;
        position: relative; }
        .header-util-link_icon_rni:before {
          content: '';
          position: absolute;
          display: block;
          background-image: url(../images/sheets/sprite.png);
          background-position: -619px -528px;
          width: 20px;
          height: 20px;
          background-size: 20px 20px;
          background-repeat: no-repeat;
          left: 0;
          top: 50%;
          margin-top: -12px; }
          .no-svg .header-util-link_icon_rni:before {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -619px -528px; }
          .svg .header-util-link_icon_rni:before {
            background-image: url("../images/svg/icon-research.svg");
            background-position: 0 0; }
      .header-util-link_icon_login {
        padding-left: 33px;
        position: relative; }
        .header-util-link_icon_login:before {
          content: '';
          position: absolute;
          display: block;
          background-image: url(../images/sheets/sprite.png);
          background-position: -679px -528px;
          width: 20px;
          height: 20px;
          background-size: 20px 20px;
          background-repeat: no-repeat;
          left: 0;
          top: 50%;
          margin-top: -12px; }
          .no-svg .header-util-link_icon_login:before {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -679px -528px; }
          .svg .header-util-link_icon_login:before {
            background-image: url("../images/svg/icon-login.svg");
            background-position: 0 0; }
      .header-util-link_icon_search {
        padding-left: 33px;
        position: relative; }
        .header-util-link_icon_search:before {
          content: '';
          position: absolute;
          display: block;
          background-image: url(../images/sheets/sprite.png);
          background-position: -699px -528px;
          width: 20px;
          height: 20px;
          background-size: 20px 20px;
          background-repeat: no-repeat;
          left: 0;
          top: 50%;
          margin-top: -12px; }
          .no-svg .header-util-link_icon_search:before {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -699px -528px; }
          .svg .header-util-link_icon_search:before {
            background-image: url("../images/svg/icon-search.svg");
            background-position: 0 0; }
  .header-searchWrapper {
    position: relative; }
  .header-search {
    background: #eeeeef;
    margin: 0;
    padding: 10px 0 0 30px;
    display: table;
    width: 100%;
    height: 45px;
    font-size: 0;
    position: relative; }
    .lt-ie10 .header-search {
      min-width: 450px; }
    .header-search:before {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -699px -528px;
      width: 20px;
      height: 20px;
      background-size: 20px 20px;
      background-repeat: no-repeat;
      left: 20px;
      top: 50%;
      margin-top: -10px; }
      .no-svg .header-search:before {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -699px -528px; }
      .svg .header-search:before {
        background-image: url("../images/svg/icon-search.svg");
        background-position: 0 0; }
    .header-search-input {
      display: table-cell !important;
      vertical-align: middle;
      height: auto;
      font-size: 15px;
      padding: 5px 35px 0 20px !important;
      border: none;
      background: none;
      min-width: 370px;
      border: none !important;
      outline: none; }
    .header-search-close {
      font-size: 15px;
      border: 0;
      background: none;
      position: absolute;
      right: 0;
      top: 15px;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -755px -512px;
      width: 16px;
      height: 16px;
      background-size: 16px 16px;
      background-repeat: no-repeat; }
      .no-svg .header-search-close {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -755px -512px; }
      .svg .header-search-close {
        background-image: url("../images/svg/cross.svg");
        background-position: 0 0; }
      .header-search-close:hover, .header-search-close:focus {
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -771px -512px;
        width: 16px;
        height: 16px;
        background-size: 16px 16px;
        background-repeat: no-repeat; }
        .no-svg .header-search-close:hover, .no-svg .header-search-close:focus {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -771px -512px; }
        .svg .header-search-close:hover, .svg .header-search-close:focus {
          background-image: url("../images/svg/cross-pink.svg");
          background-position: 0 0; }
  .header-mainLogo {
    background: #FFF;
    max-width: 1200px;
    margin: 0 auto 1px; }
  .header-logo {
    margin: 24px 40px;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: 0px -512px;
    width: 292px;
    height: 50px;
    background-size: 292px 50px;
    background-repeat: no-repeat; }
    .no-svg .header-logo {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: 0px -512px; }
    .svg .header-logo {
      background-image: url("../images/svg/logo.svg");
      background-position: 0 0; }

   .header-gbslogo {
    margin: 24px 40px;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: 0px -512px;
    width: 292px;
    height: 50px;
    background-size: 292px 50px;
    background-repeat: no-repeat; }
    .no-svg .header-gbslogo {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: 0px -512px; }
    .svg .header-gbslogo {
      background-image: url("../images/svg/gbs-logo.svg");
      background-position: 0 0; }

  .header-mainBtn {
    display: block;
    margin: 24px 40px;
    color: #FFF;
    background: #d50058;
    padding: 12px 50px;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    text-align: center; }
  .header-nav {
    background: #FFF;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    position: relative;
    z-index: 1000; }
    .header-nav-items_level_1 {
      display: block;
      text-align: justify;
      font-size: 0.04px; }
      .header-nav-items_level_1:after {
        width: 100%;
        content: '';
        display: inline-block; }
    .header-nav-items_level_2 {
      display: block;
      float: left;
      width: 25%;
      padding: 20px 0; }
    .header-nav-item_level_1 {
      font-size: 16px;
      display: inline-block;
      padding: 0; }
      @media screen and (min-width: 48em) and (max-width: 900px) {
        .header-nav-item_level_1 {
          font-size: 15px;
          margin: 0 10px 0 0; } }
    .header-nav-item_level_2 {
      display: block;
      border-top: 1px solid #eeeeef;
      padding: 10px 0; }
      .header-nav-item_level_2:first-child {
        border-top: 0; }
    .header-nav-item-child {
      text-align: left;
      display: none;
      position: absolute;
      top: 99.8%;
      left: 0;
      right: 0;
      background: #FFF;
      z-index: 1;
      border-bottom: 3px solid #d50058;
      padding-left: 40px; }
      .header-nav-item-child:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #eeeeef; }
    .header-nav-item:hover .header-nav-item-child, .header-nav-item:focus .header-nav-item-child, .header-nav-item_open .header-nav-item-child {
      display: block; }
    .header-nav-link_level_1 {
      display: inline-block;
      color: #4d4d4f;
      text-decoration: none;
      line-height: 44px;
      height: 44px; }
      .header-nav-link_level_1:hover, .header-nav-link_level_1:focus, .header-nav-link_level_1.header-nav-link_open, .header-nav-link_level_1.header-nav-link_selected {
        outline: none;
        line-height: 38px;
        height: 41px;
        border-bottom: 3px solid #d50058; }
    .header-nav-link_level_2 {
      display: block;
      padding: 5px 45px 5px 0;
      font-weight: bold;
      font-size: 13px;
      position: relative; }
      .header-nav-link_level_2:after {
        content: '';
        position: absolute;
        display: block;
        width: 8px;
        height: 13px;
        background-position: -163px -616px;
        background-image: url(../images/sheets/sprite.png);
        background-size: 17px 31px;
        background-repeat: no-repeat;
        right: 30px;
        top: 50%;
        margin-top: -6.5px; }
        .no-svg .header-nav-link_level_2:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -163px -616px; }
        .svg .header-nav-link_level_2:after {
          background-image: url("../images/svg/arrows-pink-small.svg");
          background-position: -9px -9px; }
    .header-nav-promos {
      width: 50%;
      float: left;
      background-color: #eeeeef;
      display: table; }
      .header-nav-promos-item {
        display: table-cell;
        padding: 30px;
        width: 50%;
        border-left: 1px solid #fff; }
        .header-nav-promos-item:first-child {
          border: none; }
      .header-nav-promos-item-link {
        text-decoration: none; }
        .header-nav-promos-item-link:hover .header-nav-promos-item-btn, .header-nav-promos-item-link:focus .header-nav-promos-item-btn {
          text-decoration: underline; }
      .header-nav-promos-item-title {
        color: #d50058;
        font-weight: normal;
        line-height: normal;
        margin-bottom: 15px;
        margin-bottom: 0.9375rem;
        font-size: 20px;
        font-size: 1.25rem; }
      .header-nav-promos-item-text {
        color: #4d4d4f; }
      .header-nav-promos-item-btn {
        margin-bottom: 0; }
    .header-nav-child-link {
      margin: 20px 0;
      display: block;
      color: #FFF;
      background: #d50058;
      float: left;
      width: 21.5%;
      margin-right: 3.5%;
      text-align: center;
      padding: 19px 50px 19px 30px;
      font-weight: bold;
      font-size: 15px;
      position: relative; }
      .header-nav-child-link:after {
        content: '';
        position: absolute;
        display: block;
        width: 11px;
        height: 16px;
        background-position: -99px -618px;
        background-image: url(../images/sheets/sprite.png);
        background-size: 22px 38px;
        background-repeat: no-repeat;
        right: 22px;
        top: 50%;
        margin-top: -8px; }
        .no-svg .header-nav-child-link:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -99px -618px; }
        .svg .header-nav-child-link:after {
          background-image: url("../images/svg/arrows-white.svg");
          background-position: -11px -11px; }
  .header-myCIMA {
    display: inline-block;
    padding-right: 40px;
    text-transform: uppercase;
    color: #d50058;
    font-weight: bold;
    position: relative; }
    .header-myCIMA:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -659px -528px;
      width: 20px;
      height: 20px;
      background-size: 20px 20px;
      background-repeat: no-repeat;
      right: 10px;
      top: 50%;
      margin-top: -12px; }
      .no-svg .header-myCIMA:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -659px -528px; }
      .svg .header-myCIMA:after {
        background-image: url("../images/svg/icon-account.svg");
        background-position: 0 0; }

@media only screen and (max-width: 61.188em) and (min-width: 48em) {
  .header-util-items, .header-logo, .header-util-items:first-child {
    margin-left: 30px; }
  .header-mainBtn {
    margin-right: 15px; }
  .header-nav {
    padding-left: 30px;
    padding-right: 15px; }
  .header-util-link_icon_search {
    padding-left: 20px; }
  .header-nav-items_level_2 {
    width: 34%; }
  .header-nav-promos {
    width: 66%; }
  .header-util-link_dropdown {
    padding-right: 27px; }
  .header-util-link_icon_events, .header-util-link_icon_rni, .header-util-link_icon_login {
    padding-left: 28px; }
  .header-myCIMA {
    padding-right: 30px; }
    .header-myCIMA:after {
      right: 5px; }
  .header-util-item {
    margin-right: 27px; }
  .header-util-items_right {
    margin-left: 0; }
  .header-search-input {
    width: 300px; } }

/* ########################################################################## */
@media only screen and (max-width: 47.938em) {
  .header:before {
    content: "mobile";
    display: none; }
  .header-util {
    display: table;
    width: 100%;
    background: #FFF;
    vertical-align: top;
    border-bottom: 1px solid #D1D1D1; }
    .header-util:after {
      display: none; }
  .header-util-items, .header-util-items:first-child {
    margin: 0;
    display: table-cell;
    float: none;
    vertical-align: inherit;
    width: 100%;
    font-size: 0; }
  .header-util-items_right {
    font-size: 0;
    white-space: nowrap;
    border-left: 1px solid #D1D1D1;
    width: auto; }
  .header-util-item {
    display: inline-block;
    text-align: center;
    float: none;
    margin: 0;
    vertical-align: inherit;
    font-size: 13px; }
    .header-util-item_right {
      width: 40px;
      height: 39px; }
  .header-util-link {
    height: 39px;
    line-height: 39px; }
  .header-util-link_mobileLogo {
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -292px -512px;
    width: 96px;
    height: 40px;
    background-size: 96px 40px;
    background-repeat: no-repeat;
    margin-bottom: -1px; }
    .no-svg .header-util-link_mobileLogo {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -292px -512px; }
    .svg .header-util-link_mobileLogo {
      background-image: url("../images/svg/logo-small.svg");
      background-position: 0 0; }
    .svg .header-util-link_mobileGbsLogo {
      background-image: url("../images/svg/gbs-logo-small.svg");
      background-position: 0 0; }
  .header-util-link_dropdown {
    padding-left: 12px;
    padding-right: 27px; }
  .header-mobileMenuBtn {
    background: #FFF;
    border: 0;
    margin: 0;
    padding: 0;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -759px -528px;
    width: 21px;
    height: 17px;
    background-size: 21px 17px;
    background-repeat: no-repeat;
    display: inline-block;
    box-sizing: content-box;
    border: 1px solid #FFF;
    border-width: 11px 9px 11px 10px; }
    .no-svg .header-mobileMenuBtn {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -759px -528px; }
    .svg .header-mobileMenuBtn {
      background-image: url("../images/svg/hamburger.svg");
      background-position: 0 0; }
    .header-mobileMenuBtn_dropdownOpen {
      background-color: #ededed;
      border-color: #ededed;
      position: relative;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -771px -512px;
      width: 16px;
      height: 16px;
      background-size: 16px 16px;
      background-repeat: no-repeat;
      border-width: 11px 13px 12px 12px; }
      .no-svg .header-mobileMenuBtn_dropdownOpen {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -771px -512px; }
      .svg .header-mobileMenuBtn_dropdownOpen {
        background-image: url("../images/svg/cross-pink.svg");
        background-position: 0 0; }
      .header-mobileMenuBtn_dropdownOpen:before {
        content: '';
        display: block;
        position: absolute;
        width: 1px;
        top: -11px;
        bottom: -12px;
        left: -12px;
        background: #d1d1d1; }
      .header-mobileMenuBtn_dropdownOpen:after {
        content: '';
        display: block;
        position: absolute;
        height: 1px;
        bottom: -13px;
        right: -13px;
        left: -11px;
        background: #ededed; }
  .header-searchWrapper {
    position: static;
    display: inline; }
  .header-search {
    padding: 20px 20px 20px 40px;
    border-bottom: 3px solid #d50058; }
    .header-search-input {
      font-size: 16px;
      min-width: 200px;
      width: 90%;
      overflow: hidden; }
  .header-util-link_icon_search, .header-util-link_icon_login {
    display: block;
    padding: 0; }
    .header-util-link_icon_search:before, .header-util-link_icon_login:before {
      width: 40px;
      height: 39px;
      border: 1px solid transparent;
      border-width: 8px 10px 11px;
      top: 0;
      left: 0;
      right: auto;
      margin: 0; }
      .lt-ie10 .header-util-link_icon_search:before, .lt-ie10 .header-util-link_icon_login:before {
        border-color: #FFF; }
    .header-util-link_icon_search.header-util-link_dropdownOpen, .header-util-link_icon_login.header-util-link_dropdownOpen {
      background-color: #ededed;
      border-color: #ededed;
      height: 40px;
      margin-bottom: -1px;
      position: relative;
      border-left: 1px solid #d1d1d1;
      border-right: 1px solid #d1d1d1; }
      .header-util-link_icon_search.header-util-link_dropdownOpen:before, .header-util-link_icon_login.header-util-link_dropdownOpen:before {
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -771px -512px;
        width: 16px;
        height: 16px;
        background-size: 16px 16px;
        background-repeat: no-repeat;
        width: 38px;
        height: 40px;
        border-width: 11px 11px 12px; }
        .no-svg .header-util-link_icon_search.header-util-link_dropdownOpen:before, .no-svg .header-util-link_icon_login.header-util-link_dropdownOpen:before {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -771px -512px; }
        .svg .header-util-link_icon_search.header-util-link_dropdownOpen:before, .svg .header-util-link_icon_login.header-util-link_dropdownOpen:before {
          background-image: url("../images/svg/cross-pink.svg");
          background-position: 0 0; }
  .header-util-link_icon_login:before {
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -659px -528px;
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    border: 1px solid transparent;
    border-width: 9px 10px 10px;
    width: 40px;
    height: 39px; }
    .no-svg .header-util-link_icon_login:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -659px -528px; }
    .svg .header-util-link_icon_login:before {
      background-image: url("../images/svg/icon-account.svg");
      background-position: 0 0; }
  .header-util-link_icon_login.header-util-link_dropdownOpen {
    border-left: 0; }
    .header-util-link_icon_login.header-util-link_dropdownOpen:before {
      border-width: 11px 10px 13px 12px; }
  .header-mainLogo {
    display: none; }
  .header-nav {
    padding: 0; }
  .header-mainBtn {
    font-weight: normal;
    font-size: 16px;
    padding: 18px;
    margin: 15px; }
  .header-nav-mobileLink {
    color: #4d4d4f;
    font-size: 15px;
    display: block;
    line-height: 20px;
    height: 20px;
    padding-right: 28px;
    text-decoration: none; }
    .header-nav-mobileLink:hover, .header-nav-mobileLink:focus {
      text-decoration: underline; }
    .header-nav-mobileLink_icon_events {
      position: relative; }
      .header-nav-mobileLink_icon_events:after {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -719px -528px;
        width: 20px;
        height: 20px;
        background-size: 20px 20px;
        background-repeat: no-repeat;
        right: 0;
        top: 50%;
        margin-top: -11px; }
        .no-svg .header-nav-mobileLink_icon_events:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -719px -528px; }
        .svg .header-nav-mobileLink_icon_events:after {
          background-image: url("../images/svg/datepicker.svg");
          background-position: 0 0; }
    .header-nav-mobileLink_icon_rni {
      position: relative; }
      .header-nav-mobileLink_icon_rni:after {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -619px -528px;
        width: 20px;
        height: 20px;
        background-size: 20px 20px;
        background-repeat: no-repeat;
        right: 0;
        top: 50%;
        margin-top: -11px; }
        .no-svg .header-nav-mobileLink_icon_rni:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -619px -528px; }
        .svg .header-nav-mobileLink_icon_rni:after {
          background-image: url("../images/svg/icon-research.svg");
          background-position: 0 0; }
  .header-nav-item_level_1 {
    display: block;
    border-bottom: 1px solid #ededed; }
  .header-nav-link_level_1 {
    display: block;
    font-size: 15px;
    line-height: normal;
    padding: 16px 45px 16px 16px;
    font-weight: bold;
    color: #d50058;
    height: auto;
    text-decoration: none; }
    .header-nav-link_level_1:hover, .header-nav-link_level_1:focus {
      text-decoration: underline; }
    .header-nav-link_level_1:hover, .header-nav-link_level_1:focus {
      line-height: normal;
      height: auto;
      border-bottom: none; }
  .header-nav-item_level_1 {
    position: relative;
    background-color: #fff; }
  .header-nav-dropdownToggle {
    position: absolute !important;
    width: 40px;
    height: 40px;
    right: 15px;
    top: 5px;
    border: none;
    background: none;
    position: relative; }
    .header-nav-dropdownToggle:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -819px -512px;
      width: 17px;
      height: 12px;
      background-size: 17px 12px;
      background-repeat: no-repeat;
      right: 10px;
      top: 15px; }
      .no-svg .header-nav-dropdownToggle:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -819px -512px; }
      .svg .header-nav-dropdownToggle:after {
        background-image: url("../images/svg/arrow-pink-down.svg");
        background-position: 0 0; }
    .header-nav-dropdownToggle_dropdownOpen:after {
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
  .header-nav-item-child {
    position: static;
    float: none;
    display: block;
    margin: 0;
    padding: 0;
    background-color: #fff;
    border-bottom: 15px solid #ededed; }
  .header-nav-items_level_2 {
    float: none;
    width: auto;
    padding: 0; }
  .header-nav-item_level_2 {
    padding: 0; }
  .header-nav-link_level_2 {
    font-size: 15px;
    color: #4d4d4f;
    font-weight: normal;
    padding: 13px 15px; }
    .header-nav-link_level_2:after {
      display: none; } }

/* Sticky navigation */
/* mobiles
@media only screen and (max-width : $bp-tablet-down){
    .header.sticky-mobile {
        position: fixed;
        width: 100%;
        left: 0;
        right:0;
        top: 0;
        z-index: 11111111;

        //#loginDropdown.dropdown_open    {
        //     overflow: auto;
        //     height: 80vh;
        //     border: 3px solid $colour-pink;
        //     border-top: none;
        // }
    }
} */
/* large screens */
@media only screen and (min-width: 48em) {
  .header-nav-wrap.sticky-desktop {
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000;
    background-color: #fff;
    box-shadow: 0 0 3px #ccc; }
    .header-nav-wrap.sticky-desktop .header-nav {
      background-color: #fff; }
    .ie8 .header-nav-wrap.sticky-desktop {
      border: 1px solid #ccc; } }

.footer {
  clear: both; }
  .footer .l-content_indent {
    padding-top: 0;
    padding-bottom: 0; }
  .footer a {
    text-decoration: none; }
    .footer a:hover, .footer a:active {
      color: inherit;
      text-decoration: underline; }

/* ###################### Footer top #################### */
/* layout */
.footer-top {
  overflow: hidden;
  background-color: #eeeeef; }
  .footer-top .l-content_indent {
    background-color: #eeeeef; }
  .footer-top-col_first {
    padding-top: 30px;
    padding-top: 1.875rem; }
  .footer-top .footer-newsletter {
    margin-bottom: 40px;
    margin-bottom: 2.5rem; }
    .footer-top .footer-newsletter .xform input[type='submit'] {
      width: 100%; }
    .footer-top .footer-newsletter .xform span {
      color: #4d4d4f;
      text-transform: none; }
    .footer-top .footer-newsletter .xform tr:first-child td {
      padding-bottom: 0; }
    .footer-top .footer-newsletter .xform input[type=text],
    .footer-top .footer-newsletter .xform input[type=email],
    .footer-top .footer-newsletter .xform input[type=password],
    .footer-top .footer-newsletter .xform input[type=number],
    .footer-top .footer-newsletter .xform select {
      display: block;
      width: 100%; }
    .footer-top .footer-newsletter .xform .error {
      display: block;
      padding-top: 5px; }
  @media screen and (min-width: 37.5em) and (max-width: 47.938em) {
    .footer-top-col {
      float: left;
      width: 47%;
      padding: 30px 0;
      padding: 1.875rem 0; }
    .footer-top-col_first {
      margin-right: 6%; }
    .footer-top-col_last {
      clear: both;
      width: 100%; } }
  @media screen and (min-width: 48em) {
    .footer-top-col {
      float: left;
      width: 27%;
      margin-left: 5%;
      padding: 50px 0 40px 0;
      padding: 3.125rem 0 2.5rem 0; }
    .footer-top-col_last {
      width: 36%; }
    .footer-top-col_first {
      margin-left: 0; } }

.footer-top-header, .footer-top .footer-newsletter .xform span {
  font-weight: normal;
  margin: 20px 0;
  margin: 1.25rem 0;
  font-weight: normal;
  line-height: normal;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  font-size: 20px;
  font-size: 1.25rem; }
  @media screen and (min-width: 48em) {
    .footer-top-header, .footer-top .footer-newsletter .xform span {
      font-size: 22px;
      font-size: 1.375rem;
      margin-bottom: 20px;
      margin-bottom: 1.25rem; } }
  @media all and (min-width: 48em) {
    .footer-top-header, .footer-top .footer-newsletter .xform span {
      margin-top: 0; } }

.footer-top-social {
  padding-bottom: 30px;
  padding-bottom: 1.875rem; }

/* Mobile Footer accordion styling */
.footer-top .accordion-trigger {
  display: none; }

@media all and (max-width: 37.5em) {
  .footer-top .accordion_mobile {
    /* if active */ }
    .footer-top .accordion_mobile .accordion-content {
      display: none; }
    .footer-top .accordion_mobile .accordion-header {
      display: none; }
    .footer-top .accordion_mobile .accordion-trigger {
      display: block;
      position: relative;
      color: #4d4d4f;
      text-decoration: none;
      border-bottom: 1px solid #d0d0d1;
      font-size: 20px;
      font-size: 1.25rem;
      padding: 15px 50px 15px 0;
      padding: 0.9375rem 3.125rem 0.9375rem 0;
      position: relative; }
      .footer-top .accordion_mobile .accordion-trigger:after {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -487px -528px;
        width: 22px;
        height: 22px;
        background-size: 22px 22px;
        background-repeat: no-repeat;
        right: 15px;
        top: 50%;
        margin-top: -11px;
        z-index: 1; }
        .no-svg .footer-top .accordion_mobile .accordion-trigger:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -487px -528px; }
        .svg .footer-top .accordion_mobile .accordion-trigger:after {
          background-image: url("../images/svg/plus-grey.svg");
          background-position: 0 0; }
    .footer-top .accordion_mobile .accordion_active .accordion-content {
      display: block; }
    .footer-top .accordion_mobile .accordion_active .accordion-trigger {
      position: relative; }
      .footer-top .accordion_mobile .accordion_active .accordion-trigger:after {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -443px -528px;
        width: 22px;
        height: 22px;
        background-size: 22px 22px;
        background-repeat: no-repeat;
        right: 15px;
        top: 50%;
        margin-top: -11px;
        z-index: 1; }
        .no-svg .footer-top .accordion_mobile .accordion_active .accordion-trigger:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -443px -528px; }
        .svg .footer-top .accordion_mobile .accordion_active .accordion-trigger:after {
          background-image: url("../images/svg/minus-grey.svg");
          background-position: 0 0; } }

/* footer navigation links */
.footer-top-nav {
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .footer-top-nav-item {
    margin: 0; }
    @media all and (min-width: 48em) {
      .footer-top-nav-item:first-child > a {
        border-top: 1px solid #d0d0d1; } }
  .footer-top-nav-link {
    display: block;
    color: #4d4d4f;
    border-bottom: 1px solid #d0d0d1;
    font-weight: bold;
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 15px 0;
    padding: 0.9375rem 0; }

/* ###################### Footer bottom  #################### */
.footer-bottom {
  background-color: #fff;
  font-weight: bold;
  padding-top: 20px;
  padding-top: 1.25rem;
  font-size: 13px;
  font-size: 0.8125rem; }

.footer-bottom-nav-list {
  margin: 0;
  padding: 0;
  list-style-type: none; }

.footer-bottom-nav-item {
  margin: 0;
  padding: 0 0 20px;
  padding: 0 0 1.25rem; }

.footer-bottom-nav-link {
  color: #4d4d4f; }

@media all and (min-width: 37.5em) {
  .footer-bottom-nav {
    float: left;
    width: 85%; }
    .footer-bottom-nav-list {
      display: table; }
    .footer-bottom-nav-item {
      display: table-cell;
      padding-right: 30px;
      padding-right: 1.875rem; }
  .footer-bottom-copyright {
    color: #d50058;
    float: right;
    text-align: right;
    width: 15%; } }

/* right column style */
.asideNav {
  margin-top: 30px;
  margin-top: 1.875rem; }

.asideNav {
  font-size: 14px;
  font-size: 0.875rem; }
  .asideNav div[class*="theme_white"] {
    padding: 0 15px;
    margin-bottom: 30px;
    margin-bottom: 1.875rem; }
    @media all and (min-width: 61.25em) {
      .asideNav div[class*="theme_white"] {
        margin-bottom: 40px;
        margin-bottom: 2.5rem; } }
    @media all and (min-width: 61.25em) {
      .asideNav div[class*="theme_white"] {
        padding-left: 30px;
        padding-right: 30px; } }
  .asideNav .linkGroup,
  .asideNav .textBlock,
  .asideNav .checklist .checklist-nav,
  .asideNav .quote,
  .asideNav .checklist,
  .asideNav .textBlockAside,
  .asideNav .textColourBlock,
  .asideNav .promo,
  .asideNav .pdfDownloadBlock {
    max-width: 300px;
    max-width: 18.75rem; }
  .asideNav .textBlockAside_primary,
  .asideNav .pdfDownloadBlock_primary {
    max-width: 420px;
    max-width: 26.25rem; }
  @media all and (max-width: 320px) {
    .asideNav iframe {
      max-width: 280px !important; } }

@media print {
  .asideNav {
    display: none; } }

/* -------------------------------- 
Basic Style
-------------------------------- */
.breadcrumbs {
  clear: both;
  margin: 0;
  padding: 0;
  background-color: #eeeeef; }
  .breadcrumbs-nav {
    color: #4d4d4f;
    list-style-type: none;
    background-color: #fff;
    margin: 0;
    padding: 10px;
    padding: 0.625rem;
    font-size: 12px;
    font-size: 0.75rem; }
    .breadcrumbs-nav li {
      line-height: 2;
      white-space: nowrap;
      margin: 0;
      float: left;
      position: relative; }
    .breadcrumbs-nav li > * {
      /* single step */
      display: inline-block; }
    .breadcrumbs-nav a {
      color: #d50058;
      text-decoration: none;
      display: block;
      padding: 0 18px 0 0; }
      .breadcrumbs-nav a:hover, .breadcrumbs-nav a:active {
        color: inherit;
        text-decoration: underline; }
      .breadcrumbs-nav a:after {
        content: '/';
        position: absolute;
        top: 0;
        right: 6px; }
        .ie8 .breadcrumbs-nav a:after {
          display: none; }
    .breadcrumbs-nav strong {
      font-weight: normal; }

/* -------------------------------- 

Larger screens

-------------------------------- */
@media all and (min-width: 37.5em) {
  .breadcrumbs-nav {
    /* reset basic style */
    background-color: transparent;
    padding: 0; }
    .breadcrumbs-nav li {
      line-height: 1.5;
      padding: 0;
      margin: 10px 4px 10px 0; }
      .breadcrumbs-nav li:last-of-type {
        margin-right: 0; }
    .breadcrumbs-nav li > * {
      position: relative;
      padding: 8px 10px 8px 25px;
      background-color: #fff;
      /* the border color is used to style its ::after pseudo-element */
      border-color: #fff; }
      .lt-ie9 .breadcrumbs-nav li > * {
        padding: 1em; }
    .breadcrumbs-nav li:first-of-type > * {
      padding-left: 20px; } }
    @media all and (min-width: 37.5em) and (min-width: 48em) {
      .breadcrumbs-nav li:first-of-type > * {
        padding-left: 30px; } }
    @media all and (min-width: 37.5em) and (min-width: 61.25em) {
      .breadcrumbs-nav li:first-of-type > * {
        padding-left: 40px; } }

@media all and (min-width: 37.5em) {
    .breadcrumbs-nav li:last-of-type > * {
      padding-right: 15px; }
    .breadcrumbs-nav li::after, .breadcrumbs-nav li > *::after {
      /* 
					li > *::after is the colored triangle after each item
					li::after is the white separator between two items
				*/
      content: '';
      position: absolute;
      top: 0;
      left: 100%;
      content: '';
      height: 0;
      width: 0;
      /* 48px is the height of the <a> element */
      border: 17px solid transparent;
      border-right-width: 0; }
    .breadcrumbs-nav li::after {
      /* this is the white separator between two items */
      z-index: 1;
      -webkit-transform: translateX(4px);
          -ms-transform: translateX(4px);
              transform: translateX(4px);
      border-left-color: #eeeeef;
      /* reset style */
      margin: 0; }
    .breadcrumbs-nav li > *::after {
      /* this is the colored triangle after each element */
      z-index: 2;
      border-left-color: inherit; }
  @-moz-document url-prefix() {
    .breadcrumbs-nav li::after,
    .breadcrumbs-nav li > *::after {
      /* fix a bug on Firefix - tooth edge on css triangle */
      border-left-style: dashed; } } }

.masterHead {
  background-color: transparent;
  background-repeat: repeat-x;
  background-position: 50% 0;
  background-size: auto auto; }
  .lt-ie9 .masterHead {
    background-repeat: no-repeat; }
  .masterHead .l-row-inner {
    background-color: #fff; }
  @media all and (min-width: 48em) {
    .masterHead .asideNav {
      margin-top: -40px;
      margin-top: -2.5rem; }
      .masterHead .asideNav .social-container:before {
        display: none; } }

.generalPageHeadingBG {
  background: url(../images/assets/contentHeader-bg.gif) repeat-x;
  background-size: 50% 100px; }
  .lt-ie9 .generalPageHeadingBG {
    overflow: hidden;
    min-height: 200px;
    background: url(../images/assets/contentHeader-bg-ie8.png) repeat-x; }

.generalPageHeading {
  clear: both;
  line-height: 1.5;
  background-color: #eeeeef;
  padding: 15px 0;
  padding: 0.9375rem 0;
  font-size: 16px;
  font-size: 1rem;
  min-height: 170px;
  min-height: 10.625rem; }
  @media screen and (min-width: 64.063em) {
    .generalPageHeading {
      padding: 30px;
      padding: 1.875rem; } }
  .generalPageHeading-date {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .generalPageHeading-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .generalPageHeading-title {
        font-size: 36px;
        font-size: 2.25rem; } }
  .generalPageHeading-subtitle {
    line-height: normal;
    font-size: 18px;
    font-size: 1.125rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .generalPageHeading > *:last-child {
    margin-bottom: 0; }

   .generalPageHeading-title-gbsblue {
    color: #001C3A;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }

.widePageHeading {
  background-color: #eeeeef; }
  .widePageHeading .l-row-inner {
    max-width: 720px; }

/* My CIMA profile header */
.generalPageHeading.generalPageHeading_myCima {
  /* layout */ }
  .generalPageHeading.generalPageHeading_myCima .generalPageHeading-title {
    border-bottom: 1px solid #d0d0d1;
    padding-bottom: 15px;
    padding-bottom: 0.9375rem;
    margin-bottom: 25px;
    margin-bottom: 1.5625rem; }
  @media screen and (min-width: 37.5em) {
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-block {
      display: table;
      width: 100%;
      margin: 0; }
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-details,
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-button {
      display: table-cell;
      vertical-align: top; }
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-details > *:last-child {
      margin-bottom: 0; }
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-button {
      vertical-align: bottom; }
      .generalPageHeading.generalPageHeading_myCima .generalPageHeading-button .btn-profile {
        float: right;
        margin: 0; } }
  .generalPageHeading.generalPageHeading_myCima .generalPageHeading-person {
    color: #d50058; }
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-person span {
      color: #4d4d4f;
      display: block; }
  .generalPageHeading.generalPageHeading_myCima .generalPageHeading-contact,
  .generalPageHeading.generalPageHeading_myCima .generalPageHeading-location {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-contact span,
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-location span {
      color: #d50058;
      display: block; }
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-contact a,
    .generalPageHeading.generalPageHeading_myCima .generalPageHeading-location a {
      display: block;
      text-decoration: none; }
      .generalPageHeading.generalPageHeading_myCima .generalPageHeading-contact a:hover, .generalPageHeading.generalPageHeading_myCima .generalPageHeading-contact a:active,
      .generalPageHeading.generalPageHeading_myCima .generalPageHeading-location a:hover,
      .generalPageHeading.generalPageHeading_myCima .generalPageHeading-location a:active {
        color: inherit;
        text-decoration: underline; }

@media print {
  .generalPageHeading {
    margin-bottom: 20px; }
  .generalPageHeading.generalPageHeading_myCima .generalPageHeading-title {
    border: none;
    margin: 0; }
  .generalPageHeading.generalPageHeading_myCima .generalPageHeading-button {
    display: none; } }

/* ==========================================================================
   Forms
   ========================================================================== */
/* reset */
legend {
  display: block;
  border: 0;
  padding: 0;
  white-space: normal;
  *margin-left: -7px; }

fieldset {
  margin: 0;
  padding: 0;
  border: none;
  position: relative; }

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
select,
textarea {
  font-size: 100%;
  font-family: inherit;
  line-height: normal;
  vertical-align: baseline;
  border: none;
  outline: none;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
  font-size: 15px;
  font-size: 0.9375rem; }
  @media screen and (max-device-width: 61.25em) {
    input[type=text],
    input[type=email],
    input[type=password],
    input[type=number],
    input[type=tel],
    input[type=url],
    select,
    textarea {
      font-size: 16px !important;
      -webkit-appearance: none; }
      input[type=text]:focus,
      input[type=email]:focus,
      input[type=password]:focus,
      input[type=number]:focus,
      input[type=tel]:focus,
      input[type=url]:focus,
      select:focus,
      textarea:focus {
        font-size: 16px !important; } }

button[disabled],
input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  border: none;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
  resize: none; }

label span {
  display: block;
  font-size: 14px;
  font-size: 0.875rem; }

abbr {
  border: none;
  font-weight: normal;
  line-height: 2px;
  vertical-align: middle;
  border-bottom-width: 0;
  text-decoration: none;
  font-size: 22px;
  font-size: 1.375rem; }

::-webkit-input-placeholder {
  color: #4d4d4f;
  opacity: .7; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #4d4d4f;
  opacity: .7; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #4d4d4f;
  opacity: .7; }

:-ms-input-placeholder {
  color: #4d4d4f;
  opacity: .7; }

/*Turn Off Number Input Spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0; }

input[type=number] {
  -moz-appearance: textfield; }

/* Form input style (all form types) */
input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
select,
textarea {
  display: inline-block;
  width: 100%;
  margin: 0;
  border: 1px solid #fff;
  padding: 14px 10px;
  padding: 0.875rem 0.625rem; }
  input[type=text]:focus,
  input[type=email]:focus,
  input[type=password]:focus,
  input[type=number]:focus,
  input[type=tel]:focus,
  input[type=url]:focus,
  select:focus,
  textarea:focus {
    border-color: #dedede; }

@media all and (max-device-width: 64em) {
  select {
    background: #fff url(../images/assets/arrow-pink-down.png) no-repeat 98% 50%;
    padding-right: 20px;
    padding-right: 1.25rem;
    font-size: 16px;
    font-size: 1rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    .xform select {
      background-position: 96% 50%; } }

/* if wrapped */
.form-select {
  overflow: hidden;
  background-color: #fff;
  padding: 13px 10px;
  padding: 0.8125rem 0.625rem; }
  .form-select select {
    margin: 0;
    padding: 0;
    border: 1px solid #fff;
    background-color: #fff; }
    .form-select select option {
      background: #fff; }

.form-row {
  margin-bottom: 15px;
  margin-bottom: 0.9375rem; }
  .form-row .btn, .form-row .xform input[type='submit'], .xform .form-row input[type='submit'], .form-row .btn_arrow, .form-row .btn_white_arrow, .form-row .btn_white_border_arrow, .form-row .btn_white, .form-row .btn_white_border, .form-row .btn_media {
    padding: 17px 20px;
    padding: 1.0625rem 1.25rem;
    margin: 2em 0 0 0 !important; }
  .form-row_wide {
    clear: both;
    display: table;
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important; }
    @media all and (min-width: 37.5em) {
      .form-row_wide .form-row-col {
        display: table-cell;
        vertical-align: top; } }

.fieldGroup .form-select {
  float: left;
  width: 32%;
  margin-left: 2%; }
  .fieldGroup .form-select:first-of-type {
    margin-left: 0; }

.error {
  color: #ca2100 !important;
  padding-top: 5px;
  padding-top: 0.3125rem; }

.errorList {
  border: 2px solid #ca2100 !important;
  color: #ca2100 !important;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .errorList {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .errorList ul {
    margin: 0 0 0 2em; }

label, legend {
  display: inline-block;
  margin-bottom: 7px;
  margin-bottom: 0.4375rem;
  font-size: 15px;
  font-size: 0.9375rem; }

.check-radio-box {
  display: block;
  clear: both;
  position: relative;
  padding-left: 25px;
  padding-left: 1.5625rem; }
  .check-radio-box input {
    position: absolute;
    top: 5px;
    top: 0.3125rem;
    left: 0; }

.toggleAttendee input[type='radio'] {
  margin-right: 10px;
  margin-right: 0.625rem; }

.toggleAttendee label {
  display: inline-block !important; }

/* within xform */
.footer-top .footer-newsletter .xform .xformvalidator, .xform .xformvalidator,
.xform .error {
  font-weight: normal;
  line-height: normal;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  font-weight: bold;
  text-transform: none;
  color: #ca2100 !important;
  margin: 5px 0 0 0;
  margin: 0.3125rem 0 0 0; }

.xform {
  font-size: 15px;
  font-size: 0.9375rem; }
  .xform > table {
    border-collapse: collapse;
    width: 100%;
    max-width: 450px;
    max-width: 28.125rem;
    margin-bottom: 0; }
    .xform > table tr td {
      padding-bottom: 25px;
      padding-bottom: 1.5625rem; }
    .xform > table tr:last-child td {
      padding-bottom: 0; }
  .xform h2, .xform span {
    display: block;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    color: #d50058;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .xform h2, .xform span {
        font-size: 36px;
        font-size: 2.25rem; } }
  .xform span.subtitle,
  .xform span.subTitle {
    display: block;
    color: #4d4d4f;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      .xform span.subtitle,
      .xform span.subTitle {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .xform .xformvalidator,
  .xform .error {
    font-weight: normal !important; }
  .xform fieldset label {
    margin-right: 15px; }
  .xform legend {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .xform hr {
    margin-top: 0;
    padding: 0;
    display: block;
    height: 1px;
    color: #d0d0d1;
    border: none;
    background-color: #d0d0d1; }
  .xform input[type='radio'],
  .xform input[type='checkbox'] {
    display: inline-block;
    margin-right: 5px;
    margin-right: 0.3125rem; }

/* create two column if in wide 100% page */
@media all and (min-width: 48em) {
  .l-row-100 .xform table tr {
    clear: both; }
    .l-row-100 .xform table tr > td {
      vertical-align: middle; }
      .l-row-100 .xform table tr > td > label {
        float: left;
        width: 45%;
        margin: 10px 5% 5px 0;
        vertical-align: middle; }
  .l-row-100 .xform table input[type=text],
  .l-row-100 .xform table input[type=email],
  .l-row-100 .xform table input[type=password],
  .l-row-100 .xform table input[type=number],
  .l-row-100 .xform table input[type=tel],
  .l-row-100 .xform table input[type=url],
  .l-row-100 .xform table select {
    display: inline-block;
    width: 50%; } }

@media print {
  .xform {
    display: none; } }

.social-container {
  background-color: #eeeeef; }
  .social-container > h2 {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .social-container > h2 {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  @media screen and (max-width: 47.938em) {
    .social-container {
      max-width: 300px;
      max-width: 18.75rem;
      margin-bottom: 30px !important; } }

.social {
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style-type: none; }
  .social-item {
    margin: 0 5px 5px 0;
    float: left; }
    .social-item:last-child {
      padding: 0; }
  .social-link {
    overflow: hidden;
    text-indent: -9999px;
    display: block;
    border-radius: 50%;
    background-color: #4d4d4f;
    transition: background-color 300ms ease-out; }
    .social-link:hover, .social-link:focus {
      background-color: #7f7f83; }
    .social-link_facebook {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -90px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat;
      background-color: #3b5998; }
      .no-svg .social-link_facebook {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -90px -562px; }
      .svg .social-link_facebook {
        background-image: url("../images/svg/facebook.svg");
        background-position: 0 0; }
    .social-link_linkedin {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -135px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat;
      background-color: #007bb6; }
      .no-svg .social-link_linkedin {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -135px -562px; }
      .svg .social-link_linkedin {
        background-image: url("../images/svg/linkedin.svg");
        background-position: 0 0; }
    .social-link_twitter {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -225px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat;
      background-color: #00aced; }
      .no-svg .social-link_twitter {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -225px -562px; }
      .svg .social-link_twitter {
        background-image: url("../images/svg/twitter.svg");
        background-position: 0 0; }
    .social-link_email {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -45px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat; }
      .no-svg .social-link_email {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -45px -562px; }
      .svg .social-link_email {
        background-image: url("../images/svg/email.svg");
        background-position: 0 0; }
    .social-link_print {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: 0px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat; }
      .no-svg .social-link_print {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: 0px -562px; }
      .svg .social-link_print {
        background-image: url("../images/svg/print.svg");
        background-position: 0 0; }
    .social-link_youtube {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -180px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat;
      background-color: #cd201f; }
      .no-svg .social-link_youtube {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -180px -562px; }
      .svg .social-link_youtube {
        background-image: url("../images/svg/youtube.svg");
        background-position: 0 0; }
    .social-link_cimaconnect {
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -270px -562px;
      width: 45px;
      height: 45px;
      background-size: 45px 45px;
      background-repeat: no-repeat;
      background-color: #d50058; }
      .no-svg .social-link_cimaconnect {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -270px -562px; }
      .svg .social-link_cimaconnect {
        background-image: url("../images/svg/cimaconnect.svg");
        background-position: 0 0; }

/* if in right navigation */
.asideNav .social-container {
  position: relative;
  padding: 15px 0 15px 15px;
  padding: 0.9375rem 0 0.9375rem 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .asideNav .social-container {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  @media all and (min-width: 61.25em) {
    .asideNav .social-container {
      padding: 15px 0 20px 30px;
      padding: 0.9375rem 0 1.25rem 1.875rem; }
      .asideNav .social-container:before {
        content: '';
        position: absolute;
        height: 80%;
        width: 1px;
        left: 0;
        top: 0;
        background-color: #d0d0d1; } }

/* White option */
.social-container.theme_white {
  background-color: #fff;
  padding: 15px 0 15px 15px !important; }
  @media all and (min-width: 61.25em) {
    .social-container.theme_white {
      padding: 15px 10px 20px 30px !important; } }
  .social-container.theme_white:before {
    display: none; }

/* GBS Blue option */
.social-container.theme_gbsblue {
  background-color: #fff;
  padding: 15px 0 15px 15px !important; }
.social-container.theme_gbsblue > h2 {
  color: #001C3A;
}
  @media all and (min-width: 61.25em) {
    .social-container.theme_gbsblue {
      padding: 15px 10px 20px 30px !important; } }
  .social-container.theme_gbsblue:before {
    display: none; }

@media print {
  .social-container {
    display: none; } }

/* RESET */
[class^='btn'],
input[type=submit],
input[type=button],
input[type='reset'],
button {
  font-family: inherit;
  outline: none;
  line-height: normal;
  cursor: pointer;
  width: auto;
  text-align: center;
  position: relative;
  -webkit-appearance: none;
  *overflow: visible;
  border-radius: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  text-decoration: none !important; }
  [class^='btn'] button::-moz-focus-inner,
  [class^='btn'] input::-moz-focus-inner,
  input[type=submit] button::-moz-focus-inner,
  input[type=submit] input::-moz-focus-inner,
  input[type=button] button::-moz-focus-inner,
  input[type=button] input::-moz-focus-inner,
  input[type='reset'] button::-moz-focus-inner,
  input[type='reset'] input::-moz-focus-inner,
  button button::-moz-focus-inner,
  button input::-moz-focus-inner {
    border: 0;
    padding: 0; }
  [class^='btn']:hover, [class^='btn']:focus, [class^='btn']:active,
  input[type=submit]:hover,
  input[type=submit]:focus,
  input[type=submit]:active,
  input[type=button]:hover,
  input[type=button]:focus,
  input[type=button]:active,
  input[type='reset']:hover,
  input[type='reset']:focus,
  input[type='reset']:active,
  button:hover,
  button:focus,
  button:active {
    text-decoration: none;
    outline: none; }

/* Primary red button */
.btn, .xform input[type='submit'], .btn_arrow, .btn_white_arrow, .btn_white_border_arrow, .btn_white, .btn_white_border,.btn_blue, .btn_blue_border, .btn_media {
  color: #fff;
  background: #d50058;
  border: none;
  font-size: 15px;
  font-size: 0.9375rem;
  padding: 20px;
  padding: 1.25rem;
  min-width: 175px;
  min-width: 10.9375rem;
  margin: 0 10px 10px 0;
  margin: 0 0.625rem 0.625rem 0;
  transition: background-color 300ms ease-out, border-color 300ms ease-out; }
  .btn:hover, .xform input[type='submit']:hover, .btn_arrow:hover, .btn_white_arrow:hover, .btn_white_border_arrow:hover,/* .btn_pink,*/ .btn_white:hover, .btn_white_border:hover, .btn_media:hover, .btn:focus, .xform input[type='submit']:focus, .btn_arrow:focus, .btn_white_arrow:focus, .btn_white_border_arrow:focus, .btn_white:focus, .btn_white_border:focus, .btn_media:focus, .btn:active, .xform input[type='submit']:active, .btn_arrow:active, .btn_white_arrow:active, .btn_white_border_arrow:active, .btn_white:active, .btn_white_border:active, .btn_media:active {
    background-color: #77023f; }

.fr {
  overflow: hidden; }
  .fr .btn, .fr .xform input[type='submit'], .xform .fr input[type='submit'], .fr .btn_arrow, .fr .btn_white_arrow, .fr .btn_white_border_arrow, .fr .btn_white, .fr .btn_white_border, .fr .btn_media {
    margin: 0;
    float: right; }

/* Red button with arrow */
.btn_arrow, .btn_white_arrow, .btn_white_border_arrow {
  padding-right: 45px;
  padding-right: 2.8125rem;
  position: relative; }
  .btn_arrow:after, .btn_white_arrow:after, .btn_white_border_arrow:after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -656px -512px;
    width: 17px;
    height: 16px;
    background-size: 17px 16px;
    background-repeat: no-repeat;
    right: 20px;
    top: 50%;
    margin-top: -8px; }
    .no-svg .btn_arrow:after, .no-svg .btn_white_arrow:after, .no-svg .btn_white_border_arrow:after {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -656px -512px; }
    .svg .btn_arrow:after, .svg .btn_white_arrow:after, .svg .btn_white_border_arrow:after {
      background-image: url("../images/svg/arrow-white-right.svg");
      background-position: 0 0; }

/* White button */
.btn_white, .btn_white_border {
  color: #d50058 !important;
  background-color: #fff; }
  .btn_white:hover, .btn_white_border:hover, .btn_white:focus, .btn_white_border:focus, .btn_white:active, .btn_white_border:active {
    color: #fff !important;
    background-color: #d50058; }
    .theme_pink .btn_white:hover, .theme_pink .btn_white_border:hover, .theme_pink .btn_white:focus, .theme_pink .btn_white_border:focus, .theme_pink .btn_white:active, .theme_pink .btn_white_border:active {
      background-color: #77023f; }

 /* Blue GBS button */
.btn_blue, .btn_blue_border {
  color: #fff !important;
  background-color: #135789; }
  .btn_blue:hover, .btn_blue_border:hover, .btn_blue:focus, .btn_blue_border:focus, .btn_blue:active, .btn_blue_border:active {
    color: #fff !important;
    background-color: #135789; }
    .theme_gbsblue .btn_blue:hover, .theme_gbsblue .btn_blue_border:hover, .theme_gbsblue .btn_blue:focus, .theme_gbsblue .btn_blue_border:focus, .theme_gbsblue .btn_gbsblue:active, .theme_gbsblue .btn_gbsblue_border:active {
      background-color: #d50058; }

 .btn_blue_border {
  border: 2px solid #d50058;
  padding-top: 18px;
  padding-top: 1.125rem;
  padding-bottom: 18px;
  padding-bottom: 1.125rem; }

/* White button + border */
.btn_white_border {
  border: 2px solid #d50058;
  padding-top: 18px;
  padding-top: 1.125rem;
  padding-bottom: 18px;
  padding-bottom: 1.125rem; }

/* White button + arrow */
.btn_white_arrow, .btn_white_border_arrow {
  color: #d50058;
  background-color: #fff;
  position: relative; }
  .btn_white_arrow:after, .btn_white_border_arrow:after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -622px -512px;
    width: 17px;
    height: 16px;
    background-size: 17px 16px;
    background-repeat: no-repeat;
    right: 20px;
    top: 50%;
    margin-top: -8px; }
    .no-svg .btn_white_arrow:after, .no-svg .btn_white_border_arrow:after {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -622px -512px; }
    .svg .btn_white_arrow:after, .svg .btn_white_border_arrow:after {
      background-image: url("../images/svg/arrow-pink-right.svg");
      background-position: 0 0; }
  .btn_white_arrow:hover, .btn_white_border_arrow:hover, .btn_white_arrow:focus, .btn_white_border_arrow:focus, .btn_white_arrow:active, .btn_white_border_arrow:active {
    color: #fff;
    background-color: #d50058;
    position: relative; }
    .btn_white_arrow:hover:after, .btn_white_border_arrow:hover:after, .btn_white_arrow:focus:after, .btn_white_border_arrow:focus:after, .btn_white_arrow:active:after, .btn_white_border_arrow:active:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -656px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      right: 20px;
      top: 50%;
      margin-top: -8px; }
      .no-svg .btn_white_arrow:hover:after, .no-svg .btn_white_border_arrow:hover:after, .no-svg .btn_white_arrow:focus:after, .no-svg .btn_white_border_arrow:focus:after, .no-svg .btn_white_arrow:active:after, .no-svg .btn_white_border_arrow:active:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -656px -512px; }
      .svg .btn_white_arrow:hover:after, .svg .btn_white_border_arrow:hover:after, .svg .btn_white_arrow:focus:after, .svg .btn_white_border_arrow:focus:after, .svg .btn_white_arrow:active:after, .svg .btn_white_border_arrow:active:after {
        background-image: url("../images/svg/arrow-white-right.svg");
        background-position: 0 0; }

/* White button + border + arrow */
.btn_white_border_arrow {
  border: 2px solid #d50058;
  padding-top: 18px;
  padding-top: 1.125rem;
  padding-bottom: 18px;
  padding-bottom: 1.125rem; }

/* PDF download */
.btn_download {
  background: transparent;
  border: 2px solid #d50058;
  padding: 18px 50px 20px 20px;
  padding: 1.125rem 3.125rem 1.25rem 1.25rem;
  position: relative; }
  .btn_download:after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -797px -528px;
    width: 17px;
    height: 17px;
    background-size: 17px 17px;
    background-repeat: no-repeat;
    right: 18px;
    top: 50%;
    margin-top: -8.5px; }
    .no-svg .btn_download:after {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -797px -528px; }
    .svg .btn_download:after {
      background-image: url("../images/svg/icon-pink-download.svg");
      background-position: 0 0; }
  .btn_download:hover, .btn_download:focus, .btn_download:active {
    color: #fff;
    background-color: #d50058;
    position: relative; }
    .btn_download:hover:after, .btn_download:focus:after, .btn_download:active:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -780px -528px;
      width: 17px;
      height: 17px;
      background-size: 17px 17px;
      background-repeat: no-repeat;
      right: 18px;
      top: 50%;
      margin-top: -8.5px; }
      .no-svg .btn_download:hover:after, .no-svg .btn_download:focus:after, .no-svg .btn_download:active:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -780px -528px; }
      .svg .btn_download:hover:after, .svg .btn_download:focus:after, .svg .btn_download:active:after {
        background-image: url("../images/svg/icon-white-download.svg");
        background-position: 0 0; }
  .theme_pink .btn_download {
    color: #d50058;
    background-color: #fff; }
    .theme_pink .btn_download:hover, .theme_pink .btn_download:focus, .theme_pink .btn_download:active {
      color: #fff;
      background-color: #77023f; }

/* media button */
.btn_media {
  text-align: left;
  color: #d50058;
  background-color: #fff;
  padding-left: 52px;
  padding-left: 3.25rem;
  position: relative; }
  .btn_media:after {
    content: '';
    position: absolute;
    left: 40px;
    top: 0;
    height: 100%;
    border-right: 1px solid #d50058; }
  .btn_media:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -831px -528px;
    width: 11px;
    height: 16px;
    background-size: 11px 16px;
    background-repeat: no-repeat;
    left: 15px;
    padding-right: 20px;
    top: 50%;
    margin-top: -8px; }
    .no-svg .btn_media:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -831px -528px; }
    .svg .btn_media:before {
      background-image: url("../images/svg/play.svg");
      background-position: 0 0; }
  .btn_media:hover, .btn_media:focus, .btn_media:active {
    color: #fff;
    background-color: #d50058;
    position: relative; }
    .btn_media:hover:before, .btn_media:focus:before, .btn_media:active:before {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -787px -512px;
      width: 15px;
      height: 15px;
      background-size: 15px 15px;
      background-repeat: no-repeat;
      left: 15px;
      padding-right: 20px;
      top: 50%;
      margin-top: -7.5px; }
      .no-svg .btn_media:hover:before, .no-svg .btn_media:focus:before, .no-svg .btn_media:active:before {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -787px -512px; }
      .svg .btn_media:hover:before, .svg .btn_media:focus:before, .svg .btn_media:active:before {
        background-image: url("../images/svg/play-white.svg");
        background-position: 0 0; }
    .btn_media:hover:after, .btn_media:focus:after, .btn_media:active:after {
      border-color: #fff; }
  .theme_pink .btn_media:hover, .theme_pink .btn_media:focus, .theme_pink .btn_media:active {
    color: #fff;
    background-color: #77023f; }

.btn.btn-profile, .xform input.btn-profile[type='submit'], .btn-profile.btn_arrow, .btn-profile.btn_white_arrow, .btn-profile.btn_white_border_arrow, .btn-profile.btn_white, .btn-profile.btn_white_border, .btn-profile.btn_media {
  font-weight: normal;
  color: #4d4d4f;
  background: transparent;
  border: 1px solid #aeadae;
  border-radius: 60px;
  min-width: 0;
  padding: 12px 20px 12px 45px;
  padding: 0.75rem 1.25rem 0.75rem 2.8125rem;
  position: relative; }
  .btn.btn-profile:hover, .xform input.btn-profile[type='submit']:hover, .btn-profile.btn_arrow:hover, .btn-profile.btn_white_arrow:hover, .btn-profile.btn_white_border_arrow:hover, .btn-profile.btn_white:hover, .btn-profile.btn_white_border:hover, .btn-profile.btn_media:hover, .btn.btn-profile:focus, .xform input.btn-profile[type='submit']:focus, .btn-profile.btn_arrow:focus, .btn-profile.btn_white_arrow:focus, .btn-profile.btn_white_border_arrow:focus, .btn-profile.btn_white:focus, .btn-profile.btn_white_border:focus, .btn-profile.btn_media:focus, .btn.btn-profile:active, .xform input.btn-profile[type='submit']:active, .btn-profile.btn_arrow:active, .btn-profile.btn_white_arrow:active, .btn-profile.btn_white_border_arrow:active, .btn-profile.btn_white:active, .btn-profile.btn_white_border:active, .btn-profile.btn_media:active {
    color: #d50058; }
  .btn.btn-profile:before, .xform input.btn-profile[type='submit']:before, .btn-profile.btn_arrow:before, .btn-profile.btn_white_arrow:before, .btn-profile.btn_white_border_arrow:before, .btn-profile.btn_white:before, .btn-profile.btn_white_border:before, .btn-profile.btn_media:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -659px -528px;
    width: 20px;
    height: 20px;
    background-size: 20px 20px;
    background-repeat: no-repeat;
    left: 15px;
    top: 0.7em; }
    .no-svg .btn.btn-profile:before, .no-svg .xform input.btn-profile[type='submit']:before, .xform .no-svg input.btn-profile[type='submit']:before, .no-svg .btn-profile.btn_arrow:before, .no-svg .btn-profile.btn_white_arrow:before, .no-svg .btn-profile.btn_white_border_arrow:before, .no-svg .btn-profile.btn_white:before, .no-svg .btn-profile.btn_white_border:before, .no-svg .btn-profile.btn_media:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -659px -528px; }
    .svg .btn.btn-profile:before, .svg .xform input.btn-profile[type='submit']:before, .xform .svg input.btn-profile[type='submit']:before, .svg .btn-profile.btn_arrow:before, .svg .btn-profile.btn_white_arrow:before, .svg .btn-profile.btn_white_border_arrow:before, .svg .btn-profile.btn_white:before, .svg .btn-profile.btn_white_border:before, .svg .btn-profile.btn_media:before {
      background-image: url("../images/svg/icon-account.svg");
      background-position: 0 0; }

@media print {
  [class^='btn'],
  input[type=submit],
  input[type=button],
  input[type='reset'],
  button {
    color: #555;
    border: 1px solid #ccc; } }

a.cta, .header-nav-promos-item-btn {
  font-weight: bold;
  color: #d50058;
  display: inline-block;
  position: relative;
  text-decoration: none;
  padding-right: 25px;
  padding-right: 1.5625rem;
  font-size: 13px;
  font-size: 0.8125rem;
  position: relative; }
  a.cta:hover, .header-nav-promos-item-btn:hover, a.cta:active, .header-nav-promos-item-btn:active {
    color: inherit;
    text-decoration: underline; }
  a.cta:after, .header-nav-promos-item-btn:after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -622px -512px;
    width: 17px;
    height: 16px;
    background-size: 17px 16px;
    background-repeat: no-repeat;
    right: 0;
    top: 50%;
    margin-top: -8px; }
    .no-svg a.cta:after, .no-svg .header-nav-promos-item-btn:after {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -622px -512px; }
    .svg a.cta:after, .svg .header-nav-promos-item-btn:after {
      background-image: url("../images/svg/arrow-pink-right.svg");
      background-position: 0 0; }

/* in themes */
[class*='theme_plum'] a.cta, [class*='theme_plum'] .header-nav-promos-item-btn,
[class*='theme_pink'] a.cta,
[class*='theme_pink'] .header-nav-promos-item-btn,
[class*='theme_brown'] a.cta,
[class*='theme_brown'] .header-nav-promos-item-btn,
[class*='theme_blue'] a.cta,
[class*='theme_blue'] .header-nav-promos-item-btn {
  color: #fff;
  position: relative; }
  [class*='theme_plum'] a.cta:after, [class*='theme_plum'] .header-nav-promos-item-btn:after,
  [class*='theme_pink'] a.cta:after,
  [class*='theme_pink'] .header-nav-promos-item-btn:after,
  [class*='theme_brown'] a.cta:after,
  [class*='theme_brown'] .header-nav-promos-item-btn:after,
  [class*='theme_blue'] a.cta:after,
  [class*='theme_blue'] .header-nav-promos-item-btn:after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -656px -512px;
    width: 17px;
    height: 16px;
    background-size: 17px 16px;
    background-repeat: no-repeat;
    right: 0;
    top: 50%;
    margin-top: -8px; }
    .no-svg [class*='theme_plum'] a.cta:after, .no-svg [class*='theme_plum'] .header-nav-promos-item-btn:after, .no-svg
    [class*='theme_pink'] a.cta:after, .no-svg
    [class*='theme_pink'] .header-nav-promos-item-btn:after, .no-svg
    [class*='theme_brown'] a.cta:after, .no-svg
    [class*='theme_brown'] .header-nav-promos-item-btn:after, .no-svg
    [class*='theme_blue'] a.cta:after, .no-svg
    [class*='theme_blue'] .header-nav-promos-item-btn:after {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -656px -512px; }
    .svg [class*='theme_plum'] a.cta:after, .svg [class*='theme_plum'] .header-nav-promos-item-btn:after, .svg
    [class*='theme_pink'] a.cta:after, .svg
    [class*='theme_pink'] .header-nav-promos-item-btn:after, .svg
    [class*='theme_brown'] a.cta:after, .svg
    [class*='theme_brown'] .header-nav-promos-item-btn:after, .svg
    [class*='theme_blue'] a.cta:after, .svg
    [class*='theme_blue'] .header-nav-promos-item-btn:after {
      background-image: url("../images/svg/arrow-white-right.svg");
      background-position: 0 0; }

/* THEMES mixin */
.quote.theme_grey {
  background: #eeeeef; }
  .quote.theme_grey blockquote {
    color: #d50058; }
  .quote.theme_grey cite {
    color: #4d4d4f; }
  .quote.theme_grey .btn, .quote.theme_grey .xform input[type='submit'], .xform .quote.theme_grey input[type='submit'], .quote.theme_grey .btn_arrow, .quote.theme_grey .btn_white_arrow, .quote.theme_grey .btn_white_border_arrow, .quote.theme_grey .btn_white, .quote.theme_grey .btn_white_border, .quote.theme_grey .btn_media {
    background: #fff;
    color: #d50058; }
    .quote.theme_grey .btn:hover, .quote.theme_grey .xform input[type='submit']:hover, .xform .quote.theme_grey input[type='submit']:hover, .quote.theme_grey .btn_arrow:hover, .quote.theme_grey .btn_white_arrow:hover, .quote.theme_grey .btn_white_border_arrow:hover, .quote.theme_grey .btn_white:hover, .quote.theme_grey .btn_white_border:hover, .quote.theme_grey .btn_media:hover, .quote.theme_grey .btn:focus, .quote.theme_grey .xform input[type='submit']:focus, .xform .quote.theme_grey input[type='submit']:focus, .quote.theme_grey .btn_arrow:focus, .quote.theme_grey .btn_white_arrow:focus, .quote.theme_grey .btn_white_border_arrow:focus, .quote.theme_grey .btn_white:focus, .quote.theme_grey .btn_white_border:focus, .quote.theme_grey .btn_media:focus {
      background: #d50058;
      color: #fff; }

.quote.theme_gbsblue {
  background: #eeeeef; }
  .quote.theme_gbsblue blockquote {
    color: #d50058; }
  .quote.theme_gbsblue cite {
    color: #4d4d4f; }
  .quote.theme_gbsblue .btn, .quote.theme_gbsblue .xform input[type='submit'], .xform .quote.theme_gbsblue input[type='submit'], .quote.theme_gbsblue .btn_arrow, .quote.theme_gbsblue .btn_white_arrow, .quote.theme_gbsblue .btn_white_border_arrow, .quote.theme_gbsblue .btn_white, .quote.theme_gbsblue .btn_white_border, .quote.theme_gbsblue .btn_media {
    background: #fff;
    color: #d50058; }
    .quote.theme_gbsblue .btn:hover, .quote.theme_gbsblue .xform input[type='submit']:hover, .xform .quote.theme_gbsblue input[type='submit']:hover, .quote.theme_gbsblue .btn_arrow:hover, .quote.theme_gbsblue .btn_white_arrow:hover, .quote.theme_gbsblue .btn_white_border_arrow:hover, .quote.theme_gbsblue .btn_white:hover, .quote.theme_gbsblue .btn_white_border:hover, .quote.theme_gbsblue .btn_media:hover, .quote.theme_gbsblue .btn:focus, .quote.theme_gbsblue .xform input[type='submit']:focus, .xform .quote.theme_gbsblue input[type='submit']:focus, .quote.theme_gbsblue .btn_arrow:focus, .quote.theme_gbsblue .btn_white_arrow:focus, .quote.theme_gbsblue .btn_white_border_arrow:focus, .quote.theme_gbsblue .btn_white:focus, .quote.theme_gbsblue .btn_white_border:focus, .quote.theme_gbsblue .btn_media:focus {
      background: #d50058;
      color: #fff; }

/* style */
.quote {
  clear: both;
  background-color: #77023f;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .quote > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .quote {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .quote {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .quote-img img {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    margin-bottom: 1.25rem; }
  .quote blockquote {
    color: #fff; }
    .quote blockquote:before {
      font-family: "Georgia", "Times", "Times New Roman", serif;
      content: "“";
      font-weight: bold;
      color: #d50058;
      display: block;
      line-height: 0.8;
      font-size: 72px;
      font-size: 4.5rem; }
    .quote blockquote p {
      font-family: "Georgia", "Times", "Times New Roman", serif;
      font-style: italic;
      line-height: 1.4;
      font-size: 18px;
      font-size: 1.125rem; }
    .quote blockquote .quote-cite {
      display: block;
      font-weight: bold;
      font-style: normal;
      font-size: 13px;
      font-size: 0.8125rem;
      margin-bottom: 20px;
      margin-bottom: 1.25rem; }
    .quote blockquote cite strong {
      display: block; }
    .quote blockquote .btn:hover, .quote blockquote .xform input[type='submit']:hover, .xform .quote blockquote input[type='submit']:hover, .quote blockquote .btn_arrow:hover, .quote blockquote .btn_white_arrow:hover, .quote blockquote .btn_white_border_arrow:hover, .quote blockquote .btn_white:hover, .quote blockquote .btn_white_border:hover, .quote blockquote .btn_media:hover,
    .quote blockquote .btn:focus,
    .quote blockquote .xform input[type='submit']:focus, .xform
    .quote blockquote input[type='submit']:focus,
    .quote blockquote .btn_arrow:focus,
    .quote blockquote .btn_white_arrow:focus,
    .quote blockquote .btn_white_border_arrow:focus,
    .quote blockquote .btn_white:focus,
    .quote blockquote .btn_white_border:focus,
    .quote blockquote .btn_media:focus {
      color: #d50058;
      background-color: #fff; }

@media print {
  .quote [class^='btn'],
  .quote .cta {
    display: none; } }

.checklist {
  clear: both;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .checklist {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .checklist-title {
    color: #fff;
    margin: 0;
    padding: 10px 15px;
    padding: 0.625rem 0.9375rem;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    margin-bottom: 0 !important; }
    @media screen and (min-width: 48em) {
      .checklist-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
    @media all and (min-width: 61.25em) {
      .checklist-title {
        padding: 15px 30px;
        padding: 0.9375rem 1.875rem; } }
  .checklist-content {
    background-color: #eeeeef;
    padding: 15px; }
    @media all and (min-width: 61.25em) {
      .checklist-content {
        padding: 15px 30px; } }
  .checklist-nav {
    counter-reset: my-counter;
    margin: 0;
    padding: 0;
    list-style-type: none; }
  .checklist-nav-item {
    color: #d50058;
    position: relative;
    font-weight: bold;
    counter-increment: my-counter;
    margin: 0;
    border-top: 1px solid #d0d0d1;
    padding: 15px 0 15px 25px;
    padding: 0.9375rem 0 0.9375rem 1.5625rem;
    font-size: 13px;
    font-size: 0.8125rem; }
    .checklist-nav-item:first-child {
      border: none; }
    .checklist-nav-item:before {
      content: counters(my-counter, ".");
      color: inherit;
      font-weight: bold;
      position: absolute;
      left: 0;
      top: 10px;
      font-size: 20px;
      font-size: 1.25rem; }
  .checklist-nav-link {
    display: block;
    text-decoration: none; }
    .checklist-nav-link:hover, .checklist-nav-link:active {
      color: inherit;
      text-decoration: underline; }
  .checklist.theme_plum .checklist-title {
         background-color: #d50058;
    }
  .checklist.theme_plum .checklist-nav-item {
         color: #d50058;
    }
  .checklist.theme_gbsblue .checklist-title {
         background-color: #001C3A;
    }
  .checklist.theme_gbsblue .checklist-nav-item {
         color: #001C3A;
    }

/* default styling */
.linkGroup {
  clear: both;
  background-color: #fff;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .linkGroup {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .linkGroup-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .linkGroup-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
    .linkGroup-title a {
      position: relative;
      display: block;
      padding-right: 40px;
      padding-right: 2.5rem;
      text-decoration: none;
      position: relative; }
      .linkGroup-title a:hover, .linkGroup-title a:active {
        color: inherit;
        text-decoration: underline; }
      .linkGroup-title a:after {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -622px -512px;
        width: 17px;
        height: 16px;
        background-size: 17px 16px;
        background-repeat: no-repeat;
        right: 0;
        top: 50%;
        margin-top: -8px; }
        .no-svg .linkGroup-title a:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -622px -512px; }
        .svg .linkGroup-title a:after {
          background-image: url("../images/svg/arrow-pink-right.svg");
          background-position: 0 0; }
      .theme_pink .linkGroup-title a {
        color: #fff;
        position: relative; }
        .theme_pink .linkGroup-title a:after {
          content: '';
          position: absolute;
          display: block;
          background-image: url(../images/sheets/sprite.png);
          background-position: -656px -512px;
          width: 17px;
          height: 16px;
          background-size: 17px 16px;
          background-repeat: no-repeat;
          right: 0;
          top: 50%;
          margin-top: -8px; }
          .no-svg .theme_pink .linkGroup-title a:after {
            background-image: url("../images/sheets/sprite.png") !important;
            background-position: -656px -512px; }
          .svg .theme_pink .linkGroup-title a:after {
            background-image: url("../images/svg/arrow-white-right.svg");
            background-position: 0 0; }
  .linkGroup-intro {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .linkGroup-nav {
    margin: 0;
    padding: 0;
    list-style-type: none; }
  .linkGroup-nav-item {
    position: relative;
    margin: 0;
    border-top: 1px solid #d0d0d1; }
    .linkGroup-nav-item:last-child {
      border-bottom: 1px solid #d0d0d1; }
      .linkGroup-nav-item:last-child a {
        padding-bottom: 15px !important; }
    @media screen and (min-width: 48em) {
      .l-col-60 .linkGroup-nav-item:nth-last-child(-n+2),
      .l-col-100 .linkGroup-nav-item:nth-last-child(-n+2) {
        border-bottom: 1px solid #d0d0d1; }
      .l-col-60 .linkGroup-nav-item {
        width: 47.82608696%;
        float: left;
        margin-left: 4.34782609%; }
        .l-col-60 .linkGroup-nav-item:nth-of-type(2n + 1) {
          clear: both;
          margin-left: 0; }
      .l-col_100 .linkGroup-nav-item {
        width: 48.57142857%;
        float: left;
        margin-left: 2.85714286%; }
        .l-col_100 .linkGroup-nav-item:nth-of-type(2n + 1) {
          clear: both;
          margin-left: 0; } }
  .linkGroup-nav-link {
    position: relative;
    display: block;
    font-weight: bold;
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 15px 0;
    padding: 0.9375rem 0;
    padding-right: 40px;
    padding-right: 2.5rem;
    text-decoration: none;
    position: relative; }
    .linkGroup-nav-link:hover, .linkGroup-nav-link:active {
      color: inherit;
      text-decoration: underline; }
    .linkGroup-nav-link:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -622px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      right: 0;
      top: 50%;
      margin-top: -8px; }
      .no-svg .linkGroup-nav-link:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -622px -512px; }
      .svg .linkGroup-nav-link:after {
        background-image: url("../images/svg/arrow-pink-right.svg");
        background-position: 0 0; }
  .linkGroup-nav-item:last-child .linkGroup-nav-link {
    padding-bottom: 0; }

/* icon images */
.linkGroup_icons .linkGroup-nav-item {
  position: relative; }

.linkGroup_icons .linkGroup-nav-link {
  padding-left: 30px;
  padding-left: 1.875rem; }

.linkGroup_icons .linkGroup-icon {
  max-width: 100%;
  position: absolute;
  left: 0;
  top: 14px;
  top: 0.875rem; }

/* THEMES mixin */
.linkGroup.theme_grey {
  background: #eeeeef;
  color: "";
  padding: 15px;
  padding: 0.9375rem; }
  .linkGroup.theme_grey > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .linkGroup.theme_grey {
      padding: 30px;
      padding: 1.875rem; } }
  .linkGroup.theme_grey .linkGroup-nav-link,
  .linkGroup.theme_grey .linkGroup-title {
    color: ""; }

  .linkGroup.theme_gbsblue {
  background: #eeeeef;
  color: "";
  padding: 15px;
  padding: 0.9375rem; }
  .linkGroup.theme_gbsblue > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .linkGroup.theme_gbsblue {
      padding: 30px;
      padding: 1.875rem; } }
  .linkGroup.theme_gbsblue .linkGroup-nav-link,
  .linkGroup.theme_gbsblue .linkGroup-title {
    color: #001C3A; }

.linkGroup.theme_pink {
  background: #d50058;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem; }
  .linkGroup.theme_pink > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .linkGroup.theme_pink {
      padding: 30px;
      padding: 1.875rem; } }
  .linkGroup.theme_pink .linkGroup-nav-link,
  .linkGroup.theme_pink .linkGroup-title {
    color: #fff; }
  .linkGroup.theme_pink .linkGroup-nav-link {
    position: relative; }
    .linkGroup.theme_pink .linkGroup-nav-link:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -656px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      right: 0;
      top: 50%;
      margin-top: -8px; }
      .no-svg .linkGroup.theme_pink .linkGroup-nav-link:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -656px -512px; }
      .svg .linkGroup.theme_pink .linkGroup-nav-link:after {
        background-image: url("../images/svg/arrow-white-right.svg");
        background-position: 0 0; }

.linkGroup.theme_green-tint {
  background: #eff9f8;
  color: "";
  padding: 15px;
  padding: 0.9375rem; }
  .linkGroup.theme_green-tint > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .linkGroup.theme_green-tint {
      padding: 30px;
      padding: 1.875rem; } }
  .linkGroup.theme_green-tint .linkGroup-nav-link,
  .linkGroup.theme_green-tint .linkGroup-title {
    color: ""; }

/* Tools icons */
.icon {
  padding-left: 35px;
  padding-left: 2.1875rem; }
  .icon:before {
    content: '';
    top: 50%;
    left: 0;
    position: absolute;
    margin-top: -12px;
    margin-top: -0.75rem;
    width: 24px;
    width: 1.5rem;
    height: 24px;
    height: 1.5rem;
    background-image: url(../images/assets/tools-sprite.png); }
  .icon.icon_calc:before {
    background-position: 0 -1px; }
  .icon.icon_connect:before {
    background-position: 0 -24px; }
  .icon.icon_study:before {
    background-position: 0 -48px; }

.textColourBlock {
  clear: both;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .textColourBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .textColourBlock > h2, .textColourBlock > h3 {
    color: #d50058; }

/* THEMES mixin */
@media all and (max-width: 61.188em) {
  .l-row-100 .textColourBlock.theme_white > .wysiwyg, .l-row-100 .textColourBlock.theme_white > .textColourBlock {
    padding: 15px;
    padding: 0.9375rem; }
    .l-row-100 .textColourBlock.theme_white > .wysiwyg > *:last-child, .l-row-100 .textColourBlock.theme_white > .textColourBlock > *:last-child {
      margin-bottom: 0; } }
  @media all and (max-width: 61.188em) and (min-width: 61.25em) {
    .l-row-100 .textColourBlock.theme_white > .wysiwyg, .l-row-100 .textColourBlock.theme_white > .textColourBlock {
      padding: 30px;
      padding: 1.875rem; } }

@media all and (min-width: 61.25em) {
  .l-row-100 .textColourBlock {
    padding: 30px 10% !important; }
    .l-row-100 .textColourBlock.theme_white {
      padding-bottom: 0 !important; } }

.textColourBlock.theme_grey {
  background: #eeeeef;
  color: "";
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_grey > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_grey {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_grey > h2, .textColourBlock.theme_grey > h3 {
    color: ""; }

.textColourBlock.theme_pink {
  background: #d50058;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_pink > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_pink {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_pink > h2, .textColourBlock.theme_pink > h3 {
    color: #fff; }

.textColourBlock.theme_plum {
  background: #77023f;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_plum > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_plum {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_plum > h2, .textColourBlock.theme_plum > h3 {
    color: #fff; }

.textColourBlock.theme_brown {
  background: #7b6a5d;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_brown > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_brown {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_brown > h2, .textColourBlock.theme_brown > h3 {
    color: #fff; }

.textColourBlock.theme_brown-tint {
  background: #fbf4ea;
  color: "";
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_brown-tint > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_brown-tint {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_brown-tint > h2, .textColourBlock.theme_brown-tint > h3 {
    color: ""; }

.textColourBlock.theme_green-tint {
  background: #eff9f8;
  color: "";
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_green-tint > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_green-tint {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_green-tint > h2, .textColourBlock.theme_green-tint > h3 {
    color: ""; }

  .textColourBlock.theme_gbsblue {
  background: #135789;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem; }
  .textColourBlock.theme_gbsblue > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textColourBlock.theme_gbsblue {
      padding: 30px;
      padding: 1.875rem; } }
  .textColourBlock.theme_gbsblue > h2, .textColourBlock.theme_gbsblue > h3 {
    color: ""; }

@media print {
  .textColourBlock {
    padding: 0;
    background-color: #fff; }
    .textColourBlock * {
      color: #000 !important; } }

/* BLOCK style */
.textBlockAside {
  clear: both;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .textBlockAside > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .textBlockAside {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .textBlockAside {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .textBlockAside.noBottomMargin {
    margin-bottom: 0; }
  .textBlockAside h3 {
    font-weight: normal;
    font-size: 22px;
    font-size: 1.375rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .textBlockAside-text > *:last-child {
    margin-bottom: 0; }
  .textBlockAside.theme_grey {
    background-color: #eeeeef; }
    .textBlockAside.theme_grey .textBlockAside-title {
      color: #d50058; }
  .textBlockAside.theme_pink {
    background-color: #d50058;
    color: #fff; }
    .textBlockAside.theme_pink a {
      color: #fff; }

.textBlockAside_primary .textBlockAside-title {
  text-transform: uppercase;
  line-height: normal;
  font-weight: normal;
  line-height: normal;
  font-size: 22px;
  font-size: 1.375rem; }
  @media screen and (min-width: 48em) {
    .textBlockAside_primary .textBlockAside-title {
      font-size: 24px;
      font-size: 1.5rem;
      margin-bottom: 30px;
      margin-bottom: 1.875rem; } }

/* BLOCK style */
.pdfDownloadBlock {
  clear: both;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .pdfDownloadBlock > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .pdfDownloadBlock {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .pdfDownloadBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .pdfDownloadBlock-text > *:last-child {
    margin-bottom: 0; }
  .pdfDownloadBlock-title {
    position: relative;
    padding-left: 50px;
    padding-left: 3.125rem;
    position: relative; }
    .pdfDownloadBlock-title:before {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -315px -562px;
      width: 42px;
      height: 42px;
      background-size: 42px 42px;
      background-repeat: no-repeat;
      left: 0;
      top: 50%;
      margin-top: -21px;
      z-index: 1; }
      .no-svg .pdfDownloadBlock-title:before {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -315px -562px; }
      .svg .pdfDownloadBlock-title:before {
        background-image: url("../images/svg/icon-pdf.svg");
        background-position: 0 0; }
  .pdfDownloadBlock.theme_grey {
    background-color: #eeeeef; }
    .pdfDownloadBlock.theme_grey .pdfDownloadBlock-title {
      color: #d50058; }
  .pdfDownloadBlock.theme_pink {
    background-color: #d50058;
    color: #fff; }

.pdfDownloadBlock_primary .pdfDownloadBlock-title {
  line-height: normal;
  font-weight: normal;
  line-height: normal;
  font-size: 22px;
  font-size: 1.375rem; }
  @media screen and (min-width: 48em) {
    .pdfDownloadBlock_primary .pdfDownloadBlock-title {
      font-size: 24px;
      font-size: 1.5rem;
      margin-bottom: 30px;
      margin-bottom: 1.875rem; } }

/* default styling */
.promo {
  clear: both;
  background-color: #fff;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .promo {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .promo-figure img {
    max-width: 100%;
    display: block; }
  .promo-text {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 15px;
    padding: 0.9375rem; }
    .promo-text > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .promo-text {
        padding: 30px;
        padding: 1.875rem; } }
  .promo-text-inner {
    margin-bottom: 25px; }
    .promo-text-inner > *:last-child {
      margin-bottom: 0; }
  .promo-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .promo-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }

   .promo-title-gbsblue {
    color: #001C3A;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .promo-title-gbsblue {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }

/* THEMES mixin */
.promo.theme_grey {
  background: #eeeeef;
  color: ""; }
  .promo.theme_grey .promo-title {
    color: ""; }

.promo.theme_purple {
  background: #993c8e;
  color: #fff; }
  .promo.theme_purple .promo-title {
    color: #fff; }

.promo.theme_brown-tint {
  background: #fbf4ea;
  color: ""; }
  .promo.theme_brown-tint .promo-title {
    color: ""; }

.promo.theme_green-tint {
  background: #eff9f8;
  color: ""; }
  .promo.theme_green-tint .promo-title {
    color: ""; }

  .promo.theme_gbsblue {
  background: #eeeeef;
  color: ""; }
  .promo.theme_gbsblue .promo-title {
    color: #001C3A; }

@media print {
  .promo [class^='btn'],
  .promo .cta {
    display: none; } }

.promo2 {
  clear: both;
  background-color: #fff;
  position: relative;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .promo2 {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .promo2 img {
    display: block;
    max-width: 100%; }
  .promo2-content {
    background-color: #7b6a5d;
    color: #fff;
    padding: 15px;
    padding: 0.9375rem; }
    .promo2-content > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .promo2-content {
        padding: 30px;
        padding: 1.875rem; } }
  .promo2-title {
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .promo2-title {
        font-size: 36px;
        font-size: 2.25rem; } }
    @media screen and (min-width: 61.25em) {
      .promo2-title {
        font-size: 46px;
        font-size: 2.875rem;
        margin-bottom: 25px;
        margin-bottom: 1.5625rem; } }
  .promo2-subtitle {
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .promo2-subtitle {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .promo2-figure img {
    display: block; }
    @media all and (min-width: 37.5em) {
      .promo2-figure img {
        min-width: 500px; } }
    @media all and (min-width: 61.25em) {
      .promo2-figure img {
        min-width: 700px; } }
  .promo2-logo {
    max-width: 100px;
    height: auto;
    display: block; }
    @media all and (min-width: 30em) {
      .promo2-logo {
        position: absolute;
        right: 30px;
        bottom: 15px;
        float: right; } }
  @media all and (min-width: 37.5em) {
    .promo2-figure {
      width: 50%;
      margin-top: 60px; }
    .promo2-content {
      position: absolute;
      width: 60%;
      right: 0;
      top: -60px;
      padding: 15px;
      padding: 0.9375rem; }
      .promo2-content > *:last-child {
        margin-bottom: 0; } }
  @media all and (min-width: 37.5em) and (min-width: 61.25em) {
    .promo2-content {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 48em) {
    .promo2-figure {
      width: 60%; }
    .promo2-content {
      width: 50%; } }
  @media all and (min-width: 61.25em) {
    .promo2-content {
      padding-top: 100px;
      padding-right: 5%; } }

/* THEMES mixin */
.promo2.theme_blue .promo2-content {
  background: #1690c9; }

@media print {
  .promo2 {
    dislay: table;
    width: 100%; }
    .promo2-figure, .promo2-content {
      display: table-cell;
      width: 50%;
      position: static;
      vertical-align: top; }
    .promo2-logo,
    .promo2 [class^='btn'] {
      display: none; } }

.heroHome {
  clear: both;
  float: right;
  /*color: #fff;
  background-color: #d50058;*/
  margin: 15px;
  margin: 0.9375rem;
  max-width: 520px;
  max-width: 32.5rem; }
  @media all and (min-width: 48em) {
    .heroHome {
      margin: 40px 15px 40px 0;
      margin: 2.5rem 0.9375rem 2.5rem 0; } }
  .heroHome-text {
    padding: 15px;
    padding: 0.9375rem; }
    @media all and (min-width: 48em) {
      .heroHome-text {
        padding: 30px;
        padding: 1.875rem; } }
    .heroHome-text > *:last-child {
      margin-bottom: 0; }
  .heroHome-title {
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .heroHome-title {
        font-size: 36px;
        font-size: 2.25rem; } }
    @media screen and (min-width: 61.25em) {
      .heroHome-title {
        font-size: 46px;
        font-size: 2.875rem;
        margin-bottom: 25px;
        margin-bottom: 1.5625rem; } }
  .heroHome .btn_white:hover, .heroHome .btn_white_border:hover, .heroHome .btn_white:focus, .heroHome .btn_white_border:focus, .heroHome .btn_white:active, .heroHome .btn_white_border:active,
  .heroHome .btn_media:hover,
  .heroHome .btn_media:focus,
  .heroHome .btn_media:active {
    background-color: #77023f; }

@media print {
  .heroHome {
    color: #000;
    float: none;
    margin: 15px 0; }
    .heroHome-text {
      padding: 0; }
    .heroHome a[class^='btn'] {
      display: none; } }


 
.heroHub {
  clear: both;
  float: left;
  /*color: #fff;
  background-color: #d50058;*/
  margin: 15px;
  margin: 0.9375rem;
  max-width: 440px;
  max-width: 27.5rem; }
  @media all and (min-width: 48em) {
    .heroHub {
      margin: 40px 0 40px 15px;
      margin: 2.5rem 0 2.5rem 0.9375rem; } }
  @media all and (min-width: 61.25em) {
    .heroHub {
      max-width: 520px;
      max-width: 32.5rem; } }
  .heroHub-text {
    padding: 15px;
    padding: 0.9375rem; }
    @media all and (min-width: 48em) {
      .heroHub-text {
        padding: 30px;
        padding: 1.875rem; } }
    .heroHub-text > *:last-child {
      margin-bottom: 0; }
  .heroHub-title {
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .heroHub-title {
        font-size: 36px;
        font-size: 2.25rem; } }
    @media screen and (min-width: 61.25em) {
      .heroHub-title {
        font-size: 46px;
        font-size: 2.875rem;
        margin-bottom: 25px;
        margin-bottom: 1.5625rem; } }
  .heroHub .btn_white:hover, .heroHub .btn_white_border:hover, .heroHub .btn_white:focus, .heroHub .btn_white_border:focus, .heroHub .btn_white:active, .heroHub .btn_white_border:active {
    background-color: #77023f; }

.heroHub.theme_white {
  background-color: #fff;
  color: #000;
}

.heroHub.theme_white .heroHub-title,.heroHub-subtitle {
    color:#d50058;
}

.heroHub.theme_pink {
  background-color: #d50058;
  color: #fff;
}


.heroHome.theme_white {
  color:#000;
  background-color: #fff;
}

.heroHome.theme_white .heroHome-title,.heroHome.theme_white .heroHome-subtitle {
  color:#d50058;
 
}

.heroHome.theme_pink, .heroHome heroHome-subtitle{
  background-color: #d50058;
  color: #fff;
}

.heroHome.theme_gbsblue {
  background-color: #001C3A;
  color: #fff;
}


@media print {
  .heroHub {
    margin: 0 0 20px 0; }
    .heroHub [class^='btn'] {
      display: none; }
    .heroHub-text {
      padding: 0; } }

/* Header */
.heroEventsHeader {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .heroEventsHeader > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .heroEventsHeader {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .heroEventsHeader {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  @media all and (min-width: 48em) {
    .heroEventsHeader {
      margin-left: 15px;
      margin-right: 15px; } }
  .heroEventsHeader-title {
    color: #d50058;
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    line-height: 1;
    margin-bottom: 10px !important; }
    @media screen and (min-width: 48em) {
      .heroEventsHeader-title {
        font-size: 36px;
        font-size: 2.25rem; } }
    @media screen and (min-width: 61.25em) {
      .heroEventsHeader-title {
        font-size: 46px;
        font-size: 2.875rem;
        margin-bottom: 25px;
        margin-bottom: 1.5625rem; } }

/* Slider */
.eventSlider-wrap {
  clear: both;
  color: #fff;
  background-color: #d50058;
  background-color: rgba(213, 0, 88, 0.8);
  margin: 15px;
  margin: 0.9375rem;
  max-width: 520px;
  max-width: 32.5rem;
  min-height: 400px;
  min-height: 25rem; }
  @media all and (min-width: 48em) {
    .eventSlider-wrap {
      float: right;
      margin: 0 15px 40px 0;
      margin: 0 0.9375rem 2.5rem 0; } }

.eventSlider-text {
  padding: 15px 15px 80px 15px; }
  @media all and (min-width: 48em) {
    .eventSlider-text {
      padding: 30px 60px 30px 30px; } }
  .eventSlider-text > *:last-child {
    margin-bottom: 0; }

.eventSlider-date {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem; }

.eventSlider-title {
  line-height: normal;
  font-weight: normal;
  line-height: normal;
  font-size: 22px;
  font-size: 1.375rem; }
  @media screen and (min-width: 48em) {
    .eventSlider-title {
      font-size: 24px;
      font-size: 1.5rem;
      margin-bottom: 30px;
      margin-bottom: 1.875rem; } }

.eventSlider-intro {
  line-height: normal;
  font-size: 18px;
  font-size: 1.125rem;
  margin-bottom: 10px;
  margin-bottom: 0.625rem; }

.eventSlider-details {
  font-size: 16px;
  font-size: 1rem; }

.eventSlider .btn_white:hover, .eventSlider .btn_white_border:hover, .eventSlider .btn_white:focus, .eventSlider .btn_white_border:focus, .eventSlider .btn_white:active, .eventSlider .btn_white_border:active,
.eventSlider .btn_media:hover,
.eventSlider .btn_media:focus,
.eventSlider .btn_media:active {
  background-color: #77023f; }

@media print {
  .eventSlider-wrap {
    display: none; } }

.heroCaseStudy {
  clear: both;
  float: left;
  color: #fff;
  background-color: #d50058;
  margin: 15px;
  margin: 0.9375rem;
  max-width: 440px;
  max-width: 27.5rem; }
  @media all and (min-width: 48em) {
    .heroCaseStudy {
      margin: 40px 0 40px 15px;
      margin: 2.5rem 0 2.5rem 0.9375rem; } }
  @media all and (min-width: 61.25em) {
    .heroCaseStudy {
      max-width: 520px;
      max-width: 32.5rem; } }
  .heroCaseStudy-date {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .heroCaseStudy-text {
    padding: 15px;
    padding: 0.9375rem; }
    @media all and (min-width: 48em) {
      .heroCaseStudy-text {
        padding: 30px;
        padding: 1.875rem; } }
    .heroCaseStudy-text > *:last-child {
      margin-bottom: 0; }
  .heroCaseStudy-title {
    text-transform: none;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .heroCaseStudy-title {
        font-size: 36px;
        font-size: 2.25rem; } }
  .heroCaseStudy .btn_white:hover, .heroCaseStudy .btn_white_border:hover, .heroCaseStudy .btn_white:focus, .heroCaseStudy .btn_white_border:focus, .heroCaseStudy .btn_white:active, .heroCaseStudy .btn_white_border:active {
    background-color: #77023f; }

@media print {
  .heroCaseStudy {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 40px; }
    .heroCaseStudy-text {
      padding: 0; } }

/* MPU  */
.mpu,
.ad-server {
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .mpu,
    .ad-server {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }

/* eventPromo */
.eventPromo {
  background-color: #fff;
  margin-bottom: 5.88235294%; }
  .eventPromo-figure img {
    width: 100%; }
  .eventPromo-content {
    padding: 15px;
    padding: 0.9375rem; }
    .eventPromo-content > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .eventPromo-content {
        padding: 30px;
        padding: 1.875rem; } }
  .eventPromo-date {
    display: block;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    font-size: 12px;
    font-size: 0.75rem; }
  .eventPromo-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
  .eventPromo-text {
    margin: 0;
    font-size: 15px;
    font-size: 0.9375rem; }
  .eventPromo-button {
    padding: 15px;
    padding: 0.9375rem;
    padding-top: 0 !important; }
    .eventPromo-button > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .eventPromo-button {
        padding: 30px;
        padding: 1.875rem; } }
    .eventPromo-button .btn, .eventPromo-button .xform input[type='submit'], .xform .eventPromo-button input[type='submit'], .eventPromo-button .btn_arrow, .eventPromo-button .btn_white_arrow, .eventPromo-button .btn_white_border_arrow, .eventPromo-button .btn_white, .eventPromo-button .btn_white_border, .eventPromo-button .btn_media {
      width: 100%; }
    .slider.l-row.l-row-100.theme_gbsblue .eventPromo-title {
       color: #001C3A; }

@media print {
  .eventPromo .eventPromo-button {
    display: none; } }

.l-content_indent.hubPromoBlock {
  clear: both;
  border: 1px solid #fff;
  background-color: #eeeeef;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .l-content_indent.hubPromoBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  @media screen and (max-width: 61.188em) {
    .l-content_indent.hubPromoBlock {
      padding: 15px; } }
  @media all and (min-width: 61.25em) {
    .l-content_indent.hubPromoBlock {
      padding-top: 30px;
      padding-bottom: 30px; } }

.hubPromo {
  position: relative; }
  @media screen and (max-width: 61.188em) {
    .hubPromo {
      margin-bottom: 5.88235294%; } }
  .hubPromo-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .hubPromo-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .hubPromo-text {
    font-size: 15px;
    font-size: 0.9375rem;
    padding-bottom: 10px;
    padding-bottom: 0.625rem; }
  .hubPromo.theme_white .hubPromo-content {
    padding: 15px;
    padding: 0.9375rem;
    background-color: #fff; }
    .hubPromo.theme_white .hubPromo-content > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .hubPromo.theme_white .hubPromo-content {
        padding: 30px;
        padding: 1.875rem; } }
    .hubPromo.theme_white .hubPromo-content .hubPromo-title {
      font-weight: normal;
      line-height: normal;
      margin-bottom: 15px;
      margin-bottom: 0.9375rem;
      font-size: 20px;
      font-size: 1.25rem; }
  .hubPromo .cta {
    margin-bottom: 0;
    position: absolute;
    bottom: 20px; }

@media print {
  .l-content_indent.hubPromoBlock {
    padding: 0;
    margin: 0; }
  .hubPromo-content {
    padding: 0 !important; }
  .hubPromo .cta {
    display: none; } }

.wideColourBlock {
  background-color: #eeeeef;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .wideColourBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .wideColourBlock .l-content_indent {
    padding-bottom: 15px;
    background-color: #eeeeef; }
    @media all and (min-width: 61.25em) {
      .wideColourBlock .l-content_indent {
        padding-bottom: 30px; } }
    .wideColourBlock.theme_grey .l-content_indent h2 {
      color: #d50058; }
    .wideColourBlock.theme_gbsblue .l-content_indent h2 {
      color: #001C3A; }
  .wideColourBlock-header {
    color: #d50058;
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    margin-bottom: 35px;
    margin-bottom: 2.1875rem; }
    @media screen and (min-width: 48em) {
      .wideColourBlock-header {
        font-size: 36px;
        font-size: 2.25rem; } }
  .wideColourBlock .l-box-col > *:last-child {
    margin-bottom: 0; }
  .wideColourBlock.theme_plum {
    background-color: #77023f; }
    .wideColourBlock.theme_plum .l-content_indent {
      background-color: #77023f; }
    .wideColourBlock.theme_plum .wideColourBlock-header {
      color: #fff; }
    .wideColourBlock-header.theme_gbsblue {
      color: #001C3A; }

.readyToRegister {
  clear: both;
  z-index: 100;
  border: 1px solid #fff;
  background-color: #eeeeef;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .readyToRegister {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .readyToRegister.l-content_indent {
    background-color: #eeeeef;
    padding-top: 30px;
    padding-bottom: 30px; }
    @media all and (max-width: 61.188em) {
      .readyToRegister.l-content_indent {
        padding: 15px;
        padding: 0.9375rem; } }
  .readyToRegister-wrap {
    position: relative;
    margin-bottom: 5px;
    margin-bottom: 0.3125rem; }
  .readyToRegister-header {
    color: #d50058;
    text-transform: uppercase;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media all and (min-width: 61.25em) {
      .readyToRegister-header {
        font-size: 3.4vm;
        /* IE9 */
        font-size: 3.4vmin; } }
  .readyToRegister-item {
    position: relative;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 15px;
    font-size: 0.9375rem; }
    @media all and (max-width: 61.188em) {
      .readyToRegister-item {
        background-color: #f6f6f6;
        padding: 15px;
        padding: 0.9375rem; } }
    @media all and (min-width: 30em) and (max-width: 61.188em) {
      .readyToRegister-item:nth-last-of-type(-n+2) {
        margin-bottom: 0; } }
    .readyToRegister-item-title {
      color: #d50058;
      font-weight: normal;
      line-height: normal;
      margin-bottom: 15px;
      margin-bottom: 0.9375rem;
      font-size: 20px;
      font-size: 1.25rem; }
    .readyToRegister-item-img {
      display: none; }
      @media all and (min-width: 61.25em) {
        .readyToRegister-item-img {
          display: block;
          text-align: center;
          max-width: 100%;
          margin: 0 auto;
          margin-bottom: 15px;
          margin-bottom: 0.9375rem; } }
    .readyToRegister-item-text {
      margin-bottom: 15px;
      margin-bottom: 0.9375rem; }
      .readyToRegister-item-text a {
        text-decoration: underline; }
    .readyToRegister-item > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .readyToRegister-item {
        padding-left: 30px;
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0; }
        .readyToRegister-item:before {
          content: '';
          position: absolute;
          width: 1px;
          height: 100%;
          left: 0;
          top: 0;
          background-color: #d0d0d1; }
        .readyToRegister-item .btn, .readyToRegister-item .xform input[type='submit'], .xform .readyToRegister-item input[type='submit'], .readyToRegister-item .btn_arrow, .readyToRegister-item .btn_white_arrow, .readyToRegister-item .btn_white_border_arrow, .readyToRegister-item .btn_white, .readyToRegister-item .btn_white_border, .readyToRegister-item .btn_media {
          width: 100%; } }
  @media all and (min-width: 61.25em) {
    .readyToRegister-item_first {
      padding-left: 0; }
      .readyToRegister-item_first:before {
        display: none; }
      .readyToRegister-item_first .readyToRegister-wrap {
        padding-bottom: 50px;
        padding-bottom: 3.125rem; }
      .readyToRegister-item_first .btn, .readyToRegister-item_first .xform input[type='submit'], .xform .readyToRegister-item_first input[type='submit'], .readyToRegister-item_first .btn_arrow, .readyToRegister-item_first .btn_white_arrow, .readyToRegister-item_first .btn_white_border_arrow, .readyToRegister-item_first .btn_white, .readyToRegister-item_first .btn_white_border, .readyToRegister-item_first .btn_media {
        position: absolute;
        bottom: -1em;
        left: 0; } }
  .readyToRegister .btn, .readyToRegister .xform input[type='submit'], .xform .readyToRegister input[type='submit'], .readyToRegister .btn_arrow, .readyToRegister .btn_white_arrow, .readyToRegister .btn_white_border_arrow, .readyToRegister .btn_white, .readyToRegister .btn_white_border, .readyToRegister .btn_media,
  .readyToRegister .cta {
    margin-bottom: 0; }

/* Theme */
.readyToRegister.theme_plum {
  border: none;
  color: #fff;
  background-color: #77023f; }
  @media all and (max-width: 61.188em) {
    .readyToRegister.theme_plum .readyToRegister-item {
      background-color: #860247; } }
  .readyToRegister.theme_plum.l-content_indent {
    color: #fff;
    background-color: #77023f; }
  .readyToRegister.theme_plum .readyToRegister-header,
  .readyToRegister.theme_plum .readyToRegister-item-title,
  .readyToRegister.theme_plum .cta {
    color: #fff; }
  .readyToRegister.theme_plum .readyToRegister-item {
    border-color: #9b0149; }
    .readyToRegister.theme_plum .readyToRegister-item a {
      color: #fff; }
    .readyToRegister.theme_plum .readyToRegister-item:before {
      background-color: #9b0149; }
  .readyToRegister.theme_plum .btn, .readyToRegister.theme_plum .xform input[type='submit'], .xform .readyToRegister.theme_plum input[type='submit'], .readyToRegister.theme_plum .btn_arrow, .readyToRegister.theme_plum .btn_white_arrow, .readyToRegister.theme_plum .btn_white_border_arrow, .readyToRegister.theme_plum .btn_white, .readyToRegister.theme_plum .btn_white_border, .readyToRegister.theme_plum .btn_media {
    color: #d50058 !important;
    background-color: #fff; }
    .readyToRegister.theme_plum .btn:hover, .readyToRegister.theme_plum .xform input[type='submit']:hover, .xform .readyToRegister.theme_plum input[type='submit']:hover, .readyToRegister.theme_plum .btn_arrow:hover, .readyToRegister.theme_plum .btn_white_arrow:hover, .readyToRegister.theme_plum .btn_white_border_arrow:hover, .readyToRegister.theme_plum .btn_white:hover, .readyToRegister.theme_plum .btn_white_border:hover, .readyToRegister.theme_plum .btn_media:hover, .readyToRegister.theme_plum .btn:focus, .readyToRegister.theme_plum .xform input[type='submit']:focus, .xform .readyToRegister.theme_plum input[type='submit']:focus, .readyToRegister.theme_plum .btn_arrow:focus, .readyToRegister.theme_plum .btn_white_arrow:focus, .readyToRegister.theme_plum .btn_white_border_arrow:focus, .readyToRegister.theme_plum .btn_white:focus, .readyToRegister.theme_plum .btn_white_border:focus, .readyToRegister.theme_plum .btn_media:focus {
      color: #fff !important;
      background-color: #d50058; }

@media print {
  .readyToRegister-item-img {
    display: block;
    margin-bottom: 10px; }
  .readyToRegister-header {
    font-size: 20px; }
  .readyToRegister-wrap {
    padding-bottom: 0; }
  .readyToRegister .btn, .readyToRegister .xform input[type='submit'], .xform .readyToRegister input[type='submit'], .readyToRegister .btn_arrow, .readyToRegister .btn_white_arrow, .readyToRegister .btn_white_border_arrow, .readyToRegister .btn_white, .readyToRegister .btn_white_border, .readyToRegister .btn_media,
  .readyToRegister .cta {
    display: none; }
  .readyToRegister-item {
    padding-left: 0;
    margin-bottom: 0; }
    .readyToRegister-item:before {
      display: none; }
  .readyToRegister-text {
    margin-bottom: 0;
    padding-bottom: 0; }
  .readyToRegister-item_first .readyToRegister-wrap {
    padding: 0; } }

.headerHero {
  clear: both;
  color: #fff;
  text-align: right;
  max-width: 95%;
  margin: 0 0 -40px -40px;
  padding: 20px 20px 70px 0;
  padding: 1.25rem 1.25rem 4.375rem 0;
  padding-left: 15%; }
  .headerHero-title {
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    line-height: 1; }
  .headerHero.theme_plum {
      background-color: #d50058; }
  .headerHero.theme_gbsblue {
      background-color: #001C3A; }
    @media screen and (min-width: 48em) {
      .headerHero-title {
        font-size: 36px;
        font-size: 2.25rem; } }
    @media screen and (min-width: 61.25em) {
      .headerHero-title {
        font-size: 46px;
        font-size: 2.875rem;
        margin-bottom: 25px;
        margin-bottom: 1.5625rem; } }
  .headerHero-intro {
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    margin: 0; }
    @media screen and (min-width: 48em) {
      .headerHero-intro {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  @media all and (min-width: 48em) {
    .headerHero {
      padding: 30px 30px 60px 0;
      padding: 1.875rem 1.875rem 3.75rem 0;
      padding-left: 20%;
      max-width: 70%; }
      .headerHero-intro {
        font-size: 24px;
        font-size: 1.5rem; } }
  @media all and (min-width: 61.25em) {
    .headerHero {
      padding: 40px 40px 70px 0;
      padding: 2.5rem 2.5rem 4.375rem 0;
      padding-left: 5%;
      max-width: 50%; } }

@media print {
  .headerHero {
    text-align: left;
    margin: 0 0 20px 0;
    padding: 0; } }

.aToZ {
  clear: both;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .aToZ {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .aToZ > li {
    float: left;
    margin: 0 2px 2px 0;
    margin: 0 0.125rem 0.125rem 0; }
  .aToZ > li > a {
    text-transform: uppercase;
    display: block;
    font-weight: bold;
    color: #4d4d4f;
    text-decoration: none;
    padding: 5px 10px;
    padding: 0.3125rem 0.625rem; }
    .aToZ > li > a:hover, .aToZ > li > a:active {
      color: inherit;
      text-decoration: underline; }
    .aToZ > li > a.u-active {
      color: #fff;
      background-color: #d50058 !important; }
     .aToZ > li > a.u-active-gbsblue {
      color: #fff;
      background-color: #001C3A !important; }
    .aToZ > li > a.u-disabled {
      text-decoration: none !important;
      color: #ccc; }
    .aToZ > li > a:hover, .aToZ > li > a:focus {
      text-decoration: none;
      background-color: #eeeeef; }

@media print {
  .aToZ {
    display: none; } }

.statsBlock {
  clear: both;
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.9);
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .statsBlock > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .statsBlock {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .statsBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .statsBlock-item {
    border-bottom: 1px solid #d0d0d1;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .statsBlock-figure {
    display: none;
    vertical-align: top;
    padding: 0 15px 10px 0;
    padding: 0 0.9375rem 0.625rem 0; }
  .statsBlock-content {
    font-size: 15px;
    font-size: 0.9375rem; }
    .statsBlock-content p {
      margin-bottom: 15px;
      margin-bottom: 0.9375rem; }
  .statsBlock-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .statsBlock-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }

/* within 60% wide page only */
.l-row-60-40 .statsBlock {
  padding: 0; }
  @media all and (min-width: 30em) {
    .l-row-60-40 .statsBlock .l-box-col {
      float: none !important;
      width: 100% !important;
      margin-left: 0 !important;
      border-bottom: none; }
    .l-row-60-40 .statsBlock-item {
      display: table; }
    .l-row-60-40 .statsBlock-figure, .l-row-60-40 .statsBlock-content {
      display: table-cell; } }

/* END within 60% wide page only */
/* within 100% wide page only */
@media all and (min-width: 30em) and (max-width: 47.938em) {
  .l-row-100 .statsBlock .l-box-col {
    float: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    border-bottom: none; }
  .l-row-100 .statsBlock-item {
    display: table; }
  .l-row-100 .statsBlock-figure, .l-row-100 .statsBlock-content {
    display: table-cell; } }

@media all and (min-width: 48em) {
  .l-row-100 .statsBlock-item {
    position: relative;
    border: none;
    margin-top: 50px;
    margin-top: 3.125rem; }
    .l-row-100 .statsBlock-item:before {
      content: '';
      position: absolute;
      width: 1px;
      height: 100%;
      left: -15px;
      top: 0;
      background-color: #d0d0d1; }
  .l-row-100 .statsBlock .l-box-col:nth-of-type(3n+1) .statsBlock-item:before {
    display: none; }
  .l-row-100 .statsBlock .l-box-col:nth-of-type(-n+3) .statsBlock-item {
    margin-top: 0; }
  .l-row-100 .statsBlock-figure {
    display: block;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    .l-row-100 .statsBlock-figure img {
      min-width: 103px; } }

@media all and (min-width: 61.25em) {
  .l-row-100 .statsBlock-figure, .l-row-100 .statsBlock-content {
    display: table-cell; }
    .l-row-100 .statsBlock-figure p:last-child, .l-row-100 .statsBlock-content p:last-child {
      margin-bottom: 0; } }

/* end within 100% wide page only */
/* little hack */
.statsBlock .l-box-col:first-child .statsBlock-item:before {
  display: none; }

.homeCaseStudySlider .statsBlock {
  margin: 15px;
  margin: 0.9375rem; }
  .homeCaseStudySlider .statsBlock .l-box-col:last-child .statsBlock-item {
    border-bottom: none;
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .homeCaseStudySlider .statsBlock {
      margin: 0 40px 40px;
      margin: 0 2.5rem 2.5rem; } }

@media print {
  .statsBlock {
    padding: 0;
    margin: 0; } }

/* ==========================================================================
   Forms
   ========================================================================== */
/* reset */
legend {
  display: block;
  border: 0;
  padding: 0;
  white-space: normal;
  *margin-left: -7px; }

fieldset {
  margin: 0;
  padding: 0;
  border: none;
  position: relative; }

input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
select,
textarea {
  font-size: 100%;
  font-family: inherit;
  line-height: normal;
  vertical-align: baseline;
  border: none;
  outline: none;
  border-radius: 0;
  box-shadow: none;
  background: #fff;
  font-size: 15px;
  font-size: 0.9375rem; }
  @media screen and (max-device-width: 61.25em) {
    input[type=text],
    input[type=email],
    input[type=password],
    input[type=number],
    input[type=tel],
    input[type=url],
    select,
    textarea {
      font-size: 16px !important;
      -webkit-appearance: none; }
      input[type=text]:focus,
      input[type=email]:focus,
      input[type=password]:focus,
      input[type=number]:focus,
      input[type=tel]:focus,
      input[type=url]:focus,
      select:focus,
      textarea:focus {
        font-size: 16px !important; } }

button[disabled],
input[disabled] {
  cursor: default; }

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  border: none;
  padding: 0; }

input[type="search"] {
  -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
  resize: none; }

label span {
  display: block;
  font-size: 14px;
  font-size: 0.875rem; }

abbr {
  border: none;
  font-weight: normal;
  line-height: 2px;
  vertical-align: middle;
  border-bottom-width: 0;
  text-decoration: none;
  font-size: 22px;
  font-size: 1.375rem; }

::-webkit-input-placeholder {
  color: #4d4d4f;
  opacity: .7; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #4d4d4f;
  opacity: .7; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #4d4d4f;
  opacity: .7; }

:-ms-input-placeholder {
  color: #4d4d4f;
  opacity: .7; }

/*Turn Off Number Input Spinners */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin: 0; }

input[type=number] {
  -moz-appearance: textfield; }

/* Form input style (all form types) */
input[type=text],
input[type=email],
input[type=password],
input[type=number],
input[type=tel],
input[type=url],
select,
textarea {
  display: inline-block;
  width: 100%;
  margin: 0;
  border: 1px solid #fff;
  padding: 14px 10px;
  padding: 0.875rem 0.625rem; }
  input[type=text]:focus,
  input[type=email]:focus,
  input[type=password]:focus,
  input[type=number]:focus,
  input[type=tel]:focus,
  input[type=url]:focus,
  select:focus,
  textarea:focus {
    border-color: #dedede; }

@media all and (max-device-width: 64em) {
  select {
    background: #fff url(../images/assets/arrow-pink-down.png) no-repeat 98% 50%;
    padding-right: 20px;
    padding-right: 1.25rem;
    font-size: 16px;
    font-size: 1rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    .xform select {
      background-position: 96% 50%; } }

/* if wrapped */
.form-select {
  overflow: hidden;
  background-color: #fff;
  padding: 13px 10px;
  padding: 0.8125rem 0.625rem; }
  .form-select select {
    margin: 0;
    padding: 0;
    border: 1px solid #fff;
    background-color: #fff; }
    .form-select select option {
      background: #fff; }

.form-row {
  margin-bottom: 15px;
  margin-bottom: 0.9375rem; }
  .form-row .btn, .form-row .xform input[type='submit'], .xform .form-row input[type='submit'], .form-row .btn_arrow, .form-row .btn_white_arrow, .form-row .btn_white_border_arrow, .form-row .btn_white, .form-row .btn_white_border, .form-row .btn_media {
    padding: 17px 20px;
    padding: 1.0625rem 1.25rem;
    margin: 2em 0 0 0 !important; }
  .form-row_wide {
    clear: both;
    display: table;
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important; }
    @media all and (min-width: 37.5em) {
      .form-row_wide .form-row-col {
        display: table-cell;
        vertical-align: top; } }

.fieldGroup .form-select {
  float: left;
  width: 32%;
  margin-left: 2%; }
  .fieldGroup .form-select:first-of-type {
    margin-left: 0; }

.error {
  color: #ca2100 !important;
  padding-top: 5px;
  padding-top: 0.3125rem; }

.errorList {
  border: 2px solid #ca2100 !important;
  color: #ca2100 !important;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .errorList {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .errorList ul {
    margin: 0 0 0 2em; }

label, legend {
  display: inline-block;
  margin-bottom: 7px;
  margin-bottom: 0.4375rem;
  font-size: 15px;
  font-size: 0.9375rem; }

.check-radio-box {
  display: block;
  clear: both;
  position: relative;
  padding-left: 25px;
  padding-left: 1.5625rem; }
  .check-radio-box input {
    position: absolute;
    top: 5px;
    top: 0.3125rem;
    left: 0; }

.toggleAttendee input[type='radio'] {
  margin-right: 10px;
  margin-right: 0.625rem; }

.toggleAttendee label {
  display: inline-block !important; }

/* within xform */
.footer-top .footer-newsletter .xform .xformvalidator, .xform .xformvalidator,
.xform .error {
  font-weight: normal;
  line-height: normal;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  font-weight: bold;
  text-transform: none;
  color: #ca2100 !important;
  margin: 5px 0 0 0;
  margin: 0.3125rem 0 0 0; }

.xform {
  font-size: 15px;
  font-size: 0.9375rem; }
  .xform > table {
    border-collapse: collapse;
    width: 100%;
    max-width: 450px;
    max-width: 28.125rem;
    margin-bottom: 0; }
    .xform > table tr td {
      padding-bottom: 25px;
      padding-bottom: 1.5625rem; }
    .xform > table tr:last-child td {
      padding-bottom: 0; }
  .xform h2, .xform span {
    display: block;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    color: #d50058;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .xform h2, .xform span {
        font-size: 36px;
        font-size: 2.25rem; } }
  .xform span.subtitle,
  .xform span.subTitle {
    display: block;
    color: #4d4d4f;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      .xform span.subtitle,
      .xform span.subTitle {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .xform .xformvalidator,
  .xform .error {
    font-weight: normal !important; }
  .xform fieldset label {
    margin-right: 15px; }
  .xform legend {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .xform hr {
    margin-top: 0;
    padding: 0;
    display: block;
    height: 1px;
    color: #d0d0d1;
    border: none;
    background-color: #d0d0d1; }
  .xform input[type='radio'],
  .xform input[type='checkbox'] {
    display: inline-block;
    margin-right: 5px;
    margin-right: 0.3125rem; }

/* create two column if in wide 100% page */
@media all and (min-width: 48em) {
  .l-row-100 .xform table tr {
    clear: both; }
    .l-row-100 .xform table tr > td {
      vertical-align: middle; }
      .l-row-100 .xform table tr > td > label {
        float: left;
        width: 45%;
        margin: 10px 5% 5px 0;
        vertical-align: middle; }
  .l-row-100 .xform table input[type=text],
  .l-row-100 .xform table input[type=email],
  .l-row-100 .xform table input[type=password],
  .l-row-100 .xform table input[type=number],
  .l-row-100 .xform table input[type=tel],
  .l-row-100 .xform table input[type=url],
  .l-row-100 .xform table select {
    display: inline-block;
    width: 50%; } }

@media print {
  .xform {
    display: none; } }

.locations {
  clear: both;
  background-image: url(../images/assets/px-pink.png);
  background-repeat: repeat-x;
  background-size: 50% 400px; }
  .locations-title {
    line-height: normal;
    font-weight: normal;
    line-height: normal;
    font-size: 22px;
    font-size: 1.375rem;
    margin-bottom: 30px;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 48em) {
      .locations-title {
        font-size: 24px;
        font-size: 1.5rem;
        margin-bottom: 30px;
        margin-bottom: 1.875rem; } }
  .locations .btn, .locations .xform input[type='submit'], .xform .locations input[type='submit'], .locations .btn_arrow, .locations .btn_white_arrow, .locations .btn_white_border_arrow, .locations .btn_white, .locations .btn_white_border, .locations .btn_media {
    float: right;
    margin: 0;
    width: 100%;
    border: 2px solid #fff;
    padding: 16px;
    padding: 1rem;
    font-size: 16px;
    font-size: 1rem; }
  .locations-wrap {
    clear: both;
    color: #fff;
    display: table;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    background-color: #d50058; }
    @media all and (min-width: 61.25em) {
      .locations-wrap {
        padding: 15px;
        padding: 0.9375rem; }
        .locations-wrap > *:last-child {
          margin-bottom: 0; } }
  @media all and (min-width: 61.25em) and (min-width: 61.25em) {
    .locations-wrap {
      padding: 30px;
      padding: 1.875rem; } }
    @media all and (min-width: 37.5em) {
      .locations-wrap .locations-form,
      .locations-wrap .locations-enquiry {
        float: left;
        width: 60%;
        margin: 0;
        max-width: 450px; }
      .locations-wrap .locations-enquiry {
        float: right;
        width: 40%; }
      .locations-wrap .btn, .locations-wrap .xform input[type='submit'], .xform .locations-wrap input[type='submit'], .locations-wrap .btn_arrow, .locations-wrap .btn_white_arrow, .locations-wrap .btn_white_border_arrow, .locations-wrap .btn_white, .locations-wrap .btn_white_border, .locations-wrap .btn_media {
        width: auto; } }

.locations-form {
  color: #fff;
  overflow: hidden;
  background: #d50058;
  margin-bottom: 15px; }
  .locations-form-label {
    font-size: 16px;
    font-size: 1rem; }
    @media all and (min-width: 37.5em) {
      .locations-form-label {
        float: left;
        margin: 15px 15px 0 0;
        margin: 0.9375rem 0.9375rem 0 0; } }
  .locations-form .form-select {
    color: #d50058;
    padding: 16px 15px;
    padding: 1rem 0.9375rem; }
    .locations-form .form-select select {
      font-size: 16px;
      font-size: 1rem; }

/* GOOGLE map */
.locations-map {
  clear: both;
  width: 100%;
  height: 100%;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .locations-map {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .locations-map img {
    width: 100%; }

/* Location Details */
.locationDetails {
  clear: both;
  width: 100%;
  padding-top: 0 !important;
  padding-bottom: 0 !important; }
  .locationDetails-title {
    color: #d50058;
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .locationDetails-title {
        font-size: 36px;
        font-size: 2.25rem; } }

/* location CIMA label */
.locationLabel {
  display: inline-block;
  background-color: #77023f; }
  .locationLabel span {
    color: #fff;
    line-height: 1.2;
    font-weight: bold;
    display: inline-block;
    padding: 0 10px;
    border-left: 2px;
    font-size: 14px;
    font-size: 0.875rem; }
  .locationLabel img {
    border-right: 1px solid #fff; }

/* location address  and services */
.locationDetails-container {
  clear: both;
  line-height: 1.4;
  font-size: 15px;
  font-size: 0.9375rem; }
  .locationDetails-container h3 {
    color: #d50058;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
    .locationDetails-container h3 span {
      font-weight: normal; }
  .locationDetails-container p {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    .locationDetails-container p span {
      font-weight: bold;
      color: #d50058; }
  .locationDetails-container .locationDetails-col2 {
    margin-bottom: 30px;
    margin-bottom: 1.875rem; }
  @media all and (min-width: 30em) and (max-width: 47.938em) {
    .locationDetails-container .locationDetails-col1, .locationDetails-container .locationDetails-col2 {
      float: left;
      width: 45%;
      margin-right: 5%; }
    .locationDetails-container .locationDetails-col3 {
      clear: both; } }
  @media all and (min-width: 48em) {
    .locationDetails-container .locationDetails-col1, .locationDetails-container .locationDetails-col2, .locationDetails-container .locationDetails-col3 {
      float: left; }
    .locationDetails-container .locationDetails-col1 {
      width: 30%;
      margin-right: 5%; }
    .locationDetails-container .locationDetails-col2 {
      width: 25%;
      margin-right: 10%; }
    .locationDetails-container .locationDetails-col3 {
      width: 30%; } }

@media print {
  .locations-wrap {
    display: none; } }

.speakerBlock {
  clear: both;
  background-color: #fff;
  position: relative;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  /* Layout */ }
  @media all and (min-width: 61.25em) {
    .speakerBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .speakerBlock-wrap {
    display: table;
    width: 100%;
    background-color: #7b6a5d;
    color: #fff;
    padding: 15px;
    padding: 0.9375rem; }
    .speakerBlock-wrap > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .speakerBlock-wrap {
        padding: 30px;
        padding: 1.875rem; } }
  .speakerBlock-figure img {
    display: block;
    max-width: 150px;
    border-radius: 200px;
    margin: 0 15px 15px 0; }
    @media all and (min-width: 61.25em) {
      .speakerBlock-figure img {
        margin: 0 30px 30px 0; } }
  .speakerBlock-title {
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .speakerBlock-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .speakerBlock-video-title {
    margin-top: 15px;
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    margin-bottom: 30px;
    margin-bottom: 1.875rem; }
    @media all and (min-width: 61.25em) {
      .speakerBlock-video-title {
        margin-bottom: 40px;
        margin-bottom: 2.5rem; } }
  @media all and (min-width: 30em) {
    .speakerBlock-figure, .speakerBlock-content {
      display: table-cell;
      vertical-align: top; } }
  @media all and (min-width: 61.25em) {
    .l-row-100 .speakerBlock-wrap {
      max-width: 60%; } }

/* With video */
@media all and (min-width: 37.5em) {
  .l-row-100 .speakerBlock_video .speakerBlock-wrap {
    padding-bottom: 200px; }
  .l-row-100 .speakerBlock_video .speakerBlock-video {
    float: right;
    margin-top: -200px;
    width: 70%; } }

@media all and (min-width: 61.25em) {
  .l-row-100 .speakerBlock_video .speakerBlock-wrap {
    width: 60%;
    float: left;
    padding-bottom: 30px; }
  .l-row-100 .speakerBlock_video .speakerBlock-summary {
    padding-right: 25%; }
  .l-row-100 .speakerBlock_video .speakerBlock-video {
    text-align: right;
    margin: 40px 0 0 -10%;
    width: 50%; } }

@media all and (min-width: 37.5em) {
  .l-col-60 .speakerBlock_video .speakerBlock-wrap {
    padding-bottom: 200px; }
  .l-col-60 .speakerBlock_video .speakerBlock-video {
    float: right;
    margin-top: -200px;
    width: 70%; } }

@media all and (min-width: 48em) {
  .l-col-60 .speakerBlock_video {
    margin-left: -16%; }
    .l-col-60 .speakerBlock_video .speakerBlock-wrap {
      padding-left: 16%; }
    .l-col-60 .speakerBlock_video .speakerBlock-video {
      width: 86%; } }

@media print {
  .speakerBlock-video {
    display: none; } }

.listing {
  clear: both; }
  .listing h2 {
    color: #d50058; }

.listingBlock {
  clear: both;
  position: relative;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .listingBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .listingBlock-content {
    font-size: 15px;
    font-size: 0.9375rem; }
  .listingBlock-date {
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .listingBlock-title {
    color: #d50058;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    margin-right: 50px;
    margin-right: 3.125rem; }
    @media screen and (min-width: 48em) {
      .listingBlock-title {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .listingBlock-type {
    color: #d50058;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
    font-size: 0.75rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .listingBlock-details {
    display: table;
    width: 100%;
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    margin: 0;
    padding: 0;
    list-style-type: none; }
    .listingBlock-details-item {
      display: table-row;
      margin: 0;
      padding: 0; }
    .listingBlock-details-title {
      font-weight: bold;
      width: 38%; }
      @media all and (min-width: 37.5em) {
        .listingBlock-details-title {
          width: 30%; } }
    .listingBlock-details-title, .listingBlock-details-text {
      display: table-cell;
      padding: 0 10px 10px 0;
      padding: 0 0.625rem 0.625rem 0; }
  .listingBlock-figure {
    display: none; }
    .listingBlock-figure img {
      display: block;
      max-width: 100%; }
  .listingBlock-content {
    position: relative;
    background-color: #edf5fb;
    padding: 15px;
    padding: 0.9375rem; }
    .listingBlock-content > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .listingBlock-content {
        padding: 30px;
        padding: 1.875rem; } }
  .listingBlock-sponsor {
    clear: both; }
    .listingBlock-sponsor img {
      display: inline-block;
      margin: 5px 10px 5px 0;
      margin: 0.3125rem 0.625rem 0.3125rem 0; }
    .listingBlock-sponsor span {
      display: inline-block;
      margin: 0 10px 5px 0;
      margin: 0 0.625rem 0.3125rem 0; }
  .listingBlock .totalPrice {
    font-weight: bold;
    color: #d50058; }

/* layout with image */
@media all and (min-width: 48em) {
  .l-row-100 .listingBlock.listingBlock_image {
    padding-top: 30px; }
    .l-row-100 .listingBlock.listingBlock_image .listingBlock-figure {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 37.43315508%; }
    .l-row-100 .listingBlock.listingBlock_image .listingBlock-content {
      display: block;
      margin-left: 31.01604278%; } }

/* layout with image */
@media all and (min-width: 61.25em) {
  .l-col-60 .listingBlock.listingBlock_image {
    padding-top: 30px; }
    .l-col-60 .listingBlock.listingBlock_image .listingBlock-figure {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 48.7804878%; }
    .l-col-60 .listingBlock.listingBlock_image .listingBlock-content {
      display: block;
      margin-left: 34.95934959%; } }

/* label (pink/blue) */
.listingBlock-label {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  display: block;
  border-color: #d50058 #d50058 transparent transparent;
  border-style: solid;
  border-width: 55px;
  z-index: 1; }
  .listingBlock-label span {
    position: absolute;
    top: -45px;
    right: -45px;
    display: block;
    width: 50px;
    height: 110px;
    color: #fff;
    text-align: right;
    font-weight: bold;
    text-transform: uppercase;
    font-size: 12px;
    font-size: 0.75rem; }
  .listingBlock-label.theme_blue {
    border-color: #1690c9 #1690c9 transparent transparent; }

/* themes */
.listingBlock:nth-of-type(odd) .listingBlock-content {
  background-color: #fbf4ea; }

@media print {
  .listingBlock {
    margin: 0; }
    .listingBlock [class^='btn'],
    .listingBlock .cta, .listingBlock-figure, .listingBlock-label {
      display: none; }
    .listingBlock-details {
      width: auto;
      margin: 0; }
      .listingBlock-details-title, .listingBlock-details-text {
        padding: 0 20px 5px 0;
        padding: 0 1.25rem 0.3125rem 0; }
    .listingBlock-content {
      padding: 20px 0 0;
      border-top: 1px solid #ccc; } }

.pagination {
  clear: both;
  display: block;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .pagination {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .pagination-list {
    display: table;
    list-style-type: none;
    padding: 0;
    margin: 0 auto; }
  .pagination-item {
    padding: 0;
    margin: 0 0 20px 0;
    float: left; }
    @media all and (min-width: 48em) {
      .pagination-item {
        float: none;
        margin: 0;
        display: table-cell; } }
  .pagination span {
    display: block;
    font-weight: bold;
    color: #d50058;
    margin: 0 10px;
    margin: 0 0.625rem; }
  .pagination-link {
    padding: 10px 13px;
    padding: 0.625rem 0.8125rem;
    text-decoration: none; }
    .pagination-link:hover, .pagination-link:focus {
      background-color: #eeeeef; }
    .pagination-link_current {
      color: #fff;
      font-weight: bold;
      background-color: #d50058; }
      .pagination-link_current:hover, .pagination-link_current:focus {
        color: #fff;
        background-color: #d50058; }
  .pagination-button {
    position: relative;
    text-indent: -999em;
    display: block;
    width: 15px;
    height: 15px;
    margin: 0 10px;
    position: relative; }
    .pagination-button:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -622px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      right: 0;
      top: 3px; }
      .no-svg .pagination-button:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -622px -512px; }
      .svg .pagination-button:after {
        background-image: url("../images/svg/arrow-pink-right.svg");
        background-position: 0 0; }
  .pagination-button_prev {
    position: relative; }
    .pagination-button_prev:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -673px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      right: 0;
      top: 3px; }
      .no-svg .pagination-button_prev:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -673px -512px; }
      .svg .pagination-button_prev:after {
        background-image: url("../images/svg/arrow-pink-left.svg");
        background-position: 0 0; }

@media print {
  .pagination {
    display: none; } }

.dropdown {
  display: none;
  position: absolute;
  z-index: 1100;
  top: 100%;
  left: 0;
  height: 0;
  overflow: hidden; }
  .nojs .dropdown_open,
  .u-ncDelay .dropdown_open {
    display: block;
    height: auto;
    overflow: visible; }
  .dropdown_opening {
    display: block;
    height: auto; }
  .dropdown_closing {
    display: block;
    height: auto; }
  .dropdown_header {
    background: #eeeeef; }
  .dropdown-items_header {
    border-bottom: 3px solid #d50058;
    padding: 15px; }
    @media all and (min-width: 48em) {
      .dropdown-items_header {
        border: 3px solid #d50058;
        width: 300px; } }
  .dropdown-item-link {
    text-decoration: none; }
    .dropdown-item-link:hover, .dropdown-item-link:active {
      color: inherit;
      text-decoration: underline; }
  .dropdown_search {
    height: auto;
    width: 0;
    top: 0;
    left: auto;
    right: 0; }
    .dropdown_search.dropdown_open {
      width: auto; }
  .dropdown_inPage {
    position: static;
    z-index: auto;
    top: auto;
    left: auto;
    right: auto; }

.hgroup-start {
  float: left; }

.hgroup-end {
  float: right; }

.hgroup_mobileHeader {
  margin: 0 15px 15px; }

.slider {
  clear: both;
  margin-top: -20px;
  background-color: #eeeeef; }
  .slider .l-content_indent {
    background-color: #eeeeef; }
  .slider_active {
    overflow: hidden;
    position: relative; }
  .slider-wing {
    display: block;
    top: 0;
    bottom: 0;
    position: absolute;
    background: #eeeeef;
    opacity: 0.75;
    z-index: 2; }
    .slider-wing_left {
      left: 0; }
    .slider-wing_right {
      right: 0; }
  .slider-items {
    -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
            transform: translate(0, 0); }
  .slider-buttonsWrapper {
    position: relative; }
  .slider-next, .slider-prev {
    position: absolute;
    left: 100%;
    top: 50%;
    border: 1px solid #d50058;
    margin-top: -60px;
    margin-top: -3.75rem;
    margin-left: 50px;
    margin-left: 3.125rem; }
    .slider-next_disabled, .slider-prev_disabled {
      cursor: default;
      opacity: 0.15; }
  .slider-prev {
    margin-top: 0; }

@media all and (max-width: 64.063em) {
  .slider-buttonsWrapper {
    padding-bottom: 58px;
    padding-bottom: 3.625rem; }
  .slider-next, .slider-prev {
    left: auto;
    right: 0;
    bottom: 25px;
    top: auto;
    margin-top: 0; }
  .slider-prev {
    right: 60px; } }

/* White theme */
.slider.theme_white {
  background-color: #fff;
  margin-top: 15px; }
  .slider.theme_white .l-content_indent {
    padding-top: 0;
    background-color: #fff; }
  .slider.theme_white .slider-wing {
    background-color: #fff; }
  .slider.theme_white .eventPromo {
    background-color: #eeeeef; }
  .slider.theme_white .btn_white_border {
    background-color: transparent; }
    .slider.theme_white .btn_white_border:hover, .slider.theme_white .btn_white_border:focus, .slider.theme_white .btn_white_border:active {
      background-color: #d50058; }

/* GBS Blue theme */
.slider.theme_gbsblue {
  background-color: #fff;
  margin-top: 15px; }
  .slider.theme_gbsblue .l-content_indent {
    padding-top: 0;
    background-color: #fff; }
  .slider.theme_gbsblue .slider-wing {
    background-color: #fff; }
  .slider.theme_gbsblue .eventPromo {
    background-color: #eeeeef; }
  .slider.theme_gbsblue .btn_white_border {
    background-color: transparent; }
    .slider.theme_gbsblue .btn_white_border:hover, .slider.theme_gbsblue .btn_white_border:focus, .slider.theme_gbsblue .btn_white_border:active {
      background-color: #d50058; }

@media print {
  .slider {
    display: none; } }

/* login panel */
.loginDropdown {
  background-color: #eeeeef;
  border-bottom: 3px solid #d50058;
  padding: 15px;
  padding: 0.9375rem; }
  .loginDropdown-header {
    font-size: 16px;
    font-size: 1rem; }
  .loginDropdown-form {
    max-width: 350px;
    max-width: 21.875rem; }
  .loginDropdown-field {
    clear: both;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    .loginDropdown-field label {
      display: block;
      font-weight: bold;
      margin-bottom: 3px;
      margin-bottom: 0.1875rem; }
    .loginDropdown-field .textbox {
      border: 1px solid #d0d0d1;
      font-size: 16px;
      font-size: 1rem;
      padding: 3px 10px;
      padding: 0.1875rem 0.625rem; }
    .loginDropdown-field .validator {
      color: #ca2100 !important;
      display: block;
      font-size: 14px;
      font-size: 0.875rem; }
  .loginDropdown-remember {
    display: block;
    clear: both;
    overflow: hidden;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
    .loginDropdown-remember input[type='checkbox'] {
      float: left;
      vertical-align: middle;
      margin: 3px 10px 0 0;
      margin: 0.1875rem 0.625rem 0 0; }
  .loginDropdown-link {
    text-decoration: none; }
    .loginDropdown-link:hover, .loginDropdown-link:active {
      color: inherit;
      text-decoration: underline; }

/* large screens */
@media all and (min-width: 48em) {
  #loginDropdown {
    width: 330px;
    right: 0;
    left: auto; }
  .loginDropdown {
    padding: 0;
    border: 3px solid #d50058;
    font-size: 15px;
    font-size: 0.9375rem; }
    .loginDropdown-header {
      color: #fff;
      margin: 0;
      background-color: #d50058;
      padding: 10px 15px;
      padding: 0.625rem 0.9375rem; }
    .loginDropdown-form {
      background-color: #eeeeef;
      padding: 16px;
      padding: 1rem; } }

/* generic table style */
.wysiwyg table, .textColourBlock table,
.mceContentBody table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .wysiwyg table, .textColourBlock table,
    .mceContentBody table {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .wysiwyg table th, .textColourBlock table th, .wysiwyg table td, .textColourBlock table td,
  .mceContentBody table th,
  .mceContentBody table td {
    font-weight: normal;
    text-align: left;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    vertical-align: top;
    padding: 10px;
    padding: 0.625rem; }
    .wysiwyg table th a, .textColourBlock table th a, .wysiwyg table td a, .textColourBlock table td a,
    .mceContentBody table th a,
    .mceContentBody table td a {
      display: inline-block;
      text-decoration: none; }
      .wysiwyg table th a:hover, .textColourBlock table th a:hover, .wysiwyg table th a:active, .textColourBlock table th a:active, .wysiwyg table td a:hover, .textColourBlock table td a:hover, .wysiwyg table td a:active, .textColourBlock table td a:active,
      .mceContentBody table th a:hover,
      .mceContentBody table th a:active,
      .mceContentBody table td a:hover,
      .mceContentBody table td a:active {
        color: inherit;
        text-decoration: underline; }
  .wysiwyg table td, .textColourBlock table td,
  .mceContentBody table td {
    background-color: #eeeeef; }
  .wysiwyg table th, .textColourBlock table th,
  .mceContentBody table th {
    background-color: #dedede; }
  .wysiwyg table th:empty, .textColourBlock table th:empty,
  .mceContentBody table th:empty {
    background-color: transparent; }
  .wysiwyg table td:first-child, .textColourBlock table td:first-child,
  .wysiwyg table th:first-child, .textColourBlock table th:first-child,
  .mceContentBody table td:first-child,
  .mceContentBody table th:first-child {
    border-left: none; }

/* Coloured table (Objectives) */
table.tableColoured {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  font-size: 0.9375rem; }
  table.tableColoured th, table.tableColoured td {
    font-weight: bold;
    color: #fff;
    border: none;
    border-bottom: 2px solid #fff;
    vertical-align: top;
    text-align: center;
    background-color: #d50058;
    padding: 20px 15px;
    padding: 1.25rem 0.9375rem; }
    table.tableColoured th a, table.tableColoured td a {
      color: #fff; }
  table.tableColoured tr:last-child td {
    border: none; }
  table.tableColoured tr td:nth-child(1) {
    text-align: left; }
  table.tableColoured tr td:nth-child(2),
  table.tableColoured tr td:nth-child(5),
  table.tableColoured tr td:nth-child(8) {
    background-color: #77023f; }
  table.tableColoured tr td:nth-child(3),
  table.tableColoured tr td:nth-child(6),
  table.tableColoured tr td:nth-child(9) {
    background-color: #f06098; }
  table.tableColoured tr td:nth-child(4),
  table.tableColoured tr td:nth-child(7),
  table.tableColoured tr td:nth-child(10) {
    background-color: #31998f; }

/* old IEs */
.lt-ie9 table.tableColoured th, .lt-ie9 table.tableColoured td {
  background-color: #77023f;
  border-left: 1px solid #fff; }

.lt-ie9 table.tableColoured tr td:first-child {
  background-color: #d50058;
  text-align: left; }

/* Coloured table (Objectives) */
table.tablePlum {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  font-size: 0.9375rem; }
  table.tablePlum th, table.tablePlum td {
    color: #fff;
    border: none;
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    vertical-align: top;
    text-align: left;
    background-color: #77023f;
    padding: 20px 15px;
    padding: 1.25rem 0.9375rem; }
    table.tablePlum th a, table.tablePlum td a {
      color: #fff; }
  table.tablePlum th {
    font-weight: bold;
    background-color: #9b0149; }
  table.tablePlum tr td:first-child {
    border-left: none; }

table.attendees th {
  font-weight: bold; }

table.attendees th:empty {
  background-color: #dedede; }

table.attendees .icon-edit,
table.attendees .icon-delete {
  display: inline-block;
  padding-left: 25px;
  padding-left: 1.5625rem; }

table.attendees .icon-edit {
  position: relative; }
  table.attendees .icon-edit:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -723px -512px;
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    left: 0;
    top: 50%;
    margin-top: -8px;
    z-index: 1; }
    .no-svg table.attendees .icon-edit:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -723px -512px; }
    .svg table.attendees .icon-edit:before {
      background-image: url("../images/svg/icon-edit-pink.svg");
      background-position: 0 0; }

table.attendees .icon-delete {
  position: relative; }
  table.attendees .icon-delete:before {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -771px -512px;
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    left: 0;
    top: 50%;
    margin-top: -8px;
    z-index: 1; }
    .no-svg table.attendees .icon-delete:before {
      background-image: url("../images/sheets/sprite.png") !important;
      background-position: -771px -512px; }
    .svg table.attendees .icon-delete:before {
      background-image: url("../images/svg/cross-pink.svg");
      background-position: 0 0; }

@media print {
  table th, table td {
    border: 1px solid #ccc !important;
    padding: 5px !important;
    color: #000 !important;
    width: auto !important; } }

/* =================================  TABLES: Responsive ================================= */
/*
    2. MOBILE (scroll to the right)
    The user can swipe right and left to horizontal scroll the table.
*/
.respTblOuterWrap {
  position: relative;
  margin-bottom: 25px; }
  .respTblOuterWrap table {
    margin: 0;
    width: 100%; }

.respTblInnerWrap {
  overflow-x: auto;
  display: block;
  width: 100%; }

.respTblInnerWrap-scroll {
  padding-bottom: 10px; }
  @media screen and (max-device-width: 1025px) {
    .respTblInnerWrap-scroll {
      padding: 10px 0 53px 0;
      margin: 0; }
      .respTblInnerWrap-scroll:after {
        content: '';
        position: absolute;
        bottom: 25px;
        right: 0;
        width: 117px;
        height: 16px;
        display: block;
        background: url(../images/svg/icon-scroll-table.svg) no-repeat 0 0; } }

.eventSearchBlock {
  clear: both;
  background-color: #eeeeef;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .eventSearchBlock > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .eventSearchBlock {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .eventSearchBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .eventSearchBlock .form-row {
    margin-bottom: 20px;
    margin-bottom: 1.25rem; }
  .eventSearchBlock label,
  .eventSearchBlock legend {
    display: block;
    font-size: 16px;
    font-size: 1rem; }
  .eventSearchBlock-results {
    clear: both;
    display: table;
    width: 100%;
    padding: 15px !important; }
    .eventSearchBlock-results-none {
      text-align: center;
      color: #d50058;
      font-size: 22px;
      font-size: 1.375rem; }
    .eventSearchBlock-results-stats {
      padding-bottom: 10px;
      padding-bottom: 0.625rem; }
    .eventSearchBlock-results .form-row {
      margin-bottom: 0; }
    @media all and (min-width: 37.5em) {
      .eventSearchBlock-results-stats {
        padding-bottom: 10px;
        padding-bottom: 0.625rem; }
      .eventSearchBlock-results-stats,
      .eventSearchBlock-results .form-row {
        padding-bottom: 0;
        display: table-cell;
        vertical-align: middle; } }
  @media all and (min-width: 37.5em) and (max-width: 61.188em) {
    .eventSearchBlock.eventSearchBlock_3cols .form-row, .eventSearchBlock.eventSearchBlock_4cols .form-row {
      clear: none;
      float: left;
      width: 46%;
      margin-right: 2%;
      margin-left: 2%; }
    .eventSearchBlock.eventSearchBlock_3cols .btn, .eventSearchBlock.eventSearchBlock_3cols .xform input[type='submit'], .xform .eventSearchBlock.eventSearchBlock_3cols input[type='submit'], .eventSearchBlock.eventSearchBlock_3cols .btn_arrow, .eventSearchBlock.eventSearchBlock_3cols .btn_white_arrow, .eventSearchBlock.eventSearchBlock_3cols .btn_white_border_arrow, .eventSearchBlock.eventSearchBlock_3cols .btn_white, .eventSearchBlock.eventSearchBlock_3cols .btn_white_border, .eventSearchBlock.eventSearchBlock_3cols .btn_media, .eventSearchBlock.eventSearchBlock_4cols .btn, .eventSearchBlock.eventSearchBlock_4cols .xform input[type='submit'], .xform .eventSearchBlock.eventSearchBlock_4cols input[type='submit'], .eventSearchBlock.eventSearchBlock_4cols .btn_arrow, .eventSearchBlock.eventSearchBlock_4cols .btn_white_arrow, .eventSearchBlock.eventSearchBlock_4cols .btn_white_border_arrow, .eventSearchBlock.eventSearchBlock_4cols .btn_white, .eventSearchBlock.eventSearchBlock_4cols .btn_white_border, .eventSearchBlock.eventSearchBlock_4cols .btn_media {
      margin-top: 1.5em;
      margin-right: 2%; } }
  @media all and (min-width: 61.25em) {
    .eventSearchBlock.eventSearchBlock_3cols .form-row {
      clear: none;
      float: left;
      width: 32%;
      margin-left: 2%; }
      .eventSearchBlock.eventSearchBlock_3cols .form-row:nth-of-type(3n + 1) {
        clear: both;
        margin-left: 0; }
      .lt-ie9 .eventSearchBlock.eventSearchBlock_3cols .form-row {
        width: 31%; }
    .eventSearchBlock.eventSearchBlock_4cols {
      margin-top: -40px; }
      .eventSearchBlock.eventSearchBlock_4cols .form-row {
        clear: none;
        float: left;
        width: 23%;
        margin-left: 2.5%; }
        .eventSearchBlock.eventSearchBlock_4cols .form-row:nth-of-type(4n + 1) {
          clear: both;
          margin-left: 0; }
        .lt-ie9 .eventSearchBlock.eventSearchBlock_4cols .form-row {
          margin-left: 1.5%; } }
  @media all and (min-width: 61.25em) and (min-width: 61.25em) {
    .l-row-100 .l-content_indent .eventSearchBlock.eventSearchBlock_4cols {
      margin-left: -12.5%;
      margin-right: -12.5%;
      padding-left: 12.5%;
      padding-right: 12.5%; } }
  .eventSearchBlock .btn, .eventSearchBlock .xform input[type='submit'], .xform .eventSearchBlock input[type='submit'], .eventSearchBlock .btn_arrow, .eventSearchBlock .btn_white_arrow, .eventSearchBlock .btn_white_border_arrow, .eventSearchBlock .btn_white, .eventSearchBlock .btn_white_border, .eventSearchBlock .btn_media {
    float: right;
    margin: 0; }

@media print {
  .eventSearchBlock {
    display: none; } }

.linkTabs {
  clear: both;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .linkTabs {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .linkTabs-nav {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style-type: none; }
  .linkTabs-item {
    padding: 15px;
    padding: 0.9375rem;
    background-color: #eeeeef;
    border-bottom: 1px solid #dedede; }
    .linkTabs-item > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .linkTabs-item {
        padding: 30px;
        padding: 1.875rem; } }
    @media all and (max-width: 37.438em) {
      .linkTabs-item:first-child {
        border-top: 1px solid #dedede; } }
    .linkTabs-item_active {
      background-color: #fff; }
      .linkTabs-item_active .linkTabs-link {
        color: #d50058; }
        .linkTabs-item_active .linkTabs-link:hover, .linkTabs-item_active .linkTabs-link:focus {
          color: #d50058; }
    @media all and (min-width: 37.5em) {
      .linkTabs-item {
        display: table-cell;
        vertical-align: middle;
        border-top: 1px solid transparent;
        border-left: 1px solid #dedede; }
        .linkTabs-item_active {
          border-color: #dedede;
          border-bottom: 1px solid transparent; }
        .linkTabs-item:first-child {
          border-left: none; }
        .linkTabs-item:first-child.linkTabs-item_active {
          padding-left: 0; } }
  .linkTabs-link {
    display: block;
    font-weight: bold;
    text-transform: uppercase;
    color: #aeadae;
    text-decoration: none;
    font-size: 14px;
    font-size: 0.875rem; }
    .linkTabs-link:hover, .linkTabs-link:active {
      color: inherit;
      text-decoration: underline; }
    .linkTabs-link:hover, .linkTabs-link:focus {
      color: #aeadae; }
    @media all and (min-width: 37.5em) {
      .linkTabs-link {
        max-width: 190px;
        max-width: 11.875rem; } }

@media print {
  .linkTabs {
    display: none; } }

.syllabus {
  clear: both;
  position: relative;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .syllabus {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .syllabus-header {
    text-transform: uppercase;
    color: #7b6a5d !important;
    border-bottom: 1px solid #d0d0d1;
    font-size: 16px;
    font-size: 1rem;
    padding-bottom: 20px;
    padding-bottom: 1.25rem;
    margin-bottom: 20px;
    margin-bottom: 1.25rem; }
  .syllabus-level-title {
    text-transform: uppercase; }
  .syllabus .leadTitle_pink {
    font-weight: bold;
    text-transform: uppercase;
    padding: 20px 15px;
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .syllabus-level {
    clear: both;
    border-bottom: 1px solid #d0d0d1;
    padding-bottom: 30px;
    padding-bottom: 1.875rem;
    margin-bottom: 30px;
    margin-bottom: 1.875rem; }
    .syllabus-level:last-child {
      border-bottom: none;
      padding: 0;
      margin: 0; }

.syllabus-tabs {
  clear: both;
  display: table;
  table-layout: fixed;
  width: 100%;
  background-color: transparent;
  margin: 0 !important; }
  .syllabus-tabs-item {
    color: #fff;
    line-height: 1.5;
    font-weight: bold;
    position: relative;
    table-layout: fixed;
    margin-bottom: 3px;
    margin-bottom: 0.1875rem;
    padding: 20px;
    padding: 1.25rem;
    font-size: 15px;
    font-size: 0.9375rem; }
    .syllabus-tabs-item strong {
      display: block; }
    .syllabus-tabs-item a {
      color: #fff;
      text-decoration: none; }
    .syllabus-tabs-item_plum {
      background-color: #77023f; }
    .syllabus-tabs-item_pink_light {
      background-color: #f06098; }
    .syllabus-tabs-item_green {
      background-color: #31998f; }
    .syllabus-tabs-item_brown_light {
      font-weight: normal;
      background-color: #d7d2ce;
      color: #4d4d4f;
      padding: 12px;
      padding: 0.75rem;
      font-size: 14px;
      font-size: 0.875rem; }
      .syllabus-tabs-item_brown_light strong {
        font-weight: bold; }
      .syllabus-tabs-item_brown_light a {
        color: #4d4d4f; }
    @media all and (min-width: 37.5em) {
      .syllabus-tabs-item {
        display: table-cell;
        border-left: 3px solid #eeeeef;
        padding: 40px 20px 30px 20px;
        padding: 2.5rem 1.25rem 1.875rem 1.25rem; }
        .syllabus-tabs-item:first-child {
          border-left: none; }
        .syllabus-tabs-item_brown_light {
          padding: 15px 5px;
          padding: 0.9375rem 0.3125rem;
          font-size: 12px;
          font-size: 0.75rem; } }
    @media all and (min-width: 37.5em) and (min-width: 48em) and (max-width: 900px) {
      .syllabus-tabs-item_brown_light {
        padding: 15px 2px;
        padding: 0.9375rem 0.125rem;
        font-size: 11px;
        font-size: 0.6875rem; } }

/* add the triangle shape */
@media all and (min-width: 37.5em) {
  .syllabus-tabs-triangle {
    padding-top: 40px;
    overflow: hidden; }
    .syllabus-tabs-triangle .syllabus-tabs-item {
      position: relative;
      padding-top: 60px; }
      .syllabus-tabs-triangle .syllabus-tabs-item .syllabus-triangle {
        position: absolute;
        top: -40px;
        left: 0;
        width: 100%;
        height: 0;
        padding-left: 50%;
        padding-bottom: 50%;
        overflow: hidden; }
        .syllabus-tabs-triangle .syllabus-tabs-item .syllabus-triangle .nib {
          width: 0;
          height: 0;
          margin-left: -80px;
          border-left: 100px solid #eeeeef;
          border-right: 100px solid #eeeeef;
          border-bottom: 100px solid red;
          -webkit-transform: scaleX(2);
              -ms-transform: scaleX(2);
                  transform: scaleX(2); }
        .syllabus-tabs-triangle .syllabus-tabs-item .syllabus-triangle .nibbottom {
          width: 0;
          height: 0;
          margin-left: -100px;
          border-left: 100px solid #eeeeef;
          border-right: 100px solid #eeeeef;
          border-bottom: 100px solid red;
          -webkit-transform: scaleX(2);
              -ms-transform: scaleX(2);
                  transform: scaleX(2); }
      .syllabus-tabs-triangle .syllabus-tabs-item.syllabus-tabs-item_plum .nib {
        border-bottom: 100px solid #77023f; }
      .syllabus-tabs-triangle .syllabus-tabs-item.syllabus-tabs-item_pink_light .nib {
        border-bottom: 100px solid #f06098; }
      .syllabus-tabs-triangle .syllabus-tabs-item.syllabus-tabs-item_green .nib {
        border-bottom: 100px solid #31998f; }
      .syllabus-tabs-triangle .syllabus-tabs-item.syllabus-tabs-item_brown_light {
        padding-top: 20px; }
        .syllabus-tabs-triangle .syllabus-tabs-item.syllabus-tabs-item_brown_light .nib {
          border-bottom: 100px solid #d7d2ce; }
        .syllabus-tabs-triangle .syllabus-tabs-item.syllabus-tabs-item_brown_light .nibbottom {
          border-bottom: 100px solid #d7d2ce; }
}

.syllabus-awards {
  clear: both;
  font-weight: bold;
  color: #d50058;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-top: -12px;
  margin-top: -0.75rem; }
  .syllabus-awards span {
    color: #1690c9; }

.syllabus-index {
  clear: both;
  display: table;
  table-layout: fixed;
  width: 100%;
  background-color: transparent;
  margin: 15px 0 0 0 !important; }
  .syllabus-index-item {
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.7; }
    .syllabus-index-item_plum {
      color: #77023f; }
    .syllabus-index-item_pink_light {
      color: #f06098; }
    .syllabus-index-item_green {
      color: #31998f; }
    @media all and (min-width: 37.5em) {
      .syllabus-index-item {
        display: table-cell;
        line-height: normal;
        font-size: 15px;
        font-size: 0.9375rem;
        padding-right: 60px;
        padding-right: 3.75rem; } }

a.syllabus {
  text-decoration: none;
  position: relative; }
  a.syllabus:hover, a.syllabus:active {
    color: inherit;
    text-decoration: underline; }
  a.syllabus:after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../images/sheets/sprite.png);
    background-position: -622px -512px;
    width: 17px;
    height: 16px;
    background-size: 17px 16px;
    background-repeat: no-repeat;
    right: 0;
    top: 50%;
    margin-top: -8px; }
  
.siteSearchBlock {
  clear: both;
  background-color: #eeeeef;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .siteSearchBlock > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .siteSearchBlock {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .siteSearchBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .siteSearchBlock-title span {
    color: #d50058; }
  .siteSearchBlock-keyword {
    margin-top: -10px;
    margin-top: -0.625rem; }
  .siteSearchBlock .form-row {
    margin-bottom: 20px;
    margin-bottom: 1.25rem; }
  .siteSearchBlock label,
  .siteSearchBlock legend {
    display: block;
    font-size: 16px;
    font-size: 1rem; }
  @media all and (min-width: 37.5em) {
    .siteSearchBlock.siteSearchBlock_2cols .form-row {
      clear: none;
      float: left;
      width: 48%;
      margin-left: 4%; }
      .siteSearchBlock.siteSearchBlock_2cols .form-row:nth-of-type(2n + 1) {
        clear: both;
        margin-left: 0; }
      .lt-ie9 .siteSearchBlock.siteSearchBlock_2cols .form-row {
        margin-left: 2%; } }
  .siteSearchBlock .btn, .siteSearchBlock .xform input[type='submit'], .xform .siteSearchBlock input[type='submit'], .siteSearchBlock .btn_arrow, .siteSearchBlock .btn_white_arrow, .siteSearchBlock .btn_white_border_arrow, .siteSearchBlock .btn_white, .siteSearchBlock .btn_white_border, .siteSearchBlock .btn_media {
    clear: both;
    float: right;
    margin: 1.5em 0 0 0; }
  .siteSearchBlock.login p {
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .siteSearchBlock.login .btn, .siteSearchBlock.login .xform input[type='submit'], .xform .siteSearchBlock.login input[type='submit'], .siteSearchBlock.login .btn_arrow, .siteSearchBlock.login .btn_white_arrow, .siteSearchBlock.login .btn_white_border_arrow, .siteSearchBlock.login .btn_white, .siteSearchBlock.login .btn_white_border, .siteSearchBlock.login .btn_media {
    margin-top: 10px !important; }
  .siteSearchBlock_highlight {
    border-bottom: 3px solid #d50058; }

.result-contry {
  margin-top: -10px; }

.siteBlock {
  clear: both;
  background-color: #eeeeef;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }

@media print {
  .siteSearchBlock,
  .searchResults-stats {
    display: none; } }

.researchSearchBlock {
  clear: both;
  background-color: #eeeeef;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .researchSearchBlock > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .researchSearchBlock {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .researchSearchBlock {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .researchSearchBlock-title {
    color: #d50058; }
  .researchSearchBlock .form-row {
    margin-bottom: 20px;
    margin-bottom: 1.25rem; }
  .researchSearchBlock label,
  .researchSearchBlock legend {
    display: block;
    font-size: 16px;
    font-size: 1rem; }
  .researchSearchBlock-results {
    clear: both;
    text-align: center; }
    .researchSearchBlock-results-none {
      color: #d50058;
      font-size: 22px;
      font-size: 1.375rem; }
  @media all and (min-width: 37.5em) {
    .researchSearchBlock.researchSearchBlock_3cols .form-row {
      clear: none;
      float: left;
      width: 31%;
      margin-left: 3.5%; }
      .researchSearchBlock.researchSearchBlock_3cols .form-row:nth-of-type(3n + 1) {
        clear: both;
        margin-left: 0; } }
  .researchSearchBlock .btn, .researchSearchBlock .xform input[type='submit'], .xform .researchSearchBlock input[type='submit'], .researchSearchBlock .btn_arrow, .researchSearchBlock .btn_white_arrow, .researchSearchBlock .btn_white_border_arrow, .researchSearchBlock .btn_white, .researchSearchBlock .btn_white_border, .researchSearchBlock .btn_media {
    clear: both;
    float: right;
    margin: 10px 0 0 0;
    margin: 0.625rem 0 0 0; }

@media print {
  .researchSearchBlock {
    display: none; } }

.searchResults-stats {
  background-color: #eeeeef;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .searchResults-stats {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  @media all and (min-width: 48em) {
    .searchResults-stats {
      padding-left: 30px; } }
  .searchResults-stats span {
    font-weight: bold;
    color: #d50058; }

.searchResults {
  clear: both;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  margin: 0;
  padding: 0;
  list-style-type: none; }
  @media all and (min-width: 61.25em) {
    .searchResults {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .searchResults-item {
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
    padding: 0 0 25px 20px;
    padding: 0 0 1.5625rem 1.25rem;
    border-bottom: 1px solid #d0d0d1; }
  .searchResults-item-title {
    font-weight: normal;
    margin-bottom: 5px;
    margin-bottom: 0.3125rem; }
  .searchResults-item-link {
    display: block;
    position: relative;
    text-decoration: none;
    position: relative; }
    .searchResults-item-link:hover, .searchResults-item-link:active {
      color: inherit;
      text-decoration: underline; }
    .searchResults-item-link:before {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -622px -512px;
      width: 17px;
      height: 16px;
      background-size: 17px 16px;
      background-repeat: no-repeat;
      left: -20px;
      top: 2px; }
      .no-svg .searchResults-item-link:before {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -622px -512px; }
      .svg .searchResults-item-link:before {
        background-image: url("../images/svg/arrow-pink-right.svg");
        background-position: 0 0; }
  .searchResults-item-details {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  .searchResults-item-body {
    margin: 0; }

@media print {
  .searchResults-item {
    padding-left: 0;
    margin-bottom: 20px; }
    .searchResults-item:last-child {
      border: none; } }

.searchResultsZebra {
  clear: both;
  margin: 0;
  padding: 0;
  list-style-type: none;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .searchResultsZebra {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .searchResultsZebra-item {
    background-color: #edf5fb;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    padding: 15px;
    padding: 0.9375rem; }
    @media all and (min-width: 48em) {
      .searchResultsZebra-item {
        padding-left: 30px; } }
    .searchResultsZebra-item:nth-of-type(even) {
      background-color: #fbf4ea; }
  .searchResultsZebra-link {
    display: block;
    position: relative;
    text-decoration: none;
    font-size: 18px;
    font-size: 1.125rem; }
    .searchResultsZebra-link:hover, .searchResultsZebra-link:active {
      color: inherit;
      text-decoration: underline; }

@media print {
  .searchResultsZebra-item {
    padding: 0; }
  .searchResultsZebra-link {
    font-size: 14px;
    font-size: 0.875rem; } }

.searchResultDetails {
  clear: both;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .searchResultDetails {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .searchResultDetails-header {
    border-bottom: 5px solid #fff;
    margin-bottom: 30px;
    margin-bottom: 1.875rem; }
    @media all and (min-width: 61.25em) {
      .searchResultDetails-header {
        margin-bottom: 40px;
        margin-bottom: 2.5rem; } }
  .searchResultDetails-name {
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
    @media screen and (min-width: 48em) {
      .searchResultDetails-name {
        font-size: 36px;
        font-size: 2.25rem; } }
  .searchResultDetails-address {
    font-weight: normal;
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .searchResultDetails-address {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .searchResultDetails-btn {
    float: right;
    margin-bottom: 0;
    margin-bottom: 0; }
    .searchResultDetails-btn a[class^='btn'] {
      margin: 0; }
  .searchResultDetails-details h3 {
    font-weight: normal;
    line-height: normal;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-size: 20px;
    font-size: 1.25rem; }
    @media screen and (min-width: 48em) {
      .searchResultDetails-details h3 {
        font-size: 22px;
        font-size: 1.375rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
  .searchResultDetails-list {
    clear: both;
    overflow: hidden; }
    .searchResultDetails-list dd, .searchResultDetails-list dt {
      padding-left: 15px;
      padding-left: 0.9375rem; }
      .searchResultDetails-list dd.tint1, .searchResultDetails-list dt.tint1 {
        background-color: #edf5fb; }
      .searchResultDetails-list dd.tint2, .searchResultDetails-list dt.tint2 {
        background-color: #fbf4ea; }
    .searchResultDetails-list dd {
      padding-bottom: 7px;
      padding-bottom: 0.4375rem; }
    .searchResultDetails-list dt {
      padding-top: 7px;
      padding-top: 0.4375rem;
      font-weight: bold; }
      .searchResultDetails-list dt.first {
        margin-top: 5px;
        margin-top: 0.3125rem; }
    @media all and (min-width: 30em) {
      .searchResultDetails-list {
        padding: 10px 0;
        padding: 0.625rem 0; }
        .searchResultDetails-list dd, .searchResultDetails-list dt {
          padding: 7px 7px 7px 20px;
          padding: 0.4375rem 0.4375rem 0.4375rem 1.25rem; }
          .searchResultDetails-list dd.first, .searchResultDetails-list dt.first {
            margin-top: 5px;
            margin-top: 0.3125rem;
            padding-top: 10px;
            padding-top: 0.625rem; }
        .searchResultDetails-list dt {
          clear: both;
          float: left;
          width: 35%; }
        .searchResultDetails-list dd {
          float: left;
          margin: 0;
          width: 65%; } }

@media print {
  .searchResultDetails-list dd, .searchResultDetails-list dt {
    padding: 0 0 5px;
    margin: 0; }
  .searchResultDetails-btn {
    display: none; } }

.accountantListing {
  clear: both;
  display: table;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style-type: none; }
  .accountantListing-item {
    position: relative;
    background-color: #edf5fb;
    margin-bottom: 30px;
    margin-bottom: 1.875rem;
    padding: 15px;
    padding: 0.9375rem; }
    .accountantListing-item > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .accountantListing-item {
        padding: 30px;
        padding: 1.875rem; } }
    .accountantListing-item:nth-of-type(even) {
      background-color: #fbf4ea; }
  .accountantListing-name, .accountantListing-address {
    line-height: normal;
    margin: 0;
    padding-bottom: 15px;
    padding-bottom: 0.9375rem;
    font-size: 16px;
    font-size: 1rem; }
  .accountantListing-name {
    padding-bottom: 10px;
    padding-bottom: 0.625rem;
    font-size: 18px;
    font-size: 1.125rem; }
  .accountantListing .btn_white, .accountantListing .btn_white_border {
    margin: 0; }
  @media only screen and (min-width: 37.5em) and (max-width: 47.938em) {
    .accountantListing-item {
      min-height: 90px; }
    .accountantListing-address {
      padding: 0; }
    .accountantListing-name, .accountantListing-address {
      padding-right: 220px;
      padding-right: 13.75rem; }
    .accountantListing-button {
      position: absolute;
      right: 15px;
      top: 15px; } }
  @media only screen and (min-width: 48em) {
    .accountantListing-item {
      display: table-row; }
    .accountantListing-name, .accountantListing-address, .accountantListing-button {
      display: table-cell;
      vertical-align: middle;
      border-bottom: 30px solid #fff;
      padding: 15px 0 15px 15px;
      padding: 0.9375rem 0 0.9375rem 0.9375rem; }
    .accountantListing-name {
      width: 25%; }
    .accountantListing-address {
      width: 45%; }
    .accountantListing-button {
      text-align: right;
      padding-right: 15px;
      padding-right: 0.9375rem; } }

@media only screen and (min-width: 48em) and (min-width: 61.25em) {
  .accountantListing-name, .accountantListing-address, .accountantListing-button {
    padding-left: 30px;
    padding-left: 1.875rem; }
  .accountantListing-button {
    padding-right: 30px;
    padding-right: 1.875rem; } }

@media print {
  .accountantListing-item {
    padding: 0; }
  .accountantListing-button {
    display: none; }
  .accountantListing-name, .accountantListing-address {
    display: block;
    padding: 0; } }

/* -------------------------------- 

Basic Style

-------------------------------- */
.formSteps {
  clear: both;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  background-color: #eeeeef;
  padding: 10px 10px 10px 25px;
  padding: 0.625rem 0.625rem 0.625rem 1.5625rem; }
  @media all and (min-width: 61.25em) {
    .formSteps {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .formSteps li {
    margin: 0;
    padding: 3px 0;
    padding: 0.1875rem 0; }
  .formSteps li > * {
    /* single step */
    display: inline-block;
    color: #4d4d4f; }
  .formSteps li.current > * {
    /* selected step */
    color: #d50058; }
  .no-touch .formSteps a:hover {
    /* steps already visited */
    color: #d50058; }

/* -------------------------------- 

Triangle breadcrumb

-------------------------------- */
@media all and (min-width: 64.063em) {
  .formSteps {
    margin-left: -14%; } 
  
  .formSteps.formSteps_triangle.minMargin {
    margin-left: 0 !important; } 

}

@media all and (min-width: 37.5em) {
  .formSteps.formSteps_triangle {
    /* reset basic style */
    list-style-type: none;
    background-color: transparent;
    padding: 0; }
    .formSteps.formSteps_triangle li {
      float: left;
      position: relative;
      padding: 0;
      margin: 4px 4px 4px 0; }
      .formSteps.formSteps_triangle li:last-of-type {
        margin-right: 0; }
    .formSteps.formSteps_triangle li > * {
      position: relative;
      padding: 1em .5em 1em 2em;
      color: #4d4d4f;
      background-color: #eeeeef;
      /* the border color is used to style its ::after pseudo-element */
      border-color: #eeeeef; }
      .lt-ie9 .formSteps.formSteps_triangle li > * {
        padding: 1em; }
    .formSteps.formSteps_triangle li.current > * {
      /* selected step */
      color: #fff;
      background-color: #d50058;
      border-color: #d50058; }
      .formSteps.formSteps_triangle li.current > * strong {
        font-weight: normal; }
    .formSteps.formSteps_triangle li:first-of-type > * {
      padding-left: 1.6em; }
    .formSteps.formSteps_triangle li:last-of-type > * {
      padding-right: 1.6em; }
    .no-touch .formSteps.formSteps_triangle a:hover {
      /* steps already visited */
      color: #fff;
      background-color: #4d4d4f;
      border-color: #4d4d4f; }
    .formSteps.formSteps_triangle li::after, .formSteps.formSteps_triangle li > *::after {
      /* 
				li > *::after is the colored triangle after each item
				li::after is the white separator between two items
			*/
      content: '';
      position: absolute;
      top: 0;
      left: 100%;
      content: '';
      height: 0;
      width: 0;
      /* 48px is the height of the <a> element */
      border: 24px solid transparent;
      border-right-width: 0;
      border-left-width: 20px; }
    .formSteps.formSteps_triangle li::after {
      /* this is the white separator between two items */
      z-index: 1;
      -webkit-transform: translateX(4px);
          -ms-transform: translateX(4px);
              transform: translateX(4px);
      border-left-color: #fff;
      /* reset style */
      margin: 0; }
    .formSteps.formSteps_triangle li > *::after {
      /* this is the colored triangle after each element */
      z-index: 2;
      border-left-color: inherit; }
  @-moz-document url-prefix() {
    .formSteps.formSteps_triangle li::after,
    .formSteps.formSteps_triangle li > *::after {
      /* fix a bug on Firefix - tooth edge on css triangle */
      border-left-style: dashed; } } }

.bookingSummary {
  clear: both;
  background-color: #d50058;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .bookingSummary > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .bookingSummary {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .bookingSummary {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .bookingSummary-title {
    text-transform: uppercase;
    line-height: normal;
    font-weight: normal;
    line-height: normal;
    font-size: 22px;
    font-size: 1.375rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .bookingSummary-title {
        font-size: 24px;
        font-size: 1.5rem;
        margin-bottom: 30px;
        margin-bottom: 1.875rem; } }
  .bookingSummary-details {
    font-weight: bold; }
  .bookingSummary-cost {
    border-bottom: 1px solid #f06098;
    display: table;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style-type: none;
    margin: 20px 0; }
    .bookingSummary-cost-cell2 {
      text-align: right; }
    .bookingSummary-cost li {
      display: table-row; }
      .bookingSummary-cost li strong {
        display: block; }
      .bookingSummary-cost li span {
        display: table-cell;
        padding: 10px 0;
        vertical-align: bottom;
        border-top: 1px solid #f06098; }

/* Slider functionality (DON NOT TOUCH) */
.slickSlider {
  clear: both;
  position: relative;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slickSlider .slick-track,
.slickSlider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* end functionalilty */
/* Next/prev arrows */
.slickSlider .slick-next,
.slickSlider .slick-prev {
  position: absolute;
  bottom: 0;
  right: 0px;
  border: 1px solid #d50058; }
  @media all and (min-width: 48em) {
    .slickSlider .slick-next,
    .slickSlider .slick-prev {
      bottom: auto;
      right: 0 !important;
      top: 50%;
      margin-top: -60px;
      margin-top: -3.75rem; } }

.slickSlider .slick-prev {
  right: 60px;
  margin-top: 0; }
  .ie8 .slickSlider .slick-prev {
    margin-top: 0;
    margin-top: 0; }

.slickSlider .slick-disabled {
  cursor: default;
  opacity: 0.15; }

@media print {
  .slickSlider .slick-next,
  .slickSlider .slick-prev {
    display: none !important; } }

/*
    Themes:
    themes: [theme_pink (default) | theme_blue | theme_grey ]

*/
/* ###################### Content accordion styling #################### */
.accordion {
  clear: both;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  /* toggle header style */
  /* if active */
  /* content */ }
  @media all and (min-width: 61.25em) {
    .accordion {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .accordion .accordion-trigger {
    text-decoration: none; }
    .accordion .accordion-trigger:hover, .accordion .accordion-trigger:focus {
      text-decoration: inherit; }
  .accordion .accordion-header {
    display: block;
    position: relative;
    overflow: hidden;
    font-weight: normal;
    line-height: normal;
    font-size: 16px;
    font-size: 1rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    font-weight: bold;
    background-color: #eeeeef;
    padding: 20px 50px 20px 15px;
    padding: 1.25rem 3.125rem 1.25rem 0.9375rem;
    transition: background-color 250ms ease-out;
    margin-bottom: 0 !important;
    border-bottom: 2px solid #fff;
    position: relative; }
    @media screen and (min-width: 48em) {
      .accordion .accordion-header {
        font-size: 18px;
        font-size: 1.125rem;
        margin-bottom: 20px;
        margin-bottom: 1.25rem; } }
    @media all and (min-width: 61.25em) {
      .accordion .accordion-header {
        padding: 20px 50px 20px 30px;
        padding: 1.25rem 3.125rem 1.25rem 1.875rem; } }
    .accordion .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -421px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -421px -528px; }
      .svg .accordion .accordion-header:after {
        background-image: url("../images/svg/plus-pink.svg");
        background-position: 0 0; }
  @media all and (min-width: 61.25em) {
    .accordion .accordion-header:after {
      right: 30px !important; } }
  .accordion .accordion-header:hover {
    color: #fff;
    background-color: #d50058;
    position: relative; }
    .accordion .accordion-header:hover:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -465px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion .accordion-header:hover:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -465px -528px; }
      .svg .accordion .accordion-header:hover:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
  .accordion .accordion_active .accordion-content {
    display: block; }
  .accordion .accordion_active .accordion-header {
    color: #fff;
    background-color: #d50058;
    position: relative; }
    .accordion .accordion_active .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -465px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion .accordion_active .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -465px -528px; }
      .svg .accordion .accordion_active .accordion-header:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
  .accordion .accordion-content {
    display: none;
    padding: 15px;
    padding: 0.9375rem; }
    .accordion .accordion-content > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .accordion .accordion-content {
        padding: 30px;
        padding: 1.875rem; } }

/* BLUE */
.accordion.theme_blue {
  /* if active */
  /* content */ }
  .accordion.theme_blue .accordion-header {
    color: #fff;
    margin: 0;
    border-bottom: 15px solid #0d65ac;
    background-color: #1690c9;
    position: relative; }
    .accordion.theme_blue .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -465px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_blue .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -465px -528px; }
      .svg .accordion.theme_blue .accordion-header:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
  .accordion.theme_blue .accordion-item:first-of-type .accordion-header {
    border-top: 15px solid #0d65ac; }
  .accordion.theme_blue .accordion-header:hover {
    color: #0d65ac;
    background-color: #edf5fb;
    position: relative; }
    .accordion.theme_blue .accordion-header:hover:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -509px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_blue .accordion-header:hover:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -509px -528px; }
      .svg .accordion.theme_blue .accordion-header:hover:after {
        background-image: url("../images/svg/plus-blue.svg");
        background-position: 0 0; }
  .accordion.theme_blue .accordion_active .accordion-header {
    color: #0d65ac;
    background-color: #edf5fb;
    position: relative; }
    .accordion.theme_blue .accordion_active .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -597px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_blue .accordion_active .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -597px -528px; }
      .svg .accordion.theme_blue .accordion_active .accordion-header:after {
        background-image: url("../images/svg/minus-blue.svg");
        background-position: 0 0; }
  .accordion.theme_blue .accordion-content {
    background: #edf5fb; }

/* GREY */
.accordion.theme_grey {
  /* if active */
  /* content */ }
  .accordion.theme_grey .accordion-header {
    color: #4d4d4f;
    margin: 0;
    border-bottom: 2px solid  #fff;
    background-color: #dedede;
    position: relative; }
    .accordion.theme_grey .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -487px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_grey .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -487px -528px; }
      .svg .accordion.theme_grey .accordion-header:after {
        background-image: url("../images/svg/plus-grey.svg");
        background-position: 0 0; }
  .accordion.theme_grey .accordion-header:hover {
    color: #fff;
    background-color: #4d4d4f;
    position: relative; }
    .accordion.theme_grey .accordion-header:hover:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -465px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_grey .accordion-header:hover:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -465px -528px; }
      .svg .accordion.theme_grey .accordion-header:hover:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
  .accordion.theme_grey .accordion_active .accordion-header {
    color: #fff;
    background-color: #4d4d4f;
    position: relative; }
    .accordion.theme_grey .accordion_active .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -531px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_grey .accordion_active .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -531px -528px; }
      .svg .accordion.theme_grey .accordion_active .accordion-header:after {
        background-image: url("../images/svg/minus-white.svg");
        background-position: 0 0; }
  .accordion.theme_grey .accordion-content {
    background: #eeeeef; }

  /* GBS Blue */
.accordion.theme_gbsblue {
  /* if active */
  /* content */ }
  .accordion.theme_gbsblue .accordion-header {
    color: #fff;
    margin: 0;
    border-bottom: 2px solid  #fff;
    background-color: #135789;
    position: relative; }
    .accordion.theme_gbsblue .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -487px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_gbsblue .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -487px -528px; }
      .svg .accordion.theme_gbsblue .accordion-header:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
  .accordion.theme_gbsblue .accordion-header:hover {
    color: #fff;
    background-color: #001C3A;
    position: relative; }
    .accordion.theme_gbsblue .accordion-header:hover:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -465px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_gbsblue .accordion-header:hover:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -465px -528px; }
      .svg .accordion.theme_gbsblue .accordion-header:hover:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
  .accordion.theme_gbsblue .accordion_active .accordion-header {
    color: #fff;
    background-color: #001C3A;
    position: relative; }
    .accordion.theme_gbsblue .accordion_active .accordion-header:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -531px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .accordion.theme_gbsblue .accordion_active .accordion-header:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -531px -528px; }
      .svg .accordion.theme_gbsblue .accordion_active .accordion-header:after {
        background-image: url("../images/svg/minus-white.svg");
        background-position: 0 0; }
  .accordion.theme_gbsblue .accordion-content {
    background: #eeeeef; }

@media print {
  .accordion .accordion-content {
    display: block !important;
    padding: 20px 0; }
  .accordion .accordion-header {
    padding: 0; } }

/* Styling */
.tabsAccordion {
  clear: both;
  position: relative;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  .js .tabsAccordion-nav {
    margin: 0;
    padding: 0;
    list-style-type: none; }
  .tabsAccordion-nav-item {
    margin: 0 !important;
    padding: 0; }
  .js .tabsAccordion-contents {
    clear: both; }
  .js .tabsAccordion-contents-item {
    display: none;
    overflow: hidden; }
    .js .tabsAccordion-contents-item_selected {
      display: block; }
  @media all and (min-width: 61.25em) {
    .tabsAccordion {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .tabsAccordion-contents-item-inner {
    color: #fff;
    padding: 15px;
    padding: 0.9375rem;
    font-size: 14px;
    font-size: 0.875rem; }
    .tabsAccordion-contents-item-inner > *:last-child {
      margin-bottom: 0; }
    @media all and (min-width: 61.25em) {
      .tabsAccordion-contents-item-inner {
        padding: 30px;
        padding: 1.875rem; } }
    .tabsAccordion-contents-item-inner h2, .tabsAccordion-contents-item-inner h3, .tabsAccordion-contents-item-inner h4, .tabsAccordion-contents-item-inner p {
      color: #fff; }
    .tabsAccordion-contents-item-inner a {
      text-decoration: underline; }

@media screen and (max-width: 47.938em) {
  .tabsAccordion:before {
    content: "accordion";
    display: none; }
  .tabsAccordion-contents-item-wrapper {
    height: 0;
    overflow: hidden;
    margin: 0;
    padding: 0; }
    .tabsAccordion-contents-item-wrapper_state_open {
      height: auto; }
  .tabsAccordion-nav-item {
    margin: 0; }
    .js .tabsAccordion-nav-item {
      float: none; }
  .tabsAccordion-nav-item-link {
    display: block;
    color: #fff;
    font-weight: bold;
    position: relative;
    text-decoration: none;
    border-top: 1px solid #fff;
    text-transform: uppercase;
    background: #9b0149;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 15px 50px 15px 15px;
    position: relative; }
    .js .tabsAccordion-nav-item-link {
      float: none; }
    .tabsAccordion-nav-item-link:focus, .tabsAccordion-nav-item-link:hover {
      color: #fff;
      background-color: #77023f;
      text-decoration: none; }
    .tabsAccordion-nav-item-link:after {
      content: '';
      position: absolute;
      display: block;
      background-image: url(../images/sheets/sprite.png);
      background-position: -465px -528px;
      width: 22px;
      height: 22px;
      background-size: 22px 22px;
      background-repeat: no-repeat;
      right: 15px;
      top: 50%;
      margin-top: -11px;
      z-index: 1; }
      .no-svg .tabsAccordion-nav-item-link:after {
        background-image: url("../images/sheets/sprite.png") !important;
        background-position: -465px -528px; }
      .svg .tabsAccordion-nav-item-link:after {
        background-image: url("../images/svg/plus-white.svg");
        background-position: 0 0; }
    .tabsAccordion-nav-item-link_selected {
      background-color: #77023f;
      position: relative; }
      .tabsAccordion-nav-item-link_selected:after {
        content: '';
        position: absolute;
        display: block;
        background-image: url(../images/sheets/sprite.png);
        background-position: -531px -528px;
        width: 22px;
        height: 22px;
        background-size: 22px 22px;
        background-repeat: no-repeat;
        right: 15px;
        top: 50%;
        margin-top: -11px;
        z-index: 1; }
        .no-svg .tabsAccordion-nav-item-link_selected:after {
          background-image: url("../images/sheets/sprite.png") !important;
          background-position: -531px -528px; }
        .svg .tabsAccordion-nav-item-link_selected:after {
          background-image: url("../images/svg/minus-white.svg");
          background-position: 0 0; }
  .tabsAccordion-contents-item {
    color: #fff;
    border-top: 1px solid #fff; }
  .tabsAccordion-contents-item-inner {
    background-color: #77023f; }
  .tabsAccordion.theme_blue .tabsAccordion-nav-item-link {
    background-color: #1690c9; }
    .tabsAccordion.theme_blue .tabsAccordion-nav-item-link:focus, .tabsAccordion.theme_blue .tabsAccordion-nav-item-link:hover {
      background-color: #0d65ac; }
    .tabsAccordion.theme_blue .tabsAccordion-nav-item-link_selected {
      background-color: #0d65ac; }
  .tabsAccordion.theme_blue .tabsAccordion-contents-item-inner {
    color: #fff;
    background-color: #0d65ac; } 
  /*GREY*/
  .tabsAccordion.theme_grey .tabsAccordion-nav-item-link {
    background-color: #d7d8d6; }
    .tabsAccordion.theme_grey .tabsAccordion-nav-item-link:focus, .tabsAccordion.theme_grey .tabsAccordion-nav-item-link:hover {
      background-color: #4d4d4f; }
    .tabsAccordion.theme_grey .tabsAccordion-nav-item-link_selected {
      background-color: #4d4d4f; }
  .tabsAccordion.theme_grey .tabsAccordion-contents-item-inner {
    color: #fff;
    background-color: #d7d8d6; } 

   /*GREEN*/
  .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link {
    background-color: #b0dfda; }
    .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link:focus, .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link:hover {
      background-color: #3cbeb1; }
    .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link_selected {
      background-color: #3cbeb1; }
  .tabsAccordion.theme_green-tint .tabsAccordion-contents-item-inner {
    color: #000000;
    background-color: #b0dfda; } 

  
   /*GBS Blue*/
  .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link {
    background-color: #001C3A; }
    .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link:focus, .tabsAccordion.gbsblue .tabsAccordion-nav-item-link:hover {
      background-color: #135789; }
    .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link_selected {
      background-color: #135789; }
  .tabsAccordion.theme_gbsblue .tabsAccordion-contents-item-inner {
    color: #000000;
    background-color: #001C3A; } 
}

@media all and (min-width: 48em) {
  .tabsAccordion:before {
    content: "tabs";
    display: none; }
  .tabsAccordion-nav {
    background-color: #9b0149;
    overflow: hidden; }
  .tabsAccordion-nav-item {
    float: left;
    position: relative;
    border-left: 2px solid #77023f; }
    .tabsAccordion-nav-item:first-child {
      border: none; }
  .tabsAccordion-nav-item-link {
    display: block;
    text-transform: uppercase;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
    background-color: #9b0149;
    padding: 15px;
    padding: 0.9375rem;
    font-size: 14px;
    font-size: 0.875rem; } }
  @media all and (min-width: 48em) and (min-width: 61.25em) {
    .tabsAccordion-nav-item-link {
      padding: 20px 30px;
      padding: 1.25rem 1.875rem; } }

@media all and (min-width: 48em) {
    .tabsAccordion-nav-item-link_selected, .tabsAccordion-nav-item-link:hover, .tabsAccordion-nav-item-link:focus {
      text-decoration: none;
      background-color: #77023f; }
  .tabsAccordion-contents-item-inner {
    background-color: #77023f; }
  .tabsAccordion.theme_blue .tabsAccordion-nav {
    background-color: #1690c9; }
  .tabsAccordion.theme_blue .tabsAccordion-nav-item {
    border-color: #0d65ac; }
  .tabsAccordion.theme_blue .tabsAccordion-nav-item-link {
    background-color: #1690c9; }
    .tabsAccordion.theme_blue .tabsAccordion-nav-item-link_selected, .tabsAccordion.theme_blue .tabsAccordion-nav-item-link:hover, .tabsAccordion.theme_blue .tabsAccordion-nav-item-link:focus {
      background-color: #0d65ac; }
  .tabsAccordion.theme_blue .tabsAccordion-contents-item-inner {
    background-color: #0d65ac; } 

  /*Grey*/
  .tabsAccordion.theme_grey .tabsAccordion-nav {
    background-color: #d7d8d6; }
  .tabsAccordion.theme_grey .tabsAccordion-nav-item {
    border-color: #4d4d4f; }
  .tabsAccordion.theme_grey .tabsAccordion-nav-item-link {
    background-color: #d7d8d6; }
    .tabsAccordion.theme_grey .tabsAccordion-nav-item-link_selected, .tabsAccordion.theme_grey .tabsAccordion-nav-item-link:hover, .tabsAccordion.theme_grey .tabsAccordion-nav-item-link:focus {
      background-color: #4d4d4f; }
  .tabsAccordion.theme_grey .tabsAccordion-contents-item-inner {
    background-color: #4d4d4f; } 
     

   /*Green-tint*/
  .tabsAccordion.theme_green-tint .tabsAccordion-nav {
    background-color: #b0dfda; }
  .tabsAccordion.theme_green-tint .tabsAccordion-nav-item {
    border-color: #3cbeb1; }
  .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link {
    background-color: #b0dfda; }
    .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link_selected, .tabsAccordion.theme_green-tint .tabsAccordion-nav-item-link:hover, .tabsAccordion.theme_green .tabsAccordion-nav-item-link:focus {
      background-color: #3cbeb1; }
  .tabsAccordion.theme_green-tint .tabsAccordion-contents-item-inner {
    background-color: #3cbeb1; }
  
   /*Gbs blue*/
  .tabsAccordion.theme_gbsblue .tabsAccordion-nav {
    background-color: #001C3A; }
  .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item {
    border-color: #135789; }
  .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link {
    background-color: #001C3A; }
    .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link_selected, .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link:hover, .tabsAccordion.theme_gbsblue .tabsAccordion-nav-item-link:focus {
      background-color: #135789; }
  .tabsAccordion.theme_gbsblue .tabsAccordion-contents-item-inner {
    background-color: #135789; }  

}

@media all and (min-width: 61.25em) {
  .l-row-100 .tabsAccordion-nav-item-link {
    padding: 30px 40px;
    padding: 1.875rem 2.5rem; }
  .l-row-100 .tabsAccordion-contents-item-inner {
    padding-left: 10%;
    padding-right: 10%; } }

@media print {
  .tabsAccordion .tabsAccordion-wrap {
    display: none; }
  .tabsAccordion-contents-item {
    display: block !important; }
  .tabsAccordion-contents-item-inner {
    padding: 0 !important; }
    .tabsAccordion-contents-item-inner * {
      color: #000 !important; } }

/* uses: _sliderFunctionality.scss  */
/* promoSlider style */
.promoSlider {
  clear: both;
  color: #fff;
  position: relative;
  background-color: #1690c9;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
  padding: 15px;
  padding: 0.9375rem; }
  @media all and (min-width: 61.25em) {
    .promoSlider {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .promoSlider > *:last-child {
    margin-bottom: 0; }
  @media all and (min-width: 61.25em) {
    .promoSlider {
      padding: 30px;
      padding: 1.875rem; } }
  @media all and (min-width: 61.25em) {
    .promoSlider {
      padding: 30px 0 30px 40px;
      padding: 1.875rem 0 1.875rem 2.5rem; } }
  .promoSlider-item {
    width: 100%;
    padding-bottom: 80px;
    padding-bottom: 5rem; }
    @media all and (min-width: 61.25em) {
      .promoSlider-item {
        padding-bottom: 0; } }
  .promoSlider-item-wrap {
    max-width: 700px;
    max-width: 43.75rem; }
    @media all and (min-width: 48em) {
      .promoSlider-item-wrap {
        margin-right: 100px;
        margin-right: 6.25rem;
        min-height: 250px;
        min-height: 15.625rem; } }
  .promoSlider-item-title {
    line-height: 1.1;
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .promoSlider-item-title {
        font-size: 36px;
        font-size: 2.25rem; } }
  @media screen and (max-width: 30em) {
    .promoSlider .btn, .promoSlider .xform input[type='submit'], .xform .promoSlider input[type='submit'], .promoSlider .btn_arrow, .promoSlider .btn_white_arrow, .promoSlider .btn_white_border_arrow, .promoSlider .btn_white, .promoSlider .btn_white_border, .promoSlider .btn_media {
      width: 100% !important; } }

@media print {
  .promoSlider {
    display: none; } }

/* uses: _sliderFunctionality.scss  */
/* homeCaseStudySlider style */
.homeCaseStudySlider {
  clear: both;
  position: relative;
  background-color: #eeeeef;
  background-position: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }
  @media all and (min-width: 61.25em) {
    .homeCaseStudySlider {
      margin-bottom: 40px;
      margin-bottom: 2.5rem; } }
  .homeCaseStudySlider-item {
    padding: 15px 15px 90px;
    padding: 0.9375rem 0.9375rem 5.625rem; }
    @media all and (min-width: 61.25em) {
      .homeCaseStudySlider-item {
        padding: 40px 0 40px 40px;
        padding: 2.5rem 0 2.5rem 2.5rem; } }
  .homeCaseStudySlider .quote {
    position: relative;
    z-index: 10;
    max-width: 480px;
    margin: -40px auto 0 auto; }
  .homeCaseStudySlider-item-title {
    position: relative;
    z-index: 1;
    width: 90%;
    color: #fff;
    line-height: 1.1;
    text-transform: uppercase;
    font-weight: normal;
    line-height: normal;
    font-size: 30px;
    font-size: 1.875rem;
    margin-bottom: 15px;
    margin-bottom: 0.9375rem;
    text-align: right;
    background-color: #d50058;
    padding: 15px 15px 60px 15px;
    margin: -15px 0 0 -15px; }
    @media screen and (min-width: 48em) {
      .homeCaseStudySlider-item-title {
        font-size: 36px;
        font-size: 2.25rem; } }
    .homeCaseStudySlider-item-title-wrap {
      display: block; }
    @media all and (min-width: 48em) {
      .homeCaseStudySlider-item-title {
        width: 60%;
        padding: 30px 30px 70px 30px;
        margin: -15px 0 0 -15px; }
        .homeCaseStudySlider-item-title-wrap {
          margin-left: 10%; } }
    @media all and (min-width: 61.25em) {
      .homeCaseStudySlider-item-title {
        margin: -40px 0 0 -40px; }
        .homeCaseStudySlider-item-title-wrap {
          margin-left: 30%; } }

/* Next/prev arrows (see the '_sliderFunctionality.scss') */
.homeCaseStudySlider .slickSlider .slick-disabled {
  cursor: default;
  opacity: 0.6; }

@media print {
  .homeCaseStudySlider {
    margin: 0;
    background: none !important; }
  .homeCaseStudySlider-wrap {
    display: none; } }

.nc-styleguide-block {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 50px auto; }

.nc-styleguide-title {
  padding: 0 20px; }

.nc-styleguide-component {
  text-align: center;
  padding: 10px;
  margin-bottom: 20px;
  background-color: #aeadae; }

.nc-styleguide-nested-component {
  text-align: center;
  padding: 10px;
  margin-bottom: 20px;
  background-color: #aeadae; }

@media print {
  html, body {
    width: 100%; }
  body {
    font-family: Arial, "Helvetica Neue", "Helvetica", sans-serif !important;
    line-height: 1.4;
    color: #000;
    font-size: 12px;
    margin: 0 auto; }
    body * {
      font-family: Arial, "Helvetica Neue", "Helvetica", sans-serif !important;
      background-color: #fff !important; }
    body p, body div, body span, body table, body li, body dl, body dt {
      font-size: 12px;
      color: #000 !important; }
  .header-util,
  .header-mainLogo .hgroup-end,
  #navDropdown,
  .footer-bottom-nav,
  .footer-top {
    display: none; }
  /* Header */
  .header-mainLogo {
    width: 100%;
    position: static;
    margin: 0 0 25px 0;
    border-bottom: 1px solid #ccc; }
    .header-mainLogo .header-logo {
      margin-left: 0;
      position: static;
      text-decoration: none; }
    .header-mainLogo span {
      color: #d50058 !important;
      display: block;
      margin: 0;
      width: auto;
      height: auto;
      position: static;
      font-size: 22px !important; }
  .footer-bottom {
    border-top: 1px solid #ccc; }
  .l-row-inner {
    margin: 0; }
  .l-content_indent {
    margin: 0;
    padding: 0 !important; }
  .list-link-arrow > li,
  .list-bullets > li,
  .list-bullets-borders > li, .list-borders > li,
  .list-borders > li {
    position: relative;
    border: none !important;
    margin: 0;
    padding: 0 0 10px 15px !important; }
    .list-link-arrow > li:before,
    .list-bullets > li:before,
    .list-bullets-borders > li:before, .list-borders > li:before,
    .list-borders > li:before {
      content: '> ';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: auto;
      height: auto;
      border-radius: 0; }
    .list-link-arrow > li:after,
    .list-bullets > li:after,
    .list-bullets-borders > li:after, .list-borders > li:after,
    .list-borders > li:after {
      display: none; }
  .list-link-arrow > li > a,
  .list-bullets > li > a,
  .list-bullets-borders > li > a, .list-borders > li > a,
  .list-borders > li > a {
    padding: 0 0 5px;
    border: none !important; }
    .list-link-arrow > li > a:after,
    .list-bullets > li > a:after,
    .list-bullets-borders > li > a:after, .list-borders > li > a:after,
    .list-borders > li > a:after {
      display: none; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCJibG9ja3MvX2hlYWRlci5zY3NzIiwiX21peGlucy5zY3NzIiwiX3Nwcml0ZS5zY3NzIiwiX2JyZWFrcG9pbnRzLnNjc3MiLCJfZ2xvYmFsLXZhcmlhYmxlcy5zY3NzIiwiX2ZvbnRzLnNjc3MiLCJfbm9ybWFsaXplLnNjc3MiLCJfcmVzZXQuc2NzcyIsIl9ib3gtc2l6aW5nLnNjc3MiLCJfdXRpbGl0eS5zY3NzIiwiX3NoYXJlZC5zY3NzIiwiYmxvY2tzL19zbGlkZXIuc2NzcyIsIl9oZWFkaW5ncy5zY3NzIiwiX2xheW91dC1jb250YWluZXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiX2xheW91dC1ibG9ja3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ3V0dGVycy5zY3NzIiwiYmxvY2tzL19mb290ZXIuc2NzcyIsImJsb2Nrcy9fYXNpZGVOYXYuc2NzcyIsImJsb2Nrcy9fYnJlYWRjcnVtYnMuc2NzcyIsImJsb2Nrcy9fbWFzdGVySGVhZC5zY3NzIiwiYmxvY2tzL19nZW5lcmFsUGFnZUhlYWRpbmcuc2NzcyIsImJsb2Nrcy9fZm9ybXMuc2NzcyIsImJsb2Nrcy9fc29jaWFsLnNjc3MiLCJibG9ja3MvX2J1dHRvbnMuc2NzcyIsImJsb2Nrcy9fY3RhLnNjc3MiLCJibG9ja3MvX3F1b3RlLnNjc3MiLCJibG9ja3MvX2NoZWNrbGlzdC5zY3NzIiwiYmxvY2tzL19saW5rR3JvdXAuc2NzcyIsImJsb2Nrcy9faWNvbnMuc2NzcyIsImJsb2Nrcy9fdGV4dENvbG91ckJsb2NrLnNjc3MiLCJibG9ja3MvX3RleHRCbG9ja0FzaWRlLnNjc3MiLCJibG9ja3MvX3BkZkRvd25sb2FkQmxvY2suc2NzcyIsImJsb2Nrcy9fcHJvbW8uc2NzcyIsImJsb2Nrcy9fcHJvbW8yLnNjc3MiLCJibG9ja3MvX2hlcm9Ib21lLnNjc3MiLCJibG9ja3MvX2hlcm9IdWIuc2NzcyIsImJsb2Nrcy9faGVyb0V2ZW50cy5zY3NzIiwiYmxvY2tzL19oZXJvQ2FzZVN0dWR5LnNjc3MiLCJibG9ja3MvX21wdS5zY3NzIiwiYmxvY2tzL19ldmVudFByb21vLnNjc3MiLCJibG9ja3MvX2h1YlByb21vLnNjc3MiLCJibG9ja3MvX3dpZGUzY29sc1Byb21vQmxvY2suc2NzcyIsImJsb2Nrcy9fcmVhZHlUb1JlZ2lzdGVyLnNjc3MiLCJibG9ja3MvX2hlYWRlckhlcm8uc2NzcyIsImJsb2Nrcy9fYVRvWi5zY3NzIiwiYmxvY2tzL19zdGF0c0Jsb2NrLnNjc3MiLCJibG9ja3MvX2xvY2F0aW9ucy5zY3NzIiwiYmxvY2tzL19zcGVha2VyQmxvY2suc2NzcyIsImJsb2Nrcy9fbGlzdGluZ0Jsb2NrLnNjc3MiLCJibG9ja3MvX3BhZ2luYXRpb24uc2NzcyIsImJsb2Nrcy9fZHJvcGRvd24uc2NzcyIsImJsb2Nrcy9faGdyb3VwLnNjc3MiLCJibG9ja3MvX2xvZ2luRHJvcGRvd24uc2NzcyIsImJsb2Nrcy9fdGFibGVzLnNjc3MiLCJibG9ja3MvX2V2ZW50U2VhcmNoQmxvY2suc2NzcyIsImJsb2Nrcy9fbGlua1RhYnMuc2NzcyIsImJsb2Nrcy9fc3lsbGFidXMuc2NzcyIsImJsb2Nrcy9fc2l0ZVNlYXJjaEJsb2NrLnNjc3MiLCJibG9ja3MvX3Jlc2VhcmNoU2VhcmNoQmxvY2suc2NzcyIsImJsb2Nrcy9fc2VhcmNoUmVzdWx0cy5zY3NzIiwiYmxvY2tzL19zZWFyY2hSZXN1bHRzWmVicmEuc2NzcyIsImJsb2Nrcy9fc2VhcmNoUmVzdWx0RGV0YWlscy5zY3NzIiwiYmxvY2tzL19hY2NvdW50YW50TGlzdGluZy5zY3NzIiwiYmxvY2tzL19mb3JtU3RlcHMuc2NzcyIsImJsb2Nrcy9fYm9va2luZ1N1bW1hcnkuc2NzcyIsImJsb2Nrcy9fc2xpZGVyRnVuY3Rpb25hbGl0eS5zY3NzIiwiYmxvY2tzL19hY2NvcmRpb24uc2NzcyIsImJsb2Nrcy9fdGFic1RvQWNjb3JkaW9uLnNjc3MiLCJibG9ja3MvX3Byb21vU2xpZGVyLnNjc3MiLCJibG9ja3MvX2hvbWVDYXNlU3R1ZHlTbGlkZXIuc2NzcyIsIl9wYWdlcy5zdHlsZWd1aWRlLnNjc3MiLCJfcHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7RUNrTEksc0JBQXFCLEVBVXhCO0VENUxEO0lDc0xRLDJCQUEwQixFQUM3Qjs7QUFRTCxlQUFlO0FBZWY7RUFSUSxhQUFhO0VBQ2IsZUFBZTtFQUNmLFVBQVU7RUFDVixZQUFZO0VBQ1osbUJBQW1CLEVBQ3RCOztBRDNNTDtFQzROSSxVQUFTO0VBQ1QsV0FBVTtFQUNWLHNCQUFxQixFQUt4Qjs7QUFFRCxvQ0FBb0M7QUFXcEMsOEJBQThCO0FDaFA5Qjs7Ozs7Ozs7Ozs7O0VBWUU7QUE2dEJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrQkU7QUEyQkY7Ozs7O0VBS0U7QUNyd0JGLGFBQWE7QUFDYjtFQUNJOzs7SUFHQyxjQUFhLEVBQ2IsRUFBQTs7QUFHTCxhQUFhO0FBQ2I7RUFDSTs7O0lBR0MsY0FBYSxFQUNiLEVBQUE7O0FBR0wsYUFBYTtBQUNiO0VBQ0M7OztJQUdDLHlCQUFzQixFQUN0QixFQUFBOztBQzFDRixVQUFVO0FBcUNWLDhCQUE4QjtBQVM5Qix1QkFBdUI7QUFXdkIsaUNBQWlDO0FDN0RqQyxl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SUE3Qko7O01INURJLG9CSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELGVJK0VxQixFRGFyQixFQUFBO0VBSUg7SUFwQ0Q7O01INURJLG9CSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHlCTTREd0IsRUh3Q3hCO0lBeENKOztNSDVESSxtQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxlSStFcUIsRUR3QnJCO0lBM0NKOztNSDVESSxtQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCx5Qk00RHdCLEVIaUR4QjtJQWpESjs7TUg1REksb0JJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsZUkrRXFCLEVEaUNyQixFQUFBO0VBS0g7SUF6REQ7O01INURJLG9CSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHlCTTREd0IsRUg0RHpCO01BNURIOztRQXZFUSxZQUFXO1FBQ1gsZUFBYyxFQUNqQixFQUFBO0VBbUlKO0lBOUREOztNSDVESSxvQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCx5Qk00RHdCLEVIaUV6QjtNQWpFSDs7UUF2RVEsWUFBVztRQUNYLGVBQWMsRUFDakIsRUFBQTtFQXdJSjtJQW5FRDs7TUg1REksb0JJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQseUJNNER3QixFSHNFekI7TUF0RUg7O1FBdkVRLFlBQVc7UUFDWCxlQUFjLEVBQ2pCLEVBQUE7RUE2SUo7SUF4RUQ7O01INURJLG9CSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHlCTTREd0IsRUgyRXpCO01BM0VIOztRQXZFUSxZQUFXO1FBQ1gsZUFBYyxFQUNqQixFQUFBOztBQW1KTCxVQUFVO0FBS1YsNkNBQTZDO0FBQzdDO0VBRVEsWUFBVztFQUNYLDBCQUF1QixFQUMxQjs7QWpCdktMO0VBQ0MsMEJJOENzQjtFSjdDdEIsVUFBUyxFQXFhVDtFQXZhRDtJQzRLUSxrQkR4SytCO0lDeUsvQixjQUFhLEVBQ2hCO0VEOUtMO0lBT1Esa0JJRmM7SUpHZCxlQUFjLEVBd0hqQjtJQWhJTDtNQVlZLFlBQVcsRUFTZDtNQXJCVDtRQWVnQixrQkFBaUIsRUFDcEI7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QUFjO01BQ2QsaUJBQWlCO01BQ2pCLHNCQUFzQixFQUN0QjtJQVZGO01BYUUsMEJBQTZCO01BQzdCLGVBQWU7TUFDWixVQUFVO01BQ2IsWUFBWTtNQUNaLGFBQWE7TUFDYixpQkFBaUI7TUFDakIsMkJBQXlCLEVBQ3pCO0VBR0Y7SUFDQywyQkFBMkIsRUFDM0I7RUFHRDtJQUNDLFVBQVUsRUFDVjtFQUVEO0lBQ0MsVUFBUztJQUNULHNCQUFtQixFQUNuQjtFQUdEOzs7O0lBTUUsbUJBQW1CO0lBQ1Ysd0JBQXFCO0lBQ3JCLFVBQVM7SUFDVCxrQ0FBK0IsRUFnQmxDO0lBekJSOzs7O01BWWUsY0FBYztNQUNkLGVBQWM7TUFDZCxtQkFBbUI7TUFDbkIsUUFBTztNQUNQLE9BQU87TUFDUCxZQUFXO01BQ1gsYUFBWTtNQUNaLGlCQUFpQixFQUNwQjtJQXBCWjs7OztNQXVCWSxjQUFjLEVBQ2Q7RUF4Qlo7Ozs7SUE0QlcsaUJBQWdCO0lBQ2hCLHdCQUFxQixFQUt4QjtJQWxDUjs7OztNQWdDZSxjQUFhLEVBQ2hCLEVBQUEiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi5oZWFkZXItdXRpbC1saW5rLCAuaGVhZGVyLW1haW5CdG4sIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMiwgLmhlYWRlci1uYXYtY2hpbGQtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuaGVhZGVyLXV0aWwtbGluazpob3ZlciwgLmhlYWRlci1tYWluQnRuOmhvdmVyLCAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzI6aG92ZXIsIC5oZWFkZXItbmF2LWNoaWxkLWxpbms6aG92ZXIsIC5oZWFkZXItdXRpbC1saW5rOmZvY3VzLCAuaGVhZGVyLW1haW5CdG46Zm9jdXMsIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMjpmb2N1cywgLmhlYWRlci1uYXYtY2hpbGQtbGluazpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogY2xlYXIgZml4ICovXG4udS1jZjphZnRlciwgLmwtcm93OmFmdGVyLCAubC1yb3ctd3JhcDphZnRlciwgLmwtcm93LWlubmVyOmFmdGVyLCAubC1yb3ctNjAtNDA6YWZ0ZXIsIC5sLWNvbnRlbnRfaW5kZW50OmFmdGVyLCAubC1ib3g6YWZ0ZXIsIC5oZWFkZXItdXRpbDphZnRlciwgLmhlYWRlci1uYXYtcHJvbW9zOmFmdGVyLCAuZm9vdGVyOmFmdGVyLCAuZm9vdGVyLXRvcDphZnRlciwgLmZvb3Rlci10b3AtbmF2OmFmdGVyLCAuZm9vdGVyLWJvdHRvbS1uYXYtbGlzdDphZnRlciwgLmJyZWFkY3J1bWJzLW5hdjphZnRlciwgLmZpZWxkR3JvdXA6YWZ0ZXIsIC5mcjphZnRlciwgLmxpbmtHcm91cDphZnRlciwgLnByb21vOmFmdGVyLCAubC1jb250ZW50X2luZGVudC5odWJQcm9tb0Jsb2NrOmFmdGVyLCAucmVhZHlUb1JlZ2lzdGVyOmFmdGVyLCAuYVRvWjphZnRlciwgLnN0YXRzQmxvY2s6YWZ0ZXIsIC5sb2NhdGlvbnMtd3JhcDphZnRlciwgLmxvY2F0aW9ucy1tYXA6YWZ0ZXIsIC5sb2NhdGlvbkRldGFpbHMtY29udGFpbmVyIC5sb2NhdGlvbkRldGFpbHM6YWZ0ZXIsIC5zcGVha2VyQmxvY2s6YWZ0ZXIsIC5saXN0aW5nOmFmdGVyLCAubGlzdGluZ0Jsb2NrOmFmdGVyLCAubGlzdGluZ0Jsb2NrLWNvbnRlbnQ6YWZ0ZXIsIC5saXN0aW5nQmxvY2stZGV0YWlsczphZnRlciwgLnBhZ2luYXRpb246YWZ0ZXIsIC5oZ3JvdXA6YWZ0ZXIsIC5zbGlkZXI6YWZ0ZXIsIC5ldmVudFNlYXJjaEJsb2NrOmFmdGVyLCAubGlua1RhYnM6YWZ0ZXIsIC5zeWxsYWJ1czphZnRlciwgLnNpdGVTZWFyY2hCbG9jazphZnRlciwgLnJlc2VhcmNoU2VhcmNoQmxvY2s6YWZ0ZXIsIC5zZWFyY2hSZXN1bHRzOmFmdGVyLCAuc2VhcmNoUmVzdWx0c1plYnJhOmFmdGVyLCAuc2VhcmNoUmVzdWx0RGV0YWlsczphZnRlciwgLnNlYXJjaFJlc3VsdERldGFpbHMtaGVhZGVyOmFmdGVyLCAuYWNjb3VudGFudExpc3Rpbmc6YWZ0ZXIsIC5mb3JtU3RlcHM6YWZ0ZXIsIC5zbGlja1NsaWRlcjphZnRlciwgLnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lcjphZnRlciwgLnByb21vU2xpZGVyOmFmdGVyLCAuaG9tZUNhc2VTdHVkeVNsaWRlcjphZnRlciwgLm5jLXN0eWxlZ3VpZGUtYmxvY2s6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uaGVhZGVyLW5hdi1pdGVtc19sZXZlbF8xLCAuaGVhZGVyLW5hdi1pdGVtc19sZXZlbF8yLCAuZHJvcGRvd24taXRlbXNfaGVhZGVyLCAuc3lsbGFidXMtdGFicywgLnN5bGxhYnVzLWluZGV4IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLyogY29uc2lzdGVudCBibG9jayBib3R0b20gbWFyZ2luICovXG4vKiBjb25zaXN0ZW50IGJsb2NrIHBhZGRpbmcgKi9cbi8qXG5TQ1NTIHZhcmlhYmxlcyBhcmUgaW5mb3JtYXRpb24gYWJvdXQgaWNvbidzIGNvbXBpbGVkIHN0YXRlLCBzdG9yZWQgdW5kZXIgaXRzIG9yaWdpbmFsIGZpbGUgbmFtZVxuXG4uaWNvbi1ob21lIHtcbiAgd2lkdGg6ICRpY29uLWhvbWUtd2lkdGg7XG59XG5cblRoZSBsYXJnZSBhcnJheS1saWtlIHZhcmlhYmxlcyBjb250YWluIGFsbCBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBpY29uXG4kaWNvbi1ob21lOiB4IHkgb2Zmc2V0X3ggb2Zmc2V0X3kgd2lkdGggaGVpZ2h0IHRvdGFsX3dpZHRoIHRvdGFsX2hlaWdodCBpbWFnZV9wYXRoO1xuXG5BdCB0aGUgYm90dG9tIG9mIHRoaXMgc2VjdGlvbiwgd2UgcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3ByaXRlc2hlZXQgaXRzZWxmXG4kc3ByaXRlc2hlZXQ6IHdpZHRoIGhlaWdodCBpbWFnZSAkc3ByaXRlc2hlZXQtc3ByaXRlcztcbiovXG4vKlxuVGhlIHByb3ZpZGVkIG1peGlucyBhcmUgaW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHRoZSBhcnJheS1saWtlIHZhcmlhYmxlc1xuXG4uaWNvbi1ob21lIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRpY29uLWhvbWUpO1xufVxuXG4uaWNvbi1lbWFpbCB7XG4gIEBpbmNsdWRlIHNwcml0ZSgkaWNvbi1lbWFpbCk7XG59XG5cbkhlcmUgYXJlIGV4YW1wbGUgdXNhZ2VzIGluIEhUTUw6XG5cbmBkaXNwbGF5OiBibG9ja2Agc3ByaXRlOlxuPGRpdiBjbGFzcz1cImljb24taG9tZVwiPjwvZGl2PlxuXG5gZGlzcGxheTogaW5saW5lLWJsb2NrYCBzcHJpdGU6XG48aW1nIGNsYXNzPVwiaWNvbi1ob21lXCIgLz5cbiovXG4vKlxuVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4gIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuXG5AaW5jbHVkZSBzcHJpdGVzKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcbiovXG4vKiBtb2JpbGVzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAzNy41ZW0pIHtcbiAgLmRlc2t0b3Atb25seSxcbiAgLnRhYmxldC1vbmx5LFxuICAubm90LW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qIHRhYmxldHMgKi9cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1heC13aWR0aDogNDcuOTM4ZW0pIHtcbiAgLmRlc2t0b3Atb25seSxcbiAgLm1vYmlsZS1vbmx5LFxuICAubm90LXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qIGRlc2t0b3AgKi9cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1vYmlsZS1vbmx5LFxuICAudGFibGV0LW9ubHksXG4gIC5ub3QtZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLyogZ3JpZCAqL1xuLyogR3JleXMgZnJvbSBkYXJrIHRvIGxpZ2h0ICovXG4vKiBDb21wb25lbnRzIHRoZW1lcyAqL1xuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovXG4vKiBXZWIgZm9udHMgKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyoqXHJcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXHJcbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xyXG4gKiAgICB1c2VyIHpvb20uXHJcbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICogYW5kIEZpcmVmb3guXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXHJcbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXHJcbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXHJcbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cclxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcclxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxyXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcclxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXHJcbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cclxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXHJcbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXHJcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cclxuICovXG4vKipcclxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cclxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcclxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cclxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cclxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cclxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxyXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXHJcbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxyXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcclxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxyXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxyXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxyXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxyXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXHJcbiAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXHJcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXHJcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxyXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cclxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xyXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXHJcbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXHJcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxyXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXHJcbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAjUkVTRVRcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxyXG4gKiBBIHZlcnkgc2ltcGxlIHJlc2V0IHRoYXQgc2l0cyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcy5cclxuICovXG5ib2R5LFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnAsIGJsb2NrcXVvdGUsIHByZSxcbmRsLCBkZCwgb2wsIHVsLFxuZm9ybSwgZmllbGRzZXQsIGxlZ2VuZCxcbmZpZ3VyZSwgYWRkcmVzcyxcbnRhYmxlLCB0aCwgdGQsIGNhcHRpb24sXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgI0JPWC1TSVpJTkdcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxyXG4gKiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94LXNpemluZzpcclxuICogY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXHJcbiAqL1xuaHRtbCB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLnUtb2Zmc2NyZWVuLCAud3lzaXd5ZyB0YWJsZSBjYXB0aW9uLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIGNhcHRpb24sXG4ubWNlQ29udGVudEJvZHkgdGFibGUgY2FwdGlvbiwgdGFibGUudGFibGVDb2xvdXJlZCBjYXB0aW9uLCB0YWJsZS50YWJsZVBsdW0gY2FwdGlvbixcbi5qcyAudS1qc09mZnNjcmVlbixcbi5ub2pzIC51LW5vSnNPZmZzY3JlZW4ge1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnUtZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDsgfVxuXG4udS1oaWRlLFxuLm5vanMgLnUtbm9Kc0hpZGUsXG4uanMgLnUtanNIaWRlIHtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAudS1tb2JpbGVPbmx5LFxuICAudS10YWJsZXRPbmx5XG4udS1ub3REZXNrdG9wIHtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjE4OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudS1tb2JpbGVPbmx5LFxuICAudS1kZXNrdG9wT25seSxcbiAgLnUtbm90VGFibGV0IHtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzOGVtKSB7XG4gIC51LXRhYmxldE9ubHksXG4gIC51LWRlc2t0b3BPbmx5LFxuICAudS1ub3RNb2JpbGUge1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfSB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgI1NIQVJFRFxyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSB7XG4gIGNvbG9yOiAjNGQ0ZDRmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4vKipcclxuICogU2hhcmVkIGRlY2xhcmF0aW9ucyBmb3IgY2VydGFpbiBlbGVtZW50cy5cclxuICovXG4vKipcclxuICogQWx3YXlzIGRlY2xhcmUgbWFyZ2lucyBpbiB0aGUgc2FtZSBkaXJlY3Rpb246XHJcbiAqIGNzc3dpemFyZHJ5LmNvbS8yMDEyLzA2L3NpbmdsZS1kaXJlY3Rpb24tbWFyZ2luLWRlY2xhcmF0aW9uc1xyXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG51bCwgb2wsIGRsLFxuYmxvY2txdW90ZSwgcCwgYWRkcmVzcyxcbmhyLFxudGFibGUsXG5maWVsZHNldCwgZmlndXJlLFxucHJlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICNMSU5LU1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXHJcbiAqIERlZmF1bHQgc3R5bGVzIGZvciBzaW1wbGUgaHlwZXJsaW5rcy5cclxuICovXG5hIHtcbiAgY29sb3I6ICNkNTAwNTg7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjSU1BR0VTXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcclxuICogMS4gRmx1aWQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHB1cnBvc2VzLlxyXG4gKiAyLiBPZmZzZXQgYGFsdGAgdGV4dCBmcm9tIHN1cnJvdW5kaW5nIGNvcHkuXHJcbiAqIDMuIFNldHRpbmcgYHZlcnRpY2FsLWFsaWduYCByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciBgaW1nYFxyXG4gKiAgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXHJcbiAqICAgIHVzaW5nIGBkaXNwbGF5OiBibG9jaztgLlxyXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogWzFdICovXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgLyogWzJdICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIFszXSAqLyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjV1lTSVdZRyBlbGVtZW50c1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnd5c2l3eWcsIC50ZXh0Q29sb3VyQmxvY2ssXG4ubWNlQ29udGVudEJvZHkge1xuICAvKiBkZWZhdWx0IGxpc3QgKi9cbiAgLyogdGV4dCBjb2xvdXJzIGF2YWlsYWJsZSBpbiBXWVNJV1lHICovIH1cbiAgLnd5c2l3eWcgaHIsIC50ZXh0Q29sb3VyQmxvY2sgaHIsXG4gIC5tY2VDb250ZW50Qm9keSBociB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGNvbG9yOiAjZDBkMGQxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQxOyB9XG4gIC53eXNpd3lnIHVsLCAudGV4dENvbG91ckJsb2NrIHVsLFxuICAubWNlQ29udGVudEJvZHkgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjJlbTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbiAgLnd5c2l3eWcgb2wsIC50ZXh0Q29sb3VyQmxvY2sgb2wsXG4gIC5tY2VDb250ZW50Qm9keSBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtOyB9XG4gIC53eXNpd3lnIC5jb2xvdXItcGluaywgLnRleHRDb2xvdXJCbG9jayAuY29sb3VyLXBpbmssXG4gIC5tY2VDb250ZW50Qm9keSAuY29sb3VyLXBpbmsge1xuICAgIGNvbG9yOiAjZDUwMDU4OyB9XG4gIC53eXNpd3lnIC5jb2xvdXItcGluay1saWdodCwgLnRleHRDb2xvdXJCbG9jayAuY29sb3VyLXBpbmstbGlnaHQsXG4gIC5tY2VDb250ZW50Qm9keSAuY29sb3VyLXBpbmstbGlnaHQge1xuICAgIGNvbG9yOiAjZjA2MDk4OyB9XG4gIC53eXNpd3lnIC5jb2xvdXItcGx1bSwgLnRleHRDb2xvdXJCbG9jayAuY29sb3VyLXBsdW0sXG4gIC5tY2VDb250ZW50Qm9keSAuY29sb3VyLXBsdW0ge1xuICAgIGNvbG9yOiAjNzcwMjNmOyB9XG4gIC53eXNpd3lnIC5jb2xvdXItYmx1ZSwgLnRleHRDb2xvdXJCbG9jayAuY29sb3VyLWJsdWUsXG4gIC5tY2VDb250ZW50Qm9keSAuY29sb3VyLWJsdWUge1xuICAgIGNvbG9yOiAjMGQ2NWFjOyB9XG4gIC53eXNpd3lnIC5jb2xvdXItYnJvd24sIC50ZXh0Q29sb3VyQmxvY2sgLmNvbG91ci1icm93bixcbiAgLm1jZUNvbnRlbnRCb2R5IC5jb2xvdXItYnJvd24ge1xuICAgIGNvbG9yOiAjN2I2YTVkOyB9XG4gIC53eXNpd3lnIC5jb2xvdXItcHVycGxlLCAudGV4dENvbG91ckJsb2NrIC5jb2xvdXItcHVycGxlLFxuICAubWNlQ29udGVudEJvZHkgLmNvbG91ci1wdXJwbGUge1xuICAgIGNvbG9yOiAjOTkzYzhlOyB9XG4gIC53eXNpd3lnIC5jb2xvdXItZ3JlZW4sIC50ZXh0Q29sb3VyQmxvY2sgLmNvbG91ci1ncmVlbixcbiAgLm1jZUNvbnRlbnRCb2R5IC5jb2xvdXItZ3JlZW4ge1xuICAgIGNvbG9yOiAjMzE5OThmOyB9XG5cbi8qIExpc3Qgd2l0aCByZWQgYnVsbGV0cyAqL1xudWwubGlzdC1idWxsZXRzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgdWwubGlzdC1idWxsZXRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICB1bC5saXN0LWJ1bGxldHMgPiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMTVweCAxNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gICAgdWwubGlzdC1idWxsZXRzID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIHVsLmxpc3QtYnVsbGV0cyA+IGxpID4gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIHtcbiAgICAgIHVsLmxpc3QtYnVsbGV0cyA+IGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1MDA1ODtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgICAgICAudGhlbWVfcGluayB1bC5saXN0LWJ1bGxldHMgPiBsaTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH0gfVxuXG4vKiBMaXN0IHdpdGggYnVsbGV0cyBhbmQgYm9yZGVycyAqL1xuLmxpc3QtYnVsbGV0cy1ib3JkZXJzLCAubGlzdC1ib3JkZXJzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAubGlzdC1idWxsZXRzLWJvcmRlcnMsIC5saXN0LWJvcmRlcnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5saXN0LWJ1bGxldHMtYm9yZGVycyA+IGxpLCAubGlzdC1ib3JkZXJzID4gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTVweCAwIDE1cHggMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMCAwLjkzNzVyZW0gMC45Mzc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxOyB9XG4gICAgLmxpc3QtYnVsbGV0cy1ib3JkZXJzID4gbGk6Zmlyc3QtY2hpbGQsIC5saXN0LWJvcmRlcnMgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMTsgfVxuICAgIC5saXN0LWJ1bGxldHMtYm9yZGVycyA+IGxpOmJlZm9yZSwgLmxpc3QtYm9yZGVycyA+IGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDIycHg7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsgfVxuICAgICAgLnRoZW1lX3BpbmsgLmxpc3QtYnVsbGV0cy1ib3JkZXJzID4gbGk6YmVmb3JlLCAudGhlbWVfcGluayAubGlzdC1ib3JkZXJzID4gbGk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4vKiBMaXN0IHdpdGggYm9yZGVycyAqL1xuLmxpc3QtYm9yZGVycyA+IGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5saXN0LWJvcmRlcnMgPiBsaSBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5saXN0LWJvcmRlcnMgPiBsaSA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxpc3QtYm9yZGVycyA+IGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4udGhlbWVfcGluayAubGlzdC1ib3JkZXJzIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnRoZW1lX3BpbmsgLmxpc3QtYm9yZGVycyBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAudGhlbWVfcGluayAubGlzdC1ib3JkZXJzIGE6aG92ZXIsIC50aGVtZV9waW5rIC5saXN0LWJvcmRlcnMgYTphY3RpdmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAudGhlbWVfcGluayAubGlzdC1ib3JkZXJzID4gbGkge1xuICAgIGJvcmRlci1jb2xvcjogI2YwNjA5ODsgfVxuICAgIC50aGVtZV9waW5rIC5saXN0LWJvcmRlcnMgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAudGhlbWVfcGluayAubGlzdC1ib3JkZXJzID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi8qIExpc3QgbGlua3Mgd2l0aCBhcnJvd3MgKi9cbi5saXN0LWxpbmstYXJyb3cge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5saXN0LWxpbmstYXJyb3cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5saXN0LWxpbmstYXJyb3cgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMTsgfVxuICAgIC5saXN0LWxpbmstYXJyb3cgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxOyB9XG4gICAgICAubGlzdC1saW5rLWFycm93ID4gbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDsgfVxuICAubGlzdC1saW5rLWFycm93ID4gbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmxpc3QtbGluay1hcnJvdyA+IGxpID4gYTpob3ZlciwgLmxpc3QtbGluay1hcnJvdyA+IGxpID4gYTphY3RpdmUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5saXN0LWxpbmstYXJyb3cgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7IH1cbiAgICAgIC5uby1zdmcgLmxpc3QtbGluay1hcnJvdyA+IGxpID4gYTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjIycHggLTUxMnB4OyB9XG4gICAgICAuc3ZnIC5saXN0LWxpbmstYXJyb3cgPiBsaSA+IGE6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2Fycm93LXBpbmstcmlnaHQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmxpc3QtbGluay1hcnJvdy1uYXYtaXRlbTpsYXN0LWNoaWxkIC5saXN0LWxpbmstYXJyb3ctbmF2LWxpbmsge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbnVsLmxpc3QtaWNvbnMge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICB1bC5saXN0LWljb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICB1bC5saXN0LWljb25zIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDE1cHggMzBweDsgfVxuICAgIHVsLmxpc3QtaWNvbnMgbGkgPiBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzcHg7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgdWwubGlzdC1pY29ucyBsaSA+IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5saXN0T2JqZWN0aXZlcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5saXN0T2JqZWN0aXZlcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLmxpc3RPYmplY3RpdmVzID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi1yaWdodDogMC44NzVyZW07IH1cbiAgICAubGlzdE9iamVjdGl2ZXMgPiBsaS50aGVtZV9wbHVtIHtcbiAgICAgIGNvbG9yOiAjNzcwMjNmOyB9XG4gICAgLmxpc3RPYmplY3RpdmVzID4gbGkudGhlbWVfcGlua19saWdodCB7XG4gICAgICBjb2xvcjogI2YwNjA5ODsgfVxuICAgIC5saXN0T2JqZWN0aXZlcyA+IGxpLnRoZW1lX2dyZWVuIHtcbiAgICAgIGNvbG9yOiAjMzE5OThmOyB9XG5cbi8qIEVtYWlsIGJsb2NrICovXG5hLmVtYWlsQm94IHtcbiAgY29sb3I6ICNkNTAwNTggIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2Q1MDA1ODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMTVweCA1cHggMTVweCA0NXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMC4zMTI1cmVtIDAuOTM3NXJlbSAyLjgxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBhLmVtYWlsQm94OmhvdmVyLCBhLmVtYWlsQm94OmFjdGl2ZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYS5lbWFpbEJveDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg4cHggLTUyOHB4O1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMzcHggMjRweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAxOHB4OyB9XG4gICAgLm5vLXN2ZyBhLmVtYWlsQm94OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zODhweCAtNTI4cHg7IH1cbiAgICAuc3ZnIGEuZW1haWxCb3g6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1lbWFpbC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgYS5lbWFpbEJveDpob3ZlciwgYS5lbWFpbEJveDpmb2N1cywgYS5lbWFpbEJveDphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgYS5lbWFpbEJveCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBhLmVtYWlsQm94OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmltZy5mbG9hdExlZnQsXG5pbWcuZmxvYXRSaWdodCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBtYXgtd2lkdGg6IDkuMzc1cmVtO1xuICBtYXJnaW46IDAgMjBweCAxMHB4IDA7XG4gIG1hcmdpbjogMCAxLjI1cmVtIDAuNjI1cmVtIDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIGltZy5mbG9hdExlZnQsXG4gICAgaW1nLmZsb2F0UmlnaHQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuaW1nLmZsb2F0UmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAwIDdweCAxNXB4O1xuICBtYXJnaW46IDAgMCAwLjQzNzVyZW0gMC45Mzc1cmVtOyB9XG5cbi5zdG9wRmxvYXQge1xuICBjbGVhcjogYm90aDsgfVxuXG4ubWVkaWEtcndkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1lZGlhLXJ3ZCBpZnJhbWUsIC5tZWRpYS1yd2Qgb2JqZWN0LCAubWVkaWEtcndkIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjU2hhcmVkIHBsYWNlaG9sZGVyc1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNsaWRlci1wcmV2LCAuc2xpY2tTbGlkZXIgLnNsaWNrLXByZXYsIC5zbGlkZXItbmV4dCwgLnNsaWNrU2xpZGVyIC5zbGljay1uZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogOTk5O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiA1OHB4O1xuICB3aWR0aDogMy42MjVyZW07XG4gIGhlaWdodDogNThweDtcbiAgaGVpZ2h0OiAzLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZXItcHJldjpiZWZvcmUsIC5zbGlja1NsaWRlciAuc2xpY2stcHJldjpiZWZvcmUsIC5zbGlkZXItbmV4dDpiZWZvcmUsIC5zbGlja1NsaWRlciAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDg4cHggLTU2MnB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMjdweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggMjdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTdweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTMuNXB4OyB9XG4gICAgLm5vLXN2ZyAuc2xpZGVyLXByZXY6YmVmb3JlLCAubm8tc3ZnIC5zbGlja1NsaWRlciAuc2xpY2stcHJldjpiZWZvcmUsIC5zbGlja1NsaWRlciAubm8tc3ZnIC5zbGljay1wcmV2OmJlZm9yZSwgLm5vLXN2ZyAuc2xpZGVyLW5leHQ6YmVmb3JlLCAubm8tc3ZnIC5zbGlja1NsaWRlciAuc2xpY2stbmV4dDpiZWZvcmUsIC5zbGlja1NsaWRlciAubm8tc3ZnIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODhweCAtNTYycHg7IH1cbiAgICAuc3ZnIC5zbGlkZXItcHJldjpiZWZvcmUsIC5zdmcgLnNsaWNrU2xpZGVyIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrU2xpZGVyIC5zdmcgLnNsaWNrLXByZXY6YmVmb3JlLCAuc3ZnIC5zbGlkZXItbmV4dDpiZWZvcmUsIC5zdmcgLnNsaWNrU2xpZGVyIC5zbGljay1uZXh0OmJlZm9yZSwgLnNsaWNrU2xpZGVyIC5zdmcgLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3ctcGluay1yaWdodC1sYXJnZS5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuLnNsaWRlci1wcmV2LCAuc2xpY2tTbGlkZXIgLnNsaWNrLXByZXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWRlci1wcmV2OmJlZm9yZSwgLnNsaWNrU2xpZGVyIC5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NzNweCAtNTYycHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAyN3B4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMy41cHg7IH1cbiAgICAubm8tc3ZnIC5zbGlkZXItcHJldjpiZWZvcmUsIC5uby1zdmcgLnNsaWNrU2xpZGVyIC5zbGljay1wcmV2OmJlZm9yZSwgLnNsaWNrU2xpZGVyIC5uby1zdmcgLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ3M3B4IC01NjJweDsgfVxuICAgIC5zdmcgLnNsaWRlci1wcmV2OmJlZm9yZSwgLnN2ZyAuc2xpY2tTbGlkZXIgLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2tTbGlkZXIgLnN2ZyAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy1waW5rLWxlZnQtbGFyZ2Uuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgI0hFQURJTkdTXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG5oMSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cblxuaDIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uc3Ryb25nSGVhZGluZyB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgY29sb3I6ICNkNTAwNTg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdHJvbmdIZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuaDMge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuaDQge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIExlYWQgaGVhZGVyIHdpdGggYSBiYWNrZ3JvdW5kIGNvbG91ciAqL1xuLmxlYWRUaXRsZV9ncmV5LFxuLmxlYWRUaXRsZV9waW5rLFxuLmxlYWRUaXRsZV9wbHVtLFxuLmxlYWRUaXRsZV9ibHVlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0ZDRkNGY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGVhZFRpdGxlX2dyZXksXG4gICAgLmxlYWRUaXRsZV9waW5rLFxuICAgIC5sZWFkVGl0bGVfcGx1bSxcbiAgICAubGVhZFRpdGxlX2JsdWUge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAubGVhZFRpdGxlX2dyZXkgYSxcbiAgLmxlYWRUaXRsZV9waW5rIGEsXG4gIC5sZWFkVGl0bGVfcGx1bSBhLFxuICAubGVhZFRpdGxlX2JsdWUgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5sZWFkVGl0bGVfZ3JleSxcbiAgICAubGVhZFRpdGxlX3BpbmssXG4gICAgLmxlYWRUaXRsZV9wbHVtLFxuICAgIC5sZWFkVGl0bGVfYmx1ZSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS44NzVyZW07IH0gfVxuXG4ubGVhZFRpdGxlX3Bpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4OyB9XG5cbi5sZWFkVGl0bGVfcGx1bSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzAyM2Y7IH1cblxuLmxlYWRUaXRsZV9ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNjVhYzsgfVxuXG4vKiBTSVRFIExBWU9VVCBTVVNZICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIGxheW91dCAqL1xuLyogRXN0YWJsaXNoIGxheW91dCBjb250YWluZXIgKi9cbi5sLXJvdyB7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5sLXJvdy13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLmwtcm93LXdyYXA6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmx0LWllOSAubC1yb3ctd3JhcCB7XG4gICAgICB3aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmwtcm93LWlubmVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMjBweDsgfVxuXG4vKiBMYXlvdXQ6IDYwLTQwICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sLXJvdy02MC00MCAubC1jb2wtNjAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubC1yb3ctNjAtNDAgLmwtY29sLTQwIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDM1JTsgfSB9XG5cbi8qIExheW91dDogZmxpcCA7ICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sLXJvdy02MC00MF9mbGlwIC5sLWNvbC02MCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmwtcm93LTYwLTQwX2ZsaXAgLmwtY29sLTQwIHtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4vKiBDb250ZW50IGluZGVudCAqL1xuLmwtY29udGVudF9pbmRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5sLXJvdy0xMDAgLmwtY29udGVudF9pbmRlbnQge1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmwtcm93LTEwMCAubC1jb250ZW50X2luZGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xuICAgIC5sLXJvdy0xMDAgLmwtY29udGVudF9pbmRlbnQge1xuICAgICAgcGFkZGluZzogMzBweCAxMCU7IH0gfVxuXG4ubC1jb2wtNjAgLmwtY29udGVudF9pbmRlbnQge1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2NC4wNjNlbSkge1xuICAgIC5sLWNvbC02MCAubC1jb250ZW50X2luZGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMCAxNiU7IH0gfVxuXG4vKiBOZXN0ZWQgYmxvY2tzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi5sLWJveCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubC1ib3gtY29sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLyogTkVTVEVEIGluIDEwMCUgbGF5b3V0ICovXG4ubC1yb3ctMTAwIHtcbiAgLyogMiBjb2x1bW5zICovXG4gIC8qIDMgY29sdW1ucyAqL1xuICAvKiA0IGNvbHVtbnMgKi8gfVxuICBAbWVkaWEgb25seSBhbGwgYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAubC1yb3ctMTAwIC5sLWJveF81MC01MCAubC1ib3gtY29sIHtcbiAgICAgIHdpZHRoOiA0OC41NzE0Mjg1NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjg1NzE0Mjg2JTsgfVxuICAgICAgLmwtcm93LTEwMCAubC1ib3hfNTAtNTAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM4ZW0pIHtcbiAgICAubC1yb3ctMTAwIC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcbiAgICAgIHdpZHRoOiA0OC41NzE0Mjg1NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjg1NzE0Mjg2JTsgfVxuICAgICAgLmwtcm93LTEwMCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmwtcm93LTEwMCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbCB7XG4gICAgICB3aWR0aDogMzEuNDI4NTcxNDMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMi44NTcxNDI4NiU7IH1cbiAgICAgIC5sLXJvdy0xMDAgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoM24gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmwtcm93LTEwMCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbCB7XG4gICAgICB3aWR0aDogMzEuNDI4NTcxNDMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMi44NTcxNDI4NiU7IH1cbiAgICAgIC5sLXJvdy0xMDAgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoM24gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDYxLjE4OGVtKSB7XG4gICAgLmwtcm93LTEwMCAubC1ib3hfMjUtMjUtMjUtMjUgLmwtYm94LWNvbCB7XG4gICAgICB3aWR0aDogNDguNTcxNDI4NTclO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMi44NTcxNDI4NiU7IH1cbiAgICAgIC5sLXJvdy0xMDAgLmwtYm94XzI1LTI1LTI1LTI1IC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoMm4gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5sLXJvdy0xMDAgLmwtYm94XzI1LTI1LTI1LTI1IC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDIyLjg1NzE0Mjg2JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuODU3MTQyODYlOyB9XG4gICAgICAubC1yb3ctMTAwIC5sLWJveF8yNS0yNS0yNS0yNSAubC1ib3gtY29sOm50aC1vZi10eXBlKDRuICsgMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5sLXJvdy0xMDAgLmwtYm94XzI1LTI1LTI1LTI1IC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDIyLjg1NzE0Mjg2JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuODU3MTQyODYlOyB9XG4gICAgICAubC1yb3ctMTAwIC5sLWJveF8yNS0yNS0yNS0yNSAubC1ib3gtY29sOm50aC1vZi10eXBlKDRuICsgMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4vKiBAZW5kICovXG4vKiBORVNURUQgaW4gNDAtNjAgLyA2MC00MCBsYXlvdXQgKi9cbi5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QsXG4ubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCB7XG4gIC8qIDIgY29sdW1ucyAqL1xuICAvKiAyIGNvbHVtbnMgNDA6NjAgLyA2MDo0MDsgKi9cbiAgLyogMyBjb2x1bW5zICovIH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM4ZW0pIHtcbiAgICAubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0IC5sLWJveF81MC01MCAubC1ib3gtY29sLFxuICAgIC5sLXJvd182MC00MCAubC1yb3ctY29sX2ZpcnN0IC5sLWJveF81MC01MCAubC1ib3gtY29sIHtcbiAgICAgIHdpZHRoOiA0OC41NzE0Mjg1NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyLjg1NzE0Mjg2JTsgfVxuICAgICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfNTAtNTAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybiArIDEpLFxuICAgICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzUwLTUwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoMm4gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzUwLTUwIC5sLWJveC1jb2wsXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzUwLTUwIC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDQ3LjgyNjA4Njk2JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDQuMzQ3ODI2MDklOyB9XG4gICAgICAubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0IC5sLWJveF81MC01MCAubC1ib3gtY29sOm50aC1vZi10eXBlKDJuICsgMSksXG4gICAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfNTAtNTAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45MzhlbSkge1xuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzQwLTYwIC5sLWJveC1jb2wsXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzQwLTYwIC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDY1LjcxNDI4NTcxJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuODU3MTQyODYlOyB9XG4gICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfNDAtNjAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSxcbiAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfNDAtNjAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICB3aWR0aDogMzEuNDI4NTcxNDMlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzYwLTQwIC5sLWJveC1jb2wsXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzYwLTQwIC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDMxLjQyODU3MTQzJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuODU3MTQyODYlOyB9XG4gICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfNjAtNDAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSxcbiAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfNjAtNDAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICB3aWR0aDogNjUuNzE0Mjg1NzElO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzQwLTYwIC5sLWJveC1jb2wsXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzQwLTYwIC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDYwLjg2OTU2NTIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDQuMzQ3ODI2MDklOyB9XG4gICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfNDAtNjAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSxcbiAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfNDAtNjAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICB3aWR0aDogMzQuNzgyNjA4NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfNjAtNDAgLmwtYm94LWNvbCxcbiAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfNjAtNDAgLmwtYm94LWNvbCB7XG4gICAgICB3aWR0aDogMzQuNzgyNjA4NyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjM0NzgyNjA5JTsgfVxuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzYwLTQwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoMm4rMSksXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzYwLTQwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgd2lkdGg6IDYwLjg2OTU2NTIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45MzhlbSkge1xuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2wsXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDQ4LjU3MTQyODU3JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuODU3MTQyODYlOyB9XG4gICAgICAubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0IC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sOm50aC1vZi10eXBlKDJuICsgMSksXG4gICAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybiArIDEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjEuMTg4ZW0pIHtcbiAgICAubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0IC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sLFxuICAgIC5sLXJvd182MC00MCAubC1yb3ctY29sX2ZpcnN0IC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcbiAgICAgIHdpZHRoOiA0Ny44MjYwODY5NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjM0NzgyNjA5JTsgfVxuICAgICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgybiArIDEpLFxuICAgICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoMm4gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5sLXJvd180MC02MCAubC1yb3ctY29sX2xhc3QgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2wsXG4gICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2wge1xuICAgICAgd2lkdGg6IDMwLjQyNjA4Njk2JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDQuMzQ3ODI2MDklOyB9XG4gICAgICAubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0IC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sOm50aC1vZi10eXBlKDNuICsgMSksXG4gICAgICAubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgzbiArIDEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0IC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sLFxuICAgIC5sLXJvd182MC00MCAubC1yb3ctY29sX2ZpcnN0IC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcbiAgICAgIHdpZHRoOiAzMC40MjYwODY5NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjM0NzgyNjA5JTsgfVxuICAgICAgLmwtcm93XzQwLTYwIC5sLXJvdy1jb2xfbGFzdCAubC1ib3hfMzAtMzAtMzAgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgzbiArIDEpLFxuICAgICAgLmwtcm93XzYwLTQwIC5sLXJvdy1jb2xfZmlyc3QgLmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoM24gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi8qIEBlbmQgKi9cbi8qIG9sZCBJRSBmaXggKC51LWNmIGNsYXNzIGlzIGFkZGVkIGJ5IEpTKSAqL1xuLmx0LWllOSAubC1ib3gtY29sLnUtY2Yge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgbWFyZ2luOiAwOyB9XG4gIC5oZWFkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIm5vcm1hbFwiO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlci11dGlsIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5oZWFkZXItdXRpbC1pdGVtcyB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLmhlYWRlci11dGlsLWl0ZW1zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH1cbiAgICAgIC5oZWFkZXItdXRpbC1pdGVtc19yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5oZWFkZXItdXRpbC1pdGVtIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgNDBweCAwIDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuaGVhZGVyLXV0aWwtaXRlbV9kcm9wZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItdXRpbC1saW5rIHtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgLmhlYWRlci11dGlsLWxpbmtfZHJvcGRvd24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmhlYWRlci11dGlsLWxpbmtfZHJvcGRvd246YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTU2cHggLTYzMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCAzMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4OyB9XG4gICAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTZweCAtNjMwcHg7IH1cbiAgICAgICAgICAuc3ZnIC5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3dzLXBpbmstc21hbGwuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTJweCAtMjNweDsgfVxuICAgICAgICAuaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bi5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1NnB4IC02MDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMzFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bi5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNTZweCAtNjA3cHg7IH1cbiAgICAgICAgICAuc3ZnIC5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duLmhlYWRlci11dGlsLWxpbmtfZHJvcGRvd25PcGVuOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3dzLXBpbmstc21hbGwuc3ZnXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTJweCAwOyB9XG4gICAgICAuaGVhZGVyLXV0aWwtbGlua19pY29uX2V2ZW50cyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5oZWFkZXItdXRpbC1saW5rX2ljb25fZXZlbnRzOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MTlweCAtNTI4cHg7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTJweDsgfVxuICAgICAgICAgIC5uby1zdmcgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9ldmVudHM6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcxOXB4IC01MjhweDsgfVxuICAgICAgICAgIC5zdmcgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9ldmVudHM6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvZGF0ZXBpY2tlci5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAgIC5oZWFkZXItdXRpbC1saW5rX2ljb25fcm5pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9ybmk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYxOXB4IC01MjhweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gICAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX3JuaTpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjE5cHggLTUyOHB4OyB9XG4gICAgICAgICAgLnN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX3JuaTpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLXJlc2VhcmNoLnN2Z1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICAgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5oZWFkZXItdXRpbC1saW5rX2ljb25fbG9naW46YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY3OXB4IC01MjhweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gICAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX2xvZ2luOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NzlweCAtNTI4cHg7IH1cbiAgICAgICAgICAuc3ZnIC5oZWFkZXItdXRpbC1saW5rX2ljb25fbG9naW46YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1sb2dpbi5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAgIC5oZWFkZXItdXRpbC1saW5rX2ljb25fc2VhcmNoIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9zZWFyY2g6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY5OXB4IC01MjhweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OyB9XG4gICAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX3NlYXJjaDpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjk5cHggLTUyOHB4OyB9XG4gICAgICAgICAgLnN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX3NlYXJjaDpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLXNlYXJjaC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmhlYWRlci1zZWFyY2hXcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhlYWRlci1zZWFyY2gge1xuICAgIGJhY2tncm91bmQ6ICNlZWVlZWY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwIDMwcHg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubHQtaWUxMCAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICBtaW4td2lkdGg6IDQ1MHB4OyB9XG4gICAgLmhlYWRlci1zZWFyY2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02OTlweCAtNTI4cHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gICAgICAubm8tc3ZnIC5oZWFkZXItc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjk5cHggLTUyOHB4OyB9XG4gICAgICAuc3ZnIC5oZWFkZXItc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1zZWFyY2guc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1pbnB1dCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgcGFkZGluZzogNXB4IDM1cHggMCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgbWluLXdpZHRoOiAzNzBweDtcbiAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNsb3NlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzU1cHggLTUxMnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5uby1zdmcgLmhlYWRlci1zZWFyY2gtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc1NXB4IC01MTJweDsgfVxuICAgICAgLnN2ZyAuaGVhZGVyLXNlYXJjaC1jbG9zZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvY3Jvc3Muc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNsb3NlOmhvdmVyLCAuaGVhZGVyLXNlYXJjaC1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc3MXB4IC01MTJweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXNlYXJjaC1jbG9zZTpob3ZlciwgLm5vLXN2ZyAuaGVhZGVyLXNlYXJjaC1jbG9zZTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc3MXB4IC01MTJweDsgfVxuICAgICAgICAuc3ZnIC5oZWFkZXItc2VhcmNoLWNsb3NlOmhvdmVyLCAuc3ZnIC5oZWFkZXItc2VhcmNoLWNsb3NlOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2Nyb3NzLXBpbmsuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAuaGVhZGVyLW1haW5Mb2dvIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDFweDsgfVxuICAuaGVhZGVyLWxvZ28ge1xuICAgIG1hcmdpbjogMjRweCA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTEycHg7XG4gICAgd2lkdGg6IDI5MnB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI5MnB4IDUwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5uby1zdmcgLmhlYWRlci1sb2dvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01MTJweDsgfVxuICAgIC5zdmcgLmhlYWRlci1sb2dvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvbG9nby5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmhlYWRlci1tYWluQnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDI0cHggNDBweDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBiYWNrZ3JvdW5kOiAjZDUwMDU4O1xuICAgIHBhZGRpbmc6IDEycHggNTBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaGVhZGVyLW5hdiB7XG4gICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuaGVhZGVyLW5hdi1pdGVtc19sZXZlbF8xIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIGZvbnQtc2l6ZTogMC4wNHB4OyB9XG4gICAgICAuaGVhZGVyLW5hdi1pdGVtc19sZXZlbF8xOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuaGVhZGVyLW5hdi1pdGVtc19sZXZlbF8yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9XG4gICAgLmhlYWRlci1uYXYtaXRlbV9sZXZlbF8xIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAuaGVhZGVyLW5hdi1pdGVtX2xldmVsXzEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7IH0gfVxuICAgIC5oZWFkZXItbmF2LWl0ZW1fbGV2ZWxfMiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVmO1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAuaGVhZGVyLW5hdi1pdGVtX2xldmVsXzI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwOyB9XG4gICAgLmhlYWRlci1uYXYtaXRlbS1jaGlsZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOTkuOCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZDUwMDU4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgICAuaGVhZGVyLW5hdi1pdGVtLWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG4gICAgLmhlYWRlci1uYXYtaXRlbTpob3ZlciAuaGVhZGVyLW5hdi1pdGVtLWNoaWxkLCAuaGVhZGVyLW5hdi1pdGVtOmZvY3VzIC5oZWFkZXItbmF2LWl0ZW0tY2hpbGQsIC5oZWFkZXItbmF2LWl0ZW1fb3BlbiAuaGVhZGVyLW5hdi1pdGVtLWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmhlYWRlci1uYXYtbGlua19sZXZlbF8xIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gICAgICBoZWlnaHQ6IDQ0cHg7IH1cbiAgICAgIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMTpob3ZlciwgLmhlYWRlci1uYXYtbGlua19sZXZlbF8xOmZvY3VzLCAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzEuaGVhZGVyLW5hdi1saW5rX29wZW4sIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMS5oZWFkZXItbmF2LWxpbmtfc2VsZWN0ZWQge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgaGVpZ2h0OiA0MXB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2Q1MDA1ODsgfVxuICAgIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCA0NXB4IDVweCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjNweCAtNjE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMzFweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNi41cHg7IH1cbiAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzI6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjNweCAtNjE2cHg7IH1cbiAgICAgICAgLnN2ZyAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzI6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3dzLXBpbmstc21hbGwuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05cHggLTlweDsgfVxuICAgIC5oZWFkZXItbmF2LXByb21vcyB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgIC5oZWFkZXItbmF2LXByb21vcy1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmOyB9XG4gICAgICAgIC5oZWFkZXItbmF2LXByb21vcy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tbGluazpob3ZlciAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG4sIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWxpbms6Zm9jdXMgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tdGl0bGUge1xuICAgICAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjNGQ0ZDRmOyB9XG4gICAgICAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmhlYWRlci1uYXYtY2hpbGQtbGluayB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDUwMDU4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMjEuNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMuNSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxOXB4IDUwcHggMTlweCAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXItbmF2LWNoaWxkLWxpbms6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk5cHggLTYxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDM4cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHJpZ2h0OiAyMnB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDsgfVxuICAgICAgICAubm8tc3ZnIC5oZWFkZXItbmF2LWNoaWxkLWxpbms6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC05OXB4IC02MThweDsgfVxuICAgICAgICAuc3ZnIC5oZWFkZXItbmF2LWNoaWxkLWxpbms6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3dzLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTFweCAtMTFweDsgfVxuICAuaGVhZGVyLW15Q0lNQSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaGVhZGVyLW15Q0lNQTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU5cHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEycHg7IH1cbiAgICAgIC5uby1zdmcgLmhlYWRlci1teUNJTUE6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1OXB4IC01MjhweDsgfVxuICAgICAgLnN2ZyAuaGVhZGVyLW15Q0lNQTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1hY2NvdW50LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuMTg4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oZWFkZXItdXRpbC1pdGVtcywgLmhlYWRlci1sb2dvLCAuaGVhZGVyLXV0aWwtaXRlbXM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gIC5oZWFkZXItbWFpbkJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC5oZWFkZXItbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAuaGVhZGVyLXV0aWwtbGlua19pY29uX3NlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC5oZWFkZXItbmF2LWl0ZW1zX2xldmVsXzIge1xuICAgIHdpZHRoOiAzNCU7IH1cbiAgLmhlYWRlci1uYXYtcHJvbW9zIHtcbiAgICB3aWR0aDogNjYlOyB9XG4gIC5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4OyB9XG4gIC5oZWFkZXItdXRpbC1saW5rX2ljb25fZXZlbnRzLCAuaGVhZGVyLXV0aWwtbGlua19pY29uX3JuaSwgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyOHB4OyB9XG4gIC5oZWFkZXItbXlDSU1BIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gICAgLmhlYWRlci1teUNJTUE6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDVweDsgfVxuICAuaGVhZGVyLXV0aWwtaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyN3B4OyB9XG4gIC5oZWFkZXItdXRpbC1pdGVtc19yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmhlYWRlci1zZWFyY2gtaW5wdXQge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzOGVtKSB7XG4gIC5oZWFkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIm1vYmlsZVwiO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlci11dGlsIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNEMUQxRDE7IH1cbiAgICAuaGVhZGVyLXV0aWw6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyLXV0aWwtaXRlbXMsIC5oZWFkZXItdXRpbC1pdGVtczpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiAwOyB9XG4gIC5oZWFkZXItdXRpbC1pdGVtc19yaWdodCB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDFEMUQxO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5oZWFkZXItdXRpbC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAuaGVhZGVyLXV0aWwtaXRlbV9yaWdodCB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMzlweDsgfVxuICAuaGVhZGVyLXV0aWwtbGluayB7XG4gICAgaGVpZ2h0OiAzOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOXB4OyB9XG4gIC5oZWFkZXItdXRpbC1saW5rX21vYmlsZUxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTJweCAtNTEycHg7XG4gICAgd2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTZweCA0MHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxuICAgIC5uby1zdmcgLmhlYWRlci11dGlsLWxpbmtfbW9iaWxlTG9nbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yOTJweCAtNTEycHg7IH1cbiAgICAuc3ZnIC5oZWFkZXItdXRpbC1saW5rX21vYmlsZUxvZ28ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9sb2dvLXNtYWxsLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAuaGVhZGVyLXV0aWwtbGlua19kcm9wZG93biB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI3cHg7IH1cbiAgLmhlYWRlci1tb2JpbGVNZW51QnRuIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzU5cHggLTUyOHB4O1xuICAgIHdpZHRoOiAyMXB4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIxcHggMTdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGO1xuICAgIGJvcmRlci13aWR0aDogMTFweCA5cHggMTFweCAxMHB4OyB9XG4gICAgLm5vLXN2ZyAuaGVhZGVyLW1vYmlsZU1lbnVCdG4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzU5cHggLTUyOHB4OyB9XG4gICAgLnN2ZyAuaGVhZGVyLW1vYmlsZU1lbnVCdG4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9oYW1idXJnZXIuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLmhlYWRlci1tb2JpbGVNZW51QnRuX2Ryb3Bkb3duT3BlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWRlZGVkO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NzFweCAtNTEycHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJvcmRlci13aWR0aDogMTFweCAxM3B4IDEycHggMTJweDsgfVxuICAgICAgLm5vLXN2ZyAuaGVhZGVyLW1vYmlsZU1lbnVCdG5fZHJvcGRvd25PcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NzFweCAtNTEycHg7IH1cbiAgICAgIC5zdmcgLmhlYWRlci1tb2JpbGVNZW51QnRuX2Ryb3Bkb3duT3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvY3Jvc3MtcGluay5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgICAgLmhlYWRlci1tb2JpbGVNZW51QnRuX2Ryb3Bkb3duT3BlbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgICAgYm90dG9tOiAtMTJweDtcbiAgICAgICAgbGVmdDogLTEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkMWQxZDE7IH1cbiAgICAgIC5oZWFkZXItbW9iaWxlTWVudUJ0bl9kcm9wZG93bk9wZW46YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJvdHRvbTogLTEzcHg7XG4gICAgICAgIHJpZ2h0OiAtMTNweDtcbiAgICAgICAgbGVmdDogLTExcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7IH1cbiAgLmhlYWRlci1zZWFyY2hXcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNDBweDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2Q1MDA1ODsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWlucHV0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaGVhZGVyLXV0aWwtbGlua19pY29uX3NlYXJjaCwgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5oZWFkZXItdXRpbC1saW5rX2ljb25fc2VhcmNoOmJlZm9yZSwgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci13aWR0aDogOHB4IDEwcHggMTFweDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmx0LWllMTAgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9zZWFyY2g6YmVmb3JlLCAubHQtaWUxMCAuaGVhZGVyLXV0aWwtbGlua19pY29uX2xvZ2luOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0ZGRjsgfVxuICAgIC5oZWFkZXItdXRpbC1saW5rX2ljb25fc2VhcmNoLmhlYWRlci11dGlsLWxpbmtfZHJvcGRvd25PcGVuLCAuaGVhZGVyLXV0aWwtbGlua19pY29uX2xvZ2luLmhlYWRlci11dGlsLWxpbmtfZHJvcGRvd25PcGVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNlZGVkZWQ7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDFkMWQxO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QxZDFkMTsgfVxuICAgICAgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9zZWFyY2guaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bk9wZW46YmVmb3JlLCAuaGVhZGVyLXV0aWwtbGlua19pY29uX2xvZ2luLmhlYWRlci11dGlsLWxpbmtfZHJvcGRvd25PcGVuOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTc3MXB4IC01MTJweDtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTFweCAxMXB4IDEycHg7IH1cbiAgICAgICAgLm5vLXN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX3NlYXJjaC5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjpiZWZvcmUsIC5uby1zdmcgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbi5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NzFweCAtNTEycHg7IH1cbiAgICAgICAgLnN2ZyAuaGVhZGVyLXV0aWwtbGlua19pY29uX3NlYXJjaC5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjpiZWZvcmUsIC5zdmcgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbi5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvY3Jvc3MtcGluay5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5oZWFkZXItdXRpbC1saW5rX2ljb25fbG9naW46YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU5cHggLTUyOHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogOXB4IDEwcHggMTBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDM5cHg7IH1cbiAgICAubm8tc3ZnIC5oZWFkZXItdXRpbC1saW5rX2ljb25fbG9naW46YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1OXB4IC01MjhweDsgfVxuICAgIC5zdmcgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLWFjY291bnQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5oZWFkZXItdXRpbC1saW5rX2ljb25fbG9naW4uaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bk9wZW4ge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmhlYWRlci11dGlsLWxpbmtfaWNvbl9sb2dpbi5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbjpiZWZvcmUge1xuICAgICAgYm9yZGVyLXdpZHRoOiAxMXB4IDEwcHggMTNweCAxMnB4OyB9XG4gIC5oZWFkZXItbWFpbkxvZ28ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmhlYWRlci1uYXYge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhlYWRlci1tYWluQnRuIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIG1hcmdpbjogMTVweDsgfVxuICAuaGVhZGVyLW5hdi1tb2JpbGVMaW5rIHtcbiAgICBjb2xvcjogIzRkNGQ0ZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmhlYWRlci1uYXYtbW9iaWxlTGluazpob3ZlciwgLmhlYWRlci1uYXYtbW9iaWxlTGluazpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5oZWFkZXItbmF2LW1vYmlsZUxpbmtfaWNvbl9ldmVudHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaGVhZGVyLW5hdi1tb2JpbGVMaW5rX2ljb25fZXZlbnRzOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzE5cHggLTUyOHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDsgfVxuICAgICAgICAubm8tc3ZnIC5oZWFkZXItbmF2LW1vYmlsZUxpbmtfaWNvbl9ldmVudHM6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03MTlweCAtNTI4cHg7IH1cbiAgICAgICAgLnN2ZyAuaGVhZGVyLW5hdi1tb2JpbGVMaW5rX2ljb25fZXZlbnRzOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2RhdGVwaWNrZXIuc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5oZWFkZXItbmF2LW1vYmlsZUxpbmtfaWNvbl9ybmkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuaGVhZGVyLW5hdi1tb2JpbGVMaW5rX2ljb25fcm5pOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjE5cHggLTUyOHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDsgfVxuICAgICAgICAubm8tc3ZnIC5oZWFkZXItbmF2LW1vYmlsZUxpbmtfaWNvbl9ybmk6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MTlweCAtNTI4cHg7IH1cbiAgICAgICAgLnN2ZyAuaGVhZGVyLW5hdi1tb2JpbGVMaW5rX2ljb25fcm5pOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2ljb24tcmVzZWFyY2guc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAuaGVhZGVyLW5hdi1pdGVtX2xldmVsXzEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWRlZGVkOyB9XG4gIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTZweCA0NXB4IDE2cHggMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmhlYWRlci1uYXYtbGlua19sZXZlbF8xOmhvdmVyLCAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzE6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzE6aG92ZXIsIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMTpmb2N1cyB7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAuaGVhZGVyLW5hdi1pdGVtX2xldmVsXzEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5oZWFkZXItbmF2LWRyb3Bkb3duVG9nZ2xlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiA1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1uYXYtZHJvcGRvd25Ub2dnbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgxOXB4IC01MTJweDtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAgIC5uby1zdmcgLmhlYWRlci1uYXYtZHJvcGRvd25Ub2dnbGU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgxOXB4IC01MTJweDsgfVxuICAgICAgLnN2ZyAuaGVhZGVyLW5hdi1kcm9wZG93blRvZ2dsZTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3ctcGluay1kb3duLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLmhlYWRlci1uYXYtZHJvcGRvd25Ub2dnbGVfZHJvcGRvd25PcGVuOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmhlYWRlci1uYXYtaXRlbS1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDE1cHggc29saWQgI2VkZWRlZDsgfVxuICAuaGVhZGVyLW5hdi1pdGVtc19sZXZlbF8yIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWFkZXItbmF2LWl0ZW1fbGV2ZWxfMiB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuaGVhZGVyLW5hdi1saW5rX2xldmVsXzIge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogIzRkNGQ0ZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDEzcHggMTVweDsgfVxuICAgIC5oZWFkZXItbmF2LWxpbmtfbGV2ZWxfMjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogU3RpY2t5IG5hdmlnYXRpb24gKi9cbi8qIG1vYmlsZXNcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJGJwLXRhYmxldC1kb3duKXtcclxuICAgIC5oZWFkZXIuc3RpY2t5LW1vYmlsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTExMTExMTE7XHJcblxyXG4gICAgICAgIC8vI2xvZ2luRHJvcGRvd24uZHJvcGRvd25fb3BlbiAgICB7XHJcbiAgICAgICAgLy8gICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDgwdmg7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvdXItcGluaztcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbn0gKi9cbi8qIGxhcmdlIHNjcmVlbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGVhZGVyLW5hdi13cmFwLnN0aWNreS1kZXNrdG9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzcHggI2NjYzsgfVxuICAgIC5oZWFkZXItbmF2LXdyYXAuc3RpY2t5LWRlc2t0b3AgLmhlYWRlci1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5pZTggLmhlYWRlci1uYXYtd3JhcC5zdGlja3ktZGVza3RvcCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9IH1cblxuLmZvb3RlciB7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5mb290ZXIgLmwtY29udGVudF9pbmRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5mb290ZXIgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmZvb3RlciBhOmhvdmVyLCAuZm9vdGVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBGb290ZXIgdG9wICMjIyMjIyMjIyMjIyMjIyMjIyMjICovXG4vKiBsYXlvdXQgKi9cbi5mb290ZXItdG9wIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjsgfVxuICAuZm9vdGVyLXRvcCAubC1jb250ZW50X2luZGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjsgfVxuICAuZm9vdGVyLXRvcC1jb2xfZmlyc3Qge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICAuZm9vdGVyLXRvcCAuZm9vdGVyLW5ld3NsZXR0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLmZvb3Rlci10b3AgLmZvb3Rlci1uZXdzbGV0dGVyIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mb290ZXItdG9wIC5mb290ZXItbmV3c2xldHRlciAueGZvcm0gc3BhbiB7XG4gICAgICBjb2xvcjogIzRkNGQ0ZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmZvb3Rlci10b3AgLmZvb3Rlci1uZXdzbGV0dGVyIC54Zm9ybSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5mb290ZXItdG9wIC5mb290ZXItbmV3c2xldHRlciAueGZvcm0gaW5wdXRbdHlwZT10ZXh0XSxcbiAgICAuZm9vdGVyLXRvcCAuZm9vdGVyLW5ld3NsZXR0ZXIgLnhmb3JtIGlucHV0W3R5cGU9ZW1haWxdLFxuICAgIC5mb290ZXItdG9wIC5mb290ZXItbmV3c2xldHRlciAueGZvcm0gaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gICAgLmZvb3Rlci10b3AgLmZvb3Rlci1uZXdzbGV0dGVyIC54Zm9ybSBpbnB1dFt0eXBlPW51bWJlcl0sXG4gICAgLmZvb3Rlci10b3AgLmZvb3Rlci1uZXdzbGV0dGVyIC54Zm9ybSBzZWxlY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mb290ZXItdG9wIC5mb290ZXItbmV3c2xldHRlciAueGZvcm0gLmVycm9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45MzhlbSkge1xuICAgIC5mb290ZXItdG9wLWNvbCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0NyU7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgLmZvb3Rlci10b3AtY29sX2ZpcnN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNiU7IH1cbiAgICAuZm9vdGVyLXRvcC1jb2xfbGFzdCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mb290ZXItdG9wLWNvbCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyNyU7XG4gICAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgICBwYWRkaW5nOiA1MHB4IDAgNDBweCAwO1xuICAgICAgcGFkZGluZzogMy4xMjVyZW0gMCAyLjVyZW0gMDsgfVxuICAgIC5mb290ZXItdG9wLWNvbF9sYXN0IHtcbiAgICAgIHdpZHRoOiAzNiU7IH1cbiAgICAuZm9vdGVyLXRvcC1jb2xfZmlyc3Qge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uZm9vdGVyLXRvcC1oZWFkZXIsIC5mb290ZXItdG9wIC5mb290ZXItbmV3c2xldHRlciAueGZvcm0gc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMjBweCAwO1xuICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZvb3Rlci10b3AtaGVhZGVyLCAuZm9vdGVyLXRvcCAuZm9vdGVyLW5ld3NsZXR0ZXIgLnhmb3JtIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mb290ZXItdG9wLWhlYWRlciwgLmZvb3Rlci10b3AgLmZvb3Rlci1uZXdzbGV0dGVyIC54Zm9ybSBzcGFuIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uZm9vdGVyLXRvcC1zb2NpYWwge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG5cbi8qIE1vYmlsZSBGb290ZXIgYWNjb3JkaW9uIHN0eWxpbmcgKi9cbi5mb290ZXItdG9wIC5hY2NvcmRpb24tdHJpZ2dlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gIC5mb290ZXItdG9wIC5hY2NvcmRpb25fbW9iaWxlIHtcbiAgICAvKiBpZiBhY3RpdmUgKi8gfVxuICAgIC5mb290ZXItdG9wIC5hY2NvcmRpb25fbW9iaWxlIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZvb3Rlci10b3AgLmFjY29yZGlvbl9tb2JpbGUgLmFjY29yZGlvbi1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb290ZXItdG9wIC5hY2NvcmRpb25fbW9iaWxlIC5hY2NvcmRpb24tdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDE7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCAwO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDMuMTI1cmVtIDAuOTM3NXJlbSAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZm9vdGVyLXRvcCAuYWNjb3JkaW9uX21vYmlsZSAuYWNjb3JkaW9uLXRyaWdnZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00ODdweCAtNTI4cHg7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjJweCAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIC5uby1zdmcgLmZvb3Rlci10b3AgLmFjY29yZGlvbl9tb2JpbGUgLmFjY29yZGlvbi10cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDg3cHggLTUyOHB4OyB9XG4gICAgICAgIC5zdmcgLmZvb3Rlci10b3AgLmFjY29yZGlvbl9tb2JpbGUgLmFjY29yZGlvbi10cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3BsdXMtZ3JleS5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLmZvb3Rlci10b3AgLmFjY29yZGlvbl9tb2JpbGUgLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZvb3Rlci10b3AgLmFjY29yZGlvbl9tb2JpbGUgLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi10cmlnZ2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZvb3Rlci10b3AgLmFjY29yZGlvbl9tb2JpbGUgLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi10cmlnZ2VyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDQzcHggLTUyOHB4O1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAubm8tc3ZnIC5mb290ZXItdG9wIC5hY2NvcmRpb25fbW9iaWxlIC5hY2NvcmRpb25fYWN0aXZlIC5hY2NvcmRpb24tdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ0M3B4IC01MjhweDsgfVxuICAgICAgICAuc3ZnIC5mb290ZXItdG9wIC5hY2NvcmRpb25fbW9iaWxlIC5hY2NvcmRpb25fYWN0aXZlIC5hY2NvcmRpb24tdHJpZ2dlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9taW51cy1ncmV5LnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxuXG4vKiBmb290ZXIgbmF2aWdhdGlvbiBsaW5rcyAqL1xuLmZvb3Rlci10b3AtbmF2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmZvb3Rlci10b3AtbmF2LWl0ZW0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mb290ZXItdG9wLW5hdi1pdGVtOmZpcnN0LWNoaWxkID4gYSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDBkMGQxOyB9IH1cbiAgLmZvb3Rlci10b3AtbmF2LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDA7IH1cblxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBGb290ZXIgYm90dG9tICAjIyMjIyMjIyMjIyMjIyMjIyMjIyAqL1xuLmZvb3Rlci1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5mb290ZXItYm90dG9tLW5hdi1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuLmZvb3Rlci1ib3R0b20tbmF2LWl0ZW0ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAwIDAgMS4yNXJlbTsgfVxuXG4uZm9vdGVyLWJvdHRvbS1uYXYtbGluayB7XG4gIGNvbG9yOiAjNGQ0ZDRmOyB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAuZm9vdGVyLWJvdHRvbS1uYXYge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA4NSU7IH1cbiAgICAuZm9vdGVyLWJvdHRvbS1uYXYtbGlzdCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5mb290ZXItYm90dG9tLW5hdi1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH1cbiAgLmZvb3Rlci1ib3R0b20tY29weXJpZ2h0IHtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbi8qIHJpZ2h0IGNvbHVtbiBzdHlsZSAqL1xuLmFzaWRlTmF2IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuLmFzaWRlTmF2IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5hc2lkZU5hdiBkaXZbY2xhc3MqPVwidGhlbWVfd2hpdGVcIl0ge1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmFzaWRlTmF2IGRpdltjbGFzcyo9XCJ0aGVtZV93aGl0ZVwiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmFzaWRlTmF2IGRpdltjbGFzcyo9XCJ0aGVtZV93aGl0ZVwiXSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gIC5hc2lkZU5hdiAubGlua0dyb3VwLFxuICAuYXNpZGVOYXYgLnRleHRCbG9jayxcbiAgLmFzaWRlTmF2IC5jaGVja2xpc3QgLmNoZWNrbGlzdC1uYXYsXG4gIC5hc2lkZU5hdiAucXVvdGUsXG4gIC5hc2lkZU5hdiAuY2hlY2tsaXN0LFxuICAuYXNpZGVOYXYgLnRleHRCbG9ja0FzaWRlLFxuICAuYXNpZGVOYXYgLnRleHRDb2xvdXJCbG9jayxcbiAgLmFzaWRlTmF2IC5wcm9tbyxcbiAgLmFzaWRlTmF2IC5wZGZEb3dubG9hZEJsb2NrIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1heC13aWR0aDogMTguNzVyZW07IH1cbiAgLmFzaWRlTmF2IC50ZXh0QmxvY2tBc2lkZV9wcmltYXJ5LFxuICAuYXNpZGVOYXYgLnBkZkRvd25sb2FkQmxvY2tfcHJpbWFyeSB7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICBtYXgtd2lkdGg6IDI2LjI1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgLmFzaWRlTmF2IGlmcmFtZSB7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuYXNpZGVOYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuQmFzaWMgU3R5bGVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5icmVhZGNydW1icyB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWY7IH1cbiAgLmJyZWFkY3J1bWJzLW5hdiB7XG4gICAgY29sb3I6ICM0ZDRkNGY7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC5icmVhZGNydW1icy1uYXYgbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYnJlYWRjcnVtYnMtbmF2IGxpID4gKiB7XG4gICAgICAvKiBzaW5nbGUgc3RlcCAqL1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJyZWFkY3J1bWJzLW5hdiBhIHtcbiAgICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDE4cHggMCAwOyB9XG4gICAgICAuYnJlYWRjcnVtYnMtbmF2IGE6aG92ZXIsIC5icmVhZGNydW1icy1uYXYgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5icmVhZGNydW1icy1uYXYgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcvJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiA2cHg7IH1cbiAgICAgICAgLmllOCAuYnJlYWRjcnVtYnMtbmF2IGE6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYnMtbmF2IHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuTGFyZ2VyIHNjcmVlbnNcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLmJyZWFkY3J1bWJzLW5hdiB7XG4gICAgLyogcmVzZXQgYmFzaWMgc3R5bGUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmJyZWFkY3J1bWJzLW5hdiBsaSB7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMTBweCA0cHggMTBweCAwOyB9XG4gICAgICAuYnJlYWRjcnVtYnMtbmF2IGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5icmVhZGNydW1icy1uYXYgbGkgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCAyNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIC8qIHRoZSBib3JkZXIgY29sb3IgaXMgdXNlZCB0byBzdHlsZSBpdHMgOjphZnRlciBwc2V1ZG8tZWxlbWVudCAqL1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gICAgICAubHQtaWU5IC5icmVhZGNydW1icy1uYXYgbGkgPiAqIHtcbiAgICAgICAgcGFkZGluZzogMWVtOyB9XG4gICAgLmJyZWFkY3J1bWJzLW5hdiBsaTpmaXJzdC1vZi10eXBlID4gKiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5icmVhZGNydW1icy1uYXYgbGk6Zmlyc3Qtb2YtdHlwZSA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5icmVhZGNydW1icy1uYXYgbGk6Zmlyc3Qtb2YtdHlwZSA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuYnJlYWRjcnVtYnMtbmF2IGxpOmxhc3Qtb2YtdHlwZSA+ICoge1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAgIC5icmVhZGNydW1icy1uYXYgbGk6OmFmdGVyLCAuYnJlYWRjcnVtYnMtbmF2IGxpID4gKjo6YWZ0ZXIge1xuICAgICAgLyogXHJcblx0XHRcdFx0XHRsaSA+ICo6OmFmdGVyIGlzIHRoZSBjb2xvcmVkIHRyaWFuZ2xlIGFmdGVyIGVhY2ggaXRlbVxyXG5cdFx0XHRcdFx0bGk6OmFmdGVyIGlzIHRoZSB3aGl0ZSBzZXBhcmF0b3IgYmV0d2VlbiB0d28gaXRlbXNcclxuXHRcdFx0XHQqL1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIC8qIDQ4cHggaXMgdGhlIGhlaWdodCBvZiB0aGUgPGE+IGVsZW1lbnQgKi9cbiAgICAgIGJvcmRlcjogMTdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfVxuICAgIC5icmVhZGNydW1icy1uYXYgbGk6OmFmdGVyIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIHdoaXRlIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBpdGVtcyAqL1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlZWVlZWY7XG4gICAgICAvKiByZXNldCBzdHlsZSAqL1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmJyZWFkY3J1bWJzLW5hdiBsaSA+ICo6OmFmdGVyIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIGNvbG9yZWQgdHJpYW5nbGUgYWZ0ZXIgZWFjaCBlbGVtZW50ICovXG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IH1cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAuYnJlYWRjcnVtYnMtbmF2IGxpOjphZnRlcixcbiAgICAuYnJlYWRjcnVtYnMtbmF2IGxpID4gKjo6YWZ0ZXIge1xuICAgICAgLyogZml4IGEgYnVnIG9uIEZpcmVmaXggLSB0b290aCBlZGdlIG9uIGNzcyB0cmlhbmdsZSAqL1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IGRhc2hlZDsgfSB9IH1cblxuLm1hc3RlckhlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGF1dG87IH1cbiAgLmx0LWllOSAubWFzdGVySGVhZCB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAubWFzdGVySGVhZCAubC1yb3ctaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tYXN0ZXJIZWFkIC5hc2lkZU5hdiB7XG4gICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yLjVyZW07IH1cbiAgICAgIC5tYXN0ZXJIZWFkIC5hc2lkZU5hdiAuc29jaWFsLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmdlbmVyYWxQYWdlSGVhZGluZ0JHIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hc3NldHMvY29udGVudEhlYWRlci1iZy5naWYpIHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDUwJSAxMDBweDsgfVxuICAubHQtaWU5IC5nZW5lcmFsUGFnZUhlYWRpbmdCRyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Fzc2V0cy9jb250ZW50SGVhZGVyLWJnLWllOC5wbmcpIHJlcGVhdC14OyB9XG5cbi5nZW5lcmFsUGFnZUhlYWRpbmcge1xuICBjbGVhcjogYm90aDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgcGFkZGluZzogMTVweCAwO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIG1pbi1oZWlnaHQ6IDE3MHB4O1xuICBtaW4taGVpZ2h0OiAxMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYzZW0pIHtcbiAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5nZW5lcmFsUGFnZUhlYWRpbmctZGF0ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLXRpdGxlIHtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLXN1YnRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmdlbmVyYWxQYWdlSGVhZGluZyA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud2lkZVBhZ2VIZWFkaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjsgfVxuICAud2lkZVBhZ2VIZWFkaW5nIC5sLXJvdy1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA3MjBweDsgfVxuXG4vKiBNeSBDSU1BIHByb2ZpbGUgaGVhZGVyICovXG4uZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEge1xuICAvKiBsYXlvdXQgKi8gfVxuICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMGQwZDE7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1ibG9jayB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctZGV0YWlscyxcbiAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1idXR0b24ge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1kZXRhaWxzID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1idXR0b24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuICAgICAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctYnV0dG9uIC5idG4tcHJvZmlsZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctcGVyc29uIHtcbiAgICBjb2xvcjogI2Q1MDA1ODsgfVxuICAgIC5nZW5lcmFsUGFnZUhlYWRpbmcuZ2VuZXJhbFBhZ2VIZWFkaW5nX215Q2ltYSAuZ2VuZXJhbFBhZ2VIZWFkaW5nLXBlcnNvbiBzcGFuIHtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctY29udGFjdCxcbiAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctbG9jYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctY29udGFjdCBzcGFuLFxuICAgIC5nZW5lcmFsUGFnZUhlYWRpbmcuZ2VuZXJhbFBhZ2VIZWFkaW5nX215Q2ltYSAuZ2VuZXJhbFBhZ2VIZWFkaW5nLWxvY2F0aW9uIHNwYW4ge1xuICAgICAgY29sb3I6ICNkNTAwNTg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5nZW5lcmFsUGFnZUhlYWRpbmcuZ2VuZXJhbFBhZ2VIZWFkaW5nX215Q2ltYSAuZ2VuZXJhbFBhZ2VIZWFkaW5nLWNvbnRhY3QgYSxcbiAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1sb2NhdGlvbiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1jb250YWN0IGE6aG92ZXIsIC5nZW5lcmFsUGFnZUhlYWRpbmcuZ2VuZXJhbFBhZ2VIZWFkaW5nX215Q2ltYSAuZ2VuZXJhbFBhZ2VIZWFkaW5nLWNvbnRhY3QgYTphY3RpdmUsXG4gICAgICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1sb2NhdGlvbiBhOmhvdmVyLFxuICAgICAgLmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIC5nZW5lcmFsUGFnZUhlYWRpbmctbG9jYXRpb24gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmdlbmVyYWxQYWdlSGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy10aXRsZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICAuZ2VuZXJhbFBhZ2VIZWFkaW5nLmdlbmVyYWxQYWdlSGVhZGluZ19teUNpbWEgLmdlbmVyYWxQYWdlSGVhZGluZy1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogcmVzZXQgKi9cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICptYXJnaW4tbGVmdDogLTdweDsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXVybF0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgaW5wdXRbdHlwZT10ZXh0XSxcbiAgICBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgICBpbnB1dFt0eXBlPW51bWJlcl0sXG4gICAgaW5wdXRbdHlwZT10ZWxdLFxuICAgIGlucHV0W3R5cGU9dXJsXSxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAgIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG4gICAgICBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbiAgICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuICAgICAgaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuICAgICAgaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuICAgICAgaW5wdXRbdHlwZT11cmxdOmZvY3VzLFxuICAgICAgc2VsZWN0OmZvY3VzLFxuICAgICAgdGV4dGFyZWE6Zm9jdXMge1xuICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDsgfSB9XG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi9cbiAgcmVzaXplOiBub25lOyB9XG5cbmxhYmVsIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmFiYnIge1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNGQ0ZDRmO1xuICBvcGFjaXR5OiAuNzsgfVxuXG46LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAjNGQ0ZDRmO1xuICBvcGFjaXR5OiAuNzsgfVxuXG46Oi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE5KyAqL1xuICBjb2xvcjogIzRkNGQ0ZjtcbiAgb3BhY2l0eTogLjc7IH1cblxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNGQ0ZDRmO1xuICBvcGFjaXR5OiAuNzsgfVxuXG4vKlR1cm4gT2ZmIE51bWJlciBJbnB1dCBTcGlubmVycyAqL1xuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG5pbnB1dFt0eXBlPW51bWJlcl0ge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG4vKiBGb3JtIGlucHV0IHN0eWxlIChhbGwgZm9ybSB0eXBlcykgKi9cbmlucHV0W3R5cGU9dGV4dF0sXG5pbnB1dFt0eXBlPWVtYWlsXSxcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxuaW5wdXRbdHlwZT1udW1iZXJdLFxuaW5wdXRbdHlwZT10ZWxdLFxuaW5wdXRbdHlwZT11cmxdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIHBhZGRpbmc6IDE0cHggMTBweDtcbiAgcGFkZGluZzogMC44NzVyZW0gMC42MjVyZW07IH1cbiAgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuICBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9dGVsXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT11cmxdOmZvY3VzLFxuICBzZWxlY3Q6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkZWRlZGU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDY0ZW0pIHtcbiAgc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZXMvYXNzZXRzL2Fycm93LXBpbmstZG93bi5wbmcpIG5vLXJlcGVhdCA5OCUgNTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgICAueGZvcm0gc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk2JSA1MCU7IH0gfVxuXG4vKiBpZiB3cmFwcGVkICovXG4uZm9ybS1zZWxlY3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxM3B4IDEwcHg7XG4gIHBhZGRpbmc6IDAuODEyNXJlbSAwLjYyNXJlbTsgfVxuICAuZm9ybS1zZWxlY3Qgc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuZm9ybS1zZWxlY3Qgc2VsZWN0IG9wdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5mb3JtLXJvdyB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZm9ybS1yb3cgLmJ0biwgLmZvcm0tcm93IC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnhmb3JtIC5mb3JtLXJvdyBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLmZvcm0tcm93IC5idG5fYXJyb3csIC5mb3JtLXJvdyAuYnRuX3doaXRlX2Fycm93LCAuZm9ybS1yb3cgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5mb3JtLXJvdyAuYnRuX3doaXRlLCAuZm9ybS1yb3cgLmJ0bl93aGl0ZV9ib3JkZXIsIC5mb3JtLXJvdyAuYnRuX21lZGlhIHtcbiAgICBwYWRkaW5nOiAxN3B4IDIwcHg7XG4gICAgcGFkZGluZzogMS4wNjI1cmVtIDEuMjVyZW07XG4gICAgbWFyZ2luOiAyZW0gMCAwIDAgIWltcG9ydGFudDsgfVxuICAuZm9ybS1yb3dfd2lkZSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5mb3JtLXJvd193aWRlIC5mb3JtLXJvdy1jb2wge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9IH1cblxuLmZpZWxkR3JvdXAgLmZvcm0tc2VsZWN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMiU7XG4gIG1hcmdpbi1sZWZ0OiAyJTsgfVxuICAuZmllbGRHcm91cCAuZm9ybS1zZWxlY3Q6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmVycm9yIHtcbiAgY29sb3I6ICNjYTIxMDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsgfVxuXG4uZXJyb3JMaXN0IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2NhMjEwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2NhMjEwMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuZXJyb3JMaXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAuZXJyb3JMaXN0IHVsIHtcbiAgICBtYXJnaW46IDAgMCAwIDJlbTsgfVxuXG5sYWJlbCwgbGVnZW5kIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY2hlY2stcmFkaW8tYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH1cbiAgLmNoZWNrLXJhZGlvLWJveCBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNXB4O1xuICAgIHRvcDogMC4zMTI1cmVtO1xuICAgIGxlZnQ6IDA7IH1cblxuLnRvZ2dsZUF0dGVuZGVlIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLnRvZ2dsZUF0dGVuZGVlIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLyogd2l0aGluIHhmb3JtICovXG4uZm9vdGVyLXRvcCAuZm9vdGVyLW5ld3NsZXR0ZXIgLnhmb3JtIC54Zm9ybXZhbGlkYXRvciwgLnhmb3JtIC54Zm9ybXZhbGlkYXRvcixcbi54Zm9ybSAuZXJyb3Ige1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6ICNjYTIxMDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiA1cHggMCAwIDA7XG4gIG1hcmdpbjogMC4zMTI1cmVtIDAgMCAwOyB9XG5cbi54Zm9ybSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLnhmb3JtID4gdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICBtYXgtd2lkdGg6IDI4LjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnhmb3JtID4gdGFibGUgdHIgdGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgLnhmb3JtID4gdGFibGUgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAueGZvcm0gaDIsIC54Zm9ybSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC54Zm9ybSBoMiwgLnhmb3JtIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gIC54Zm9ybSBzcGFuLnN1YnRpdGxlLFxuICAueGZvcm0gc3Bhbi5zdWJUaXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM0ZDRkNGY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAueGZvcm0gc3Bhbi5zdWJ0aXRsZSxcbiAgICAgIC54Zm9ybSBzcGFuLnN1YlRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLnhmb3JtIC54Zm9ybXZhbGlkYXRvcixcbiAgLnhmb3JtIC5lcnJvciB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG4gIC54Zm9ybSBmaWVsZHNldCBsYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gIC54Zm9ybSBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC54Zm9ybSBociB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGNvbG9yOiAjZDBkMGQxO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQxOyB9XG4gIC54Zm9ybSBpbnB1dFt0eXBlPSdyYWRpbyddLFxuICAueGZvcm0gaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG5cbi8qIGNyZWF0ZSB0d28gY29sdW1uIGlmIGluIHdpZGUgMTAwJSBwYWdlICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIHRyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIHRyID4gdGQge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgdHIgPiB0ZCA+IGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIG1hcmdpbjogMTBweCA1JSA1cHggMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubC1yb3ctMTAwIC54Zm9ybSB0YWJsZSBpbnB1dFt0eXBlPXRleHRdLFxuICAubC1yb3ctMTAwIC54Zm9ybSB0YWJsZSBpbnB1dFt0eXBlPWVtYWlsXSxcbiAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgaW5wdXRbdHlwZT1wYXNzd29yZF0sXG4gIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgaW5wdXRbdHlwZT10ZWxdLFxuICAubC1yb3ctMTAwIC54Zm9ybSB0YWJsZSBpbnB1dFt0eXBlPXVybF0sXG4gIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIHNlbGVjdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAueGZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc29jaWFsLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWY7IH1cbiAgLnNvY2lhbC1jb250YWluZXIgPiBoMiB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc29jaWFsLWNvbnRhaW5lciA+IGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM4ZW0pIHtcbiAgICAuc29jaWFsLWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfSB9XG5cbi5zb2NpYWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuc29jaWFsLWl0ZW0ge1xuICAgIG1hcmdpbjogMCA1cHggNXB4IDA7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuc29jaWFsLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5zb2NpYWwtbGluayB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGQ0ZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2Utb3V0OyB9XG4gICAgLnNvY2lhbC1saW5rOmhvdmVyLCAuc29jaWFsLWxpbms6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdmN2Y4MzsgfVxuICAgIC5zb2NpYWwtbGlua19mYWNlYm9vayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTkwcHggLTU2MnB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4OyB9XG4gICAgICAubm8tc3ZnIC5zb2NpYWwtbGlua19mYWNlYm9vayB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTBweCAtNTYycHg7IH1cbiAgICAgIC5zdmcgLnNvY2lhbC1saW5rX2ZhY2Vib29rIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9mYWNlYm9vay5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5zb2NpYWwtbGlua19saW5rZWRpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzNXB4IC01NjJweDtcbiAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0NXB4IDQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JiNjsgfVxuICAgICAgLm5vLXN2ZyAuc29jaWFsLWxpbmtfbGlua2VkaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzNXB4IC01NjJweDsgfVxuICAgICAgLnN2ZyAuc29jaWFsLWxpbmtfbGlua2VkaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2xpbmtlZGluLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLnNvY2lhbC1saW5rX3R3aXR0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMjVweCAtNTYycHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDVweCA0NXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFjZWQ7IH1cbiAgICAgIC5uby1zdmcgLnNvY2lhbC1saW5rX3R3aXR0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNXB4IC01NjJweDsgfVxuICAgICAgLnN2ZyAuc29jaWFsLWxpbmtfdHdpdHRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvdHdpdHRlci5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5zb2NpYWwtbGlua19lbWFpbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1cHggLTU2MnB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5uby1zdmcgLnNvY2lhbC1saW5rX2VtYWlsIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NXB4IC01NjJweDsgfVxuICAgICAgLnN2ZyAuc29jaWFsLWxpbmtfZW1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2VtYWlsLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLnNvY2lhbC1saW5rX3ByaW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU2MnB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5uby1zdmcgLnNvY2lhbC1saW5rX3ByaW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTYycHg7IH1cbiAgICAgIC5zdmcgLnNvY2lhbC1saW5rX3ByaW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wcmludC5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAgIC5zb2NpYWwtbGlua195b3V0dWJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTU2MnB4O1xuICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ1cHggNDVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2QyMDFmOyB9XG4gICAgICAubm8tc3ZnIC5zb2NpYWwtbGlua195b3V0dWJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAtNTYycHg7IH1cbiAgICAgIC5zdmcgLnNvY2lhbC1saW5rX3lvdXR1YmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3lvdXR1YmUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAuc29jaWFsLWxpbmtfY2ltYWNvbm5lY3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzBweCAtNTYycHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDVweCA0NXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7IH1cbiAgICAgIC5uby1zdmcgLnNvY2lhbC1saW5rX2NpbWFjb25uZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yNzBweCAtNTYycHg7IH1cbiAgICAgIC5zdmcgLnNvY2lhbC1saW5rX2NpbWFjb25uZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9jaW1hY29ubmVjdC5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4vKiBpZiBpbiByaWdodCBuYXZpZ2F0aW9uICovXG4uYXNpZGVOYXYgLnNvY2lhbC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDAuOTM3NXJlbSAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuYXNpZGVOYXYgLnNvY2lhbC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuYXNpZGVOYXYgLnNvY2lhbC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMTVweCAwIDIwcHggMzBweDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDEuMjVyZW0gMS44NzVyZW07IH1cbiAgICAgIC5hc2lkZU5hdiAuc29jaWFsLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQxOyB9IH1cblxuLyogV2hpdGUgb3B0aW9uICovXG4uc29jaWFsLWNvbnRhaW5lci50aGVtZV93aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnNvY2lhbC1jb250YWluZXIudGhlbWVfd2hpdGUge1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4IDIwcHggMzBweCAhaW1wb3J0YW50OyB9IH1cbiAgLnNvY2lhbC1jb250YWluZXIudGhlbWVfd2hpdGU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5zb2NpYWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogUkVTRVQgKi9cbltjbGFzc149J2J0biddLFxuaW5wdXRbdHlwZT1zdWJtaXRdLFxuaW5wdXRbdHlwZT1idXR0b25dLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBvdXRsaW5lOiBub25lO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAqb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cbiAgW2NsYXNzXj0nYnRuJ10gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbY2xhc3NePSdidG4nXSBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXRbdHlwZT1zdWJtaXRdIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgaW5wdXRbdHlwZT1zdWJtaXRdIGlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dFt0eXBlPWJ1dHRvbl0gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dFt0eXBlPWJ1dHRvbl0gaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0W3R5cGU9J3Jlc2V0J10gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dFt0eXBlPSdyZXNldCddIGlucHV0OjotbW96LWZvY3VzLWlubmVyLFxuICBidXR0b24gYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBidXR0b24gaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIFtjbGFzc149J2J0biddOmhvdmVyLCBbY2xhc3NePSdidG4nXTpmb2N1cywgW2NsYXNzXj0nYnRuJ106YWN0aXZlLFxuICBpbnB1dFt0eXBlPXN1Ym1pdF06aG92ZXIsXG4gIGlucHV0W3R5cGU9c3VibWl0XTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1zdWJtaXRdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1idXR0b25dOmhvdmVyLFxuICBpbnB1dFt0eXBlPWJ1dHRvbl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9YnV0dG9uXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9J3Jlc2V0J106aG92ZXIsXG4gIGlucHV0W3R5cGU9J3Jlc2V0J106Zm9jdXMsXG4gIGlucHV0W3R5cGU9J3Jlc2V0J106YWN0aXZlLFxuICBidXR0b246aG92ZXIsXG4gIGJ1dHRvbjpmb2N1cyxcbiAgYnV0dG9uOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLyogUHJpbWFyeSByZWQgYnV0dG9uICovXG4uYnRuLCAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC5idG5fYXJyb3csIC5idG5fd2hpdGVfYXJyb3csIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93LCAuYnRuX3doaXRlLCAuYnRuX3doaXRlX2JvcmRlciwgLmJ0bl9tZWRpYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZDUwMDU4O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1pbi13aWR0aDogMTc1cHg7XG4gIG1pbi13aWR0aDogMTAuOTM3NXJlbTtcbiAgbWFyZ2luOiAwIDEwcHggMTBweCAwO1xuICBtYXJnaW46IDAgMC42MjVyZW0gMC42MjVyZW0gMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2Utb3V0OyB9XG4gIC5idG46aG92ZXIsIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXTpob3ZlciwgLmJ0bl9hcnJvdzpob3ZlciwgLmJ0bl93aGl0ZV9hcnJvdzpob3ZlciwgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6aG92ZXIsIC5idG5fd2hpdGU6aG92ZXIsIC5idG5fd2hpdGVfYm9yZGVyOmhvdmVyLCAuYnRuX21lZGlhOmhvdmVyLCAuYnRuOmZvY3VzLCAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J106Zm9jdXMsIC5idG5fYXJyb3c6Zm9jdXMsIC5idG5fd2hpdGVfYXJyb3c6Zm9jdXMsIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmZvY3VzLCAuYnRuX3doaXRlOmZvY3VzLCAuYnRuX3doaXRlX2JvcmRlcjpmb2N1cywgLmJ0bl9tZWRpYTpmb2N1cywgLmJ0bjphY3RpdmUsIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXTphY3RpdmUsIC5idG5fYXJyb3c6YWN0aXZlLCAuYnRuX3doaXRlX2Fycm93OmFjdGl2ZSwgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6YWN0aXZlLCAuYnRuX3doaXRlOmFjdGl2ZSwgLmJ0bl93aGl0ZV9ib3JkZXI6YWN0aXZlLCAuYnRuX21lZGlhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuXG4uZnIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mciAuYnRuLCAuZnIgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLmZyIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuZnIgLmJ0bl9hcnJvdywgLmZyIC5idG5fd2hpdGVfYXJyb3csIC5mciAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmZyIC5idG5fd2hpdGUsIC5mciAuYnRuX3doaXRlX2JvcmRlciwgLmZyIC5idG5fbWVkaWEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogUmVkIGJ1dHRvbiB3aXRoIGFycm93ICovXG4uYnRuX2Fycm93LCAuYnRuX3doaXRlX2Fycm93LCAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdyB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5idG5fYXJyb3c6YWZ0ZXIsIC5idG5fd2hpdGVfYXJyb3c6YWZ0ZXIsIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1NnB4IC01MTJweDtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG4gICAgLm5vLXN2ZyAuYnRuX2Fycm93OmFmdGVyLCAubm8tc3ZnIC5idG5fd2hpdGVfYXJyb3c6YWZ0ZXIsIC5uby1zdmcgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4OyB9XG4gICAgLnN2ZyAuYnRuX2Fycm93OmFmdGVyLCAuc3ZnIC5idG5fd2hpdGVfYXJyb3c6YWZ0ZXIsIC5zdmcgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy13aGl0ZS1yaWdodC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuLyogV2hpdGUgYnV0dG9uICovXG4uYnRuX3doaXRlLCAuYnRuX3doaXRlX2JvcmRlciB7XG4gIGNvbG9yOiAjZDUwMDU4ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLmJ0bl93aGl0ZTpob3ZlciwgLmJ0bl93aGl0ZV9ib3JkZXI6aG92ZXIsIC5idG5fd2hpdGU6Zm9jdXMsIC5idG5fd2hpdGVfYm9yZGVyOmZvY3VzLCAuYnRuX3doaXRlOmFjdGl2ZSwgLmJ0bl93aGl0ZV9ib3JkZXI6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7IH1cbiAgICAudGhlbWVfcGluayAuYnRuX3doaXRlOmhvdmVyLCAudGhlbWVfcGluayAuYnRuX3doaXRlX2JvcmRlcjpob3ZlciwgLnRoZW1lX3BpbmsgLmJ0bl93aGl0ZTpmb2N1cywgLnRoZW1lX3BpbmsgLmJ0bl93aGl0ZV9ib3JkZXI6Zm9jdXMsIC50aGVtZV9waW5rIC5idG5fd2hpdGU6YWN0aXZlLCAudGhlbWVfcGluayAuYnRuX3doaXRlX2JvcmRlcjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuXG4vKiBXaGl0ZSBidXR0b24gKyBib3JkZXIgKi9cbi5idG5fd2hpdGVfYm9yZGVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2Q1MDA1ODtcbiAgcGFkZGluZy10b3A6IDE4cHg7XG4gIHBhZGRpbmctdG9wOiAxLjEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDE4cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTsgfVxuXG4vKiBXaGl0ZSBidXR0b24gKyBhcnJvdyAqL1xuLmJ0bl93aGl0ZV9hcnJvdywgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3cge1xuICBjb2xvcjogI2Q1MDA1ODtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5idG5fd2hpdGVfYXJyb3c6YWZ0ZXIsIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDtcbiAgICB3aWR0aDogMTdweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG4gICAgLm5vLXN2ZyAuYnRuX3doaXRlX2Fycm93OmFmdGVyLCAubm8tc3ZnIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDsgfVxuICAgIC5zdmcgLmJ0bl93aGl0ZV9hcnJvdzphZnRlciwgLnN2ZyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2Fycm93LXBpbmstcmlnaHQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5idG5fd2hpdGVfYXJyb3c6aG92ZXIsIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmhvdmVyLCAuYnRuX3doaXRlX2Fycm93OmZvY3VzLCAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzpmb2N1cywgLmJ0bl93aGl0ZV9hcnJvdzphY3RpdmUsIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1MDA1ODtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYnRuX3doaXRlX2Fycm93OmhvdmVyOmFmdGVyLCAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzpob3ZlcjphZnRlciwgLmJ0bl93aGl0ZV9hcnJvdzpmb2N1czphZnRlciwgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6Zm9jdXM6YWZ0ZXIsIC5idG5fd2hpdGVfYXJyb3c6YWN0aXZlOmFmdGVyLCAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1NnB4IC01MTJweDtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7IH1cbiAgICAgIC5uby1zdmcgLmJ0bl93aGl0ZV9hcnJvdzpob3ZlcjphZnRlciwgLm5vLXN2ZyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzpob3ZlcjphZnRlciwgLm5vLXN2ZyAuYnRuX3doaXRlX2Fycm93OmZvY3VzOmFmdGVyLCAubm8tc3ZnIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmZvY3VzOmFmdGVyLCAubm8tc3ZnIC5idG5fd2hpdGVfYXJyb3c6YWN0aXZlOmFmdGVyLCAubm8tc3ZnIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4OyB9XG4gICAgICAuc3ZnIC5idG5fd2hpdGVfYXJyb3c6aG92ZXI6YWZ0ZXIsIC5zdmcgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6aG92ZXI6YWZ0ZXIsIC5zdmcgLmJ0bl93aGl0ZV9hcnJvdzpmb2N1czphZnRlciwgLnN2ZyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzpmb2N1czphZnRlciwgLnN2ZyAuYnRuX3doaXRlX2Fycm93OmFjdGl2ZTphZnRlciwgLnN2ZyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2Fycm93LXdoaXRlLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi8qIFdoaXRlIGJ1dHRvbiArIGJvcmRlciArIGFycm93ICovXG4uYnRuX3doaXRlX2JvcmRlcl9hcnJvdyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkNTAwNTg7XG4gIHBhZGRpbmctdG9wOiAxOHB4O1xuICBwYWRkaW5nLXRvcDogMS4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH1cblxuLyogUERGIGRvd25sb2FkICovXG4uYnRuX2Rvd25sb2FkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkNTAwNTg7XG4gIHBhZGRpbmc6IDE4cHggNTBweCAyMHB4IDIwcHg7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDMuMTI1cmVtIDEuMjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5idG5fZG93bmxvYWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzk3cHggLTUyOHB4O1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTdweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTdweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC04LjVweDsgfVxuICAgIC5uby1zdmcgLmJ0bl9kb3dubG9hZDphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03OTdweCAtNTI4cHg7IH1cbiAgICAuc3ZnIC5idG5fZG93bmxvYWQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLXBpbmstZG93bmxvYWQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5idG5fZG93bmxvYWQ6aG92ZXIsIC5idG5fZG93bmxvYWQ6Zm9jdXMsIC5idG5fZG93bmxvYWQ6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5idG5fZG93bmxvYWQ6aG92ZXI6YWZ0ZXIsIC5idG5fZG93bmxvYWQ6Zm9jdXM6YWZ0ZXIsIC5idG5fZG93bmxvYWQ6YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03ODBweCAtNTI4cHg7XG4gICAgICB3aWR0aDogMTdweDtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCAxN3B4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHJpZ2h0OiAxOHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtOC41cHg7IH1cbiAgICAgIC5uby1zdmcgLmJ0bl9kb3dubG9hZDpob3ZlcjphZnRlciwgLm5vLXN2ZyAuYnRuX2Rvd25sb2FkOmZvY3VzOmFmdGVyLCAubm8tc3ZnIC5idG5fZG93bmxvYWQ6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03ODBweCAtNTI4cHg7IH1cbiAgICAgIC5zdmcgLmJ0bl9kb3dubG9hZDpob3ZlcjphZnRlciwgLnN2ZyAuYnRuX2Rvd25sb2FkOmZvY3VzOmFmdGVyLCAuc3ZnIC5idG5fZG93bmxvYWQ6YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9pY29uLXdoaXRlLWRvd25sb2FkLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC50aGVtZV9waW5rIC5idG5fZG93bmxvYWQge1xuICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAudGhlbWVfcGluayAuYnRuX2Rvd25sb2FkOmhvdmVyLCAudGhlbWVfcGluayAuYnRuX2Rvd25sb2FkOmZvY3VzLCAudGhlbWVfcGluayAuYnRuX2Rvd25sb2FkOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzAyM2Y7IH1cblxuLyogbWVkaWEgYnV0dG9uICovXG4uYnRuX21lZGlhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICNkNTAwNTg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctbGVmdDogNTJweDtcbiAgcGFkZGluZy1sZWZ0OiAzLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJ0bl9tZWRpYTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDUwMDU4OyB9XG4gIC5idG5fbWVkaWE6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgzMXB4IC01MjhweDtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IDE2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLThweDsgfVxuICAgIC5uby1zdmcgLmJ0bl9tZWRpYTpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODMxcHggLTUyOHB4OyB9XG4gICAgLnN2ZyAuYnRuX21lZGlhOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3BsYXkuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5idG5fbWVkaWE6aG92ZXIsIC5idG5fbWVkaWE6Zm9jdXMsIC5idG5fbWVkaWE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5idG5fbWVkaWE6aG92ZXI6YmVmb3JlLCAuYnRuX21lZGlhOmZvY3VzOmJlZm9yZSwgLmJ0bl9tZWRpYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03ODdweCAtNTEycHg7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMTVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtNy41cHg7IH1cbiAgICAgIC5uby1zdmcgLmJ0bl9tZWRpYTpob3ZlcjpiZWZvcmUsIC5uby1zdmcgLmJ0bl9tZWRpYTpmb2N1czpiZWZvcmUsIC5uby1zdmcgLmJ0bl9tZWRpYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03ODdweCAtNTEycHg7IH1cbiAgICAgIC5zdmcgLmJ0bl9tZWRpYTpob3ZlcjpiZWZvcmUsIC5zdmcgLmJ0bl9tZWRpYTpmb2N1czpiZWZvcmUsIC5zdmcgLmJ0bl9tZWRpYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wbGF5LXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLmJ0bl9tZWRpYTpob3ZlcjphZnRlciwgLmJ0bl9tZWRpYTpmb2N1czphZnRlciwgLmJ0bl9tZWRpYTphY3RpdmU6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmOyB9XG4gIC50aGVtZV9waW5rIC5idG5fbWVkaWE6aG92ZXIsIC50aGVtZV9waW5rIC5idG5fbWVkaWE6Zm9jdXMsIC50aGVtZV9waW5rIC5idG5fbWVkaWE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG5cbi5idG4uYnRuLXByb2ZpbGUsIC54Zm9ybSBpbnB1dC5idG4tcHJvZmlsZVt0eXBlPSdzdWJtaXQnXSwgLmJ0bi1wcm9maWxlLmJ0bl9hcnJvdywgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9hcnJvdywgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5idG4tcHJvZmlsZS5idG5fd2hpdGUsIC5idG4tcHJvZmlsZS5idG5fd2hpdGVfYm9yZGVyLCAuYnRuLXByb2ZpbGUuYnRuX21lZGlhIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM0ZDRkNGY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZGFlO1xuICBib3JkZXItcmFkaXVzOiA2MHB4O1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDEycHggMjBweCAxMnB4IDQ1cHg7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMS4yNXJlbSAwLjc1cmVtIDIuODEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5idG4uYnRuLXByb2ZpbGU6aG92ZXIsIC54Zm9ybSBpbnB1dC5idG4tcHJvZmlsZVt0eXBlPSdzdWJtaXQnXTpob3ZlciwgLmJ0bi1wcm9maWxlLmJ0bl9hcnJvdzpob3ZlciwgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9hcnJvdzpob3ZlciwgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6aG92ZXIsIC5idG4tcHJvZmlsZS5idG5fd2hpdGU6aG92ZXIsIC5idG4tcHJvZmlsZS5idG5fd2hpdGVfYm9yZGVyOmhvdmVyLCAuYnRuLXByb2ZpbGUuYnRuX21lZGlhOmhvdmVyLCAuYnRuLmJ0bi1wcm9maWxlOmZvY3VzLCAueGZvcm0gaW5wdXQuYnRuLXByb2ZpbGVbdHlwZT0nc3VibWl0J106Zm9jdXMsIC5idG4tcHJvZmlsZS5idG5fYXJyb3c6Zm9jdXMsIC5idG4tcHJvZmlsZS5idG5fd2hpdGVfYXJyb3c6Zm9jdXMsIC5idG4tcHJvZmlsZS5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmZvY3VzLCAuYnRuLXByb2ZpbGUuYnRuX3doaXRlOmZvY3VzLCAuYnRuLXByb2ZpbGUuYnRuX3doaXRlX2JvcmRlcjpmb2N1cywgLmJ0bi1wcm9maWxlLmJ0bl9tZWRpYTpmb2N1cywgLmJ0bi5idG4tcHJvZmlsZTphY3RpdmUsIC54Zm9ybSBpbnB1dC5idG4tcHJvZmlsZVt0eXBlPSdzdWJtaXQnXTphY3RpdmUsIC5idG4tcHJvZmlsZS5idG5fYXJyb3c6YWN0aXZlLCAuYnRuLXByb2ZpbGUuYnRuX3doaXRlX2Fycm93OmFjdGl2ZSwgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6YWN0aXZlLCAuYnRuLXByb2ZpbGUuYnRuX3doaXRlOmFjdGl2ZSwgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXI6YWN0aXZlLCAuYnRuLXByb2ZpbGUuYnRuX21lZGlhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNkNTAwNTg7IH1cbiAgLmJ0bi5idG4tcHJvZmlsZTpiZWZvcmUsIC54Zm9ybSBpbnB1dC5idG4tcHJvZmlsZVt0eXBlPSdzdWJtaXQnXTpiZWZvcmUsIC5idG4tcHJvZmlsZS5idG5fYXJyb3c6YmVmb3JlLCAuYnRuLXByb2ZpbGUuYnRuX3doaXRlX2Fycm93OmJlZm9yZSwgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6YmVmb3JlLCAuYnRuLXByb2ZpbGUuYnRuX3doaXRlOmJlZm9yZSwgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXI6YmVmb3JlLCAuYnRuLXByb2ZpbGUuYnRuX21lZGlhOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NTlweCAtNTI4cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbGVmdDogMTVweDtcbiAgICB0b3A6IDAuN2VtOyB9XG4gICAgLm5vLXN2ZyAuYnRuLmJ0bi1wcm9maWxlOmJlZm9yZSwgLm5vLXN2ZyAueGZvcm0gaW5wdXQuYnRuLXByb2ZpbGVbdHlwZT0nc3VibWl0J106YmVmb3JlLCAueGZvcm0gLm5vLXN2ZyBpbnB1dC5idG4tcHJvZmlsZVt0eXBlPSdzdWJtaXQnXTpiZWZvcmUsIC5uby1zdmcgLmJ0bi1wcm9maWxlLmJ0bl9hcnJvdzpiZWZvcmUsIC5uby1zdmcgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9hcnJvdzpiZWZvcmUsIC5uby1zdmcgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6YmVmb3JlLCAubm8tc3ZnIC5idG4tcHJvZmlsZS5idG5fd2hpdGU6YmVmb3JlLCAubm8tc3ZnIC5idG4tcHJvZmlsZS5idG5fd2hpdGVfYm9yZGVyOmJlZm9yZSwgLm5vLXN2ZyAuYnRuLXByb2ZpbGUuYnRuX21lZGlhOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NTlweCAtNTI4cHg7IH1cbiAgICAuc3ZnIC5idG4uYnRuLXByb2ZpbGU6YmVmb3JlLCAuc3ZnIC54Zm9ybSBpbnB1dC5idG4tcHJvZmlsZVt0eXBlPSdzdWJtaXQnXTpiZWZvcmUsIC54Zm9ybSAuc3ZnIGlucHV0LmJ0bi1wcm9maWxlW3R5cGU9J3N1Ym1pdCddOmJlZm9yZSwgLnN2ZyAuYnRuLXByb2ZpbGUuYnRuX2Fycm93OmJlZm9yZSwgLnN2ZyAuYnRuLXByb2ZpbGUuYnRuX3doaXRlX2Fycm93OmJlZm9yZSwgLnN2ZyAuYnRuLXByb2ZpbGUuYnRuX3doaXRlX2JvcmRlcl9hcnJvdzpiZWZvcmUsIC5zdmcgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZTpiZWZvcmUsIC5zdmcgLmJ0bi1wcm9maWxlLmJ0bl93aGl0ZV9ib3JkZXI6YmVmb3JlLCAuc3ZnIC5idG4tcHJvZmlsZS5idG5fbWVkaWE6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1hY2NvdW50LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICBbY2xhc3NePSdidG4nXSxcbiAgaW5wdXRbdHlwZT1zdWJtaXRdLFxuICBpbnB1dFt0eXBlPWJ1dHRvbl0sXG4gIGlucHV0W3R5cGU9J3Jlc2V0J10sXG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfSB9XG5cbmEuY3RhLCAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG4ge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNkNTAwNTg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIGEuY3RhOmhvdmVyLCAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG46aG92ZXIsIGEuY3RhOmFjdGl2ZSwgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFjdGl2ZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYS5jdGE6YWZ0ZXIsIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWJ0bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MjJweCAtNTEycHg7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCAxNnB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLThweDsgfVxuICAgIC5uby1zdmcgYS5jdGE6YWZ0ZXIsIC5uby1zdmcgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDsgfVxuICAgIC5zdmcgYS5jdGE6YWZ0ZXIsIC5zdmcgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3ctcGluay1yaWdodC5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuLyogaW4gdGhlbWVzICovXG5bY2xhc3MqPSd0aGVtZV9wbHVtJ10gYS5jdGEsIFtjbGFzcyo9J3RoZW1lX3BsdW0nXSAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG4sXG5bY2xhc3MqPSd0aGVtZV9waW5rJ10gYS5jdGEsXG5bY2xhc3MqPSd0aGVtZV9waW5rJ10gLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuLFxuW2NsYXNzKj0ndGhlbWVfYnJvd24nXSBhLmN0YSxcbltjbGFzcyo9J3RoZW1lX2Jyb3duJ10gLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuLFxuW2NsYXNzKj0ndGhlbWVfYmx1ZSddIGEuY3RhLFxuW2NsYXNzKj0ndGhlbWVfYmx1ZSddIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWJ0biB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgW2NsYXNzKj0ndGhlbWVfcGx1bSddIGEuY3RhOmFmdGVyLCBbY2xhc3MqPSd0aGVtZV9wbHVtJ10gLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFmdGVyLFxuICBbY2xhc3MqPSd0aGVtZV9waW5rJ10gYS5jdGE6YWZ0ZXIsXG4gIFtjbGFzcyo9J3RoZW1lX3BpbmsnXSAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG46YWZ0ZXIsXG4gIFtjbGFzcyo9J3RoZW1lX2Jyb3duJ10gYS5jdGE6YWZ0ZXIsXG4gIFtjbGFzcyo9J3RoZW1lX2Jyb3duJ10gLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFmdGVyLFxuICBbY2xhc3MqPSd0aGVtZV9ibHVlJ10gYS5jdGE6YWZ0ZXIsXG4gIFtjbGFzcyo9J3RoZW1lX2JsdWUnXSAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG46YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4O1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC04cHg7IH1cbiAgICAubm8tc3ZnIFtjbGFzcyo9J3RoZW1lX3BsdW0nXSBhLmN0YTphZnRlciwgLm5vLXN2ZyBbY2xhc3MqPSd0aGVtZV9wbHVtJ10gLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFmdGVyLCAubm8tc3ZnXG4gICAgW2NsYXNzKj0ndGhlbWVfcGluayddIGEuY3RhOmFmdGVyLCAubm8tc3ZnXG4gICAgW2NsYXNzKj0ndGhlbWVfcGluayddIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWJ0bjphZnRlciwgLm5vLXN2Z1xuICAgIFtjbGFzcyo9J3RoZW1lX2Jyb3duJ10gYS5jdGE6YWZ0ZXIsIC5uby1zdmdcbiAgICBbY2xhc3MqPSd0aGVtZV9icm93biddIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWJ0bjphZnRlciwgLm5vLXN2Z1xuICAgIFtjbGFzcyo9J3RoZW1lX2JsdWUnXSBhLmN0YTphZnRlciwgLm5vLXN2Z1xuICAgIFtjbGFzcyo9J3RoZW1lX2JsdWUnXSAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG46YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4OyB9XG4gICAgLnN2ZyBbY2xhc3MqPSd0aGVtZV9wbHVtJ10gYS5jdGE6YWZ0ZXIsIC5zdmcgW2NsYXNzKj0ndGhlbWVfcGx1bSddIC5oZWFkZXItbmF2LXByb21vcy1pdGVtLWJ0bjphZnRlciwgLnN2Z1xuICAgIFtjbGFzcyo9J3RoZW1lX3BpbmsnXSBhLmN0YTphZnRlciwgLnN2Z1xuICAgIFtjbGFzcyo9J3RoZW1lX3BpbmsnXSAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG46YWZ0ZXIsIC5zdmdcbiAgICBbY2xhc3MqPSd0aGVtZV9icm93biddIGEuY3RhOmFmdGVyLCAuc3ZnXG4gICAgW2NsYXNzKj0ndGhlbWVfYnJvd24nXSAuaGVhZGVyLW5hdi1wcm9tb3MtaXRlbS1idG46YWZ0ZXIsIC5zdmdcbiAgICBbY2xhc3MqPSd0aGVtZV9ibHVlJ10gYS5jdGE6YWZ0ZXIsIC5zdmdcbiAgICBbY2xhc3MqPSd0aGVtZV9ibHVlJ10gLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3ctd2hpdGUtcmlnaHQuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi8qIFRIRU1FUyBtaXhpbiAqL1xuLnF1b3RlLnRoZW1lX2dyZXkge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVmOyB9XG4gIC5xdW90ZS50aGVtZV9ncmV5IGJsb2NrcXVvdGUge1xuICAgIGNvbG9yOiAjZDUwMDU4OyB9XG4gIC5xdW90ZS50aGVtZV9ncmV5IGNpdGUge1xuICAgIGNvbG9yOiAjNGQ0ZDRmOyB9XG4gIC5xdW90ZS50aGVtZV9ncmV5IC5idG4sIC5xdW90ZS50aGVtZV9ncmV5IC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnhmb3JtIC5xdW90ZS50aGVtZV9ncmV5IGlucHV0W3R5cGU9J3N1Ym1pdCddLCAucXVvdGUudGhlbWVfZ3JleSAuYnRuX2Fycm93LCAucXVvdGUudGhlbWVfZ3JleSAuYnRuX3doaXRlX2Fycm93LCAucXVvdGUudGhlbWVfZ3JleSAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl93aGl0ZSwgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl93aGl0ZV9ib3JkZXIsIC5xdW90ZS50aGVtZV9ncmV5IC5idG5fbWVkaWEge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICNkNTAwNTg7IH1cbiAgICAucXVvdGUudGhlbWVfZ3JleSAuYnRuOmhvdmVyLCAucXVvdGUudGhlbWVfZ3JleSAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J106aG92ZXIsIC54Zm9ybSAucXVvdGUudGhlbWVfZ3JleSBpbnB1dFt0eXBlPSdzdWJtaXQnXTpob3ZlciwgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl9hcnJvdzpob3ZlciwgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl93aGl0ZV9hcnJvdzpob3ZlciwgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6aG92ZXIsIC5xdW90ZS50aGVtZV9ncmV5IC5idG5fd2hpdGU6aG92ZXIsIC5xdW90ZS50aGVtZV9ncmV5IC5idG5fd2hpdGVfYm9yZGVyOmhvdmVyLCAucXVvdGUudGhlbWVfZ3JleSAuYnRuX21lZGlhOmhvdmVyLCAucXVvdGUudGhlbWVfZ3JleSAuYnRuOmZvY3VzLCAucXVvdGUudGhlbWVfZ3JleSAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J106Zm9jdXMsIC54Zm9ybSAucXVvdGUudGhlbWVfZ3JleSBpbnB1dFt0eXBlPSdzdWJtaXQnXTpmb2N1cywgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl9hcnJvdzpmb2N1cywgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl93aGl0ZV9hcnJvdzpmb2N1cywgLnF1b3RlLnRoZW1lX2dyZXkgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3c6Zm9jdXMsIC5xdW90ZS50aGVtZV9ncmV5IC5idG5fd2hpdGU6Zm9jdXMsIC5xdW90ZS50aGVtZV9ncmV5IC5idG5fd2hpdGVfYm9yZGVyOmZvY3VzLCAucXVvdGUudGhlbWVfZ3JleSAuYnRuX21lZGlhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkNTAwNTg7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBzdHlsZSAqL1xuLnF1b3RlIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzAyM2Y7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnF1b3RlID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucXVvdGUge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5xdW90ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnF1b3RlLWltZyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAucXVvdGUgYmxvY2txdW90ZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAucXVvdGUgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2VvcmdpYVwiLCBcIlRpbWVzXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgICAgY29udGVudDogXCLigJxcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICNkNTAwNTg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICBmb250LXNpemU6IDcycHg7XG4gICAgICBmb250LXNpemU6IDQuNXJlbTsgfVxuICAgIC5xdW90ZSBibG9ja3F1b3RlIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2VvcmdpYVwiLCBcIlRpbWVzXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgICAucXVvdGUgYmxvY2txdW90ZSAucXVvdGUtY2l0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5xdW90ZSBibG9ja3F1b3RlIGNpdGUgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnF1b3RlIGJsb2NrcXVvdGUgLmJ0bjpob3ZlciwgLnF1b3RlIGJsb2NrcXVvdGUgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddOmhvdmVyLCAueGZvcm0gLnF1b3RlIGJsb2NrcXVvdGUgaW5wdXRbdHlwZT0nc3VibWl0J106aG92ZXIsIC5xdW90ZSBibG9ja3F1b3RlIC5idG5fYXJyb3c6aG92ZXIsIC5xdW90ZSBibG9ja3F1b3RlIC5idG5fd2hpdGVfYXJyb3c6aG92ZXIsIC5xdW90ZSBibG9ja3F1b3RlIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmhvdmVyLCAucXVvdGUgYmxvY2txdW90ZSAuYnRuX3doaXRlOmhvdmVyLCAucXVvdGUgYmxvY2txdW90ZSAuYnRuX3doaXRlX2JvcmRlcjpob3ZlciwgLnF1b3RlIGJsb2NrcXVvdGUgLmJ0bl9tZWRpYTpob3ZlcixcbiAgICAucXVvdGUgYmxvY2txdW90ZSAuYnRuOmZvY3VzLFxuICAgIC5xdW90ZSBibG9ja3F1b3RlIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXTpmb2N1cywgLnhmb3JtXG4gICAgLnF1b3RlIGJsb2NrcXVvdGUgaW5wdXRbdHlwZT0nc3VibWl0J106Zm9jdXMsXG4gICAgLnF1b3RlIGJsb2NrcXVvdGUgLmJ0bl9hcnJvdzpmb2N1cyxcbiAgICAucXVvdGUgYmxvY2txdW90ZSAuYnRuX3doaXRlX2Fycm93OmZvY3VzLFxuICAgIC5xdW90ZSBibG9ja3F1b3RlIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmZvY3VzLFxuICAgIC5xdW90ZSBibG9ja3F1b3RlIC5idG5fd2hpdGU6Zm9jdXMsXG4gICAgLnF1b3RlIGJsb2NrcXVvdGUgLmJ0bl93aGl0ZV9ib3JkZXI6Zm9jdXMsXG4gICAgLnF1b3RlIGJsb2NrcXVvdGUgLmJ0bl9tZWRpYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnF1b3RlIFtjbGFzc149J2J0biddLFxuICAucXVvdGUgLmN0YSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5jaGVja2xpc3Qge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5jaGVja2xpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5jaGVja2xpc3QtdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrbGlzdC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmNoZWNrbGlzdC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDEuODc1cmVtOyB9IH1cbiAgLmNoZWNrbGlzdC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuY2hlY2tsaXN0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuICAuY2hlY2tsaXN0LW5hdiB7XG4gICAgY291bnRlci1yZXNldDogbXktY291bnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmNoZWNrbGlzdC1uYXYtaXRlbSB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBteS1jb3VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QwZDBkMTtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAyNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDAuOTM3NXJlbSAxLjU2MjVyZW07XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgLmNoZWNrbGlzdC1uYXYtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAuY2hlY2tsaXN0LW5hdi1pdGVtOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBjb3VudGVycyhteS1jb3VudGVyLCBcIi5cIik7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuY2hlY2tsaXN0LW5hdi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuY2hlY2tsaXN0LW5hdi1saW5rOmhvdmVyLCAuY2hlY2tsaXN0LW5hdi1saW5rOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIGRlZmF1bHQgc3R5bGluZyAqL1xuLmxpbmtHcm91cCB7XG4gIGNsZWFyOiBib3RoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmxpbmtHcm91cCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLmxpbmtHcm91cC10aXRsZSB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubGlua0dyb3VwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgICAubGlua0dyb3VwLXRpdGxlIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAubGlua0dyb3VwLXRpdGxlIGE6aG92ZXIsIC5saW5rR3JvdXAtdGl0bGUgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5saW5rR3JvdXAtdGl0bGUgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDtcbiAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDsgfVxuICAgICAgICAubm8tc3ZnIC5saW5rR3JvdXAtdGl0bGUgYTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDsgfVxuICAgICAgICAuc3ZnIC5saW5rR3JvdXAtdGl0bGUgYTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy1waW5rLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAgIC50aGVtZV9waW5rIC5saW5rR3JvdXAtdGl0bGUgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLnRoZW1lX3BpbmsgLmxpbmtHcm91cC10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1NnB4IC01MTJweDtcbiAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG4gICAgICAgICAgLm5vLXN2ZyAudGhlbWVfcGluayAubGlua0dyb3VwLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4OyB9XG4gICAgICAgICAgLnN2ZyAudGhlbWVfcGluayAubGlua0dyb3VwLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy13aGl0ZS1yaWdodC5zdmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmxpbmtHcm91cC1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLmxpbmtHcm91cC1uYXYge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubGlua0dyb3VwLW5hdi1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDBkMGQxOyB9XG4gICAgLmxpbmtHcm91cC1uYXYtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxOyB9XG4gICAgICAubGlua0dyb3VwLW5hdi1pdGVtOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubC1jb2wtNjAgLmxpbmtHcm91cC1uYXYtaXRlbTpudGgtbGFzdC1jaGlsZCgtbisyKSxcbiAgICAgIC5sLWNvbC0xMDAgLmxpbmtHcm91cC1uYXYtaXRlbTpudGgtbGFzdC1jaGlsZCgtbisyKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxOyB9XG4gICAgICAubC1jb2wtNjAgLmxpbmtHcm91cC1uYXYtaXRlbSB7XG4gICAgICAgIHdpZHRoOiA0Ny44MjYwODY5NiU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogNC4zNDc4MjYwOSU7IH1cbiAgICAgICAgLmwtY29sLTYwIC5saW5rR3JvdXAtbmF2LWl0ZW06bnRoLW9mLXR5cGUoMm4gKyAxKSB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5sLWNvbF8xMDAgLmxpbmtHcm91cC1uYXYtaXRlbSB7XG4gICAgICAgIHdpZHRoOiA0OC41NzE0Mjg1NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMi44NTcxNDI4NiU7IH1cbiAgICAgICAgLmwtY29sXzEwMCAubGlua0dyb3VwLW5hdi1pdGVtOm50aC1vZi10eXBlKDJuICsgMSkge1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgLmxpbmtHcm91cC1uYXYtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saW5rR3JvdXAtbmF2LWxpbms6aG92ZXIsIC5saW5rR3JvdXAtbmF2LWxpbms6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubGlua0dyb3VwLW5hdi1saW5rOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02MjJweCAtNTEycHg7XG4gICAgICB3aWR0aDogMTdweDtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4OyB9XG4gICAgICAubm8tc3ZnIC5saW5rR3JvdXAtbmF2LWxpbms6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDsgfVxuICAgICAgLnN2ZyAubGlua0dyb3VwLW5hdi1saW5rOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy1waW5rLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5saW5rR3JvdXAtbmF2LWl0ZW06bGFzdC1jaGlsZCAubGlua0dyb3VwLW5hdi1saW5rIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4vKiBpY29uIGltYWdlcyAqL1xuLmxpbmtHcm91cF9pY29ucyAubGlua0dyb3VwLW5hdi1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5saW5rR3JvdXBfaWNvbnMgLmxpbmtHcm91cC1uYXYtbGluayB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfVxuXG4ubGlua0dyb3VwX2ljb25zIC5saW5rR3JvdXAtaWNvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDE0cHg7XG4gIHRvcDogMC44NzVyZW07IH1cblxuLyogVEhFTUVTIG1peGluICovXG4ubGlua0dyb3VwLnRoZW1lX2dyZXkge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVmO1xuICBjb2xvcjogXCJcIjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5saW5rR3JvdXAudGhlbWVfZ3JleSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmxpbmtHcm91cC50aGVtZV9ncmV5IHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5saW5rR3JvdXAudGhlbWVfZ3JleSAubGlua0dyb3VwLW5hdi1saW5rLFxuICAubGlua0dyb3VwLnRoZW1lX2dyZXkgLmxpbmtHcm91cC10aXRsZSB7XG4gICAgY29sb3I6IFwiXCI7IH1cblxuLmxpbmtHcm91cC50aGVtZV9waW5rIHtcbiAgYmFja2dyb3VuZDogI2Q1MDA1ODtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAubGlua0dyb3VwLnRoZW1lX3BpbmsgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5saW5rR3JvdXAudGhlbWVfcGluayB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAubGlua0dyb3VwLnRoZW1lX3BpbmsgLmxpbmtHcm91cC1uYXYtbGluayxcbiAgLmxpbmtHcm91cC50aGVtZV9waW5rIC5saW5rR3JvdXAtdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5saW5rR3JvdXAudGhlbWVfcGluayAubGlua0dyb3VwLW5hdi1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubGlua0dyb3VwLnRoZW1lX3BpbmsgLmxpbmtHcm91cC1uYXYtbGluazphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4O1xuICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTZweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLThweDsgfVxuICAgICAgLm5vLXN2ZyAubGlua0dyb3VwLnRoZW1lX3BpbmsgLmxpbmtHcm91cC1uYXYtbGluazphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjU2cHggLTUxMnB4OyB9XG4gICAgICAuc3ZnIC5saW5rR3JvdXAudGhlbWVfcGluayAubGlua0dyb3VwLW5hdi1saW5rOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy13aGl0ZS1yaWdodC5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuXG4ubGlua0dyb3VwLnRoZW1lX2dyZWVuLXRpbnQge1xuICBiYWNrZ3JvdW5kOiAjZWZmOWY4O1xuICBjb2xvcjogXCJcIjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5saW5rR3JvdXAudGhlbWVfZ3JlZW4tdGludCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmxpbmtHcm91cC50aGVtZV9ncmVlbi10aW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5saW5rR3JvdXAudGhlbWVfZ3JlZW4tdGludCAubGlua0dyb3VwLW5hdi1saW5rLFxuICAubGlua0dyb3VwLnRoZW1lX2dyZWVuLXRpbnQgLmxpbmtHcm91cC10aXRsZSB7XG4gICAgY29sb3I6IFwiXCI7IH1cblxuLyogVG9vbHMgaWNvbnMgKi9cbi5pY29uIHtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTsgfVxuICAuaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IC0xMnB4O1xuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvYXNzZXRzL3Rvb2xzLXNwcml0ZS5wbmcpOyB9XG4gIC5pY29uLmljb25fY2FsYzpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTFweDsgfVxuICAuaWNvbi5pY29uX2Nvbm5lY3Q6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNHB4OyB9XG4gIC5pY29uLmljb25fc3R1ZHk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00OHB4OyB9XG5cbi50ZXh0Q29sb3VyQmxvY2sge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC50ZXh0Q29sb3VyQmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC50ZXh0Q29sb3VyQmxvY2sgPiBoMiwgLnRleHRDb2xvdXJCbG9jayA+IGgzIHtcbiAgICBjb2xvcjogI2Q1MDA1ODsgfVxuXG4vKiBUSEVNRVMgbWl4aW4gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYxLjE4OGVtKSB7XG4gIC5sLXJvdy0xMDAgLnRleHRDb2xvdXJCbG9jay50aGVtZV93aGl0ZSA+IC53eXNpd3lnLCAubC1yb3ctMTAwIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfd2hpdGUgPiAudGV4dENvbG91ckJsb2NrIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5sLXJvdy0xMDAgLnRleHRDb2xvdXJCbG9jay50aGVtZV93aGl0ZSA+IC53eXNpd3lnID4gKjpsYXN0LWNoaWxkLCAubC1yb3ctMTAwIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfd2hpdGUgPiAudGV4dENvbG91ckJsb2NrID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MS4xODhlbSkgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAubC1yb3ctMTAwIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfd2hpdGUgPiAud3lzaXd5ZywgLmwtcm93LTEwMCAudGV4dENvbG91ckJsb2NrLnRoZW1lX3doaXRlID4gLnRleHRDb2xvdXJCbG9jayB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC5sLXJvdy0xMDAgLnRleHRDb2xvdXJCbG9jayB7XG4gICAgcGFkZGluZzogMzBweCAxMCUgIWltcG9ydGFudDsgfVxuICAgIC5sLXJvdy0xMDAgLnRleHRDb2xvdXJCbG9jay50aGVtZV93aGl0ZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9IH1cblxuLnRleHRDb2xvdXJCbG9jay50aGVtZV9ncmV5IHtcbiAgYmFja2dyb3VuZDogI2VlZWVlZjtcbiAgY29sb3I6IFwiXCI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAudGV4dENvbG91ckJsb2NrLnRoZW1lX2dyZXkgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfZ3JleSB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAudGV4dENvbG91ckJsb2NrLnRoZW1lX2dyZXkgPiBoMiwgLnRleHRDb2xvdXJCbG9jay50aGVtZV9ncmV5ID4gaDMge1xuICAgIGNvbG9yOiBcIlwiOyB9XG5cbi50ZXh0Q29sb3VyQmxvY2sudGhlbWVfcGluayB7XG4gIGJhY2tncm91bmQ6ICNkNTAwNTg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9waW5rID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAudGV4dENvbG91ckJsb2NrLnRoZW1lX3Bpbmsge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9waW5rID4gaDIsIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfcGluayA+IGgzIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4udGV4dENvbG91ckJsb2NrLnRoZW1lX3BsdW0ge1xuICBiYWNrZ3JvdW5kOiAjNzcwMjNmO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfcGx1bSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9wbHVtIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfcGx1bSA+IGgyLCAudGV4dENvbG91ckJsb2NrLnRoZW1lX3BsdW0gPiBoMyB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnRleHRDb2xvdXJCbG9jay50aGVtZV9icm93biB7XG4gIGJhY2tncm91bmQ6ICM3YjZhNWQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9icm93biA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9icm93biB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAudGV4dENvbG91ckJsb2NrLnRoZW1lX2Jyb3duID4gaDIsIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfYnJvd24gPiBoMyB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnRleHRDb2xvdXJCbG9jay50aGVtZV9icm93bi10aW50IHtcbiAgYmFja2dyb3VuZDogI2ZiZjRlYTtcbiAgY29sb3I6IFwiXCI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAudGV4dENvbG91ckJsb2NrLnRoZW1lX2Jyb3duLXRpbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfYnJvd24tdGludCB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAudGV4dENvbG91ckJsb2NrLnRoZW1lX2Jyb3duLXRpbnQgPiBoMiwgLnRleHRDb2xvdXJCbG9jay50aGVtZV9icm93bi10aW50ID4gaDMge1xuICAgIGNvbG9yOiBcIlwiOyB9XG5cbi50ZXh0Q29sb3VyQmxvY2sudGhlbWVfZ3JlZW4tdGludCB7XG4gIGJhY2tncm91bmQ6ICNlZmY5Zjg7XG4gIGNvbG9yOiBcIlwiO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9ncmVlbi10aW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAudGV4dENvbG91ckJsb2NrLnRoZW1lX2dyZWVuLXRpbnQge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgLnRleHRDb2xvdXJCbG9jay50aGVtZV9ncmVlbi10aW50ID4gaDIsIC50ZXh0Q29sb3VyQmxvY2sudGhlbWVfZ3JlZW4tdGludCA+IGgzIHtcbiAgICBjb2xvcjogXCJcIjsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAudGV4dENvbG91ckJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAudGV4dENvbG91ckJsb2NrICoge1xuICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIEJMT0NLIHN0eWxlICovXG4udGV4dEJsb2NrQXNpZGUge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAudGV4dEJsb2NrQXNpZGUgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC50ZXh0QmxvY2tBc2lkZSB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnRleHRCbG9ja0FzaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAudGV4dEJsb2NrQXNpZGUubm9Cb3R0b21NYXJnaW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRleHRCbG9ja0FzaWRlIGgzIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC50ZXh0QmxvY2tBc2lkZS10ZXh0ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50ZXh0QmxvY2tBc2lkZS50aGVtZV9ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG4gICAgLnRleHRCbG9ja0FzaWRlLnRoZW1lX2dyZXkgLnRleHRCbG9ja0FzaWRlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZDUwMDU4OyB9XG4gIC50ZXh0QmxvY2tBc2lkZS50aGVtZV9waW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnRleHRCbG9ja0FzaWRlLnRoZW1lX3BpbmsgYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4udGV4dEJsb2NrQXNpZGVfcHJpbWFyeSAudGV4dEJsb2NrQXNpZGUtdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50ZXh0QmxvY2tBc2lkZV9wcmltYXJ5IC50ZXh0QmxvY2tBc2lkZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi8qIEJMT0NLIHN0eWxlICovXG4ucGRmRG93bmxvYWRCbG9jayB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5wZGZEb3dubG9hZEJsb2NrID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucGRmRG93bmxvYWRCbG9jayB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnBkZkRvd25sb2FkQmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5wZGZEb3dubG9hZEJsb2NrLXRleHQgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBkZkRvd25sb2FkQmxvY2stdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGRmRG93bmxvYWRCbG9jay10aXRsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxNXB4IC01NjJweDtcbiAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0MnB4IDQycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTIxcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC5wZGZEb3dubG9hZEJsb2NrLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzE1cHggLTU2MnB4OyB9XG4gICAgICAuc3ZnIC5wZGZEb3dubG9hZEJsb2NrLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1wZGYuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLnBkZkRvd25sb2FkQmxvY2sudGhlbWVfZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjsgfVxuICAgIC5wZGZEb3dubG9hZEJsb2NrLnRoZW1lX2dyZXkgLnBkZkRvd25sb2FkQmxvY2stdGl0bGUge1xuICAgICAgY29sb3I6ICNkNTAwNTg7IH1cbiAgLnBkZkRvd25sb2FkQmxvY2sudGhlbWVfcGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1MDA1ODtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGRmRG93bmxvYWRCbG9ja19wcmltYXJ5IC5wZGZEb3dubG9hZEJsb2NrLXRpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRmRG93bmxvYWRCbG9ja19wcmltYXJ5IC5wZGZEb3dubG9hZEJsb2NrLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLyogZGVmYXVsdCBzdHlsaW5nICovXG4ucHJvbW8ge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5wcm9tbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnByb21vLWZpZ3VyZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvbW8tdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgLnByb21vLXRleHQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5wcm9tby10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAucHJvbW8tdGV4dC1pbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIC5wcm9tby10ZXh0LWlubmVyID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnByb21vLXRpdGxlIHtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9tby10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi8qIFRIRU1FUyBtaXhpbiAqL1xuLnByb21vLnRoZW1lX2dyZXkge1xuICBiYWNrZ3JvdW5kOiAjZWVlZWVmO1xuICBjb2xvcjogXCJcIjsgfVxuICAucHJvbW8udGhlbWVfZ3JleSAucHJvbW8tdGl0bGUge1xuICAgIGNvbG9yOiBcIlwiOyB9XG5cbi5wcm9tby50aGVtZV9wdXJwbGUge1xuICBiYWNrZ3JvdW5kOiAjOTkzYzhlO1xuICBjb2xvcjogI2ZmZjsgfVxuICAucHJvbW8udGhlbWVfcHVycGxlIC5wcm9tby10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnByb21vLnRoZW1lX2Jyb3duLXRpbnQge1xuICBiYWNrZ3JvdW5kOiAjZmJmNGVhO1xuICBjb2xvcjogXCJcIjsgfVxuICAucHJvbW8udGhlbWVfYnJvd24tdGludCAucHJvbW8tdGl0bGUge1xuICAgIGNvbG9yOiBcIlwiOyB9XG5cbi5wcm9tby50aGVtZV9ncmVlbi10aW50IHtcbiAgYmFja2dyb3VuZDogI2VmZjlmODtcbiAgY29sb3I6IFwiXCI7IH1cbiAgLnByb21vLnRoZW1lX2dyZWVuLXRpbnQgLnByb21vLXRpdGxlIHtcbiAgICBjb2xvcjogXCJcIjsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAucHJvbW8gW2NsYXNzXj0nYnRuJ10sXG4gIC5wcm9tbyAuY3RhIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnByb21vMiB7XG4gIGNsZWFyOiBib3RoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucHJvbW8yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAucHJvbW8yIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wcm9tbzItY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdiNmE1ZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5wcm9tbzItY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLnByb21vMi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAucHJvbW8yLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHJvbW8yLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5wcm9tbzItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG4gIC5wcm9tbzItc3VidGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByb21vMi1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5wcm9tbzItZmlndXJlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5wcm9tbzItZmlndXJlIGltZyB7XG4gICAgICAgIG1pbi13aWR0aDogNTAwcHg7IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5wcm9tbzItZmlndXJlIGltZyB7XG4gICAgICAgIG1pbi13aWR0aDogNzAwcHg7IH0gfVxuICAucHJvbW8yLWxvZ28ge1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnByb21vMi1sb2dvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAucHJvbW8yLWZpZ3VyZSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgIC5wcm9tbzItY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC02MHB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgICAgLnByb21vMi1jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucHJvbW8yLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcm9tbzItZmlndXJlIHtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAucHJvbW8yLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucHJvbW8yLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTUlOyB9IH1cblxuLyogVEhFTUVTIG1peGluICovXG4ucHJvbW8yLnRoZW1lX2JsdWUgLnByb21vMi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzE2OTBjOTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAucHJvbW8yIHtcbiAgICBkaXNsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnByb21vMi1maWd1cmUsIC5wcm9tbzItY29udGVudCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLnByb21vMi1sb2dvLFxuICAgIC5wcm9tbzIgW2NsYXNzXj0nYnRuJ10ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZXJvSG9tZSB7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICBtYXJnaW46IDE1cHg7XG4gIG1hcmdpbjogMC45Mzc1cmVtO1xuICBtYXgtd2lkdGg6IDUyMHB4O1xuICBtYXgtd2lkdGg6IDMyLjVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZXJvSG9tZSB7XG4gICAgICBtYXJnaW46IDQwcHggMTVweCA0MHB4IDA7XG4gICAgICBtYXJnaW46IDIuNXJlbSAwLjkzNzVyZW0gMi41cmVtIDA7IH0gfVxuICAuaGVyb0hvbWUtdGV4dCB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVyb0hvbWUtdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAuaGVyb0hvbWUtdGV4dCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5oZXJvSG9tZS10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVyb0hvbWUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmhlcm9Ib21lLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgICBmb250LXNpemU6IDIuODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuICAuaGVyb0hvbWUgLmJ0bl93aGl0ZTpob3ZlciwgLmhlcm9Ib21lIC5idG5fd2hpdGVfYm9yZGVyOmhvdmVyLCAuaGVyb0hvbWUgLmJ0bl93aGl0ZTpmb2N1cywgLmhlcm9Ib21lIC5idG5fd2hpdGVfYm9yZGVyOmZvY3VzLCAuaGVyb0hvbWUgLmJ0bl93aGl0ZTphY3RpdmUsIC5oZXJvSG9tZSAuYnRuX3doaXRlX2JvcmRlcjphY3RpdmUsXG4gIC5oZXJvSG9tZSAuYnRuX21lZGlhOmhvdmVyLFxuICAuaGVyb0hvbWUgLmJ0bl9tZWRpYTpmb2N1cyxcbiAgLmhlcm9Ib21lIC5idG5fbWVkaWE6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5oZXJvSG9tZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAuaGVyb0hvbWUtdGV4dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmhlcm9Ib21lIGFbY2xhc3NePSdidG4nXSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlcm9IdWIge1xuICBjbGVhcjogYm90aDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICBtYXJnaW46IDE1cHg7XG4gIG1hcmdpbjogMC45Mzc1cmVtO1xuICBtYXgtd2lkdGg6IDQ0MHB4O1xuICBtYXgtd2lkdGg6IDI3LjVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZXJvSHViIHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDQwcHggMTVweDtcbiAgICAgIG1hcmdpbjogMi41cmVtIDAgMi41cmVtIDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuaGVyb0h1YiB7XG4gICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgbWF4LXdpZHRoOiAzMi41cmVtOyB9IH1cbiAgLmhlcm9IdWItdGV4dCB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVyb0h1Yi10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAgIC5oZXJvSHViLXRleHQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaGVyb0h1Yi10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVyb0h1Yi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuaGVyb0h1Yi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9IH1cbiAgLmhlcm9IdWIgLmJ0bl93aGl0ZTpob3ZlciwgLmhlcm9IdWIgLmJ0bl93aGl0ZV9ib3JkZXI6aG92ZXIsIC5oZXJvSHViIC5idG5fd2hpdGU6Zm9jdXMsIC5oZXJvSHViIC5idG5fd2hpdGVfYm9yZGVyOmZvY3VzLCAuaGVyb0h1YiAuYnRuX3doaXRlOmFjdGl2ZSwgLmhlcm9IdWIgLmJ0bl93aGl0ZV9ib3JkZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5oZXJvSHViIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7IH1cbiAgICAuaGVyb0h1YiBbY2xhc3NePSdidG4nXSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmhlcm9IdWItdGV4dCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLyogSGVhZGVyICovXG4uaGVyb0V2ZW50c0hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuaGVyb0V2ZW50c0hlYWRlciA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmhlcm9FdmVudHNIZWFkZXIge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5oZXJvRXZlbnRzSGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhlcm9FdmVudHNIZWFkZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAuaGVyb0V2ZW50c0hlYWRlci10aXRsZSB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlcm9FdmVudHNIZWFkZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmhlcm9FdmVudHNIZWFkZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi8qIFNsaWRlciAqL1xuLmV2ZW50U2xpZGVyLXdyYXAge1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEzLCAwLCA4OCwgMC44KTtcbiAgbWFyZ2luOiAxNXB4O1xuICBtYXJnaW46IDAuOTM3NXJlbTtcbiAgbWF4LXdpZHRoOiA1MjBweDtcbiAgbWF4LXdpZHRoOiAzMi41cmVtO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgbWluLWhlaWdodDogMjVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ldmVudFNsaWRlci13cmFwIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDQwcHggMDtcbiAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMi41cmVtIDA7IH0gfVxuXG4uZXZlbnRTbGlkZXItdGV4dCB7XG4gIHBhZGRpbmc6IDE1cHggMTVweCA4MHB4IDE1cHg7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5ldmVudFNsaWRlci10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggNjBweCAzMHB4IDMwcHg7IH0gfVxuICAuZXZlbnRTbGlkZXItdGV4dCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZXZlbnRTbGlkZXItZGF0ZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5ldmVudFNsaWRlci10aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmV2ZW50U2xpZGVyLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLmV2ZW50U2xpZGVyLWludHJvIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZXZlbnRTbGlkZXItZGV0YWlscyB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5ldmVudFNsaWRlciAuYnRuX3doaXRlOmhvdmVyLCAuZXZlbnRTbGlkZXIgLmJ0bl93aGl0ZV9ib3JkZXI6aG92ZXIsIC5ldmVudFNsaWRlciAuYnRuX3doaXRlOmZvY3VzLCAuZXZlbnRTbGlkZXIgLmJ0bl93aGl0ZV9ib3JkZXI6Zm9jdXMsIC5ldmVudFNsaWRlciAuYnRuX3doaXRlOmFjdGl2ZSwgLmV2ZW50U2xpZGVyIC5idG5fd2hpdGVfYm9yZGVyOmFjdGl2ZSxcbi5ldmVudFNsaWRlciAuYnRuX21lZGlhOmhvdmVyLFxuLmV2ZW50U2xpZGVyIC5idG5fbWVkaWE6Zm9jdXMsXG4uZXZlbnRTbGlkZXIgLmJ0bl9tZWRpYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5ldmVudFNsaWRlci13cmFwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlcm9DYXNlU3R1ZHkge1xuICBjbGVhcjogYm90aDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICBtYXJnaW46IDE1cHg7XG4gIG1hcmdpbjogMC45Mzc1cmVtO1xuICBtYXgtd2lkdGg6IDQ0MHB4O1xuICBtYXgtd2lkdGg6IDI3LjVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZXJvQ2FzZVN0dWR5IHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDQwcHggMTVweDtcbiAgICAgIG1hcmdpbjogMi41cmVtIDAgMi41cmVtIDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuaGVyb0Nhc2VTdHVkeSB7XG4gICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgICAgbWF4LXdpZHRoOiAzMi41cmVtOyB9IH1cbiAgLmhlcm9DYXNlU3R1ZHktZGF0ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuaGVyb0Nhc2VTdHVkeS10ZXh0IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZXJvQ2FzZVN0dWR5LXRleHQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gICAgLmhlcm9DYXNlU3R1ZHktdGV4dCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5oZXJvQ2FzZVN0dWR5LXRpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVyb0Nhc2VTdHVkeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgLmhlcm9DYXNlU3R1ZHkgLmJ0bl93aGl0ZTpob3ZlciwgLmhlcm9DYXNlU3R1ZHkgLmJ0bl93aGl0ZV9ib3JkZXI6aG92ZXIsIC5oZXJvQ2FzZVN0dWR5IC5idG5fd2hpdGU6Zm9jdXMsIC5oZXJvQ2FzZVN0dWR5IC5idG5fd2hpdGVfYm9yZGVyOmZvY3VzLCAuaGVyb0Nhc2VTdHVkeSAuYnRuX3doaXRlOmFjdGl2ZSwgLmhlcm9DYXNlU3R1ZHkgLmJ0bl93aGl0ZV9ib3JkZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5oZXJvQ2FzZVN0dWR5IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5oZXJvQ2FzZVN0dWR5LXRleHQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi8qIE1QVSAgKi9cbi5tcHUsXG4uYWQtc2VydmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5tcHUsXG4gICAgLmFkLXNlcnZlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuLyogZXZlbnRQcm9tbyAqL1xuLmV2ZW50UHJvbW8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiA1Ljg4MjM1Mjk0JTsgfVxuICAuZXZlbnRQcm9tby1maWd1cmUgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZXZlbnRQcm9tby1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5ldmVudFByb21vLWNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5ldmVudFByb21vLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5ldmVudFByb21vLWRhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5ldmVudFByb21vLXRpdGxlIHtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuZXZlbnRQcm9tby10ZXh0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5ldmVudFByb21vLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgIC5ldmVudFByb21vLWJ1dHRvbiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmV2ZW50UHJvbW8tYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAgIC5ldmVudFByb21vLWJ1dHRvbiAuYnRuLCAuZXZlbnRQcm9tby1idXR0b24gLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLmV2ZW50UHJvbW8tYnV0dG9uIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuZXZlbnRQcm9tby1idXR0b24gLmJ0bl9hcnJvdywgLmV2ZW50UHJvbW8tYnV0dG9uIC5idG5fd2hpdGVfYXJyb3csIC5ldmVudFByb21vLWJ1dHRvbiAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmV2ZW50UHJvbW8tYnV0dG9uIC5idG5fd2hpdGUsIC5ldmVudFByb21vLWJ1dHRvbiAuYnRuX3doaXRlX2JvcmRlciwgLmV2ZW50UHJvbW8tYnV0dG9uIC5idG5fbWVkaWEge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmV2ZW50UHJvbW8gLmV2ZW50UHJvbW8tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmwtY29udGVudF9pbmRlbnQuaHViUHJvbW9CbG9jayB7XG4gIGNsZWFyOiBib3RoO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmwtY29udGVudF9pbmRlbnQuaHViUHJvbW9CbG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjEuMTg4ZW0pIHtcbiAgICAubC1jb250ZW50X2luZGVudC5odWJQcm9tb0Jsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmwtY29udGVudF9pbmRlbnQuaHViUHJvbW9CbG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuLmh1YlByb21vIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYxLjE4OGVtKSB7XG4gICAgLmh1YlByb21vIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUuODgyMzUyOTQlOyB9IH1cbiAgLmh1YlByb21vLXRpdGxlIHtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5odWJQcm9tby10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5odWJQcm9tby10ZXh0IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5odWJQcm9tby50aGVtZV93aGl0ZSAuaHViUHJvbW8tY29udGVudCB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5odWJQcm9tby50aGVtZV93aGl0ZSAuaHViUHJvbW8tY29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmh1YlByb21vLnRoZW1lX3doaXRlIC5odWJQcm9tby1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAgIC5odWJQcm9tby50aGVtZV93aGl0ZSAuaHViUHJvbW8tY29udGVudCAuaHViUHJvbW8tdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5odWJQcm9tbyAuY3RhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmwtY29udGVudF9pbmRlbnQuaHViUHJvbW9CbG9jayB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmh1YlByb21vLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAuaHViUHJvbW8gLmN0YSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi53aWRlQ29sb3VyQmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLndpZGVDb2xvdXJCbG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLndpZGVDb2xvdXJCbG9jayAubC1jb250ZW50X2luZGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC53aWRlQ29sb3VyQmxvY2sgLmwtY29udGVudF9pbmRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLndpZGVDb2xvdXJCbG9jayAubC1jb250ZW50X2luZGVudCBoMiB7XG4gICAgICBjb2xvcjogI2Q1MDA1ODsgfVxuICAud2lkZUNvbG91ckJsb2NrLWhlYWRlciB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAud2lkZUNvbG91ckJsb2NrLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgLndpZGVDb2xvdXJCbG9jayAubC1ib3gtY29sID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC53aWRlQ29sb3VyQmxvY2sudGhlbWVfcGx1bSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuICAgIC53aWRlQ29sb3VyQmxvY2sudGhlbWVfcGx1bSAubC1jb250ZW50X2luZGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG4gICAgLndpZGVDb2xvdXJCbG9jay50aGVtZV9wbHVtIC53aWRlQ29sb3VyQmxvY2staGVhZGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5yZWFkeVRvUmVnaXN0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgei1pbmRleDogMTAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnJlYWR5VG9SZWdpc3RlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnJlYWR5VG9SZWdpc3Rlci5sLWNvbnRlbnRfaW5kZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjEuMTg4ZW0pIHtcbiAgICAgIC5yZWFkeVRvUmVnaXN0ZXIubC1jb250ZW50X2luZGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfSB9XG4gIC5yZWFkeVRvUmVnaXN0ZXItd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgLnJlYWR5VG9SZWdpc3Rlci1oZWFkZXIge1xuICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAucmVhZHlUb1JlZ2lzdGVyLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy40dm07XG4gICAgICAgIC8qIElFOSAqL1xuICAgICAgICBmb250LXNpemU6IDMuNHZtaW47IH0gfVxuICAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MS4xODhlbSkge1xuICAgICAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1heC13aWR0aDogNjEuMTg4ZW0pIHtcbiAgICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbTpudGgtbGFzdC1vZi10eXBlKC1uKzIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtLWltZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbS1pbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbS10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbS10ZXh0IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgICAucmVhZHlUb1JlZ2lzdGVyLWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZDBkMTsgfVxuICAgICAgICAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0gLmJ0biwgLnJlYWR5VG9SZWdpc3Rlci1pdGVtIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnhmb3JtIC5yZWFkeVRvUmVnaXN0ZXItaXRlbSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnJlYWR5VG9SZWdpc3Rlci1pdGVtIC5idG5fYXJyb3csIC5yZWFkeVRvUmVnaXN0ZXItaXRlbSAuYnRuX3doaXRlX2Fycm93LCAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0gLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5yZWFkeVRvUmVnaXN0ZXItaXRlbSAuYnRuX3doaXRlLCAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0gLmJ0bl93aGl0ZV9ib3JkZXIsIC5yZWFkeVRvUmVnaXN0ZXItaXRlbSAuYnRuX21lZGlhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucmVhZHlUb1JlZ2lzdGVyLWl0ZW1fZmlyc3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAucmVhZHlUb1JlZ2lzdGVyLWl0ZW1fZmlyc3Q6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtX2ZpcnN0IC5yZWFkeVRvUmVnaXN0ZXItd3JhcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbV9maXJzdCAuYnRuLCAucmVhZHlUb1JlZ2lzdGVyLWl0ZW1fZmlyc3QgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLnJlYWR5VG9SZWdpc3Rlci1pdGVtX2ZpcnN0IGlucHV0W3R5cGU9J3N1Ym1pdCddLCAucmVhZHlUb1JlZ2lzdGVyLWl0ZW1fZmlyc3QgLmJ0bl9hcnJvdywgLnJlYWR5VG9SZWdpc3Rlci1pdGVtX2ZpcnN0IC5idG5fd2hpdGVfYXJyb3csIC5yZWFkeVRvUmVnaXN0ZXItaXRlbV9maXJzdCAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLnJlYWR5VG9SZWdpc3Rlci1pdGVtX2ZpcnN0IC5idG5fd2hpdGUsIC5yZWFkeVRvUmVnaXN0ZXItaXRlbV9maXJzdCAuYnRuX3doaXRlX2JvcmRlciwgLnJlYWR5VG9SZWdpc3Rlci1pdGVtX2ZpcnN0IC5idG5fbWVkaWEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFlbTtcbiAgICAgICAgbGVmdDogMDsgfSB9XG4gIC5yZWFkeVRvUmVnaXN0ZXIgLmJ0biwgLnJlYWR5VG9SZWdpc3RlciAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC54Zm9ybSAucmVhZHlUb1JlZ2lzdGVyIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAucmVhZHlUb1JlZ2lzdGVyIC5idG5fYXJyb3csIC5yZWFkeVRvUmVnaXN0ZXIgLmJ0bl93aGl0ZV9hcnJvdywgLnJlYWR5VG9SZWdpc3RlciAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLnJlYWR5VG9SZWdpc3RlciAuYnRuX3doaXRlLCAucmVhZHlUb1JlZ2lzdGVyIC5idG5fd2hpdGVfYm9yZGVyLCAucmVhZHlUb1JlZ2lzdGVyIC5idG5fbWVkaWEsXG4gIC5yZWFkeVRvUmVnaXN0ZXIgLmN0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBUaGVtZSAqL1xuLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MS4xODhlbSkge1xuICAgIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg2MDI0NzsgfSB9XG4gIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bS5sLWNvbnRlbnRfaW5kZW50IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG4gIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAucmVhZHlUb1JlZ2lzdGVyLWhlYWRlcixcbiAgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5yZWFkeVRvUmVnaXN0ZXItaXRlbS10aXRsZSxcbiAgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5jdGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0ge1xuICAgIGJvcmRlci1jb2xvcjogIzliMDE0OTsgfVxuICAgIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0gYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAucmVhZHlUb1JlZ2lzdGVyLWl0ZW06YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YjAxNDk7IH1cbiAgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG4sIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC54Zm9ybSAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAuYnRuX2Fycm93LCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl93aGl0ZV9hcnJvdywgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93LCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl93aGl0ZSwgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG5fd2hpdGVfYm9yZGVyLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl9tZWRpYSB7XG4gICAgY29sb3I6ICNkNTAwNTggIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG46aG92ZXIsIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J106aG92ZXIsIC54Zm9ybSAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gaW5wdXRbdHlwZT0nc3VibWl0J106aG92ZXIsIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAuYnRuX2Fycm93OmhvdmVyLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl93aGl0ZV9hcnJvdzpob3ZlciwgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmhvdmVyLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl93aGl0ZTpob3ZlciwgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG5fd2hpdGVfYm9yZGVyOmhvdmVyLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl9tZWRpYTpob3ZlciwgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG46Zm9jdXMsIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J106Zm9jdXMsIC54Zm9ybSAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gaW5wdXRbdHlwZT0nc3VibWl0J106Zm9jdXMsIC5yZWFkeVRvUmVnaXN0ZXIudGhlbWVfcGx1bSAuYnRuX2Fycm93OmZvY3VzLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl93aGl0ZV9hcnJvdzpmb2N1cywgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93OmZvY3VzLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl93aGl0ZTpmb2N1cywgLnJlYWR5VG9SZWdpc3Rlci50aGVtZV9wbHVtIC5idG5fd2hpdGVfYm9yZGVyOmZvY3VzLCAucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0gLmJ0bl9tZWRpYTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1MDA1ODsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAucmVhZHlUb1JlZ2lzdGVyLWl0ZW0taW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5yZWFkeVRvUmVnaXN0ZXItaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnJlYWR5VG9SZWdpc3Rlci13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucmVhZHlUb1JlZ2lzdGVyIC5idG4sIC5yZWFkeVRvUmVnaXN0ZXIgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLnJlYWR5VG9SZWdpc3RlciBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnJlYWR5VG9SZWdpc3RlciAuYnRuX2Fycm93LCAucmVhZHlUb1JlZ2lzdGVyIC5idG5fd2hpdGVfYXJyb3csIC5yZWFkeVRvUmVnaXN0ZXIgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5yZWFkeVRvUmVnaXN0ZXIgLmJ0bl93aGl0ZSwgLnJlYWR5VG9SZWdpc3RlciAuYnRuX3doaXRlX2JvcmRlciwgLnJlYWR5VG9SZWdpc3RlciAuYnRuX21lZGlhLFxuICAucmVhZHlUb1JlZ2lzdGVyIC5jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5yZWFkeVRvUmVnaXN0ZXItaXRlbTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVhZHlUb1JlZ2lzdGVyLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnJlYWR5VG9SZWdpc3Rlci1pdGVtX2ZpcnN0IC5yZWFkeVRvUmVnaXN0ZXItd3JhcCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi5oZWFkZXJIZXJvIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWF4LXdpZHRoOiA5NSU7XG4gIG1hcmdpbjogMCAwIC00MHB4IC00MHB4O1xuICBwYWRkaW5nOiAyMHB4IDIwcHggNzBweCAwO1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gNC4zNzVyZW0gMDtcbiAgcGFkZGluZy1sZWZ0OiAxNSU7IH1cbiAgLmhlYWRlckhlcm8tdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlYWRlckhlcm8tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmhlYWRlckhlcm8tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG4gIC5oZWFkZXJIZXJvLWludHJvIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVhZGVySGVyby1pbnRybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVhZGVySGVybyB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDMwcHggNjBweCAwO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMy43NXJlbSAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDcwJTsgfVxuICAgICAgLmhlYWRlckhlcm8taW50cm8ge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5oZWFkZXJIZXJvIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDBweCA3MHB4IDA7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMi41cmVtIDQuMzc1cmVtIDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhlYWRlckhlcm8ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uYVRvWiB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5hVG9aIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAuYVRvWiA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgMnB4IDJweCAwO1xuICAgIG1hcmdpbjogMCAwLjEyNXJlbSAwLjEyNXJlbSAwOyB9XG4gIC5hVG9aID4gbGkgPiBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC42MjVyZW07IH1cbiAgICAuYVRvWiA+IGxpID4gYTpob3ZlciwgLmFUb1ogPiBsaSA+IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuYVRvWiA+IGxpID4gYS51LWFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTggIWltcG9ydGFudDsgfVxuICAgIC5hVG9aID4gbGkgPiBhLnUtZGlzYWJsZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogI2NjYzsgfVxuICAgIC5hVG9aID4gbGkgPiBhOmhvdmVyLCAuYVRvWiA+IGxpID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5hVG9aIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN0YXRzQmxvY2sge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5zdGF0c0Jsb2NrID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuc3RhdHNCbG9jayB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnN0YXRzQmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5zdGF0c0Jsb2NrLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5zdGF0c0Jsb2NrLWZpZ3VyZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6IDAgMTVweCAxMHB4IDA7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMC42MjVyZW0gMDsgfVxuICAuc3RhdHNCbG9jay1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAuc3RhdHNCbG9jay1jb250ZW50IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuc3RhdHNCbG9jay10aXRsZSB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RhdHNCbG9jay10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi8qIHdpdGhpbiA2MCUgd2lkZSBwYWdlIG9ubHkgKi9cbi5sLXJvdy02MC00MCAuc3RhdHNCbG9jayB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5sLXJvdy02MC00MCAuc3RhdHNCbG9jayAubC1ib3gtY29sIHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAubC1yb3ctNjAtNDAgLnN0YXRzQmxvY2staXRlbSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5sLXJvdy02MC00MCAuc3RhdHNCbG9jay1maWd1cmUsIC5sLXJvdy02MC00MCAuc3RhdHNCbG9jay1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuXG4vKiBFTkQgd2l0aGluIDYwJSB3aWRlIHBhZ2Ugb25seSAqL1xuLyogd2l0aGluIDEwMCUgd2lkZSBwYWdlIG9ubHkgKi9cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45MzhlbSkge1xuICAubC1yb3ctMTAwIC5zdGF0c0Jsb2NrIC5sLWJveC1jb2wge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgLmwtcm93LTEwMCAuc3RhdHNCbG9jay1pdGVtIHtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAubC1yb3ctMTAwIC5zdGF0c0Jsb2NrLWZpZ3VyZSwgLmwtcm93LTEwMCAuc3RhdHNCbG9jay1jb250ZW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubC1yb3ctMTAwIC5zdGF0c0Jsb2NrLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAgIC5sLXJvdy0xMDAgLnN0YXRzQmxvY2staXRlbTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogLTE1cHg7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBkMGQxOyB9XG4gIC5sLXJvdy0xMDAgLnN0YXRzQmxvY2sgLmwtYm94LWNvbDpudGgtb2YtdHlwZSgzbisxKSAuc3RhdHNCbG9jay1pdGVtOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubC1yb3ctMTAwIC5zdGF0c0Jsb2NrIC5sLWJveC1jb2w6bnRoLW9mLXR5cGUoLW4rMykgLnN0YXRzQmxvY2staXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubC1yb3ctMTAwIC5zdGF0c0Jsb2NrLWZpZ3VyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAubC1yb3ctMTAwIC5zdGF0c0Jsb2NrLWZpZ3VyZSBpbWcge1xuICAgICAgbWluLXdpZHRoOiAxMDNweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLmwtcm93LTEwMCAuc3RhdHNCbG9jay1maWd1cmUsIC5sLXJvdy0xMDAgLnN0YXRzQmxvY2stY29udGVudCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5sLXJvdy0xMDAgLnN0YXRzQmxvY2stZmlndXJlIHA6bGFzdC1jaGlsZCwgLmwtcm93LTEwMCAuc3RhdHNCbG9jay1jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLyogZW5kIHdpdGhpbiAxMDAlIHdpZGUgcGFnZSBvbmx5ICovXG4vKiBsaXR0bGUgaGFjayAqL1xuLnN0YXRzQmxvY2sgLmwtYm94LWNvbDpmaXJzdC1jaGlsZCAuc3RhdHNCbG9jay1pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWVDYXNlU3R1ZHlTbGlkZXIgLnN0YXRzQmxvY2sge1xuICBtYXJnaW46IDE1cHg7XG4gIG1hcmdpbjogMC45Mzc1cmVtOyB9XG4gIC5ob21lQ2FzZVN0dWR5U2xpZGVyIC5zdGF0c0Jsb2NrIC5sLWJveC1jb2w6bGFzdC1jaGlsZCAuc3RhdHNCbG9jay1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5ob21lQ2FzZVN0dWR5U2xpZGVyIC5zdGF0c0Jsb2NrIHtcbiAgICAgIG1hcmdpbjogMCA0MHB4IDQwcHg7XG4gICAgICBtYXJnaW46IDAgMi41cmVtIDIuNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5zdGF0c0Jsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiByZXNldCAqL1xubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgKm1hcmdpbi1sZWZ0OiAtN3B4OyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5pbnB1dFt0eXBlPXRleHRdLFxuaW5wdXRbdHlwZT1lbWFpbF0sXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcbmlucHV0W3R5cGU9bnVtYmVyXSxcbmlucHV0W3R5cGU9dGVsXSxcbmlucHV0W3R5cGU9dXJsXSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDYxLjI1ZW0pIHtcbiAgICBpbnB1dFt0eXBlPXRleHRdLFxuICAgIGlucHV0W3R5cGU9ZW1haWxdLFxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxuICAgIGlucHV0W3R5cGU9bnVtYmVyXSxcbiAgICBpbnB1dFt0eXBlPXRlbF0sXG4gICAgaW5wdXRbdHlwZT11cmxdLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgICAgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbiAgICAgIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuICAgICAgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG4gICAgICBpbnB1dFt0eXBlPW51bWJlcl06Zm9jdXMsXG4gICAgICBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG4gICAgICBpbnB1dFt0eXBlPXVybF06Zm9jdXMsXG4gICAgICBzZWxlY3Q6Zm9jdXMsXG4gICAgICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50OyB9IH1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgLyogMiAqL1xuICByZXNpemU6IG5vbmU7IH1cblxubGFiZWwgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuYWJiciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0ZDRkNGY7XG4gIG9wYWNpdHk6IC43OyB9XG5cbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOC0gKi9cbiAgY29sb3I6ICM0ZDRkNGY7XG4gIG9wYWNpdHk6IC43OyB9XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAjNGQ0ZDRmO1xuICBvcGFjaXR5OiAuNzsgfVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0ZDRkNGY7XG4gIG9wYWNpdHk6IC43OyB9XG5cbi8qVHVybiBPZmYgTnVtYmVyIElucHV0IFNwaW5uZXJzICovXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbi8qIEZvcm0gaW5wdXQgc3R5bGUgKGFsbCBmb3JtIHR5cGVzKSAqL1xuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXVybF0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgcGFkZGluZzogMTRweCAxMHB4O1xuICBwYWRkaW5nOiAwLjg3NXJlbSAwLjYyNXJlbTsgfVxuICBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuICBpbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMsXG4gIGlucHV0W3R5cGU9bnVtYmVyXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuICBpbnB1dFt0eXBlPXVybF06Zm9jdXMsXG4gIHNlbGVjdDpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI2RlZGVkZTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LWRldmljZS13aWR0aDogNjRlbSkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9hc3NldHMvYXJyb3ctcGluay1kb3duLnBuZykgbm8tcmVwZWF0IDk4JSA1MCU7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgIC54Zm9ybSBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTYlIDUwJTsgfSB9XG5cbi8qIGlmIHdyYXBwZWQgKi9cbi5mb3JtLXNlbGVjdCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEzcHggMTBweDtcbiAgcGFkZGluZzogMC44MTI1cmVtIDAuNjI1cmVtOyB9XG4gIC5mb3JtLXNlbGVjdCBzZWxlY3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5mb3JtLXNlbGVjdCBzZWxlY3Qgb3B0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLmZvcm0tcm93IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mb3JtLXJvdyAuYnRuLCAuZm9ybS1yb3cgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLmZvcm0tcm93IGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuZm9ybS1yb3cgLmJ0bl9hcnJvdywgLmZvcm0tcm93IC5idG5fd2hpdGVfYXJyb3csIC5mb3JtLXJvdyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmZvcm0tcm93IC5idG5fd2hpdGUsIC5mb3JtLXJvdyAuYnRuX3doaXRlX2JvcmRlciwgLmZvcm0tcm93IC5idG5fbWVkaWEge1xuICAgIHBhZGRpbmc6IDE3cHggMjBweDtcbiAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMS4yNXJlbTtcbiAgICBtYXJnaW46IDJlbSAwIDAgMCAhaW1wb3J0YW50OyB9XG4gIC5mb3JtLXJvd193aWRlIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmZvcm0tcm93X3dpZGUgLmZvcm0tcm93LWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuXG4uZmllbGRHcm91cCAuZm9ybS1zZWxlY3Qge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMyJTtcbiAgbWFyZ2luLWxlZnQ6IDIlOyB9XG4gIC5maWVsZEdyb3VwIC5mb3JtLXNlbGVjdDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXJyb3Ige1xuICBjb2xvcjogI2NhMjEwMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9XG5cbi5lcnJvckxpc3Qge1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2EyMTAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjY2EyMTAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5lcnJvckxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5lcnJvckxpc3QgdWwge1xuICAgIG1hcmdpbjogMCAwIDAgMmVtOyB9XG5cbmxhYmVsLCBsZWdlbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbiAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jaGVjay1yYWRpby1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTsgfVxuICAuY2hlY2stcmFkaW8tYm94IGlucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgdG9wOiAwLjMxMjVyZW07XG4gICAgbGVmdDogMDsgfVxuXG4udG9nZ2xlQXR0ZW5kZWUgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuXG4udG9nZ2xlQXR0ZW5kZWUgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG4vKiB3aXRoaW4geGZvcm0gKi9cbi5mb290ZXItdG9wIC5mb290ZXItbmV3c2xldHRlciAueGZvcm0gLnhmb3JtdmFsaWRhdG9yLCAueGZvcm0gLnhmb3JtdmFsaWRhdG9yLFxuLnhmb3JtIC5lcnJvciB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogI2NhMjEwMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDVweCAwIDAgMDtcbiAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwIDA7IH1cblxuLnhmb3JtIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAueGZvcm0gPiB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgIG1heC13aWR0aDogMjguMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAueGZvcm0gPiB0YWJsZSB0ciB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICAueGZvcm0gPiB0YWJsZSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC54Zm9ybSBoMiwgLnhmb3JtIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnhmb3JtIGgyLCAueGZvcm0gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgLnhmb3JtIHNwYW4uc3VidGl0bGUsXG4gIC54Zm9ybSBzcGFuLnN1YlRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzRkNGQ0ZjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC54Zm9ybSBzcGFuLnN1YnRpdGxlLFxuICAgICAgLnhmb3JtIHNwYW4uc3ViVGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAueGZvcm0gLnhmb3JtdmFsaWRhdG9yLFxuICAueGZvcm0gLmVycm9yIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cbiAgLnhmb3JtIGZpZWxkc2V0IGxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgLnhmb3JtIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLnhmb3JtIGhyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgY29sb3I6ICNkMGQwZDE7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGQwZDE7IH1cbiAgLnhmb3JtIGlucHV0W3R5cGU9J3JhZGlvJ10sXG4gIC54Zm9ybSBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLyogY3JlYXRlIHR3byBjb2x1bW4gaWYgaW4gd2lkZSAxMDAlIHBhZ2UgKi9cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgdHIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgdHIgPiB0ZCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAubC1yb3ctMTAwIC54Zm9ybSB0YWJsZSB0ciA+IHRkID4gbGFiZWwge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDUlIDVweCAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIGlucHV0W3R5cGU9dGV4dF0sXG4gIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIGlucHV0W3R5cGU9ZW1haWxdLFxuICAubC1yb3ctMTAwIC54Zm9ybSB0YWJsZSBpbnB1dFt0eXBlPXBhc3N3b3JkXSxcbiAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgaW5wdXRbdHlwZT1udW1iZXJdLFxuICAubC1yb3ctMTAwIC54Zm9ybSB0YWJsZSBpbnB1dFt0eXBlPXRlbF0sXG4gIC5sLXJvdy0xMDAgLnhmb3JtIHRhYmxlIGlucHV0W3R5cGU9dXJsXSxcbiAgLmwtcm93LTEwMCAueGZvcm0gdGFibGUgc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC54Zm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5sb2NhdGlvbnMge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9hc3NldHMvcHgtcGluay5wbmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtc2l6ZTogNTAlIDQwMHB4OyB9XG4gIC5sb2NhdGlvbnMtdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9jYXRpb25zLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAubG9jYXRpb25zIC5idG4sIC5sb2NhdGlvbnMgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLmxvY2F0aW9ucyBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLmxvY2F0aW9ucyAuYnRuX2Fycm93LCAubG9jYXRpb25zIC5idG5fd2hpdGVfYXJyb3csIC5sb2NhdGlvbnMgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5sb2NhdGlvbnMgLmJ0bl93aGl0ZSwgLmxvY2F0aW9ucyAuYnRuX3doaXRlX2JvcmRlciwgLmxvY2F0aW9ucyAuYnRuX21lZGlhIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmxvY2F0aW9ucy13cmFwIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4OyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmxvY2F0aW9ucy13cmFwIHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgICAgIC5sb2NhdGlvbnMtd3JhcCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmxvY2F0aW9ucy13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAubG9jYXRpb25zLXdyYXAgLmxvY2F0aW9ucy1mb3JtLFxuICAgICAgLmxvY2F0aW9ucy13cmFwIC5sb2NhdGlvbnMtZW5xdWlyeSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7IH1cbiAgICAgIC5sb2NhdGlvbnMtd3JhcCAubG9jYXRpb25zLWVucXVpcnkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAgIC5sb2NhdGlvbnMtd3JhcCAuYnRuLCAubG9jYXRpb25zLXdyYXAgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLmxvY2F0aW9ucy13cmFwIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAubG9jYXRpb25zLXdyYXAgLmJ0bl9hcnJvdywgLmxvY2F0aW9ucy13cmFwIC5idG5fd2hpdGVfYXJyb3csIC5sb2NhdGlvbnMtd3JhcCAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmxvY2F0aW9ucy13cmFwIC5idG5fd2hpdGUsIC5sb2NhdGlvbnMtd3JhcCAuYnRuX3doaXRlX2JvcmRlciwgLmxvY2F0aW9ucy13cmFwIC5idG5fbWVkaWEge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5sb2NhdGlvbnMtZm9ybSB7XG4gIGNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZDUwMDU4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5sb2NhdGlvbnMtZm9ybS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmxvY2F0aW9ucy1mb3JtLWxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMTVweCAxNXB4IDAgMDtcbiAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDAgMDsgfSB9XG4gIC5sb2NhdGlvbnMtZm9ybSAuZm9ybS1zZWxlY3Qge1xuICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgIHBhZGRpbmc6IDE2cHggMTVweDtcbiAgICBwYWRkaW5nOiAxcmVtIDAuOTM3NXJlbTsgfVxuICAgIC5sb2NhdGlvbnMtZm9ybSAuZm9ybS1zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4vKiBHT09HTEUgbWFwICovXG4ubG9jYXRpb25zLW1hcCB7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmxvY2F0aW9ucy1tYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5sb2NhdGlvbnMtbWFwIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLyogTG9jYXRpb24gRGV0YWlscyAqL1xuLmxvY2F0aW9uRGV0YWlscyB7XG4gIGNsZWFyOiBib3RoO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAubG9jYXRpb25EZXRhaWxzLXRpdGxlIHtcbiAgICBjb2xvcjogI2Q1MDA1ODtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2NhdGlvbkRldGFpbHMtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi8qIGxvY2F0aW9uIENJTUEgbGFiZWwgKi9cbi5sb2NhdGlvbkxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG4gIC5sb2NhdGlvbkxhYmVsIHNwYW4ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBib3JkZXItbGVmdDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5sb2NhdGlvbkxhYmVsIGltZyB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZjsgfVxuXG4vKiBsb2NhdGlvbiBhZGRyZXNzICBhbmQgc2VydmljZXMgKi9cbi5sb2NhdGlvbkRldGFpbHMtY29udGFpbmVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIgaDMge1xuICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAubG9jYXRpb25EZXRhaWxzLWNvbnRhaW5lciBoMyBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAubG9jYXRpb25EZXRhaWxzLWNvbnRhaW5lciBwIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogI2Q1MDA1ODsgfVxuICAubG9jYXRpb25EZXRhaWxzLWNvbnRhaW5lciAubG9jYXRpb25EZXRhaWxzLWNvbDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzOGVtKSB7XG4gICAgLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIgLmxvY2F0aW9uRGV0YWlscy1jb2wxLCAubG9jYXRpb25EZXRhaWxzLWNvbnRhaW5lciAubG9jYXRpb25EZXRhaWxzLWNvbDIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1JTsgfVxuICAgIC5sb2NhdGlvbkRldGFpbHMtY29udGFpbmVyIC5sb2NhdGlvbkRldGFpbHMtY29sMyB7XG4gICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubG9jYXRpb25EZXRhaWxzLWNvbnRhaW5lciAubG9jYXRpb25EZXRhaWxzLWNvbDEsIC5sb2NhdGlvbkRldGFpbHMtY29udGFpbmVyIC5sb2NhdGlvbkRldGFpbHMtY29sMiwgLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIgLmxvY2F0aW9uRGV0YWlscy1jb2wzIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIgLmxvY2F0aW9uRGV0YWlscy1jb2wxIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUlOyB9XG4gICAgLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIgLmxvY2F0aW9uRGV0YWlscy1jb2wyIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwJTsgfVxuICAgIC5sb2NhdGlvbkRldGFpbHMtY29udGFpbmVyIC5sb2NhdGlvbkRldGFpbHMtY29sMyB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmxvY2F0aW9ucy13cmFwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnNwZWFrZXJCbG9jayB7XG4gIGNsZWFyOiBib3RoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAvKiBMYXlvdXQgKi8gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnNwZWFrZXJCbG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnNwZWFrZXJCbG9jay13cmFwIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I2YTVkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgLnNwZWFrZXJCbG9jay13cmFwID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuc3BlYWtlckJsb2NrLXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5zcGVha2VyQmxvY2stZmlndXJlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMDBweDtcbiAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuc3BlYWtlckJsb2NrLWZpZ3VyZSBpbWcge1xuICAgICAgICBtYXJnaW46IDAgMzBweCAzMHB4IDA7IH0gfVxuICAuc3BlYWtlckJsb2NrLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zcGVha2VyQmxvY2stdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuc3BlYWtlckJsb2NrLXZpZGVvLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuc3BlYWtlckJsb2NrLXZpZGVvLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5zcGVha2VyQmxvY2stZmlndXJlLCAuc3BlYWtlckJsb2NrLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmwtcm93LTEwMCAuc3BlYWtlckJsb2NrLXdyYXAge1xuICAgICAgbWF4LXdpZHRoOiA2MCU7IH0gfVxuXG4vKiBXaXRoIHZpZGVvICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLmwtcm93LTEwMCAuc3BlYWtlckJsb2NrX3ZpZGVvIC5zcGVha2VyQmxvY2std3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwMHB4OyB9XG4gIC5sLXJvdy0xMDAgLnNwZWFrZXJCbG9ja192aWRlbyAuc3BlYWtlckJsb2NrLXZpZGVvIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgIHdpZHRoOiA3MCU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gIC5sLXJvdy0xMDAgLnNwZWFrZXJCbG9ja192aWRlbyAuc3BlYWtlckJsb2NrLXdyYXAge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLmwtcm93LTEwMCAuc3BlYWtlckJsb2NrX3ZpZGVvIC5zcGVha2VyQmxvY2stc3VtbWFyeSB7XG4gICAgcGFkZGluZy1yaWdodDogMjUlOyB9XG4gIC5sLXJvdy0xMDAgLnNwZWFrZXJCbG9ja192aWRlbyAuc3BlYWtlckJsb2NrLXZpZGVvIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDQwcHggMCAwIC0xMCU7XG4gICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAubC1jb2wtNjAgLnNwZWFrZXJCbG9ja192aWRlbyAuc3BlYWtlckJsb2NrLXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDBweDsgfVxuICAubC1jb2wtNjAgLnNwZWFrZXJCbG9ja192aWRlbyAuc3BlYWtlckJsb2NrLXZpZGVvIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogLTIwMHB4O1xuICAgIHdpZHRoOiA3MCU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sLWNvbC02MCAuc3BlYWtlckJsb2NrX3ZpZGVvIHtcbiAgICBtYXJnaW4tbGVmdDogLTE2JTsgfVxuICAgIC5sLWNvbC02MCAuc3BlYWtlckJsb2NrX3ZpZGVvIC5zcGVha2VyQmxvY2std3JhcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2JTsgfVxuICAgIC5sLWNvbC02MCAuc3BlYWtlckJsb2NrX3ZpZGVvIC5zcGVha2VyQmxvY2stdmlkZW8ge1xuICAgICAgd2lkdGg6IDg2JTsgfSB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5zcGVha2VyQmxvY2stdmlkZW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubGlzdGluZyB7XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5saXN0aW5nIGgyIHtcbiAgICBjb2xvcjogI2Q1MDA1ODsgfVxuXG4ubGlzdGluZ0Jsb2NrIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5saXN0aW5nQmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5saXN0aW5nQmxvY2stY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5saXN0aW5nQmxvY2stZGF0ZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5saXN0aW5nQmxvY2stdGl0bGUge1xuICAgIGNvbG9yOiAjZDUwMDU4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxpc3RpbmdCbG9jay10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5saXN0aW5nQmxvY2stdHlwZSB7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmxpc3RpbmdCbG9jay1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5saXN0aW5nQmxvY2stZGV0YWlscy1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubGlzdGluZ0Jsb2NrLWRldGFpbHMtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB3aWR0aDogMzglOyB9XG4gICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgICAgLmxpc3RpbmdCbG9jay1kZXRhaWxzLXRpdGxlIHtcbiAgICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgICAubGlzdGluZ0Jsb2NrLWRldGFpbHMtdGl0bGUsIC5saXN0aW5nQmxvY2stZGV0YWlscy10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMTBweCAwO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbSAwLjYyNXJlbSAwOyB9XG4gIC5saXN0aW5nQmxvY2stZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpc3RpbmdCbG9jay1maWd1cmUgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5saXN0aW5nQmxvY2stY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGY1ZmI7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgICAubGlzdGluZ0Jsb2NrLWNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5saXN0aW5nQmxvY2stY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgLmxpc3RpbmdCbG9jay1zcG9uc29yIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC5saXN0aW5nQmxvY2stc3BvbnNvciBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiA1cHggMTBweCA1cHggMDtcbiAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAuNjI1cmVtIDAuMzEyNXJlbSAwOyB9XG4gICAgLmxpc3RpbmdCbG9jay1zcG9uc29yIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDEwcHggNXB4IDA7XG4gICAgICBtYXJnaW46IDAgMC42MjVyZW0gMC4zMTI1cmVtIDA7IH1cbiAgLmxpc3RpbmdCbG9jayAudG90YWxQcmljZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNkNTAwNTg7IH1cblxuLyogbGF5b3V0IHdpdGggaW1hZ2UgKi9cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmwtcm93LTEwMCAubGlzdGluZ0Jsb2NrLmxpc3RpbmdCbG9ja19pbWFnZSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICAubC1yb3ctMTAwIC5saXN0aW5nQmxvY2subGlzdGluZ0Jsb2NrX2ltYWdlIC5saXN0aW5nQmxvY2stZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAzNy40MzMxNTUwOCU7IH1cbiAgICAubC1yb3ctMTAwIC5saXN0aW5nQmxvY2subGlzdGluZ0Jsb2NrX2ltYWdlIC5saXN0aW5nQmxvY2stY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMS4wMTYwNDI3OCU7IH0gfVxuXG4vKiBsYXlvdXQgd2l0aCBpbWFnZSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAubC1jb2wtNjAgLmxpc3RpbmdCbG9jay5saXN0aW5nQmxvY2tfaW1hZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgLmwtY29sLTYwIC5saXN0aW5nQmxvY2subGlzdGluZ0Jsb2NrX2ltYWdlIC5saXN0aW5nQmxvY2stZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA0OC43ODA0ODc4JTsgfVxuICAgIC5sLWNvbC02MCAubGlzdGluZ0Jsb2NrLmxpc3RpbmdCbG9ja19pbWFnZSAubGlzdGluZ0Jsb2NrLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMzQuOTU5MzQ5NTklOyB9IH1cblxuLyogbGFiZWwgKHBpbmsvYmx1ZSkgKi9cbi5saXN0aW5nQmxvY2stbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItY29sb3I6ICNkNTAwNTggI2Q1MDA1OCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiA1NXB4O1xuICB6LWluZGV4OiAxOyB9XG4gIC5saXN0aW5nQmxvY2stbGFiZWwgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTQ1cHg7XG4gICAgcmlnaHQ6IC00NXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5saXN0aW5nQmxvY2stbGFiZWwudGhlbWVfYmx1ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTY5MGM5ICMxNjkwYzkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLyogdGhlbWVzICovXG4ubGlzdGluZ0Jsb2NrOm50aC1vZi10eXBlKG9kZCkgLmxpc3RpbmdCbG9jay1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZjRlYTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAubGlzdGluZ0Jsb2NrIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAubGlzdGluZ0Jsb2NrIFtjbGFzc149J2J0biddLFxuICAgIC5saXN0aW5nQmxvY2sgLmN0YSwgLmxpc3RpbmdCbG9jay1maWd1cmUsIC5saXN0aW5nQmxvY2stbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saXN0aW5nQmxvY2stZGV0YWlscyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmxpc3RpbmdCbG9jay1kZXRhaWxzLXRpdGxlLCAubGlzdGluZ0Jsb2NrLWRldGFpbHMtdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCA1cHggMDtcbiAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtIDAuMzEyNXJlbSAwOyB9XG4gICAgLmxpc3RpbmdCbG9jay1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IH0gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAucGFnaW5hdGlvbi1saXN0IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAucGFnaW5hdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uLWl0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgLnBhZ2luYXRpb24gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNkNTAwNTg7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG4gIC5wYWdpbmF0aW9uLWxpbmsge1xuICAgIHBhZGRpbmc6IDEwcHggMTNweDtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjgxMjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24tbGluazpob3ZlciwgLnBhZ2luYXRpb24tbGluazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG4gICAgLnBhZ2luYXRpb24tbGlua19jdXJyZW50IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4OyB9XG4gICAgICAucGFnaW5hdGlvbi1saW5rX2N1cnJlbnQ6aG92ZXIsIC5wYWdpbmF0aW9uLWxpbmtfY3VycmVudDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4OyB9XG4gIC5wYWdpbmF0aW9uLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wYWdpbmF0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjIycHggLTUxMnB4O1xuICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTZweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogM3B4OyB9XG4gICAgICAubm8tc3ZnIC5wYWdpbmF0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjIycHggLTUxMnB4OyB9XG4gICAgICAuc3ZnIC5wYWdpbmF0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvYXJyb3ctcGluay1yaWdodC5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAucGFnaW5hdGlvbi1idXR0b25fcHJldiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhZ2luYXRpb24tYnV0dG9uX3ByZXY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY3M3B4IC01MTJweDtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDNweDsgfVxuICAgICAgLm5vLXN2ZyAucGFnaW5hdGlvbi1idXR0b25fcHJldjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjczcHggLTUxMnB4OyB9XG4gICAgICAuc3ZnIC5wYWdpbmF0aW9uLWJ1dHRvbl9wcmV2OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy1waW5rLWxlZnQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDExMDA7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5ub2pzIC5kcm9wZG93bl9vcGVuLFxuICAudS1uY0RlbGF5IC5kcm9wZG93bl9vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLmRyb3Bkb3duX29wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZHJvcGRvd25fY2xvc2luZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5kcm9wZG93bl9oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICNlZWVlZWY7IH1cbiAgLmRyb3Bkb3duLWl0ZW1zX2hlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNkNTAwNTg7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kcm9wZG93bi1pdGVtc19oZWFkZXIge1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZDUwMDU4O1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAuZHJvcGRvd24taXRlbS1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuZHJvcGRvd24taXRlbS1saW5rOmhvdmVyLCAuZHJvcGRvd24taXRlbS1saW5rOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5kcm9wZG93bl9zZWFyY2gge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDsgfVxuICAgIC5kcm9wZG93bl9zZWFyY2guZHJvcGRvd25fb3BlbiB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAuZHJvcGRvd25faW5QYWdlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87IH1cblxuLmhncm91cC1zdGFydCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5oZ3JvdXAtZW5kIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oZ3JvdXBfbW9iaWxlSGVhZGVyIHtcbiAgbWFyZ2luOiAwIDE1cHggMTVweDsgfVxuXG4uc2xpZGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG4gIC5zbGlkZXIgLmwtY29udGVudF9pbmRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWY7IH1cbiAgLnNsaWRlcl9hY3RpdmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGlkZXItd2luZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogI2VlZWVlZjtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2xpZGVyLXdpbmdfbGVmdCB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLnNsaWRlci13aW5nX3JpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5zbGlkZXItaXRlbXMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5zbGlkZXItYnV0dG9uc1dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpZGVyLW5leHQsIC5zbGlkZXItcHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q1MDA1ODtcbiAgICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMy43NXJlbTtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07IH1cbiAgICAuc2xpZGVyLW5leHRfZGlzYWJsZWQsIC5zbGlkZXItcHJldl9kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjE1OyB9XG4gIC5zbGlkZXItcHJldiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2NC4wNjNlbSkge1xuICAuc2xpZGVyLWJ1dHRvbnNXcmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNThweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy42MjVyZW07IH1cbiAgLnNsaWRlci1uZXh0LCAuc2xpZGVyLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAyNXB4O1xuICAgIHRvcDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5zbGlkZXItcHJldiB7XG4gICAgcmlnaHQ6IDYwcHg7IH0gfVxuXG4vKiBXaGl0ZSB0aGVtZSAqL1xuLnNsaWRlci50aGVtZV93aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLnNsaWRlci50aGVtZV93aGl0ZSAubC1jb250ZW50X2luZGVudCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAuc2xpZGVyLnRoZW1lX3doaXRlIC5zbGlkZXItd2luZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAuc2xpZGVyLnRoZW1lX3doaXRlIC5ldmVudFByb21vIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG4gIC5zbGlkZXIudGhlbWVfd2hpdGUgLmJ0bl93aGl0ZV9ib3JkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnNsaWRlci50aGVtZV93aGl0ZSAuYnRuX3doaXRlX2JvcmRlcjpob3ZlciwgLnNsaWRlci50aGVtZV93aGl0ZSAuYnRuX3doaXRlX2JvcmRlcjpmb2N1cywgLnNsaWRlci50aGVtZV93aGl0ZSAuYnRuX3doaXRlX2JvcmRlcjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1MDA1ODsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogbG9naW4gcGFuZWwgKi9cbi5sb2dpbkRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNkNTAwNTg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAubG9naW5Ecm9wZG93bi1oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmxvZ2luRHJvcGRvd24tZm9ybSB7XG4gICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICBtYXgtd2lkdGg6IDIxLjg3NXJlbTsgfVxuICAubG9naW5Ecm9wZG93bi1maWVsZCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICAubG9naW5Ecm9wZG93bi1maWVsZCBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4xODc1cmVtOyB9XG4gICAgLmxvZ2luRHJvcGRvd24tZmllbGQgLnRleHRib3gge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHBhZGRpbmc6IDNweCAxMHB4O1xuICAgICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtOyB9XG4gICAgLmxvZ2luRHJvcGRvd24tZmllbGQgLnZhbGlkYXRvciB7XG4gICAgICBjb2xvcjogI2NhMjEwMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5sb2dpbkRyb3Bkb3duLXJlbWVtYmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAubG9naW5Ecm9wZG93bi1yZW1lbWJlciBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogM3B4IDEwcHggMCAwO1xuICAgICAgbWFyZ2luOiAwLjE4NzVyZW0gMC42MjVyZW0gMCAwOyB9XG4gIC5sb2dpbkRyb3Bkb3duLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5sb2dpbkRyb3Bkb3duLWxpbms6aG92ZXIsIC5sb2dpbkRyb3Bkb3duLWxpbms6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogbGFyZ2Ugc2NyZWVucyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjbG9naW5Ecm9wZG93biB7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmxvZ2luRHJvcGRvd24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2Q1MDA1ODtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAubG9naW5Ecm9wZG93bi1oZWFkZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgLmxvZ2luRHJvcGRvd24tZm9ybSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICAgICAgcGFkZGluZzogMTZweDtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuXG4vKiBnZW5lcmljIHRhYmxlIHN0eWxlICovXG4ud3lzaXd5ZyB0YWJsZSwgLnRleHRDb2xvdXJCbG9jayB0YWJsZSxcbi5tY2VDb250ZW50Qm9keSB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAud3lzaXd5ZyB0YWJsZSwgLnRleHRDb2xvdXJCbG9jayB0YWJsZSxcbiAgICAubWNlQ29udGVudEJvZHkgdGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC53eXNpd3lnIHRhYmxlIHRoLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRoLCAud3lzaXd5ZyB0YWJsZSB0ZCwgLnRleHRDb2xvdXJCbG9jayB0YWJsZSB0ZCxcbiAgLm1jZUNvbnRlbnRCb2R5IHRhYmxlIHRoLFxuICAubWNlQ29udGVudEJvZHkgdGFibGUgdGQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gICAgLnd5c2l3eWcgdGFibGUgdGggYSwgLnRleHRDb2xvdXJCbG9jayB0YWJsZSB0aCBhLCAud3lzaXd5ZyB0YWJsZSB0ZCBhLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRkIGEsXG4gICAgLm1jZUNvbnRlbnRCb2R5IHRhYmxlIHRoIGEsXG4gICAgLm1jZUNvbnRlbnRCb2R5IHRhYmxlIHRkIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAud3lzaXd5ZyB0YWJsZSB0aCBhOmhvdmVyLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRoIGE6aG92ZXIsIC53eXNpd3lnIHRhYmxlIHRoIGE6YWN0aXZlLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRoIGE6YWN0aXZlLCAud3lzaXd5ZyB0YWJsZSB0ZCBhOmhvdmVyLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRkIGE6aG92ZXIsIC53eXNpd3lnIHRhYmxlIHRkIGE6YWN0aXZlLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRkIGE6YWN0aXZlLFxuICAgICAgLm1jZUNvbnRlbnRCb2R5IHRhYmxlIHRoIGE6aG92ZXIsXG4gICAgICAubWNlQ29udGVudEJvZHkgdGFibGUgdGggYTphY3RpdmUsXG4gICAgICAubWNlQ29udGVudEJvZHkgdGFibGUgdGQgYTpob3ZlcixcbiAgICAgIC5tY2VDb250ZW50Qm9keSB0YWJsZSB0ZCBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAud3lzaXd5ZyB0YWJsZSB0ZCwgLnRleHRDb2xvdXJCbG9jayB0YWJsZSB0ZCxcbiAgLm1jZUNvbnRlbnRCb2R5IHRhYmxlIHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmOyB9XG4gIC53eXNpd3lnIHRhYmxlIHRoLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRoLFxuICAubWNlQ29udGVudEJvZHkgdGFibGUgdGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7IH1cbiAgLnd5c2l3eWcgdGFibGUgdGg6ZW1wdHksIC50ZXh0Q29sb3VyQmxvY2sgdGFibGUgdGg6ZW1wdHksXG4gIC5tY2VDb250ZW50Qm9keSB0YWJsZSB0aDplbXB0eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnd5c2l3eWcgdGFibGUgdGQ6Zmlyc3QtY2hpbGQsIC50ZXh0Q29sb3VyQmxvY2sgdGFibGUgdGQ6Zmlyc3QtY2hpbGQsXG4gIC53eXNpd3lnIHRhYmxlIHRoOmZpcnN0LWNoaWxkLCAudGV4dENvbG91ckJsb2NrIHRhYmxlIHRoOmZpcnN0LWNoaWxkLFxuICAubWNlQ29udGVudEJvZHkgdGFibGUgdGQ6Zmlyc3QtY2hpbGQsXG4gIC5tY2VDb250ZW50Qm9keSB0YWJsZSB0aDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuLyogQ29sb3VyZWQgdGFibGUgKE9iamVjdGl2ZXMpICovXG50YWJsZS50YWJsZUNvbG91cmVkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgdGFibGUudGFibGVDb2xvdXJlZCB0aCwgdGFibGUudGFibGVDb2xvdXJlZCB0ZCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgdGFibGUudGFibGVDb2xvdXJlZCB0aCBhLCB0YWJsZS50YWJsZUNvbG91cmVkIHRkIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgdGFibGUudGFibGVDb2xvdXJlZCB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgdGFibGUudGFibGVDb2xvdXJlZCB0ciB0ZDpudGgtY2hpbGQoMSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUudGFibGVDb2xvdXJlZCB0ciB0ZDpudGgtY2hpbGQoMiksXG4gIHRhYmxlLnRhYmxlQ29sb3VyZWQgdHIgdGQ6bnRoLWNoaWxkKDUpLFxuICB0YWJsZS50YWJsZUNvbG91cmVkIHRyIHRkOm50aC1jaGlsZCg4KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuICB0YWJsZS50YWJsZUNvbG91cmVkIHRyIHRkOm50aC1jaGlsZCgzKSxcbiAgdGFibGUudGFibGVDb2xvdXJlZCB0ciB0ZDpudGgtY2hpbGQoNiksXG4gIHRhYmxlLnRhYmxlQ29sb3VyZWQgdHIgdGQ6bnRoLWNoaWxkKDkpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA2MDk4OyB9XG4gIHRhYmxlLnRhYmxlQ29sb3VyZWQgdHIgdGQ6bnRoLWNoaWxkKDQpLFxuICB0YWJsZS50YWJsZUNvbG91cmVkIHRyIHRkOm50aC1jaGlsZCg3KSxcbiAgdGFibGUudGFibGVDb2xvdXJlZCB0ciB0ZDpudGgtY2hpbGQoMTApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE5OThmOyB9XG5cbi8qIG9sZCBJRXMgKi9cbi5sdC1pZTkgdGFibGUudGFibGVDb2xvdXJlZCB0aCwgLmx0LWllOSB0YWJsZS50YWJsZUNvbG91cmVkIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmOyB9XG5cbi5sdC1pZTkgdGFibGUudGFibGVDb2xvdXJlZCB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyogQ29sb3VyZWQgdGFibGUgKE9iamVjdGl2ZXMpICovXG50YWJsZS50YWJsZVBsdW0ge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICB0YWJsZS50YWJsZVBsdW0gdGgsIHRhYmxlLnRhYmxlUGx1bSB0ZCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH1cbiAgICB0YWJsZS50YWJsZVBsdW0gdGggYSwgdGFibGUudGFibGVQbHVtIHRkIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgdGFibGUudGFibGVQbHVtIHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWIwMTQ5OyB9XG4gIHRhYmxlLnRhYmxlUGx1bSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxudGFibGUuYXR0ZW5kZWVzIHRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxudGFibGUuYXR0ZW5kZWVzIHRoOmVtcHR5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTsgfVxuXG50YWJsZS5hdHRlbmRlZXMgLmljb24tZWRpdCxcbnRhYmxlLmF0dGVuZGVlcyAuaWNvbi1kZWxldGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07IH1cblxudGFibGUuYXR0ZW5kZWVzIC5pY29uLWVkaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgdGFibGUuYXR0ZW5kZWVzIC5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcyM3B4IC01MTJweDtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5uby1zdmcgdGFibGUuYXR0ZW5kZWVzIC5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcyM3B4IC01MTJweDsgfVxuICAgIC5zdmcgdGFibGUuYXR0ZW5kZWVzIC5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvaWNvbi1lZGl0LXBpbmsuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbnRhYmxlLmF0dGVuZGVlcyAuaWNvbi1kZWxldGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgdGFibGUuYXR0ZW5kZWVzIC5pY29uLWRlbGV0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzcxcHggLTUxMnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLm5vLXN2ZyB0YWJsZS5hdHRlbmRlZXMgLmljb24tZGVsZXRlOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC03NzFweCAtNTEycHg7IH1cbiAgICAuc3ZnIHRhYmxlLmF0dGVuZGVlcyAuaWNvbi1kZWxldGU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvY3Jvc3MtcGluay5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgdGFibGUgdGgsIHRhYmxlIHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICBUQUJMRVM6IFJlc3BvbnNpdmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxyXG4gICAgMi4gTU9CSUxFIChzY3JvbGwgdG8gdGhlIHJpZ2h0KVxyXG4gICAgVGhlIHVzZXIgY2FuIHN3aXBlIHJpZ2h0IGFuZCBsZWZ0IHRvIGhvcml6b250YWwgc2Nyb2xsIHRoZSB0YWJsZS5cclxuKi9cbi5yZXNwVGJsT3V0ZXJXcmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5yZXNwVGJsT3V0ZXJXcmFwIHRhYmxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnJlc3BUYmxJbm5lcldyYXAge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJlc3BUYmxJbm5lcldyYXAtc2Nyb2xsIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6IDEwMjVweCkge1xuICAgIC5yZXNwVGJsSW5uZXJXcmFwLXNjcm9sbCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgNTNweCAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucmVzcFRibElubmVyV3JhcC1zY3JvbGw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTE3cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2ljb24tc2Nyb2xsLXRhYmxlLnN2Zykgbm8tcmVwZWF0IDAgMDsgfSB9XG5cbi5ldmVudFNlYXJjaEJsb2NrIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmV2ZW50U2VhcmNoQmxvY2sgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5ldmVudFNlYXJjaEJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuZXZlbnRTZWFyY2hCbG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLmV2ZW50U2VhcmNoQmxvY2sgLmZvcm0tcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmV2ZW50U2VhcmNoQmxvY2sgbGFiZWwsXG4gIC5ldmVudFNlYXJjaEJsb2NrIGxlZ2VuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZXZlbnRTZWFyY2hCbG9jay1yZXN1bHRzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAuZXZlbnRTZWFyY2hCbG9jay1yZXN1bHRzLW5vbmUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICNkNTAwNTg7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gICAgLmV2ZW50U2VhcmNoQmxvY2stcmVzdWx0cy1zdGF0cyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5ldmVudFNlYXJjaEJsb2NrLXJlc3VsdHMgLmZvcm0tcm93IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5ldmVudFNlYXJjaEJsb2NrLXJlc3VsdHMtc3RhdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAuZXZlbnRTZWFyY2hCbG9jay1yZXN1bHRzLXN0YXRzLFxuICAgICAgLmV2ZW50U2VhcmNoQmxvY2stcmVzdWx0cyAuZm9ybS1yb3cge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtYXgtd2lkdGg6IDYxLjE4OGVtKSB7XG4gICAgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja18zY29scyAuZm9ybS1yb3csIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfNGNvbHMgLmZvcm0tcm93IHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDYlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyJTsgfVxuICAgIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfM2NvbHMgLmJ0biwgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja18zY29scyAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC54Zm9ybSAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzNjb2xzIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzNjb2xzIC5idG5fYXJyb3csIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfM2NvbHMgLmJ0bl93aGl0ZV9hcnJvdywgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja18zY29scyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja18zY29scyAuYnRuX3doaXRlLCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzNjb2xzIC5idG5fd2hpdGVfYm9yZGVyLCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzNjb2xzIC5idG5fbWVkaWEsIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfNGNvbHMgLmJ0biwgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja180Y29scyAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC54Zm9ybSAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzRjb2xzIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzRjb2xzIC5idG5fYXJyb3csIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfNGNvbHMgLmJ0bl93aGl0ZV9hcnJvdywgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja180Y29scyAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmV2ZW50U2VhcmNoQmxvY2suZXZlbnRTZWFyY2hCbG9ja180Y29scyAuYnRuX3doaXRlLCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzRjb2xzIC5idG5fd2hpdGVfYm9yZGVyLCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzRjb2xzIC5idG5fbWVkaWEge1xuICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfM2NvbHMgLmZvcm0tcm93IHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzIlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIlOyB9XG4gICAgICAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzNjb2xzIC5mb3JtLXJvdzpudGgtb2YtdHlwZSgzbiArIDEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAubHQtaWU5IC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfM2NvbHMgLmZvcm0tcm93IHtcbiAgICAgICAgd2lkdGg6IDMxJTsgfVxuICAgIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfNGNvbHMge1xuICAgICAgbWFyZ2luLXRvcDogLTQwcHg7IH1cbiAgICAgIC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfNGNvbHMgLmZvcm0tcm93IHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMjMlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMi41JTsgfVxuICAgICAgICAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzRjb2xzIC5mb3JtLXJvdzpudGgtb2YtdHlwZSg0biArIDEpIHtcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAubHQtaWU5IC5ldmVudFNlYXJjaEJsb2NrLmV2ZW50U2VhcmNoQmxvY2tfNGNvbHMgLmZvcm0tcm93IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS41JTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmwtcm93LTEwMCAubC1jb250ZW50X2luZGVudCAuZXZlbnRTZWFyY2hCbG9jay5ldmVudFNlYXJjaEJsb2NrXzRjb2xzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTIuNSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMi41JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTsgfSB9XG4gIC5ldmVudFNlYXJjaEJsb2NrIC5idG4sIC5ldmVudFNlYXJjaEJsb2NrIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnhmb3JtIC5ldmVudFNlYXJjaEJsb2NrIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAuZXZlbnRTZWFyY2hCbG9jayAuYnRuX2Fycm93LCAuZXZlbnRTZWFyY2hCbG9jayAuYnRuX3doaXRlX2Fycm93LCAuZXZlbnRTZWFyY2hCbG9jayAuYnRuX3doaXRlX2JvcmRlcl9hcnJvdywgLmV2ZW50U2VhcmNoQmxvY2sgLmJ0bl93aGl0ZSwgLmV2ZW50U2VhcmNoQmxvY2sgLmJ0bl93aGl0ZV9ib3JkZXIsIC5ldmVudFNlYXJjaEJsb2NrIC5idG5fbWVkaWEge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmV2ZW50U2VhcmNoQmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubGlua1RhYnMge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5saW5rVGFicyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLmxpbmtUYWJzLW5hdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmxpbmtUYWJzLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZWRlZGU7IH1cbiAgICAubGlua1RhYnMtaXRlbSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmxpbmtUYWJzLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMzcuNDM4ZW0pIHtcbiAgICAgIC5saW5rVGFicy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZWRlZGU7IH0gfVxuICAgIC5saW5rVGFicy1pdGVtX2FjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICAubGlua1RhYnMtaXRlbV9hY3RpdmUgLmxpbmtUYWJzLWxpbmsge1xuICAgICAgICBjb2xvcjogI2Q1MDA1ODsgfVxuICAgICAgICAubGlua1RhYnMtaXRlbV9hY3RpdmUgLmxpbmtUYWJzLWxpbms6aG92ZXIsIC5saW5rVGFicy1pdGVtX2FjdGl2ZSAubGlua1RhYnMtbGluazpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNkNTAwNTg7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5saW5rVGFicy1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZWRlZGU7IH1cbiAgICAgICAgLmxpbmtUYWJzLWl0ZW1fYWN0aXZlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkZWRlZGU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5saW5rVGFicy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgICAubGlua1RhYnMtaXRlbTpmaXJzdC1jaGlsZC5saW5rVGFicy1pdGVtX2FjdGl2ZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLmxpbmtUYWJzLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNhZWFkYWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmxpbmtUYWJzLWxpbms6aG92ZXIsIC5saW5rVGFicy1saW5rOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmxpbmtUYWJzLWxpbms6aG92ZXIsIC5saW5rVGFicy1saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjYWVhZGFlOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAubGlua1RhYnMtbGluayB7XG4gICAgICAgIG1heC13aWR0aDogMTkwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmxpbmtUYWJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnN5bGxhYnVzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5zeWxsYWJ1cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnN5bGxhYnVzLWhlYWRlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzdiNmE1ZCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDBkMGQxO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5zeWxsYWJ1cy1sZXZlbC10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc3lsbGFidXMgLmxlYWRUaXRsZV9waW5rIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgLnN5bGxhYnVzLWxldmVsIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5zeWxsYWJ1cy1sZXZlbDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5zeWxsYWJ1cy10YWJzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gIC5zeWxsYWJ1cy10YWJzLWl0ZW0ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLnN5bGxhYnVzLXRhYnMtaXRlbSBzdHJvbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc3lsbGFidXMtdGFicy1pdGVtIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuc3lsbGFidXMtdGFicy1pdGVtX3BsdW0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuICAgIC5zeWxsYWJ1cy10YWJzLWl0ZW1fcGlua19saWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA2MDk4OyB9XG4gICAgLnN5bGxhYnVzLXRhYnMtaXRlbV9ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzE5OThmOyB9XG4gICAgLnN5bGxhYnVzLXRhYnMtaXRlbV9icm93bl9saWdodCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZDJjZTtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuc3lsbGFidXMtdGFicy1pdGVtX2Jyb3duX2xpZ2h0IHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAuc3lsbGFidXMtdGFicy1pdGVtX2Jyb3duX2xpZ2h0IGEge1xuICAgICAgICBjb2xvcjogIzRkNGQ0ZjsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLnN5bGxhYnVzLXRhYnMtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2VlZWVlZjtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4IDMwcHggMjBweDtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDEuMjVyZW0gMS44NzVyZW0gMS4yNXJlbTsgfVxuICAgICAgICAuc3lsbGFidXMtdGFicy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgICAuc3lsbGFidXMtdGFicy1pdGVtX2Jyb3duX2xpZ2h0IHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDVweDtcbiAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC4zMTI1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgLnN5bGxhYnVzLXRhYnMtaXRlbV9icm93bl9saWdodCB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMnB4O1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC4xMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH0gfVxuXG4vKiBhZGQgdGhlIHRyaWFuZ2xlIHNoYXBlICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLnN5bGxhYnVzLXRhYnMtdHJpYW5nbGUge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc3lsbGFidXMtdGFicy10cmlhbmdsZSAuc3lsbGFidXMtdGFicy1pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9XG4gICAgICAuc3lsbGFidXMtdGFicy10cmlhbmdsZSAuc3lsbGFidXMtdGFicy1pdGVtIC5zeWxsYWJ1cy10cmlhbmdsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgLnN5bGxhYnVzLXRhYnMtdHJpYW5nbGUgLnN5bGxhYnVzLXRhYnMtaXRlbSAuc3lsbGFidXMtdHJpYW5nbGUgLm5pYiB7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwcHg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwMHB4IHNvbGlkICNlZWVlZWY7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMDBweCBzb2xpZCAjZWVlZWVmO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDEwMHB4IHNvbGlkIHJlZDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgyKTsgfVxuICAgICAgLnN5bGxhYnVzLXRhYnMtdHJpYW5nbGUgLnN5bGxhYnVzLXRhYnMtaXRlbS5zeWxsYWJ1cy10YWJzLWl0ZW1fcGx1bSAubmliIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgIzc3MDIzZjsgfVxuICAgICAgLnN5bGxhYnVzLXRhYnMtdHJpYW5nbGUgLnN5bGxhYnVzLXRhYnMtaXRlbS5zeWxsYWJ1cy10YWJzLWl0ZW1fcGlua19saWdodCAubmliIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgI2YwNjA5ODsgfVxuICAgICAgLnN5bGxhYnVzLXRhYnMtdHJpYW5nbGUgLnN5bGxhYnVzLXRhYnMtaXRlbS5zeWxsYWJ1cy10YWJzLWl0ZW1fZ3JlZW4gLm5pYiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDEwMHB4IHNvbGlkICMzMTk5OGY7IH1cbiAgICAgIC5zeWxsYWJ1cy10YWJzLXRyaWFuZ2xlIC5zeWxsYWJ1cy10YWJzLWl0ZW0uc3lsbGFidXMtdGFicy1pdGVtX2Jyb3duX2xpZ2h0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICAgICAgLnN5bGxhYnVzLXRhYnMtdHJpYW5nbGUgLnN5bGxhYnVzLXRhYnMtaXRlbS5zeWxsYWJ1cy10YWJzLWl0ZW1fYnJvd25fbGlnaHQgLm5pYiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgI2Q3ZDJjZTsgfSB9XG5cbi5zeWxsYWJ1cy1hd2FyZHMge1xuICBjbGVhcjogYm90aDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZDUwMDU4O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgbWFyZ2luLXRvcDogLTAuNzVyZW07IH1cbiAgLnN5bGxhYnVzLWF3YXJkcyBzcGFuIHtcbiAgICBjb2xvcjogIzE2OTBjOTsgfVxuXG4uc3lsbGFidXMtaW5kZXgge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAxNXB4IDAgMCAwICFpbXBvcnRhbnQ7IH1cbiAgLnN5bGxhYnVzLWluZGV4LWl0ZW0ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzsgfVxuICAgIC5zeWxsYWJ1cy1pbmRleC1pdGVtX3BsdW0ge1xuICAgICAgY29sb3I6ICM3NzAyM2Y7IH1cbiAgICAuc3lsbGFidXMtaW5kZXgtaXRlbV9waW5rX2xpZ2h0IHtcbiAgICAgIGNvbG9yOiAjZjA2MDk4OyB9XG4gICAgLnN5bGxhYnVzLWluZGV4LWl0ZW1fZ3JlZW4ge1xuICAgICAgY29sb3I6ICMzMTk5OGY7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5zeWxsYWJ1cy1pbmRleC1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMy43NXJlbTsgfSB9XG5cbi5zaXRlU2VhcmNoQmxvY2sge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuc2l0ZVNlYXJjaEJsb2NrID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuc2l0ZVNlYXJjaEJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuc2l0ZVNlYXJjaEJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAuc2l0ZVNlYXJjaEJsb2NrLXRpdGxlIHNwYW4ge1xuICAgIGNvbG9yOiAjZDUwMDU4OyB9XG4gIC5zaXRlU2VhcmNoQmxvY2sta2V5d29yZCB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLXRvcDogLTAuNjI1cmVtOyB9XG4gIC5zaXRlU2VhcmNoQmxvY2sgLmZvcm0tcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnNpdGVTZWFyY2hCbG9jayBsYWJlbCxcbiAgLnNpdGVTZWFyY2hCbG9jayBsZWdlbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLnNpdGVTZWFyY2hCbG9jay5zaXRlU2VhcmNoQmxvY2tfMmNvbHMgLmZvcm0tcm93IHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDglO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQlOyB9XG4gICAgICAuc2l0ZVNlYXJjaEJsb2NrLnNpdGVTZWFyY2hCbG9ja18yY29scyAuZm9ybS1yb3c6bnRoLW9mLXR5cGUoMm4gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgLmx0LWllOSAuc2l0ZVNlYXJjaEJsb2NrLnNpdGVTZWFyY2hCbG9ja18yY29scyAuZm9ybS1yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogMiU7IH0gfVxuICAuc2l0ZVNlYXJjaEJsb2NrIC5idG4sIC5zaXRlU2VhcmNoQmxvY2sgLnhmb3JtIGlucHV0W3R5cGU9J3N1Ym1pdCddLCAueGZvcm0gLnNpdGVTZWFyY2hCbG9jayBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnNpdGVTZWFyY2hCbG9jayAuYnRuX2Fycm93LCAuc2l0ZVNlYXJjaEJsb2NrIC5idG5fd2hpdGVfYXJyb3csIC5zaXRlU2VhcmNoQmxvY2sgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5zaXRlU2VhcmNoQmxvY2sgLmJ0bl93aGl0ZSwgLnNpdGVTZWFyY2hCbG9jayAuYnRuX3doaXRlX2JvcmRlciwgLnNpdGVTZWFyY2hCbG9jayAuYnRuX21lZGlhIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAxLjVlbSAwIDAgMDsgfVxuICAuc2l0ZVNlYXJjaEJsb2NrLmxvZ2luIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnNpdGVTZWFyY2hCbG9jay5sb2dpbiAuYnRuLCAuc2l0ZVNlYXJjaEJsb2NrLmxvZ2luIC54Zm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnhmb3JtIC5zaXRlU2VhcmNoQmxvY2subG9naW4gaW5wdXRbdHlwZT0nc3VibWl0J10sIC5zaXRlU2VhcmNoQmxvY2subG9naW4gLmJ0bl9hcnJvdywgLnNpdGVTZWFyY2hCbG9jay5sb2dpbiAuYnRuX3doaXRlX2Fycm93LCAuc2l0ZVNlYXJjaEJsb2NrLmxvZ2luIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93LCAuc2l0ZVNlYXJjaEJsb2NrLmxvZ2luIC5idG5fd2hpdGUsIC5zaXRlU2VhcmNoQmxvY2subG9naW4gLmJ0bl93aGl0ZV9ib3JkZXIsIC5zaXRlU2VhcmNoQmxvY2subG9naW4gLmJ0bl9tZWRpYSB7XG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG4gIC5zaXRlU2VhcmNoQmxvY2tfaGlnaGxpZ2h0IHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2Q1MDA1ODsgfVxuXG4ucmVzdWx0LWNvbnRyeSB7XG4gIG1hcmdpbi10b3A6IC0xMHB4OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5zaXRlU2VhcmNoQmxvY2ssXG4gIC5zZWFyY2hSZXN1bHRzLXN0YXRzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnJlc2VhcmNoU2VhcmNoQmxvY2sge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAucmVzZWFyY2hTZWFyY2hCbG9jayA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnJlc2VhcmNoU2VhcmNoQmxvY2sge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5yZXNlYXJjaFNlYXJjaEJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAucmVzZWFyY2hTZWFyY2hCbG9jay10aXRsZSB7XG4gICAgY29sb3I6ICNkNTAwNTg7IH1cbiAgLnJlc2VhcmNoU2VhcmNoQmxvY2sgLmZvcm0tcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLnJlc2VhcmNoU2VhcmNoQmxvY2sgbGFiZWwsXG4gIC5yZXNlYXJjaFNlYXJjaEJsb2NrIGxlZ2VuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAucmVzZWFyY2hTZWFyY2hCbG9jay1yZXN1bHRzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucmVzZWFyY2hTZWFyY2hCbG9jay1yZXN1bHRzLW5vbmUge1xuICAgICAgY29sb3I6ICNkNTAwNTg7XG4gICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIC5yZXNlYXJjaFNlYXJjaEJsb2NrLnJlc2VhcmNoU2VhcmNoQmxvY2tfM2NvbHMgLmZvcm0tcm93IHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzElO1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuNSU7IH1cbiAgICAgIC5yZXNlYXJjaFNlYXJjaEJsb2NrLnJlc2VhcmNoU2VhcmNoQmxvY2tfM2NvbHMgLmZvcm0tcm93Om50aC1vZi10eXBlKDNuICsgMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAucmVzZWFyY2hTZWFyY2hCbG9jayAuYnRuLCAucmVzZWFyY2hTZWFyY2hCbG9jayAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC54Zm9ybSAucmVzZWFyY2hTZWFyY2hCbG9jayBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnJlc2VhcmNoU2VhcmNoQmxvY2sgLmJ0bl9hcnJvdywgLnJlc2VhcmNoU2VhcmNoQmxvY2sgLmJ0bl93aGl0ZV9hcnJvdywgLnJlc2VhcmNoU2VhcmNoQmxvY2sgLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3csIC5yZXNlYXJjaFNlYXJjaEJsb2NrIC5idG5fd2hpdGUsIC5yZXNlYXJjaFNlYXJjaEJsb2NrIC5idG5fd2hpdGVfYm9yZGVyLCAucmVzZWFyY2hTZWFyY2hCbG9jayAuYnRuX21lZGlhIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwIDA7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnJlc2VhcmNoU2VhcmNoQmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2VhcmNoUmVzdWx0cy1zdGF0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWY7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5zZWFyY2hSZXN1bHRzLXN0YXRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaFJlc3VsdHMtc3RhdHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgLnNlYXJjaFJlc3VsdHMtc3RhdHMgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNkNTAwNTg7IH1cblxuLnNlYXJjaFJlc3VsdHMge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuc2VhcmNoUmVzdWx0cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnNlYXJjaFJlc3VsdHMtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMjVweCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxLjU2MjVyZW0gMS4yNXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QwZDBkMTsgfVxuICAuc2VhcmNoUmVzdWx0cy1pdGVtLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgLnNlYXJjaFJlc3VsdHMtaXRlbS1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zZWFyY2hSZXN1bHRzLWl0ZW0tbGluazpob3ZlciwgLnNlYXJjaFJlc3VsdHMtaXRlbS1saW5rOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnNlYXJjaFJlc3VsdHMtaXRlbS1saW5rOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjIycHggLTUxMnB4O1xuICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHggMTZweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBsZWZ0OiAtMjBweDtcbiAgICAgIHRvcDogMnB4OyB9XG4gICAgICAubm8tc3ZnIC5zZWFyY2hSZXN1bHRzLWl0ZW0tbGluazpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTYyMnB4IC01MTJweDsgfVxuICAgICAgLnN2ZyAuc2VhcmNoUmVzdWx0cy1pdGVtLWxpbms6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9hcnJvdy1waW5rLXJpZ2h0LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5zZWFyY2hSZXN1bHRzLWl0ZW0tZGV0YWlscyB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLnNlYXJjaFJlc3VsdHMtaXRlbS1ib2R5IHtcbiAgICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnNlYXJjaFJlc3VsdHMtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuc2VhcmNoUmVzdWx0cy1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiBub25lOyB9IH1cblxuLnNlYXJjaFJlc3VsdHNaZWJyYSB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5zZWFyY2hSZXN1bHRzWmVicmEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5zZWFyY2hSZXN1bHRzWmVicmEtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjVmYjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFyY2hSZXN1bHRzWmVicmEtaXRlbSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDsgfSB9XG4gICAgLnNlYXJjaFJlc3VsdHNaZWJyYS1pdGVtOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmY0ZWE7IH1cbiAgLnNlYXJjaFJlc3VsdHNaZWJyYS1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgLnNlYXJjaFJlc3VsdHNaZWJyYS1saW5rOmhvdmVyLCAuc2VhcmNoUmVzdWx0c1plYnJhLWxpbms6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnNlYXJjaFJlc3VsdHNaZWJyYS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWFyY2hSZXN1bHRzWmVicmEtbGluayB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4uc2VhcmNoUmVzdWx0RGV0YWlscyB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnNlYXJjaFJlc3VsdERldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5zZWFyY2hSZXN1bHREZXRhaWxzLWhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAgIC5zZWFyY2hSZXN1bHREZXRhaWxzLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5zZWFyY2hSZXN1bHREZXRhaWxzLW5hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cbiAgLnNlYXJjaFJlc3VsdERldGFpbHMtYWRkcmVzcyB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFyY2hSZXN1bHREZXRhaWxzLWFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuc2VhcmNoUmVzdWx0RGV0YWlscy1idG4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VhcmNoUmVzdWx0RGV0YWlscy1idG4gYVtjbGFzc149J2J0biddIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuc2VhcmNoUmVzdWx0RGV0YWlscy1kZXRhaWxzIGgzIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFyY2hSZXN1bHREZXRhaWxzLWRldGFpbHMgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkZCwgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkZC50aW50MSwgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkdC50aW50MSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGY1ZmI7IH1cbiAgICAgIC5zZWFyY2hSZXN1bHREZXRhaWxzLWxpc3QgZGQudGludDIsIC5zZWFyY2hSZXN1bHREZXRhaWxzLWxpc3QgZHQudGludDIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmNGVhOyB9XG4gICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNDM3NXJlbTsgfVxuICAgIC5zZWFyY2hSZXN1bHREZXRhaWxzLWxpc3QgZHQge1xuICAgICAgcGFkZGluZy10b3A6IDdweDtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjQzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkdC5maXJzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuICAgICAgICAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IGRkLCAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IGR0IHtcbiAgICAgICAgICBwYWRkaW5nOiA3cHggN3B4IDdweCAyMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwLjQzNzVyZW0gMC40Mzc1cmVtIDEuMjVyZW07IH1cbiAgICAgICAgICAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IGRkLmZpcnN0LCAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IGR0LmZpcnN0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5zZWFyY2hSZXN1bHREZXRhaWxzLWxpc3QgZHQge1xuICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHdpZHRoOiAzNSU7IH1cbiAgICAgICAgLnNlYXJjaFJlc3VsdERldGFpbHMtbGlzdCBkZCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IGRkLCAuc2VhcmNoUmVzdWx0RGV0YWlscy1saXN0IGR0IHtcbiAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAuc2VhcmNoUmVzdWx0RGV0YWlscy1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYWNjb3VudGFudExpc3Rpbmcge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3VudGFudExpc3RpbmctaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGY1ZmI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5hY2NvdW50YW50TGlzdGluZy1pdGVtID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuYWNjb3VudGFudExpc3RpbmctaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgICAuYWNjb3VudGFudExpc3RpbmctaXRlbTpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmNGVhOyB9XG4gIC5hY2NvdW50YW50TGlzdGluZy1uYW1lLCAuYWNjb3VudGFudExpc3RpbmctYWRkcmVzcyB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5hY2NvdW50YW50TGlzdGluZy1uYW1lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLmFjY291bnRhbnRMaXN0aW5nIC5idG5fd2hpdGUsIC5hY2NvdW50YW50TGlzdGluZyAuYnRuX3doaXRlX2JvcmRlciB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM4ZW0pIHtcbiAgICAuYWNjb3VudGFudExpc3RpbmctaXRlbSB7XG4gICAgICBtaW4taGVpZ2h0OiA5MHB4OyB9XG4gICAgLmFjY291bnRhbnRMaXN0aW5nLWFkZHJlc3Mge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5hY2NvdW50YW50TGlzdGluZy1uYW1lLCAuYWNjb3VudGFudExpc3RpbmctYWRkcmVzcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMjBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEzLjc1cmVtOyB9XG4gICAgLmFjY291bnRhbnRMaXN0aW5nLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogMTVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hY2NvdW50YW50TGlzdGluZy1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAgIC5hY2NvdW50YW50TGlzdGluZy1uYW1lLCAuYWNjb3VudGFudExpc3RpbmctYWRkcmVzcywgLmFjY291bnRhbnRMaXN0aW5nLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDMwcHggc29saWQgI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMCAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9XG4gICAgLmFjY291bnRhbnRMaXN0aW5nLW5hbWUge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5hY2NvdW50YW50TGlzdGluZy1hZGRyZXNzIHtcbiAgICAgIHdpZHRoOiA0NSU7IH1cbiAgICAuYWNjb3VudGFudExpc3RpbmctYnV0dG9uIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgLmFjY291bnRhbnRMaXN0aW5nLW5hbWUsIC5hY2NvdW50YW50TGlzdGluZy1hZGRyZXNzLCAuYWNjb3VudGFudExpc3RpbmctYnV0dG9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTsgfVxuICAuYWNjb3VudGFudExpc3RpbmctYnV0dG9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmFjY291bnRhbnRMaXN0aW5nLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFjY291bnRhbnRMaXN0aW5nLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWNjb3VudGFudExpc3RpbmctbmFtZSwgLmFjY291bnRhbnRMaXN0aW5nLWFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbkJhc2ljIFN0eWxlXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmZvcm1TdGVwcyB7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVmO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyNXB4O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAwLjYyNXJlbSAxLjU2MjVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5mb3JtU3RlcHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5mb3JtU3RlcHMgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMDsgfVxuICAuZm9ybVN0ZXBzIGxpID4gKiB7XG4gICAgLyogc2luZ2xlIHN0ZXAgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICM0ZDRkNGY7IH1cbiAgLmZvcm1TdGVwcyBsaS5jdXJyZW50ID4gKiB7XG4gICAgLyogc2VsZWN0ZWQgc3RlcCAqL1xuICAgIGNvbG9yOiAjZDUwMDU4OyB9XG4gIC5uby10b3VjaCAuZm9ybVN0ZXBzIGE6aG92ZXIge1xuICAgIC8qIHN0ZXBzIGFscmVhZHkgdmlzaXRlZCAqL1xuICAgIGNvbG9yOiAjZDUwMDU4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuVHJpYW5nbGUgYnJlYWRjcnVtYlxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDY0LjA2M2VtKSB7XG4gIC5mb3JtU3RlcHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTQlOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gIC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIHtcbiAgICAvKiByZXNldCBiYXNpYyBzdHlsZSAqL1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmZvcm1TdGVwcy5mb3JtU3RlcHNfdHJpYW5nbGUgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiA0cHggNHB4IDRweCAwOyB9XG4gICAgICAuZm9ybVN0ZXBzLmZvcm1TdGVwc190cmlhbmdsZSBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuZm9ybVN0ZXBzLmZvcm1TdGVwc190cmlhbmdsZSBsaSA+ICoge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMWVtIC41ZW0gMWVtIDJlbTtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgICAgIC8qIHRoZSBib3JkZXIgY29sb3IgaXMgdXNlZCB0byBzdHlsZSBpdHMgOjphZnRlciBwc2V1ZG8tZWxlbWVudCAqL1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVmOyB9XG4gICAgICAubHQtaWU5IC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGxpID4gKiB7XG4gICAgICAgIHBhZGRpbmc6IDFlbTsgfVxuICAgIC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGxpLmN1cnJlbnQgPiAqIHtcbiAgICAgIC8qIHNlbGVjdGVkIHN0ZXAgKi9cbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1MDA1ODtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q1MDA1ODsgfVxuICAgICAgLmZvcm1TdGVwcy5mb3JtU3RlcHNfdHJpYW5nbGUgbGkuY3VycmVudCA+ICogc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGxpOmZpcnN0LW9mLXR5cGUgPiAqIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS42ZW07IH1cbiAgICAuZm9ybVN0ZXBzLmZvcm1TdGVwc190cmlhbmdsZSBsaTpsYXN0LW9mLXR5cGUgPiAqIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNmVtOyB9XG4gICAgLm5vLXRvdWNoIC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGE6aG92ZXIge1xuICAgICAgLyogc3RlcHMgYWxyZWFkeSB2aXNpdGVkICovXG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDRkNGY7XG4gICAgICBib3JkZXItY29sb3I6ICM0ZDRkNGY7IH1cbiAgICAuZm9ybVN0ZXBzLmZvcm1TdGVwc190cmlhbmdsZSBsaTo6YWZ0ZXIsIC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGxpID4gKjo6YWZ0ZXIge1xuICAgICAgLyogXHJcblx0XHRcdFx0bGkgPiAqOjphZnRlciBpcyB0aGUgY29sb3JlZCB0cmlhbmdsZSBhZnRlciBlYWNoIGl0ZW1cclxuXHRcdFx0XHRsaTo6YWZ0ZXIgaXMgdGhlIHdoaXRlIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBpdGVtc1xyXG5cdFx0XHQqL1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIC8qIDQ4cHggaXMgdGhlIGhlaWdodCBvZiB0aGUgPGE+IGVsZW1lbnQgKi9cbiAgICAgIGJvcmRlcjogMjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAyMHB4OyB9XG4gICAgLmZvcm1TdGVwcy5mb3JtU3RlcHNfdHJpYW5nbGUgbGk6OmFmdGVyIHtcbiAgICAgIC8qIHRoaXMgaXMgdGhlIHdoaXRlIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBpdGVtcyAqL1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG4gICAgICAvKiByZXNldCBzdHlsZSAqL1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvcm1TdGVwcy5mb3JtU3RlcHNfdHJpYW5nbGUgbGkgPiAqOjphZnRlciB7XG4gICAgICAvKiB0aGlzIGlzIHRoZSBjb2xvcmVkIHRyaWFuZ2xlIGFmdGVyIGVhY2ggZWxlbWVudCAqL1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0OyB9XG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmZvcm1TdGVwcy5mb3JtU3RlcHNfdHJpYW5nbGUgbGk6OmFmdGVyLFxuICAgIC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGxpID4gKjo6YWZ0ZXIge1xuICAgICAgLyogZml4IGEgYnVnIG9uIEZpcmVmaXggLSB0b290aCBlZGdlIG9uIGNzcyB0cmlhbmdsZSAqL1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IGRhc2hlZDsgfSB9IH1cblxuLmJvb2tpbmdTdW1tYXJ5IHtcbiAgY2xlYXI6IGJvdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNXB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5ib29raW5nU3VtbWFyeSA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmJvb2tpbmdTdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAuYm9va2luZ1N1bW1hcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5ib29raW5nU3VtbWFyeS10aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ib29raW5nU3VtbWFyeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgLmJvb2tpbmdTdW1tYXJ5LWRldGFpbHMge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5ib29raW5nU3VtbWFyeS1jb3N0IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwNjA5ODtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICAuYm9va2luZ1N1bW1hcnktY29zdC1jZWxsMiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5ib29raW5nU3VtbWFyeS1jb3N0IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAgICAgLmJvb2tpbmdTdW1tYXJ5LWNvc3QgbGkgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5ib29raW5nU3VtbWFyeS1jb3N0IGxpIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjA2MDk4OyB9XG5cbi8qIFNsaWRlciBmdW5jdGlvbmFsaXR5IChET04gTk9UIFRPVUNIKSAqL1xuLnNsaWNrU2xpZGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnNsaWNrLWxpc3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjdXJzb3I6IGhhbmQ7IH1cblxuLnNsaWNrU2xpZGVyIC5zbGljay10cmFjayxcbi5zbGlja1NsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBlbmQgZnVuY3Rpb25hbGlsdHkgKi9cbi8qIE5leHQvcHJldiBhcnJvd3MgKi9cbi5zbGlja1NsaWRlciAuc2xpY2stbmV4dCxcbi5zbGlja1NsaWRlciAuc2xpY2stcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDUwMDU4OyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2xpY2tTbGlkZXIgLnNsaWNrLW5leHQsXG4gICAgLnNsaWNrU2xpZGVyIC5zbGljay1wcmV2IHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC02MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTMuNzVyZW07IH0gfVxuXG4uc2xpY2tTbGlkZXIgLnNsaWNrLXByZXYge1xuICByaWdodDogNjBweDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuaWU4IC5zbGlja1NsaWRlciAuc2xpY2stcHJldiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zbGlja1NsaWRlciAuc2xpY2stZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuMTU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnNsaWNrU2xpZGVyIC5zbGljay1uZXh0LFxuICAuc2xpY2tTbGlkZXIgLnNsaWNrLXByZXYge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qXHJcbiAgICBUaGVtZXM6XHJcbiAgICB0aGVtZXM6IFt0aGVtZV9waW5rIChkZWZhdWx0KSB8IHRoZW1lX2JsdWUgfCB0aGVtZV9ncmV5IF1cclxuXHJcbiovXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIENvbnRlbnQgYWNjb3JkaW9uIHN0eWxpbmcgIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi9cbi5hY2NvcmRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIC8qIHRvZ2dsZSBoZWFkZXIgc3R5bGUgKi9cbiAgLyogaWYgYWN0aXZlICovXG4gIC8qIGNvbnRlbnQgKi8gfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRyaWdnZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10cmlnZ2VyOmhvdmVyLCAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdHJpZ2dlcjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgICBwYWRkaW5nOiAyMHB4IDUwcHggMjBweCAxNXB4O1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMy4xMjVyZW0gMS4yNXJlbSAwLjkzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggNTBweCAyMHB4IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMy4xMjVyZW0gMS4yNXJlbSAxLjg3NXJlbTsgfSB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDIxcHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC5hY2NvcmRpb24gLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQyMXB4IC01MjhweDsgfVxuICAgICAgLnN2ZyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taGVhZGVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wbHVzLXBpbmsuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDMwcHggIWltcG9ydGFudDsgfSB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi1oZWFkZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWhlYWRlcjpob3ZlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDY1cHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC5hY2NvcmRpb24gLmFjY29yZGlvbi1oZWFkZXI6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDsgfVxuICAgICAgLnN2ZyAuYWNjb3JkaW9uIC5hY2NvcmRpb24taGVhZGVyOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wbHVzLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb25fYWN0aXZlIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDU4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm5vLXN2ZyAuYWNjb3JkaW9uIC5hY2NvcmRpb25fYWN0aXZlIC5hY2NvcmRpb24taGVhZGVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nXCIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00NjVweCAtNTI4cHg7IH1cbiAgICAgIC5zdmcgLmFjY29yZGlvbiAuYWNjb3JkaW9uX2FjdGl2ZSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvcGx1cy13aGl0ZS5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi1jb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cblxuLyogQkxVRSAqL1xuLmFjY29yZGlvbi50aGVtZV9ibHVlIHtcbiAgLyogaWYgYWN0aXZlICovXG4gIC8qIGNvbnRlbnQgKi8gfVxuICAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbi1oZWFkZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxNXB4IHNvbGlkICMwZDY1YWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2OTBjOTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm5vLXN2ZyAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDsgfVxuICAgICAgLnN2ZyAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3BsdXMtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmFjY29yZGlvbi50aGVtZV9ibHVlIC5hY2NvcmRpb24taXRlbTpmaXJzdC1vZi10eXBlIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkICMwZDY1YWM7IH1cbiAgLmFjY29yZGlvbi50aGVtZV9ibHVlIC5hY2NvcmRpb24taGVhZGVyOmhvdmVyIHtcbiAgICBjb2xvcjogIzBkNjVhYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRmNWZiO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24udGhlbWVfYmx1ZSAuYWNjb3JkaW9uLWhlYWRlcjpob3ZlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTA5cHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC5hY2NvcmRpb24udGhlbWVfYmx1ZSAuYWNjb3JkaW9uLWhlYWRlcjpob3ZlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTA5cHggLTUyOHB4OyB9XG4gICAgICAuc3ZnIC5hY2NvcmRpb24udGhlbWVfYmx1ZSAuYWNjb3JkaW9uLWhlYWRlcjpob3ZlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvcGx1cy1ibHVlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5hY2NvcmRpb24udGhlbWVfYmx1ZSAuYWNjb3JkaW9uX2FjdGl2ZSAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgY29sb3I6ICMwZDY1YWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZjVmYjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU5N3B4IC01MjhweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm5vLXN2ZyAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTU5N3B4IC01MjhweDsgfVxuICAgICAgLnN2ZyAuYWNjb3JkaW9uLnRoZW1lX2JsdWUgLmFjY29yZGlvbl9hY3RpdmUgLmFjY29yZGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL21pbnVzLWJsdWUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmFjY29yZGlvbi50aGVtZV9ibHVlIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2VkZjVmYjsgfVxuXG4vKiBHUkVZICovXG4uYWNjb3JkaW9uLnRoZW1lX2dyZXkge1xuICAvKiBpZiBhY3RpdmUgKi9cbiAgLyogY29udGVudCAqLyB9XG4gIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgY29sb3I6ICM0ZDRkNGY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDg3cHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDg3cHggLTUyOHB4OyB9XG4gICAgICAuc3ZnIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvcGx1cy1ncmV5LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uLWhlYWRlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGQ0ZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYWNjb3JkaW9uLnRoZW1lX2dyZXkgLmFjY29yZGlvbi1oZWFkZXI6aG92ZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLm5vLXN2ZyAuYWNjb3JkaW9uLnRoZW1lX2dyZXkgLmFjY29yZGlvbi1oZWFkZXI6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDsgfVxuICAgICAgLnN2ZyAuYWNjb3JkaW9uLnRoZW1lX2dyZXkgLmFjY29yZGlvbi1oZWFkZXI6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3BsdXMtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmFjY29yZGlvbi50aGVtZV9ncmV5IC5hY2NvcmRpb25fYWN0aXZlIC5hY2NvcmRpb24taGVhZGVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGQ0ZDRmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uX2FjdGl2ZSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTMxcHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uX2FjdGl2ZSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTMxcHggLTUyOHB4OyB9XG4gICAgICAuc3ZnIC5hY2NvcmRpb24udGhlbWVfZ3JleSAuYWNjb3JkaW9uX2FjdGl2ZSAuYWNjb3JkaW9uLWhlYWRlcjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdmcvbWludXMtd2hpdGUuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLmFjY29yZGlvbi50aGVtZV9ncmV5IC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2VlZWVlZjsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWhlYWRlciB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbi8qIFN0eWxpbmcgKi9cbi50YWJzQWNjb3JkaW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmpzIC50YWJzQWNjb3JkaW9uLW5hdiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5qcyAudGFic0FjY29yZGlvbi1jb250ZW50cyB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmpzIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5qcyAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtX3NlbGVjdGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAudGFic0FjY29yZGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgLnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLWlubmVyID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgICAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAgIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0taW5uZXIgaDIsIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0taW5uZXIgaDMsIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0taW5uZXIgaDQsIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0taW5uZXIgcCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0taW5uZXIgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzOGVtKSB7XG4gIC50YWJzQWNjb3JkaW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJhY2NvcmRpb25cIjtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLXdyYXBwZXJfc3RhdGVfb3BlbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5qcyAudGFic0FjY29yZGlvbi1uYXYtaXRlbSB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogIzliMDE0OTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuanMgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGluayB7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAgIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbms6Zm9jdXMsIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGluazphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDY1cHggLTUyOHB4O1xuICAgICAgd2lkdGg6IDIycHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAubm8tc3ZnIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbms6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmdcIikgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ2NXB4IC01MjhweDsgfVxuICAgICAgLnN2ZyAudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3N2Zy9wbHVzLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGlua19zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rX3NlbGVjdGVkOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNTMxcHggLTUyOHB4O1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIycHggMjJweDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAubm8tc3ZnIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmtfc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZ1wiKSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01MzFweCAtNTI4cHg7IH1cbiAgICAgICAgLnN2ZyAudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rX3NlbGVjdGVkOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL21pbnVzLXdoaXRlLnN2Z1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgLnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7IH1cbiAgLnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuICAudGFic0FjY29yZGlvbi50aGVtZV9ibHVlIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjkwYzk7IH1cbiAgICAudGFic0FjY29yZGlvbi50aGVtZV9ibHVlIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbms6Zm9jdXMsIC50YWJzQWNjb3JkaW9uLnRoZW1lX2JsdWUgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGluazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ2NWFjOyB9XG4gICAgLnRhYnNBY2NvcmRpb24udGhlbWVfYmx1ZSAudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rX3NlbGVjdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDY1YWM7IH1cbiAgLnRhYnNBY2NvcmRpb24udGhlbWVfYmx1ZSAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLWlubmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ2NWFjOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAudGFic0FjY29yZGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwidGFic1wiO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRhYnNBY2NvcmRpb24tbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWIwMTQ5O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM3NzAyM2Y7IH1cbiAgICAudGFic0FjY29yZGlvbi1uYXYtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzliMDE0OTtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGluayB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmtfc2VsZWN0ZWQsIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbms6aG92ZXIsIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbms6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MDIzZjsgfVxuICAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzcwMjNmOyB9XG4gIC50YWJzQWNjb3JkaW9uLnRoZW1lX2JsdWUgLnRhYnNBY2NvcmRpb24tbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY5MGM5OyB9XG4gIC50YWJzQWNjb3JkaW9uLnRoZW1lX2JsdWUgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0ge1xuICAgIGJvcmRlci1jb2xvcjogIzBkNjVhYzsgfVxuICAudGFic0FjY29yZGlvbi50aGVtZV9ibHVlIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjkwYzk7IH1cbiAgICAudGFic0FjY29yZGlvbi50aGVtZV9ibHVlIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmtfc2VsZWN0ZWQsIC50YWJzQWNjb3JkaW9uLnRoZW1lX2JsdWUgLnRhYnNBY2NvcmRpb24tbmF2LWl0ZW0tbGluazpob3ZlciwgLnRhYnNBY2NvcmRpb24udGhlbWVfYmx1ZSAudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZDY1YWM7IH1cbiAgLnRhYnNBY2NvcmRpb24udGhlbWVfYmx1ZSAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ2NWFjOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAubC1yb3ctMTAwIC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmsge1xuICAgIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjVyZW07IH1cbiAgLmwtcm93LTEwMCAudGFic0FjY29yZGlvbi1jb250ZW50cy1pdGVtLWlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQge1xuICAudGFic0FjY29yZGlvbiAudGFic0FjY29yZGlvbi13cmFwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lciB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gICAgLnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lciAqIHtcbiAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiB1c2VzOiBfc2xpZGVyRnVuY3Rpb25hbGl0eS5zY3NzICAqL1xuLyogcHJvbW9TbGlkZXIgc3R5bGUgKi9cbi5wcm9tb1NsaWRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY5MGM5O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgcGFkZGluZzogMTVweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucHJvbW9TbGlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5wcm9tb1NsaWRlciA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA2MS4yNWVtKSB7XG4gICAgLnByb21vU2xpZGVyIHtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDYxLjI1ZW0pIHtcbiAgICAucHJvbW9TbGlkZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDMwcHggNDBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMS44NzVyZW0gMi41cmVtOyB9IH1cbiAgLnByb21vU2xpZGVyLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cmVtOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLnByb21vU2xpZGVyLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5wcm9tb1NsaWRlci1pdGVtLXdyYXAge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWF4LXdpZHRoOiA0My43NXJlbTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9tb1NsaWRlci1pdGVtLXdyYXAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuMjVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxNS42MjVyZW07IH0gfVxuICAucHJvbW9TbGlkZXItaXRlbS10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcm9tb1NsaWRlci1pdGVtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMGVtKSB7XG4gICAgLnByb21vU2xpZGVyIC5idG4sIC5wcm9tb1NsaWRlciAueGZvcm0gaW5wdXRbdHlwZT0nc3VibWl0J10sIC54Zm9ybSAucHJvbW9TbGlkZXIgaW5wdXRbdHlwZT0nc3VibWl0J10sIC5wcm9tb1NsaWRlciAuYnRuX2Fycm93LCAucHJvbW9TbGlkZXIgLmJ0bl93aGl0ZV9hcnJvdywgLnByb21vU2xpZGVyIC5idG5fd2hpdGVfYm9yZGVyX2Fycm93LCAucHJvbW9TbGlkZXIgLmJ0bl93aGl0ZSwgLnByb21vU2xpZGVyIC5idG5fd2hpdGVfYm9yZGVyLCAucHJvbW9TbGlkZXIgLmJ0bl9tZWRpYSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnByb21vU2xpZGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogdXNlczogX3NsaWRlckZ1bmN0aW9uYWxpdHkuc2NzcyAgKi9cbi8qIGhvbWVDYXNlU3R1ZHlTbGlkZXIgc3R5bGUgKi9cbi5ob21lQ2FzZVN0dWR5U2xpZGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgIC5ob21lQ2FzZVN0dWR5U2xpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICAuaG9tZUNhc2VTdHVkeVNsaWRlci1pdGVtIHtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHggOTBweDtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDUuNjI1cmVtOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmhvbWVDYXNlU3R1ZHlTbGlkZXItaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIuNXJlbSAwIDIuNXJlbSAyLjVyZW07IH0gfVxuICAuaG9tZUNhc2VTdHVkeVNsaWRlciAucXVvdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIG1hcmdpbjogLTQwcHggYXV0byAwIGF1dG87IH1cbiAgLmhvbWVDYXNlU3R1ZHlTbGlkZXItaXRlbS10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTAwNTg7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDYwcHggMTVweDtcbiAgICBtYXJnaW46IC0xNXB4IDAgMCAtMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21lQ2FzZVN0dWR5U2xpZGVyLWl0ZW0tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gICAgLmhvbWVDYXNlU3R1ZHlTbGlkZXItaXRlbS10aXRsZS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbWVDYXNlU3R1ZHlTbGlkZXItaXRlbS10aXRsZSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzBweCA3MHB4IDMwcHg7XG4gICAgICAgIG1hcmdpbjogLTE1cHggMCAwIC0xNXB4OyB9XG4gICAgICAgIC5ob21lQ2FzZVN0dWR5U2xpZGVyLWl0ZW0tdGl0bGUtd3JhcCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwJTsgfSB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogNjEuMjVlbSkge1xuICAgICAgLmhvbWVDYXNlU3R1ZHlTbGlkZXItaXRlbS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogLTQwcHggMCAwIC00MHB4OyB9XG4gICAgICAgIC5ob21lQ2FzZVN0dWR5U2xpZGVyLWl0ZW0tdGl0bGUtd3JhcCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwJTsgfSB9XG5cbi8qIE5leHQvcHJldiBhcnJvd3MgKHNlZSB0aGUgJ19zbGlkZXJGdW5jdGlvbmFsaXR5LnNjc3MnKSAqL1xuLmhvbWVDYXNlU3R1ZHlTbGlkZXIgLnNsaWNrU2xpZGVyIC5zbGljay1kaXNhYmxlZCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogMC42OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5ob21lQ2FzZVN0dWR5U2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5ob21lQ2FzZVN0dWR5U2xpZGVyLXdyYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubmMtc3R5bGVndWlkZS1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHggYXV0bzsgfVxuXG4ubmMtc3R5bGVndWlkZS10aXRsZSB7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuXG4ubmMtc3R5bGVndWlkZS1jb21wb25lbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZWFkYWU7IH1cblxuLm5jLXN0eWxlZ3VpZGUtbmVzdGVkLWNvbXBvbmVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWRhZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICBodG1sLCBib2R5IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBib2R5IHtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgYm9keSAqIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5IHAsIGJvZHkgZGl2LCBib2R5IHNwYW4sIGJvZHkgdGFibGUsIGJvZHkgbGksIGJvZHkgZGwsIGJvZHkgZHQge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAuaGVhZGVyLXV0aWwsXG4gIC5oZWFkZXItbWFpbkxvZ28gLmhncm91cC1lbmQsXG4gICNuYXZEcm9wZG93bixcbiAgLmZvb3Rlci1ib3R0b20tbmF2LFxuICAuZm9vdGVyLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAvKiBIZWFkZXIgKi9cbiAgLmhlYWRlci1tYWluTG9nbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW46IDAgMCAyNXB4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7IH1cbiAgICAuaGVhZGVyLW1haW5Mb2dvIC5oZWFkZXItbG9nbyB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuaGVhZGVyLW1haW5Mb2dvIHNwYW4ge1xuICAgICAgY29sb3I6ICNkNTAwNTggIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7IH1cbiAgLmZvb3Rlci1ib3R0b20ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5sLXJvdy1pbm5lciB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5sLWNvbnRlbnRfaW5kZW50IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5saXN0LWxpbmstYXJyb3cgPiBsaSxcbiAgLmxpc3QtYnVsbGV0cyA+IGxpLFxuICAubGlzdC1idWxsZXRzLWJvcmRlcnMgPiBsaSwgLmxpc3QtYm9yZGVycyA+IGxpLFxuICAubGlzdC1ib3JkZXJzID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDEwcHggMTVweCAhaW1wb3J0YW50OyB9XG4gICAgLmxpc3QtbGluay1hcnJvdyA+IGxpOmJlZm9yZSxcbiAgICAubGlzdC1idWxsZXRzID4gbGk6YmVmb3JlLFxuICAgIC5saXN0LWJ1bGxldHMtYm9yZGVycyA+IGxpOmJlZm9yZSwgLmxpc3QtYm9yZGVycyA+IGxpOmJlZm9yZSxcbiAgICAubGlzdC1ib3JkZXJzID4gbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICc+ICc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubGlzdC1saW5rLWFycm93ID4gbGk6YWZ0ZXIsXG4gICAgLmxpc3QtYnVsbGV0cyA+IGxpOmFmdGVyLFxuICAgIC5saXN0LWJ1bGxldHMtYm9yZGVycyA+IGxpOmFmdGVyLCAubGlzdC1ib3JkZXJzID4gbGk6YWZ0ZXIsXG4gICAgLmxpc3QtYm9yZGVycyA+IGxpOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmxpc3QtbGluay1hcnJvdyA+IGxpID4gYSxcbiAgLmxpc3QtYnVsbGV0cyA+IGxpID4gYSxcbiAgLmxpc3QtYnVsbGV0cy1ib3JkZXJzID4gbGkgPiBhLCAubGlzdC1ib3JkZXJzID4gbGkgPiBhLFxuICAubGlzdC1ib3JkZXJzID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmxpc3QtbGluay1hcnJvdyA+IGxpID4gYTphZnRlcixcbiAgICAubGlzdC1idWxsZXRzID4gbGkgPiBhOmFmdGVyLFxuICAgIC5saXN0LWJ1bGxldHMtYm9yZGVycyA+IGxpID4gYTphZnRlciwgLmxpc3QtYm9yZGVycyA+IGxpID4gYTphZnRlcixcbiAgICAubGlzdC1ib3JkZXJzID4gbGkgPiBhOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiLmhlYWRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcblx0bWFyZ2luOjA7XHJcblxyXG4gICAgQGluY2x1ZGUgbmNCcmVha3BvaW50TmFtZSggJ25vcm1hbCcgKTtcclxuXHJcbiAgICAmLXV0aWx7XHJcbiAgICAgICAgbWF4LXdpZHRoOiRjb250ZW50LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjowIGF1dG87XHJcbiAgICAgICAgQGV4dGVuZCAldS1jbGVhcmZpeDtcclxuICAgICAgICBcclxuICAgICAgICAmLWl0ZW1ze1xyXG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICZfcmlnaHR7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgJi1pdGVte1xyXG4gICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46MCA0MHB4IDAgMDtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG5cclxuICAgICAgICAgICAgJl9kcm9wZG93bntcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbGlua3tcclxuICAgICAgICAgICAgY29sb3I6JGNvbG91ci1ncmV5MDE7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxM3B4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDo0NXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6NDVweDtcclxuXHJcbiAgICAgICAgICAgIEBleHRlbmQgJXVuZGVybGluZU9uSG92ZXI7XHJcblxyXG4gICAgICAgICAgICAmX2Ryb3Bkb3due1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDozMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgICRzbGljZTooIHg6MnB4LCB5OjIzcHgsIHdpZHRoOjEzcHggKTtcclxuICAgICAgICAgICAgICAgICRwc3VlZG86KFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOidhZnRlcicsIFxyXG4gICAgICAgICAgICAgICAgICAgIHNraXBSZWxhdGl2ZTonZmFsc2UnLFxyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjVweCxcclxuICAgICAgICAgICAgICAgICAgICB0b3A6NTAlLFxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LSBzdmdTcHJpdGVIZWlnaHQoICRhcnJvd3MtcGluay1zbWFsbCwgJHNsaWNlICkgLyAyXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRhcnJvd3MtcGluay1zbWFsbCwgJHBzdWVkbywgJHNsaWNlICk7XHJcblxyXG4gICAgICAgICAgICAgICAgJi5oZWFkZXItdXRpbC1saW5rX2Ryb3Bkb3duT3BlbntcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkc2xpY2U6KCB4OjJweCwgd2lkdGg6MTNweCwgaGVpZ2h0OjlweCApO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRhcnJvd3MtcGluay1zbWFsbCwgbnVsbCwgJHNsaWNlICk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmX2ljb257XHJcbiAgICAgICAgICAgICAgICAmX2V2ZW50c3tcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MzNweDtcclxuICAgICAgICAgICAgICAgICAgICAkaWNvbjokZGF0ZXBpY2tlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHBzdWVkbzooXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOidiZWZvcmUnLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDowLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6NTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOigtIHN2Z1Nwcml0ZUhlaWdodCggJGljb24gKSAvIDIgKSAtIDJweFxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkaWNvbiwgJHBzdWVkbyApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICZfcm5pe1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDozM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICRpY29uOiRpY29uLXJlc2VhcmNoO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkcHN1ZWRvOihcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246J2JlZm9yZScsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDo1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6KC0gc3ZnU3ByaXRlSGVpZ2h0KCAkaWNvbiApIC8gMiApIC0gMnB4XHJcbiAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRpY29uLCAkcHN1ZWRvICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJl9sb2dpbntcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MzNweDtcclxuICAgICAgICAgICAgICAgICAgICAkaWNvbjokaWNvbi1sb2dpbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJHBzdWVkbzooXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOidiZWZvcmUnLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDowLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6NTAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOigtIHN2Z1Nwcml0ZUhlaWdodCggJGljb24gKSAvIDIgKSAtIDJweFxyXG4gICAgICAgICAgICAgICAgICAgICk7ICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRpY29uLCAkcHN1ZWRvICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJl9zZWFyY2h7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjMzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgJGljb246JGljb24tc2VhcmNoO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAkcHN1ZWRvOihcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246J2JlZm9yZScsIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OjAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDo1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6KC0gc3ZnU3ByaXRlSGVpZ2h0KCAkaWNvbiApIC8gMiApIC0gMnB4LFxyXG4gICAgICAgICAgICAgICAgICAgICk7ICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRpY29uLCAkcHN1ZWRvICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1zZWFyY2hXcmFwcGVye1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgICYtc2VhcmNoe1xyXG4gICAgICAgIGJhY2tncm91bmQ6JGNvbG91ci1ncmV5MDY7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgcGFkZGluZzoxMHB4IDAgMCAzMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6dGFibGU7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6NDVweDtcclxuICAgICAgICBmb250LXNpemU6MDsgICAgICAgIFxyXG5cclxuICAgICAgICAubHQtaWUxMCAmIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOjQ1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJGljb246JGljb24tc2VhcmNoO1xyXG5cclxuICAgICAgICAkcHN1ZWRvOihcclxuICAgICAgICAgICAgcG9zaXRpb246J2JlZm9yZScsIFxyXG4gICAgICAgICAgICBsZWZ0OjIwcHgsXHJcbiAgICAgICAgICAgIHRvcDo1MCUsXHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6KC0gc3ZnU3ByaXRlSGVpZ2h0KCAkaWNvbiApIC8gMiApIFxyXG4gICAgICAgICk7ICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRpY29uLCAkcHN1ZWRvICk7XHJcblxyXG4gICAgICAgICYtaW5wdXQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgICAgaGVpZ2h0OmF1dG87IFxyXG4gICAgICAgICAgICBmb250LXNpemU6MTVweDsgIFxyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMzVweCAwIDIwcHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6MzcwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtY2xvc2V7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6MDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICAgICAgdG9wOjE1cHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRjcm9zcyApO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJGNyb3NzLXBpbmsgKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLW1haW5Mb2dve1xyXG4gICAgICAgIGJhY2tncm91bmQ6I0ZGRjtcclxuICAgICAgICBtYXgtd2lkdGg6JGNvbnRlbnQtd2lkdGg7XHJcbiAgICAgICAgbWFyZ2luOjAgYXV0byAxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi1sb2dve1xyXG4gICAgICAgIG1hcmdpbjoyNHB4IDQwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkbG9nbyApO1xyXG4gICAgfVxyXG5cclxuICAgICYtbWFpbkJ0bntcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjoyNHB4IDQwcHg7XHJcbiAgICAgICAgY29sb3I6I0ZGRjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiR0aGVtZS1waW5rO1xyXG4gICAgICAgIHBhZGRpbmc6MTJweCA1MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcblxyXG4gICAgICAgIEBleHRlbmQgJXVuZGVybGluZU9uSG92ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi1uYXZ7XHJcbiAgICAgICAgYmFja2dyb3VuZDojRkZGO1xyXG4gICAgICAgIG1heC13aWR0aDokY29udGVudC13aWR0aDtcclxuICAgICAgICBtYXJnaW46MCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6MCA0MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XHJcblxyXG4gICAgICAgICYtaXRlbXN7XHJcbiAgICAgICAgICAgICZfbGV2ZWxfMXtcclxuICAgICAgICAgICAgICAgIEBleHRlbmQgJWxpc3RCYXJlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246anVzdGlmeTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTowLjA0cHg7Ly8wIGJyZWFrcyBJRVxyXG5cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vaGVpZ2h0OjFweDtcclxuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbi1ib3R0b206LTFweDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9ja1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmX2xldmVsXzJ7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVsaXN0QmFyZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MjUlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzoyMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtaXRlbXtcclxuICAgICAgICAgICAgJl9sZXZlbF8xe1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE2cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6MDtcclxuXHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46MCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJl9sZXZlbF8ye1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICRjb2xvdXItZ3JleTA2O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzoxMHB4IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLWNoaWxke1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6OTkuOCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgICAgICByaWdodDowO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDojRkZGO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDoxO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTozcHggc29saWQgJHRoZW1lLXBpbms7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6NDBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDonJztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDoxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICAgICAmX29wZW57XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLW5hdi1pdGVtLWNoaWxke1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbGlua3tcclxuXHJcbiAgICAgICAgICAgICZfbGV2ZWxfMXtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6JGNvbG91ci1ncmV5MDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OjQ0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6NDRweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAgICAgICAgICYuaGVhZGVyLW5hdi1saW5rX29wZW4sXHJcbiAgICAgICAgICAgICAgICAmLmhlYWRlci1uYXYtbGlua19zZWxlY3RlZHtcclxuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6MzhweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6NDFweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOjNweCBzb2xpZCAkdGhlbWUtcGluaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9sZXZlbF8ye1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6NXB4IDQ1cHggNXB4IDA7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjEzcHg7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV1bmRlcmxpbmVPbkhvdmVyO1xyXG5cclxuICAgICAgICAgICAgICAgICRpY29uOiRhcnJvd3MtcGluay1zbWFsbDtcclxuICAgICAgICAgICAgICAgICRzbGljZTooIHg6OXB4LCB5OjlweCwgaGVpZ2h0OjEzcHggKTtcclxuICAgICAgICAgICAgICAgICRwc3VlZG86KFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOidhZnRlcicsIFxyXG4gICAgICAgICAgICAgICAgICAgIHNraXBSZWxhdGl2ZTonZmFsc2UnLFxyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjMwcHgsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjUwJSxcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOi0gc3ZnU3ByaXRlSGVpZ2h0KCAkaWNvbiwgJHNsaWNlICkgLyAyXHJcbiAgICAgICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJGljb24sICRwc3VlZG8sICRzbGljZSApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1wcm9tb3N7XHJcbiAgICAgICAgICAgIHdpZHRoOjUwJTtcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgICAgICAgICBAZXh0ZW5kICV1LWNsZWFyZml4O1xyXG5cclxuICAgICAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNmZmY7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtaXRlbS1saW5rIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1uYXYtcHJvbW9zLWl0ZW0tYnRuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtaXRlbS10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtNTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi1pdGVtLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtaXRlbS1idG4ge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCBhLmN0YTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtY2hpbGQtbGlua3tcclxuICAgICAgICAgICAgbWFyZ2luOjIwcHggMDtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgY29sb3I6I0ZGRjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDokdGhlbWUtcGluaztcclxuICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgd2lkdGg6MjEuNSU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDozLjUlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZzoxOXB4IDUwcHggMTlweCAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICAgICAgQGV4dGVuZCAldW5kZXJsaW5lT25Ib3ZlcjtcclxuXHJcbiAgICAgICAgICAgICRpY29uOiRhcnJvd3Mtd2hpdGU7XHJcbiAgICAgICAgICAgICRzbGljZTooeDoxMXB4LCB5OjExcHgsIGhlaWdodDoxNnB4KTtcclxuICAgICAgICAgICAgJHBzZXVkbzoocG9zaXRpb246YWZ0ZXIsIHJpZ2h0OjIycHgsIHRvcDo1MCUsIG1hcmdpbi10b3A6LSBzdmdTcHJpdGVIZWlnaHQoJGljb24sICRzbGljZSkvMik7XHJcblxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkaWNvbiwgJHBzZXVkbywgJHNsaWNlICk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtbXlDSU1Be1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6NDBweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6JHRoZW1lLXBpbms7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuXHJcbiAgICAgICAgJGljb246JGljb24tYWNjb3VudDtcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjphZnRlciwgcmlnaHQ6MTBweCwgdG9wOjUwJSwgbWFyZ2luLXRvcDotMnB4IC0gc3ZnU3ByaXRlSGVpZ2h0KCRpY29uKS8yKTtcclxuXHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJGljb24sICRwc2V1ZG8gKTtcclxuICAgIH1cclxufVxyXG5cclxuLy90YWJsZXQgc3R5bGVzXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6ICRicC1kZXNrdG9wLWRvd24gKSBhbmQgKG1pbi13aWR0aCA6ICRicC10YWJsZXQpe1xyXG4gICAgLmhlYWRlcntcclxuICAgICAgICAmLXV0aWwtaXRlbXMsXHJcbiAgICAgICAgJi1sb2dvLFxyXG4gICAgICAgICYtdXRpbC1pdGVtczpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MzBweDsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbWFpbkJ0bntcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjE1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5hdntcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OjMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdXRpbC1saW5rX2ljb25fc2VhcmNoe1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6c3ZnU3ByaXRlV2lkdGgoJGljb24tc2VhcmNoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbmF2LWl0ZW1zX2xldmVsXzJ7XHJcbiAgICAgICAgICAgIHdpZHRoOjM0JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbmF2LXByb21vc3tcclxuICAgICAgICAgICAgd2lkdGg6NjYlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi11dGlsLWxpbmtfZHJvcGRvd257XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MjdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdXRpbC1saW5rX2ljb25fZXZlbnRzLFxyXG4gICAgICAgICYtdXRpbC1saW5rX2ljb25fcm5pLFxyXG4gICAgICAgICYtdXRpbC1saW5rX2ljb25fbG9naW57XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDoyOHB4O1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbXlDSU1Be1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjMwcHg7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXV0aWwtaXRlbXtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjI3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXV0aWwtaXRlbXNfcmlnaHR7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXNlYXJjaC1pbnB1dHtcclxuICAgICAgICAgICAgd2lkdGg6MzAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi9cclxuXHJcbi8vTW9iaWxlIHN0eWxlc1xyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJGJwLXRhYmxldC1kb3duICl7XHJcbiAgICAuaGVhZGVye1xyXG4gICAgICAgIEBpbmNsdWRlIG5jQnJlYWtwb2ludE5hbWUoICdtb2JpbGUnICk7XHJcblxyXG4gICAgICAgICYtdXRpbHtcclxuICAgICAgICAgICAgZGlzcGxheTp0YWJsZTtcclxuICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDojRkZGO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNEMUQxRDE7XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXV0aWwtaXRlbXMsXHJcbiAgICAgICAgJi11dGlsLWl0ZW1zOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICBmbG9hdDpub25lO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjppbmhlcml0O1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6MDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdXRpbC1pdGVtc19yaWdodHtcclxuICAgICAgICAgICAgZm9udC1zaXplOjA7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNEMUQxRDE7XHJcbiAgICAgICAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXV0aWwtaXRlbXtcclxuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgICBmbG9hdDpub25lO1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246aW5oZXJpdDtcclxuICAgICAgICAgICAgZm9udC1zaXplOjEzcHg7XHJcblxyXG4gICAgICAgICAgICAmX3JpZ2h0e1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDozOXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYtdXRpbC1saW5re1xyXG4gICAgICAgICAgICBoZWlnaHQ6MzlweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6MzlweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdXRpbC1saW5rX21vYmlsZUxvZ297XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJGxvZ28tc21hbGwgKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTotMXB4O1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdXRpbC1saW5rX2Ryb3Bkb3due1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTJweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDoyN3B4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1tb2JpbGVNZW51QnRue1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiNGRkY7XHJcbiAgICAgICAgICAgIGJvcmRlcjowO1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRoYW1idXJnZXIgKTtcclxuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6Y29udGVudC1ib3g7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI0ZGRjtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOjExcHggOXB4IDExcHggMTBweDtcclxuXHJcbiAgICAgICAgICAgICZfZHJvcGRvd25PcGVue1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjojZWRlZGVkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiNlZGVkZWQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRjcm9zcy1waW5rICk7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8yMXgxNyAtIDE2eDE2XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6MTFweCAxM3B4IDEycHggMTJweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDotMTFweDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206LTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDotMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNkMWQxZDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJjphZnRlcntcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjFweDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206LTEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6LTEzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDotMTFweDtcclxuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IzAwZWRGRjtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiNlZGVkZWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXNlYXJjaFdyYXBwZXJ7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnN0YXRpYztcclxuICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDQwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206M3B4IHNvbGlkICRjb2xvdXItcGluaztcclxuXHJcbiAgICAgICAgICAgICYtaW5wdXR7ICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDo5MCU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXV0aWwtbGlua19pY29uX3NlYXJjaCxcclxuICAgICAgICAmLXV0aWwtbGlua19pY29uX2xvZ2luXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjA7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6MzlweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6OHB4IDEwcHggMTFweDtcclxuICAgICAgICAgICAgICAgIHRvcDowO1xyXG4gICAgICAgICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6YXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xyXG5cclxuICAgICAgICAgICAgICAgIC5sdC1pZTEwICZ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiNGRkY7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bk9wZW57XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiNlZGVkZWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6I2VkZWRlZDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDo0MHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTotMXB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDoxcHggc29saWQgI2QxZDFkMTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgI2QxZDFkMTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZXtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRjcm9zcy1waW5rICk7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MzhweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6NDBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6MTFweCAxMXB4IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtdXRpbC1saW5rX2ljb25fbG9naW57XHJcbiAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkaWNvbi1hY2NvdW50ICk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOjlweCAxMHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDo0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjM5cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYuaGVhZGVyLXV0aWwtbGlua19kcm9wZG93bk9wZW57XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDowO1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3Jle1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDoxMXB4IDEwcHggMTNweCAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJi1tYWluTG9nb3tcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1uYXZ7XHJcbiAgICAgICAgICAgIC5qcyAme1xyXG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbWFpbkJ0bntcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTZweDtcclxuICAgICAgICAgICAgcGFkZGluZzoxOHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46MTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbmF2LW1vYmlsZUxpbmt7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjNGQ0ZDRmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjI4cHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmVPbkhvdmVyKCk7XHJcblxyXG4gICAgICAgICAgICAmX2ljb25fZXZlbnRze1xyXG4gICAgICAgICAgICAgICAgJGljb246JGRhdGVwaWNrZXI7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICRwc3VlZG86KFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjonYWZ0ZXInLCBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6MCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOjUwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDooLSBzdmdTcHJpdGVIZWlnaHQoICRpY29uICkgLyAyICkgLSAxcHhcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJGljb24sICRwc3VlZG8gKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9pY29uX3JuaXtcclxuICAgICAgICAgICAgICAgICRpY29uOiRpY29uLXJlc2VhcmNoO1xyXG5cclxuICAgICAgICAgICAgICAgICRwc3VlZG86KFxyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOidhZnRlcicsIFxyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OjAsXHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOjUwJSxcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOigtIHN2Z1Nwcml0ZUhlaWdodCggJGljb24gKSAvIDIgKSAtIDFweFxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJGljb24sICRwc3VlZG8gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1uYXYtaXRlbV9sZXZlbF8xe1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWRlZGVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1uYXYtbGlua19sZXZlbF8xe1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjE2cHggNDVweCAxNnB4IDE2cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiR0aGVtZS1waW5rO1xyXG4gICAgICAgICAgICAvL2NvbG9yOiM0ZDRkNGY7XHJcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lT25Ib3ZlcigpO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0Om5vcm1hbDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDphdXRvO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpub25lO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAmLW5hdi1pdGVtX2xldmVsXzF7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1c3tcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItbmF2LWl0ZW0tY2hpbGR7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9kaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbmF2LWRyb3Bkb3duVG9nZ2xleyAgICAgICAgICAgICBcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OjQwcHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OjE1cHg7XHJcbiAgICAgICAgICAgIHRvcDo1cHg7ICAgIFxyXG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDpub25lOyAgICAgICAgICAgICBcclxuXHJcbiAgICAgICAgICAgICRzcHJpdGU6ICRhcnJvdy1waW5rLWRvd247IFxyXG4gICAgICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDEwcHgsIHRvcDogMTVweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cclxuICAgICAgICAgICAgJl9kcm9wZG93bk9wZW46YWZ0ZXJ7ICAgICAgICBcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbmF2LWl0ZW0tY2hpbGR7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnN0YXRpYztcclxuICAgICAgICAgICAgZmxvYXQ6bm9uZTtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToxNXB4IHNvbGlkICNlZGVkZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5hdi1pdGVtc19sZXZlbF8ye1xyXG4gICAgICAgICAgICBmbG9hdDpub25lO1xyXG4gICAgICAgICAgICB3aWR0aDphdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtbmF2LWl0ZW1fbGV2ZWxfMntcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1uYXYtbGlua19sZXZlbF8ye1xyXG4gICAgICAgICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgICAgICAgY29sb3I6IzRkNGQ0ZjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjEzcHggMTVweDtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8qIFN0aWNreSBuYXZpZ2F0aW9uICovXHJcblxyXG5cclxuLyogbW9iaWxlc1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAkYnAtdGFibGV0LWRvd24pe1xyXG4gICAgLmhlYWRlci5zdGlja3ktbW9iaWxlIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICByaWdodDowO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiAxMTExMTExMTtcclxuXHJcbiAgICAgICAgLy8jbG9naW5Ecm9wZG93bi5kcm9wZG93bl9vcGVuICAgIHtcclxuICAgICAgICAvLyAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogODB2aDtcclxuICAgICAgICAvLyAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG91ci1waW5rO1xyXG4gICAgICAgIC8vICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxufSAqL1xyXG5cclxuLyogbGFyZ2Ugc2NyZWVucyAqL1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAkYnAtdGFibGV0KXtcclxuICAgIC5oZWFkZXItbmF2LXdyYXAuc3RpY2t5LWRlc2t0b3Age1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgLy9AaW5jbHVkZSBjb250YWluZXIoJGNvbnRlbnQtd2lkdGgpOyBcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggI2NjYztcclxuXHJcbiAgICAgICAgLmhlYWRlci1uYXYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmllOCAmIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiQG1peGluIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbzpudWxsLCAkc2xpY2U6bnVsbCApe1xyXG4gICAgJHBvc2l0aW9uOm51bGw7XHJcblxyXG4gICAgQGlmKCAkcHNldWRvICE9IG51bGwgKXtcclxuICAgICAgICBAaWYoICggbm90IG1hcC1oYXMta2V5KCAkcHNldWRvLCBza2lwUmVsYXRpdmUgKSApIG9yICggbWFwLWdldCggJHBzZXVkbywgc2tpcFJlbGF0aXZlICkgIT0gJ3RydWUnICkgKXtcclxuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAkcG9zaXRpb246KCk7XHJcblxyXG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkcHNldWRvIHtcclxuICAgICAgICAgICAgQGlmKCAka2V5ICE9IHBvc2l0aW9uIGFuZCAka2V5ICE9IHNraXBSZWxhdGl2ZSApe1xyXG4gICAgICAgICAgICAgICAgJHBvc2l0aW9uOm1hcC1tZXJnZSggJHBvc2l0aW9uLCAoJGtleTogJHZhbHVlKSApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICAgICAgJjoje21hcC1nZXQoJHBzZXVkbyxwb3NpdGlvbil9e1xyXG4gICAgICAgICAgICBjb250ZW50OicnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgX3N2Z1Nwcml0ZSggJHNwcml0ZSwgJHNsaWNlLCAkcG9zaXRpb24gKTtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNle1xyXG4gICAgICAgIEBpbmNsdWRlIF9zdmdTcHJpdGUoICRzcHJpdGUsICRzbGljZSApO1xyXG4gICAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gc3ZnU3ByaXRlV2lkdGgoICRzcHJpdGUsICRzbGljZTpudWxsICl7XHJcbiAgICAkd2lkdGg6bnRoKCRzcHJpdGUsIDUpO1xyXG5cclxuICAgIEBpZiggJHNsaWNlICE9IG51bGwgKXtcclxuICAgICAgICAkb2ZmWDowO1xyXG5cclxuICAgICAgICBAaWYoIG1hcC1oYXMta2V5KCAkc2xpY2UsIHggKSApe1xyXG4gICAgICAgICAgICAkb2ZmWDptYXAtZ2V0KCAkc2xpY2UsIHggKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiggbWFwLWhhcy1rZXkoICRzbGljZSwgd2lkdGggKSApe1xyXG4gICAgICAgICAgICAkd2lkdGg6bWFwLWdldCggJHNsaWNlLCB3aWR0aCApO1xyXG4gICAgICAgIH0gQGVsc2V7XHJcbiAgICAgICAgICAgICR3aWR0aDokd2lkdGggLSAkb2ZmWDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkd2lkdGg7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdmdTcHJpdGVIZWlnaHQoICRzcHJpdGUsICRzbGljZTpudWxsICl7XHJcbiAgICAkaGVpZ2h0Om50aCgkc3ByaXRlLCA2KTtcclxuXHJcbiAgICBAaWYoICRzbGljZSAhPSBudWxsICl7XHJcbiAgICAgICAgJG9mZlk6MDtcclxuXHJcbiAgICAgICAgQGlmKCBtYXAtaGFzLWtleSggJHNsaWNlLCB5ICkgKXtcclxuICAgICAgICAgICAgJG9mZlk6bWFwLWdldCggJHNsaWNlLCB5ICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYoIG1hcC1oYXMta2V5KCAkc2xpY2UsIGhlaWdodCApICl7XHJcbiAgICAgICAgICAgICRoZWlnaHQ6bWFwLWdldCggJHNsaWNlLCBoZWlnaHQgKTtcclxuICAgICAgICB9IEBlbHNle1xyXG4gICAgICAgICAgICAkaGVpZ2h0OiRoZWlnaHQgLSAkb2ZmWTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkaGVpZ2h0O1xyXG59XHJcblxyXG5AbWl4aW4gX3N2Z1Nwcml0ZVBzZXVkb1Bvc2l0aW9uKCAkd2lkdGgsICRoZWlnaHQsICRwb3NpdGlvbiApe1xyXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRwb3NpdGlvbiB7XHJcbiAgICAgICAgI3ska2V5fTokdmFsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBfc3ZnU3ByaXRlKCAkc3ByaXRlLCAkc2xpY2U6bnVsbCwgJHBvc2l0aW9uOm51bGwgKXtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAkbmFtZTpudGgoICRzcHJpdGUsIDEwICk7XHJcbiAgICAkb2ZmWDowO1xyXG4gICAgJG9mZlk6MDtcclxuICAgICR3aWR0aDpudGgoJHNwcml0ZSwgNSk7XHJcbiAgICAkaGVpZ2h0Om50aCgkc3ByaXRlLCA2KTtcclxuXHJcbiAgICAkc3ByaXRlLW9mZnNldC14OiBudGgoJHNwcml0ZSwgMyk7XHJcbiAgICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XHJcblxyXG4gICAgQGlmKCAkc2xpY2UgPT0gbnVsbCApe1xyXG4gICAgICAgIEBpbmNsdWRlIHNwcml0ZSggJHNwcml0ZSApOyAgICAgICAgXHJcbiAgICB9QGVsc2V7XHJcbiAgICAgICAgQGlmKCBtYXAtaGFzLWtleSggJHNsaWNlLCB4ICkgKXtcclxuICAgICAgICAgICAgJG9mZlg6bWFwLWdldCggJHNsaWNlLCB4ICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYoIG1hcC1oYXMta2V5KCAkc2xpY2UsIHkgKSApe1xyXG4gICAgICAgICAgICAkb2ZmWTptYXAtZ2V0KCAkc2xpY2UsIHkgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiggbWFwLWhhcy1rZXkoICRzbGljZSwgd2lkdGggKSApe1xyXG4gICAgICAgICAgICAkd2lkdGg6bWFwLWdldCggJHNsaWNlLCB3aWR0aCApO1xyXG4gICAgICAgIH0gQGVsc2V7XHJcbiAgICAgICAgICAgICR3aWR0aDokd2lkdGggLSAkb2ZmWDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiggbWFwLWhhcy1rZXkoICRzbGljZSwgaGVpZ2h0ICkgKXtcclxuICAgICAgICAgICAgJGhlaWdodDptYXAtZ2V0KCAkc2xpY2UsIGhlaWdodCApO1xyXG4gICAgICAgIH0gQGVsc2V7XHJcbiAgICAgICAgICAgICRoZWlnaHQ6JGhlaWdodCAtICRvZmZZO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgd2lkdGg6JHdpZHRoO1xyXG4gICAgICAgIGhlaWdodDokaGVpZ2h0O1xyXG4gICAgICAgICRzcHJpdGUtb2Zmc2V0LXg6ICRzcHJpdGUtb2Zmc2V0LXggLSAkb2ZmWDtcclxuICAgICAgICAkc3ByaXRlLW9mZnNldC15OiAkc3ByaXRlLW9mZnNldC15IC0gJG9mZlk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwcml0ZS1vZmZzZXQteCAgJHNwcml0ZS1vZmZzZXQteTtcclxuICAgICAgICBAaW5jbHVkZSBzcHJpdGUtaW1hZ2UoJHNwcml0ZSk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vQXNzdW1lcyBtdWx0aXBsZSBiYWNrZ3JvdW5kLWltYWdlIHN1cHBvcnQgaXMgdGhlIHNhbWUgYXMgU1ZHIHN1cHBvcnQuXHJcbiAgICAvL0RvZXNuJ3QgcmVxdWlyZSBKUyBlbmFibGVkLCBhbmQgZG9lc24ndCBkb3VibGUtZG93bmxvYWRcclxuICAgIFxyXG4gICAgYmFja2dyb3VuZC1zaXplOm50aCgkc3ByaXRlLCA1KSBudGgoJHNwcml0ZSwgNik7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcblxyXG4gICAgLm5vLXN2ZyAme1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnKSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHNwcml0ZS1vZmZzZXQteCAgJHNwcml0ZS1vZmZzZXQteTtcclxuICAgIH1cclxuXHJcbiAgICAuc3ZnICZ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy4uL2ltYWdlcy9zdmcvI3skbmFtZX0uc3ZnJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogKC0kb2ZmWCkgKC0kb2ZmWSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmKCAkcG9zaXRpb24gIT0gbnVsbCApe1xyXG4gICAgICAgIEBpbmNsdWRlIF9zdmdTcHJpdGVQc2V1ZG9Qb3NpdGlvbiggJHdpZHRoLCAkaGVpZ2h0LCAkcG9zaXRpb24gKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBsaXN0IGZ1bmN0aW9uc1xyXG5AZnVuY3Rpb24gbGlzdExhc3QoJGxpc3Qpe1xyXG4gICAgQHJldHVybiBudGgoJGxpc3QsbGVuZ3RoKCRsaXN0KSk7XHJcbn1cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gc3RyaW5nIGZ1bmN0aW9uc1xyXG5cclxuQGZ1bmN0aW9uIHN0cmluZ1NwbGl0KCAkc3RyaW5nLCAkc3BsaXQgKXtcclxuICAgICRsaXN0OigpO1xyXG4gICAgJGluZGV4OjE7XHJcbiAgICAkc3Vic3RyOigpO1xyXG5cclxuICAgIEB3aGlsZSggJGluZGV4ICE9IG51bGwgKXtcclxuICAgICAgICAkaW5kZXg6c3RyLWluZGV4KCAkc3RyaW5nLCAkc3BsaXQgKTtcclxuICAgICAgICBcclxuICAgICAgICBAaWYoICRpbmRleCAhPSBudWxsICl7XHJcbiAgICAgICAgICAgICRzdWJzdHI6c3RyX3NsaWNlKCAkc3RyaW5nLCAxLCAkaW5kZXggLSAxICk7XHJcbiAgICAgICAgICAgICRsaXN0OmFwcGVuZCgkbGlzdCx1bnF1b3RlKCRzdWJzdHIpKTtcclxuICAgICAgICAgICAgJHN0cmluZzpzdHJfc2xpY2UoJHN0cmluZyxzdHJfbGVuZ3RoKCRzdWJzdHIpK3N0cl9sZW5ndGgoJHNwbGl0KSsxKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGxpc3Q6YXBwZW5kKCAkbGlzdCwgdW5xdW90ZSgkc3RyaW5nKSApO1xyXG5cclxuICAgIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gZ2VuZXJhbCBtaXhpbnNcclxuXHJcbkBtaXhpbiBuY0JyZWFrcG9pbnROYW1lKCAkbmFtZSApe1xyXG4gICAgJjpiZWZvcmV7XHJcbiAgICAgICAgY29udGVudDokbmFtZTtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB1bmRlcmxpbmVPbkhvdmVyKCl7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1c3tcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ldW5kZXJsaW5lT25Ib3ZlcntcclxuICAgIEBpbmNsdWRlIHVuZGVybGluZU9uSG92ZXIoKTtcclxufVxyXG4gXHJcblxyXG4vKiBjbGVhciBmaXggKi9cclxuQG1peGluIGNsZWFyZml4IHtcclxuICAgIEBleHRlbmQgJXUtY2xlYXJmaXg7XHJcbn1cclxuXHJcbiV1LWNsZWFyZml4e1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIuXCI7IFxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICBoZWlnaHQ6IDA7IFxyXG4gICAgICAgIGNsZWFyOiBib3RoOyBcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IFxyXG4gICAgfVxyXG59XHJcblxyXG4udS1jZntcclxuICAgIEBleHRlbmQgJXUtY2xlYXJmaXg7XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rQmFyZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6aW5oZXJpdDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGlzdEJhcmUge1xyXG4gICAgbWFyZ2luOjA7XHJcbiAgICBwYWRkaW5nOjA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6bm9uZTtcclxufVxyXG5cclxuJWxpc3RCYXJle1xyXG4gICAgQGluY2x1ZGUgbGlzdEJhcmU7XHJcbn1cclxuXHJcbi8qIGNvbnNpc3RlbnQgYmxvY2sgYm90dG9tIG1hcmdpbiAqL1xyXG5AbWl4aW4gYmxvY2tCb3R0b21NYXJnaW4ge1xyXG5cclxuICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAzMHB4KTtcclxuICAgIFxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgNDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBjb25zaXN0ZW50IGJsb2NrIHBhZGRpbmcgKi9cclxuQG1peGluIGJsb2NrUGFkZGluZyB7XHJcbiAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgJGJsb2NrLXNtLXBhZGRpbmcpO1xyXG5cclxuICAgID4qOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAkYmxvY2stbGctcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBibG9ja1BhZGRpbmdXaWRlIHtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAkYmxvY2stc20tcGFkZGluZyk7XHJcblxyXG4gICAgPio6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsICRibG9jay1sZy1wYWRkaW5nICsgMTBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFBYIHRvICVcclxuXHJcbkBmdW5jdGlvbiBjYWxjLXBlcmNlbnQoJHRhcmdldCwgJGNvbnRhaW5lcikge1xyXG4gIEByZXR1cm4gKCR0YXJnZXQgLyAkY29udGFpbmVyKSAqIDEwMCU7XHJcbn1cclxuLy8gLmZvbyB7ICB3aWR0aDogY2FsYy1wZXJjZW50KDY1MHB4LCAxMDAwcHgpOyB9XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBSRU1cclxuXHJcbiRiYXNlLWZvbnQtc2l6ZToxNjtcclxuXHJcbi8vIFZhbHVlcyBmb3IgcHJvcGVydHkgaW4gUkVNIGFuZCBQWCB3aXRoIDE2cHggPSAxcmVtIGFkYXB0ZWQgZnJvbSBtaXhpbiBieSBLYXJsIE1lcmtsaVxyXG4vLyBAaW5jbHVkZSBweC1yZW0oU1RSSU5HIFBST1BFUlRZLCBQWFZBTDEsIFBYVkFMMiwgUFhWQUwzLCBQWFZBTDQpXHJcbi8vIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDIwKSBvclxyXG4vLyBAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAyMHB4KSBvclxyXG4vLyBAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAxNiwgMTYsIDMyLCAyNCkgb3JcclxuLy8gQGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwgMTZweCwgMTZweCwgMzJweCwgMjRweCkgb3V0cHV0czpcclxuLy8gbWFyZ2luOiAxNnB4IDE2cHggMzJweCAyNHB4O1xyXG4vLyBtYXJnaW46IDFyZW0gMXJlbSAycmVtIDEuNXJlbTtcclxuXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcclxuICAgIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcHhUb1JlbSgkcHgpe1xyXG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCRweCk7XHJcbiAgICAkcmVtVmFsdWU6MDtcclxuICAgIFxyXG4gICAgQGlmICR2YWx1ZSAhPSAwIHtcclxuICAgICAgICAkcmVtVmFsdWU6ICN7JHZhbHVlLyRiYXNlLWZvbnQtc2l6ZX1yZW07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEByZXR1cm4gJHJlbVZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVtVG9QeCgkcmVtKXtcclxuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkcmVtKTtcclxuICAgICRweFZhbHVlOjA7XHJcbiAgICBcclxuICAgIEBpZiAkdmFsdWUgIT0gMCB7XHJcbiAgICAgICAgJHB4VmFsdWU6ICN7JHZhbHVlKiRiYXNlLWZvbnQtc2l6ZX1weDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQHJldHVybiAkcHhWYWx1ZTtcclxufVxyXG5cclxuQG1peGluIHB4LXJlbSgkcHJvcGVydHksICR2YWx1ZXMuLi4pIHtcclxuICAgICRtYXg6IGxlbmd0aCgkdmFsdWVzKTtcclxuICAgICRweFZhbHVlczogJyc7XHJcbiAgICAkcmVtVmFsdWVzOiAnJztcclxuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xyXG4gICAgICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRpKTtcclxuICAgICAgICBAaWYgdHlwZV9vZiggJHZhbHVlICkgIT0gbnVtYmVyXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAkcHhWYWx1ZXM6ICN7JHB4VmFsdWVzICsgJHZhbHVlfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2VcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSAwXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICRweFZhbHVlczogI3skcHhWYWx1ZXMgKyAkdmFsdWV9cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2VcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgJHB4VmFsdWVzOiAjeyRweFZhbHVlcyArICR2YWx1ZX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRweFZhbHVlczogI3skcHhWYWx1ZXMgKyBcIiBcIn07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAkcmVtVmFsdWVzOlwiXCI7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcclxuICAgICAgICAkdmFsdWU6bnRoKCR2YWx1ZXMsICRpKTtcclxuICAgICAgICBcclxuICAgICAgICBAaWYgdHlwZV9vZiggJHZhbHVlICkgIT0gbnVtYmVyXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICAkcmVtVmFsdWVzOiAjeyRyZW1WYWx1ZXMgKyAkdmFsdWV9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSk7XHJcbiAgICAgICAgICAgICRyZW1WYWx1ZXM6ICN7JHJlbVZhbHVlcyArIHB4VG9SZW0oICR2YWx1ZSApfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGlmICRpIDwgJG1heCB7XHJcbiAgICAgICAgICAgICRyZW1WYWx1ZXM6ICN7JHJlbVZhbHVlcyArIFwiIFwifTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3skcHJvcGVydHl9OiAkcHhWYWx1ZXM7XHJcbiAgICAjeyRwcm9wZXJ0eX06ICRyZW1WYWx1ZXM7XHJcbn1cclxuIiwiLypcblNDU1MgdmFyaWFibGVzIGFyZSBpbmZvcm1hdGlvbiBhYm91dCBpY29uJ3MgY29tcGlsZWQgc3RhdGUsIHN0b3JlZCB1bmRlciBpdHMgb3JpZ2luYWwgZmlsZSBuYW1lXG5cbi5pY29uLWhvbWUge1xuICB3aWR0aDogJGljb24taG9tZS13aWR0aDtcbn1cblxuVGhlIGxhcmdlIGFycmF5LWxpa2UgdmFyaWFibGVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGljb25cbiRpY29uLWhvbWU6IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG5cbkF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbiRzcHJpdGVzaGVldDogd2lkdGggaGVpZ2h0IGltYWdlICRzcHJpdGVzaGVldC1zcHJpdGVzO1xuKi9cbiRhbGVydC1uYW1lOiAnYWxlcnQnO1xuJGFsZXJ0LXg6IDM1N3B4O1xuJGFsZXJ0LXk6IDU2MnB4O1xuJGFsZXJ0LW9mZnNldC14OiAtMzU3cHg7XG4kYWxlcnQtb2Zmc2V0LXk6IC01NjJweDtcbiRhbGVydC13aWR0aDogMzBweDtcbiRhbGVydC1oZWlnaHQ6IDMwcHg7XG4kYWxlcnQtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhbGVydC10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGFsZXJ0LWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRhbGVydDogKDM1N3B4LCA1NjJweCwgLTM1N3B4LCAtNTYycHgsIDMwcHgsIDMwcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYWxlcnQnLCApO1xuJGFycm93LXBpbmstZG93bi1uYW1lOiAnYXJyb3ctcGluay1kb3duJztcbiRhcnJvdy1waW5rLWRvd24teDogODE5cHg7XG4kYXJyb3ctcGluay1kb3duLXk6IDUxMnB4O1xuJGFycm93LXBpbmstZG93bi1vZmZzZXQteDogLTgxOXB4O1xuJGFycm93LXBpbmstZG93bi1vZmZzZXQteTogLTUxMnB4O1xuJGFycm93LXBpbmstZG93bi13aWR0aDogMTdweDtcbiRhcnJvdy1waW5rLWRvd24taGVpZ2h0OiAxMnB4O1xuJGFycm93LXBpbmstZG93bi10b3RhbC13aWR0aDogMTAyNHB4O1xuJGFycm93LXBpbmstZG93bi10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGFycm93LXBpbmstZG93bi1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kYXJyb3ctcGluay1kb3duOiAoODE5cHgsIDUxMnB4LCAtODE5cHgsIC01MTJweCwgMTdweCwgMTJweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdhcnJvdy1waW5rLWRvd24nLCApO1xuJGFycm93LXBpbmstbGFyZ2UtbmFtZTogJ2Fycm93LXBpbmstbGFyZ2UnO1xuJGFycm93LXBpbmstbGFyZ2UteDogNDQ1cHg7XG4kYXJyb3ctcGluay1sYXJnZS15OiA1NjJweDtcbiRhcnJvdy1waW5rLWxhcmdlLW9mZnNldC14OiAtNDQ1cHg7XG4kYXJyb3ctcGluay1sYXJnZS1vZmZzZXQteTogLTU2MnB4O1xuJGFycm93LXBpbmstbGFyZ2Utd2lkdGg6IDI4cHg7XG4kYXJyb3ctcGluay1sYXJnZS1oZWlnaHQ6IDI3cHg7XG4kYXJyb3ctcGluay1sYXJnZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJGFycm93LXBpbmstbGFyZ2UtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRhcnJvdy1waW5rLWxhcmdlLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRhcnJvdy1waW5rLWxhcmdlOiAoNDQ1cHgsIDU2MnB4LCAtNDQ1cHgsIC01NjJweCwgMjhweCwgMjdweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdhcnJvdy1waW5rLWxhcmdlJywgKTtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2UtbmFtZTogJ2Fycm93LXBpbmstbGVmdC1sYXJnZSc7XG4kYXJyb3ctcGluay1sZWZ0LWxhcmdlLXg6IDQ3M3B4O1xuJGFycm93LXBpbmstbGVmdC1sYXJnZS15OiA1NjJweDtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2Utb2Zmc2V0LXg6IC00NzNweDtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2Utb2Zmc2V0LXk6IC01NjJweDtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2Utd2lkdGg6IDE1cHg7XG4kYXJyb3ctcGluay1sZWZ0LWxhcmdlLWhlaWdodDogMjdweDtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2UtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2UtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRhcnJvdy1waW5rLWxlZnQtbGFyZ2UtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGFycm93LXBpbmstbGVmdC1sYXJnZTogKDQ3M3B4LCA1NjJweCwgLTQ3M3B4LCAtNTYycHgsIDE1cHgsIDI3cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3ctcGluay1sZWZ0LWxhcmdlJywgKTtcbiRhcnJvdy1waW5rLWxlZnQtbmFtZTogJ2Fycm93LXBpbmstbGVmdCc7XG4kYXJyb3ctcGluay1sZWZ0LXg6IDY3M3B4O1xuJGFycm93LXBpbmstbGVmdC15OiA1MTJweDtcbiRhcnJvdy1waW5rLWxlZnQtb2Zmc2V0LXg6IC02NzNweDtcbiRhcnJvdy1waW5rLWxlZnQtb2Zmc2V0LXk6IC01MTJweDtcbiRhcnJvdy1waW5rLWxlZnQtd2lkdGg6IDE3cHg7XG4kYXJyb3ctcGluay1sZWZ0LWhlaWdodDogMTZweDtcbiRhcnJvdy1waW5rLWxlZnQtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhcnJvdy1waW5rLWxlZnQtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRhcnJvdy1waW5rLWxlZnQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGFycm93LXBpbmstbGVmdDogKDY3M3B4LCA1MTJweCwgLTY3M3B4LCAtNTEycHgsIDE3cHgsIDE2cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3ctcGluay1sZWZ0JywgKTtcbiRhcnJvdy1waW5rLXJpZ2h0LWxhcmdlLW5hbWU6ICdhcnJvdy1waW5rLXJpZ2h0LWxhcmdlJztcbiRhcnJvdy1waW5rLXJpZ2h0LWxhcmdlLXg6IDQ4OHB4O1xuJGFycm93LXBpbmstcmlnaHQtbGFyZ2UteTogNTYycHg7XG4kYXJyb3ctcGluay1yaWdodC1sYXJnZS1vZmZzZXQteDogLTQ4OHB4O1xuJGFycm93LXBpbmstcmlnaHQtbGFyZ2Utb2Zmc2V0LXk6IC01NjJweDtcbiRhcnJvdy1waW5rLXJpZ2h0LWxhcmdlLXdpZHRoOiAxNHB4O1xuJGFycm93LXBpbmstcmlnaHQtbGFyZ2UtaGVpZ2h0OiAyN3B4O1xuJGFycm93LXBpbmstcmlnaHQtbGFyZ2UtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhcnJvdy1waW5rLXJpZ2h0LWxhcmdlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kYXJyb3ctcGluay1yaWdodC1sYXJnZS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kYXJyb3ctcGluay1yaWdodC1sYXJnZTogKDQ4OHB4LCA1NjJweCwgLTQ4OHB4LCAtNTYycHgsIDE0cHgsIDI3cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3ctcGluay1yaWdodC1sYXJnZScsICk7XG4kYXJyb3ctcGluay1yaWdodC1uYW1lOiAnYXJyb3ctcGluay1yaWdodCc7XG4kYXJyb3ctcGluay1yaWdodC14OiA2MjJweDtcbiRhcnJvdy1waW5rLXJpZ2h0LXk6IDUxMnB4O1xuJGFycm93LXBpbmstcmlnaHQtb2Zmc2V0LXg6IC02MjJweDtcbiRhcnJvdy1waW5rLXJpZ2h0LW9mZnNldC15OiAtNTEycHg7XG4kYXJyb3ctcGluay1yaWdodC13aWR0aDogMTdweDtcbiRhcnJvdy1waW5rLXJpZ2h0LWhlaWdodDogMTZweDtcbiRhcnJvdy1waW5rLXJpZ2h0LXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kYXJyb3ctcGluay1yaWdodC10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGFycm93LXBpbmstcmlnaHQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGFycm93LXBpbmstcmlnaHQ6ICg2MjJweCwgNTEycHgsIC02MjJweCwgLTUxMnB4LCAxN3B4LCAxNnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2Fycm93LXBpbmstcmlnaHQnLCApO1xuJGFycm93LXdoaXRlLXJpZ2h0LW5hbWU6ICdhcnJvdy13aGl0ZS1yaWdodCc7XG4kYXJyb3ctd2hpdGUtcmlnaHQteDogNjU2cHg7XG4kYXJyb3ctd2hpdGUtcmlnaHQteTogNTEycHg7XG4kYXJyb3ctd2hpdGUtcmlnaHQtb2Zmc2V0LXg6IC02NTZweDtcbiRhcnJvdy13aGl0ZS1yaWdodC1vZmZzZXQteTogLTUxMnB4O1xuJGFycm93LXdoaXRlLXJpZ2h0LXdpZHRoOiAxN3B4O1xuJGFycm93LXdoaXRlLXJpZ2h0LWhlaWdodDogMTZweDtcbiRhcnJvdy13aGl0ZS1yaWdodC10b3RhbC13aWR0aDogMTAyNHB4O1xuJGFycm93LXdoaXRlLXJpZ2h0LXRvdGFsLWhlaWdodDogNjk2cHg7XG4kYXJyb3ctd2hpdGUtcmlnaHQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGFycm93LXdoaXRlLXJpZ2h0OiAoNjU2cHgsIDUxMnB4LCAtNjU2cHgsIC01MTJweCwgMTdweCwgMTZweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdhcnJvdy13aGl0ZS1yaWdodCcsICk7XG4kYXJyb3ctd2hpdGUtbmFtZTogJ2Fycm93LXdoaXRlJztcbiRhcnJvdy13aGl0ZS14OiA3MzlweDtcbiRhcnJvdy13aGl0ZS15OiA1MjhweDtcbiRhcnJvdy13aGl0ZS1vZmZzZXQteDogLTczOXB4O1xuJGFycm93LXdoaXRlLW9mZnNldC15OiAtNTI4cHg7XG4kYXJyb3ctd2hpdGUtd2lkdGg6IDIwcHg7XG4kYXJyb3ctd2hpdGUtaGVpZ2h0OiAyMHB4O1xuJGFycm93LXdoaXRlLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kYXJyb3ctd2hpdGUtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRhcnJvdy13aGl0ZS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kYXJyb3ctd2hpdGU6ICg3MzlweCwgNTI4cHgsIC03MzlweCwgLTUyOHB4LCAyMHB4LCAyMHB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2Fycm93LXdoaXRlJywgKTtcbiRhcnJvd3MtZ3JleS1uYW1lOiAnYXJyb3dzLWdyZXknO1xuJGFycm93cy1ncmV5LXg6IDExMHB4O1xuJGFycm93cy1ncmV5LXk6IDYwN3B4O1xuJGFycm93cy1ncmV5LW9mZnNldC14OiAtMTEwcHg7XG4kYXJyb3dzLWdyZXktb2Zmc2V0LXk6IC02MDdweDtcbiRhcnJvd3MtZ3JleS13aWR0aDogMjJweDtcbiRhcnJvd3MtZ3JleS1oZWlnaHQ6IDM4cHg7XG4kYXJyb3dzLWdyZXktdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhcnJvd3MtZ3JleS10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGFycm93cy1ncmV5LWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRhcnJvd3MtZ3JleTogKDExMHB4LCA2MDdweCwgLTExMHB4LCAtNjA3cHgsIDIycHgsIDM4cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3dzLWdyZXknLCApO1xuJGFycm93cy1waW5rLWRvd24tbmFtZTogJ2Fycm93cy1waW5rLWRvd24nO1xuJGFycm93cy1waW5rLWRvd24teDogODAycHg7XG4kYXJyb3dzLXBpbmstZG93bi15OiA1MTJweDtcbiRhcnJvd3MtcGluay1kb3duLW9mZnNldC14OiAtODAycHg7XG4kYXJyb3dzLXBpbmstZG93bi1vZmZzZXQteTogLTUxMnB4O1xuJGFycm93cy1waW5rLWRvd24td2lkdGg6IDE3cHg7XG4kYXJyb3dzLXBpbmstZG93bi1oZWlnaHQ6IDEycHg7XG4kYXJyb3dzLXBpbmstZG93bi10b3RhbC13aWR0aDogMTAyNHB4O1xuJGFycm93cy1waW5rLWRvd24tdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRhcnJvd3MtcGluay1kb3duLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRhcnJvd3MtcGluay1kb3duOiAoODAycHgsIDUxMnB4LCAtODAycHgsIC01MTJweCwgMTdweCwgMTJweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdhcnJvd3MtcGluay1kb3duJywgKTtcbiRhcnJvd3MtcGluay1sZWZ0LW5hbWU6ICdhcnJvd3MtcGluay1sZWZ0JztcbiRhcnJvd3MtcGluay1sZWZ0LXg6IDYzOXB4O1xuJGFycm93cy1waW5rLWxlZnQteTogNTEycHg7XG4kYXJyb3dzLXBpbmstbGVmdC1vZmZzZXQteDogLTYzOXB4O1xuJGFycm93cy1waW5rLWxlZnQtb2Zmc2V0LXk6IC01MTJweDtcbiRhcnJvd3MtcGluay1sZWZ0LXdpZHRoOiAxN3B4O1xuJGFycm93cy1waW5rLWxlZnQtaGVpZ2h0OiAxNnB4O1xuJGFycm93cy1waW5rLWxlZnQtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhcnJvd3MtcGluay1sZWZ0LXRvdGFsLWhlaWdodDogNjk2cHg7XG4kYXJyb3dzLXBpbmstbGVmdC1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kYXJyb3dzLXBpbmstbGVmdDogKDYzOXB4LCA1MTJweCwgLTYzOXB4LCAtNTEycHgsIDE3cHgsIDE2cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3dzLXBpbmstbGVmdCcsICk7XG4kYXJyb3dzLXBpbmstcmlnaHQtbmFtZTogJ2Fycm93cy1waW5rLXJpZ2h0JztcbiRhcnJvd3MtcGluay1yaWdodC14OiA2OTBweDtcbiRhcnJvd3MtcGluay1yaWdodC15OiA1MTJweDtcbiRhcnJvd3MtcGluay1yaWdodC1vZmZzZXQteDogLTY5MHB4O1xuJGFycm93cy1waW5rLXJpZ2h0LW9mZnNldC15OiAtNTEycHg7XG4kYXJyb3dzLXBpbmstcmlnaHQtd2lkdGg6IDE3cHg7XG4kYXJyb3dzLXBpbmstcmlnaHQtaGVpZ2h0OiAxNnB4O1xuJGFycm93cy1waW5rLXJpZ2h0LXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kYXJyb3dzLXBpbmstcmlnaHQtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRhcnJvd3MtcGluay1yaWdodC1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kYXJyb3dzLXBpbmstcmlnaHQ6ICg2OTBweCwgNTEycHgsIC02OTBweCwgLTUxMnB4LCAxN3B4LCAxNnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2Fycm93cy1waW5rLXJpZ2h0JywgKTtcbiRhcnJvd3MtcGluay1zbWFsbC1uYW1lOiAnYXJyb3dzLXBpbmstc21hbGwnO1xuJGFycm93cy1waW5rLXNtYWxsLXg6IDE1NHB4O1xuJGFycm93cy1waW5rLXNtYWxsLXk6IDYwN3B4O1xuJGFycm93cy1waW5rLXNtYWxsLW9mZnNldC14OiAtMTU0cHg7XG4kYXJyb3dzLXBpbmstc21hbGwtb2Zmc2V0LXk6IC02MDdweDtcbiRhcnJvd3MtcGluay1zbWFsbC13aWR0aDogMTdweDtcbiRhcnJvd3MtcGluay1zbWFsbC1oZWlnaHQ6IDMxcHg7XG4kYXJyb3dzLXBpbmstc21hbGwtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRhcnJvd3MtcGluay1zbWFsbC10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGFycm93cy1waW5rLXNtYWxsLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRhcnJvd3MtcGluay1zbWFsbDogKDE1NHB4LCA2MDdweCwgLTE1NHB4LCAtNjA3cHgsIDE3cHgsIDMxcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3dzLXBpbmstc21hbGwnLCApO1xuJGFycm93cy1waW5rLW5hbWU6ICdhcnJvd3MtcGluayc7XG4kYXJyb3dzLXBpbmsteDogMTMycHg7XG4kYXJyb3dzLXBpbmsteTogNjA3cHg7XG4kYXJyb3dzLXBpbmstb2Zmc2V0LXg6IC0xMzJweDtcbiRhcnJvd3MtcGluay1vZmZzZXQteTogLTYwN3B4O1xuJGFycm93cy1waW5rLXdpZHRoOiAyMnB4O1xuJGFycm93cy1waW5rLWhlaWdodDogMzhweDtcbiRhcnJvd3MtcGluay10b3RhbC13aWR0aDogMTAyNHB4O1xuJGFycm93cy1waW5rLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kYXJyb3dzLXBpbmstaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGFycm93cy1waW5rOiAoMTMycHgsIDYwN3B4LCAtMTMycHgsIC02MDdweCwgMjJweCwgMzhweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdhcnJvd3MtcGluaycsICk7XG4kYXJyb3dzLXdoaXRlLW5hbWU6ICdhcnJvd3Mtd2hpdGUnO1xuJGFycm93cy13aGl0ZS14OiA4OHB4O1xuJGFycm93cy13aGl0ZS15OiA2MDdweDtcbiRhcnJvd3Mtd2hpdGUtb2Zmc2V0LXg6IC04OHB4O1xuJGFycm93cy13aGl0ZS1vZmZzZXQteTogLTYwN3B4O1xuJGFycm93cy13aGl0ZS13aWR0aDogMjJweDtcbiRhcnJvd3Mtd2hpdGUtaGVpZ2h0OiAzOHB4O1xuJGFycm93cy13aGl0ZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJGFycm93cy13aGl0ZS10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGFycm93cy13aGl0ZS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kYXJyb3dzLXdoaXRlOiAoODhweCwgNjA3cHgsIC04OHB4LCAtNjA3cHgsIDIycHgsIDM4cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnYXJyb3dzLXdoaXRlJywgKTtcbiRiYy1lbmQtbmFtZTogJ2JjLWVuZCc7XG4kYmMtZW5kLXg6IDBweDtcbiRiYy1lbmQteTogNjUxcHg7XG4kYmMtZW5kLW9mZnNldC14OiAwcHg7XG4kYmMtZW5kLW9mZnNldC15OiAtNjUxcHg7XG4kYmMtZW5kLXdpZHRoOiAxMnB4O1xuJGJjLWVuZC1oZWlnaHQ6IDQ1cHg7XG4kYmMtZW5kLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kYmMtZW5kLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kYmMtZW5kLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRiYy1lbmQ6ICgwcHgsIDY1MXB4LCAwcHgsIC02NTFweCwgMTJweCwgNDVweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdiYy1lbmQnLCApO1xuJGNhcm91c2VsLWFycm93cy1waW5rLW5hbWU6ICdjYXJvdXNlbC1hcnJvd3MtcGluayc7XG4kY2Fyb3VzZWwtYXJyb3dzLXBpbmsteDogNDE3cHg7XG4kY2Fyb3VzZWwtYXJyb3dzLXBpbmsteTogNTYycHg7XG4kY2Fyb3VzZWwtYXJyb3dzLXBpbmstb2Zmc2V0LXg6IC00MTdweDtcbiRjYXJvdXNlbC1hcnJvd3MtcGluay1vZmZzZXQteTogLTU2MnB4O1xuJGNhcm91c2VsLWFycm93cy1waW5rLXdpZHRoOiAyOHB4O1xuJGNhcm91c2VsLWFycm93cy1waW5rLWhlaWdodDogMjdweDtcbiRjYXJvdXNlbC1hcnJvd3MtcGluay10b3RhbC13aWR0aDogMTAyNHB4O1xuJGNhcm91c2VsLWFycm93cy1waW5rLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kY2Fyb3VzZWwtYXJyb3dzLXBpbmstaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGNhcm91c2VsLWFycm93cy1waW5rOiAoNDE3cHgsIDU2MnB4LCAtNDE3cHgsIC01NjJweCwgMjhweCwgMjdweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdjYXJvdXNlbC1hcnJvd3MtcGluaycsICk7XG4kY2hlY2tib3gtbmFtZTogJ2NoZWNrYm94JztcbiRjaGVja2JveC14OiAwcHg7XG4kY2hlY2tib3gteTogMHB4O1xuJGNoZWNrYm94LW9mZnNldC14OiAwcHg7XG4kY2hlY2tib3gtb2Zmc2V0LXk6IDBweDtcbiRjaGVja2JveC13aWR0aDogNTEycHg7XG4kY2hlY2tib3gtaGVpZ2h0OiA1MTJweDtcbiRjaGVja2JveC10b3RhbC13aWR0aDogMTAyNHB4O1xuJGNoZWNrYm94LXRvdGFsLWhlaWdodDogNjk2cHg7XG4kY2hlY2tib3gtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGNoZWNrYm94OiAoMHB4LCAwcHgsIDBweCwgMHB4LCA1MTJweCwgNTEycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnY2hlY2tib3gnLCApO1xuJGNpbWFjb25uZWN0LW5hbWU6ICdjaW1hY29ubmVjdCc7XG4kY2ltYWNvbm5lY3QteDogMjcwcHg7XG4kY2ltYWNvbm5lY3QteTogNTYycHg7XG4kY2ltYWNvbm5lY3Qtb2Zmc2V0LXg6IC0yNzBweDtcbiRjaW1hY29ubmVjdC1vZmZzZXQteTogLTU2MnB4O1xuJGNpbWFjb25uZWN0LXdpZHRoOiA0NXB4O1xuJGNpbWFjb25uZWN0LWhlaWdodDogNDVweDtcbiRjaW1hY29ubmVjdC10b3RhbC13aWR0aDogMTAyNHB4O1xuJGNpbWFjb25uZWN0LXRvdGFsLWhlaWdodDogNjk2cHg7XG4kY2ltYWNvbm5lY3QtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGNpbWFjb25uZWN0OiAoMjcwcHgsIDU2MnB4LCAtMjcwcHgsIC01NjJweCwgNDVweCwgNDVweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdjaW1hY29ubmVjdCcsICk7XG4kY3Jvc3MtcGluay1uYW1lOiAnY3Jvc3MtcGluayc7XG4kY3Jvc3MtcGluay14OiA3NzFweDtcbiRjcm9zcy1waW5rLXk6IDUxMnB4O1xuJGNyb3NzLXBpbmstb2Zmc2V0LXg6IC03NzFweDtcbiRjcm9zcy1waW5rLW9mZnNldC15OiAtNTEycHg7XG4kY3Jvc3MtcGluay13aWR0aDogMTZweDtcbiRjcm9zcy1waW5rLWhlaWdodDogMTZweDtcbiRjcm9zcy1waW5rLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kY3Jvc3MtcGluay10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGNyb3NzLXBpbmstaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGNyb3NzLXBpbms6ICg3NzFweCwgNTEycHgsIC03NzFweCwgLTUxMnB4LCAxNnB4LCAxNnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2Nyb3NzLXBpbmsnLCApO1xuJGNyb3NzLXdoaXRlLW5hbWU6ICdjcm9zcy13aGl0ZSc7XG4kY3Jvc3Mtd2hpdGUteDogNzA3cHg7XG4kY3Jvc3Mtd2hpdGUteTogNTEycHg7XG4kY3Jvc3Mtd2hpdGUtb2Zmc2V0LXg6IC03MDdweDtcbiRjcm9zcy13aGl0ZS1vZmZzZXQteTogLTUxMnB4O1xuJGNyb3NzLXdoaXRlLXdpZHRoOiAxNnB4O1xuJGNyb3NzLXdoaXRlLWhlaWdodDogMTZweDtcbiRjcm9zcy13aGl0ZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJGNyb3NzLXdoaXRlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kY3Jvc3Mtd2hpdGUtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGNyb3NzLXdoaXRlOiAoNzA3cHgsIDUxMnB4LCAtNzA3cHgsIC01MTJweCwgMTZweCwgMTZweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdjcm9zcy13aGl0ZScsICk7XG4kY3Jvc3MtbmFtZTogJ2Nyb3NzJztcbiRjcm9zcy14OiA3NTVweDtcbiRjcm9zcy15OiA1MTJweDtcbiRjcm9zcy1vZmZzZXQteDogLTc1NXB4O1xuJGNyb3NzLW9mZnNldC15OiAtNTEycHg7XG4kY3Jvc3Mtd2lkdGg6IDE2cHg7XG4kY3Jvc3MtaGVpZ2h0OiAxNnB4O1xuJGNyb3NzLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kY3Jvc3MtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRjcm9zcy1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kY3Jvc3M6ICg3NTVweCwgNTEycHgsIC03NTVweCwgLTUxMnB4LCAxNnB4LCAxNnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2Nyb3NzJywgKTtcbiRkYXRlcGlja2VyLW5hbWU6ICdkYXRlcGlja2VyJztcbiRkYXRlcGlja2VyLXg6IDcxOXB4O1xuJGRhdGVwaWNrZXIteTogNTI4cHg7XG4kZGF0ZXBpY2tlci1vZmZzZXQteDogLTcxOXB4O1xuJGRhdGVwaWNrZXItb2Zmc2V0LXk6IC01MjhweDtcbiRkYXRlcGlja2VyLXdpZHRoOiAyMHB4O1xuJGRhdGVwaWNrZXItaGVpZ2h0OiAyMHB4O1xuJGRhdGVwaWNrZXItdG90YWwtd2lkdGg6IDEwMjRweDtcbiRkYXRlcGlja2VyLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kZGF0ZXBpY2tlci1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kZGF0ZXBpY2tlcjogKDcxOXB4LCA1MjhweCwgLTcxOXB4LCAtNTI4cHgsIDIwcHgsIDIwcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnZGF0ZXBpY2tlcicsICk7XG4kZWxpcHNpcy1uYW1lOiAnZWxpcHNpcyc7XG4kZWxpcHNpcy14OiA1MTVweDtcbiRlbGlwc2lzLXk6IDU2MnB4O1xuJGVsaXBzaXMtb2Zmc2V0LXg6IC01MTVweDtcbiRlbGlwc2lzLW9mZnNldC15OiAtNTYycHg7XG4kZWxpcHNpcy13aWR0aDogNXB4O1xuJGVsaXBzaXMtaGVpZ2h0OiAyMXB4O1xuJGVsaXBzaXMtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRlbGlwc2lzLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kZWxpcHNpcy1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kZWxpcHNpczogKDUxNXB4LCA1NjJweCwgLTUxNXB4LCAtNTYycHgsIDVweCwgMjFweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdlbGlwc2lzJywgKTtcbiRlbWFpbC1uYW1lOiAnZW1haWwnO1xuJGVtYWlsLXg6IDQ1cHg7XG4kZW1haWwteTogNTYycHg7XG4kZW1haWwtb2Zmc2V0LXg6IC00NXB4O1xuJGVtYWlsLW9mZnNldC15OiAtNTYycHg7XG4kZW1haWwtd2lkdGg6IDQ1cHg7XG4kZW1haWwtaGVpZ2h0OiA0NXB4O1xuJGVtYWlsLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kZW1haWwtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRlbWFpbC1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kZW1haWw6ICg0NXB4LCA1NjJweCwgLTQ1cHgsIC01NjJweCwgNDVweCwgNDVweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdlbWFpbCcsICk7XG4kZmFjZWJvb2stbmFtZTogJ2ZhY2Vib29rJztcbiRmYWNlYm9vay14OiA5MHB4O1xuJGZhY2Vib29rLXk6IDU2MnB4O1xuJGZhY2Vib29rLW9mZnNldC14OiAtOTBweDtcbiRmYWNlYm9vay1vZmZzZXQteTogLTU2MnB4O1xuJGZhY2Vib29rLXdpZHRoOiA0NXB4O1xuJGZhY2Vib29rLWhlaWdodDogNDVweDtcbiRmYWNlYm9vay10b3RhbC13aWR0aDogMTAyNHB4O1xuJGZhY2Vib29rLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kZmFjZWJvb2staW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGZhY2Vib29rOiAoOTBweCwgNTYycHgsIC05MHB4LCAtNTYycHgsIDQ1cHgsIDQ1cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnZmFjZWJvb2snLCApO1xuJGdsb2JlLXBpbmstbmFtZTogJ2dsb2JlLXBpbmsnO1xuJGdsb2JlLXBpbmsteDogNzM5cHg7XG4kZ2xvYmUtcGluay15OiA1MTJweDtcbiRnbG9iZS1waW5rLW9mZnNldC14OiAtNzM5cHg7XG4kZ2xvYmUtcGluay1vZmZzZXQteTogLTUxMnB4O1xuJGdsb2JlLXBpbmstd2lkdGg6IDE2cHg7XG4kZ2xvYmUtcGluay1oZWlnaHQ6IDE2cHg7XG4kZ2xvYmUtcGluay10b3RhbC13aWR0aDogMTAyNHB4O1xuJGdsb2JlLXBpbmstdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRnbG9iZS1waW5rLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRnbG9iZS1waW5rOiAoNzM5cHgsIDUxMnB4LCAtNzM5cHgsIC01MTJweCwgMTZweCwgMTZweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdnbG9iZS1waW5rJywgKTtcbiRoYW1idXJnZXItbmFtZTogJ2hhbWJ1cmdlcic7XG4kaGFtYnVyZ2VyLXg6IDc1OXB4O1xuJGhhbWJ1cmdlci15OiA1MjhweDtcbiRoYW1idXJnZXItb2Zmc2V0LXg6IC03NTlweDtcbiRoYW1idXJnZXItb2Zmc2V0LXk6IC01MjhweDtcbiRoYW1idXJnZXItd2lkdGg6IDIxcHg7XG4kaGFtYnVyZ2VyLWhlaWdodDogMTdweDtcbiRoYW1idXJnZXItdG90YWwtd2lkdGg6IDEwMjRweDtcbiRoYW1idXJnZXItdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRoYW1idXJnZXItaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGhhbWJ1cmdlcjogKDc1OXB4LCA1MjhweCwgLTc1OXB4LCAtNTI4cHgsIDIxcHgsIDE3cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaGFtYnVyZ2VyJywgKTtcbiRpY29uLWFjY291bnQtbmFtZTogJ2ljb24tYWNjb3VudCc7XG4kaWNvbi1hY2NvdW50LXg6IDY1OXB4O1xuJGljb24tYWNjb3VudC15OiA1MjhweDtcbiRpY29uLWFjY291bnQtb2Zmc2V0LXg6IC02NTlweDtcbiRpY29uLWFjY291bnQtb2Zmc2V0LXk6IC01MjhweDtcbiRpY29uLWFjY291bnQtd2lkdGg6IDIwcHg7XG4kaWNvbi1hY2NvdW50LWhlaWdodDogMjBweDtcbiRpY29uLWFjY291bnQtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRpY29uLWFjY291bnQtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRpY29uLWFjY291bnQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGljb24tYWNjb3VudDogKDY1OXB4LCA1MjhweCwgLTY1OXB4LCAtNTI4cHgsIDIwcHgsIDIwcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1hY2NvdW50JywgKTtcbiRpY29uLWRvd25sb2FkLW5hbWU6ICdpY29uLWRvd25sb2FkJztcbiRpY29uLWRvd25sb2FkLXg6IDgxNHB4O1xuJGljb24tZG93bmxvYWQteTogNTI4cHg7XG4kaWNvbi1kb3dubG9hZC1vZmZzZXQteDogLTgxNHB4O1xuJGljb24tZG93bmxvYWQtb2Zmc2V0LXk6IC01MjhweDtcbiRpY29uLWRvd25sb2FkLXdpZHRoOiAxN3B4O1xuJGljb24tZG93bmxvYWQtaGVpZ2h0OiAxN3B4O1xuJGljb24tZG93bmxvYWQtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRpY29uLWRvd25sb2FkLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kaWNvbi1kb3dubG9hZC1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1kb3dubG9hZDogKDgxNHB4LCA1MjhweCwgLTgxNHB4LCAtNTI4cHgsIDE3cHgsIDE3cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1kb3dubG9hZCcsICk7XG4kaWNvbi1lZGl0LXBpbmstbmFtZTogJ2ljb24tZWRpdC1waW5rJztcbiRpY29uLWVkaXQtcGluay14OiA3MjNweDtcbiRpY29uLWVkaXQtcGluay15OiA1MTJweDtcbiRpY29uLWVkaXQtcGluay1vZmZzZXQteDogLTcyM3B4O1xuJGljb24tZWRpdC1waW5rLW9mZnNldC15OiAtNTEycHg7XG4kaWNvbi1lZGl0LXBpbmstd2lkdGg6IDE2cHg7XG4kaWNvbi1lZGl0LXBpbmstaGVpZ2h0OiAxNnB4O1xuJGljb24tZWRpdC1waW5rLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kaWNvbi1lZGl0LXBpbmstdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRpY29uLWVkaXQtcGluay1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1lZGl0LXBpbms6ICg3MjNweCwgNTEycHgsIC03MjNweCwgLTUxMnB4LCAxNnB4LCAxNnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2ljb24tZWRpdC1waW5rJywgKTtcbiRpY29uLWVtYWlsLW5hbWU6ICdpY29uLWVtYWlsJztcbiRpY29uLWVtYWlsLXg6IDM4OHB4O1xuJGljb24tZW1haWwteTogNTI4cHg7XG4kaWNvbi1lbWFpbC1vZmZzZXQteDogLTM4OHB4O1xuJGljb24tZW1haWwtb2Zmc2V0LXk6IC01MjhweDtcbiRpY29uLWVtYWlsLXdpZHRoOiAzM3B4O1xuJGljb24tZW1haWwtaGVpZ2h0OiAyNHB4O1xuJGljb24tZW1haWwtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRpY29uLWVtYWlsLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kaWNvbi1lbWFpbC1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1lbWFpbDogKDM4OHB4LCA1MjhweCwgLTM4OHB4LCAtNTI4cHgsIDMzcHgsIDI0cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1lbWFpbCcsICk7XG4kaWNvbi1ldmVudHMtbmFtZTogJ2ljb24tZXZlbnRzJztcbiRpY29uLWV2ZW50cy14OiA2MzlweDtcbiRpY29uLWV2ZW50cy15OiA1MjhweDtcbiRpY29uLWV2ZW50cy1vZmZzZXQteDogLTYzOXB4O1xuJGljb24tZXZlbnRzLW9mZnNldC15OiAtNTI4cHg7XG4kaWNvbi1ldmVudHMtd2lkdGg6IDIwcHg7XG4kaWNvbi1ldmVudHMtaGVpZ2h0OiAyMHB4O1xuJGljb24tZXZlbnRzLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kaWNvbi1ldmVudHMtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRpY29uLWV2ZW50cy1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1ldmVudHM6ICg2MzlweCwgNTI4cHgsIC02MzlweCwgLTUyOHB4LCAyMHB4LCAyMHB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2ljb24tZXZlbnRzJywgKTtcbiRpY29uLWxvZ2luLW5hbWU6ICdpY29uLWxvZ2luJztcbiRpY29uLWxvZ2luLXg6IDY3OXB4O1xuJGljb24tbG9naW4teTogNTI4cHg7XG4kaWNvbi1sb2dpbi1vZmZzZXQteDogLTY3OXB4O1xuJGljb24tbG9naW4tb2Zmc2V0LXk6IC01MjhweDtcbiRpY29uLWxvZ2luLXdpZHRoOiAyMHB4O1xuJGljb24tbG9naW4taGVpZ2h0OiAyMHB4O1xuJGljb24tbG9naW4tdG90YWwtd2lkdGg6IDEwMjRweDtcbiRpY29uLWxvZ2luLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kaWNvbi1sb2dpbi1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1sb2dpbjogKDY3OXB4LCA1MjhweCwgLTY3OXB4LCAtNTI4cHgsIDIwcHgsIDIwcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1sb2dpbicsICk7XG4kaWNvbi1wZGYtbmFtZTogJ2ljb24tcGRmJztcbiRpY29uLXBkZi14OiAzMTVweDtcbiRpY29uLXBkZi15OiA1NjJweDtcbiRpY29uLXBkZi1vZmZzZXQteDogLTMxNXB4O1xuJGljb24tcGRmLW9mZnNldC15OiAtNTYycHg7XG4kaWNvbi1wZGYtd2lkdGg6IDQycHg7XG4kaWNvbi1wZGYtaGVpZ2h0OiA0MnB4O1xuJGljb24tcGRmLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kaWNvbi1wZGYtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRpY29uLXBkZi1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1wZGY6ICgzMTVweCwgNTYycHgsIC0zMTVweCwgLTU2MnB4LCA0MnB4LCA0MnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2ljb24tcGRmJywgKTtcbiRpY29uLXBpbmstZG93bmxvYWQtbmFtZTogJ2ljb24tcGluay1kb3dubG9hZCc7XG4kaWNvbi1waW5rLWRvd25sb2FkLXg6IDc5N3B4O1xuJGljb24tcGluay1kb3dubG9hZC15OiA1MjhweDtcbiRpY29uLXBpbmstZG93bmxvYWQtb2Zmc2V0LXg6IC03OTdweDtcbiRpY29uLXBpbmstZG93bmxvYWQtb2Zmc2V0LXk6IC01MjhweDtcbiRpY29uLXBpbmstZG93bmxvYWQtd2lkdGg6IDE3cHg7XG4kaWNvbi1waW5rLWRvd25sb2FkLWhlaWdodDogMTdweDtcbiRpY29uLXBpbmstZG93bmxvYWQtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRpY29uLXBpbmstZG93bmxvYWQtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRpY29uLXBpbmstZG93bmxvYWQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGljb24tcGluay1kb3dubG9hZDogKDc5N3B4LCA1MjhweCwgLTc5N3B4LCAtNTI4cHgsIDE3cHgsIDE3cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1waW5rLWRvd25sb2FkJywgKTtcbiRpY29uLXJlc2VhcmNoLW5hbWU6ICdpY29uLXJlc2VhcmNoJztcbiRpY29uLXJlc2VhcmNoLXg6IDYxOXB4O1xuJGljb24tcmVzZWFyY2gteTogNTI4cHg7XG4kaWNvbi1yZXNlYXJjaC1vZmZzZXQteDogLTYxOXB4O1xuJGljb24tcmVzZWFyY2gtb2Zmc2V0LXk6IC01MjhweDtcbiRpY29uLXJlc2VhcmNoLXdpZHRoOiAyMHB4O1xuJGljb24tcmVzZWFyY2gtaGVpZ2h0OiAyMHB4O1xuJGljb24tcmVzZWFyY2gtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRpY29uLXJlc2VhcmNoLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kaWNvbi1yZXNlYXJjaC1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kaWNvbi1yZXNlYXJjaDogKDYxOXB4LCA1MjhweCwgLTYxOXB4LCAtNTI4cHgsIDIwcHgsIDIwcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1yZXNlYXJjaCcsICk7XG4kaWNvbi1zY3JvbGwtdGFibGUtbmFtZTogJ2ljb24tc2Nyb2xsLXRhYmxlJztcbiRpY29uLXNjcm9sbC10YWJsZS14OiAzODhweDtcbiRpY29uLXNjcm9sbC10YWJsZS15OiA1MTJweDtcbiRpY29uLXNjcm9sbC10YWJsZS1vZmZzZXQteDogLTM4OHB4O1xuJGljb24tc2Nyb2xsLXRhYmxlLW9mZnNldC15OiAtNTEycHg7XG4kaWNvbi1zY3JvbGwtdGFibGUtd2lkdGg6IDExN3B4O1xuJGljb24tc2Nyb2xsLXRhYmxlLWhlaWdodDogMTZweDtcbiRpY29uLXNjcm9sbC10YWJsZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJGljb24tc2Nyb2xsLXRhYmxlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kaWNvbi1zY3JvbGwtdGFibGUtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGljb24tc2Nyb2xsLXRhYmxlOiAoMzg4cHgsIDUxMnB4LCAtMzg4cHgsIC01MTJweCwgMTE3cHgsIDE2cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnaWNvbi1zY3JvbGwtdGFibGUnLCApO1xuJGljb24tc2VhcmNoLW5hbWU6ICdpY29uLXNlYXJjaCc7XG4kaWNvbi1zZWFyY2gteDogNjk5cHg7XG4kaWNvbi1zZWFyY2gteTogNTI4cHg7XG4kaWNvbi1zZWFyY2gtb2Zmc2V0LXg6IC02OTlweDtcbiRpY29uLXNlYXJjaC1vZmZzZXQteTogLTUyOHB4O1xuJGljb24tc2VhcmNoLXdpZHRoOiAyMHB4O1xuJGljb24tc2VhcmNoLWhlaWdodDogMjBweDtcbiRpY29uLXNlYXJjaC10b3RhbC13aWR0aDogMTAyNHB4O1xuJGljb24tc2VhcmNoLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kaWNvbi1zZWFyY2gtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGljb24tc2VhcmNoOiAoNjk5cHgsIDUyOHB4LCAtNjk5cHgsIC01MjhweCwgMjBweCwgMjBweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdpY29uLXNlYXJjaCcsICk7XG4kaWNvbi13aGl0ZS1kb3dubG9hZC1uYW1lOiAnaWNvbi13aGl0ZS1kb3dubG9hZCc7XG4kaWNvbi13aGl0ZS1kb3dubG9hZC14OiA3ODBweDtcbiRpY29uLXdoaXRlLWRvd25sb2FkLXk6IDUyOHB4O1xuJGljb24td2hpdGUtZG93bmxvYWQtb2Zmc2V0LXg6IC03ODBweDtcbiRpY29uLXdoaXRlLWRvd25sb2FkLW9mZnNldC15OiAtNTI4cHg7XG4kaWNvbi13aGl0ZS1kb3dubG9hZC13aWR0aDogMTdweDtcbiRpY29uLXdoaXRlLWRvd25sb2FkLWhlaWdodDogMTdweDtcbiRpY29uLXdoaXRlLWRvd25sb2FkLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kaWNvbi13aGl0ZS1kb3dubG9hZC10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGljb24td2hpdGUtZG93bmxvYWQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGljb24td2hpdGUtZG93bmxvYWQ6ICg3ODBweCwgNTI4cHgsIC03ODBweCwgLTUyOHB4LCAxN3B4LCAxN3B4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2ljb24td2hpdGUtZG93bmxvYWQnLCApO1xuJGxpbmtlZGluLW5hbWU6ICdsaW5rZWRpbic7XG4kbGlua2VkaW4teDogMTM1cHg7XG4kbGlua2VkaW4teTogNTYycHg7XG4kbGlua2VkaW4tb2Zmc2V0LXg6IC0xMzVweDtcbiRsaW5rZWRpbi1vZmZzZXQteTogLTU2MnB4O1xuJGxpbmtlZGluLXdpZHRoOiA0NXB4O1xuJGxpbmtlZGluLWhlaWdodDogNDVweDtcbiRsaW5rZWRpbi10b3RhbC13aWR0aDogMTAyNHB4O1xuJGxpbmtlZGluLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kbGlua2VkaW4taW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGxpbmtlZGluOiAoMTM1cHgsIDU2MnB4LCAtMTM1cHgsIC01NjJweCwgNDVweCwgNDVweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdsaW5rZWRpbicsICk7XG4kbG9nby1zbWFsbC1uYW1lOiAnbG9nby1zbWFsbCc7XG4kbG9nby1zbWFsbC14OiAyOTJweDtcbiRsb2dvLXNtYWxsLXk6IDUxMnB4O1xuJGxvZ28tc21hbGwtb2Zmc2V0LXg6IC0yOTJweDtcbiRsb2dvLXNtYWxsLW9mZnNldC15OiAtNTEycHg7XG4kbG9nby1zbWFsbC13aWR0aDogOTZweDtcbiRsb2dvLXNtYWxsLWhlaWdodDogNDBweDtcbiRsb2dvLXNtYWxsLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kbG9nby1zbWFsbC10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGxvZ28tc21hbGwtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGxvZ28tc21hbGw6ICgyOTJweCwgNTEycHgsIC0yOTJweCwgLTUxMnB4LCA5NnB4LCA0MHB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ2xvZ28tc21hbGwnLCApO1xuJGxvZ28tbmFtZTogJ2xvZ28nO1xuJGxvZ28teDogMHB4O1xuJGxvZ28teTogNTEycHg7XG4kbG9nby1vZmZzZXQteDogMHB4O1xuJGxvZ28tb2Zmc2V0LXk6IC01MTJweDtcbiRsb2dvLXdpZHRoOiAyOTJweDtcbiRsb2dvLWhlaWdodDogNTBweDtcbiRsb2dvLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kbG9nby10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJGxvZ28taW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJGxvZ286ICgwcHgsIDUxMnB4LCAwcHgsIC01MTJweCwgMjkycHgsIDUwcHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnbG9nbycsICk7XG4kbWludXMtYmx1ZS1jb3B5LW5hbWU6ICdtaW51cy1ibHVlIC0gQ29weSc7XG4kbWludXMtYmx1ZS1jb3B5LXg6IDU3NXB4O1xuJG1pbnVzLWJsdWUtY29weS15OiA1MjhweDtcbiRtaW51cy1ibHVlLWNvcHktb2Zmc2V0LXg6IC01NzVweDtcbiRtaW51cy1ibHVlLWNvcHktb2Zmc2V0LXk6IC01MjhweDtcbiRtaW51cy1ibHVlLWNvcHktd2lkdGg6IDIycHg7XG4kbWludXMtYmx1ZS1jb3B5LWhlaWdodDogMjJweDtcbiRtaW51cy1ibHVlLWNvcHktdG90YWwtd2lkdGg6IDEwMjRweDtcbiRtaW51cy1ibHVlLWNvcHktdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRtaW51cy1ibHVlLWNvcHktaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJG1pbnVzLWJsdWUtY29weTogKDU3NXB4LCA1MjhweCwgLTU3NXB4LCAtNTI4cHgsIDIycHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnbWludXMtYmx1ZSAtIENvcHknLCApO1xuJG1pbnVzLWJsdWUtbmFtZTogJ21pbnVzLWJsdWUnO1xuJG1pbnVzLWJsdWUteDogNTk3cHg7XG4kbWludXMtYmx1ZS15OiA1MjhweDtcbiRtaW51cy1ibHVlLW9mZnNldC14OiAtNTk3cHg7XG4kbWludXMtYmx1ZS1vZmZzZXQteTogLTUyOHB4O1xuJG1pbnVzLWJsdWUtd2lkdGg6IDIycHg7XG4kbWludXMtYmx1ZS1oZWlnaHQ6IDIycHg7XG4kbWludXMtYmx1ZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJG1pbnVzLWJsdWUtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRtaW51cy1ibHVlLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRtaW51cy1ibHVlOiAoNTk3cHgsIDUyOHB4LCAtNTk3cHgsIC01MjhweCwgMjJweCwgMjJweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdtaW51cy1ibHVlJywgKTtcbiRtaW51cy1ncmV5LW5hbWU6ICdtaW51cy1ncmV5JztcbiRtaW51cy1ncmV5LXg6IDQ0M3B4O1xuJG1pbnVzLWdyZXkteTogNTI4cHg7XG4kbWludXMtZ3JleS1vZmZzZXQteDogLTQ0M3B4O1xuJG1pbnVzLWdyZXktb2Zmc2V0LXk6IC01MjhweDtcbiRtaW51cy1ncmV5LXdpZHRoOiAyMnB4O1xuJG1pbnVzLWdyZXktaGVpZ2h0OiAyMnB4O1xuJG1pbnVzLWdyZXktdG90YWwtd2lkdGg6IDEwMjRweDtcbiRtaW51cy1ncmV5LXRvdGFsLWhlaWdodDogNjk2cHg7XG4kbWludXMtZ3JleS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kbWludXMtZ3JleTogKDQ0M3B4LCA1MjhweCwgLTQ0M3B4LCAtNTI4cHgsIDIycHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnbWludXMtZ3JleScsICk7XG4kbWludXMtcGluay1uYW1lOiAnbWludXMtcGluayc7XG4kbWludXMtcGluay14OiA1NTNweDtcbiRtaW51cy1waW5rLXk6IDUyOHB4O1xuJG1pbnVzLXBpbmstb2Zmc2V0LXg6IC01NTNweDtcbiRtaW51cy1waW5rLW9mZnNldC15OiAtNTI4cHg7XG4kbWludXMtcGluay13aWR0aDogMjJweDtcbiRtaW51cy1waW5rLWhlaWdodDogMjJweDtcbiRtaW51cy1waW5rLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kbWludXMtcGluay10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJG1pbnVzLXBpbmstaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJG1pbnVzLXBpbms6ICg1NTNweCwgNTI4cHgsIC01NTNweCwgLTUyOHB4LCAyMnB4LCAyMnB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ21pbnVzLXBpbmsnLCApO1xuJG1pbnVzLXdoaXRlLW5hbWU6ICdtaW51cy13aGl0ZSc7XG4kbWludXMtd2hpdGUteDogNTMxcHg7XG4kbWludXMtd2hpdGUteTogNTI4cHg7XG4kbWludXMtd2hpdGUtb2Zmc2V0LXg6IC01MzFweDtcbiRtaW51cy13aGl0ZS1vZmZzZXQteTogLTUyOHB4O1xuJG1pbnVzLXdoaXRlLXdpZHRoOiAyMnB4O1xuJG1pbnVzLXdoaXRlLWhlaWdodDogMjJweDtcbiRtaW51cy13aGl0ZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJG1pbnVzLXdoaXRlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kbWludXMtd2hpdGUtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJG1pbnVzLXdoaXRlOiAoNTMxcHgsIDUyOHB4LCAtNTMxcHgsIC01MjhweCwgMjJweCwgMjJweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdtaW51cy13aGl0ZScsICk7XG4kcGxheS13aGl0ZS1uYW1lOiAncGxheS13aGl0ZSc7XG4kcGxheS13aGl0ZS14OiA3ODdweDtcbiRwbGF5LXdoaXRlLXk6IDUxMnB4O1xuJHBsYXktd2hpdGUtb2Zmc2V0LXg6IC03ODdweDtcbiRwbGF5LXdoaXRlLW9mZnNldC15OiAtNTEycHg7XG4kcGxheS13aGl0ZS13aWR0aDogMTVweDtcbiRwbGF5LXdoaXRlLWhlaWdodDogMTVweDtcbiRwbGF5LXdoaXRlLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kcGxheS13aGl0ZS10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJHBsYXktd2hpdGUtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHBsYXktd2hpdGU6ICg3ODdweCwgNTEycHgsIC03ODdweCwgLTUxMnB4LCAxNXB4LCAxNXB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ3BsYXktd2hpdGUnLCApO1xuJHBsYXktbmFtZTogJ3BsYXknO1xuJHBsYXkteDogODMxcHg7XG4kcGxheS15OiA1MjhweDtcbiRwbGF5LW9mZnNldC14OiAtODMxcHg7XG4kcGxheS1vZmZzZXQteTogLTUyOHB4O1xuJHBsYXktd2lkdGg6IDExcHg7XG4kcGxheS1oZWlnaHQ6IDE2cHg7XG4kcGxheS10b3RhbC13aWR0aDogMTAyNHB4O1xuJHBsYXktdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRwbGF5LWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRwbGF5OiAoODMxcHgsIDUyOHB4LCAtODMxcHgsIC01MjhweCwgMTFweCwgMTZweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdwbGF5JywgKTtcbiRwbHVzLWJsdWUtbmFtZTogJ3BsdXMtYmx1ZSc7XG4kcGx1cy1ibHVlLXg6IDUwOXB4O1xuJHBsdXMtYmx1ZS15OiA1MjhweDtcbiRwbHVzLWJsdWUtb2Zmc2V0LXg6IC01MDlweDtcbiRwbHVzLWJsdWUtb2Zmc2V0LXk6IC01MjhweDtcbiRwbHVzLWJsdWUtd2lkdGg6IDIycHg7XG4kcGx1cy1ibHVlLWhlaWdodDogMjJweDtcbiRwbHVzLWJsdWUtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRwbHVzLWJsdWUtdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRwbHVzLWJsdWUtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHBsdXMtYmx1ZTogKDUwOXB4LCA1MjhweCwgLTUwOXB4LCAtNTI4cHgsIDIycHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAncGx1cy1ibHVlJywgKTtcbiRwbHVzLWdyZXktbmFtZTogJ3BsdXMtZ3JleSc7XG4kcGx1cy1ncmV5LXg6IDQ4N3B4O1xuJHBsdXMtZ3JleS15OiA1MjhweDtcbiRwbHVzLWdyZXktb2Zmc2V0LXg6IC00ODdweDtcbiRwbHVzLWdyZXktb2Zmc2V0LXk6IC01MjhweDtcbiRwbHVzLWdyZXktd2lkdGg6IDIycHg7XG4kcGx1cy1ncmV5LWhlaWdodDogMjJweDtcbiRwbHVzLWdyZXktdG90YWwtd2lkdGg6IDEwMjRweDtcbiRwbHVzLWdyZXktdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRwbHVzLWdyZXktaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHBsdXMtZ3JleTogKDQ4N3B4LCA1MjhweCwgLTQ4N3B4LCAtNTI4cHgsIDIycHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAncGx1cy1ncmV5JywgKTtcbiRwbHVzLW1pbnVzLWJsdWUtbmFtZTogJ3BsdXMtbWludXMtYmx1ZSc7XG4kcGx1cy1taW51cy1ibHVlLXg6IDBweDtcbiRwbHVzLW1pbnVzLWJsdWUteTogNjA3cHg7XG4kcGx1cy1taW51cy1ibHVlLW9mZnNldC14OiAwcHg7XG4kcGx1cy1taW51cy1ibHVlLW9mZnNldC15OiAtNjA3cHg7XG4kcGx1cy1taW51cy1ibHVlLXdpZHRoOiAyMnB4O1xuJHBsdXMtbWludXMtYmx1ZS1oZWlnaHQ6IDQ0cHg7XG4kcGx1cy1taW51cy1ibHVlLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kcGx1cy1taW51cy1ibHVlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kcGx1cy1taW51cy1ibHVlLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRwbHVzLW1pbnVzLWJsdWU6ICgwcHgsIDYwN3B4LCAwcHgsIC02MDdweCwgMjJweCwgNDRweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdwbHVzLW1pbnVzLWJsdWUnLCApO1xuJHBsdXMtbWludXMtZ3JleS1uYW1lOiAncGx1cy1taW51cy1ncmV5JztcbiRwbHVzLW1pbnVzLWdyZXkteDogMjJweDtcbiRwbHVzLW1pbnVzLWdyZXkteTogNjA3cHg7XG4kcGx1cy1taW51cy1ncmV5LW9mZnNldC14OiAtMjJweDtcbiRwbHVzLW1pbnVzLWdyZXktb2Zmc2V0LXk6IC02MDdweDtcbiRwbHVzLW1pbnVzLWdyZXktd2lkdGg6IDIycHg7XG4kcGx1cy1taW51cy1ncmV5LWhlaWdodDogNDRweDtcbiRwbHVzLW1pbnVzLWdyZXktdG90YWwtd2lkdGg6IDEwMjRweDtcbiRwbHVzLW1pbnVzLWdyZXktdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRwbHVzLW1pbnVzLWdyZXktaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHBsdXMtbWludXMtZ3JleTogKDIycHgsIDYwN3B4LCAtMjJweCwgLTYwN3B4LCAyMnB4LCA0NHB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ3BsdXMtbWludXMtZ3JleScsICk7XG4kcGx1cy1taW51cy1waW5rLW5hbWU6ICdwbHVzLW1pbnVzLXBpbmsnO1xuJHBsdXMtbWludXMtcGluay14OiA0NHB4O1xuJHBsdXMtbWludXMtcGluay15OiA2MDdweDtcbiRwbHVzLW1pbnVzLXBpbmstb2Zmc2V0LXg6IC00NHB4O1xuJHBsdXMtbWludXMtcGluay1vZmZzZXQteTogLTYwN3B4O1xuJHBsdXMtbWludXMtcGluay13aWR0aDogMjJweDtcbiRwbHVzLW1pbnVzLXBpbmstaGVpZ2h0OiA0NHB4O1xuJHBsdXMtbWludXMtcGluay10b3RhbC13aWR0aDogMTAyNHB4O1xuJHBsdXMtbWludXMtcGluay10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJHBsdXMtbWludXMtcGluay1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kcGx1cy1taW51cy1waW5rOiAoNDRweCwgNjA3cHgsIC00NHB4LCAtNjA3cHgsIDIycHgsIDQ0cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAncGx1cy1taW51cy1waW5rJywgKTtcbiRwbHVzLW1pbnVzLXdoaXRlLW5hbWU6ICdwbHVzLW1pbnVzLXdoaXRlJztcbiRwbHVzLW1pbnVzLXdoaXRlLXg6IDY2cHg7XG4kcGx1cy1taW51cy13aGl0ZS15OiA2MDdweDtcbiRwbHVzLW1pbnVzLXdoaXRlLW9mZnNldC14OiAtNjZweDtcbiRwbHVzLW1pbnVzLXdoaXRlLW9mZnNldC15OiAtNjA3cHg7XG4kcGx1cy1taW51cy13aGl0ZS13aWR0aDogMjJweDtcbiRwbHVzLW1pbnVzLXdoaXRlLWhlaWdodDogNDRweDtcbiRwbHVzLW1pbnVzLXdoaXRlLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kcGx1cy1taW51cy13aGl0ZS10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJHBsdXMtbWludXMtd2hpdGUtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHBsdXMtbWludXMtd2hpdGU6ICg2NnB4LCA2MDdweCwgLTY2cHgsIC02MDdweCwgMjJweCwgNDRweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdwbHVzLW1pbnVzLXdoaXRlJywgKTtcbiRwbHVzLXBpbmstbmFtZTogJ3BsdXMtcGluayc7XG4kcGx1cy1waW5rLXg6IDQyMXB4O1xuJHBsdXMtcGluay15OiA1MjhweDtcbiRwbHVzLXBpbmstb2Zmc2V0LXg6IC00MjFweDtcbiRwbHVzLXBpbmstb2Zmc2V0LXk6IC01MjhweDtcbiRwbHVzLXBpbmstd2lkdGg6IDIycHg7XG4kcGx1cy1waW5rLWhlaWdodDogMjJweDtcbiRwbHVzLXBpbmstdG90YWwtd2lkdGg6IDEwMjRweDtcbiRwbHVzLXBpbmstdG90YWwtaGVpZ2h0OiA2OTZweDtcbiRwbHVzLXBpbmstaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHBsdXMtcGluazogKDQyMXB4LCA1MjhweCwgLTQyMXB4LCAtNTI4cHgsIDIycHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAncGx1cy1waW5rJywgKTtcbiRwbHVzLXdoaXRlLW5hbWU6ICdwbHVzLXdoaXRlJztcbiRwbHVzLXdoaXRlLXg6IDQ2NXB4O1xuJHBsdXMtd2hpdGUteTogNTI4cHg7XG4kcGx1cy13aGl0ZS1vZmZzZXQteDogLTQ2NXB4O1xuJHBsdXMtd2hpdGUtb2Zmc2V0LXk6IC01MjhweDtcbiRwbHVzLXdoaXRlLXdpZHRoOiAyMnB4O1xuJHBsdXMtd2hpdGUtaGVpZ2h0OiAyMnB4O1xuJHBsdXMtd2hpdGUtdG90YWwtd2lkdGg6IDEwMjRweDtcbiRwbHVzLXdoaXRlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kcGx1cy13aGl0ZS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kcGx1cy13aGl0ZTogKDQ2NXB4LCA1MjhweCwgLTQ2NXB4LCAtNTI4cHgsIDIycHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAncGx1cy13aGl0ZScsICk7XG4kcHJpbnQtbmFtZTogJ3ByaW50JztcbiRwcmludC14OiAwcHg7XG4kcHJpbnQteTogNTYycHg7XG4kcHJpbnQtb2Zmc2V0LXg6IDBweDtcbiRwcmludC1vZmZzZXQteTogLTU2MnB4O1xuJHByaW50LXdpZHRoOiA0NXB4O1xuJHByaW50LWhlaWdodDogNDVweDtcbiRwcmludC10b3RhbC13aWR0aDogMTAyNHB4O1xuJHByaW50LXRvdGFsLWhlaWdodDogNjk2cHg7XG4kcHJpbnQtaW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHByaW50OiAoMHB4LCA1NjJweCwgMHB4LCAtNTYycHgsIDQ1cHgsIDQ1cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAncHJpbnQnLCApO1xuJHJhZGlvYnV0dG9uLW5hbWU6ICdyYWRpb2J1dHRvbic7XG4kcmFkaW9idXR0b24teDogNTEycHg7XG4kcmFkaW9idXR0b24teTogMHB4O1xuJHJhZGlvYnV0dG9uLW9mZnNldC14OiAtNTEycHg7XG4kcmFkaW9idXR0b24tb2Zmc2V0LXk6IDBweDtcbiRyYWRpb2J1dHRvbi13aWR0aDogNTEycHg7XG4kcmFkaW9idXR0b24taGVpZ2h0OiA1MTJweDtcbiRyYWRpb2J1dHRvbi10b3RhbC13aWR0aDogMTAyNHB4O1xuJHJhZGlvYnV0dG9uLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kcmFkaW9idXR0b24taW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHJhZGlvYnV0dG9uOiAoNTEycHgsIDBweCwgLTUxMnB4LCAwcHgsIDUxMnB4LCA1MTJweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICdyYWRpb2J1dHRvbicsICk7XG4kc2Nyb2xsLXRhYmxlLW5hbWU6ICdzY3JvbGwtdGFibGUnO1xuJHNjcm9sbC10YWJsZS14OiA1MDVweDtcbiRzY3JvbGwtdGFibGUteTogNTEycHg7XG4kc2Nyb2xsLXRhYmxlLW9mZnNldC14OiAtNTA1cHg7XG4kc2Nyb2xsLXRhYmxlLW9mZnNldC15OiAtNTEycHg7XG4kc2Nyb2xsLXRhYmxlLXdpZHRoOiAxMTdweDtcbiRzY3JvbGwtdGFibGUtaGVpZ2h0OiAxNnB4O1xuJHNjcm9sbC10YWJsZS10b3RhbC13aWR0aDogMTAyNHB4O1xuJHNjcm9sbC10YWJsZS10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJHNjcm9sbC10YWJsZS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kc2Nyb2xsLXRhYmxlOiAoNTA1cHgsIDUxMnB4LCAtNTA1cHgsIC01MTJweCwgMTE3cHgsIDE2cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAnc2Nyb2xsLXRhYmxlJywgKTtcbiR0aWNrLWNyb3NzLW5hbWU6ICd0aWNrLWNyb3NzJztcbiR0aWNrLWNyb3NzLXg6IDUwMnB4O1xuJHRpY2stY3Jvc3MteTogNTYycHg7XG4kdGljay1jcm9zcy1vZmZzZXQteDogLTUwMnB4O1xuJHRpY2stY3Jvc3Mtb2Zmc2V0LXk6IC01NjJweDtcbiR0aWNrLWNyb3NzLXdpZHRoOiAxM3B4O1xuJHRpY2stY3Jvc3MtaGVpZ2h0OiAyMnB4O1xuJHRpY2stY3Jvc3MtdG90YWwtd2lkdGg6IDEwMjRweDtcbiR0aWNrLWNyb3NzLXRvdGFsLWhlaWdodDogNjk2cHg7XG4kdGljay1jcm9zcy1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4kdGljay1jcm9zczogKDUwMnB4LCA1NjJweCwgLTUwMnB4LCAtNTYycHgsIDEzcHgsIDIycHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAndGljay1jcm9zcycsICk7XG4kdGljay1uYW1lOiAndGljayc7XG4kdGljay14OiAzODdweDtcbiR0aWNrLXk6IDU2MnB4O1xuJHRpY2stb2Zmc2V0LXg6IC0zODdweDtcbiR0aWNrLW9mZnNldC15OiAtNTYycHg7XG4kdGljay13aWR0aDogMzBweDtcbiR0aWNrLWhlaWdodDogMzBweDtcbiR0aWNrLXRvdGFsLXdpZHRoOiAxMDI0cHg7XG4kdGljay10b3RhbC1oZWlnaHQ6IDY5NnB4O1xuJHRpY2staW1hZ2U6ICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnO1xuJHRpY2s6ICgzODdweCwgNTYycHgsIC0zODdweCwgLTU2MnB4LCAzMHB4LCAzMHB4LCAxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJ3RpY2snLCApO1xuJHR3aXR0ZXItbmFtZTogJ3R3aXR0ZXInO1xuJHR3aXR0ZXIteDogMjI1cHg7XG4kdHdpdHRlci15OiA1NjJweDtcbiR0d2l0dGVyLW9mZnNldC14OiAtMjI1cHg7XG4kdHdpdHRlci1vZmZzZXQteTogLTU2MnB4O1xuJHR3aXR0ZXItd2lkdGg6IDQ1cHg7XG4kdHdpdHRlci1oZWlnaHQ6IDQ1cHg7XG4kdHdpdHRlci10b3RhbC13aWR0aDogMTAyNHB4O1xuJHR3aXR0ZXItdG90YWwtaGVpZ2h0OiA2OTZweDtcbiR0d2l0dGVyLWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiR0d2l0dGVyOiAoMjI1cHgsIDU2MnB4LCAtMjI1cHgsIC01NjJweCwgNDVweCwgNDVweCwgMTAyNHB4LCA2OTZweCwgJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZycsICd0d2l0dGVyJywgKTtcbiR5b3V0dWJlLW5hbWU6ICd5b3V0dWJlJztcbiR5b3V0dWJlLXg6IDE4MHB4O1xuJHlvdXR1YmUteTogNTYycHg7XG4keW91dHViZS1vZmZzZXQteDogLTE4MHB4O1xuJHlvdXR1YmUtb2Zmc2V0LXk6IC01NjJweDtcbiR5b3V0dWJlLXdpZHRoOiA0NXB4O1xuJHlvdXR1YmUtaGVpZ2h0OiA0NXB4O1xuJHlvdXR1YmUtdG90YWwtd2lkdGg6IDEwMjRweDtcbiR5b3V0dWJlLXRvdGFsLWhlaWdodDogNjk2cHg7XG4keW91dHViZS1pbWFnZTogJy4uL2ltYWdlcy9zaGVldHMvc3ByaXRlLnBuZyc7XG4keW91dHViZTogKDE4MHB4LCA1NjJweCwgLTE4MHB4LCAtNTYycHgsIDQ1cHgsIDQ1cHgsIDEwMjRweCwgNjk2cHgsICcuLi9pbWFnZXMvc2hlZXRzL3Nwcml0ZS5wbmcnLCAneW91dHViZScsICk7XG4kc3ByaXRlc2hlZXQtd2lkdGg6IDEwMjRweDtcbiRzcHJpdGVzaGVldC1oZWlnaHQ6IDY5NnB4O1xuJHNwcml0ZXNoZWV0LWltYWdlOiAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJztcbiRzcHJpdGVzaGVldC1zcHJpdGVzOiAoJGFsZXJ0LCAkYXJyb3ctcGluay1kb3duLCAkYXJyb3ctcGluay1sYXJnZSwgJGFycm93LXBpbmstbGVmdC1sYXJnZSwgJGFycm93LXBpbmstbGVmdCwgJGFycm93LXBpbmstcmlnaHQtbGFyZ2UsICRhcnJvdy1waW5rLXJpZ2h0LCAkYXJyb3ctd2hpdGUtcmlnaHQsICRhcnJvdy13aGl0ZSwgJGFycm93cy1ncmV5LCAkYXJyb3dzLXBpbmstZG93biwgJGFycm93cy1waW5rLWxlZnQsICRhcnJvd3MtcGluay1yaWdodCwgJGFycm93cy1waW5rLXNtYWxsLCAkYXJyb3dzLXBpbmssICRhcnJvd3Mtd2hpdGUsICRiYy1lbmQsICRjYXJvdXNlbC1hcnJvd3MtcGluaywgJGNoZWNrYm94LCAkY2ltYWNvbm5lY3QsICRjcm9zcy1waW5rLCAkY3Jvc3Mtd2hpdGUsICRjcm9zcywgJGRhdGVwaWNrZXIsICRlbGlwc2lzLCAkZW1haWwsICRmYWNlYm9vaywgJGdsb2JlLXBpbmssICRoYW1idXJnZXIsICRpY29uLWFjY291bnQsICRpY29uLWRvd25sb2FkLCAkaWNvbi1lZGl0LXBpbmssICRpY29uLWVtYWlsLCAkaWNvbi1ldmVudHMsICRpY29uLWxvZ2luLCAkaWNvbi1wZGYsICRpY29uLXBpbmstZG93bmxvYWQsICRpY29uLXJlc2VhcmNoLCAkaWNvbi1zY3JvbGwtdGFibGUsICRpY29uLXNlYXJjaCwgJGljb24td2hpdGUtZG93bmxvYWQsICRsaW5rZWRpbiwgJGxvZ28tc21hbGwsICRsb2dvLCAkbWludXMtYmx1ZS1jb3B5LCAkbWludXMtYmx1ZSwgJG1pbnVzLWdyZXksICRtaW51cy1waW5rLCAkbWludXMtd2hpdGUsICRwbGF5LXdoaXRlLCAkcGxheSwgJHBsdXMtYmx1ZSwgJHBsdXMtZ3JleSwgJHBsdXMtbWludXMtYmx1ZSwgJHBsdXMtbWludXMtZ3JleSwgJHBsdXMtbWludXMtcGluaywgJHBsdXMtbWludXMtd2hpdGUsICRwbHVzLXBpbmssICRwbHVzLXdoaXRlLCAkcHJpbnQsICRyYWRpb2J1dHRvbiwgJHNjcm9sbC10YWJsZSwgJHRpY2stY3Jvc3MsICR0aWNrLCAkdHdpdHRlciwgJHlvdXR1YmUsICk7XG4kc3ByaXRlc2hlZXQ6ICgxMDI0cHgsIDY5NnB4LCAnLi4vaW1hZ2VzL3NoZWV0cy9zcHJpdGUucG5nJywgJHNwcml0ZXNoZWV0LXNwcml0ZXMsICk7XG5cbi8qXG5UaGUgcHJvdmlkZWQgbWl4aW5zIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggdGhlIGFycmF5LWxpa2UgdmFyaWFibGVzXG5cbi5pY29uLWhvbWUge1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJGljb24taG9tZSk7XG59XG5cbi5pY29uLWVtYWlsIHtcbiAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLWVtYWlsKTtcbn1cblxuSGVyZSBhcmUgZXhhbXBsZSB1c2FnZXMgaW4gSFRNTDpcblxuYGRpc3BsYXk6IGJsb2NrYCBzcHJpdGU6XG48ZGl2IGNsYXNzPVwiaWNvbi1ob21lXCI+PC9kaXY+XG5cbmBkaXNwbGF5OiBpbmxpbmUtYmxvY2tgIHNwcml0ZTpcbjxpbWcgY2xhc3M9XCJpY29uLWhvbWVcIiAvPlxuKi9cbkBtaXhpbiBzcHJpdGUtd2lkdGgoJHNwcml0ZSkge1xuICB3aWR0aDogbnRoKCRzcHJpdGUsIDUpO1xufVxuXG5AbWl4aW4gc3ByaXRlLWhlaWdodCgkc3ByaXRlKSB7XG4gIGhlaWdodDogbnRoKCRzcHJpdGUsIDYpO1xufVxuXG5AbWl4aW4gc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1vZmZzZXQteDogbnRoKCRzcHJpdGUsIDMpO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGUtb2Zmc2V0LXggICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbkBtaXhpbiBzcHJpdGUtaW1hZ2UoJHNwcml0ZSkge1xuICAkc3ByaXRlLWltYWdlOiBudGgoJHNwcml0ZSwgOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRzcHJpdGUtaW1hZ2V9KTtcbn1cblxuQG1peGluIHNwcml0ZSgkc3ByaXRlKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHNwcml0ZS1oZWlnaHQoJHNwcml0ZSk7XG59XG5cbi8qXG5UaGUgYHNwcml0ZXNgIG1peGluIGdlbmVyYXRlcyBpZGVudGljYWwgb3V0cHV0IHRvIHRoZSBDU1MgdGVtcGxhdGVcbiAgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBvZiBTQ1NTXG5cbkBpbmNsdWRlIHNwcml0ZXMoJHNwcml0ZXNoZWV0LXNwcml0ZXMpO1xuKi9cbkBtaXhpbiBzcHJpdGVzKCRzcHJpdGVzKSB7XG4gIEBlYWNoICRzcHJpdGUgaW4gJHNwcml0ZXMge1xuICAgICRzcHJpdGUtbmFtZTogbnRoKCRzcHJpdGUsIDEwKTtcbiAgICAuI3skc3ByaXRlLW5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHNwcml0ZSgkc3ByaXRlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbi8vICAjQlJFQUtQT0lOVFNcclxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuIFxyXG4gLy9odHRwOi8vcmVzcG9uc2l2ZWRlc2lnbi5pcy9kZXZlbG9wL2Jyb3dzZXItZmVhdHVyZS1zdXBwb3J0L21lZGlhLXF1ZXJpZXMtZm9yLWNvbW1vbi1kZXZpY2UtYnJlYWtwb2ludHNcclxuXHJcblxyXG5cclxuJGJwLXRhYmxldC14LXNtYWxsOiAzMGVtO1x0XHRcdC8vIDQ4MHB4IFxyXG5cclxuJGJwLXRhYmxldC1zbWFsbDogMzcuNWVtO1x0XHRcdC8vIDYwMHB4IFxyXG4kYnAtdGFibGV0LXNtYWxsLWRvd246IDM3LjQzOGVtO1x0Ly8gNTk5cHhcclxuXHJcbiRicC10YWJsZXQ6IDQ4ZW07IFx0XHQgXHRcdFx0Ly8gNzY4cHggXHJcbiRicC10YWJsZXQtZG93bjogNDcuOTM4ZW07XHRcdFx0Ly8gNzY3cHggXHJcblxyXG4kYnAtZGVza3RvcDogNjEuMjUwZW07IFx0IFx0XHRcdC8vIDk4MHB4IFxyXG4kYnAtZGVza3RvcC1kb3duOiA2MS4xODhlbTtcdFx0XHQvLyA5NzlweCBcclxuXHJcbiRicC1kZXNrdG9wLWxhcmdlOiA2NC4wNjNlbTtcdFx0XHQvLyAxMDI1cHggXHJcblxyXG5cclxuLyogbW9iaWxlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAoIG1heC13aWR0aDogJGJwLXRhYmxldC1zbWFsbCl7ICBcclxuICAgIC5kZXNrdG9wLW9ubHksIFxyXG4gICAgLnRhYmxldC1vbmx5LCBcclxuICAgIC5ub3QtbW9iaWxlIHsgXHJcbiAgICBcdGRpc3BsYXk6bm9uZTsgXHJcbiAgICB9ICAgIFxyXG59XHJcblxyXG4vKiB0YWJsZXRzICovIFxyXG5AbWVkaWEgYWxsIGFuZCAoIG1pbi13aWR0aDo2NDFweCkgYW5kICggbWF4LXdpZHRoOiAkYnAtdGFibGV0LWRvd24gKXtcclxuICAgIC5kZXNrdG9wLW9ubHksIFxyXG4gICAgLm1vYmlsZS1vbmx5LCBcclxuICAgIC5ub3QtdGFibGV0IHsgXHJcbiAgICBcdGRpc3BsYXk6bm9uZTsgXHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIGRlc2t0b3AgKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCl7ICBcclxuXHQubW9iaWxlLW9ubHksIFxyXG5cdC50YWJsZXQtb25seSwgXHJcblx0Lm5vdC1kZXNrdG9wIHsgXHJcblx0XHRkaXNwbGF5Om5vbmUhaW1wb3J0YW50OyBcclxuXHR9XHJcbn0iLCIvLy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxyXG4vLyAgI0dMT0JBTCB2YXJpYWJsZXNcclxuLy9cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qIGdyaWQgKi9cclxuJGNvbnRlbnQtd2lkdGg6IDEyMDBweDtcclxuJHNpZGUtcGFkZGluZzogMjBweDsgXHRcdC8vc2lkZSBwYWRkaW5ncyBmb3Igc21hbGwgc2NyZWVuc1xyXG4kY29udGVudC1pbmRlbnQ6IDEyMHB4O1x0XHQvL2NvbnRlbnQgaW5kZW50XHJcblxyXG4kYmFzZS1zcGFjaW5nLXVuaXQ6IDI1cHg7XHQvL2JvdHRvbSBtYXJnaW4gb2YgZWxlbWVudHMgXHJcbiRibG9jay1zbS1wYWRkaW5nOiAxNXB4OyBcdC8vc21hbGwgc2NyZWVuc1xyXG4kYmxvY2stbGctcGFkZGluZzogMzBweDsgXHQvL2xhcmdlIHNjcmVlbnMgXHJcblxyXG4vL0FzaWRlIG5hdmlnYXRpb24gLSByaWdodCBwYWRkaW5nXHJcbiRibG9jay1hc2lkZS1yaWdodC1wYWRkaW5nOiBjYWxjLXBlcmNlbnQoJGNvbnRlbnQtaW5kZW50LCA0MjBweCk7IFxyXG5cclxuXHJcbi8vLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbi8vICAjQ09MT1VSU1xyXG4vL1xcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuJGNvbG91ci1waW5rOiAjZDUwMDU4O1xyXG4kY29sb3VyLXBpbmstbGlnaHQ6ICNmMDYwOTg7XHJcblxyXG4kY29sb3VyLXBsdW06ICM3NzAyM2Y7XHJcbiRjb2xvdXItcGx1bS1saWdodDogIzliMDE0OTtcclxuXHJcbiRjb2xvdXItYmx1ZTogIzBkNjVhYztcclxuJGNvbG91ci1ibHVlLWxpZ2h0OiAjMTY5MGM5O1xyXG4kY29sb3VyLWJsdWUtdGludDogI2VkZjVmYjtcclxuXHJcbiRjb2xvdXItYnJvd246ICM3YjZhNWQ7XHJcbiRjb2xvdXItYnJvd24tbGlnaHRlcjogI2Q3ZDJjZTtcclxuJGNvbG91ci1icm93bi10aW50OiAjZmJmNGVhO1xyXG5cclxuJGNvbG91ci1wdXJwbGU6ICM5OTNjOGU7XHJcblxyXG4kY29sb3VyLWdyZWVuOiAjMzE5OThmO1xyXG4kY29sb3VyLWdyZWVuLXRpbnQ6ICNlZmY5Zjg7XHJcblxyXG5cclxuLyogR3JleXMgZnJvbSBkYXJrIHRvIGxpZ2h0ICovXHJcbiRjb2xvdXItZ3JleTAxOiAjNGQ0ZDRmO1xyXG4kY29sb3VyLWdyZXkwMjogI2FlYWRhZTtcclxuJGNvbG91ci1ncmV5MDM6ICNkMGQwZDE7IC8vYm9yZGVyc1xyXG4kY29sb3VyLWdyZXkwNDogI2RlZGVkZTtcclxuJGNvbG91ci1ncmV5MDU6ICNlNGU0ZTU7XHJcbiRjb2xvdXItZ3JleTA2OiAjZWVlZWVmO1xyXG5cclxuXHJcbi8qIENvbXBvbmVudHMgdGhlbWVzICovXHJcbiR0aGVtZS1waW5rOiAkY29sb3VyLXBpbms7XHJcbiR0aGVtZS1wbHVtOiAkY29sb3VyLXBsdW07XHJcbiR0aGVtZS1ncmV5OiAkY29sb3VyLWdyZXkwNjtcclxuJHRoZW1lLWJyb3duOiAkY29sb3VyLWJyb3duO1xyXG4kdGhlbWUtYnJvd24tdGludDogJGNvbG91ci1icm93bi10aW50O1xyXG4kdGhlbWUtYmx1ZTogJGNvbG91ci1ibHVlLWxpZ2h0O1xyXG4kdGhlbWUtYmx1ZS10aW50OiAkY29sb3VyLWJsdWUtdGludDtcclxuJHRoZW1lLWdyZWVuOiAkY29sb3VyLWdyZWVuO1xyXG4kdGhlbWUtZ3JlZW4tdGludDogJGNvbG91ci1ncmVlbi10aW50O1xyXG4gXHJcbi8qICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAqL1xyXG5cclxuIFxyXG4vLyBQYWdlXHJcbiRiYXNlLWJhY2tncm91bmQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XHJcbiRiYXNlLXRleHQtY29sb3I6ICAgICAgICRjb2xvdXItZ3JleTAxO1xyXG5cclxuJGNvbG9yLWxpbmtzOiAgICAgICAgICAgJGNvbG91ci1waW5rO1xyXG4kY29sb3ItbGlua3MtdmlzaXRlZDogICAkY29sb3VyLXBpbms7IFxyXG4kY29sb3ItZXJyb3I6ICNjYTIxMDAhaW1wb3J0YW50OyAvL292ZXJ3cml0ZSB4Rm9ybSBpbmxpbmUgc3R5bGVcclxuXHJcbiIsIi8qIFdlYiBmb250cyAqL1xyXG4gXHJcbiRmb250LWZhbWlseS1iYXNlOiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktdGltZXM6IFwiR2VvcmdpYVwiLCBcIlRpbWVzXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmOztcclxuIFxyXG4gIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXHJcblxyXG4vKipcclxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXHJcbiAqICAgIHVzZXIgem9vbS5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICogYW5kIEZpcmVmb3guXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5hdWRpbyxcclxuY2FudmFzLFxyXG5wcm9ncmVzcyxcclxudmlkZW8ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0sXHJcbnRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYTphY3RpdmUsXHJcbmE6aG92ZXIge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuZGZuIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xyXG5cclxubWFyayB7XHJcbiAgYmFja2dyb3VuZDogI2ZmMDtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbWcge1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDFlbSA0MHB4O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5wcmUsXHJcbnNhbXAge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxyXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBtYXJnaW46IDA7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXHJcbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXHJcbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcblxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICovXHJcblxyXG5pbnB1dCB7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cclxuICpcclxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxyXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXHJcbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcclxuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcclxuICBtYXJnaW46IDAgMnB4O1xyXG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cclxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm9yZGVyOiAwOyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gKi9cclxuXHJcbm9wdGdyb3VwIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogVGFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcclxuICAjUkVTRVRcclxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qKlxyXG4gKiBBIHZlcnkgc2ltcGxlIHJlc2V0IHRoYXQgc2l0cyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcy5cclxuICovXHJcblxyXG5ib2R5LFxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxyXG5wLCBibG9ja3F1b3RlLCBwcmUsXHJcbmRsLCBkZCwgb2wsIHVsLFxyXG5mb3JtLCBmaWVsZHNldCwgbGVnZW5kLFxyXG5maWd1cmUsIGFkZHJlc3MsXHJcbnRhYmxlLCB0aCwgdGQsIGNhcHRpb24sXHJcbmhyIHtcclxuICAgIG1hcmdpbjogIDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5hZGRyZXNzIHtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuIiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcclxuICAjQk9YLVNJWklOR1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLyBcclxuXHJcbi8qKlxyXG4gKiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94LXNpemluZzpcclxuICogY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbioge1xyXG5cclxuICAgICYsXHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcclxuICAgICAgICAgICAtbW96LWJveC1zaXppbmc6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuXHJcbn1cclxuIiwiQG1peGluIG5jT2Zmc2NyZWVuKCl7XHJcbiAgICBtYXJnaW46IC0xcHg7XHJcblx0cGFkZGluZzogMDtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcclxuXHRjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuJW9mZnNjcmVlbntcclxuICAgICBAaW5jbHVkZSBuY09mZnNjcmVlbjtcclxufSBcclxuXHJcbi51LW9mZnNjcmVlbixcclxuLmpzIC51LWpzT2Zmc2NyZWVuLFxyXG4ubm9qcyAudS1ub0pzT2Zmc2NyZWVuIHtcclxuXHRAZXh0ZW5kICVvZmZzY3JlZW47XHJcbn1cclxuXHJcbi51LWRpc2FibGVkIHtcclxuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIG5jSGlkZSgpe1xyXG4gICAgLy9EbyBldmVyeXRoaW5nIHBvc3NpYmxlIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIG5vdCBkaXNwbGF5ZWRcclxuICAgIEBpbmNsdWRlIG5jT2Zmc2NyZWVuO1xyXG4gICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuIWltcG9ydGFudDtcclxufVxyXG5cclxuJWhpZGV7XHJcbiAgICBAaW5jbHVkZSBuY0hpZGUoKTtcclxufVxyXG5cclxuLnUtaGlkZSxcclxuLm5vanMgLnUtbm9Kc0hpZGUsXHJcbi5qcyAudS1qc0hpZGUge1xyXG5cdEBleHRlbmQgJWhpZGU7XHJcbn1cclxuXHJcbi8vZGVza3RvcCBzdHlsZXNcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogJGJwLWRlc2t0b3Ape1xyXG4gICAgLnUtbW9iaWxlT25seSxcclxuICAgIC51LXRhYmxldE9ubHlcclxuICAgIC51LW5vdERlc2t0b3B7XHJcbiAgICAgICAgQGluY2x1ZGUgbmNIaWRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL3RhYmxldCBzdHlsZXNcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJGJwLWRlc2t0b3AtZG93biApIGFuZCAobWluLXdpZHRoIDogJGJwLXRhYmxldCl7XHJcbiAgICAudS1tb2JpbGVPbmx5LFxyXG4gICAgLnUtZGVza3RvcE9ubHksXHJcbiAgICAudS1ub3RUYWJsZXR7XHJcbiAgICAgICAgQGluY2x1ZGUgbmNIaWRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4vL21vYmlsZSBzdHlsZXNcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogJGJwLXRhYmxldC1kb3duKXtcclxuICAgIC51LXRhYmxldE9ubHksXHJcbiAgICAudS1kZXNrdG9wT25seSxcclxuICAgIC51LW5vdE1vYmlsZXtcclxuICAgICAgICBAaW5jbHVkZSBuY0hpZGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgI1NIQVJFRFxyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuIFxyXG5ib2R5IHsgXHJcbiAgICBjb2xvcjokYmFzZS10ZXh0LWNvbG9yOyAgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTsgIFxyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJhY2tncm91bmQtY29sb3I7IFxyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xyXG4gICAgb3ZlcmZsb3cteDpoaWRkZW47XHJcbn1cclxuIFxyXG5cclxuLyoqXHJcbiAqIFNoYXJlZCBkZWNsYXJhdGlvbnMgZm9yIGNlcnRhaW4gZWxlbWVudHMuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEFsd2F5cyBkZWNsYXJlIG1hcmdpbnMgaW4gdGhlIHNhbWUgZGlyZWN0aW9uOlxyXG4gKiBjc3N3aXphcmRyeS5jb20vMjAxMi8wNi9zaW5nbGUtZGlyZWN0aW9uLW1hcmdpbi1kZWNsYXJhdGlvbnNcclxuICovXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXHJcbnVsLCBvbCwgZGwsXHJcbmJsb2NrcXVvdGUsIHAsIGFkZHJlc3MsXHJcbmhyLFxyXG50YWJsZSxcclxuZmllbGRzZXQsIGZpZ3VyZSxcclxucHJlIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmctdW5pdDtcclxufVxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgI0xJTktTXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKipcclxuICogRGVmYXVsdCBzdHlsZXMgZm9yIHNpbXBsZSBoeXBlcmxpbmtzLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gICAgY29sb3I6ICRjb2xvci1saW5rcztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgICAjSU1BR0VTXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4vKipcclxuICogMS4gRmx1aWQgaW1hZ2VzIGZvciByZXNwb25zaXZlIHB1cnBvc2VzLlxyXG4gKiAyLiBPZmZzZXQgYGFsdGAgdGV4dCBmcm9tIHN1cnJvdW5kaW5nIGNvcHkuXHJcbiAqIDMuIFNldHRpbmcgYHZlcnRpY2FsLWFsaWduYCByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciBgaW1nYFxyXG4gKiAgICBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGRyb3BwZWQgaW50byBhIHBhZ2UgYXMtaXMuIFNhZmVyIGFsdGVybmF0aXZlIHRvXHJcbiAqICAgIHVzaW5nIGBkaXNwbGF5OiBibG9jaztgLlxyXG4gKi9cclxuaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTsgLyogWzFdICovXHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IC8qIFsyXSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogWzNdICovXHJcbn1cclxuXHJcblxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcclxuICAgICNXWVNJV1lHIGVsZW1lbnRzXHJcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5cclxuLnd5c2l3eWcsXHJcbi5tY2VDb250ZW50Qm9keSB7ICAvL21ha2Ugc3VyZSB0aGUgc3R5bGUgd29ya3Mgd2l0aGluIEVwaXNlcnZlciB0aW55TUNFXHJcbiAgICBociB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBoZWlnaHQ6MXB4O1xyXG4gICAgICAgIGNvbG9yOiRjb2xvdXItZ3JleTAzO1xyXG4gICAgICAgIGJvcmRlcjpub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAzO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIGRlZmF1bHQgbGlzdCAqL1xyXG4gICAgdWwgeyAgIFxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjEuMmVtOyBcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiAgICB9XHJcbiAgICBvbCB7ICAgXHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MS41ZW07XHJcbiAgICB9XHJcblxyXG4gICAgLyogdGV4dCBjb2xvdXJzIGF2YWlsYWJsZSBpbiBXWVNJV1lHICovXHJcbiAgICAuY29sb3VyLXBpbmsgICAgICAgICAgICB7IGNvbG9yOiAkY29sb3VyLXBpbms7IH1cclxuICAgIC5jb2xvdXItcGluay1saWdodCAgICAgIHsgY29sb3I6ICRjb2xvdXItcGluay1saWdodDsgfVxyXG4gICAgLmNvbG91ci1wbHVtICAgICAgICAgICAgeyBjb2xvcjogJGNvbG91ci1wbHVtOyB9XHJcbiAgICAuY29sb3VyLWJsdWUgICAgICAgICAgICB7IGNvbG9yOiAkY29sb3VyLWJsdWU7IH1cclxuICAgIC5jb2xvdXItYnJvd24gICAgICAgICAgIHsgY29sb3I6ICRjb2xvdXItYnJvd247IH1cclxuICAgIC5jb2xvdXItcHVycGxlICAgICAgICAgIHsgY29sb3I6ICRjb2xvdXItcHVycGxlOyB9XHJcbiAgICAuY29sb3VyLWdyZWVuICAgICAgICAgICB7IGNvbG9yOiAkY29sb3VyLWdyZWVuOyB9XHJcbn1cclxuXHJcbi8qIExpc3Qgd2l0aCByZWQgYnVsbGV0cyAqL1xyXG51bC5saXN0LWJ1bGxldHMge1xyXG5cclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBAaW5jbHVkZSBsaXN0QmFyZTtcclxuICAgIG1hcmdpbi1sZWZ0OjAhaW1wb3J0YW50O1xyXG4gICAgQGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG4gICAgPmxpIHtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDAsIDAsIDE1cHgsIDE1cHgpO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPnA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NnB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OjZweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLnRoZW1lX3BpbmsgJiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIExpc3Qgd2l0aCBidWxsZXRzIGFuZCBib3JkZXJzICovXHJcbi5saXN0LWJ1bGxldHMtYm9yZGVycyB7XHJcblxyXG4gICAgY2xlYXI6Ym90aDtcclxuICAgIEBpbmNsdWRlIGxpc3RCYXJlO1xyXG4gICAgbWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnQ7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lIWltcG9ydGFudDtcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luOyAgICBcclxuXHJcbiAgICA+bGkge1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwgMCwgMTVweCwgMTVweCk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgIHRvcDogMjJweDtcclxuICAgICAgICAgICAgd2lkdGg6NnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6NnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAudGhlbWVfcGluayAmIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBMaXN0IHdpdGggYm9yZGVycyAqL1xyXG4ubGlzdC1ib3JkZXJzIHtcclxuICAgIEBleHRlbmQgLmxpc3QtYnVsbGV0cy1ib3JkZXJzO1xyXG5cclxuICAgID5saSB7XHJcblxyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuXHJcbiAgICAgICAgaDMgeyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDIycHgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICBcclxuICAgICAgICA+cCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGhlbWVfcGluayAmIHtcclxuICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5rQmFyZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID5saSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91ci1waW5rLWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6MDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBMaXN0IGxpbmtzIHdpdGggYXJyb3dzICovXHJcbi5saXN0LWxpbmstYXJyb3cge1xyXG5cclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBtYXJnaW4tbGVmdDowIWltcG9ydGFudDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgQGluY2x1ZGUgbGlzdEJhcmU7XHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjsgICBcclxuXHJcbiAgICA+bGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDA7ICAgICAgXHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7ICAgXHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgfSAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+bGkgPmEge1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTNweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgsIDApO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLXJpZ2h0LCA0MHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHJcbiAgICAgICAgJHNwcml0ZTogJGFycm93LXBpbmstcmlnaHQ7IFxyXG4gICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDowLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDogLSgkYXJyb3ctcGluay1yaWdodC1oZWlnaHQvMikpO1xyXG4gICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLW5hdi1pdGVtOmxhc3QtY2hpbGQgJi1uYXYtbGluayB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206MDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxudWwubGlzdC1pY29ucyB7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgQGluY2x1ZGUgbGlzdEJhcmU7XHJcbiAgICBtYXJnaW4tbGVmdDowIWltcG9ydGFudDtcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luOyAgIFxyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweCAzMHB4O1xyXG5cclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6M3B4O1xyXG4gICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IHA6bGFzdC1jaGlsZCAge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcbn1cclxuXHJcbi5saXN0T2JqZWN0aXZlcyB7XHJcbiAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tbGVmdDowIWltcG9ydGFudDtcclxuICAgIEBpbmNsdWRlIGxpc3RCYXJlO1xyXG5cclxuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpOyAgIFxyXG4gICAgQGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47ICBcclxuXHJcbiAgICA+bGkgeyBcclxuICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLXJpZ2h0LCAxNHB4KTsgICBcclxuXHJcbiAgICAgICAgJi50aGVtZV9wbHVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1wbHVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRoZW1lX3BpbmtfbGlnaHQge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rLWxpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnRoZW1lX2dyZWVuIHtcclxuICAgICAgICAgICAgY29sb3I6ICR0aGVtZS1ncmVlbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBFbWFpbCBibG9jayAqL1xyXG5hLmVtYWlsQm94IHtcclxuICAgIGNvbG9yOiAkY29sb3VyLXBpbmshaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgQGluY2x1ZGUgbGlua0JhcmU7XHJcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTRweCk7ICAgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwgNXB4LCAxNXB4LCA0NXB4KTtcclxuXHJcbiAgICAkc3ByaXRlOiAkaWNvbi1lbWFpbDsgXHJcbiAgICAkcHNldWRvOiggcG9zaXRpb246ICdiZWZvcmUnLCBsZWZ0OiAxNXB4LCB0b3A6IDE4cHggKTtcclxuICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgcHJpbnQgeyBcclxuICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiBcclxuaW1nLmZsb2F0TGVmdCxcclxuaW1nLmZsb2F0UmlnaHQge1xyXG4gICAgZmxvYXQ6bGVmdDtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsIDE1MHB4KTtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDAsIDIwcHgsIDEwcHgsIDApO1xyXG5cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQteC1zbWFsbCkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuaW1nLmZsb2F0UmlnaHQge1xyXG4gICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAwLCAwLCA3cHgsIDE1cHgpO1xyXG59XHJcblxyXG4uc3RvcEZsb2F0IHtcclxuICAgIGNsZWFyOmJvdGg7XHJcbn1cclxuIFxyXG4ubWVkaWEtcndkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7IFxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxufSBcclxuIFxyXG5cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXHJcbiAgICAjU2hhcmVkIHBsYWNlaG9sZGVyc1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuJV9uZXh0UHJldkJ1dHRvbnN7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwOyAgICBcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0od2lkdGgsNThweCk7ICAgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0oaGVpZ2h0LDU4cHgpOyBcclxuIFxyXG4gICAgJHNwcml0ZTogJGFycm93LXBpbmstcmlnaHQtbGFyZ2U7IFxyXG4gICAgJHBzZXVkbzoocG9zaXRpb246ICdiZWZvcmUnLCBsZWZ0OiA1MCUsIG1hcmdpbi1sZWZ0Oi0oJGFycm93LXBpbmstcmlnaHQtbGFyZ2Utd2lkdGgvMikgLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDotKCRhcnJvdy1waW5rLXJpZ2h0LWxhcmdlLWhlaWdodC8yKSApO1xyXG4gICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgICAgICAgXHJcbn1cclxuXHJcbiVwcmV2QnV0dG9ue1xyXG4gICAgQGV4dGVuZCAlX25leHRQcmV2QnV0dG9ucztcclxuICBcclxuICAgICRzcHJpdGU6ICRhcnJvdy1waW5rLWxlZnQtbGFyZ2U7IFxyXG4gICAgJHBzZXVkbzoocG9zaXRpb246ICdiZWZvcmUnLCBsZWZ0OiA1MCUsIG1hcmdpbi1sZWZ0Oi0oJGFycm93LXBpbmstcmlnaHQtbGFyZ2Utd2lkdGgvMikgLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDotKCRhcnJvdy1waW5rLWxlZnQtbGFyZ2UtaGVpZ2h0LzIpICk7XHJcbiAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyAgXHJcbn1cclxuXHJcbiVuZXh0QnV0dG9ue1xyXG4gICAgQGV4dGVuZCAlX25leHRQcmV2QnV0dG9ucztcclxufSIsIu+7vy5zbGlkZXIge1xyXG5cclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjokY29sb3VyLWdyZXkwNjtcclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnAtdGFibGV0KSB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5sLWNvbnRlbnRfaW5kZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItZ3JleTA2O1xyXG4gICAgfVxyXG5cclxuICAgICZfYWN0aXZle1xyXG4gICAgICAgIG92ZXJmbG93OmhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgICAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLXdpbmd7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICB0b3A6MDtcclxuICAgICAgICBib3R0b206MDtcclxuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3VyLWdyZXkwNjtcclxuICAgICAgICBvcGFjaXR5OjAuNzU7XHJcbiAgICAgICAgei1pbmRleDoyO1xyXG5cclxuICAgICAgICAmX2xlZnR7XHJcbiAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfcmlnaHR7XHJcbiAgICAgICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtaXRlbXN7XHJcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO1xyXG4gICAgfVxyXG5cclxuICAgICYtYnV0dG9uc1dyYXBwZXJ7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi1uZXh0LFxyXG4gICAgJi1wcmV2e1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OjEwMCU7XHJcbiAgICAgICAgdG9wOjUwJTsgXHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAkY29sb3VyLXBpbms7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi10b3AsLTYwcHgpOyAgXHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1sZWZ0LDUwcHgpO1xyXG5cclxuICAgICAgICAmX2Rpc2FibGVke1xyXG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMTU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtbmV4dCB7XHJcbiAgICAgICAgQGV4dGVuZCAlbmV4dEJ1dHRvbjtcclxuICAgIH1cclxuXHJcbiAgICAmLXByZXYge1xyXG4gICAgICAgIEBleHRlbmQgJXByZXZCdXR0b247XHJcbiAgICAgICAgbWFyZ2luLXRvcDowO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiRicC1kZXNrdG9wLWxhcmdlKSB7XHJcbiAgICAuc2xpZGVye1xyXG4gICAgICAgICYtYnV0dG9uc1dyYXBwZXJ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLWJvdHRvbSwgNThweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5leHQsXHJcbiAgICAgICAgJi1wcmV2eyAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsZWZ0OmF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgICAgIGJvdHRvbToyNXB4O1xyXG4gICAgICAgICAgICB0b3A6YXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1wcmV2e1xyXG4gICAgICAgICAgICByaWdodDo2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIFdoaXRlIHRoZW1lICovXHJcbi5zbGlkZXIudGhlbWVfd2hpdGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIG1hcmdpbi10b3A6JGJsb2NrLXNtLXBhZGRpbmc7XHJcblxyXG4gICAgLmwtY29udGVudF9pbmRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpZGVyLXdpbmd7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAuZXZlbnRQcm9tbyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bl93aGl0ZV9ib3JkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxufSAiLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxyXG4gICNIRUFESU5HU1xyXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuQG1peGluIGhlYWRpbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IFxyXG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbkBtaXhpbiBmb250U2l6ZS0xIHtcdFxyXG5cdEBpbmNsdWRlIGhlYWRpbmc7XHJcblx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMzBweCk7XHJcblx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG5cdGxpbmUtaGVpZ2h0OjE7XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDM2cHgpOyAgICBcclxuXHR9XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCA0NnB4KTsgICBcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAyNXB4KTsgXHJcblx0fVx0XHJcbn1cclxuXHJcbkBtaXhpbiBmb250U2l6ZS0yIHtcclxuXHRAaW5jbHVkZSBoZWFkaW5nO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDMwcHgpO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxNXB4KTtcclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMzZweCk7IFxyXG5cdH1cdFx0XHJcbn1cclxuXHJcbkBtaXhpbiBmb250U2l6ZS0zIHtcclxuXHRsaW5lLWhlaWdodDpub3JtYWw7XHJcblx0QGluY2x1ZGUgaGVhZGluZztcclxuXHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyMnB4KTtcclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMjRweCk7IFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDMwcHgpO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGZvbnRTaXplLTQge1xyXG5cdEBpbmNsdWRlIGhlYWRpbmc7XHJcblx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDIwcHgpO1xyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyMnB4KTsgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMjBweCk7XHJcblx0fVx0XHJcbn1cclxuXHJcbkBtaXhpbiBmb250U2l6ZS01IHtcclxuXHRAaW5jbHVkZSBoZWFkaW5nO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxNXB4KTsgXHJcblx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMjBweCk7XHJcbn1cclxuXHJcbkBtaXhpbiBmb250U2l6ZS02IHtcclxuXHRAaW5jbHVkZSBoZWFkaW5nO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE2cHgpO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxNXB4KTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMThweCk7IFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDIwcHgpO1xyXG5cdH1cdFxyXG59XHJcblxyXG5AbWl4aW4gZm9udFNpemUtNyB7XHJcblx0QGluY2x1ZGUgaGVhZGluZztcclxuXHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTtcclxuXHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTVweCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcblxyXG5cclxuLyogRGVmYXVsdCAqL1xyXG4gXHJcbmgxIHsgXHJcblx0QGluY2x1ZGUgZm9udFNpemUtMTsgXHJcbn1cclxuXHJcbmgyIHsgXHJcblx0QGluY2x1ZGUgZm9udFNpemUtNDsgXHJcbn1cclxuXHJcbi5zdHJvbmdIZWFkaW5nIHtcclxuXHRAaW5jbHVkZSBmb250U2l6ZS0zOyBcclxuXHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG59XHJcblxyXG5oMyB7IFxyXG5cdEBpbmNsdWRlIGZvbnRTaXplLTY7IFxyXG59XHJcblxyXG5oNCB7IFxyXG5cdEBpbmNsdWRlIGZvbnRTaXplLTc7IFxyXG59XHJcbiBcclxuXHJcblxyXG4gLyogTGVhZCBoZWFkZXIgd2l0aCBhIGJhY2tncm91bmQgY29sb3VyICovXHJcbi5sZWFkVGl0bGVfZ3JleSxcclxuLmxlYWRUaXRsZV9waW5rLFxyXG4ubGVhZFRpdGxlX3BsdW0sXHJcbi5sZWFkVGl0bGVfYmx1ZSB7XHJcbiAgICBjb2xvcjojZmZmO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAxO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgpOyBcclxuICAgIEBpbmNsdWRlIGZvbnRTaXplLTM7IFxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwgMzBweCk7IFxyXG4gICAgfVxyXG59XHJcbi5sZWFkVGl0bGVfcGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7IFxyXG59XHJcbi5sZWFkVGl0bGVfcGx1bSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07IFxyXG59XHJcbi5sZWFkVGl0bGVfYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWJsdWU7IFxyXG59IiwiLyogU0lURSBMQVlPVVQgU1VTWSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiBcclxuLyogbGF5b3V0ICovXHJcbiRzdXN5OiAoXHJcblx0Y29sdW1uczogMTIsXHJcblx0Z3V0dGVyczogMS8yLFxyXG5cdGd1dHRlci1wb3NpdGlvbjogYmVmb3JlLFx0XHJcblx0Z2xvYmFsLWJveC1zaXppbmc6IGNvbnRlbnQtYm94LFxyXG5cdGRlYnVnOiAoXHJcblx0XHRpbWFnZTogaGlkZSwgLy9zaG93IHwgaGlkZSB8IHNob3ctY29sdW1ucyB8IHNob3ctYmFzZWxpbmVcclxuXHRcdGNvbG9yOiByZ2JhKCMwMDAsIC4yNSksXHJcblx0KVxyXG4pO1xyXG5cclxuXHJcblxyXG4vKiBFc3RhYmxpc2ggbGF5b3V0IGNvbnRhaW5lciAqL1xyXG4ubC1yb3cge1xyXG5cdGNsZWFyOmJvdGg7XHJcbiBcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuIFx0Ji13cmFwIHtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKCRjb250ZW50LXdpZHRoKTtcdFxyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0Lmx0LWllOSAmIHtcclxuXHRcdFx0d2lkdGg6ICRjb250ZW50LXdpZHRoIWltcG9ydGFudDsgXHJcblx0XHR9XHJcbiBcdH1cclxuXHJcbiBcdCYtaW5uZXIge1xyXG4gXHRcdGNsZWFyOmJvdGg7XHJcbiBcdFx0bWFyZ2luOiAwICRzaWRlLXBhZGRpbmc7IFxyXG4gXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gXHR9XHJcbn0gXHJcblxyXG5cclxuXHJcbi8qIExheW91dDogNjAtNDAgKi9cclxuQG1lZGlhIGFsbCBhbmQgKCBtaW4td2lkdGg6ICRicC10YWJsZXQpIHsgXHJcblx0Lmwtcm93LTYwLTQwIHtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdC5sLWNvbC02MCB7XHRcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0d2lkdGg6IGNhbGMtcGVyY2VudCg3NTBweCwgMTIwMHB4KTtcdFx0XHRcclxuXHRcdH1cclxuXHJcblx0XHQubC1jb2wtNDAge1x0XHJcblx0XHRcdGZsb2F0OnJpZ2h0O1xyXG5cdFx0XHR3aWR0aDogY2FsYy1wZXJjZW50KDQyMHB4LCAxMjAwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qIExheW91dDogZmxpcCA7ICovXHJcbkBtZWRpYSBhbGwgYW5kICggbWluLXdpZHRoOiAkYnAtdGFibGV0KSB7IFxyXG5cdC5sLXJvdy02MC00MF9mbGlwIHtcclxuXHRcdC5sLWNvbC02MCB7XHRcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdH1cclxuXHRcdC5sLWNvbC00MCB7XHRcclxuXHRcdFx0ZmxvYXQ6cmlnaHQ7XHJcblx0XHR9XHJcblx0fVxyXG59IFxyXG4gXHJcblxyXG5cclxuLyogQ29udGVudCBpbmRlbnQgKi9cclxuLmwtY29udGVudF9pbmRlbnQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLmwtcm93LTEwMCB7XHRcclxuICAgIC5sLWNvbnRlbnRfaW5kZW50IHtcclxuXHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRibG9jay1zbS1wYWRkaW5nO1xyXG5cclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAoIG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHsgXHRcdFxyXG5cdFx0XHRwYWRkaW5nOiAkYmxvY2stbGctcGFkZGluZztcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHRcdFx0XHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKCBtaW4td2lkdGg6ICRicC1kZXNrdG9wLWxhcmdlKSB7IFx0XHRcclxuXHRcdFx0cGFkZGluZzogJGJsb2NrLWxnLXBhZGRpbmcgY2FsYy1wZXJjZW50KCRjb250ZW50LWluZGVudCwgJGNvbnRlbnQtd2lkdGgpO1x0XHRcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5sLWNvbC02MCB7XHQgXHJcblx0LmwtY29udGVudF9pbmRlbnQge1xyXG4gICAgICAgICBcclxuICAgICAgICBwYWRkaW5nLXRvcDokYmxvY2stc20tcGFkZGluZztcclxuXHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKCBtaW4td2lkdGg6ICRicC1kZXNrdG9wLWxhcmdlKSB7IFxyXG5cdFx0ICAgIHBhZGRpbmc6ICRibG9jay1sZy1wYWRkaW5nIDAgMCBjYWxjLXBlcmNlbnQoJGNvbnRlbnQtaW5kZW50LCA3NTBweCk7XHJcbiAgICAgICAgfVxyXG5cdH1cclxufVxyXG5cclxuXHJcbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvKiBOZXN0ZWQgYmxvY2tzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuIFxyXG5cclxuLy8gbWl4aW4gdG8gYnVpbGQgbmVzdGVkIGNvbHVtbnNcclxuQG1peGluIGJ1aWxkQmxvY2tzKCRjb2wsICRjb2xUb3RhbCwgJG50aCkge1xyXG5cdEBpbmNsdWRlIHNwYW4oJGNvbCBvZiAkY29sVG90YWwpOyBcclxuXHJcblx0JjpudGgtb2YtdHlwZSgjeyRudGh9biArIDEpIHtcclxuICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICB9IFxyXG59XHJcblxyXG5cclxuLmwtYm94IHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdG1hcmdpbjowO1xyXG5cdHBhZGRpbmc6MDtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdCYtY29sIHtcclxuXHRcdG1hcmdpbjowO1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1x0XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qIE5FU1RFRCBpbiAxMDAlIGxheW91dCAqLyBcclxuLmwtcm93LTEwMCB7XHJcblxyXG5cdC8qIDIgY29sdW1ucyAqL1xyXG5cdEBtZWRpYSBvbmx5IGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC14LXNtYWxsKSB7XHJcblx0XHQubC1ib3hfNTAtNTAgLmwtYm94LWNvbCB7XHJcblx0XHRcdEBpbmNsdWRlIGJ1aWxkQmxvY2tzKDYsMTIsMik7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiAzIGNvbHVtbnMgKi9cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQteC1zbWFsbCkgYW5kIChtYXgtd2lkdGggOiAkYnAtdGFibGV0LWRvd24pIHtcclxuXHRcdC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoNiwxMiwyKTtcclxuXHRcdH1cclxuXHR9XHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoNCwxMiwzKTtcclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIHByaW50IHtcclxuXHRcdC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoNCwxMiwzKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qIDQgY29sdW1ucyAqL1xyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC14LXNtYWxsKSBhbmQgKG1heC13aWR0aCA6ICRicC1kZXNrdG9wLWRvd24pIHtcclxuXHRcdC5sLWJveF8yNS0yNS0yNS0yNSAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoNiwxMiwyKTtcclxuXHRcdH1cclxuXHR9XHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblx0XHQubC1ib3hfMjUtMjUtMjUtMjUgLmwtYm94LWNvbCB7XHJcblx0XHRcdEBpbmNsdWRlIGJ1aWxkQmxvY2tzKDMsMTIsNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBwcmludCB7XHJcblx0XHQubC1ib3hfMjUtMjUtMjUtMjUgLmwtYm94LWNvbCB7XHJcblx0XHRcdEBpbmNsdWRlIGJ1aWxkQmxvY2tzKDMsMTIsNCk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8qIEBlbmQgKi9cclxuXHJcblxyXG5cclxuLyogTkVTVEVEIGluIDQwLTYwIC8gNjAtNDAgbGF5b3V0ICovIFxyXG4ubC1yb3dfNDAtNjAgLmwtcm93LWNvbF9sYXN0LFxyXG4ubC1yb3dfNjAtNDAgLmwtcm93LWNvbF9maXJzdCB7XHJcblxyXG5cdC8qIDIgY29sdW1ucyAqL1xyXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC14LXNtYWxsKSBhbmQgKG1heC13aWR0aCA6ICRicC10YWJsZXQtZG93bikge1xyXG5cdFx0LmwtYm94XzUwLTUwIC5sLWJveC1jb2wge1xyXG5cdFx0XHRAaW5jbHVkZSBidWlsZEJsb2Nrcyg2LDEyLDIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAbWVkaWEgb25seSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdC5sLWJveF81MC01MCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoNCw4LDIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyogMiBjb2x1bW5zIDQwOjYwIC8gNjA6NDA7ICovXHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSBhbmQgKG1heC13aWR0aCA6ICRicC10YWJsZXQtZG93bikge1xyXG5cdFx0LmwtYm94XzQwLTYwIHtcclxuXHRcdFx0LmwtYm94LWNvbCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbig4IG9mIDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubC1ib3gtY29sOm50aC1vZi10eXBlKDJuKzEpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuKDQgb2YgMTIgZmlyc3QpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmwtYm94XzYwLTQwIHtcclxuXHRcdFx0LmwtYm94LWNvbCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbig0IG9mIDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubC1ib3gtY29sOm50aC1vZi10eXBlKDJuKzEpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuKDggb2YgMTIgZmlyc3QpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdC5sLWJveF80MC02MCB7XHJcblx0XHRcdC5sLWJveC1jb2wge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oNSBvZiA4KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubC1ib3gtY29sOm50aC1vZi10eXBlKDJuKzEpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuKDMgb2YgOCBmaXJzdCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubC1ib3hfNjAtNDAge1xyXG5cdFx0XHQubC1ib3gtY29sIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuKDMgb2YgOCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LmwtYm94LWNvbDpudGgtb2YtdHlwZSgybisxKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbig1IG9mIDggZmlyc3QpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvKiAzIGNvbHVtbnMgKi9cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQteC1zbWFsbCkgYW5kIChtYXgtd2lkdGggOiAkYnAtdGFibGV0LWRvd24pIHtcclxuXHRcdC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoNiwxMiwyKTsgLy8yIGNvbHVtbnNcclxuXHRcdH1cclxuXHR9XHRcclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIGFuZCAobWF4LXdpZHRoIDogJGJwLWRlc2t0b3AtZG93bikge1xyXG5cdFx0LmwtYm94XzMwLTMwLTMwIC5sLWJveC1jb2wge1xyXG5cdFx0XHRAaW5jbHVkZSBidWlsZEJsb2Nrcyg0LDgsMik7IC8vMyBjb2x1bW5zXHJcblx0XHR9XHJcblx0fVxyXG5cdEBtZWRpYSBvbmx5IGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHRcdC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoMi42NjYsOCwzKTtcclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIHByaW50IHtcclxuXHRcdC5sLWJveF8zMC0zMC0zMCAubC1ib3gtY29sIHtcclxuXHRcdFx0QGluY2x1ZGUgYnVpbGRCbG9ja3MoMi42NjYsOCwzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLyogQGVuZCAqL1xyXG5cclxuXHJcblxyXG5cclxuLyogb2xkIElFIGZpeCAoLnUtY2YgY2xhc3MgaXMgYWRkZWQgYnkgSlMpICovXHJcbi5sdC1pZTkge1xyXG4gICAgLmwtYm94LWNvbC51LWNmIHtcclxuICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBEaXJlY3Rpb24gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gU3VzeSBGbG93IERlZmF1bHRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gUFJJVkFURVxuQGluY2x1ZGUgc3VzeS1kZWZhdWx0cygoXG4gIGZsb3c6IGx0cixcbikpO1xuXG4vLyBHZXQgRGlyZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBvciAndG8nIGRpcmVjdGlvbiBvZiBhIGx0ciBvciBydGwgZmxvdy5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbi8vIC0gWyRrZXldICAgOiBmcm9tIHwgdG9cbkBmdW5jdGlvbiBnZXQtZGlyZWN0aW9uKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRrZXk6IGZyb21cbikge1xuICAkcmV0dXJuOiBpZigkZmxvdyA9PSBydGwsIChmcm9tOiByaWdodCwgdG86IGxlZnQpLCAoZnJvbTogbGVmdCwgdG86IHJpZ2h0KSk7XG4gIEByZXR1cm4gbWFwLWdldCgkcmV0dXJuLCAka2V5KTtcbn1cblxuLy8gVG9cbi8vIC0tXG4vLyBSZXR1cm4gdGhlICd0bycgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIHRvKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIHRvKTtcbn1cblxuLy8gRnJvbVxuLy8gLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgZGlyZWN0aW9uIG9mIGEgZmxvd1xuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQGZ1bmN0aW9uIGZyb20oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgZnJvbSk7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi5mb290ZXIge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdC5sLWNvbnRlbnRfaW5kZW50IHtcclxuXHRcdHBhZGRpbmctdG9wOjA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTowO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEZvb3RlciB0b3AgIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi9cclxuXHJcblxyXG4vKiBsYXlvdXQgKi9cclxuLmZvb3Rlci10b3Age1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItZ3JleTA2O1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1x0XHJcblxyXG5cdC5sLWNvbnRlbnRfaW5kZW50IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6JGNvbG91ci1ncmV5MDY7XHJcblx0fVxyXG5cclxuXHQmLWNvbF9maXJzdCB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy10b3AsIDMwcHgpO1xyXG5cdH1cclxuXHJcblx0LmZvb3Rlci1uZXdzbGV0dGVyIHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCA0MHB4KTtcclxuXHJcblx0XHQueGZvcm0gIHtcclxuXHRcdFx0aW5wdXRbdHlwZT0nc3VibWl0J10ge1xyXG5cdFx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdEBleHRlbmQgLmZvb3Rlci10b3AtaGVhZGVyO1xyXG5cdFx0XHRcdGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1x0XHJcblx0XHRcdH1cclxuXHJcbiAgICAgICAgICAgIC54Zm9ybXZhbGlkYXRvciB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV4Rm9ybVZhbGlkYXRpb247XHJcbiAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdHRyOmZpcnN0LWNoaWxkIHRkIHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT10ZXh0XSxcclxuXHRcdFx0aW5wdXRbdHlwZT1lbWFpbF0sXHJcblx0XHRcdGlucHV0W3R5cGU9cGFzc3dvcmRdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPW51bWJlcl0sXHJcblx0XHRcdHNlbGVjdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5lcnJvciB7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJwLXRhYmxldC1kb3duKSB7XHJcblxyXG5cdFx0Ji1jb2wge1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHR3aWR0aDogNDclO1xyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMzBweCwwKTtcclxuXHRcdH1cclxuXHJcblx0XHQmLWNvbF9maXJzdCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogNiU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1jb2xfbGFzdCB7XHJcblx0XHRcdGNsZWFyOmJvdGg7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0Ji1jb2wge1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHR3aWR0aDogMjclO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogNSU7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCA1MHB4LDAsNDBweCwwKTtcclxuXHRcdH1cclxuXHJcblx0XHQmLWNvbF9sYXN0IHtcclxuXHRcdFx0d2lkdGg6IDM2JTtcclxuXHRcdH1cclxuXHJcblx0XHQmLWNvbF9maXJzdCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmZvb3Rlci10b3AgeyBcclxuXHQmLWhlYWRlciB7XHJcblx0XHRmb250LXdlaWdodDpub3JtYWw7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAyMHB4LDApO1xyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtNDtcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSAgIHtcclxuXHRcdFx0bWFyZ2luLXRvcDowO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1zb2NpYWwge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctYm90dG9tLCAzMHB4KTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyogTW9iaWxlIEZvb3RlciBhY2NvcmRpb24gc3R5bGluZyAqL1xyXG5cclxuLmZvb3Rlci10b3AgLmFjY29yZGlvbi10cmlnZ2VyIHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJwLXRhYmxldC1zbWFsbCkgeyBcclxuXHJcbiAgICAuZm9vdGVyLXRvcCAuYWNjb3JkaW9uX21vYmlsZSB7XHJcblxyXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYWNjb3JkaW9uLWhlYWRlciB7ICBcclxuICAgICAgICAgICAgZGlzcGxheTpub25lOyAgICAgICAgICAgICBcclxuICAgICAgICB9ICBcclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi10cmlnZ2VyIHtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiRiYXNlLXRleHQtY29sb3I7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyMHB4KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgsIDUwcHgsIDE1cHgsIDApO1xyXG5cclxuICAgICAgICAgICAgJHNwcml0ZTogJHBsdXMtZ3JleTsgXHJcbiAgICAgICAgXHQkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBcdEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG4gICAgICAgIH0gIFxyXG5cclxuICAgICAgICAvKiBpZiBhY3RpdmUgKi9cclxuICAgICAgICAuYWNjb3JkaW9uX2FjdGl2ZSB7XHJcblxyXG4gICAgICAgIFx0LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHQgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHQgICAgICAgIH0gXHJcblxyXG5cdCAgICAgICAgLmFjY29yZGlvbi10cmlnZ2VyIHtcclxuXHQgICAgICAgIFx0JHNwcml0ZTogJG1pbnVzLWdyZXk7IFxyXG4gICAgICAgIFx0XHQkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBcdFx0QGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcblx0ICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH0gXHJcbn1cclxuXHJcblxyXG4vKiBmb290ZXIgbmF2aWdhdGlvbiBsaW5rcyAqL1xyXG4uZm9vdGVyLXRvcC1uYXYge1xyXG5cdEBpbmNsdWRlIGxpc3RCYXJlO1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1x0XHJcblxyXG5cdCYtaXRlbSB7XHJcblx0XHRtYXJnaW46MDtcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSAgIHtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCA+YSB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLWxpbmsge1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG5cdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDEzcHgpO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgsMCk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEZvb3RlciBib3R0b20gICMjIyMjIyMjIyMjIyMjIyMjIyMjICovXHJcblxyXG4uZm9vdGVyLWJvdHRvbSB7XHRcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcblx0Zm9udC13ZWlnaHQ6Ym9sZDtcclxuXHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy10b3AsIDIwcHgpO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDEzcHgpO1xyXG59XHJcblxyXG4uZm9vdGVyLWJvdHRvbS1uYXYge1xyXG5cclxuXHQmLWxpc3Qge1xyXG5cdFx0QGluY2x1ZGUgbGlzdEJhcmU7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcdFxyXG5cdH1cclxuXHJcblx0Ji1pdGVtIHtcclxuXHRcdG1hcmdpbjowO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDAsMCwyMHB4KTtcclxuXHRcdFxyXG5cdH1cclxuXHJcblx0Ji1saW5rIHtcclxuXHRcdGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7XHJcblx0LmZvb3Rlci1ib3R0b20tbmF2IHtcclxuXHRcdGZsb2F0OmxlZnQ7XHJcblx0XHR3aWR0aDogODUlO1xyXG5cclxuXHRcdCYtbGlzdCB7XHJcblx0XHRcdGRpc3BsYXk6dGFibGU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1pdGVtIHtcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctcmlnaHQsIDMwcHgpO1xyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cdC5mb290ZXItYm90dG9tLWNvcHlyaWdodCB7XHJcblx0XHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdFx0ZmxvYXQ6cmlnaHQ7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdHdpZHRoOjE1JTtcclxuXHR9XHJcbn1cclxuXHJcbiAiLCIvKiByaWdodCBjb2x1bW4gc3R5bGUgKi9cclxuXHJcbi5hc2lkZU5hdiB7XHJcblx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi10b3AsIDMwcHgpXHJcbn1cclxuXHJcbi5hc2lkZU5hdiB7XHJcblxyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpO1xyXG5cclxuXHRkaXZbY2xhc3MqPVwidGhlbWVfd2hpdGVcIl0ge1xyXG5cdFx0cGFkZGluZzogMCAkYmxvY2stc20tcGFkZGluZztcclxuXHRcdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogJGJsb2NrLWxnLXBhZGRpbmc7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6ICRibG9jay1sZy1wYWRkaW5nO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly9hcHBseSBwYWRkaW5nLXJpZ2h0IHRvIGFsbCBjb21wb25lbnRzXHJcblx0LmxpbmtHcm91cCxcclxuXHQudGV4dEJsb2NrLFxyXG5cdC5jaGVja2xpc3QgLmNoZWNrbGlzdC1uYXYsXHJcblx0LnF1b3RlLFxyXG5cdC5jaGVja2xpc3QsXHJcblx0LnRleHRCbG9ja0FzaWRlLFxyXG5cdC50ZXh0Q29sb3VyQmxvY2ssXHJcblx0LnByb21vLFxyXG5cdC5wZGZEb3dubG9hZEJsb2NrIHtcdFx0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWF4LXdpZHRoLCAzMDBweCk7XHJcblx0fVxyXG5cclxuXHQudGV4dEJsb2NrQXNpZGVfcHJpbWFyeSxcclxuXHQucGRmRG93bmxvYWRCbG9ja19wcmltYXJ5IHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsIDQyMHB4KTtcclxuXHR9XHJcblxyXG5cdGlmcmFtZSB7XHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDI4MHB4IWltcG9ydGFudDsgLy9idWcgd2l0aCAzcmQgcGFydHkgaWZyYW1lIGFkXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG5cdC5hc2lkZU5hdiB7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0fVxyXG59IiwiIFxyXG4vLyBjZW50ZXIgdmVydGljYWxseSBhbmQvb3IgaG9yaXpvbnRhbGx5IGFuIGFic29sdXRlIHBvc2l0aW9uZWQgZWxlbWVudFxyXG5cclxuQG1peGluIGNlbnRlcigkeHk6eHkpIHtcclxuICBAaWYgJHh5ID09IHh5IHtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSksICB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkeHkgPT0geCB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICByaWdodDogYXV0bztcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHh5ID09IHkge1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4gXHJcbiBcclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcbkJhc2ljIFN0eWxlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5icmVhZGNydW1icyB7XHJcblxyXG5cdGNsZWFyOmJvdGg7XHJcblx0bWFyZ2luOjA7XHJcblx0cGFkZGluZzowO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2O1xyXG4gXHJcblx0Ji1uYXYge1x0XHRcdFx0XHJcblx0XHRjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRtYXJnaW46MDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxMHB4KTtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1x0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxMnB4KTtcclxuXHJcblx0XHRsaSB7XHRcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRcdG1hcmdpbjowOyBcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRsaSA+ICoge1xyXG5cdFx0XHQvKiBzaW5nbGUgc3RlcCAqL1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcdFxyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdFx0XHRAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0cGFkZGluZzogMCAxOHB4IDAgMDtcclxuXHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6Jy8nO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6MDtcclxuXHRcdFx0XHRyaWdodDo2cHg7XHJcblxyXG5cdFx0XHRcdC5pZTggJiB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbkxhcmdlciBzY3JlZW5zXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4gXHJcbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHQuYnJlYWRjcnVtYnMge1x0XHJcblxyXG5cdFx0Ji1uYXYge1xyXG5cdFx0XHQvKiByZXNldCBiYXNpYyBzdHlsZSAqL1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFx0bWFyZ2luOiAxMHB4IDRweCAxMHB4IDA7XHJcblxyXG5cdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxpID4gKiB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDhweCAxMHB4IDhweCAyNXB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0LyogdGhlIGJvcmRlciBjb2xvciBpcyB1c2VkIHRvIHN0eWxlIGl0cyA6OmFmdGVyIHBzZXVkby1lbGVtZW50ICovXHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdFx0XHQubHQtaWU5ICYge1xyXG5cdFx0XHRcdFx0cGFkZGluZzoxZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsaTpmaXJzdC1vZi10eXBlICA+ICoge1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcclxuXHJcblx0XHRcdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNDBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxpOmxhc3Qtb2YtdHlwZSAgPiAqIHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsaTo6YWZ0ZXIsIGxpID4gKjo6YWZ0ZXIge1xyXG5cdFx0XHRcdC8qIFxyXG5cdFx0XHRcdFx0bGkgPiAqOjphZnRlciBpcyB0aGUgY29sb3JlZCB0cmlhbmdsZSBhZnRlciBlYWNoIGl0ZW1cclxuXHRcdFx0XHRcdGxpOjphZnRlciBpcyB0aGUgd2hpdGUgc2VwYXJhdG9yIGJldHdlZW4gdHdvIGl0ZW1zXHJcblx0XHRcdFx0Ki9cclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdGxlZnQ6IDEwMCU7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHRcdHdpZHRoOiAwO1xyXG5cdFx0XHRcdC8qIDQ4cHggaXMgdGhlIGhlaWdodCBvZiB0aGUgPGE+IGVsZW1lbnQgKi9cclxuXHRcdFx0XHRib3JkZXI6IDE3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG5cdFx0IFxyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRsaTo6YWZ0ZXIge1xyXG5cdFx0XHRcdC8qIHRoaXMgaXMgdGhlIHdoaXRlIHNlcGFyYXRvciBiZXR3ZWVuIHR3byBpdGVtcyAqL1xyXG5cdFx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRjb2xvdXItZ3JleTA2O1xyXG5cdFx0XHRcdC8qIHJlc2V0IHN0eWxlICovXHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsaSA+ICo6OmFmdGVyIHtcclxuXHRcdFx0XHQvKiB0aGlzIGlzIHRoZSBjb2xvcmVkIHRyaWFuZ2xlIGFmdGVyIGVhY2ggZWxlbWVudCAqL1xyXG5cdFx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vUmVtb3ZlIHRoZSBsYXN0IHRyaWFuZ2xlXHJcblx0XHRcdC8vbGk6bGFzdC1vZi10eXBlOjphZnRlciwgbGk6bGFzdC1vZi10eXBlID4gKjo6YWZ0ZXIge1xyXG5cdFx0XHQvL1x0LyogaGlkZSB0aGUgdHJpYW5nbGUgYWZ0ZXIgdGhlIGxhc3Qgc3RlcCAqL1xyXG5cdFx0XHQvL1x0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0Ly99XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7IFxyXG5cdFx0ICBcdCYtbmF2IGxpOjphZnRlcixcclxuXHRcdCAgXHQmLW5hdiBsaSA+ICo6OmFmdGVyIHtcclxuXHRcdCAgXHRcdC8qIGZpeCBhIGJ1ZyBvbiBGaXJlZml4IC0gdG9vdGggZWRnZSBvbiBjc3MgdHJpYW5nbGUgKi9cclxuXHRcdCAgICAgXHRib3JkZXItbGVmdC1zdHlsZTogZGFzaGVkO1xyXG5cdFx0ICBcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIFxyXG4gIiwiLm1hc3RlckhlYWQge1xyXG5cdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGF1dG87ICAgXHJcblxyXG4gICAgLmx0LWllOSAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAgICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC8vQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTI4MHB4KXtcclxuICAgIC8vICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyAgIFxyXG4gICAgLy99XHJcblxyXG4gICAgLmwtcm93LWlubmVyIHtcclxuICAgIFx0YmFja2dyb3VuZC1jb2xvcjojZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpe1xyXG4gICAgICAgIC5hc2lkZU5hdiB7XHJcbiAgICAgICAgXHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLXRvcCwgLTQwcHgpOyBcclxuXHJcbiAgICAgICAgXHQuc29jaWFsLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgIFx0XHRkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgXHR9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmdlbmVyYWxQYWdlSGVhZGluZ0JHIHsgXHJcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hc3NldHMvY29udGVudEhlYWRlci1iZy5naWYpIHJlcGVhdC14O1x0XHJcblx0YmFja2dyb3VuZC1zaXplOiA1MCUgMTAwcHg7ICAvL2NhbGN1bGF0ZWQgYnkgSlNcclxuXHJcblx0Lmx0LWllOSAmIHtcclxuXHRcdG92ZXJmbG93OmhpZGRlbjtcclxuXHRcdG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9hc3NldHMvY29udGVudEhlYWRlci1iZy1pZTgucG5nKSByZXBlYXQteDtcclxuXHR9XHJcbn1cclxuXHJcbi5nZW5lcmFsUGFnZUhlYWRpbmcge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwwKTsgICAgXHJcblx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTZweCk7XHJcblx0QGluY2x1ZGUgcHgtcmVtKG1pbi1oZWlnaHQsIDE3MHB4KTtcclxuXHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3AtbGFyZ2UpIHtcdFx0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMzBweCk7ICAgICBcclxuXHR9XHJcblxyXG5cdCYtZGF0ZSB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxMHB4KTtcclxuXHR9XHJcblxyXG5cdCYtdGl0bGUgeyBcclxuXHRcdGNvbG9yOiAkY29sb3VyLXBpbms7IFxyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtMjsgXHJcblx0fVxyXG5cclxuXHQmLXN1YnRpdGxlIHtcclxuXHRcdGxpbmUtaGVpZ2h0Om5vcm1hbDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE4cHgpO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDEwcHgpO1xyXG5cdH1cclxuXHJcblx0PiAqOmxhc3QtY2hpbGQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTowO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi53aWRlUGFnZUhlYWRpbmcge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2O1xyXG5cclxuXHQubC1yb3ctaW5uZXIge1xyXG5cdFx0bWF4LXdpZHRoOiA3MjBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBNeSBDSU1BIHByb2ZpbGUgaGVhZGVyICovXHJcbi5nZW5lcmFsUGFnZUhlYWRpbmcuZ2VuZXJhbFBhZ2VIZWFkaW5nX215Q2ltYSB7XHJcblxyXG5cdC5nZW5lcmFsUGFnZUhlYWRpbmctdGl0bGUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctYm90dG9tLCAxNXB4KTtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAyNXB4KTtcclxuXHR9XHRcclxuXHRcclxuXHQvKiBsYXlvdXQgKi9cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7XHRcdFxyXG5cdFx0LmdlbmVyYWxQYWdlSGVhZGluZy1ibG9jayB7XHJcblx0XHRcdGRpc3BsYXk6dGFibGU7XHJcblx0XHRcdHdpZHRoOjEwMCU7XHJcblx0XHRcdG1hcmdpbjowO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5nZW5lcmFsUGFnZUhlYWRpbmctZGV0YWlscyxcclxuXHRcdC5nZW5lcmFsUGFnZUhlYWRpbmctYnV0dG9uIHtcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdH1cclxuXHJcblx0XHQuZ2VuZXJhbFBhZ2VIZWFkaW5nLWRldGFpbHMge1xyXG5cdFx0XHQ+KjpsYXN0LWNoaWxkIHtcclxuXHRcdCAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xyXG5cdFx0ICAgIH1cclxuXHRcdH1cclxuXHJcblx0XHQuZ2VuZXJhbFBhZ2VIZWFkaW5nLWJ1dHRvbiB7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcblxyXG5cdFx0XHQuYnRuLXByb2ZpbGUge1xyXG5cdFx0XHRcdGZsb2F0OnJpZ2h0O1xyXG5cdFx0XHRcdG1hcmdpbjowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmdlbmVyYWxQYWdlSGVhZGluZy1wZXJzb24sIHtcclxuXHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0Y29sb3I6ICRiYXNlLXRleHQtY29sb3I7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmdlbmVyYWxQYWdlSGVhZGluZy1jb250YWN0LFxyXG5cdC5nZW5lcmFsUGFnZUhlYWRpbmctbG9jYXRpb24ge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHRhIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdEBpbmNsdWRlIGxpbmtCYXJlO1xyXG5cdFx0fVxyXG5cdH0gXHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuXHQuZ2VuZXJhbFBhZ2VIZWFkaW5nIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7IFxyXG5cdH1cclxuXHJcblx0LmdlbmVyYWxQYWdlSGVhZGluZy5nZW5lcmFsUGFnZUhlYWRpbmdfbXlDaW1hIHsgXHJcblx0XHQuZ2VuZXJhbFBhZ2VIZWFkaW5nLXRpdGxlIHsgXHJcblx0XHRcdGJvcmRlcjpub25lO1xyXG5cdFx0XHRtYXJnaW46MDtcclxuXHRcdH1cclxuXHRcdC5nZW5lcmFsUGFnZUhlYWRpbmctYnV0dG9uIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcblxyXG4vKiByZXNldCAqL1xyXG5sZWdlbmQge1xyXG4gICAgZGlzcGxheTpibG9jazsgICAgXHJcbiAgICBib3JkZXI6IDA7IFxyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRtYXJnaW46MDtcclxuXHRwYWRkaW5nOjA7XHJcblx0Ym9yZGVyOm5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9dGV4dF0sXHJcbmlucHV0W3R5cGU9ZW1haWxdLFxyXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSxcclxuaW5wdXRbdHlwZT1udW1iZXJdLFxyXG5pbnB1dFt0eXBlPXRlbF0sXHJcbmlucHV0W3R5cGU9dXJsXSxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgICBmb250LXNpemU6IDEwMCU7IFxyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IFxyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgXHJcbiAgICBib3JkZXI6bm9uZTtcclxuICAgIG91dGxpbmU6bm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTVweCk7XHJcbiAgICBcclxuXHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWRldmljZS13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuICAgIFx0XHJcbiAgICAgICAgZm9udC1zaXplOjE2cHghaW1wb3J0YW50O1xyXG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICAgICBcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOjE2cHghaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmlucHV0W2Rpc2FibGVkXSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuIFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyBcclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgcGFkZGluZzogMDsgIFxyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cclxuICAgIHJlc2l6ZTogbm9uZTsgLy9vdmVyd3JpdGUgdGhlIGV4cGFuZCBiZWhhdmlvdXIgLSBDSU1BIHJlcXVlc3RcclxufVxyXG5cclxubGFiZWwge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuYWJiciB7XHJcbiAgICBib3JkZXI6bm9uZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMnB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyMnB4KTtcclxufVxyXG5cclxuXHJcbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yOyAgXHJcbiAgIG9wYWNpdHk6IC43OyAgICAgICAgIFxyXG59XHJcblxyXG46LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXHJcbiAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yOyAgICAgIFxyXG4gICBvcGFjaXR5OiAuNzsgICAgICAgICAgICAgXHJcbn1cclxuXHJcbjo6LW1vei1wbGFjZWhvbGRlciB7ICAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjsgXHJcbiAgIG9wYWNpdHk6IC43OyAgICAgICAgICAgICAgICAgXHJcbn1cclxuXHJcbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAgXHJcbiAgIGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yOyAgXHJcbiAgIG9wYWNpdHk6IC43OyAgICAgICAgICAgICAgICAgXHJcbn1cclxuXHJcbi8qVHVybiBPZmYgTnVtYmVyIElucHV0IFNwaW5uZXJzICovIFxyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIFxyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7IFxyXG59XHJcbmlucHV0W3R5cGU9bnVtYmVyXSB7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6dGV4dGZpZWxkO1xyXG59XHJcblxyXG5cclxuXHJcbi8qIEZvcm0gaW5wdXQgc3R5bGUgKGFsbCBmb3JtIHR5cGVzKSAqL1xyXG5cclxuaW5wdXRbdHlwZT10ZXh0XSxcclxuaW5wdXRbdHlwZT1lbWFpbF0sXHJcbmlucHV0W3R5cGU9cGFzc3dvcmRdLFxyXG5pbnB1dFt0eXBlPW51bWJlcl0sXHJcbmlucHV0W3R5cGU9dGVsXSxcclxuaW5wdXRbdHlwZT11cmxdLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBtYXJnaW46MDsgXHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICNmZmY7XHJcbiAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTRweCwgMTBweCk7ICAgIFxyXG5cclxuICAgICY6Zm9jdXMgeyBcclxuICAgICAgICBib3JkZXItY29sb3I6JGNvbG91ci1ncmV5MDQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA2NGVtKSB7IFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZXMvYXNzZXRzL2Fycm93LXBpbmstZG93bi5wbmcpIG5vLXJlcGVhdCA5OCUgNTAlO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLXJpZ2h0LCAyMHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTtcclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG5cclxuICAgICAgICAueGZvcm0gJiB7XHJcbiAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTYlIDUwJTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiBpZiB3cmFwcGVkICovXHJcbi5mb3JtLXNlbGVjdCB7IFxyXG4gXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxM3B4LCAxMHB4KTtcclxuXHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICAgIG1hcmdpbjowOyBcclxuICAgICAgICBwYWRkaW5nOjA7XHJcbiAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZmZmOyAvL09wZXJhIGZpeCB0byByZW1vdmUgYm9yZGVyXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgICAgICAgICBcclxuXHJcbiAgICAgICAgb3B0aW9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLXJvdyB7XHJcblx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxN3B4LCAyMHB4KTtcclxuICAgICAgICBtYXJnaW46IDJlbSAwIDAgMCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl93aWRlIHtcclxuICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgICAgIGRpc3BsYXk6dGFibGU7XHJcbiAgICAgICAgd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIEBtZWRpYSBhbGwgIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7XHJcbiAgICAgICAgICAgIC5mb3JtLXJvdy1jb2wge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5maWVsZEdyb3VwIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgIC5mb3JtLXNlbGVjdCB7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICB3aWR0aDogMzIlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyJTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZXJyb3Ige1xyXG5cdGNvbG9yOiAkY29sb3ItZXJyb3I7XHJcblx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctdG9wLCA1cHgpO1xyXG59XHJcblxyXG4uZXJyb3JMaXN0IHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1lcnJvcjtcclxuICAgIGNvbG9yOiRjb2xvci1lcnJvcjsgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCk7XHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcbiAgICB1bCB7ICAgICAgICBcclxuICAgICAgICBtYXJnaW46IDAgMCAwIDJlbTtcclxuICAgIH0gICBcclxufVxyXG5cclxubGFiZWwsIGxlZ2VuZCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCA3cHgpO1xyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpO1xyXG59XHJcblxyXG5cclxuXHJcbi5jaGVjay1yYWRpby1ib3gge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctbGVmdCwgMjVweCk7XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0odG9wLCA1cHgpO1xyXG4gICAgICAgIGxlZnQ6MDtcclxuICAgIH1cclxufVxyXG5cclxuLnRvZ2dsZUF0dGVuZGVlIHtcclxuICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tcmlnaHQsIDEwcHgpO1xyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vKiB3aXRoaW4geGZvcm0gKi9cclxuXHJcbiV4Rm9ybVZhbGlkYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgZm9udFNpemUtNztcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgY29sb3I6ICRjb2xvci1lcnJvcjtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDVweCwgMCwwLDApO1xyXG59XHJcblxyXG4ueGZvcm0ge1xyXG5cclxuXHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTtcclxuXHJcblx0PiB0YWJsZSB7XHJcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWF4LXdpZHRoLCA0NTBweCk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0XHR0ciB0ZCB7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLWJvdHRvbSwgMjVweCk7XHJcblx0XHR9XHJcblxyXG4gICAgICAgIHRyOmxhc3QtY2hpbGQgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblx0fVxyXG5cdCBcclxuXHRoMiwgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS0yO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cclxuICAgIHNwYW4uc3VidGl0bGUsXHJcbiAgICBzcGFuLnN1YlRpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcclxuICAgICAgICBAaW5jbHVkZSBmb250U2l6ZS00O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLnhmb3JtdmFsaWRhdG9yLFxyXG4gICAgLmVycm9yIHtcclxuICAgICAgICBAZXh0ZW5kICV4Rm9ybVZhbGlkYXRpb247XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG5cclxuXHRmaWVsZHNldCBsYWJlbCB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblx0fVxyXG5cclxuICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIGhlaWdodDoxcHg7XHJcbiAgICAgICAgY29sb3I6JGNvbG91ci1ncmV5MDM7XHJcbiAgICAgICAgYm9yZGVyOm5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDM7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xyXG4gICAgICAgIEBleHRlbmQgLmJ0bjtcclxuICAgIH1cclxuXHJcbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddLFxyXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tcmlnaHQsIDVweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBjcmVhdGUgdHdvIGNvbHVtbiBpZiBpbiB3aWRlIDEwMCUgcGFnZSAqL1xyXG4ubC1yb3ctMTAwIHtcclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHJcblx0XHQueGZvcm0gdGFibGUge1xyXG5cdFx0XHR0ciB7XHJcblx0XHRcdFx0Y2xlYXI6IGJvdGg7XHJcblxyXG5cdFx0XHRcdD50ZCB7XHJcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cclxuXHRcdFx0XHRcdD4gbGFiZWwge1xyXG5cdFx0XHRcdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogNDUlO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDEwcHggNSUgNXB4IDA7XHJcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcdFxyXG5cclxuXHRcdFx0aW5wdXRbdHlwZT10ZXh0XSxcclxuXHRcdFx0aW5wdXRbdHlwZT1lbWFpbF0sXHJcblx0XHRcdGlucHV0W3R5cGU9cGFzc3dvcmRdLFxyXG5cdFx0XHRpbnB1dFt0eXBlPW51bWJlcl0sXHJcbiAgICAgICAgICAgIGlucHV0W3R5cGU9dGVsXSxcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT11cmxdLFxyXG5cdFx0XHRzZWxlY3Qge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC54Zm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIuc29jaWFsLWNvbnRhaW5lciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcblxyXG5cdD4gaDIge1xyXG5cdFx0Y29sb3I6JGNvbG91ci1waW5rO1xyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtNDtcclxuXHR9XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicC10YWJsZXQtZG93bikge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1heC13aWR0aCwgMzAwcHgpOyAgXHJcblx0XHRtYXJnaW4tYm90dG9tOjMwcHghaW1wb3J0YW50OyAgXHJcblx0fVxyXG59XHJcblxyXG4uc29jaWFsIHtcclxuXHJcblx0bWFyZ2luOjA7XHJcblx0cGFkZGluZzowO1xyXG5cdG92ZXJmbG93OmhpZGRlbjtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblxyXG5cdCYtaXRlbSB7XHJcblx0XHRtYXJnaW46MCA1cHggNXB4IDA7XHJcblx0XHRmbG9hdDpsZWZ0O1xyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdHBhZGRpbmc6MDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtbGluayB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0dGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAxO1xyXG5cdFx0dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2Utb3V0O1xyXG5cclxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvdXItZ3JleTAxLCAyMCUpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vSWNvbnNcclxuXHJcblx0XHQmX2ZhY2Vib29rIHtcclxuXHRcdFx0JHNwcml0ZTogJGZhY2Vib29rOyAgXHJcblx0XHRcdEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSk7IFxyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfbGlua2VkaW4ge1xyXG5cdFx0XHQkc3ByaXRlOiAkbGlua2VkaW47ICBcclxuXHRcdFx0QGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlKTsgXHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMDdiYjY7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl90d2l0dGVyIHtcclxuXHRcdFx0JHNwcml0ZTogJHR3aXR0ZXI7ICBcclxuXHRcdFx0QGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlKTsgXHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMwMGFjZWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9lbWFpbCB7XHJcblx0XHRcdCRzcHJpdGU6ICRlbWFpbDsgIFxyXG5cdFx0XHRAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUpOyBcclxuXHRcdH1cclxuXHJcblx0XHQmX3ByaW50IHtcclxuXHRcdFx0JHNwcml0ZTogJHByaW50OyAgXHJcblx0XHRcdEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSk7IFxyXG5cdFx0fVxyXG5cclxuXHRcdCZfeW91dHViZSB7XHJcblx0XHRcdCRzcHJpdGU6ICR5b3V0dWJlOyAgXHJcblx0XHRcdEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSk7IFxyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjY2QyMDFmO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfY2ltYWNvbm5lY3Qge1xyXG5cdFx0XHQkc3ByaXRlOiAkY2ltYWNvbm5lY3Q7ICBcclxuXHRcdFx0QGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlKTsgXHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn1cclxuXHJcbiBcclxuLyogaWYgaW4gcmlnaHQgbmF2aWdhdGlvbiAqL1xyXG4uYXNpZGVOYXYgLnNvY2lhbC1jb250YWluZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwgMCwgMTVweCwgMTVweCk7ICBcclxuXHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSAgIHtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwgMCwgMjBweCwgMzBweCk7ICBcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIFx0Y29udGVudDonJztcclxuICAgICAgICBcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBcdGhlaWdodDo4MCU7XHJcbiAgICAgICAgXHR3aWR0aDoxcHg7XHJcbiAgICAgICAgXHRsZWZ0OiAwO1xyXG4gICAgICAgIFx0dG9wOjA7XHJcbiAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwMztcdFxyXG4gICAgICAgIH0gICAgIFxyXG4gICAgfSAgXHJcbn1cclxuXHJcbi8qIFdoaXRlIG9wdGlvbiAqL1xyXG4uc29jaWFsLWNvbnRhaW5lci50aGVtZV93aGl0ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRwYWRkaW5nOiAxNXB4IDAgMTVweCAxNXB4IWltcG9ydGFudDtcclxuXHJcblx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApICAge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweCAyMHB4IDMwcHghaW1wb3J0YW50OyAvL3RoaXMgb3ZlcndyaXRlcyByaWdoIGNvbHVtbnMgc2V0dGluZ3NcclxuICAgIH1cclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC5zb2NpYWwtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLyogUkVTRVQgKi9cclxuW2NsYXNzXj0nYnRuJ10sXHJcbmlucHV0W3R5cGU9c3VibWl0XSxcclxuaW5wdXRbdHlwZT1idXR0b25dLFxyXG5pbnB1dFt0eXBlPSdyZXNldCddLFxyXG5idXR0b24ge1xyXG5cclxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgb3V0bGluZTogbm9uZTsgXHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgd2lkdGg6YXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgICpvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTtcclxuXHJcbiAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7ICAgXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50OyAgXHJcblxyXG4gICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG4gICAgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBvdXRsaW5lOm5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBQcmltYXJ5IHJlZCBidXR0b24gKi9cclxuLmJ0biB7ICAgIFxyXG4gICAgY29sb3I6ICNmZmY7ICAgICBcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvdXItcGluaztcclxuICAgIGJvcmRlcjpub25lO1xyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTsgIFxyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDIwcHgpOyAgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0obWluLXdpZHRoLCAxNzVweCk7ICBcclxuICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDAsIDEwcHgsIDEwcHgsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDMwMG1zIGVhc2Utb3V0O1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTtcclxuICAgIH1cdFxyXG59XHJcblxyXG4uZnIge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgZmxvYXQ6cmlnaHRcclxuICAgIH1cclxufVxyXG5cclxuLyogUmVkIGJ1dHRvbiB3aXRoIGFycm93ICovXHJcbi5idG5fYXJyb3cge1xyXG4gICAgQGV4dGVuZCAuYnRuO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctcmlnaHQsIDQ1cHgpO1xyXG5cclxuICAgICRzcHJpdGU6ICRhcnJvdy13aGl0ZS1yaWdodDsgXHJcbiAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDIwcHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0oJGFycm93LXdoaXRlLXJpZ2h0LWhlaWdodC8yKSApO1xyXG4gICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbn1cclxuXHJcblxyXG4vKiBXaGl0ZSBidXR0b24gKi9cclxuLmJ0bl93aGl0ZSB7XHJcbiAgICBAZXh0ZW5kIC5idG47XHJcbiAgICBjb2xvcjogJGNvbG91ci1waW5rIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiNmZmYhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluazsgXHJcblxyXG4gICAgICAgIC50aGVtZV9waW5rICYge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07IFxyXG4gICAgICAgIH0gIFxyXG4gICAgfSBcclxufVxyXG5cclxuLyogV2hpdGUgYnV0dG9uICsgYm9yZGVyICovXHJcbi5idG5fd2hpdGVfYm9yZGVyIHtcclxuICAgIEBleHRlbmQgLmJ0bl93aGl0ZTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXItcGluaztcclxuICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLXRvcCwgMThweCk7IFxyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctYm90dG9tLCAxOHB4KTsgXHJcbn1cclxuXHJcbi8qIFdoaXRlIGJ1dHRvbiArIGFycm93ICovXHJcbi5idG5fd2hpdGVfYXJyb3cge1xyXG4gICAgQGV4dGVuZCAuYnRuX2Fycm93O1xyXG4gICAgY29sb3I6ICRjb2xvdXItcGluaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gICAgJHNwcml0ZTogJGFycm93LXBpbmstcmlnaHQ7IFxyXG4gICAgJHBzZXVkbzoocG9zaXRpb246ICdhZnRlcicsIHJpZ2h0OiAyMHB4LCB0b3A6IDUwJSwgbWFyZ2luLXRvcDotKCRhcnJvdy1waW5rLXJpZ2h0LWhlaWdodC8yKSApO1xyXG4gICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7IFxyXG5cclxuICAgICAgICAkc3ByaXRlOiAkYXJyb3ctd2hpdGUtcmlnaHQ7IFxyXG4gICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMjBweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LSgkYXJyb3ctd2hpdGUtcmlnaHQtaGVpZ2h0LzIpICk7XHJcbiAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbiAgICB9ICBcclxufVxyXG5cclxuLyogV2hpdGUgYnV0dG9uICsgYm9yZGVyICsgYXJyb3cgKi9cclxuLmJ0bl93aGl0ZV9ib3JkZXJfYXJyb3cge1xyXG4gICAgQGV4dGVuZCAuYnRuX3doaXRlX2Fycm93O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91ci1waW5rO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctdG9wLCAxOHB4KTsgXHJcbiAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDE4cHgpOyBcclxufVxyXG5cclxuXHJcbi8qIFBERiBkb3dubG9hZCAqL1xyXG4uYnRuX2Rvd25sb2FkIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91ci1waW5rO1xyXG4gICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE4cHgsIDUwcHgsIDIwcHgsIDIwcHgpOyBcclxuXHJcbiAgICAkc3ByaXRlOiAkaWNvbi1waW5rLWRvd25sb2FkOyBcclxuICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMThweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LSgkaWNvbi1waW5rLWRvd25sb2FkLWhlaWdodC8yKSApO1xyXG4gICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7IFxyXG5cclxuICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHJcbiAgICAgICAgJHNwcml0ZTogJGljb24td2hpdGUtZG93bmxvYWQ7IFxyXG4gICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMThweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LSgkaWNvbi13aGl0ZS1kb3dubG9hZC1oZWlnaHQvMikgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH0gIFxyXG5cclxuICAgICAudGhlbWVfcGluayAmIHtcclxuICAgICAgICBjb2xvcjokY29sb3VyLXBpbms7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzLFxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIFxyXG5cclxuLyogbWVkaWEgYnV0dG9uICovXHJcbi5idG5fbWVkaWEge1xyXG4gICAgQGV4dGVuZCAuYnRuO1xyXG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgY29sb3I6ICRjb2xvdXItcGluaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7ICBcclxuICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLWxlZnQsIDUycHgpOyAgXHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDonJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDo0MHB4O1xyXG4gICAgICAgIHRvcDowO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICRjb2xvdXItcGluaztcclxuICAgIH1cclxuXHJcbiAgICAkc3ByaXRlOiAkcGxheTsgXHJcbiAgICAkcHNldWRvOihwb3NpdGlvbjogJ2JlZm9yZScsIGxlZnQ6IDE1cHgsIHBhZGRpbmctcmlnaHQ6MjBweCwgdG9wOjUwJSwgbWFyZ2luLXRvcDotKCRwbGF5LWhlaWdodC8yKSApO1xyXG4gICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6I2ZmZjsgICAgIFxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGNvbG91ci1waW5rOyAgIFxyXG4gICAgICAgIFxyXG4gICAgICAgICRzcHJpdGU6ICRwbGF5LXdoaXRlOyBcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2JlZm9yZScsIGxlZnQ6IDE1cHgsIHBhZGRpbmctcmlnaHQ6MjBweCwgdG9wOjUwJSwgbWFyZ2luLXRvcDotKCRwbGF5LXdoaXRlLWhlaWdodC8yKSApO1xyXG4gICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuXHJcbiAgICAudGhlbWVfcGluayAmIHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSBcclxuXHJcblxyXG5cclxuLmJ0bi5idG4tcHJvZmlsZSB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgY29sb3I6ICRiYXNlLXRleHQtY29sb3I7ICAgICBcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDI7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2MHB4OyBcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxMnB4LCAyMHB4LCAxMnB4LCA0NXB4KTsgIFxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLFxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiAgICB9XHJcblxyXG4gICAgJHNwcml0ZTogJGljb24tYWNjb3VudDsgXHJcbiAgICAkcHNldWRvOihwb3NpdGlvbjogJ2JlZm9yZScsIGxlZnQ6MTVweCwgdG9wOiAwLjdlbSk7XHJcbiAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxufVxyXG5cclxuXHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG5cclxuICAgIFtjbGFzc149J2J0biddLFxyXG4gICAgaW5wdXRbdHlwZT1zdWJtaXRdLFxyXG4gICAgaW5wdXRbdHlwZT1idXR0b25dLFxyXG4gICAgaW5wdXRbdHlwZT0ncmVzZXQnXSxcclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgY29sb3I6IzU1NTtcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkICNjY2M7XHJcbiAgICB9XHJcblxyXG59IiwiYS5jdGEge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1yaWdodCwgMjVweCk7IFxyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDEzcHgpOyAgXHJcblxyXG5cdCRzcHJpdGU6ICRhcnJvdy1waW5rLXJpZ2h0OyBcclxuXHQkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6MCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6IC0oJGFycm93LXBpbmstcmlnaHQtaGVpZ2h0LzIpKTtcclxuXHRAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcdFxyXG59XHJcblxyXG4vKiBpbiB0aGVtZXMgKi9cclxuW2NsYXNzKj0ndGhlbWVfcGx1bSddLFxyXG5bY2xhc3MqPSd0aGVtZV9waW5rJ10sXHJcbltjbGFzcyo9J3RoZW1lX2Jyb3duJ10sXHJcbltjbGFzcyo9J3RoZW1lX2JsdWUnXSB7XHJcblxyXG5cdGEuY3RhIHtcclxuXHRcdGNvbG9yOiNmZmY7XHJcblxyXG5cdFx0JHNwcml0ZTogJGFycm93LXdoaXRlLXJpZ2h0OyBcclxuXHRcdCRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDowLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDogLSgkYXJyb3ctcGluay1yaWdodC1oZWlnaHQvMikpO1xyXG5cdFx0QGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHRcclxuXHR9XHJcbn0iLCJcclxuLyogVEhFTUVTIG1peGluICovXHJcbkBtaXhpbiBxdW90ZVRoZW1lKCRiZzonJywgJHF1b3RlLWNvbG91cjonJywgJGNpdGUtY29sb3VyOicnKSB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGJnO1xyXG5cclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgXHRjb2xvcjogJHF1b3RlLWNvbG91cjsgICBcclxuICAgIH0gXHJcblxyXG4gICAgY2l0ZSB7XHJcbiAgICBcdGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgXHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cclxuICAgIFx0Jjpob3ZlciwgXHJcbiAgICBcdCY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY29sb3VyLXBpbms7XHJcbiAgICBcdFx0Y29sb3I6ICNmZmY7XHJcbiAgICBcdH1cclxuICAgIH1cclxufVxyXG5cclxuLnF1b3RlIHtcclxuICAgICYudGhlbWVfZ3JleSB7XHJcbiAgICAgICAgQGluY2x1ZGUgcXVvdGVUaGVtZSgkY29sb3VyLWdyZXkwNiwgJGNvbG91ci1waW5rLCAkYmFzZS10ZXh0LWNvbG9yKTsgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLyogc3R5bGUgKi9cclxuLnF1b3RlIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTtcclxuXHRAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdCYtaW1nIGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDIwcHgpOyAgICAgICBcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGUge1xyXG5cclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS10aW1lcztcclxuXHRcdFx0Y29udGVudDogXCLigJxcIjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMC44O1xyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCA3MnB4KTsgXHJcblx0XHR9XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGltZXM7XHJcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMThweCk7IFxyXG5cdFx0fVxyXG5cclxuXHRcdC5xdW90ZS1jaXRlIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTNweCk7IFxyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMjBweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y2l0ZSBzdHJvbmcge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHQuYnRuOmhvdmVyLFxyXG5cdFx0LmJ0bjpmb2N1cyB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4gXHJcblxyXG4gXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcbiAgICAucXVvdGUge1xyXG4gICAgICAgIFtjbGFzc149J2J0biddLFxyXG4gICAgICAgIC5jdGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSBcclxuXHJcblxyXG4gXHJcblxyXG4gXHJcbiAiLCIuY2hlY2tsaXN0IHtcclxuXHJcbiAgICBjbGVhcjpib3RoOyAgICAgXHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjojZmZmO1xyXG4gICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluazsgXHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDEwcHgsIDE1cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTQ7XHJcblxyXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNXB4LCAzMHB4KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2OyBcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkgICB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1uYXYge1xyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IG15LWNvdW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgbGlzdEJhcmU7ICAgICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLW5hdi1pdGVtIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbXktY291bnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXItZ3JleTAzO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNXB4LCAwLCAxNXB4LCAyNXB4KTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxM3B4KTtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpiZWZvcmUgeyBcclxuICAgICAgICAgICAgY29udGVudDogY291bnRlcnMobXktY291bnRlciwgIFwiLlwiKTsgXHJcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyBcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7ICAgICAgICAgICBcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDIwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLW5hdi1saW5rIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGxpbmtCYXJlO1xyXG4gICAgfVxyXG59IiwiXHJcbi8qIGRlZmF1bHQgc3R5bGluZyAqL1xyXG4ubGlua0dyb3VwIHtcclxuXHJcbiAgICBjbGVhcjpib3RoOyBcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4OyAgICBcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuICAgICYtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtNDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1yaWdodCwgNDBweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmtCYXJlO1xyXG5cclxuICAgICAgICAgICAgJHNwcml0ZTogJGFycm93LXBpbmstcmlnaHQ7IFxyXG4gICAgICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDAsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0oJGFycm93LXBpbmstcmlnaHQtaGVpZ2h0LzIpICk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cclxuICAgICAgICAgICAgLnRoZW1lX3BpbmsgJiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjojZmZmOyBcclxuXHJcbiAgICAgICAgICAgICAgICAkc3ByaXRlOiAkYXJyb3ctd2hpdGUtcmlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgJHBzZXVkbzoocG9zaXRpb246ICdhZnRlcicsIHJpZ2h0OiAwLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDotKCRhcnJvdy1waW5rLXJpZ2h0LWhlaWdodC8yKSApO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtaW50cm8ge1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxNXB4KTtcclxuICAgIH1cclxuIFxyXG4gICAgJi1uYXYge1xyXG4gICAgICAgIEBpbmNsdWRlIGxpc3RCYXJlOyAgICAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi1uYXYtaXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogMDsgICAgICBcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyLWdyZXkwMzsgICBcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBkaXNwbGF5IGluIHR3byBjb2x1bW5zIGlmIGluIHdpZGUgY29udGVudCBhcmVhXHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cclxuICAgICAgICAgICAgLmwtY29sLTYwICYsXHJcbiAgICAgICAgICAgIC5sLWNvbC0xMDAgJiB7XHJcbiAgICAgICAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubC1jb2wtNjAgJiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidWlsZEJsb2Nrcyg0LDgsMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5sLWNvbF8xMDAgJiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidWlsZEJsb2Nrcyg2LDEyLDIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtbmF2LWxpbmsge1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTNweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgsIDApO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLXJpZ2h0LCA0MHB4KTtcclxuICAgICAgICBAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHJcbiAgICAgICAgJHNwcml0ZTogJGFycm93LXBpbmstcmlnaHQ7IFxyXG4gICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LSgkYXJyb3ctcGluay1yaWdodC1oZWlnaHQvMikgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH1cclxuXHJcbiAgICAmLW5hdi1pdGVtOmxhc3QtY2hpbGQgJi1uYXYtbGluayB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206MDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIGljb24gaW1hZ2VzICovXHJcbi5saW5rR3JvdXBfaWNvbnMge1xyXG4gICAgLmxpbmtHcm91cC1uYXYtaXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAubGlua0dyb3VwLW5hdi1saW5rIHtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1sZWZ0LCAzMHB4KTtcclxuICAgIH1cclxuICAgIC5saW5rR3JvdXAtaWNvbiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIFxyXG4gICAgICAgIGxlZnQ6MDtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0odG9wLCAxNHB4KTtcclxuICAgIH1cclxufVxyXG4gXHJcbiBcclxuXHJcbi8qIFRIRU1FUyBtaXhpbiAqL1xyXG5AbWl4aW4gbGlua0dyb3VwVGhlbWUoJGJnOicnLCAkZmc6JycpIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICBjb2xvcjokZmc7XHJcbiAgICBAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcblxyXG4gICAgLmxpbmtHcm91cC1uYXYtbGluayxcclxuICAgIC5saW5rR3JvdXAtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiRmZztcclxuICAgIH1cclxufVxyXG5cclxuLmxpbmtHcm91cCB7XHJcbiAgICAmLnRoZW1lX2dyZXkge1xyXG4gICAgICAgIEBpbmNsdWRlIGxpbmtHcm91cFRoZW1lKCRjb2xvdXItZ3JleTA2LCcnKTsgXHJcbiAgICB9XHJcbiAgICBcclxuICAgICYudGhlbWVfcGluayB7XHJcbiAgICAgICAgQGluY2x1ZGUgbGlua0dyb3VwVGhlbWUoJGNvbG91ci1waW5rLCAjZmZmKTsgXHJcblxyXG4gICAgICAgIC5saW5rR3JvdXAtbmF2LWxpbmsge1xyXG4gICAgICAgICAgICAkc3ByaXRlOiAkYXJyb3ctd2hpdGUtcmlnaHQ7IFxyXG4gICAgICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDAsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0oJGFycm93LXBpbmstcmlnaHQtaGVpZ2h0LzIpICk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRoZW1lX2dyZWVuLXRpbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIGxpbmtHcm91cFRoZW1lKCRjb2xvdXItZ3JlZW4tdGludCk7IFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4gXHJcbiIsIi8qIFRvb2xzIGljb25zICovXHJcbi5pY29uIHtcclxuICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLWxlZnQsIDM1cHgpO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLXRvcCwgLTEycHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbSh3aWR0aCwgMjRweCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKGhlaWdodCwgMjRweCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9hc3NldHMvdG9vbHMtc3ByaXRlLnBuZyk7ICAgICAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5pY29uX2NhbGM6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi5pY29uX2Nvbm5lY3Q6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuaWNvbl9zdHVkeTpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7XHJcbiAgICB9XHJcbn0iLCJcclxuLnRleHRDb2xvdXJCbG9jayB7XHJcblx0Y2xlYXI6Ym90aDsgICAgICAgXHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcbiAgICA+aDIsID5oMyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXItcGluaztcclxuICAgIH1cclxuICAgIEBleHRlbmQgLnd5c2l3eWc7XHJcbn1cclxuXHJcblxyXG4gXHJcbiAvKiBUSEVNRVMgbWl4aW4gKi9cclxuQG1peGluIHRleHRDb2xvdXJCbG9ja1RoZW1lKCRiZzonJywgJGZnOicnKSB7XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGJnO1xyXG4gICAgY29sb3I6JGZnO1xyXG4gICAgQGluY2x1ZGUgYmxvY2tQYWRkaW5nOyBcclxuXHJcbiAgICA+aDIsID5oMyB7XHJcbiAgICAgICAgY29sb3I6ICRmZztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5sLXJvdy0xMDAge1x0XHJcbiAgICAudGV4dENvbG91ckJsb2NrIHtcclxuXHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKCBtYXgtd2lkdGg6ICRicC1kZXNrdG9wLWRvd24pIHtcclxuICAgICAgICAgICAmLnRoZW1lX3doaXRlID4ud3lzaXd5ZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBibG9ja1BhZGRpbmc7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAoIG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHsgXHRcdFxyXG5cdFx0XHRwYWRkaW5nOiAkYmxvY2stbGctcGFkZGluZyBjYWxjLXBlcmNlbnQoJGNvbnRlbnQtaW5kZW50LCAkY29udGVudC13aWR0aCkhaW1wb3J0YW50O1x0XHJcblxyXG4gICAgICAgICAgICAmLnRoZW1lX3doaXRlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4udGV4dENvbG91ckJsb2NrIHtcclxuICAgICYudGhlbWVfZ3JleSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dENvbG91ckJsb2NrVGhlbWUoJGNvbG91ci1ncmV5MDYpOyBcclxuICAgIH1cclxuICAgICYudGhlbWVfcGluayB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dENvbG91ckJsb2NrVGhlbWUoJGNvbG91ci1waW5rLCAjZmZmKTsgXHJcbiAgICB9XHJcbiAgICAmLnRoZW1lX3BsdW0ge1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHRDb2xvdXJCbG9ja1RoZW1lKCRjb2xvdXItcGx1bSwgI2ZmZik7IFxyXG4gICAgfVxyXG4gICAgJi50aGVtZV9icm93biB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dENvbG91ckJsb2NrVGhlbWUoJGNvbG91ci1icm93biwgI2ZmZik7IFxyXG4gICAgfVxyXG4gICAgJi50aGVtZV9icm93bi10aW50IHtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0Q29sb3VyQmxvY2tUaGVtZSgkY29sb3VyLWJyb3duLXRpbnQpOyBcclxuICAgIH1cclxuICAgICYudGhlbWVfZ3JlZW4tdGludCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dENvbG91ckJsb2NrVGhlbWUoJGNvbG91ci1ncmVlbi10aW50KTsgXHJcbiAgICB9XHJcbn1cclxuXHJcbiBcclxuXHJcbiAvLyBQcmludCBDU1MgXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC50ZXh0Q29sb3VyQmxvY2sge1xyXG4gICAgICAgIHBhZGRpbmc6MDsgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAqIHtcclxuICAgICAgICAgICAgY29sb3I6IzAwMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcbi8qIEJMT0NLIHN0eWxlICovXHJcbi50ZXh0QmxvY2tBc2lkZSB7XHJcblx0Y2xlYXI6Ym90aDsgICAgXHJcbiAgICBAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcbiAgICAmLm5vQm90dG9tTWFyZ2luIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjA7XHJcbiAgICB9XHJcblxyXG4gICAgaDMgeyAgICAgICAgICAgIFxyXG4gICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAyMnB4KTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTVweCk7XHJcbiAgICB9XHJcblxyXG4gICAgJi10ZXh0IHtcclxuXHJcbiAgICAgICAgPio6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuXHJcbiAgICAmLnRoZW1lX2dyZXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2OyBcclxuXHJcbiAgICAgICAgLnRleHRCbG9ja0FzaWRlLXRpdGxlIHtcclxuICAgICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRoZW1lX3Bpbmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluazsgXHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGV4dEJsb2NrQXNpZGVfcHJpbWFyeSB7XHJcbiAgICAudGV4dEJsb2NrQXNpZGUtdGl0bGUge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IFxyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTM7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4gXHJcblxyXG4gIiwiXHJcbi8qIEJMT0NLIHN0eWxlICovXHJcbi5wZGZEb3dubG9hZEJsb2NrIHtcclxuXHRjbGVhcjpib3RoOyAgICBcclxuICAgIEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuICAgICYtdGV4dCB7XHJcbiAgICAgICAgPio6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MDtcclxuICAgICAgICB9XHJcbiAgICB9ICBcclxuXHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctbGVmdCwgNTBweCk7XHJcblxyXG4gICAgICAgICRzcHJpdGU6ICRpY29uLXBkZjsgXHJcbiAgICAgICAgJHBzZXVkbzoocG9zaXRpb246ICdiZWZvcmUnLCBsZWZ0OiAwLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDooLSRpY29uLXBkZi1oZWlnaHQvMiksIHotaW5kZXg6MSk7XHJcbiAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbiAgICB9XHJcblxyXG4gICAgJi50aGVtZV9ncmV5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjsgXHJcblxyXG4gICAgICAgIC5wZGZEb3dubG9hZEJsb2NrLXRpdGxlIHtcclxuICAgICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnRoZW1lX3Bpbmsge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluazsgXHJcbiAgICAgICAgY29sb3I6I2ZmZjtcclxuICAgIH1cclxufVxyXG5cclxuLnBkZkRvd25sb2FkQmxvY2tfcHJpbWFyeSB7XHJcbiAgICAucGRmRG93bmxvYWRCbG9jay10aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtMztcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAiLCJcclxuLyogZGVmYXVsdCBzdHlsaW5nICovXHJcbi5wcm9tbyB7XHJcblxyXG4gICAgY2xlYXI6Ym90aDsgXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ICAgICBcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7ICAgXHJcblxyXG4gICAgJi1maWd1cmUgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLXRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAmLXRleHQtaW5uZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmctdW5pdDtcclxuXHJcbiAgICAgICAgPio6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206MFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ0bl93aGl0ZSB7XHJcbiAgICAgICAgLy93aWR0aDoxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuIFxyXG4gXHJcblxyXG4vKiBUSEVNRVMgbWl4aW4gKi9cclxuQG1peGluIHByb21vVGhlbWUoJGJnOicnLCAkZmc6JycpIHtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICBjb2xvcjogJGZnO1xyXG5cclxuICAgIC5wcm9tby10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRmZztcclxuICAgIH0gICAgXHJcbn1cclxuXHJcbi5wcm9tbyB7XHJcbiAgICAmLnRoZW1lX2dyZXkge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb21vVGhlbWUoJGNvbG91ci1ncmV5MDYpOyBcclxuICAgIH1cclxuICAgICYudGhlbWVfcHVycGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9tb1RoZW1lKCRjb2xvdXItcHVycGxlLCAjZmZmKTsgXHJcbiAgICB9XHJcbiAgICAgJi50aGVtZV9icm93bi10aW50IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9tb1RoZW1lKCRjb2xvdXItYnJvd24tdGludCk7IFxyXG4gICAgfVxyXG4gICAgJi50aGVtZV9ncmVlbi10aW50IHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9tb1RoZW1lKCRjb2xvdXItZ3JlZW4tdGludCk7IFxyXG4gICAgfSAgIFxyXG59XHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC5wcm9tbyB7XHJcbiAgICAgICAgW2NsYXNzXj0nYnRuJ10sXHJcbiAgICAgICAgLmN0YSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLnByb21vMiB7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmOyAgICBcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYnJvd247IC8vZGVmYXVsdFxyXG4gICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi10aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtMTsgXHJcbiAgICB9XHJcblxyXG4gICAgJi1zdWJ0aXRsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtNDsgXHJcbiAgICB9XHJcblxyXG4gICAgJi1maWd1cmUgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG5cclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7IFxyXG4gICAgICAgICAgICBtaW4td2lkdGg6NTAwcHg7IC8vdGhlIHJlY29tbWVuZGVkIGltYWdlIHNpemUgaXMgNzYwIHggNDYwLlxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHsgXHJcbiAgICAgICAgICAgIG1pbi13aWR0aDo3MDBweDsgLy90aGUgcmVjb21tZW5kZWQgaW1hZ2Ugc2l6ZSBpcyA3NjAgeCA0NjAuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtbG9nbyB7ICAgICAgICBcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC14LXNtYWxsKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6ICRibG9jay1sZy1wYWRkaW5nO1xyXG4gICAgICAgICAgICBib3R0b206IDE1cHg7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgICAgXHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHJcbiAgICAgICAgLy9tYXJnaW4tdG9wOiAxMDBweDsgXHJcblxyXG4gICAgICAgICYtZmlndXJlIHtcclxuICAgICAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1jb250ZW50IHtcclxuICAgICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OjA7XHJcbiAgICAgICAgICAgIHRvcDogLTYwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHJcbiAgICAgICAgJi1maWd1cmUge1xyXG4gICAgICAgICAgICB3aWR0aDo2MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG4gICAgICAgICYtY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDoxNSU7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxufVxyXG4gXHJcbiAgXHJcblxyXG4vKiBUSEVNRVMgbWl4aW4gKi9cclxuLy9kZWZhdWx0IGNvbG91cjogYnJvd25cclxuXHJcbkBtaXhpbiBwcm9tbzJUaGVtZSgkYmc6JycsICRmZzonJykge1xyXG4gICAgLnByb21vMi1jb250ZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkYmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9tbzIge1xyXG4gICAgJi50aGVtZV9ibHVlIHtcclxuICAgICAgICBAaW5jbHVkZSBwcm9tbzJUaGVtZSgkY29sb3VyLWJsdWUtbGlnaHQpOyBcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcbiAgICAucHJvbW8yIHtcclxuICAgICAgICBkaXNsYXk6dGFibGU7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuXHJcbiAgICAgICAgJi1maWd1cmUsXHJcbiAgICAgICAgJi1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICB3aWR0aDo1MCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOnN0YXRpYztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246dG9wO1xyXG4gICAgICAgIH0gICAgIFxyXG5cclxuICAgICAgICAmLWxvZ28sXHJcbiAgICAgICAgW2NsYXNzXj0nYnRuJ10ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSBcclxuXHJcbiBcclxuIiwiLmhlcm9Ib21lIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdGZsb2F0OnJpZ2h0OyBcclxuXHRjb2xvcjogI2ZmZjsgXHJcblx0YmFja2dyb3VuZC1jb2xvcjokY29sb3VyLXBpbms7ICBcclxuXHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAxNXB4KTsgXHRcclxuXHRAaW5jbHVkZSBweC1yZW0obWF4LXdpZHRoLCA1MjBweCk7IFxyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHRcdFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwgNDBweCwxNXB4LDQwcHgsMCk7IFxyXG5cdH1cclxuXHJcblx0Ji10ZXh0IHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNXB4KTsgXHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1x0XHRcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDMwcHgpOyBcclxuXHRcdH1cclxuXHJcblx0XHQ+KjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji10aXRsZSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtMTsgXHJcblx0fVxyXG5cclxuXHQuYnRuX3doaXRlLFxyXG5cdC5idG5fbWVkaWEge1xyXG5cdCAgICAmOmhvdmVyLFxyXG5cdCAgICAmOmZvY3VzLFxyXG5cdCAgICAmOmFjdGl2ZSB7XHJcblx0ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07IFxyXG5cdCAgICB9IFxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQge1x0XHJcblx0Lmhlcm9Ib21lIHtcclxuXHJcblx0XHRjb2xvcjojMDAwO1xyXG5cdFx0ZmxvYXQ6bm9uZTtcclxuXHRcdG1hcmdpbjogMTVweCAwO1xyXG5cclxuXHRcdCYtdGV4dCB7XHJcblx0XHRcdHBhZGRpbmc6MDtcclxuXHRcdH1cclxuXHJcblx0XHRhW2NsYXNzXj0nYnRuJ10ge1xyXG5cdFx0XHRkaXNwbGF5Om5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi5oZXJvSHViIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdGZsb2F0OmxlZnQ7IFxyXG5cdGNvbG9yOiAjZmZmOyBcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItcGluazsgIFxyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDE1cHgpOyBcdFxyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsIDQ0MHB4KTsgXHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcdFx0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCA0MHB4LDAsNDBweCwxNXB4KTsgXHJcblx0fVxyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1x0XHRcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsIDUyMHB4KTsgXHJcblxyXG5cdH1cclxuXHJcblx0Ji10ZXh0IHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNXB4KTsgXHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1x0XHRcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDMwcHgpOyBcclxuXHRcdH1cclxuXHJcblx0XHQ+KjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtdGl0bGUge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdEBpbmNsdWRlIGZvbnRTaXplLTE7IFxyXG5cdH1cclxuXHJcblx0LmJ0bl93aGl0ZSB7XHJcblx0ICAgICY6aG92ZXIsXHJcblx0ICAgICY6Zm9jdXMsXHJcblx0ICAgICY6YWN0aXZlIHtcclxuXHQgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTsgXHJcblx0ICAgIH0gXHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC5oZXJvSHViIHtcclxuXHJcbiAgICBcdG1hcmdpbjowIDAgMjBweCAwO1xyXG5cclxuICAgICAgICBbY2xhc3NePSdidG4nXSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgIFx0cGFkZGluZzowO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qIEhlYWRlciAqL1xyXG4uaGVyb0V2ZW50c0hlYWRlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsMC44KTtcclxuXHRAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdG1hcmdpbi1sZWZ0OjE1cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6MTVweDtcclxuXHR9XHJcblxyXG5cdCYtdGl0bGUge1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS0xO1xyXG5cdFx0bWFyZ2luLWJvdHRvbToxMHB4IWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKiBTbGlkZXIgKi9cclxuLmV2ZW50U2xpZGVyLXdyYXAge1xyXG5cdGNsZWFyOmJvdGg7IFxyXG5cdGNvbG9yOiAjZmZmOyBcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItcGluazsgIFxyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91ci1waW5rLDAuOCk7ICBcclxuXHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAxNXB4KTsgXHRcclxuXHRAaW5jbHVkZSBweC1yZW0obWF4LXdpZHRoLCA1MjBweCk7IFxyXG5cdEBpbmNsdWRlIHB4LXJlbShtaW4taGVpZ2h0LCA0MDBweCk7IFxyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHRcclxuXHRcdGZsb2F0OnJpZ2h0O1x0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAwLDE1cHgsNDBweCwwKTsgXHJcblx0fVxyXG59XHJcblxyXG4uZXZlbnRTbGlkZXIge1xyXG5cclxuXHQmLXRleHQge1xyXG5cdFx0cGFkZGluZzogMTVweCAxNXB4IDgwcHggMTVweDtcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHJcblx0XHRcdHBhZGRpbmc6IDMwcHggNjBweCAzMHB4IDMwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Pio6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtZGF0ZSB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNHB4KTsgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTBweCk7IFxyXG5cdH1cclxuXHJcblx0Ji10aXRsZSB7XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS0zO1x0IFxyXG5cdH1cclxuXHJcblx0Ji1pbnRybyB7XHJcblx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMThweCk7IFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sMTBweCk7IFxyXG5cdH1cclxuXHJcblx0Ji1kZXRhaWxzIHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE2cHgpOyBcclxuXHR9XHJcblxyXG5cdC5idG5fd2hpdGUsXHJcblx0LmJ0bl9tZWRpYSB7XHJcblx0ICAgICY6aG92ZXIsXHJcblx0ICAgICY6Zm9jdXMsXHJcblx0ICAgICY6YWN0aXZlIHtcclxuXHQgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTsgXHJcblx0ICAgIH0gXHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8gUHJpbnQgQ1NTIFxyXG5AbWVkaWEgcHJpbnQge1xyXG5cdC5ldmVudFNsaWRlci13cmFwIHsgXHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufSIsIi5oZXJvQ2FzZVN0dWR5IHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdGZsb2F0OmxlZnQ7IFxyXG5cdGNvbG9yOiAjZmZmOyBcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItcGluazsgIFxyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDE1cHgpOyBcdFxyXG5cdEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsIDQ0MHB4KTsgXHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcdFx0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCA0MHB4LDAsNDBweCwxNXB4KTsgXHJcblx0fVxyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1x0XHRcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsIDUyMHB4KTsgXHJcblxyXG5cdH1cclxuXHJcblx0Ji1kYXRlIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpOyBcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxMHB4KTsgXHJcblx0fVxyXG5cclxuXHQmLXRleHQge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgpOyBcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMzBweCk7IFxyXG5cdFx0fVxyXG5cclxuXHRcdD4qOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji10aXRsZSB7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuXHRcdEBpbmNsdWRlIGZvbnRTaXplLTI7IFxyXG5cdH1cclxuXHJcblx0LmJ0bl93aGl0ZSB7XHJcblx0ICAgICY6aG92ZXIsXHJcblx0ICAgICY6Zm9jdXMsXHJcblx0ICAgICY6YWN0aXZlIHtcclxuXHQgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTsgXHJcblx0ICAgIH0gXHJcblx0fVxyXG59XHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG4gICAgLmhlcm9DYXNlU3R1ZHkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcbiAgICAgICAgJi10ZXh0IHtcclxuICAgICAgICBcdHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyogTVBVICAqL1xyXG4gXHJcbi5tcHUsXHJcbi5hZC1zZXJ2ZXIgIHtcdCBcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG59IiwiLyogZXZlbnRQcm9tbyAqL1xyXG4uZXZlbnRQcm9tbyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRtYXJnaW4tYm90dG9tOiBndXR0ZXIoNik7XHJcblxyXG5cdCYtZmlndXJlIGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdCYtY29udGVudCB7XHJcblx0XHRAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcblx0fVxyXG5cclxuXHQmLWRhdGUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTBweCk7IFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTJweCk7IFxyXG5cdH1cclxuXHJcblx0Ji10aXRsZSB7XHJcblx0XHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtNTtcclxuXHR9XHJcblxyXG5cdCYtdGV4dCB7XHJcblx0XHRtYXJnaW46MDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpOyBcclxuXHR9XHJcblxyXG5cdCYtYnV0dG9uIHtcclxuXHRcdEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuXHRcdHBhZGRpbmctdG9wOjAhaW1wb3J0YW50O1xyXG5cclxuXHRcdC5idG4ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHRcclxufVxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG4gICAgLmV2ZW50UHJvbW8ge1xyXG4gICAgICAgIC5ldmVudFByb21vLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmwtY29udGVudF9pbmRlbnQuaHViUHJvbW9CbG9jayB7XHJcblx0Y2xlYXI6Ym90aDtcclxuXHRib3JkZXI6MXB4IHNvbGlkICNmZmY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjokY29sb3VyLWdyZXkwNjtcclxuXHRAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcdFxyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnAtZGVza3RvcC1kb3duKSB7XHJcblx0XHRwYWRkaW5nOiAkYmxvY2stc20tcGFkZGluZztcclxuXHR9XHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogJGJsb2NrLWxnLXBhZGRpbmc7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogJGJsb2NrLWxnLXBhZGRpbmc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi5odWJQcm9tbyB7XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJwLWRlc2t0b3AtZG93bikge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogZ3V0dGVyKDYpO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblxyXG5cdCYtdGl0bGUge1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdEBpbmNsdWRlIGZvbnRTaXplLTQ7XHJcblx0fVxyXG5cclxuXHQmLXRleHQge1x0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTsgXHRcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLWJvdHRvbSwgMTBweCk7IFxyXG5cdH1cclxuXHJcblx0Ji50aGVtZV93aGl0ZSAuaHViUHJvbW8tY29udGVudCB7XHJcblx0XHRAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcblxyXG5cdFx0Lmh1YlByb21vLXRpdGxlIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udFNpemUtNTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5jdGEge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMjBweDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuXHJcblx0LmwtY29udGVudF9pbmRlbnQuaHViUHJvbW9CbG9jayB7XHJcblx0XHRwYWRkaW5nOjA7XHJcblx0XHRtYXJnaW46MDtcclxuXHR9XHJcblxyXG4gICAgLmh1YlByb21vIHtcclxuXHJcbiBcdFx0Ji1jb250ZW50IHtcclxuIFx0XHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XHJcbiBcdFx0fVxyXG5cclxuICAgICAgICAuY3RhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiBcclxuICAgIH1cclxufSIsIlxyXG4ud2lkZUNvbG91ckJsb2NrIHtcclxuXHQvL3BhZGRpbmc6IDQwcHggMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItZ3JleTA2O1xyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuXHQubC1jb250ZW50X2luZGVudCB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogJGJsb2NrLXNtLXBhZGRpbmc7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItZ3JleTA2O1xyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kICggbWluLXdpZHRoOiAkYnAtZGVza3RvcCkgeyBcdFxyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJGJsb2NrLWxnLXBhZGRpbmc7XHJcblx0XHR9XHJcblxyXG5cdFx0aDIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1oZWFkZXIge1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS0yO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDM1cHgpOyBcclxuXHR9XHJcblxyXG5cdC5sLWJveC1jb2wge1xyXG5cdFx0Pio6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYudGhlbWVfcGx1bSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiRjb2xvdXItcGx1bTtcclxuXHJcblx0XHQubC1jb250ZW50X2luZGVudCB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6JGNvbG91ci1wbHVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdC53aWRlQ29sb3VyQmxvY2staGVhZGVyIHtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiIsIi5yZWFkeVRvUmVnaXN0ZXIge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0ei1pbmRleDogMTAwO1xyXG5cdGJvcmRlcjoxcHggc29saWQgI2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0Ji5sLWNvbnRlbnRfaW5kZW50IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2OyAvL2RlZmF1bHRcclxuXHRcdHBhZGRpbmctdG9wOjMwcHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTozMHB4O1xyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicC1kZXNrdG9wLWRvd24pIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgpOyBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtd3JhcCB7XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCA1cHgpOyBcclxuXHR9XHJcblxyXG5cdCYtaGVhZGVyIHtcclxuXHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMzBweCk7IFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpOyBcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG5cdFx0XHRmb250LXNpemU6IDMuNHZtOyAgIC8qIElFOSAqL1xyXG4gXHRcdFx0Zm9udC1zaXplOiAzLjR2bWluO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1pdGVtIHtcdFx0XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHRcdFx0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTVweCk7IFx0XHRcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpOyBcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnAtZGVza3RvcC1kb3duKSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNvbG91ci1ncmV5MDYsMyUpO1xyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCk7IFxyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSBhbGwgIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXgtc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnAtZGVza3RvcC1kb3duKSB7XHJcblx0XHRcdCY6bnRoLWxhc3Qtb2YtdHlwZSgtbisyKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji10aXRsZSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRcdEBpbmNsdWRlIGZvbnRTaXplLTU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1pbWcge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTVweCk7IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji10ZXh0IHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpOyBcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQ+KjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cdFx0XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OjMwcHg7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206MDtcclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0d2lkdGg6IDFweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0bGVmdDowO1xyXG5cdFx0XHRcdHRvcDowO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuYnRuIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVx0XHJcblxyXG5cdC8vIEZpcnN0IGl0ZW0sIGRpZmZlcmVudFxyXG5cdCYtaXRlbV9maXJzdCB7XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJlYWR5VG9SZWdpc3Rlci13cmFwIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDUwcHgpOyBcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ0biB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdGJvdHRvbTogLTFlbTtcclxuXHRcdFx0XHRsZWZ0OjA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idG4sXHJcblx0LmN0YSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vKiBUaGVtZSAqL1xyXG4ucmVhZHlUb1JlZ2lzdGVyLnRoZW1lX3BsdW0ge1xyXG5cdGJvcmRlcjpub25lO1xyXG5cdGNvbG9yOiNmZmY7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtO1xyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnAtZGVza3RvcC1kb3duKSB7XHJcblx0XHQucmVhZHlUb1JlZ2lzdGVyLWl0ZW0ge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRjb2xvdXItcGx1bSwzJSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0Ji5sLWNvbnRlbnRfaW5kZW50IHtcclxuXHRcdGNvbG9yOiNmZmY7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07XHJcblx0fVxyXG5cclxuXHQucmVhZHlUb1JlZ2lzdGVyLWhlYWRlcixcclxuXHQucmVhZHlUb1JlZ2lzdGVyLWl0ZW0tdGl0bGUsXHJcblx0LmN0YSB7XHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdH1cclxuXHJcblx0LnJlYWR5VG9SZWdpc3Rlci1pdGVtIHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG91ci1wbHVtLWxpZ2h0O1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtLWxpZ2h0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ0biB7XHJcblx0XHRjb2xvcjogJGNvbG91ci1waW5rIWltcG9ydGFudDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG5cdFx0Jjpob3ZlcixcclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7XHRcclxuXHQucmVhZHlUb1JlZ2lzdGVyIHtcclxuXHJcblx0XHQmLWl0ZW0taW1nIHtcclxuXHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdH1cclxuXHJcblx0XHQmLWhlYWRlciB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjBweFxyXG5cdFx0fVxyXG5cclxuXHRcdCYtd3JhcCB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOjA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ0bixcclxuXHRcdC5jdGEge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYtaXRlbSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYtdGV4dCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206MDtcclxuXHRcdH1cclxuXHJcblx0XHQmLWl0ZW1fZmlyc3QgLnJlYWR5VG9SZWdpc3Rlci13cmFwIHtcclxuXHRcdFx0cGFkZGluZzowO1xyXG5cdFx0fVxyXG5cdH1cclxufVx0IiwiLmhlYWRlckhlcm8ge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0Y29sb3I6I2ZmZjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHRcclxuXHRtYXgtd2lkdGg6OTUlOyAgXHJcblx0bWFyZ2luOiAwIDAgLTQwcHggLTQwcHg7IFxyXG5cdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAyMHB4LCAyMHB4LCA3MHB4LCAwKTsgXHJcblx0cGFkZGluZy1sZWZ0OiAxNSU7XHJcblxyXG5cdCYtdGl0bGUge1x0XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtMTtcclxuXHR9XHJcblxyXG5cdCYtaW50cm8ge1x0XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS00O1xyXG5cdFx0bWFyZ2luOjA7XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMzBweCwgMzBweCwgNjBweCwgMCk7IFxyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMCU7XHJcblx0XHRtYXgtd2lkdGg6NzAlOyAgXHJcblxyXG5cdFx0Ji1pbnRybyB7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDI0cHgpOyBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgNDBweCwgNDBweCwgNzBweCwgMCk7IFxyXG5cdFx0cGFkZGluZy1sZWZ0OiAyMCU7XHJcblx0XHRtYXgtd2lkdGg6NTAlOyAgXHJcblx0fVxyXG59XHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG5cclxuICAgIC5oZWFkZXJIZXJvIHtcclxuXHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1x0XHJcblx0XHRtYXJnaW46IDAgMCAyMHB4IDA7IFx0XHRcclxuXHRcdHBhZGRpbmc6IDA7XHJcbiBcclxuICAgIH1cclxufSIsIi5hVG9aIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdEBpbmNsdWRlIGxpc3RCYXJlO1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG4gXHJcblxyXG5cdD5saSB7XHJcblx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwgMCwycHgsMnB4LDApOyAgXHJcblx0fVxyXG5cclxuXHQ+bGkgPmEge1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xyXG5cdFx0QGluY2x1ZGUgbGlua0JhcmU7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgNXB4LDEwcHgpOyBcclxuXHJcblx0XHQmLnUtYWN0aXZlIHtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1waW5rIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQmLnUtZGlzYWJsZWQge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xyXG5cdFx0XHRjb2xvcjojY2NjO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIsXHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIC5hVG9aIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59IiwiLnN0YXRzQmxvY2sge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjojZmZmO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoI2ZmZiwwLjkpO1xyXG5cdEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcdFxyXG5cclxuXHQmLWl0ZW0ge1x0XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwxNXB4KTsgXHJcblx0fVx0XHJcblxyXG5cdCYtZmlndXJlIHtcdFxyXG5cdFx0ZGlzcGxheTpub25lO1x0XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDAsIDE1cHgsIDEwcHgsIDApOyBcdFx0XHJcblx0fVxyXG5cclxuXHQmLWNvbnRlbnQge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwxNXB4KTsgXHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLDE1cHgpOyBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtdGl0bGUge1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdEBpbmNsdWRlIGZvbnRTaXplLTQ7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyogd2l0aGluIDYwJSB3aWRlIHBhZ2Ugb25seSAqL1xyXG4uc3RhdHNCbG9jayB7XHJcblx0Lmwtcm93LTYwLTQwICYge1xyXG5cdFx0cGFkZGluZzowO1xyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQteC1zbWFsbCkge1xyXG5cdFx0XHQubC1ib3gtY29sIHtcclxuXHRcdFx0XHRmbG9hdDpub25lIWltcG9ydGFudDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLWl0ZW0ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYtZmlndXJlLFxyXG5cdFx0XHQmLWNvbnRlbnQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdH0gXHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8qIEVORCB3aXRoaW4gNjAlIHdpZGUgcGFnZSBvbmx5ICovXHJcblxyXG5cclxuLyogd2l0aGluIDEwMCUgd2lkZSBwYWdlIG9ubHkgKi9cclxuLnN0YXRzQmxvY2sge1x0XHJcblx0Lmwtcm93LTEwMCAmIHtcclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXgtc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnAtdGFibGV0LWRvd24pe1xyXG5cdFx0XHQubC1ib3gtY29sIHtcclxuXHRcdFx0XHRmbG9hdDpub25lIWltcG9ydGFudDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHQmLWl0ZW0ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYtZmlndXJlLFxyXG5cdFx0XHQmLWNvbnRlbnQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdH0gXHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0XHQmLWl0ZW0ge1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0XHRib3JkZXI6bm9uZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLXRvcCwgNTBweCk7IFxyXG5cclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRjb250ZW50OicnO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0d2lkdGg6MXB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0bGVmdDogLTE1cHg7XHJcblx0XHRcdFx0XHR0b3A6MDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAzO1xyXG5cdFx0XHRcdH1cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubC1ib3gtY29sOm50aC1vZi10eXBlKDNuKzEpIC5zdGF0c0Jsb2NrLWl0ZW06YmVmb3JlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubC1ib3gtY29sOm50aC1vZi10eXBlKC1uKzMpICAuc3RhdHNCbG9jay1pdGVte1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6MDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji1maWd1cmUge1x0XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwxNXB4KTsgXHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdG1pbi13aWR0aDogMTAzcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0Ji1maWd1cmUsXHJcblx0XHRcdCYtY29udGVudCB7XHJcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHJcblx0XHRcdFx0cDpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdH1cclxufVxyXG4vKiBlbmQgd2l0aGluIDEwMCUgd2lkZSBwYWdlIG9ubHkgKi9cclxuXHJcblxyXG4vKiBsaXR0bGUgaGFjayAqL1xyXG4uc3RhdHNCbG9jayB7XHJcblx0LmwtYm94LWNvbDpmaXJzdC1jaGlsZCAuc3RhdHNCbG9jay1pdGVtOmJlZm9yZSB7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4uaG9tZUNhc2VTdHVkeVNsaWRlciB7XHJcblx0LnN0YXRzQmxvY2sge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwxNXB4KTsgXHJcblxyXG5cdFx0LmwtYm94LWNvbDpsYXN0LWNoaWxkIC5zdGF0c0Jsb2NrLWl0ZW0ge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOm5vbmU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6JGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwwLDQwcHgsNDBweCk7IFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQge1x0XHJcblx0LnN0YXRzQmxvY2sge1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdFx0bWFyZ2luOjA7XHJcblx0fVxyXG59IiwiLmxvY2F0aW9ucyB7XHJcblx0Y2xlYXI6Ym90aDtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2Fzc2V0cy9weC1waW5rLnBuZyk7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6ICByZXBlYXQteDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDUwJSA0MDBweDtcclxuXHJcblx0Ji10aXRsZSB7XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS0zO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDMwcHgpOyAgIFxyXG5cdH1cclxuXHJcblx0LmJ0biB7XHJcblx0XHRmbG9hdDpyaWdodDtcclxuXHRcdG1hcmdpbjowO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdGJvcmRlcjoycHggc29saWQgI2ZmZjtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNnB4KTsgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTsgIFxyXG5cdH0gXHJcblxyXG5cdCYtd3JhcCB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuIFx0XHRjb2xvcjojZmZmO1xyXG4gXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG4gXHRcdHdpZHRoOiAxMDAlO1xyXG4gXHRcdHBhZGRpbmctdG9wOiRibG9jay1zbS1wYWRkaW5nO1xyXG4gXHRcdHBhZGRpbmctYm90dG9tOiAkYmxvY2stc20tcGFkZGluZztcclxuIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiBcdFx0QGluY2x1ZGUgY2xlYXJmaXg7IFxyXG5cclxuIFx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG5cdFx0XHRAaW5jbHVkZSBibG9ja1BhZGRpbmc7ICBcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7XHJcblx0XHRcdC5sb2NhdGlvbnMtZm9ybSxcclxuXHRcdFx0LmxvY2F0aW9ucy1lbnF1aXJ5IHtcclxuXHRcdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcdHdpZHRoOjYwJTtcclxuXHRcdFx0XHRtYXJnaW46MDtcclxuXHRcdFx0XHRtYXgtd2lkdGg6NDUwcHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5sb2NhdGlvbnMtZW5xdWlyeSB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdHdpZHRoOjQwJTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ0biB7XHJcblx0XHRcdFx0d2lkdGg6YXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gXHR9XHRcclxufVxyXG5cclxuLmxvY2F0aW9ucy1mb3JtIHtcclxuXHRjb2xvcjojZmZmO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogJGNvbG91ci1waW5rO1xyXG5cdG1hcmdpbi1ib3R0b206ICRibG9jay1zbS1wYWRkaW5nO1xyXG5cclxuXHQmLWxhYmVsIHtcdFx0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTsgIFxyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwgMTVweCwgMTVweCwgMCwgMCk7ICBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5mb3JtLXNlbGVjdCB7XHJcblx0XHRjb2xvcjogJGNvbG91ci1waW5rO1x0XHRcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNnB4LDE1cHgpO1xyXG5cclxuXHRcdHNlbGVjdCB7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE2cHgpOyAgXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyogR09PR0xFIG1hcCAqL1xyXG4ubG9jYXRpb25zLW1hcCB7XHJcblx0Y2xlYXI6IGJvdGg7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdGltZyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyogTG9jYXRpb24gRGV0YWlscyAqL1xyXG4ubG9jYXRpb25EZXRhaWxzIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHR3aWR0aDoxMDAlO1xyXG5cdHBhZGRpbmctdG9wOjAhaW1wb3J0YW50O1xyXG5cdHBhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50O1xyXG5cclxuXHQmLXRpdGxlIHtcclxuXHRcdGNvbG9yOiRjb2xvdXItcGluaztcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRAaW5jbHVkZSBmb250U2l6ZS0yO1xyXG5cdH0gXHJcbn1cclxuXHJcblxyXG4vKiBsb2NhdGlvbiBDSU1BIGxhYmVsICovXHJcbi5sb2NhdGlvbkxhYmVsIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtO1xyXG5cclxuXHRzcGFuIHtcclxuXHRcdGNvbG9yOiNmZmY7XHJcblx0XHRsaW5lLWhlaWdodDoxLjI7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHBhZGRpbmc6IDAgMTBweDtcclxuXHRcdGJvcmRlci1sZWZ0OjJweDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpOyAgXHJcblx0fVxyXG5cclxuXHRpbWcge1xyXG5cdFx0Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZmZmO1xyXG5cdH1cdFxyXG59XHJcblxyXG4vKiBsb2NhdGlvbiBhZGRyZXNzICBhbmQgc2VydmljZXMgKi9cclxuLmxvY2F0aW9uRGV0YWlscy1jb250YWluZXIge1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTVweCk7ICBcclxuXHJcblx0aDMge1xyXG5cdFx0Y29sb3I6JGNvbG91ci1waW5rO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDEwcHgpOyBcclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTVweCk7ICBcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdGNvbG9yOiRjb2xvdXItcGluaztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vbGF5b3V0IGNvbHVtbnNcclxuXHQubG9jYXRpb25EZXRhaWxzIHtcdFxyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG5cdFx0Ji1jb2wyIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDMwcHgpOyAgXHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDokYnAtdGFibGV0LXgtc21hbGwpIGFuZCAobWF4LXdpZHRoOiAkYnAtdGFibGV0LWRvd24pIHtcclxuXHRcdFx0Ji1jb2wxLFxyXG5cdFx0XHQmLWNvbDIge1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHRcdFx0d2lkdGg6IDQ1JTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6NSU7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji1jb2wzIHtcclxuXHRcdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdFx0fVx0XHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDokYnAtdGFibGV0KSB7XHJcblx0XHRcdCYtY29sMSxcclxuXHRcdFx0Ji1jb2wyLFxyXG5cdFx0XHQmLWNvbDMge1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0XHQmLWNvbDEge1xyXG5cdFx0XHRcdHdpZHRoOjMwJTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDUlO1x0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdFx0Ji1jb2wyIHtcclxuXHRcdFx0XHR3aWR0aDogMjUlO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTAlXHJcblx0XHRcdH1cclxuXHRcdFx0Ji1jb2wzIHtcclxuXHRcdFx0XHR3aWR0aDogMzAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcbiAgICAubG9jYXRpb25ze1xyXG4gICAgICAgICYtd3JhcCAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5zcGVha2VyQmxvY2sge1xyXG4gICAgY2xlYXI6Ym90aDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZjsgICAgXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgICYtd3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1icm93bjsgLy9kZWZhdWx0XHJcbiAgICAgICAgY29sb3I6I2ZmZjsgICAgICAgXHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2tQYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgICYtZmlndXJlIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTUwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgJGJsb2NrLXNtLXBhZGRpbmcgJGJsb2NrLXNtLXBhZGRpbmcgMDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgJGJsb2NrLWxnLXBhZGRpbmcgJGJsb2NrLWxnLXBhZGRpbmcgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9IFxyXG4gIFxyXG5cclxuICAgICYtdGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTQ7IFxyXG4gICAgfVxyXG5cclxuICAgICYtdmlkZW8tdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRibG9jay1zbS1wYWRkaW5nO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyLXBpbms7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtNTtcclxuICAgICAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIC8qIExheW91dCAqLyAgICBcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQteC1zbWFsbCkge1xyXG4gICAgICAgICYtZmlndXJlLFxyXG4gICAgICAgICYtY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubC1yb3ctMTAwICYgeyBcclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG4gICAgICAgICAgICAmLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjYwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gICAgXHJcbn1cclxuIFxyXG4gXHJcbi8qIFdpdGggdmlkZW8gKi9cclxuXHJcbi5zcGVha2VyQmxvY2tfdmlkZW8ge1xyXG5cclxuICAgIC5sLXJvdy0xMDAgJiB7XHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC1zbWFsbCkge1xyXG4gICAgICAgICAgICAuc3BlYWtlckJsb2NrLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MjAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNwZWFrZXJCbG9jay12aWRlbyB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0yMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjcwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkge1xyXG4gICAgICAgICAgICAuc3BlYWtlckJsb2NrLXdyYXAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NjAlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiRibG9jay1sZy1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zcGVha2VyQmxvY2stc3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNwZWFrZXJCbG9jay12aWRlbyB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjo0MHB4IDAgMCAtMTAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcblxyXG4gICAgLmwtY29sLTYwICYge1xyXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuICAgICAgICAgICAgLnNwZWFrZXJCbG9jay13cmFwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOjIwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zcGVha2VyQmxvY2stdmlkZW8ge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDo3MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTYlO1xyXG5cclxuICAgICAgICAgICAgLnNwZWFrZXJCbG9jay13cmFwIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTYlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zcGVha2VyQmxvY2stdmlkZW8ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ODYlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG4gICAgLnNwZWFrZXJCbG9jayB7XHJcbiAgICAgICAgJi12aWRlbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIubGlzdGluZyB7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiAkdGhlbWUtcGluaztcclxuICAgIH1cclxufVxyXG5cclxuLmxpc3RpbmdCbG9jayB7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcbiAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpOyBcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIH1cclxuXHJcbiAgICAmLWRhdGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDEwcHgpOyBcclxuICAgIH1cclxuXHJcbiAgICAmLXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogJHRoZW1lLXBpbms7XHJcbiAgICAgICAgQGluY2x1ZGUgZm9udFNpemUtNDtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLXJpZ2h0LCA1MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmLXR5cGUge1xyXG4gICAgICAgIGNvbG9yOiAkdGhlbWUtcGluaztcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDEycHgpOyBcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTBweCk7IFxyXG4gICAgfVxyXG5cclxuICAgICYtZGV0YWlscyB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDEwcHgpOyBcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICAgICBAaW5jbHVkZSBsaXN0QmFyZTtcclxuXHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi10aXRsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICB3aWR0aDogMzglO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC1zbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi10aXRsZSxcclxuICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDAsMTBweCwxMHB4LDApOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1maWd1cmUge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtY29udGVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0aGVtZS1ibHVlLXRpbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYmxvY2tQYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgICYtc3BvbnNvciB7XHJcbiAgICAgICAgY2xlYXI6Ym90aDtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDVweCwxMHB4LDVweCwwKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDAsMTBweCw1cHgsMCk7IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudG90YWxQcmljZSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICBjb2xvcjogJGNvbG91ci1waW5rO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIGxheW91dCB3aXRoIGltYWdlICovXHJcbi5sLXJvdy0xMDAgLmxpc3RpbmdCbG9jay5saXN0aW5nQmxvY2tfaW1hZ2Uge1xyXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDokYnAtdGFibGV0KSB7XHJcblxyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG5cclxuICAgICAgICAubGlzdGluZ0Jsb2NrLWZpZ3VyZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OjA7XHJcbiAgICAgICAgICAgIHRvcDowOyBcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMtcGVyY2VudCgzNTBweCwgOTM1cHgpOyAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxpc3RpbmdCbG9jay1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjLXBlcmNlbnQoMjkwcHgsIDkzNXB4KTsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogbGF5b3V0IHdpdGggaW1hZ2UgKi9cclxuLmwtY29sLTYwIC5saXN0aW5nQmxvY2subGlzdGluZ0Jsb2NrX2ltYWdlIHtcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6JGJwLWRlc2t0b3ApIHtcclxuXHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgIC5saXN0aW5nQmxvY2stZmlndXJlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgdG9wOjA7IFxyXG4gICAgICAgICAgICB3aWR0aDogY2FsYy1wZXJjZW50KDMwMHB4LCA2MTVweCk7ICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubGlzdGluZ0Jsb2NrLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMtcGVyY2VudCgyMTVweCwgNjE1cHgpOyAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIGxhYmVsIChwaW5rL2JsdWUpICovXHJcbi5saXN0aW5nQmxvY2stbGFiZWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOjA7XHJcbiAgICByaWdodDowO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlci1jb2xvcjogJHRoZW1lLXBpbmsgJHRoZW1lLXBpbmsgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiA1NXB4O1xyXG4gICAgei1pbmRleDogMTsgXHJcblxyXG4gICAgc3BhbiB7ICAgIFxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6LTQ1cHg7XHJcbiAgICAgICAgcmlnaHQ6LTQ1cHg7ICAgIFxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOjUwcHg7XHJcbiAgICAgICAgaGVpZ2h0OjExMHB4O1xyXG4gICAgICAgIGNvbG9yOiNmZmY7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7ICBcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDEycHgpOyAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi50aGVtZV9ibHVlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZS1ibHVlICR0aGVtZS1ibHVlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIHRoZW1lcyAqL1xyXG4ubGlzdGluZ0Jsb2NrOm50aC1vZi10eXBlKG9kZCkge1xyXG5cclxuICAgIC5saXN0aW5nQmxvY2stY29udGVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRoZW1lLWJyb3duLXRpbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcbiAgICAubGlzdGluZ0Jsb2NrIHtcclxuXHJcbiAgICAgICAgbWFyZ2luOjA7XHJcblxyXG4gICAgICAgIFtjbGFzc149J2J0biddLFxyXG4gICAgICAgIC5jdGEsXHJcbiAgICAgICAgJi1maWd1cmUsXHJcbiAgICAgICAgJi1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWRldGFpbHMge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOjA7XHJcblxyXG4gICAgICAgICAgICAmLXRpdGxlLFxyXG4gICAgICAgICAgICAmLXRleHQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDAsMjBweCw1cHgsMCk7IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOjIwcHggMCAwOyAgICAgICAgXHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6MXB4IHNvbGlkICNjY2M7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSIsIi5wYWdpbmF0aW9uIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTtcclxuXHRAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcblx0Ji1saXN0IHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cclxuXHQmLWl0ZW0ge1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xyXG5cdFx0ZmxvYXQ6bGVmdDtcdFx0XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldCkge1xyXG5cdFx0XHRmbG9hdDpub25lO1xyXG5cdFx0XHRtYXJnaW46MDtcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4sIDAsMTBweCk7XHJcblx0fVxyXG5cclxuXHQmLWxpbmsge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDEwcHgsMTNweCk7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cdFx0Jjpob3ZlcixcclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRcdH1cclxuXHJcblx0XHQmX2N1cnJlbnQge1xyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1waW5rO1xyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtYnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRleHQtaW5kZW50OiAtOTk5ZW07XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiAxNXB4O1xyXG5cdFx0aGVpZ2h0OjE1cHg7XHRcclxuXHRcdG1hcmdpbjogMCAxMHB4O1xyXG5cclxuXHRcdCRzcHJpdGU6ICRhcnJvdy1waW5rLXJpZ2h0OyBcclxuXHQgICAgJHBzZXVkbzoocG9zaXRpb246ICdhZnRlcicsIHJpZ2h0OiAwLCB0b3A6IDNweCApO1xyXG5cdCAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuXHR9XHJcblxyXG5cdCYtYnV0dG9uX3ByZXYge1xyXG5cdFx0JHNwcml0ZTogJGFycm93LXBpbmstbGVmdDsgXHJcblx0ICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMCwgdG9wOiAzcHggKTsgXHJcblx0ICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcbiAgICAucGFnaW5hdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufSIsIu+7vy5kcm9wZG93bntcclxuICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgei1pbmRleDoxMTAwO1xyXG4gICAgdG9wOjEwMCU7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICBoZWlnaHQ6MDtcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxuXHJcbiAgICAmX29wZW57XHJcbiAgICAgICAgLm5vanMgJixcclxuICAgICAgICAudS1uY0RlbGF5ICZ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzp2aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX29wZW5pbmd7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX2Nsb3Npbmd7XHJcbiAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX2hlYWRlcntcclxuICAgICAgICBiYWNrZ3JvdW5kOiRjb2xvdXItZ3JleTA2O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAmLWl0ZW1ze1xyXG4gICAgICAgICZfaGVhZGVye1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVsaXN0QmFyZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTozcHggc29saWQgJHRoZW1lLXBpbms7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MTVweDtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjozcHggc29saWQgJHRoZW1lLXBpbms7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1pdGVtLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGxpbmtCYXJlO1xyXG4gICAgfVxyXG5cclxuICAgICZfc2VhcmNoe1xyXG4gICAgICAgIGhlaWdodDphdXRvO1xyXG4gICAgICAgIHdpZHRoOjA7XHJcbiAgICAgICAgdG9wOjA7XHJcbiAgICAgICAgbGVmdDphdXRvO1xyXG4gICAgICAgIHJpZ2h0OjA7XHJcblxyXG4gICAgICAgICYuZHJvcGRvd25fb3BlbntcclxuICAgICAgICAgICAgd2lkdGg6YXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9pblBhZ2V7XHJcbiAgICAgICAgcG9zaXRpb246c3RhdGljO1xyXG4gICAgICAgIHotaW5kZXg6YXV0bztcclxuICAgICAgICB0b3A6YXV0bztcclxuICAgICAgICBsZWZ0OmF1dG87XHJcbiAgICAgICAgcmlnaHQ6YXV0bztcclxuICAgIH1cclxufSIsIu+7vy5oZ3JvdXB7XHJcbiAgICBAZXh0ZW5kICV1LWNsZWFyZml4O1xyXG5cclxuICAgICYtc3RhcnR7XHJcbiAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAmLWVuZHtcclxuICAgICAgICBmbG9hdDpyaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAmX21vYmlsZUhlYWRlcntcclxuICAgICAgICBtYXJnaW46MCAxNXB4IDE1cHg7XHJcbiAgICB9XHJcbn0iLCJcclxuLyogbG9naW4gcGFuZWwgKi9cclxuXHJcbi5sb2dpbkRyb3Bkb3duIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRib3JkZXItYm90dG9tOjNweCBzb2xpZCAkY29sb3VyLXBpbms7XHJcblx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgpO1xyXG5cclxuXHJcblx0Ji1oZWFkZXIge1x0XHQgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTsgXHJcblx0fVxyXG5cclxuXHQmLWZvcm0ge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1heC13aWR0aCwgMzUwcHgpO1xyXG5cdH1cclxuXHJcblx0Ji1maWVsZCB7XHJcblx0XHRjbGVhcjpib3RoO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG5cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgM3B4KTtcclxuXHRcdH0gXHJcblxyXG5cdFx0LnRleHRib3gge1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyLWdyZXkwMztcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTZweCk7IFxyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgM3B4LDEwcHgpOyBcclxuXHRcdH1cclxuXHJcblx0XHQudmFsaWRhdG9yIHtcclxuXHRcdFx0Y29sb3I6JGNvbG9yLWVycm9yO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTRweCk7IFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1yZW1lbWJlciB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGNsZWFyOmJvdGg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDEwcHggKTtcclxuXHJcblx0XHRpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuXHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbiwgM3B4LDEwcHgsMCwwKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYtbGluayB7XHJcblx0XHRAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHRcdC8vQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTZweCk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyogbGFyZ2Ugc2NyZWVucyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0KSB7XHRcclxuXHQjbG9naW5Ecm9wZG93biB7XHJcblx0XHR3aWR0aDogMzMwcHg7XHJcblx0XHRyaWdodDowO1xyXG5cdFx0bGVmdDphdXRvO1x0XHRcclxuXHR9XHJcblxyXG5cdC5sb2dpbkRyb3Bkb3duIHtcclxuXHRcdHBhZGRpbmc6MDtcclxuXHRcdGJvcmRlcjozcHggc29saWQgJGNvbG91ci1waW5rO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTVweCk7IFxyXG5cclxuXHRcdCYtaGVhZGVyIHtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdFx0bWFyZ2luOjA7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDEwcHgsMTVweCk7IFxyXG5cdFx0fVxyXG5cdFx0Ji1mb3JtIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNnB4KTsgXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbiIsIlxyXG4vKiBnZW5lcmljIHRhYmxlIHN0eWxlICovXHJcbiBcclxuXHJcbi53eXNpd3lnIHRhYmxlLFxyXG4ubWNlQ29udGVudEJvZHkgdGFibGUge1xyXG5cclxuXHR3aWR0aDoxMDAlO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgXHRcclxuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpO1xyXG4gICAgQGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdGNhcHRpb24ge1xyXG5cdCAgICBAZXh0ZW5kIC51LW9mZnNjcmVlbjtcclxuXHR9XHJcblxyXG5cdHRoLCB0ZCB7XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1x0XHJcblx0XHR0ZXh0LWFsaWduOmxlZnQ7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZmZmO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNmZmY7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDEwcHgpO1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdEBpbmNsdWRlIGxpbmtCYXJlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dGQge1x0XHRcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2OyBcclxuXHR9XHJcblxyXG5cdHRoIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA0OyBcclxuXHR9XHJcblxyXG5cdHRoOmVtcHR5IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0dGQ6Zmlyc3QtY2hpbGQsXHJcblx0dGg6Zmlyc3QtY2hpbGQgIHtcclxuXHRcdGJvcmRlci1sZWZ0Om5vbmU7IFxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyogQ29sb3VyZWQgdGFibGUgKE9iamVjdGl2ZXMpICovXHJcbnRhYmxlLnRhYmxlQ29sb3VyZWQge1xyXG5cclxuXHR3aWR0aDoxMDAlO1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgXHRcclxuICAgIEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpO1xyXG5cclxuXHRjYXB0aW9uIHtcclxuXHQgICAgQGV4dGVuZCAudS1vZmZzY3JlZW47XHJcblx0fVxyXG5cclxuXHR0aCwgdGQge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZmZmO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAyMHB4LCAxNXB4KTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRyOmxhc3QtY2hpbGQgdGQge1xyXG5cdFx0Ym9yZGVyOm5vbmU7XHJcblx0fVxyXG5cclxuXHR0ciB7XHJcblx0XHR0ZDpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdHRkOm50aC1jaGlsZCgyKSxcclxuXHRcdHRkOm50aC1jaGlsZCg1KSxcclxuXHRcdHRkOm50aC1jaGlsZCg4KSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZDpudGgtY2hpbGQoMyksXHJcblx0XHR0ZDpudGgtY2hpbGQoNiksXHJcblx0XHR0ZDpudGgtY2hpbGQoOSkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbmstbGlnaHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0dGQ6bnRoLWNoaWxkKDQpLFxyXG5cdFx0dGQ6bnRoLWNoaWxkKDcpLFxyXG5cdFx0dGQ6bnRoLWNoaWxkKDEwKSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JlZW47XHJcblx0XHR9XHJcblx0fSBcclxufVxyXG4vKiBvbGQgSUVzICovXHJcbi5sdC1pZTkgdGFibGUudGFibGVDb2xvdXJlZCB7XHJcblx0dGgsIHRkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTtcclxuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcclxuXHR9XHJcblxyXG5cdHRyIHRkOmZpcnN0LWNoaWxkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyogQ29sb3VyZWQgdGFibGUgKE9iamVjdGl2ZXMpICovXHJcbnRhYmxlLnRhYmxlUGx1bSB7XHJcblxyXG5cdHdpZHRoOjEwMCU7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyBcdFxyXG4gICAgQGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTVweCk7XHJcblxyXG5cdGNhcHRpb24ge1xyXG5cdCAgICBAZXh0ZW5kIC51LW9mZnNjcmVlbjtcclxuXHR9XHJcblxyXG5cdHRoLCB0ZCB7XHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdFx0Ym9yZGVyOm5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZmZmO1xyXG5cdFx0Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNmZmY7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAyMHB4LCAxNXB4KTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHRoIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtLWxpZ2h0O1xyXG5cdH1cclxuXHJcblx0dHIgdGQ6Zmlyc3QtY2hpbGQgIHtcclxuXHRcdGJvcmRlci1sZWZ0Om5vbmU7XHJcblx0fSBcclxufVxyXG5cclxuXHJcbnRhYmxlLmF0dGVuZGVlcyB7IFxyXG5cclxuXHR0aCB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcdFx0XHJcblx0fSBcclxuXHJcblx0dGg6ZW1wdHkge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDQ7IFxyXG5cdH1cclxuXHJcblx0Lmljb24tZWRpdCxcclxuXHQuaWNvbi1kZWxldGUge1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1sZWZ0LCAyNXB4KTtcclxuXHR9XHJcblxyXG5cdC5pY29uLWVkaXQge1xyXG5cdFx0JHNwcml0ZTogJGljb24tZWRpdC1waW5rOyBcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2JlZm9yZScsIGxlZnQ6IDAsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi04cHgsIHotaW5kZXg6MSApO1xyXG4gICAgICAgIEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uLWRlbGV0ZSB7XHJcblx0XHQkc3ByaXRlOiAkY3Jvc3MtcGluazsgXHJcbiAgICAgICAgJHBzZXVkbzoocG9zaXRpb246ICdiZWZvcmUnLCBsZWZ0OiAwLCB0b3A6IDUwJSwgbWFyZ2luLXRvcDotOHB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiBcclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuICAgIHRhYmxlIHtcclxuICAgICAgICB0aCwgdGQgeyBcclxuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjY2NjIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IWltcG9ydGFudDtcclxuICAgICAgICAgICAgY29sb3I6IzAwMCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOmF1dG8haW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICBUQUJMRVM6IFJlc3BvbnNpdmUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5cclxuLypcclxuICAgIDIuIE1PQklMRSAoc2Nyb2xsIHRvIHRoZSByaWdodClcclxuICAgIFRoZSB1c2VyIGNhbiBzd2lwZSByaWdodCBhbmQgbGVmdCB0byBob3Jpem9udGFsIHNjcm9sbCB0aGUgdGFibGUuXHJcbiovXHJcblxyXG4ucmVzcFRibE91dGVyV3JhcHtcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRtYXJnaW4tYm90dG9tOiRiYXNlLXNwYWNpbmctdW5pdDtcclxuXHJcblx0dGFibGUge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi5yZXNwVGJsSW5uZXJXcmFwe1xyXG5cdG92ZXJmbG93LXg6YXV0bztcclxuXHRkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICBcclxufVxyXG5cclxuXHJcbi5yZXNwVGJsSW5uZXJXcmFwLXNjcm9sbHtcclxuXHRwYWRkaW5nLWJvdHRvbToxMHB4O1xyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAxMDI1cHggKSB7XHJcblx0XHRwYWRkaW5nOjEwcHggMCA1M3B4IDA7XHJcblx0XHRtYXJnaW46MDtcclxuXHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDonJztcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdGJvdHRvbToyNXB4O1xyXG5cdFx0XHRyaWdodDowO1xyXG5cdFx0XHR3aWR0aDogJGljb24tc2Nyb2xsLXRhYmxlLXdpZHRoO1xyXG5cdFx0XHRoZWlnaHQ6ICRpY29uLXNjcm9sbC10YWJsZS1oZWlnaHQ7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3ZnL2ljb24tc2Nyb2xsLXRhYmxlLnN2Zykgbm8tcmVwZWF0IDAgMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHQgIiwiLmV2ZW50U2VhcmNoQmxvY2sge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0QGluY2x1ZGUgYmxvY2tQYWRkaW5nO1x0XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47ICBcclxuXHJcblx0LmZvcm0tcm93IHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAyMHB4KTtcclxuXHR9XHJcblxyXG5cdGxhYmVsLFxyXG5cdGxlZ2VuZCB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE2cHgpO1xyXG5cdH1cclxuXHJcblx0Ji1yZXN1bHRzIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0ZGlzcGxheTp0YWJsZTtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0XHRwYWRkaW5nOiAxNXB4IWltcG9ydGFudDtcdFx0XHJcblx0XHRcclxuXHRcdCYtbm9uZSB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMjJweCk7IFxyXG5cdFx0fVxyXG5cclxuXHRcdCYtc3RhdHMge1xyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDEwcHgpO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb3JtLXJvdyB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLXRhYmxldC1zbWFsbCkge1xyXG5cclxuXHRcdFx0Ji1zdGF0cyB7XHJcblx0XHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctYm90dG9tLCAxMHB4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji1zdGF0cyxcclxuXHRcdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbiBcclxuXHJcblx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDokYnAtdGFibGV0LXNtYWxsKSBhbmQgKG1heC13aWR0aDogJGJwLWRlc2t0b3AtZG93bikge1xyXG5cclxuXHRcdCYuZXZlbnRTZWFyY2hCbG9ja18zY29scyxcclxuXHRcdCYuZXZlbnRTZWFyY2hCbG9ja180Y29scyB7XHJcblxyXG5cdFx0XHQuZm9ybS1yb3cge1xyXG5cdFx0XHRcdGNsZWFyOm5vbmU7XHJcblx0XHRcdFx0ZmxvYXQ6bGVmdDtcclxuXHRcdFx0XHR3aWR0aDo0NiU7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyJTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMiU7XHJcblxyXG5cdFx0XHRcdCY6bnRoLW9mLXR5cGUoMm4gKyAxKSB7XHJcblx0XHRcdCAgICAgICAgLy9jbGVhcjpib3RoO1xyXG5cdFx0XHQgICAgICAgIC8vbWFyZ2luLWxlZnQ6MDtcclxuXHRcdFx0ICAgIH0gXHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5idG4ge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6MS41ZW07XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyJTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHJcblx0XHQmLmV2ZW50U2VhcmNoQmxvY2tfM2NvbHMge1xyXG5cclxuXHRcdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0XHRjbGVhcjpub25lO1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHRcdFx0d2lkdGg6MzIlO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyJTtcclxuXHJcblx0XHRcdFx0JjpudGgtb2YtdHlwZSgzbiArIDEpIHtcclxuXHRcdFx0ICAgICAgICBjbGVhcjpib3RoO1xyXG5cdFx0XHQgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcblx0XHRcdCAgICB9IFxyXG5cclxuXHRcdFx0ICAgIC5sdC1pZTkgJiB7XHJcblx0XHRcdCAgICBcdHdpZHRoOjMxJTtcclxuXHRcdFx0ICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuZXZlbnRTZWFyY2hCbG9ja180Y29scyB7XHJcblxyXG5cdFx0XHRtYXJnaW4tdG9wOiAtNDBweDtcclxuXHJcblx0XHRcdC5mb3JtLXJvdyB7XHJcblx0XHRcdFx0Y2xlYXI6bm9uZTtcclxuXHRcdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcdHdpZHRoOjIzJTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMi41JTtcclxuXHJcblx0XHRcdFx0JjpudGgtb2YtdHlwZSg0biArIDEpIHtcclxuXHRcdFx0ICAgICAgICBjbGVhcjpib3RoO1xyXG5cdFx0XHQgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcblx0XHRcdCAgICB9IFxyXG5cclxuXHRcdFx0ICAgIC5sdC1pZTkgJiB7XHJcblx0XHRcdCAgICBcdG1hcmdpbi1sZWZ0OiAxLjUlO1xyXG5cdFx0XHQgICAgfVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubC1yb3ctMTAwIC5sLWNvbnRlbnRfaW5kZW50ICYge1xyXG5cdFx0XHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTEyLjUlO1xyXG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAtMTIuNSU7XHJcblxyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMi41JTtcclxuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJ0biB7XHJcblx0XHRmbG9hdDpyaWdodDtcclxuXHRcdG1hcmdpbjowO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuXHQuZXZlbnRTZWFyY2hCbG9jayAge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufVxyXG4iLCIubGlua1RhYnMge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdCYtbmF2IHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0QGluY2x1ZGUgbGlzdEJhcmU7XHJcblx0fVxyXG5cclxuXHQmLWl0ZW0ge1x0XHRcclxuXHRcdEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXItZ3JleTA0O1x0XHJcblxyXG5cdFx0QG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJwLXRhYmxldC1zbWFsbC1kb3duKSB7XHRcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXItZ3JleTA0O1x0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX2FjdGl2ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdC5saW5rVGFicy1saW5rIHtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91ci1waW5rO1x0XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIsXHJcblx0XHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG91ci1waW5rO1x0XHJcblx0XHRcdFx0fVx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvdXItZ3JleTA0O1xyXG5cclxuXHRcdFx0Jl9hY3RpdmUge1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG91ci1ncmV5MDQ7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpmaXJzdC1jaGlsZC5saW5rVGFicy1pdGVtX2FjdGl2ZSB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG4gXHJcblxyXG5cdCYtbGluayB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcdFxyXG5cdFx0Y29sb3I6ICRjb2xvdXItZ3JleTAyO1x0XHJcblx0XHRAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpO1x0XHRcclxuXHJcblx0XHQmOmhvdmVyLFxyXG5cdFx0Jjpmb2N1cyB7XHJcblx0XHRcdGNvbG9yOiRjb2xvdXItZ3JleTAyO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1heC13aWR0aCwgMTkwcHgpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7IFxyXG5cdC5saW5rVGFicyB7XHJcblx0XHRkaXNwbGF5Om5vbmU7XHJcblx0fVxyXG59IiwiLnN5bGxhYnVzIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDsgXHJcblxyXG5cdCYtaGVhZGVyIHsgXHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0Y29sb3I6JGNvbG91ci1icm93biFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTsgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDIwcHgpOyBcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAyMHB4KTsgXHJcblx0fVxyXG5cclxuXHQmLWxldmVsLXRpdGxlIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cclxuXHQubGVhZFRpdGxlX3Bpbmsge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0cGFkZGluZzogMjBweCAkYmxvY2stc20tcGFkZGluZztcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpOyBcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxNXB4KTsgXHJcblx0fVxyXG5cclxuXHQmLWxldmVsIHtcclxuXHRcdGNsZWFyOmJvdGg7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDMwcHgpOyBcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAzMHB4KTsgXHJcblxyXG5cdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTpub25lO1xyXG5cdFx0XHRwYWRkaW5nOjA7XHJcblx0XHRcdG1hcmdpbjowO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG4uc3lsbGFidXMtdGFicyB7XHJcblx0Y2xlYXI6Ym90aDtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHR0YWJsZS1sYXlvdXQ6Zml4ZWQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0bWFyZ2luOjAhaW1wb3J0YW50O1xyXG5cdEBleHRlbmQgJWxpc3RCYXJlO1xyXG5cclxuXHQmLWl0ZW0ge1xyXG5cdFx0Y29sb3I6I2ZmZjtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgM3B4KTsgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMjBweCk7IFxyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTVweCk7IFxyXG5cclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQmX3BsdW0gXHRcdFx0eyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07IH1cclxuXHRcdCZfcGlua19saWdodFx0eyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbmstbGlnaHQ7IH1cclxuXHRcdCZfZ3JlZW4gXHRcdHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmVlbjsgfVxyXG5cdFx0Jl9icm93bl9saWdodFx0eyBcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1icm93bi1saWdodGVyOyBcclxuXHRcdFx0Y29sb3I6ICRiYXNlLXRleHQtY29sb3I7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxMnB4KTsgXHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpOyBcclxuXHJcblx0XHRcdHN0cm9uZyB7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRjb2xvcjokYmFzZS10ZXh0LWNvbG9yO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHRcdFx0ZGlzcGxheTp0YWJsZS1jZWxsO1xyXG5cdFx0XHRib3JkZXItbGVmdDozcHggc29saWQgJGNvbG91ci1ncmV5MDY7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCA0MHB4LCAyMHB4LCAzMHB4LCAyMHB4KTtcclxuXHJcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0Om5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCZfYnJvd25fbGlnaHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNXB4LCA1cHgpOyBcclxuXHRcdFx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxMnB4KTsgXHJcblxyXG5cdFx0XHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgsIDJweCk7IFxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTFweCk7IFxyXG5cdFx0XHRcdH1cdFx0IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG59XHJcblxyXG4vKiBhZGQgdGhlIHRyaWFuZ2xlIHNoYXBlICovXHJcbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHQuc3lsbGFidXMtdGFicy10cmlhbmdsZSB7XHJcblxyXG5cdFx0cGFkZGluZy10b3A6IDQwcHg7XHRcclxuXHQgXHRvdmVyZmxvdzpoaWRkZW47XHJcblxyXG5cdFx0LnN5bGxhYnVzLXRhYnMtaXRlbSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0cGFkZGluZy10b3A6IDYwcHg7XHRcdFxyXG5cclxuXHRcdFx0LnN5bGxhYnVzLXRyaWFuZ2xlIHtcclxuXHRcdFx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6LTQwcHg7XHJcblx0XHRcdFx0bGVmdDowO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6NTAlO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1MCU7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHRcdFx0Lm5pYiB7XHJcblx0XHRcdFx0XHR3aWR0aDogMDtcclxuXHRcdFx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0Oi0xMDBweDtcclxuXHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAxMDBweCBzb2xpZCAkY29sb3VyLWdyZXkwNjtcclxuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMTAwcHggc29saWQgJGNvbG91ci1ncmV5MDY7XHJcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxMDBweCBzb2xpZCByZWQ7XHJcblx0IFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLnN5bGxhYnVzLXRhYnMtaXRlbV9wbHVtIC5uaWIge1xyXG5cdFx0XHRcdCBib3JkZXItYm90dG9tOiAxMDBweCBzb2xpZCAkY29sb3VyLXBsdW07XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5zeWxsYWJ1cy10YWJzLWl0ZW1fcGlua19saWdodCAubmliIHtcclxuXHRcdFx0XHQgYm9yZGVyLWJvdHRvbTogMTAwcHggc29saWQgJGNvbG91ci1waW5rLWxpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuc3lsbGFidXMtdGFicy1pdGVtX2dyZWVuIC5uaWIge1xyXG5cdFx0XHRcdCBib3JkZXItYm90dG9tOiAxMDBweCBzb2xpZCAkY29sb3VyLWdyZWVuO1xyXG5cdFx0XHR9XHJcblx0XHRcdCYuc3lsbGFidXMtdGFicy1pdGVtX2Jyb3duX2xpZ2h0IHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMjBweDtcdFxyXG5cdFx0XHRcdC5uaWIge1xyXG5cdFx0XHRcdFx0IGJvcmRlci1ib3R0b206IDEwMHB4IHNvbGlkICRjb2xvdXItYnJvd24tbGlnaHRlcjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0gXHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi5zeWxsYWJ1cy1hd2FyZHMge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNXB4KTsgXHJcblx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi10b3AsIC0xMnB4KTsgXHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItYmx1ZS1saWdodDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLnN5bGxhYnVzLWluZGV4IHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG5cdHRhYmxlLWxheW91dDogZml4ZWQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0bWFyZ2luOjE1cHggMCAwIDAhaW1wb3J0YW50O1xyXG5cdEBleHRlbmQgJWxpc3RCYXJlO1xyXG5cclxuXHQmLWl0ZW0ge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNztcclxuXHJcblx0XHQmX3BsdW0gXHRcdFx0eyBjb2xvcjogJGNvbG91ci1wbHVtOyB9XHJcblx0XHQmX3BpbmtfbGlnaHRcdHsgY29sb3I6ICRjb2xvdXItcGluay1saWdodDsgfVxyXG5cdFx0Jl9ncmVlbiBcdFx0eyBjb2xvcjogJGNvbG91ci1ncmVlbjsgfVxyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHRcdFx0ZGlzcGxheTp0YWJsZS1jZWxsO1xyXG5cdFx0XHRsaW5lLWhlaWdodDpub3JtYWw7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE1cHgpO1xyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1yaWdodCwgNjBweCk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLnNpdGVTZWFyY2hCbG9jayB7XHJcblx0Y2xlYXI6Ym90aDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRAaW5jbHVkZSBibG9ja1BhZGRpbmc7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHJcblxyXG5cdCYtdGl0bGUgc3BhbiB7XHJcblx0XHRjb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdH1cclxuXHJcblx0Ji1rZXl3b3JkIHtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tdG9wLCAtMTBweCk7XHJcblx0fVxyXG5cclxuXHQuZm9ybS1yb3cge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0bGFiZWwsXHJcblx0bGVnZW5kIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTZweCk7XHJcblx0fVxyXG5cclxuXHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7XHJcblxyXG5cdFx0Ji5zaXRlU2VhcmNoQmxvY2tfMmNvbHMge1xyXG5cclxuXHRcdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0XHRjbGVhcjpub25lO1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHRcdFx0d2lkdGg6NDglO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA0JTtcclxuXHJcblx0XHRcdFx0JjpudGgtb2YtdHlwZSgybiArIDEpIHtcclxuXHRcdFx0ICAgICAgICBjbGVhcjpib3RoO1xyXG5cdFx0XHQgICAgICAgIG1hcmdpbi1sZWZ0OjA7XHJcblx0XHRcdCAgICB9IFxyXG5cclxuXHRcdFx0ICAgIC5sdC1pZTkgJiB7XHJcblx0XHRcdCAgICBcdG1hcmdpbi1sZWZ0OiAyJTtcclxuXHRcdFx0ICAgIH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0gXHJcblxyXG5cdC5idG4ge1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHRmbG9hdDpyaWdodDtcclxuXHRcdG1hcmdpbjoxLjVlbSAwIDAgMDtcclxuXHR9XHJcblxyXG5cdCYubG9naW4ge1xyXG5cdFx0cCB7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAxMHB4KTtcclxuXHRcdH1cclxuXHRcdC5idG4ge1xyXG5cdFx0XHRtYXJnaW4tdG9wOjEwcHghaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9oaWdobGlnaHQge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvdXItcGluaztcclxuXHR9XHJcbn1cclxuXHJcbi5yZXN1bHQtY29udHJ5IHtcclxuXHRtYXJnaW4tdG9wOiAtMTBweDtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7ICBcclxuXHQuc2l0ZVNlYXJjaEJsb2NrLFxyXG5cdC5zZWFyY2hSZXN1bHRzLXN0YXRzIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG59IiwiLnJlc2VhcmNoU2VhcmNoQmxvY2sge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcblx0QGluY2x1ZGUgYmxvY2tQYWRkaW5nO1xyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFxyXG5cclxuXHQmLXRpdGxlIHtcclxuXHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0fVxyXG5cclxuXHQuZm9ybS1yb3cge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0bGFiZWwsXHJcblx0bGVnZW5kIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTZweCk7XHJcblx0fVxyXG5cclxuXHQmLXJlc3VsdHMge1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcclxuXHRcdCYtbm9uZSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDIycHgpOyBcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIHtcclxuXHJcblx0XHQmLnJlc2VhcmNoU2VhcmNoQmxvY2tfM2NvbHMge1xyXG5cclxuXHRcdFx0LmZvcm0tcm93IHtcclxuXHRcdFx0XHRjbGVhcjpub25lO1xyXG5cdFx0XHRcdGZsb2F0OmxlZnQ7XHJcblx0XHRcdFx0d2lkdGg6MzElO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzLjUlO1xyXG5cclxuXHRcdFx0XHQmOm50aC1vZi10eXBlKDNuICsgMSkge1xyXG5cdFx0XHQgICAgICAgIGNsZWFyOmJvdGg7XHJcblx0XHRcdCAgICAgICAgbWFyZ2luLWxlZnQ6MDtcclxuXHRcdFx0ICAgIH0gXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IFxyXG5cclxuXHQuYnRuIHtcclxuXHRcdGNsZWFyOiBib3RoO1xyXG5cdFx0ZmxvYXQ6cmlnaHQ7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLCAxMHB4LCAwLCAwLCAwKTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBQcmludCBDU1NcclxuQG1lZGlhIHByaW50IHtcclxuXHQucmVzZWFyY2hTZWFyY2hCbG9jayAge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufSIsIi5zZWFyY2hSZXN1bHRzLXN0YXRzICB7XHRcclxuXHRcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCk7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblxyXG5cdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdHBhZGRpbmctbGVmdDogJGJsb2NrLWxnLXBhZGRpbmc7XHJcblx0fVxyXG5cclxuXHRzcGFuIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4uc2VhcmNoUmVzdWx0c3tcclxuXHRjbGVhcjpib3RoO1xyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1x0XHJcblx0QGluY2x1ZGUgbGlzdEJhcmU7XHJcblxyXG5cdCYtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMzBweCk7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMCwgMCwgMjVweCwgMjBweCk7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91ci1ncmV5MDM7XHJcblx0fVxyXG5cclxuXHQmLWl0ZW0tdGl0bGUge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCA1cHgpO1xyXG5cdH1cclxuXHJcblx0Ji1pdGVtLWxpbmsge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRAaW5jbHVkZSBsaW5rQmFyZTtcclxuXHJcblx0XHQkc3ByaXRlOiAkYXJyb3ctcGluay1yaWdodDsgXHJcblx0XHQkcHNldWRvOihwb3NpdGlvbjogJ2JlZm9yZScsIGxlZnQ6LTIwcHgsIHRvcDogMnB4KTtcclxuXHRcdEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7IFxyXG5cdH1cclxuXHJcblx0Ji1pdGVtLWRldGFpbHMge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTVweCk7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMTBweCk7XHJcblx0fVxyXG5cclxuXHQmLWl0ZW0tYm9keSB7XHJcblx0XHRtYXJnaW46MDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcblx0LnNlYXJjaFJlc3VsdHN7XHJcblxyXG5cdFx0Ji1pdGVtIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOjIwcHg7XHJcblxyXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdGJvcmRlcjpub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHQiLCIuc2VhcmNoUmVzdWx0c1plYnJhe1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHRcclxuXHRAaW5jbHVkZSBsaXN0QmFyZTtcclxuXHRAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcblx0Ji1pdGVtIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZS10aW50O1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDE1cHgpO1xyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAkYmxvY2stbGctcGFkZGluZztcclxuXHRcdH1cclxuXHJcblx0XHQmOm50aC1vZi10eXBlKGV2ZW4pIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1icm93bi10aW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1saW5rIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0QGluY2x1ZGUgbGlua0JhcmU7XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxOHB4KTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcblx0LnNlYXJjaFJlc3VsdHNaZWJyYSB7XHJcblx0XHQmLWl0ZW0ge1xyXG5cdFx0XHRwYWRkaW5nOjA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1saW5rIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwgMTRweCk7XHJcblx0XHR9XHJcblxyXG5cdH1cdFxyXG59IiwiLnNlYXJjaFJlc3VsdERldGFpbHMge1xyXG4gICAgY2xlYXI6Ym90aDsgIFxyXG4gICAgQGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgICBcclxuICAgICYtaGVhZGVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZjtcclxuICAgICAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIH1cclxuXHJcbiAgICAmLW5hbWUge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTI7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDEwcHgpOyAgXHJcbiAgICB9XHJcblxyXG4gICAgJi1hZGRyZXNzIHtcclxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTQ7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpOyAgXHJcbiAgICB9XHJcblxyXG4gICAgJi1idG4ge1xyXG4gICAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tYm90dG9tLCAwKTsgXHJcblxyXG4gICAgICAgIGFbY2xhc3NePSdidG4nXSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9IFxyXG5cclxuICAgIH1cclxuXHJcbiAgICAvL2NvbHVtbnNcclxuICAgICYtZGV0YWlscyB7XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICBAaW5jbHVkZSBmb250U2l6ZS00OyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1saXN0IHtcclxuICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIGRkLGR0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctbGVmdCwgMTVweCk7ICBcclxuXHJcbiAgICAgICAgICAgICYudGludDEge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ibHVlLXRpbnQ7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICYudGludDIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1icm93bi10aW50O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDdweCk7ICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGR0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctdG9wLCA3cHgpOyAgXHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuICAgICAgICAgICAgJi5maXJzdCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLXRvcCwgNXB4KTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG5cclxuIFxyXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6JGJwLXRhYmxldC14LXNtYWxsKSB7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTBweCwgMCk7ICBcclxuXHJcbiAgICAgICAgICAgIGRkLCBkdCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgN3B4LCA3cHgsIDdweCwgMjBweCk7ICBcclxuXHJcbiAgICAgICAgICAgICAgICAmLmZpcnN0IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLXRvcCwgNXB4KTsgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctdG9wLCAxMHB4KTsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGR0IHtcclxuICAgICAgICAgICAgICAgIGNsZWFyOmJvdGg7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgZGQge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6bGVmdDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjowO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDY1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG4gICAgXHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICAuc2VhcmNoUmVzdWx0RGV0YWlscyB7XHJcblxyXG4gICAgICAgICYtbGlzdCB7XHJcbiAgICAgICAgICAgIGRkLCBkdCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAmLWJ0biB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuYWNjb3VudGFudExpc3Rpbmcge1xyXG5cclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgbGlzdEJhcmU7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgICAmLWl0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWJsdWUtdGludDtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0obWFyZ2luLWJvdHRvbSwgMzBweCk7ICBcclxuICAgICAgICBAaW5jbHVkZSBibG9ja1BhZGRpbmc7ICAgICAgICBcclxuXHJcbiAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYnJvd24tdGludDtcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuXHJcbiAgICAmLW5hbWUsXHJcbiAgICAmLWFkZHJlc3Mge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctYm90dG9tLCAxNXB4KTtcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNnB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmLW5hbWUgeyAgICBcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1ib3R0b20sIDEwcHgpOyAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxOHB4KTtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAuYnRuX3doaXRlIHtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQtc21hbGwpIGFuZCAobWF4LXdpZHRoIDogJGJwLXRhYmxldC1kb3duKSB7XHJcblxyXG4gICAgICAgICYtaXRlbSB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6OTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtYWRkcmVzcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5hbWUsXHJcbiAgICAgICAgJi1hZGRyZXNzIHsgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLXJpZ2h0LCAyMjBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIHRvcDoxNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XHJcbiAgICAgICAgfSAgICAgICAgXHJcblxyXG4gICAgICAgICYtbmFtZSxcclxuICAgICAgICAmLWFkZHJlc3MsXHJcbiAgICAgICAgJi1idXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7ICBcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgICAgICAgICBcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMzBweCBzb2xpZCAjZmZmOyAgIFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMTVweCwgMCwgMTVweCwgMTVweCk7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5hbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLWFkZHJlc3Mge1xyXG4gICAgICAgICAgICAgd2lkdGg6IDQ1JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtYnV0dG9uIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IFxyXG4gICAgICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZy1yaWdodCwgMTVweCk7ICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSB7XHJcblxyXG4gICAgICAgICAgICAmLW5hbWUsXHJcbiAgICAgICAgICAgICYtYWRkcmVzcyxcclxuICAgICAgICAgICAgJi1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctbGVmdCwgMzBweCk7ICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctcmlnaHQsIDMwcHgpOyAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG4gICAgLmFjY291bnRhbnRMaXN0aW5nIHtcclxuXHJcbiAgICAgICAgJi1pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzowO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1idXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtbmFtZSxcclxuICAgICAgICAmLWFkZHJlc3Mge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIiBcclxuLy8gY2VudGVyIHZlcnRpY2FsbHkgYW5kL29yIGhvcml6b250YWxseSBhbiBhYnNvbHV0ZSBwb3NpdGlvbmVkIGVsZW1lbnRcclxuXHJcbkBtaXhpbiBjZW50ZXIoJHh5Onh5KSB7XHJcbiAgQGlmICR4eSA9PSB4eSB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpLCAgdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHh5ID09IHgge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG4gIEBlbHNlIGlmICR4eSA9PSB5IHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH1cclxufVxyXG5cclxuIFxyXG4gXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuQmFzaWMgU3R5bGVcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZm9ybVN0ZXBzIHtcclxuXHQgXHJcblx0Y2xlYXI6Ym90aDtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcdFxyXG5cdEBpbmNsdWRlIHB4LXJlbShmb250LXNpemUsIDE0cHgpO1xyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2O1xyXG5cdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxMHB4LCAxMHB4LCAxMHB4LCAyNXB4KTtcclxuXHJcblx0bGkge1x0XHJcblx0XHRtYXJnaW46MDsgXHJcblx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgM3B4LCAwKTtcclxuXHR9XHJcblx0XHJcblx0bGkgPiAqIHtcclxuXHRcdC8qIHNpbmdsZSBzdGVwICovXHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcclxuXHR9XHJcblxyXG5cdGxpLmN1cnJlbnQgPiAqIHtcclxuXHRcdC8qIHNlbGVjdGVkIHN0ZXAgKi9cclxuXHRcdGNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0fVxyXG5cclxuXHQubm8tdG91Y2ggJiBhOmhvdmVyIHtcclxuXHRcdC8qIHN0ZXBzIGFscmVhZHkgdmlzaXRlZCAqL1xyXG5cdFx0Y29sb3I6ICRjb2xvdXItcGluaztcclxuXHR9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuVHJpYW5nbGUgYnJlYWRjcnVtYlxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wLWxhcmdlKSB7XHJcblx0LmZvcm1TdGVwcyB7XHJcblx0XHRtYXJnaW4tbGVmdDogLTE0JTsgLy8gbWFrZSBtb3JlIHNwYWNlXHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtdGFibGV0LXNtYWxsKSB7XHJcblxyXG5cdC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIHtcclxuXHRcdC8qIHJlc2V0IGJhc2ljIHN0eWxlICovXHJcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRmbG9hdDpsZWZ0O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG1hcmdpbjogNHB4IDRweCA0cHggMDtcclxuXHJcblx0XHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRsaSA+ICoge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHBhZGRpbmc6IDFlbSAuNWVtIDFlbSAyZW07XHJcblx0XHRcdGNvbG9yOiAkYmFzZS10ZXh0LWNvbG9yO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwNjtcclxuXHRcdFx0LyogdGhlIGJvcmRlciBjb2xvciBpcyB1c2VkIHRvIHN0eWxlIGl0cyA6OmFmdGVyIHBzZXVkby1lbGVtZW50ICovXHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG91ci1ncmV5MDY7XHJcblxyXG5cdFx0XHQubHQtaWU5ICYge1xyXG5cdFx0XHRcdHBhZGRpbmc6MWVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0bGkuY3VycmVudCA+ICoge1xyXG5cdFx0XHQvKiBzZWxlY3RlZCBzdGVwICovXHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG91ci1waW5rO1xyXG5cclxuXHRcdFx0c3Ryb25nIHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0bGk6Zmlyc3Qtb2YtdHlwZSAgPiAqIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAxLjZlbTtcclxuXHRcdH1cclxuXHJcblx0XHRsaTpsYXN0LW9mLXR5cGUgID4gKiB7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEuNmVtO1xyXG5cclxuXHRcdH1cclxuXHRcdC5uby10b3VjaCAmIGE6aG92ZXIge1xyXG5cdFx0XHQvKiBzdGVwcyBhbHJlYWR5IHZpc2l0ZWQgKi9cclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRiYXNlLXRleHQtY29sb3I7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcclxuXHRcdH1cclxuXHJcblx0XHRsaTo6YWZ0ZXIsIGxpID4gKjo6YWZ0ZXIge1xyXG5cdFx0XHQvKiBcclxuXHRcdFx0XHRsaSA+ICo6OmFmdGVyIGlzIHRoZSBjb2xvcmVkIHRyaWFuZ2xlIGFmdGVyIGVhY2ggaXRlbVxyXG5cdFx0XHRcdGxpOjphZnRlciBpcyB0aGUgd2hpdGUgc2VwYXJhdG9yIGJldHdlZW4gdHdvIGl0ZW1zXHJcblx0XHRcdCovXHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMTAwJTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdGhlaWdodDogMDtcclxuXHRcdFx0d2lkdGg6IDA7XHJcblx0XHRcdC8qIDQ4cHggaXMgdGhlIGhlaWdodCBvZiB0aGUgPGE+IGVsZW1lbnQgKi9cclxuXHRcdFx0Ym9yZGVyOiAyNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IDA7XHJcblx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiAyMHB4O1xyXG5cdFx0fVxyXG5cdFx0XHJcblx0XHRsaTo6YWZ0ZXIge1xyXG5cdFx0XHQvKiB0aGlzIGlzIHRoZSB3aGl0ZSBzZXBhcmF0b3IgYmV0d2VlbiB0d28gaXRlbXMgKi9cclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7XHJcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xyXG5cdFx0XHQvKiByZXNldCBzdHlsZSAqL1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0bGkgPiAqOjphZnRlciB7XHJcblx0XHRcdC8qIHRoaXMgaXMgdGhlIGNvbG9yZWQgdHJpYW5nbGUgYWZ0ZXIgZWFjaCBlbGVtZW50ICovXHJcblx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0O1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vUmVtb3ZlIHRoZSBsYXN0IHRyaWFuZ2xlXHJcblx0XHQvL2xpOmxhc3Qtb2YtdHlwZTo6YWZ0ZXIsIGxpOmxhc3Qtb2YtdHlwZSA+ICo6OmFmdGVyIHtcclxuXHRcdC8vXHQvKiBoaWRlIHRoZSB0cmlhbmdsZSBhZnRlciB0aGUgbGFzdCBzdGVwICovXHJcblx0XHQvL1x0ZGlzcGxheTogbm9uZTtcclxuXHRcdC8vfVxyXG5cclxuXHR9XHJcblxyXG5cdEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7IFxyXG5cdCAgXHQuZm9ybVN0ZXBzLmZvcm1TdGVwc190cmlhbmdsZSBsaTo6YWZ0ZXIsXHJcblx0ICBcdC5mb3JtU3RlcHMuZm9ybVN0ZXBzX3RyaWFuZ2xlIGxpID4gKjo6YWZ0ZXIge1xyXG5cdCAgXHRcdC8qIGZpeCBhIGJ1ZyBvbiBGaXJlZml4IC0gdG9vdGggZWRnZSBvbiBjc3MgdHJpYW5nbGUgKi9cclxuXHQgICAgIFx0Ym9yZGVyLWxlZnQtc3R5bGU6IGRhc2hlZDtcclxuXHQgIFx0fVxyXG5cdH1cclxufVxyXG5cclxuIFxyXG4gIiwiLmJvb2tpbmdTdW1tYXJ5IHtcclxuXHRjbGVhcjpib3RoOyAgIFxyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGluaztcclxuXHRjb2xvcjojZmZmOyBcclxuICAgIEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuICAgIEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuICAgICYtdGl0bGUgeyAgICAgICAgICAgIFxyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IFxyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplLTM7XHJcbiAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1ib3R0b20sIDE1cHgpO1xyXG4gICAgfVxyXG5cclxuICAgICYtZGV0YWlscyB7XHJcbiAgICBcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgICYtY29zdCB7ICAgIFx0XHJcbiAgICBcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyLXBpbmstbGlnaHQ7XHJcblxyXG4gICAgXHRkaXNwbGF5OnRhYmxlO1xyXG4gICAgXHR3aWR0aDogMTAwJTtcclxuICAgIFx0QGluY2x1ZGUgbGlzdEJhcmU7XHJcbiAgICBcdG1hcmdpbjogMjBweCAwO1xyXG5cclxuICAgIFx0Ji1jZWxsMiB7XHJcbiAgICBcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBcdH1cclxuXHJcbiAgICBcdGxpIHtcclxuICAgIFx0XHRkaXNwbGF5OiB0YWJsZS1yb3c7ICAgXHJcblxyXG4gICAgXHRcdHN0cm9uZyB7XHJcbiAgICBcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuICAgIFx0XHR9IFx0XHRcclxuXHJcbiAgICBcdFx0c3BhbiB7XHJcbiAgICBcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgXHRcdFx0cGFkZGluZzogMTBweCAwO1xyXG4gICAgXHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgIFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyLXBpbmstbGlnaHQ7XHJcbiAgICBcdFx0fVxyXG4gICAgXHR9XHJcbiAgICB9IFxyXG59XHJcblxyXG4gIiwiLyogU2xpZGVyIGZ1bmN0aW9uYWxpdHkgKERPTiBOT1QgVE9VQ0gpICovXHJcblxyXG4uc2xpY2tTbGlkZXIge1xyXG4gICAgY2xlYXI6Ym90aDsgIFxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IFxyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uc2xpY2stbGlzdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kcmFnZ2luZyB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGN1cnNvcjogaGFuZDtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrU2xpZGVyIC5zbGljay10cmFjayxcclxuLnNsaWNrU2xpZGVyIC5zbGljay1saXN0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbn1cclxuXHJcbi5zbGljay10cmFjayB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1sb2FkaW5nICYge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLXNsaWRlIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogMXB4O1xyXG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICYuZHJhZ2dpbmcgaW1nIHtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4vKiBlbmQgZnVuY3Rpb25hbGlsdHkgKi9cclxuXHJcblxyXG5cclxuXHJcbi8qIE5leHQvcHJldiBhcnJvd3MgKi9cclxuLnNsaWNrU2xpZGVyIHsgXHJcbiAgICAuc2xpY2stbmV4dCxcclxuICAgIC5zbGljay1wcmV2e1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDogMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXItcGluaztcclxuXHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDokYnAtdGFibGV0KSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTphdXRvO1xyXG4gICAgICAgICAgICByaWdodDowIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOjUwJTsgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShtYXJnaW4tdG9wLC02MHB4KTsgICAgICAgICAgICAgICBcclxuICAgICAgICB9ICBcclxuICAgIH1cclxuICAgIC5zbGljay1uZXh0IHtcclxuICAgICAgICBAZXh0ZW5kICVuZXh0QnV0dG9uO1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGljay1wcmV2IHtcclxuICAgICAgICByaWdodDo2MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6MDtcclxuXHJcbiAgICAgICAgLmllOCAmIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKG1hcmdpbi10b3AsMHB4KTsgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAZXh0ZW5kICVwcmV2QnV0dG9uO1xyXG4gICAgfVxyXG4gICAgLnNsaWNrLWRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgb3BhY2l0eTogMC4xNTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFByaW50IENTUyBcclxuQG1lZGlhIHByaW50IHsgIFxyXG5cclxuICAgIC5zbGlja1NsaWRlciB7IFxyXG4gICAgICAgIC5zbGljay1uZXh0LFxyXG4gICAgICAgIC5zbGljay1wcmV2e1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4gICAgVGhlbWVzOlxyXG4gICAgdGhlbWVzOiBbdGhlbWVfcGluayAoZGVmYXVsdCkgfCB0aGVtZV9ibHVlIHwgdGhlbWVfZ3JleSBdXHJcblxyXG4qL1xyXG5cclxuLyogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBDb250ZW50IGFjY29yZGlvbiBzdHlsaW5nICMjIyMjIyMjIyMjIyMjIyMjIyMjICovXHJcblxyXG4uYWNjb3JkaW9uIHsgIFxyXG5cclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBAaW5jbHVkZSBibG9ja0JvdHRvbU1hcmdpbjtcclxuXHJcbiAgICAuYWNjb3JkaW9uLXRyaWdnZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiB0b2dnbGUgaGVhZGVyIHN0eWxlICovIFxyXG4gICAgLmFjY29yZGlvbi1oZWFkZXIgeyBcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBAaW5jbHVkZSBmb250U2l6ZS02OyAgXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDY7ICAgICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBweC1yZW0ocGFkZGluZywgMjBweCwgNTBweCwgMjBweCwgMTVweCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLW91dDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDsgXHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XHJcblxyXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC1kZXNrdG9wKSAgIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsIDIwcHgsIDUwcHgsIDIwcHgsIDMwcHgpOyAgICAgICAgICAgICBcclxuICAgICAgICB9ICBcclxuXHJcbiAgICAgICAgJHNwcml0ZTogJHBsdXMtcGluazsgXHJcbiAgICAgICAgJHBzZXVkbzoocG9zaXRpb246ICdhZnRlcicsIHJpZ2h0OiAxNXB4LCB0b3A6IDUwJSwgbWFyZ2luLXRvcDotMTFweCwgei1pbmRleDoxICk7XHJcbiAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbiAgICB9ICAgIFxyXG5cclxuICAgIC5hY2NvcmRpb24taGVhZGVyOmFmdGVyIHtcclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkgICB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4IWltcG9ydGFudDsgIFxyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb24taGVhZGVyOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBpbms7XHJcblxyXG4gICAgICAgICRzcHJpdGU6ICRwbHVzLXdoaXRlOyBcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH0gXHJcblxyXG4gICAgLyogaWYgYWN0aXZlICovXHJcbiAgICAuYWNjb3JkaW9uX2FjdGl2ZSB7XHJcblxyXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1waW5rO1xyXG5cclxuICAgICAgICAgICAgJHNwcml0ZTogJHBsdXMtd2hpdGU7IFxyXG4gICAgICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfSAgXHJcblxyXG5cclxuICAgIC8qIGNvbnRlbnQgKi8gIFxyXG4gICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAxNXB4KTsgXHJcblxyXG4gICAgICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAkYnAtZGVza3RvcCkgICB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLCAzMHB4KTsgICAgICAgXHJcbiAgICAgICAgfSAgXHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIC8qIEJMVUUgKi9cclxuLmFjY29yZGlvbi50aGVtZV9ibHVlIHtcclxuXHJcbiAgICAuYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMTVweCBzb2xpZCAgJGNvbG91ci1ibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZS1saWdodDsgXHJcblxyXG4gICAgICAgICRzcHJpdGU6ICRwbHVzLXdoaXRlOyBcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uLWl0ZW06Zmlyc3Qtb2YtdHlwZSAuYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAgJGNvbG91ci1ibHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC5hY2NvcmRpb24taGVhZGVyOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91ci1ibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZS10aW50O1xyXG5cclxuICAgICAgICAkc3ByaXRlOiAkcGx1cy1ibHVlOyBcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH1cclxuXHJcbiBcclxuXHJcbiAgICAgLyogaWYgYWN0aXZlICovXHJcbiAgICAuYWNjb3JkaW9uX2FjdGl2ZSB7XHJcblxyXG4gICAgICAgIC5hY2NvcmRpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItYmx1ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ibHVlLXRpbnQ7XHJcblxyXG4gICAgICAgICAgICAkc3ByaXRlOiAkbWludXMtYmx1ZTsgXHJcbiAgICAgICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMTVweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LTExcHgsIHotaW5kZXg6MSApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogY29udGVudCAqLyAgXHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXItYmx1ZS10aW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbiAvKiBHUkVZICovXHJcbi5hY2NvcmRpb24udGhlbWVfZ3JleSB7IFxyXG5cclxuICAgIC5hY2NvcmRpb24taGVhZGVyIHtcclxuICAgICAgICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcclxuICAgICAgICBtYXJnaW46MDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDQ7IFxyXG5cclxuICAgICAgICAkc3ByaXRlOiAkcGx1cy1ncmV5OyBcclxuICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgIH1cclxuXHJcbiAgICAuYWNjb3JkaW9uLWhlYWRlcjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAxO1xyXG5cclxuICAgICAgICAgICAgJHNwcml0ZTogJHBsdXMtd2hpdGU7IFxyXG4gICAgICAgICAgICAkcHNldWRvOihwb3NpdGlvbjogJ2FmdGVyJywgcmlnaHQ6IDE1cHgsIHRvcDogNTAlLCBtYXJnaW4tdG9wOi0xMXB4LCB6LWluZGV4OjEgKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3ZnU3ByaXRlKCAkc3ByaXRlLCAkcHNldWRvKTsgXHJcbiAgICB9XHJcblxyXG4gICAgIC8qIGlmIGFjdGl2ZSAqL1xyXG4gICAgLmFjY29yZGlvbl9hY3RpdmUge1xyXG5cclxuICAgICAgICAuYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWdyZXkwMTtcclxuXHJcbiAgICAgICAgICAgICRzcHJpdGU6ICRtaW51cy13aGl0ZTsgXHJcbiAgICAgICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMTVweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LTExcHgsIHotaW5kZXg6MSApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogY29udGVudCAqLyAgXHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXItZ3JleTA2O1xyXG4gICAgfVxyXG59XHJcblxyXG4gXHJcblxyXG4gXHJcblxyXG4vL1ByaW50IENTU1xyXG5AbWVkaWEgcHJpbnQgeyAgXHJcblxyXG4gICAgLmFjY29yZGlvbiB7XHJcbiAgICAgICAgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2shaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDBcclxuICAgICAgICB9IFxyXG5cclxuICAgICAgICAuYWNjb3JkaW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDBcclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxufSBcclxuIFxyXG5cclxuICIsIi8vTWluaW11bSBmdW5jdGlvbmFsIHN0eWxlcyBmb3IgdGFic1xyXG5cclxuQG1peGluIG5jQnJlYWtwb2ludE5hbWUoICRuYW1lICl7IFxyXG5cdCY6YmVmb3Jle1xyXG5cdFx0Y29udGVudDokbmFtZTtcclxuXHRcdGRpc3BsYXk6bm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiB0YWJzKCl7XHJcblx0Ji1uYXZ7XHJcblx0XHQuanMgJntcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHR9XHJcblx0fVx0XHJcblxyXG5cdCYtbmF2LWl0ZW0ge1xyXG5cdFx0bWFyZ2luOjAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdH0gXHJcblx0XHJcblx0Ji1jb250ZW50c3tcclxuXHRcdC5qcyAme1xyXG5cdFx0XHRjbGVhcjogYm90aDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0Ji1jb250ZW50cy1pdGVte1xyXG5cdFx0LmpzICZ7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdG92ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0XHJcblx0XHRcdCZfc2VsZWN0ZWR7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKiBTdHlsaW5nICovXHJcbi50YWJzQWNjb3JkaW9uIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRAaW5jbHVkZSB0YWJzO1xyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cclxuXHQvLyBpbm5lciBjb250ZW50IHN0eWxlIHRoZSBzYW1lIGZvciBhY2NvcmRpb24vdGFic1xyXG5cdCYtY29udGVudHMtaXRlbS1pbm5lciB7XHJcblx0XHRjb2xvcjojZmZmO1xyXG5cdFx0QGluY2x1ZGUgYmxvY2tQYWRkaW5nO1x0XHJcblx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLCAxNHB4KTtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuXHRcdGgyLGgzLGg0LHAge1xyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0fVxyXG5cclxuXHRcdGEge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0Y29sb3I6I2ZmZjtcclxuXHRcdH0gXHJcblx0fVxyXG59XHJcblxyXG5cclxuLy9tb2JpbGUgYWNjb3JkaW9uIHN0eWxlXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicC10YWJsZXQtZG93bikge1xyXG5cclxuXHQudGFic0FjY29yZGlvbiB7XHJcblxyXG5cdFx0QGluY2x1ZGUgbmNCcmVha3BvaW50TmFtZSggJ2FjY29yZGlvbicgKTtcdFxyXG5cclxuXHRcdCYtY29udGVudHMtaXRlbS13cmFwcGVyIHtcclxuXHRcdFx0aGVpZ2h0OjA7XHJcblx0XHRcdG92ZXJmbG93OmhpZGRlbjtcclxuXHRcdFx0bWFyZ2luOjA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdFxyXG5cdFx0XHQmX3N0YXRlX29wZW4ge1xyXG5cdFx0XHRcdGhlaWdodDphdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdCYtbmF2LWl0ZW0ge1xyXG5cdFx0XHQuanMgJiB7XHJcblx0XHRcdFx0ZmxvYXQ6bm9uZTtcclxuXHRcdFx0fVx0XHJcblx0XHRcdG1hcmdpbjowO1xyXG5cdFx0fVxyXG4gXHJcblx0XHQmLW5hdi1pdGVtLWxpbmsge1xyXG5cclxuXHRcdFx0LmpzICYge1xyXG5cdFx0XHRcdGZsb2F0Om5vbmU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OmJvbGQ7XHJcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7IFxyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvdXItcGx1bS1saWdodDtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKGZvbnQtc2l6ZSwxNXB4KTtcclxuXHRcdFx0cGFkZGluZzogMTVweCA1MHB4IDE1cHggMTVweDtcclxuXHJcblx0XHRcdCY6Zm9jdXMsIFxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07XHJcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQkc3ByaXRlOiAkcGx1cy13aGl0ZTsgXHJcbiAgICAgICAgICAgICRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMTVweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LTExcHgsIHotaW5kZXg6MSApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzdmdTcHJpdGUoICRzcHJpdGUsICRwc2V1ZG8pO1xyXG5cclxuXHRcdFx0Jl9zZWxlY3RlZCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtO1xyXG5cclxuXHRcdFx0XHQkc3ByaXRlOiAkbWludXMtd2hpdGU7IFxyXG4gICAgICAgICAgICBcdCRwc2V1ZG86KHBvc2l0aW9uOiAnYWZ0ZXInLCByaWdodDogMTVweCwgdG9wOiA1MCUsIG1hcmdpbi10b3A6LTExcHgsIHotaW5kZXg6MSApO1xyXG4gICAgICAgICAgICBcdEBpbmNsdWRlIHN2Z1Nwcml0ZSggJHNwcml0ZSwgJHBzZXVkbyk7XHJcblx0XHRcdH1cdFx0XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1jb250ZW50cy1pdGVtIHtcdFxyXG5cdFx0XHRjb2xvcjojZmZmO1xyXG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcclxuXHRcdH1cdFxyXG5cclxuXHRcdCYtY29udGVudHMtaXRlbS1pbm5lciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cclxuXHQvL0JMVUUgdGhlbWUgXHJcblx0LnRhYnNBY2NvcmRpb24udGhlbWVfYmx1ZSB7XHJcblx0XHQudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ibHVlLWxpZ2h0O1xyXG5cclxuXHRcdFx0Jjpmb2N1cywgJjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ibHVlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmX3NlbGVjdGVkIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLWJsdWU7XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lciB7XHJcblx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG4vL0RFU0tUT1Agc3R5bGUgXHJcbkBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6ICRicC10YWJsZXQpIHtcclxuXHJcblx0LnRhYnNBY2NvcmRpb24ge1xyXG5cdFx0QGluY2x1ZGUgbmNCcmVha3BvaW50TmFtZSggJ3RhYnMnICk7XHJcblxyXG5cdFx0Ji1uYXYgeyBcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtLWxpZ2h0O1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1x0XHRcdFx0IFxyXG5cdFx0fVx0XHJcblxyXG5cdFx0Ji1uYXYtaXRlbSB7XHJcblx0XHRcdGZsb2F0OmxlZnQ7XHRcdFx0XHRcdFxyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG91ci1wbHVtO1x0XHRcclxuXHJcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdGJvcmRlcjpub25lO1xyXG5cdFx0XHR9IFxyXG5cdFx0fVx0XHRcdFxyXG5cdFx0XHJcblx0XHQmLW5hdi1pdGVtLWxpbmsge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1x0XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHRcdFx0XHRcdFxyXG5cdFx0XHRjb2xvcjogI2ZmZjsgXHJcblx0XHRcdGZvbnQtd2VpZ2h0OmJvbGQ7IFxyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItcGx1bS1saWdodDsgXHJcblx0XHRcdEBpbmNsdWRlIHB4LXJlbShwYWRkaW5nLDE1cHgpOyBcdFxyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0oZm9udC1zaXplLDE0cHgpOyBcdFxyXG5cclxuXHRcdFx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBweC1yZW0ocGFkZGluZywyMHB4LDMwcHgpO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQmX3NlbGVjdGVkLCBcclxuXHRcdFx0Jjpob3ZlciwgXHJcblx0XHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLXBsdW07IFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji1jb250ZW50cy1pdGVtLWlubmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1wbHVtOyBcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly9CTFVFIHRoZW1lIFxyXG5cdFx0Ji50aGVtZV9ibHVlIHtcclxuXHRcdFx0LnRhYnNBY2NvcmRpb24tbmF2IHsgXHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ibHVlLWxpZ2h0O1x0XHRcdCBcclxuXHRcdFx0fVxyXG5cdFx0XHQudGFic0FjY29yZGlvbi1uYXYtaXRlbSB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3VyLWJsdWU7XHRcdCBcclxuXHRcdFx0fVx0XHJcblx0XHRcdC50YWJzQWNjb3JkaW9uLW5hdi1pdGVtLWxpbmsge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZS1saWdodDsgIFxyXG5cclxuXHRcdFx0XHQmX3NlbGVjdGVkLCBcclxuXHRcdFx0XHQmOmhvdmVyLCBcclxuXHRcdFx0XHQmOmZvY3VzIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZTsgXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHRcclxuXHJcblx0XHRcdC50YWJzQWNjb3JkaW9uLWNvbnRlbnRzLWl0ZW0taW5uZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZTsgXHJcblx0XHRcdH1cdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vd2l0aGluIHRoZSB3aWRlIDEwMCUgY29udGVpbmVyOiBcclxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogJGJwLWRlc2t0b3ApIHtcclxuXHQubC1yb3ctMTAwIHtcclxuXHJcblx0XHQudGFic0FjY29yZGlvbi1uYXYtaXRlbS1saW5rIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsMzBweCw0MHB4KTtcclxuXHRcdH0gXHJcblxyXG5cdFx0LnRhYnNBY2NvcmRpb24tY29udGVudHMtaXRlbS1pbm5lciB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogY2FsYy1wZXJjZW50KCRjb250ZW50LWluZGVudCwgJGNvbnRlbnQtd2lkdGgpO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBjYWxjLXBlcmNlbnQoJGNvbnRlbnQtaW5kZW50LCAkY29udGVudC13aWR0aCk7XHJcblx0XHR9XHJcblxyXG5cdH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy9QcmludCBDU1NcclxuQG1lZGlhIHByaW50IHsgIFxyXG5cclxuICAgIC50YWJzQWNjb3JkaW9uIHtcclxuXHJcbiAgICBcdC50YWJzQWNjb3JkaW9uLXdyYXAgIHtcclxuICAgIFx0XHRkaXNwbGF5OiBub25lO1xyXG4gICAgXHR9XHJcblxyXG4gXHRcdCYtY29udGVudHMtaXRlbSB7XHJcbiBcdFx0XHRkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcbiBcdFx0fVxyXG5cclxuIFx0XHQmLWNvbnRlbnRzLWl0ZW0taW5uZXIge1xyXG4gXHRcdFx0cGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcblxyXG4gXHRcdFx0KiB7XHJcbiBcdFx0XHRcdGNvbG9yOiMwMDAhaW1wb3J0YW50O1xyXG4gXHRcdFx0fVxyXG4gXHRcdH1cclxuIFxyXG4gICAgfVxyXG59ICIsIi8qIHVzZXM6IF9zbGlkZXJGdW5jdGlvbmFsaXR5LnNjc3MgICovXHJcblxyXG5cclxuLyogcHJvbW9TbGlkZXIgc3R5bGUgKi9cclxuLnByb21vU2xpZGVyIHtcclxuXHRjbGVhcjpib3RoO1xyXG5cdGNvbG9yOiNmZmY7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItYmx1ZS1saWdodDtcdFxyXG5cdEBpbmNsdWRlIGJsb2NrQm90dG9tTWFyZ2luO1xyXG5cdEBpbmNsdWRlIGJsb2NrUGFkZGluZztcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0QG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDokYnAtZGVza3RvcCkge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsMzBweCwwLDMwcHgsNDBweCk7IFxyXG5cdH1cclxuXHJcblx0Ji1pdGVtIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmctYm90dG9tLDgwcHgpO1xyXG5cdFx0XHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiRicC1kZXNrdG9wKSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOjA7IFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1pdGVtLXdyYXAge1xyXG4gXHRcdEBpbmNsdWRlIHB4LXJlbShtYXgtd2lkdGgsNzAwcHgpOyBcclxuIFx0XHRcclxuIFx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiRicC10YWJsZXQpIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKG1hcmdpbi1yaWdodCwxMDBweCk7IFxyXG5cdFx0XHRAaW5jbHVkZSBweC1yZW0obWluLWhlaWdodCwyNTBweCk7XHJcbiBcdFx0fVxyXG5cdH1cclxuXHJcblx0Ji1pdGVtLXRpdGxlIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjE7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0QGluY2x1ZGUgZm9udFNpemUtMjtcclxuXHR9XHJcblxyXG5cdC5idG4ge1xyXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJwLXRhYmxldC14LXNtYWxsKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIFxyXG5cclxuXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7XHRcclxuXHQucHJvbW9TbGlkZXIge1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufSAiLCIvKiB1c2VzOiBfc2xpZGVyRnVuY3Rpb25hbGl0eS5zY3NzICAqL1xyXG5cclxuXHJcbi8qIGhvbWVDYXNlU3R1ZHlTbGlkZXIgc3R5bGUgKi9cclxuLmhvbWVDYXNlU3R1ZHlTbGlkZXIge1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTA2O1x0XHRcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlOyBcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0QGluY2x1ZGUgYmxvY2tCb3R0b21NYXJnaW47XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7IFxyXG5cclxuXHQmLWl0ZW0ge1xyXG5cdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsMTVweCwxNXB4LDkwcHgpO1xyXG5cclxuXHRcdEBtZWRpYSBhbGwgYW5kIChtaW4td2lkdGg6JGJwLWRlc2t0b3ApIHtcclxuXHRcdFx0QGluY2x1ZGUgcHgtcmVtKHBhZGRpbmcsNDBweCwwLDQwcHgsNDBweCk7IFxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnF1b3RlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0bWF4LXdpZHRoOiA0ODBweDtcclxuXHRcdG1hcmdpbjogLTQwcHggYXV0byAwIGF1dG87XHJcblx0fSBcclxuXHJcblx0Ji1pdGVtLXRpdGxlIHtcdFx0XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6MTtcclxuXHRcdHdpZHRoOjkwJTtcclxuXHRcdGNvbG9yOiNmZmY7XHJcblx0XHRsaW5lLWhlaWdodDogMS4xO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdEBpbmNsdWRlIGZvbnRTaXplLTI7XHJcblx0XHR0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1waW5rO1xyXG5cdFx0cGFkZGluZzogMTVweCAxNXB4IDYwcHggMTVweDtcdFx0XHJcblx0XHRtYXJnaW46IC0xNXB4IDAgMCAtMTVweDtcclxuXHJcblx0XHQmLXdyYXAge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiRicC10YWJsZXQpIHtcclxuXHRcdFx0d2lkdGg6NjAlO1xyXG5cdFx0XHRwYWRkaW5nOiAzMHB4IDMwcHggNzBweCAzMHB4O1x0XHRcclxuXHRcdFx0bWFyZ2luOiAtMTVweCAwIDAgLTE1cHg7XHJcblxyXG5cdFx0XHQmLXdyYXAge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiRicC1kZXNrdG9wKSB7XHJcblx0XHRcdG1hcmdpbjogLTQwcHggMCAwIC00MHB4O1xyXG5cdFx0XHQmLXdyYXAge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIFxyXG5cclxuLyogTmV4dC9wcmV2IGFycm93cyAoc2VlIHRoZSAnX3NsaWRlckZ1bmN0aW9uYWxpdHkuc2NzcycpICovXHJcbi5ob21lQ2FzZVN0dWR5U2xpZGVyIC5zbGlja1NsaWRlciB7IFxyXG4gXHJcbiAgICAuc2xpY2stZGlzYWJsZWQge1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICB9XHJcbn1cclxuXHJcbiAgXHJcbi8vUHJpbnQgQ1NTXHJcbkBtZWRpYSBwcmludCB7XHRcclxuXHQuaG9tZUNhc2VTdHVkeVNsaWRlciB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiBub25lIWltcG9ydGFudDtcclxuXHR9XHJcblx0XHJcblx0LmhvbWVDYXNlU3R1ZHlTbGlkZXItd3JhcCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufSIsIiBcclxuLm5jLXN0eWxlZ3VpZGUge1xyXG5cclxuIFx0Ji1ibG9jayB7IFxyXG4gXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gXHRcdG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGg7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdG1hcmdpbjogMCBhdXRvIDUwcHggYXV0bzsgXHJcblx0fVxyXG5cclxuXHQmLXRpdGxlIHtcclxuXHRcdHBhZGRpbmc6IDAgJHNpZGUtcGFkZGluZzsgXHJcblx0fVxyXG5cclxuXHQmLWNvbXBvbmVudCB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci1ncmV5MDI7XHJcblx0fVxyXG5cclxuXHQmLW5lc3RlZC1jb21wb25lbnQge1xyXG5cdFx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXItZ3JleTAyO1xyXG5cdH1cclxuXHJcbn1cclxuICIsIlxyXG5AbWVkaWEgcHJpbnQge1x0XHJcbiBcclxuXHQvL0dsb2JhbFxyXG5cclxuXHRodG1sLCBib2R5IHtcclxuICAgIFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHRib2R5IHtcclxuXHQgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlIWltcG9ydGFudDsgXHJcblx0ICAgIGxpbmUtaGVpZ2h0OjEuNDtcclxuXHQgICAgY29sb3I6ICMwMDA7XHJcblx0ICAgIGZvbnQtc2l6ZToxMnB4O1xyXG5cdCAgICBtYXJnaW46IDAgYXV0bztcclxuXHJcblx0ICAgICoge1xyXG5cdCAgICBcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZSFpbXBvcnRhbnQ7IFxyXG5cdCAgICBcdGJhY2tncm91bmQtY29sb3I6ICNmZmYhaW1wb3J0YW50O1xyXG5cdCAgICBcdC8vY29sb3I6ICMwMDAhaW1wb3J0YW50O1xyXG5cdCAgICB9XHJcblxyXG5cdCAgICBwLCBkaXYsIHNwYW4sIHRhYmxlLCBsaSwgZGwsIGR0IHtcclxuXHQgICAgXHRmb250LXNpemU6MTJweDtcclxuXHQgICAgXHRjb2xvcjogIzAwMCFpbXBvcnRhbnQ7XHJcblx0ICAgIH1cclxuXHR9XHRcclxuXHJcblx0Ly9yZW1vdmUgZnJvbSBwcmludGluZ1xyXG5cdC5oZWFkZXItdXRpbCxcclxuXHQuaGVhZGVyLW1haW5Mb2dvIC5oZ3JvdXAtZW5kLFxyXG5cdCNuYXZEcm9wZG93bixcclxuXHQuZm9vdGVyLWJvdHRvbS1uYXYsXHJcblx0LmZvb3Rlci10b3AgIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQvKiBIZWFkZXIgKi9cclxuXHQuaGVhZGVyLW1haW5Mb2dvIHtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0XHRwb3NpdGlvbjogc3RhdGljO1xyXG5cdFx0bWFyZ2luOjAgMCAyNXB4IDA7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHJcblx0XHQuaGVhZGVyLWxvZ28ge1x0XHRcdFx0XHJcblx0XHRcdG1hcmdpbi1sZWZ0OjA7XHRcclxuXHRcdFx0cG9zaXRpb246IHN0YXRpYztcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1x0XHRcdFxyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91ci1waW5rIWltcG9ydGFudDtcdFxyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdCAgICBtYXJnaW46IDA7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XHRcclxuXHRcdFx0Zm9udC1zaXplOiAyMnB4IWltcG9ydGFudDtcdFx0XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuZm9vdGVyLWJvdHRvbSB7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuXHR9XHJcblxyXG5cdC8vbGF5b3V0XHJcblx0Lmwtcm93LWlubmVyIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHR9XHJcblxyXG5cdC5sLWNvbnRlbnRfaW5kZW50IHtcclxuXHRcdG1hcmdpbjowO1xyXG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC8vbGlzdHMgXHJcblx0Lmxpc3QtbGluay1hcnJvdyxcclxuXHQubGlzdC1idWxsZXRzLFxyXG5cdC5saXN0LWJ1bGxldHMtYm9yZGVycyxcclxuXHQubGlzdC1ib3JkZXJzIHtcclxuXHJcblx0XHQ+bGkge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luOjA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MCAwIDEwcHggMTVweCFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnPiAnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6MDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOmF1dG87XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6YXV0bztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBcdGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID5saSA+IGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOjAgMCA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjpub25lIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cdH1cclxuXHJcblxyXG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */

/**product purchase start*/
.netcel h4              { font-weight:bold; font-size:16px; }

.netcel p               { margin:15px 0; padding: 0; }

.netcel .productsGroup
{
    border:1px solid #e7e7e7;
    border-bottom:none;
}

.netcel .standard-form .productsGroup h2{ margin:3px 3px 0 3px; }

.netcel .productsGroup h4{ padding:0; margin:15px; font-weight:bold; font-size:14px; color:#666; }

table.productList, table.productList tr, table.productList td {
    border: none;
    
    vertical-align: top;
}

table.productList{ border-bottom:1px solid #dedede; }

table.productList tbody tr:last-child td
{
    padding-bottom:15px;
    padding-top:0;    
}

table.productList tbody tr:first-child td
{
    padding-top:15px;   
    padding-bottom:0;  
}

table.productList tbody {
    border-top:2px dotted #dedede;
}
table.productList tbody:first-child {
    border-top:none;
}

table.productList tr td.first {
    width: 15px;
    text-align: center;
    padding-left: 15px;
    padding-right: 0px;
}

table.productList tr td.description {
    font-style: italic;
}
table.productList tr td.productName
{
    font-weight:bold;
}

table.productList tbody tr td.price {
    width: 100px;
    text-align: right;
    padding-right:15px;
    font-weight:bold;
    font-size:14px;
    padding-bottom:5px;
}

.netcel ul.wizard 
{
    background:transparent url(/images/forms/pb-3-1.png) left top no-repeat;
    list-style: none !important;
    list-style-type: none !important;
    width:614px;
    height:36px;
    overflow:hidden;
    padding:0;
    margin:0 0 30px 0;
    border:1px solid #c5c5c5;
}

.netcel ul.wizard li 
{
    background: none;
    display: block;
    float:left;
    
    border:none;
    line-height:36px;
    text-align: center;
    padding:0;
    margin:0;
    color:#7d7d7d;
    font-weight:bold;
    font-size:11px;
}


.netcel .form_login
{
     padding:3px;
     border: 1px solid #E7E7E7;
     border-bottom:3px solid #dd0066;
     background:#FFF url(/images/forms/login-bg.png) left bottom repeat-x;
}

.netcel .logged-in
{
    border: 1px solid #E7E7E7;
    border-bottom:none;
    margin-bottom:0;
}

.netcel .logged-in .detail{ font-weight:bold; padding:8px 0 0; display:block; }

.netcel .standard-form h2, .netcel .standard-form h3, .netcel table.attendees th, .netcel table.products th
{
     background:#eff0f1;
     padding:15px;
     color:#dd0066;
     font-weight:bold;
     font-size:16px;
     text-align:left;
}

.netcel table.attendees, table.products
{
    margin:0;
    padding:3px;
    border:1px solid #e7e7e7;
    
}

.netcel table.products td, .netcel table.products th  { border:none; }
.netcel table.products td                           { padding:5px 15px; }
.netcel table.attendees td                          { padding:15px; }
.netcel table.attendees tr                          { border-bottom:1px solid #e7e7e7; }
.netcel table.attendees tr:first-child, .netcel table.products tr:first-child   { border:none; }

.netcel table.products tbody                        { border-bottom:1px solid #e7e7e7; }
.netcel table.products tbody.alt                    { background:#FCFCFC; }

.netcel table.products tfoot th                     { padding:5px 15px; }

.netcel table.products .name                        { font-weight:bold; }
.netcel table.products .price                       { font-weight:bold; }
.netcel table.products .member-price                { font-weight:bold; }

.netcel .form_login div{ margin:15px; }

.netcel .form_login table, .netcel .form_login td   {  border:none; padding:0; }

.netcel .form_login label   { font-weight:normal; font-size:12px; }

.netcel .standard-form p   { margin:15px; padding:0; }

.netcel .form_login input[type=text], .netcel .form_login input[type=password]{ width:115px; margin-left:10px;}

.netcel input[type=text],.netcel input:not([type]), .netcel textarea, .netcel input[type=password], .netcel select { font-size:12px; border:1px solid #c4c4c4; -webkit-box-shadow: inset 1px 2px 2px 0px rgba(0, 0, 0, 0.2); box-shadow: inset 1px 2px 2px 0px rgba(0, 0, 0, 0.2); }
.netcel option {padding:0;}


.netcel .fieldgroup                                         { padding:3px; border:1px solid #e7e7e7; border-bottom:none; zoom:1; }
.netcel .formOuter                                          { border-bottom:1px solid #e7e7e7; margin-bottom:15px; zoom:1; }
.netcel .fieldgroup .control_container, .netcel .productsGroup .control_container          { margin:15px; padding:0; min-height:0; padding-bottom:1px; width:auto; }

.cf:after, .control_container:after                         { clear: both; }
.cf:before, .cf:after, .control_container:before, .control_container:after { content: " "; display: table; }

.cf, .control_container                                     { clear:both; display: block; }

.netcel .fieldgroup .control_container input                { min-height:0; }
.netcel .fieldgroup .control_container input[type=text], .netcel .fieldgroup .control_container textarea     { width:220px; }
div.netcel input, div.netcel select                         { padding:6px 2px; }
div.netcel input[type=radio], div.netcel input[type=checkbox]   { padding:0; margin:0; width:auto; }
div.netcel select { text-indent:-1px; padding-left:6px; padding-right:4px; }
.netcel .fieldgroup .control_container .control_input       {  width:310px; }
.netcel .fieldgroup .control_container .control_input label {  width:auto; min-height:0; font-size:12px; }

.netcel .fieldgroup .control_container .control_input .radio-button label   { padding-right:10px; }

.netcel .fieldgroup .control_container .control_label   { width:235px; }
.netcel .fieldgroup .control_container .control_label label{ margin-right:35px; padding:6px 0; font-weight:normal; width:auto; }

.netcel .fieldgroup div.control_input_nolabel  { width:auto; padding:0;}

.netcel .fieldgroup p{margin:15px 25px; font-size:12px;}

.netcel .fieldgroup, .netcel .fieldgroup li, .netcel .fieldgroup label {font-size:12px;}

.netcel .standard-form .control_container .check-box label{ width:auto; max-width:550px;}

.netcel .standard-form .control_container input[readonly="readonly"] { border:none; box-shadow:none; -webkit-box-shadow:none; padding: 7px 3px;}
.netcel .standard-form .control_container input[readonly="readonly"].datepicker { padding:6px 2px; border:1px solid #c4c4c4; -webkit-box-shadow: inset 1px 2px 2px 0px rgba(0, 0, 0, 0.2); box-shadow: inset 1px 2px 2px 0px rgba(0, 0, 0, 0.2);}

.netcel .standard-form .control_container .control_input span.radio input { float:left; clear:left; margin:0 5px 5px 0;}
.netcel .standard-form .control_container .control_input span.radio label { display:block; padding-left:5px; padding-right:10px; font-weight:normal; margin-bottom:5px; }

.netcel .standard-form .control_container span.aside{ display:block; margin-right: 35px; padding: 6px 0; font-size:11px; }

.netcel .form-button:hover, .netcel .form-option:hover, .netcel .form-cancel:hover, .netcel .form-button:focus, .netcel .form-option:focus, .netcel .form-cancel:focus
{
    text-decoration:underline;   
}

.netcel .form-button 
{
    border:0px solid #b9265a; 
    padding:0 12px; 
    line-height:30px;
    height:32px;
    color:#FFF;
    margin:0 0 0 auto;
    background: #de297b;
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2RlMjk3YiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM5YTEyMzciIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top,  #de297b 0%, #9a1237 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#de297b), color-stop(100%,#9a1237)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #de297b 0%,#9a1237 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #de297b 0%,#9a1237 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #de297b 0%,#9a1237 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #de297b 0%,#9a1237 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#de297b', endColorstr='#9a1237',GradientType=0 ); /* IE6-8 */

    -webkit-border-radius: 5px;
    border-radius: 5px;
    font-weight:bold; 
    font-size:12px;
    font-family:Arial, Helvetica, Verdana, Sans-Serif;
    float:right;
    cursor:pointer;
    overflow:visible;
    text-decoration:none;
}

.netcel .form-button .print
{
    padding-left:20px;
    background:transparent url(/images/forms/printer.png) left center no-repeat;
}

.netcel .form-option
{
    border:0px solid #332154; 
    padding:0 35px; 
    line-height:30px;
    height:32px;
    color:#FFF;
    margin:0 0 0 auto;
    background: #3b7789; /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzNiNzc4OSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiMwMzU3NzAiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top,  #3b7789 0%, #035770 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3b7789), color-stop(100%,#035770)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #3b7789 0%,#035770 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #3b7789 0%,#035770 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #3b7789 0%,#035770 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #3b7789 0%,#035770 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3b7789', endColorstr='#035770',GradientType=0 ); /* IE6-8 */
    -webkit-border-radius: 5px;
    border-radius: 5px;
    font-weight:bold; 
    font-size:12px;
    font-family:Arial, Helvetica, Verdana, Sans-Serif;
    cursor:pointer;
}

.netcel .form-option.thin
{
    padding:0 5px;
    margin-left:5px;
}

.netcel .form-cancel
{
    color:#333;
    border:1px solid #b0b0b0; 
    padding:0 12px;
    line-height:30px;
    height:32px;
    margin:0 0 0 auto;
    background: #ffffff; /* Old browsers */
    /* IE9 SVG, needs conditional override of 'filter' to 'none' */
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjMwJSIgc3RvcC1jb2xvcj0iI2Y3ZjdmNyIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNkZGRkZGQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
    background: -moz-linear-gradient(top,  #ffffff 0%, #f7f7f7 30%, #dddddd 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(30%,#f7f7f7), color-stop(100%,#dddddd)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top,  #ffffff 0%,#f7f7f7 30%,#dddddd 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top,  #ffffff 0%,#f7f7f7 30%,#dddddd 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top,  #ffffff 0%,#f7f7f7 30%,#dddddd 100%); /* IE10+ */
    background: linear-gradient(to bottom,  #ffffff 0%,#f7f7f7 30%,#dddddd 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#dddddd',GradientType=0 ); /* IE6-8 */

    -webkit-border-radius: 5px;
    border-radius: 5px;
    font-weight:bold; 
    font-size:12px;
    font-family:Arial, Helvetica, Verdana, Sans-Serif;
    float:right;
    cursor:pointer;
}

.netcel .form-submit
{
     margin:25px 0 25px 15px;
     display:block;
}

.netcel .error
{
    display:block;
    margin-top:4px;
    clear:both;
}

.netcel .ui-datepicker-trigger
{
    border:none;
    background:transparent url( /images/forms/calendar.png) center bottom no-repeat;
    width:26px;
    height:30px;
    padding:4px 0 0 0;
    margin:0 0 0 4px;
    cursor:pointer;
    overflow:hidden;
    text-indent:1000px;
}


/*products list*/
.netcel .productsList { padding:3px; border: 1px solid #E7E7E7; }

.netcel .productsList ul li { border-bottom:1px solid #DEDEDE; clear:both; overflow:visible; display:inline-block; display:block; }
.netcel .productsList ul li:after { content:" "; display:block;}

.netcel .productsList .name             { display:block; padding:15px; font-weight:bold; float:left; }
.netcel .productsList .full-price       { display:block; margin:15px 15px; float:right; font-size:14px; }
.netcel .productsList .discount-info    { clear:both; background:#f0f0f2; padding:15px; position:relative; }

.netcel .productsList .discount-info .discount-details { display:block; padding:0; float:left; width:100px; }
/*.netcel .productsList .discount         { display:block; margin:5px 15px; float:left; }*/
.netcel .productsList .discount-info ul { display:block; margin:0; padding:0; float:left; width:350px;}
.netcel .productsList .discount-info ul li  { border:none; font-weight:bold; font-size:12px; }

.netcel .productsList .price            { display:block; margin:15px; font-weight:bold; white-space:nowrap; position:absolute; right:0; bottom:0; font-size:14px; }

.netcel .productsList .value            { font-weight:bold; white-space:nowrap; }
.netcel .productsList .totalPrice       { text-align:right; padding:20px 15px; font-weight:bold; font-size:14px; clear:both; }

.netcel .fieldgroup                                         { padding:3px; border:1px solid #e7e7e7; border-bottom:none; zoom:1; }
.netcel .formOuter                                          { border-bottom:1px solid #e7e7e7; margin-bottom:15px; zoom:1; }
.netcel .fieldgroup .control_container, .netcel .productsGroup .control_container          { margin:15px; padding:0; min-height:0; padding-bottom:1px; width:auto; }

.cf:after, .control_container:after                         { clear: both; }
.cf:before, .cf:after, .control_container:before, .control_container:after { content: " "; display: table; }

.cf, .control_container                                     { clear:both; display: block; }

.netcel .fieldgroup .control_container input                { min-height:0; }
.netcel .fieldgroup .control_container input[type=text], .netcel .fieldgroup .control_container textarea     { width:220px; }
div.netcel input, div.netcel select                         { padding:6px 2px; }
div.netcel input[type=radio], div.netcel input[type=checkbox]   { padding:0; margin:0; width:auto; }
div.netcel select { text-indent:-1px; padding-left:6px; padding-right:4px; }
.netcel .fieldgroup .control_container .control_input       {  width:310px; }
.netcel .fieldgroup .control_container .control_input label {  width:auto; min-height:0; font-size:12px; }

.netcel .fieldgroup .control_container .control_input .radio-button label   { padding-right:10px; }

.netcel .fieldgroup .control_container .control_label   { width:235px; }
.netcel .fieldgroup .control_container .control_label label{ margin-right:35px; padding:6px 0; font-weight:normal; width:auto; }

.netcel .fieldgroup div.control_input_nolabel  { width:auto; padding:0;}

.netcel .fieldgroup p{margin:15px 25px; font-size:12px;}

.netcel .fieldgroup, .netcel .fieldgroup li, .netcel .fieldgroup label {font-size:12px;}

/**product purchase end*/

.icon-help{width:13px;height:13px;display:inline-block;text-indent:-9999px;background:transparent url(/images/icons/icon-help.png) no-repeat left top;margin:1% 0 0 2%;float:left}