@charset "UTF-8";
@import 'https://fonts.googleapis.com/css?family=Libre+Franklin:400,600,700';
@import 'https://fonts.googleapis.com/css?family=Poppins:400,600';
@import 'https://fonts.googleapis.com/css?family=Roboto+Slab:300';
/* stylelint-disable */
/* stylelint-enable */
/**
 * NORMALIZE
 *
 * Normalization of tags
 */
/*! 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: 700; }

/**
 * 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: #ffff00;
  color: #000000; }

/**
 * 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: 700; }

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

td,
th {
  padding: 0; }

/**
 * BASE
 *
 * Basic style for tag and general classes
 */
/* ------------------------------------ *   #BASE
\* ------------------------------------ */
html, body {
  height: 100%;
  margin: 0; }

html {
  box-sizing: border-box;
  height: 100%; }

body {
  padding: 0;
  margin: 0;
  color: #555555;
  font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  /* Fix for webkit rendering */
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
  font-variant-ligatures: common-ligatures; }

*, *:before, *:after {
  box-sizing: inherit; }

*:focus, textarea:focus, input:focus, button:focus, a, a:hover, a:active, a:focus {
  outline: none; }

a {
  color: #395487;
  transition-property: color;
  transition-duration: 0.35s; }
  a:hover {
    color: #486aab; }

.entry-content {
  margin-top: 0; }

.entry-title {
  color: #395487;
  margin-bottom: 30px;
  border-bottom: 2px solid #e6e6e6;
  padding-bottom: 10px;
  line-height: 1.15; }
  .entry-title .entry-title__author {
    font-size: 15px;
    color: #aaaaaa;
    font-weight: 400; }
    .entry-title .entry-title__author strong {
      color: #777777;
      font-weight: 400; }

[class*="content_type-archive"] .entry-title {
  color: #5aa39c; }

[class*="content_type-news"]:not([class*="category-archivio"]):not([class*="category-indice-dei-nomi"]) .entry-title {
  color: #ad825c; }

[class*="content_type-stories"] .entry-title {
  color: #d86044; }

[class*="content_type-tutorial"] .entry-title {
  color: #f2ab3f; }

/* ------------------------------------ *   #IMAGES
\* ------------------------------------ */
/* Image with caption */
.entry-content .wp-caption {
  padding: 7px;
  margin: 0 0 10px 0;
  border-radius: 3px;
  border: 1px solid #e6e6e6; }
  .entry-content .wp-caption img[class*="wp-image"] {
    padding: 0;
    border: 0;
    border-radius: 0; }
  .entry-content .wp-caption.alignleft {
    margin-right: 20px; }
  .entry-content .wp-caption.alignright {
    margin-left: 20px; }

/* Image no caption */
.entry-content img[class*="wp-image"] {
  margin: 0 0 10px 0;
  padding: 7px;
  border-radius: 3px;
  border: 1px solid #e6e6e6; }
  .entry-content img[class*="wp-image"].alignleft {
    margin-right: 20px; }
  .entry-content img[class*="wp-image"].alignright {
    margin-left: 20px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .entry-content .wp-caption {
    width: 100%;
    max-width: 100% !important; }
    .entry-content .wp-caption img[class*="wp-image"] {
      width: 100%; }
      .entry-content .wp-caption img[class*="wp-image"].alignleft, .entry-content .wp-caption img[class*="wp-image"].alignright {
        margin-right: 0;
        margin-left: 0; }
  /* Image no caption */
  .entry-content img[class*="wp-image"] {
    width: 100%; }
    .entry-content img[class*="wp-image"].alignleft, .entry-content img[class*="wp-image"].alignright {
      margin-right: 0;
      margin-left: 0; } }

@media all and (max-width: 768px) {
  .entry-title {
    margin-bottom: 20px;
    padding-bottom: 5px;
    font-size: 28px; } }

@media all and (max-width: 480px) {
  .entry-title {
    margin-bottom: 20px;
    padding-bottom: 5px;
    font-size: 24px; } }

/**
 * TYPOGRAPHY
 *
 * Definition of typographic styles
 */
/* ------------------------------------ *   #HEADINGS
\* ------------------------------------ */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  margin: 0;
  padding: 0; }

h1 {
  font-size: 36px;
  line-height: 1.23;
  margin-bottom: .3em; }

h2 {
  font-size: 28px;
  line-height: 1.23;
  margin-bottom: .3em; }

h3 {
  font-size: 24px;
  line-height: 1;
  margin-bottom: .3em; }

h4 {
  font-size: 15px;
  line-height: 0.8;
  margin-bottom: .3em; }

h5 {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.2;
  margin-top: 20px;
  margin-bottom: 10px;
  color: #395487; }

p {
  margin: 0 0 10px 0;
  padding: 0;
  color: #555555;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75; }
  
p * {
  font-size: 15px;
}

/* ------------------------------------ *   #LINKS
\* ------------------------------------ */
a {
  color: #395487;
  text-decoration: none; }
  a:hover {
    color: #5aa39c; }
  a h1, a h2, a h3, a h4, a h5, a h6 {
    color: inherit; }

.entry-content p a {
  text-decoration: underline; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit; }

/* ------------------------------------ *   #LISTS
\* ------------------------------------ */
.entry-content ul, .entry-content ol {
  margin: 0;
  padding: 10px 0 10px 30px; }
  .entry-content ul li, .entry-content ol li {
    color: #555555;
    font-size: 15px;
    line-height: 1.6; }

/* ------------------------------------ *   #HR
\* ------------------------------------ */
hr {
  margin: 0;
  padding: 0;
  border: none;
  border-top: 1px solid #e6e6e6; }

/* ------------------------------------ *   #EMPTY-STATES
\* ------------------------------------ */
.empty-state {
  font-weight: 400;
  font-size: 24px;
  line-height: 1.3; }

/* ------------------------------------ *   #CAPTIONS
\* ------------------------------------ */
.n7-caption, .entry-content .wp-caption .wp-caption-text {
  margin: 7px 0 0 0;
  text-align: left;
  font-style: italic;
  font-size: 14px;
  color: #ababab;
  line-height: 1.3; }

/**
 * FORMS
 *
 * Style for forms elements
 */
/* ------------------------------------ *   #GENERAL
\* ------------------------------------ */
select, textarea, input[type="date"], input[type="datetime"],
input[type="datetime-local"], input[type="email"],
input[type="month"], input[type="number"], input[type="password"],
input[type="search"], input[type="tel"], input[type="text"],
input[type="time"], input[type="url"], input[type="week"] {
  padding: 0 8px;
  border: 1px solid #cccccc;
  border-radius: 3px;
  color: #555555;
  font-size: 14px;
  font-weight: 400;
  line-height: 30px;
  box-shadow: inset 0px 0px 6px 0px rgba(0, 0, 0, 0.05);
  outline: none;
  transition-property: border;
  transition-duration: 0.35s;
  height: 30px; }
  select:focus, select:active, textarea:focus, textarea:active, input[type="date"]:focus, input[type="date"]:active, input[type="datetime"]:focus, input[type="datetime"]:active,
  input[type="datetime-local"]:focus,
  input[type="datetime-local"]:active, input[type="email"]:focus, input[type="email"]:active,
  input[type="month"]:focus,
  input[type="month"]:active, input[type="number"]:focus, input[type="number"]:active, input[type="password"]:focus, input[type="password"]:active,
  input[type="search"]:focus,
  input[type="search"]:active, input[type="tel"]:focus, input[type="tel"]:active, input[type="text"]:focus, input[type="text"]:active,
  input[type="time"]:focus,
  input[type="time"]:active, input[type="url"]:focus, input[type="url"]:active, input[type="week"]:focus, input[type="week"]:active {
    border-color: #395487;
    box-shadow: inset 0 0 6px 0 rgba(0, 0, 0, 0.05), 0 0 2px fade(#395487, 20%); }
  select.small, textarea.small, input[type="date"].small, input[type="datetime"].small,
  input[type="datetime-local"].small, input[type="email"].small,
  input[type="month"].small, input[type="number"].small, input[type="password"].small,
  input[type="search"].small, input[type="tel"].small, input[type="text"].small,
  input[type="time"].small, input[type="url"].small, input[type="week"].small {
    height: 26px;
    padding: 0 8px;
    font-size: 14px;
    line-height: 26px; }
  select::-webkit-input-placeholder, textarea::-webkit-input-placeholder, input[type="date"]::-webkit-input-placeholder, input[type="datetime"]::-webkit-input-placeholder,
  input[type="datetime-local"]::-webkit-input-placeholder, input[type="email"]::-webkit-input-placeholder,
  input[type="month"]::-webkit-input-placeholder, input[type="number"]::-webkit-input-placeholder, input[type="password"]::-webkit-input-placeholder,
  input[type="search"]::-webkit-input-placeholder, input[type="tel"]::-webkit-input-placeholder, input[type="text"]::-webkit-input-placeholder,
  input[type="time"]::-webkit-input-placeholder, input[type="url"]::-webkit-input-placeholder, input[type="week"]::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #ababab;
    font-size: 14px; }
  select::-moz-placeholder, textarea::-moz-placeholder, input[type="date"]::-moz-placeholder, input[type="datetime"]::-moz-placeholder,
  input[type="datetime-local"]::-moz-placeholder, input[type="email"]::-moz-placeholder,
  input[type="month"]::-moz-placeholder, input[type="number"]::-moz-placeholder, input[type="password"]::-moz-placeholder,
  input[type="search"]::-moz-placeholder, input[type="tel"]::-moz-placeholder, input[type="text"]::-moz-placeholder,
  input[type="time"]::-moz-placeholder, input[type="url"]::-moz-placeholder, input[type="week"]::-moz-placeholder {
    /* Firefox 19+ */
    color: #ababab;
    font-size: 14px; }
  select:-ms-input-placeholder, textarea:-ms-input-placeholder, input[type="date"]:-ms-input-placeholder, input[type="datetime"]:-ms-input-placeholder,
  input[type="datetime-local"]:-ms-input-placeholder, input[type="email"]:-ms-input-placeholder,
  input[type="month"]:-ms-input-placeholder, input[type="number"]:-ms-input-placeholder, input[type="password"]:-ms-input-placeholder,
  input[type="search"]:-ms-input-placeholder, input[type="tel"]:-ms-input-placeholder, input[type="text"]:-ms-input-placeholder,
  input[type="time"]:-ms-input-placeholder, input[type="url"]:-ms-input-placeholder, input[type="week"]:-ms-input-placeholder {
    /* IE 10+ */
    color: #ababab;
    font-size: 14px; }
  select:-moz-placeholder, textarea:-moz-placeholder, input[type="date"]:-moz-placeholder, input[type="datetime"]:-moz-placeholder,
  input[type="datetime-local"]:-moz-placeholder, input[type="email"]:-moz-placeholder,
  input[type="month"]:-moz-placeholder, input[type="number"]:-moz-placeholder, input[type="password"]:-moz-placeholder,
  input[type="search"]:-moz-placeholder, input[type="tel"]:-moz-placeholder, input[type="text"]:-moz-placeholder,
  input[type="time"]:-moz-placeholder, input[type="url"]:-moz-placeholder, input[type="week"]:-moz-placeholder {
    /* Firefox 18- */
    color: #ababab;
    font-size: 14px; }

/* Set Height */
textarea, input[type="date"], input[type="datetime"],
input[type="datetime-local"], input[type="email"],
input[type="month"], input[type="number"], input[type="password"],
input[type="search"], input[type="tel"], input[type="text"],
input[type="time"], input[type="url"], input[type="week"] {
  height: 30px; }

/**
 * TABLE
 *
 * Basic style for tables
 */
/* ------------------------------------ *   #TABLE
\* ------------------------------------ */
.n7-table {
  border-collapse: collapse;
  border: 1px solid #e6e6e6;
  font-size: 14px; }
  .n7-table.table-full {
    width: 100%; }
  .n7-table thead {
    background-color: #f7f7f7;
    border-bottom: 1px solid #e6e6e6; }
  .n7-table th {
    font-weight: 400;
    font-size: 15px; }
  .n7-table th, .n7-table td {
    padding: 6px 10px;
    text-align: left; }
  .n7-table td {
    font-size: 14px; }
  .n7-table tr:nth-child(even) {
    background-color: #ffffff; }
  .n7-table tr.clickable th {
    cursor: pointer; }
  .n7-table .n7-table__header-row {
    text-transform: uppercase;
    background-color: #f7f7f7; }
    .n7-table .n7-table__header-row:nth-child(even) {
      background-color: #f7f7f7; }
    .n7-table .n7-table__header-row td {
      font-size: 15px; }

/* ------------------------------------ *   #TABLEPRESS
\* ------------------------------------ */
.dataTables_wrapper .tablepress {
  border: 1px solid #e6e6e6; }
  .dataTables_wrapper .tablepress thead th,
  .dataTables_wrapper .tablepress tfoot th {
    background-color: #b7b7b7;
    transition: all 0.35s ease;
    border-bottom: none;
    color: #ffffff; }
  .dataTables_wrapper .tablepress .sorting:hover,
  .dataTables_wrapper .tablepress .sorting_asc,
  .dataTables_wrapper .tablepress .sorting_desc {
    background-color: #9e9e9e; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * SECONDARY NAVIGATION
 *
 * Secondary navigation
 */
/* ------------------------------------ *   #NAV-SEC
\* ------------------------------------ */
.n7-breadcrumbs {
  border-bottom: 1px solid #e6e6e6;
  padding: 30px 0 5px 0;
  margin-bottom: 25px; }
  .n7-breadcrumbs a {
    color: #ababab;
    font-size: 15px; }
    .n7-breadcrumbs a:hover {
      color: #5aa39c; }
  .n7-breadcrumbs .current-item {
    color: #555555; }
    .n7-breadcrumbs .current-item:hover {
      color: #555555; }
  .n7-breadcrumbs .breadcrumb-separator {
    display: inline-block;
    margin: 0 5px; }

.content_type-archive .n7-breadcrumbs .breadcrumb-separator {
  color: #5aa39c; }

.content_type-stories .n7-breadcrumbs .breadcrumb-separator {
  color: #d86044; }

.content_type-news .n7-breadcrumbs .breadcrumb-separator {
  color: #ad825c; }

.content_type-tutorial .n7-breadcrumbs .breadcrumb-separator {
  color: #f2ab3f; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 768px) {
  .n7-breadcrumbs {
    padding: 15px 0 5px 0;
    margin-bottom: 15px; } }

@media all and (max-width: 480px) {
  .n7-breadcrumbs {
    padding: 20px 0 10px 0;
    margin-bottom: 10px; }
    .n7-breadcrumbs a {
      font-size: 13px; } }

/**
 * PAGE SUBMENU
 *
 * Main menu navigations
 */
/* ------------------------------------ *   #PAGE SUBMENU
\* ------------------------------------ */
.n7-back-to-parent {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  margin-bottom: 15px;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.05);
  border-radius: 3px;
  border: 1px solid #e6e6e6; }
  .n7-back-to-parent:before {
    display: block;
    font-family: "fontAwesome";
    content: '\f104';
    margin: 0;
    border-right: 1px solid #e6e6e6;
    padding: 4px 20px;
    font-size: 24px;
    color: #555555;
    transition: all 0.35s; }
  .n7-back-to-parent .n7-back-to-parent__text {
    padding: 10px 10px;
    color: #555555; }
  .n7-back-to-parent .n7-back-to-parent__link-text {
    display: block;
    color: #d86044;
    font-size: 15px;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-weight: 700; }
  .n7-back-to-parent:hover:before {
    color: #5aa39c; }
  .content_type-news .n7-back-to-parent .n7-back-to-parent__link-text {
    color: #ad825c; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * BUTTONS
 *
 * Style for all types of buttons
 */
/* ------------------------------------ *   #STANDARD-BUTTON
\* ------------------------------------ */
.n7-btn, .n7-archive-mobile-toggle__button {
  display: inline-block;
  position: relative;
  box-sizing: border-box;
  height: 36px;
  padding: 0 15px;
  margin: 0 3px;
  border: 0;
  border-radius: 3px;
  background: #395487;
  /* Old browsers */
  background: linear-gradient(140.89deg, #395487 0%, #5aa39c 100%);
  color: #ffffff;
  font-size: 15px;
  font-weight: 400;
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  line-height: 36px;
  vertical-align: top;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  text-shadow: none;
  cursor: pointer;
  transition: all 0.35s;
  /* Disabled */
  /* Active */
  /* Label, sometimes inside a SPAN*/
  /* Icon inside button */ }
  .n7-btn:hover, .n7-archive-mobile-toggle__button:hover {
    background: #395487;
    /* Old browsers */
    background: linear-gradient(140.89deg, #395487 60%, #5aa39c 100%);
    border-color: #e6e6e6;
    color: #ffffff;
    text-decoration: none;
    text-shadow: none; }
  .n7-btn.disabled, .disabled.n7-archive-mobile-toggle__button, .n7-btn:disabled, .n7-archive-mobile-toggle__button:disabled, .n7-btn.disabled:hover, .disabled.n7-archive-mobile-toggle__button:hover, .n7-btn:disabled:hover, .n7-archive-mobile-toggle__button:disabled:hover {
    background: #395487;
    /* Old browsers */
    background: linear-gradient(140.89deg, #395487 60%, #5aa39c 100%);
    color: rgba(255, 255, 255, 0.4);
    border-color: #e6e6e6;
    background-color: #ffffff;
    cursor: not-allowed;
    opacity: .5; }
  .n7-btn.active, .active.n7-archive-mobile-toggle__button, .n7-btn:active, .n7-archive-mobile-toggle__button:active, .n7-btn.active:hover, .active.n7-archive-mobile-toggle__button:hover, .n7-btn:active:hover, .n7-archive-mobile-toggle__button:active:hover {
    color: #5aa39c;
    border-color: #5aa39c;
    background-color: #ffffff; }
  .n7-btn .n7-icon, .n7-archive-mobile-toggle__button .n7-icon {
    display: inline;
    vertical-align: top;
    font-size: 12px;
    line-height: 36px;
    margin: 0 3px; }

/* ------------------------------------ *   #SIZES
\* ------------------------------------ */
.n7-btn, .n7-archive-mobile-toggle__button {
  /* Mostly used into bars */ }
  .n7-btn.n7-btn-s, .n7-btn-s.n7-archive-mobile-toggle__button {
    height: 22px;
    line-height: 23px;
    font-size: 13px; }
  .n7-btn.n7-btn-l, .n7-btn-l.n7-archive-mobile-toggle__button {
    height: 50px;
    padding: 0 30px;
    line-height: 50px; }

/* ------------------------------------ *   #LIGHT-BUTTON
\* ------------------------------------ */
/* No background */
.n7-btn-light {
  padding: 0 4px;
  color: #ffffff;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  text-decoration: none;
  line-height: 36px;
  /* Disabled */
  /* Active */ }
  .n7-btn-light:hover {
    color: #5aa39c;
    background-color: transparent; }
  .n7-btn-light.disabled, .n7-btn-light:disabled, .n7-btn-light.disabled:hover, .n7-btn-light:disabled:hover {
    color: rgba(255, 255, 255, 0.4);
    background-color: transparent;
    border: 0;
    cursor: not-allowed; }
  .n7-btn-light.active, .n7-btn-light:active, .n7-btn-light.active:hover, .n7-btn-light:active:hover {
    color: #5aa39c;
    background-color: transparent;
    border: 0; }

/* ------------------------------------ *   #CALL-TO-ACTION-BUTTON
\* ------------------------------------ */
.n7-btn-cta {
  background-color: rgba(57, 84, 135, 0.15);
  border-color: #2a3e63;
  color: #5aa39c;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  /* Disabled */
  /* Active */ }
  .n7-btn-cta:hover {
    background-color: #486aab;
    border-color: #2a3e63;
    color: #ffffff; }
  .n7-btn-cta.disabled, .n7-btn-cta:disabled, .n7-btn-cta.disabled:hover, .n7-btn-cta:disabled:hover {
    background-color: rgba(57, 84, 135, 0.9);
    border-color: #2a3e63;
    color: rgba(255, 255, 255, 0.4);
    cursor: not-allowed; }
  .n7-btn-cta.active, .n7-btn-cta:active, .n7-btn-cta.active:hover, .n7-btn-cta:active:hover {
    background-color: #486aab;
    border-color: #2a3e63;
    color: #5aa39c; }

/* ------------------------------------ *   #FACEBOOK-BUTTON
\* ------------------------------------ */
/* Facebook link with icon and text */
.n7-btn-fb-txt {
  color: #3b5998;
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  font-size: 14px; }
  .n7-btn-fb-txt a:before {
    content: "\f09a";
    font-family: "fontAwesome";
    padding-right: 7px; }

/**
 * DATE
 *
 * Date indication
 */
/* ------------------------------------ *   #DATE
\* ------------------------------------ */
.n7-date {
  color: #6d9e33;
  font-family: "Roboto Slab", serif;
  font-size: 13px;
  display: block;
  text-transform: capitalize; }
  .n7-date:before {
    content: "\f073";
    margin-right: 5px;
    font-family: FontAwesome; }
  .n7-date .fa-calendar {
    margin-right: 5px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * FEATURED BOX
 *
 * Featured box widget
 */
/* ------------------------------------ *   #TOOLS-BOXES
\* ------------------------------------ */
.n7-focus-box {
  margin-bottom: 45px;
  background: #ffffff;
  border-radius: 3px;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.1);
  width: 49.15254%;
  float: left;
  margin-right: 1.69492%; }
  .n7-focus-box:nth-of-type(2) {
    margin-right: 0; }
  .n7-focus-box .n7-focus-box__title {
    font-size: 20px;
    line-height: 1.2;
    color: #555555;
    margin: 0;
    padding: 10px 0 10px; }
  .n7-focus-box .n7-focus-box__image {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    min-height: 172px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    cursor: pointer; }
  .n7-focus-box .n7-focus-box__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    min-height: 140px;
    padding: 0 80px; }
  .n7-focus-box .n7-focus-box__description {
    font-size: 14px; }

/* ------------------------------------ *   #VIDEO-BOXES
\* ------------------------------------ */
.n7-focus-box.n7-focus-box-video .n7-focus-box__image {
  position: relative; }
  .n7-focus-box.n7-focus-box-video .n7-focus-box__image:before {
    content: " ";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.35); }
  .n7-focus-box.n7-focus-box-video .n7-focus-box__image .n7-focus-box__video_icon {
    position: relative;
    z-index: 2;
    display: block;
    background: url("../images/play-icon@2x.png") no-repeat center center;
    width: 100%;
    height: 68px;
    background-size: contain; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .n7-focus-box .n7-focus-box__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    min-height: 140px;
    padding: 0 40px; } }

@media all and (max-width: 768px) {
  .n7-focus-box {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
    .n7-focus-box:last-child {
      margin-bottom: 30px; } }

/**
 * GUIDED SEARCH
 *
 * Guided search form made using Caldera Forms
 *
 */
/* ------------------------------------ *   #GUIDED-SEARCH
\* ------------------------------------ */
body .caldera-grid {
  padding: 10px 20px;
  background-color: #f7f7f7;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  /* Radio labels */
  /* Radio */
  /* Button */
  /* Errors */
  /* Radio labels */ }
  body .caldera-grid .radio-inline {
    color: #555555; }
  body .caldera-grid .radio-inline input[type=radio] {
    margin-right: 5px; }
  body .caldera-grid input[type=submit].n7-btn, body .caldera-grid input[type=submit].n7-archive-mobile-toggle__button {
    margin-top: 10px;
    padding: 0 10px !important;
    border: 0 !important;
    height: 22px !important;
    line-height: 25px !important;
    font-size: 13px !important;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    background: #395487;
    /* Old browsers */
    background: linear-gradient(140.89deg, #395487 0%, #5aa39c 100%);
    border-color: #2a3e63 !important;
    color: #ffffff !important;
    text-shadow: 0 0 0 !important;
    transition: all 0.35s; }
    body .caldera-grid input[type=submit].n7-btn:hover, body .caldera-grid input[type=submit].n7-archive-mobile-toggle__button:hover {
      background: #395487;
      /* Old browsers */
      background: linear-gradient(140.89deg, #395487 60%, #5aa39c 100%); }
  body .caldera-grid .parsley-required {
    color: #e74f62; }
  body .caldera-grid .has-error .radio-inline,
  body .caldera-grid .radio-inline.parsley-required {
    color: #555555; }

.n7-guided-search__title p {
  font-size: 24px;
  font-weight: 700; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * TOP HEADER
 *
 * Top header
 */
/* ------------------------------------ *   #HEADER
\* ------------------------------------ */
.n7-header {
  /* Loghi */ }
  .n7-header .n7-header__topbar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
        justify-content: flex-end;
    -ms-flex-align: center;
        align-items: center;
    background-color: #a2d1f0; }
  .n7-header .n7-header__topbar-logos {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 234px; }
  .n7-header .n7-header__topbar-logo {
    float: left;
    height: 40px;
    overflow: hidden;
    background-color: #ffffff; }
    .n7-header .n7-header__topbar-logo a {
      display: block;
      height: 40px; }
    .n7-header .n7-header__topbar-logo img {
      height: 40px;
      width: auto; }
  .n7-header .n7-header__site-logo {
    min-height: 100px; }
    .n7-header .n7-header__site-logo img {
      max-width: none; }
  .n7-header .n7-header__logo-branding-wrapper {
    display: -ms-flexbox;
    display: flex; }
  .n7-header .n7-header__site-branding {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    padding-left: 20px; }
  .n7-header .n7-header__main-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start;
    -ms-flex-align: center;
        align-items: center;
    padding: 18px 25px;
    background-color: #f7f7f7; }
  .n7-header .n7-header__site-description {
    max-width: 180px;
    margin-bottom: 0;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4; }
  .n7-header .n7-header__site-title {
    margin-bottom: 0;
    color: #395487;
    font-size: 36px;
    line-height: 1.1; }

/* ------------------------------------ *   #MOBILE-NAV-TOGGLE
\* ------------------------------------ */
.n7-nav-mobile-toggle {
  padding: 10px 0 10px 10px;
  background-color: transparent;
  border: 0px solid #f7f7f7;
  color: #395487; }
  .n7-nav-mobile-toggle [class^="fa"] {
    font-size: 20px; }
  .n7-nav-mobile-toggle .n7-nav-mobile-toggle__label {
    display: none; }
  .n7-nav-mobile-toggle:active, .n7-nav-mobile-toggle:hover {
    background-color: transparent !important;
    -webkit-tap-highlight-color: transparent; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1150px) {
  .n7-header .n7-header__site-branding {
    padding-left: 10px; }
  .n7-header .n7-header__site-title {
    font-size: 32px; }
  .n7-header .n7-header__site-description {
    font-size: 13px; }
  .n7-header .n7-header__site-logo {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    min-height: 0; }
    .n7-header .n7-header__site-logo img {
      height: 64px;
      width: auto; } }

@media all and (max-width: 960px) {
  .n7-header .n7-header__logo-branding-wrapper {
    width: auto;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px; }
  .n7-header .n7-header__site-branding {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    padding-left: 10px; }
  .n7-header .n7-header__main-bar {
    display: block;
    padding: 18px 18px; }
  .n7-header .n7-header__site-description {
    margin-bottom: 0;
    max-width: none;
    font-size: 12px; }
  .n7-header .n7-header__site-logo {
    min-height: 0; }
    .n7-header .n7-header__site-logo img {
      height: 60px;
      width: auto; } }

@media all and (max-width: 700px) {
  .n7-header .n7-header__logo-branding-wrapper {
    margin-bottom: 0; }
  .n7-header .n7-main-navigation {
    display: none; }
  .n7-header .n7-header__topbar {
    display: none; }
  .n7-header .n7-header__site-branding {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: start;
        justify-content: flex-start;
    padding-left: 10px;
    -ms-flex-align: start;
        align-items: flex-start; }
  .n7-header .n7-header__main-bar {
    padding: 15px; }
  .n7-header .n7-header__main-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center; }
  .n7-header .n7-header__site-title {
    display: block;
    font-size: 24px; }
  .n7-header .n7-header__site-description {
    display: block;
    max-width: 140px;
    margin-left: 0; }
  .n7-header .n7-nav-mobile-toggle {
    display: block; } }

/* Retina */
/**
 * HEADINGS
 *
 * Style for all types of module or block headings
 */
/* ------------------------------------ *   #MODULE-HEADINGS
\* ------------------------------------ */
.n7-module-heading {
  font-size: 24px;
  border-top: 6px solid #395487;
  color: #395487;
  display: inline-block;
  padding-top: 5px; }
  .n7-module-heading.n7-type-news {
    color: #ad825c;
    border-top: 6px solid #ad825c; }

/**
 * FOOTER
 *
 * Footer
 */
/* ------------------------------------ *   #FOOTER
\* ------------------------------------ */
.n7-footer {
  background: linear-gradient(0deg, #ffffff 0%, #e6e6e6 100%);
  /* Widget style */ }
  .n7-footer .n7-footer__separator {
    height: 2px;
    background: #ffffff; }
  .n7-footer .n7-footer-content {
    display: -ms-flexbox;
    display: flex;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto; }
  .n7-footer .n7-footer__widget-left,
  .n7-footer .n7-footer__widget-center,
  .n7-footer .n7-footer__widget-right {
    width: 32.20339%;
    float: left;
    padding: 25px 0; }
  .n7-footer .n7-footer__widget-left,
  .n7-footer .n7-footer__widget-center {
    margin-right: 1.69492%; }
    .n7-footer .n7-footer__widget-left .n7-btn-fb-txt,
    .n7-footer .n7-footer__widget-center .n7-btn-fb-txt {
      margin-bottom: 5px; }
  .n7-footer .widget-title {
    font-size: 13px;
    font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
    font-weight: 400;
    color: #555555;
    margin-bottom: 5px; }
  .n7-footer .textwidget,
  .n7-footer .textwidget p {
    font-size: 12px;
    color: #ababab; }

/* ------------------------------------ *   #FOOTER-MENU
\* ------------------------------------ */
.n7-footer__widget-center {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .n7-footer__widget-center .menu {
    margin: 0;
    padding: 0; }
    .n7-footer__widget-center .menu a {
      display: inline-block;
      margin-bottom: 5px;
      color: #555555; }
      .n7-footer__widget-center .menu a:hover {
        color: #395487; }

/* ------------------------------------ *   #FOOTER-LOGO
\* ------------------------------------ */
.n7-footer__widget-right {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .n7-footer__widget-right a {
    margin-right: 15px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1120px) {
  .n7-footer-content {
    padding-left: 20px;
    padding-right: 20px; } }

@media all and (max-width: 768px) {
  .n7-footer .n7-footer-content {
    display: block;
    padding-top: 20px; }
  .n7-footer .n7-footer__widget-left,
  .n7-footer .n7-footer__widget-center,
  .n7-footer .n7-footer__widget-right {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
    float: none;
    padding: 0; } }

@media all and (max-width: 480px) {
  .n7-footer-content {
    padding-left: 10px;
    padding-right: 10px; } }

/**
 * LANGUAGE SELECTOR
 *
 * Language selector from WPML.
 */
/* ------------------------------------ *   #N7-FOOTER-NAV
\* ------------------------------------ */
.n7-language-selector {
  height: 40px;
  background-color: #ffffff; }
  .n7-language-selector .wpml-ls {
    height: 40px;
    padding: 0; }
  .n7-language-selector .wpml-ls-legacy-dropdown > ul {
    height: 40px;
    padding: 0 10px 0 5px; }
  .n7-language-selector a.wpml-ls-item-toggle {
    height: 40px;
    padding-right: 20px;
    padding-top: 0;
    padding-bottom: 0;
    color: #395487;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    line-height: 40px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * SECONDARY NAVIGATION
 *
 * Secondary navigation
 */
/* ------------------------------------ *   #NAV-SEC
\* ------------------------------------ */
.n7-nav-sec {
  height: 40px;
  float: none; }
  .n7-nav-sec .menu {
    height: 40px;
    float: right; }
  .n7-nav-sec .menu-item {
    height: 40px;
    padding: 0;
    font-weight: 400;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-size: 14px; }
    .n7-nav-sec .menu-item a, .n7-nav-sec .menu-item a:hover {
      padding: 0 8.5px;
      color: #395487;
      line-height: 40px;
      border-right: 1px solid transparent;
      border-left: 1px solid transparent; }
    .n7-nav-sec .menu-item.is-cta {
      font-weight: 700; }
    .n7-nav-sec .menu-item.is-cta:hover {
      color: #395487; }
    .n7-nav-sec .menu-item.fb-link {
      margin-left: 10px;
      padding: 0;
      text-align: center;
      background: linear-gradient(230.89deg, #395487 0%, #5aa39c 100%);
      width: 36px; }
      .n7-nav-sec .menu-item.fb-link a {
        padding: 0 7.5px;
        color: #ffffff;
        visibility: hidden;
        font-size: 0; }
      .n7-nav-sec .menu-item.fb-link a:before {
        content: "\f09a";
        font-family: "fontAwesome";
        visibility: visible;
        font-size: 14px;
        display: block; }
  .n7-nav-sec .menu-item-has-children:hover {
    background: #ffffff; }
    .n7-nav-sec .menu-item-has-children:hover a {
      border-right: 1px solid #e6e6e6;
      border-left: 1px solid #e6e6e6; }
  .n7-nav-sec .menu-item-has-children > a::after {
    font-family: "fontAwesome";
    content: '\f107';
    margin-left: 5px; }

/* ------------------------------------ *   #DROPDOWN-MENU
\* ------------------------------------ */
.n7-nav-sec .sub-menu {
  padding: 15px;
  background: #ffffff;
  border-right: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.2);
  border-radius: 0 0 3px 3px; }
  .n7-nav-sec .sub-menu .menu-item {
    margin-bottom: 10px;
    height: auto;
    padding-bottom: 10px;
    border-bottom: 1px solid #f7f7f7; }
    .n7-nav-sec .sub-menu .menu-item a {
      padding: 0;
      border: 0;
      color: #555555;
      line-height: 1.25; }
      .n7-nav-sec .sub-menu .menu-item a:hover {
        color: #5aa39c; }
    .n7-nav-sec .sub-menu .menu-item:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 0; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 940px) {
  .n7-nav-sec .menu-item {
    font-size: 13px; }
    .n7-nav-sec .menu-item a, .n7-nav-sec .menu-item a:hover {
      padding: 0 5px; }
    .n7-nav-sec .menu-item.fb-link {
      margin-left: 5px; } }

@media all and (max-width: 820px) {
  .n7-nav-sec .menu-item {
    font-size: 12px; }
    .n7-nav-sec .menu-item a, .n7-nav-sec .menu-item a:hover {
      padding: 0 2px; }
    .n7-nav-sec .menu-item.fb-link {
      margin-left: 2px; } }

/**
 * MAIN NAVIGATION
 *
 * Main menu navigations
 */
/* ------------------------------------ *   #MAIN_NAVIGATION
\* ------------------------------------ */
.n7-main-navigation {
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  font-size: 15px; }
  .n7-main-navigation > div > ul {
    text-align: right; }
  .n7-main-navigation [class^="menu-main"] {
    float: right; }
  .n7-main-navigation .menu-item {
    float: none;
    display: inline-block;
    box-sizing: border-box;
    padding-right: 7.5px;
    padding-left: 7px;
    border-right: 1px solid transparent;
    border-top: 1px solid transparent;
    border-left: 1px solid transparent; }
    .n7-main-navigation .menu-item a {
      color: #555555;
      line-height: 1.8;
      border-bottom: 3px solid transparent; }
    .n7-main-navigation .menu-item.n7-type-home > a:hover {
      color: #395487; }
    .n7-main-navigation .menu-item.n7-type-archive > a:hover {
      color: #5aa39c; }
    .n7-main-navigation .menu-item.n7-type-stories > a:hover {
      color: #d86044; }
    .n7-main-navigation .menu-item.n7-type-tutorial > a:hover {
      color: #f2ab3f; }
  .n7-main-navigation .menu-item:last-child {
    margin-right: 0; }
  .n7-main-navigation .current-menu-item > a {
    border-bottom: 3px solid #395487;
    color: #395487; }
  .n7-main-navigation .current-menu-item.n7-type-home > a {
    border-bottom-color: #395487;
    color: #395487; }
  .n7-main-navigation .current-menu-item.n7-type-tutorial > a {
    border-bottom-color: #f2ab3f;
    color: #f2ab3f; }
  .n7-main-navigation .current-menu-item.n7-type-archive > a {
    border-bottom-color: #5aa39c;
    color: #5aa39c; }
  .n7-main-navigation .current-menu-item.n7-type-stories > a {
    border-bottom-color: #d86044;
    color: #d86044; }
  .n7-main-navigation .menu-item-has-children:hover {
    background: #ffffff;
    border-right: 1px solid #e6e6e6;
    border-top: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
    border-radius: 3px 3px 0 0; }
    .n7-main-navigation .menu-item-has-children:hover a {
      border-bottom: 3px solid transparent; }
  .n7-main-navigation .menu-item-has-children > a::after {
    font-family: "fontAwesome";
    content: '\f107';
    margin-left: 5px; }

/* ------------------------------------ *   #DROPDOWN-MENU
\* ------------------------------------ */
.main-navigation ul li:hover > ul, .main-navigation ul li.focus > ul {
  left: auto; }

.n7-main-navigation {
  /* Hover */
  /* Current */ }
  .n7-main-navigation .sub-menu {
    display: none;
    right: -1px;
    left: auto;
    padding: 15px;
    background: #ffffff;
    border-right: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    border-left: 1px solid #e6e6e6;
    box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.2);
    border-radius: 0 0 3px 3px;
    text-align: left; }
    .n7-main-navigation .sub-menu .menu-item {
      margin: 0 0 10px 0;
      padding: 0 0 10px 0;
      border-bottom: 1px solid #f7f7f7; }
      .n7-main-navigation .sub-menu .menu-item a {
        line-height: 1.3; }
      .n7-main-navigation .sub-menu .menu-item:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0; }
  .n7-main-navigation ul li:hover > ul.sub-menu {
    display: block;
    right: -1px; }
  .n7-main-navigation .n7-type-home .sub-menu .menu-item a:hover {
    color: #395487; }
  .n7-main-navigation .n7-type-tutorial .sub-menu .menu-item a:hover {
    color: #f2ab3f; }
  .n7-main-navigation .n7-type-archive .sub-menu .menu-item a:hover {
    color: #5aa39c; }
  .n7-main-navigation .n7-type-stories .sub-menu .menu-item a:hover {
    color: #d86044; }
  .n7-main-navigation .n7-type-tutorial .sub-menu .current-menu-item > a {
    color: #f2ab3f; }
  .n7-main-navigation .n7-type-archive .sub-menu .current-menu-item > a {
    color: #5aa39c; }
  .n7-main-navigation .n7-type-stories .sub-menu .current-menu-item > a {
    color: #d86044; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1150px) {
  .n7-main-navigation .menu-item {
    padding-right: 6px;
    padding-left: 6px; }
  .n7-main-navigation .sub-menu {
    margin-left: -7px; } }

@media all and (max-width: 1050px) {
  .n7-main-navigation .menu-item a {
    font-size: 14px; } }

@media all and (max-width: 960px) {
  .n7-main-navigation {
    float: none; }
    .n7-main-navigation:after {
      content: ' ';
      display: block;
      clear: both; }
    .n7-main-navigation [class^="menu-main"] {
      float: left; }
      .n7-main-navigation [class^="menu-main"] ul {
        text-align: left; } }

/**
 * MAIN MOBILE
 *
 * Mobile navigation
 *
 */
/* ------------------------------------ *   #MAIN-MOBILE
\* ------------------------------------ */
.n7-nav-mobile {
  display: none;
  position: fixed;
  overflow-x: hidden;
  overflow-y: auto;
  top: 0;
  bottom: 0;
  left: -290px;
  width: 280px;
  background-color: #555555;
  z-index: 1000;
  box-shadow: 1px 0 4px rgba(0, 0, 0, 0.3);
  transition: all 0.3s;
  /* Active state */
  /* Lst item of main elements */
  /* Smaller items */
  /* CTA */
  /* Close button */
  /* Loghi */ }
  .n7-nav-mobile.is-active {
    left: 0; }
  .n7-nav-mobile .menu {
    padding: 0;
    margin: 0;
    border-top: 1px solid #f7f7f7; }
  .n7-nav-mobile .menu-item {
    position: relative;
    padding: 0;
    margin: 0; }
    .n7-nav-mobile .menu-item a {
      display: block;
      padding: 12px 10px;
      color: #ffffff;
      font-size: 15px;
      border-bottom: 1px solid rgba(247, 247, 247, 0.3); }
  .n7-nav-mobile .n7-nav-mobile__main-list {
    padding-bottom: 5px;
    border-bottom: 1px solid rgba(247, 247, 247, 0.3); }
  .n7-nav-mobile .n7-nav-mobile__secondary a {
    padding: 7.5px 10px;
    color: #ffffff;
    font-weight: 400;
    background-color: rgba(0, 0, 0, 0.45);
    font-size: 14px;
    border-bottom: 1px solid rgba(247, 247, 247, 0.15); }
  .n7-nav-mobile .n7-nav-mobile__cta a {
    padding: 7.5px 10px;
    color: #ffffff;
    font-weight: 400;
    background-color: #395487;
    font-size: 14px;
    border-bottom: 1px solid rgba(247, 247, 247, 0.15); }
  .n7-nav-mobile .n7-nav-mobile__close {
    display: block;
    width: 280px;
    color: #ffffff;
    padding: 10px;
    font-size: 15px;
    text-align: right; }
  .n7-nav-mobile .n7-nav-mobile__logos {
    overflow: hidden;
    margin-top: 0;
    background-color: #ffffff; }
  .n7-nav-mobile .n7-nav-mobile__logo {
    float: left;
    height: 66px;
    overflow: hidden;
    background-color: #ffffff; }
    .n7-nav-mobile .n7-nav-mobile__logo a {
      display: block;
      height: 66px; }
    .n7-nav-mobile .n7-nav-mobile__logo img {
      height: 66px;
      width: auto; }
  .n7-nav-mobile .n7-nav-mobile__logo-1 img {
    width: 140px;
    height: 45px;
    height: auto; }
  .n7-nav-mobile .n7-nav-mobile__logo-2 img {
    width: 124px;
    height: 45px;
    height: auto; }

/* ------------------------------------ *   #SECOND-LEVEL
\* ------------------------------------ */
.n7-nav-mobile {
  /* Smaller items */ }
  .n7-nav-mobile .menu-item-has-children a {
    position: relative;
    padding-right: 55px; }
  .n7-nav-mobile .menu-item-has-children [class^="fa"] {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 45px;
    color: #ffffff;
    background-color: rgba(255, 255, 255, 0.15);
    border-left: 1px solid rgba(247, 247, 247, 0.3);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    font-size: 30px; }
  .n7-nav-mobile .menu-item-has-children .n7-close {
    display: none; }
  .n7-nav-mobile .menu-item-has-children.is-active .n7-open {
    display: none; }
  .n7-nav-mobile .menu-item-has-children.is-active .n7-close {
    display: -ms-flexbox;
    display: flex; }
  .n7-nav-mobile .menu-item-has-children.is-active ul {
    display: block; }
  .n7-nav-mobile .menu-item ul {
    display: none;
    padding: 0;
    margin: 0; }
  .n7-nav-mobile .menu-item .menu-item a {
    padding: 10px 10px;
    font-size: 14px;
    background-color: rgba(0, 0, 0, 0.15); }
  .n7-nav-mobile .menu-item-has-children.n7-nav-mobile__secondary:before {
    top: 9px; }
  .n7-nav-mobile .menu-item-has-children.n7-nav-mobile__secondary .menu-item a {
    background-color: rgba(0, 0, 0, 0.65); }

/* ------------------------------------ *   #LANGUAGES-MENU
\* ------------------------------------ */
.n7-nav-mobile .wpml-ls-item {
  background-color: rgba(0, 0, 0, 0.4); }
  .n7-nav-mobile .wpml-ls-item a {
    color: #ffffff;
    padding: 10px 10px;
    font-size: 14px;
    border-bottom: 1px solid rgba(247, 247, 247, 0.3); }
  .n7-nav-mobile .wpml-ls-item.wpml-ls-current-language {
    font-weight: 700; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 700px) {
  .n7-nav-mobile {
    display: block; } }

/**
 * FOOTER NAVIGATION
 *
 * Footer navigation
 */
/* ------------------------------------ *   #N7-FOOTER-NAV
\* ------------------------------------ */
[class^="menu-footer"] .menu {
  list-style-type: none; }

[class^="menu-footer"] .menu-item {
  display: inline;
  font-size: 13px;
  margin-right: 10px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * NEWS PREVIEW
 *
 * Style of news in preview
 */
/* ------------------------------------ *   #NEWS-PREVIEW
\* ------------------------------------ */
.n7-news-preview {
  margin-bottom: 30px;
  /* Image */ }
  .n7-news-preview .n7-news-preview__image {
    display: block;
    height: 150px;
    margin-bottom: 10px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    cursor: pointer;
    border-radius: 3px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2); }
  .n7-news-preview .n7-date {
    margin-bottom: 5px; }
  .n7-news-preview .n7-news-preview__title {
    color: #555555;
    font-size: 15px;
    font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
    font-weight: 600;
    line-height: 1.35;
    margin: 0; }

/* ------------------------------------ *   #MEDIA-QUERIES-HOMEPAGE
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .home .n7-widget-news .n7-widget-news__news-column {
    width: 100%;
    float: none; }
  .home .n7-widget-news .n7-widget-news__news {
    width: 49.15254%;
    float: left;
    clear: none;
    margin-right: 1.69492%; }
    .home .n7-widget-news .n7-widget-news__news:nth-child(2n) {
      margin-right: 0; }
  .home .n7-widget-news .n7-widget-news__focus-news {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
    .home .n7-widget-news .n7-widget-news__focus-news .n7-widget-news__image {
      width: 49.15254%;
      margin-right: 1.69492%; }
    .home .n7-widget-news .n7-widget-news__focus-news .n7-widget-news__content {
      width: 49.15254%; } }

@media all and (max-width: 480px) {
  .home .n7-widget-news .n7-widget-news__news-column {
    width: 100%;
    float: none; }
  .home .n7-widget-news .n7-widget-news__news {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
  .home .n7-widget-news .n7-widget-news__image {
    width: 31.03448%;
    margin-right: 3.44828%;
    height: 90px; }
  .home .n7-widget-news .n7-widget-news__content {
    width: 65.51724%; }
  .home .n7-widget-news .n7-widget-news__focus-news {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
    .home .n7-widget-news .n7-widget-news__focus-news .n7-widget-news__image {
      width: 31.03448%;
      margin-right: 3.44828%;
      height: 90px; }
    .home .n7-widget-news .n7-widget-news__focus-news .n7-widget-news__content {
      width: 65.51724%; }
    .home .n7-widget-news .n7-widget-news__focus-news .n7-widget-news__title {
      font-size: 14px; }
  .home {
    /* Image */ } }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * PAGE SUBMENU
 *
 * Main menu navigations
 */
/* ------------------------------------ *   #PAGE SUBMENU
\* ------------------------------------ */
.n7-page-submenu {
  margin: 0 0 10px;
  list-style-type: none;
  color: #395487;
  font-size: 15px;
  padding: 0; }
  .n7-page-submenu .n7-page-submenu__item {
    border-bottom: 1px solid #e6e6e6;
    padding: 12px 0;
    cursor: pointer; }
    .n7-page-submenu .n7-page-submenu__item:first-child {
      padding-top: 0; }
    .n7-page-submenu .n7-page-submenu__item:last-child {
      border-bottom: 0; }
    .n7-page-submenu .n7-page-submenu__item.current {
      font-weight: 600; }
      .n7-page-submenu .n7-page-submenu__item.current:hover a {
        color: #395487; }
    .n7-page-submenu .n7-page-submenu__item:hover a {
      color: #5aa39c; }

/* ------------------------------------ *   #PAGE SUBMENU-ALT
\* ------------------------------------ */
/* Placed on the right */
.n7-simple-page__sidebar .n7-page-submenu {
  border: 1px solid #e6e6e6;
  list-style: none;
  border-radius: 3px; }
  .n7-simple-page__sidebar .n7-page-submenu .n7-page-submenu__item {
    padding: 10px;
    font-size: 14px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .n7-page-submenu {
    border-top: 1px solid #e6e6e6; }
    .n7-page-submenu .n7-page-submenu__item:first-child {
      padding-top: 12px; } }

/**
 * PAGE SUBMENU THUMB
 *
 * Thumb on the left, under submenu
 */
/* ------------------------------------ *   #PAGE SUBMENU THUMB
\* ------------------------------------ */
.n7-page-submenu-thumb {
  font-style: italic;
  color: #e6e6e6; }
  .n7-page-submenu-thumb .n7-page-submenu-thumb__image {
    padding: 7px;
    margin: 0 0 10px 0;
    border-radius: 3px;
    border: 1px solid #e6e6e6;
    font-style: normal;
    color: #a1a1a1; }
    .n7-page-submenu-thumb .n7-page-submenu-thumb__image img {
      display: block;
      padding: 0;
      margin: 0;
      width: 100%;
      height: auto; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * STORY META BOX
 *
 * Box displaying met info of a video
 */
/* ------------------------------------ *   #STORY-META-BOX
\* ------------------------------------ */
.n7-story-meta-box {
  border: 1px solid #e6e6e6;
  font-size: 15px;
  padding: 10px;
  border-radius: 3px; }
  .n7-story-meta-box .n7-story-meta-box__label {
    display: block;
    color: #ababab; }
  .n7-story-meta-box .n7-story-meta-box__value {
    display: block;
    margin-bottom: 10px;
    color: #777777;
    font-weight: 700; }
  .n7-story-meta-box :last-child {
    margin-bottom: 0; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * STORY VIDEO GORUPING
 *
 * Box showing the grouping of stories's videos
 */
/* ------------------------------------ *   #STORY-VIDEO-GORUPING
\* ------------------------------------ */
.n7-story-video-grouping {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 110px;
  margin-bottom: 15px;
  padding: 0;
  background-size: cover;
  background-repeat: no-repeat;
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  text-align: center;
  line-height: 1.3;
  text-decoration: none !important;
  cursor: pointer;
  border-radius: 3px;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.05);
  overflow: hidden; }
  .n7-story-video-grouping:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.7); }
  .n7-story-video-grouping .n7-story-video-grouping__name {
    display: block;
    position: relative;
    z-index: 3;
    margin: 10px;
    font-size: 18px;
    font-weight: 700;
    color: #555555; }
  .n7-story-video-grouping .n7-story-video-grouping__count {
    display: block;
    position: relative;
    z-index: 2;
    font-size: 13px;
    font-weight: 400;
    color: #555555; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .n7-story-video-grouping .n7-story-video-grouping__name {
    font-size: 15px; } }

/**
 * STORIES VIDEOS DIALOG
 *
 * Dialog with videos
 */
/* ------------------------------------ *   #DIALOG-STORIES-VIDEOS
\* ------------------------------------ */
.n7-story-categories-dialog {
  overflow-y: auto;
  max-height: calc(85vh - 80px) !important; }
  .n7-story-categories-dialog .n7-story-categories-dialog__item {
    margin-bottom: 30px; }
    .n7-story-categories-dialog .n7-story-categories-dialog__item:last-child {
      margin-bottom: 0; }
  .n7-story-categories-dialog .n7-story-categories-dialog__item-video {
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 165px;
    background-size: cover;
    margin-bottom: 10px;
    position: relative;
    border-radius: 3px; }
  .n7-story-categories-dialog .n7-story-categories-dialog__item-video-icon {
    position: relative;
    z-index: 2;
    display: block;
    background: url("../images/play-icon@2x.png") no-repeat center center;
    width: 100%;
    height: 68px;
    background-size: contain;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center; }
  .n7-story-categories-dialog .n7-story-categories-dialog__item-title {
    font-size: 15px;
    font-weight: 700;
    color: #555555;
    transition: all 0.35s; }
    .n7-story-categories-dialog .n7-story-categories-dialog__item-title:hover {
      color: #5aa39c; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * DIALOG
 *
 * Style for dialog
 */
/* ------------------------------------ *   #DIALOG
\* ------------------------------------ */
.ui-dialog {
  background: #ffffff;
  max-width: 460px;
  max-height: 85vh;
  width: auto !important;
  z-index: 999;
  border-radius: 3px; }
  .ui-dialog .ui-dialog-titlebar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    height: 80px;
    padding: 0;
    background: rgba(235, 235, 235, 0.69);
    border-bottom: 1px solid #e6e6e6;
    color: #d86044;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    border-radius: 3px 0 0 3px; }
  .ui-dialog .ui-dialog-title {
    padding-left: 20px;
    padding-right: 60px;
    line-height: 1.15; }
  .ui-dialog .ui-button {
    background: none;
    border: 0;
    position: absolute;
    right: 34px;
    padding: 0; }
    .ui-dialog .ui-button .ui-icon-closethick:before {
      content: '';
      display: block;
      width: 20px;
      height: 22px;
      background: transparent url("../images/close.png") left top no-repeat; }
    .ui-dialog .ui-button .ui-button-text {
      display: none; }
  .ui-dialog .ui-dialog-content {
    padding: 40px; }

.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #555555;
  opacity: .8; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .ui-dialog {
    width: 100% !important;
    max-width: 100% !important;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
    .ui-dialog .ui-dialog-titlebar {
      padding: 20px;
      font-size: 24px; }
    .ui-dialog .ui-dialog-content {
      padding: 20px;
      overflow-y: auto;
      height: calc(100% - 100px) !important; } }

/**
 * TAG
 *
 * Tag category
 */
/* ------------------------------------ *   #TAG
\* ------------------------------------ */
.n7-tag {
  display: inline-block;
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
  border-radius: 3px;
  padding: 3px 10px 1px;
  color: #395487;
  background-color: #e1f1f6; }
  .n7-tag.n7-tag-archive {
    color: #5aa39c;
    background-color: #e7f1f0; }
  .n7-tag.n7-tag-stories, .n7-tag.n7-tag-story {
    color: #d86044;
    background-color: #f6e9e6; }
  .n7-tag.n7-tag-news, .n7-tag.n7-tag-post {
    color: #ad825c;
    background-color: #eadfd5; }
  .n7-tag.n7-tag-tutorial {
    color: #f2ab3f;
    background-color: #fdf3e2; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * TOOL-BOXES
 *
 * Tool-boxes widget
 */
/* ------------------------------------ *   #TOOLS-BOXES
\* ------------------------------------ */
.n7-tools-boxes .n7-tools-boxes__inner {
  position: relative;
  width: 70%;
  margin: auto;
  background: #ffffff;
  overflow: hidden;
  border-radius: 5px;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.1); }

.n7-tools-boxes .n7-tools-boxes__title {
  position: absolute;
  width: 100%;
  padding: 22px 0;
  color: #5aa39c;
  font-size: 28px;
  text-align: center;
  margin-bottom: 0; }

.n7-tools-boxes .n7-tools-boxes__box:nth-of-type(1) {
  background: linear-gradient(315.33deg, #e9e9e9 0%, #ffffff 100%); }

.n7-tools-boxes .n7-tools-boxes__box:nth-of-type(2) {
  background: linear-gradient(206.57deg, #e9e9e9 0%, #ffffff 100%); }

.n7-tools-boxes .n7-tools-boxes__box .n7-tools-boxes__icon {
  text-align: center;
  height: 50px;
  vertical-align: middle;
  margin-bottom: 5px; }

.n7-tools-boxes .n7-tools-boxes__box .n7-tools-boxes__box-title {
  margin-bottom: 0;
  font-size: 18px;
  text-align: center;
  color: #395487; }

.n7-tools-boxes .n7-tools-boxes__box .n7-tools-boxes__box-content {
  height: 70px;
  margin: 0;
  font-size: 14px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.n7-tools-boxes .n7-tools-boxes__box .n7-tools-boxes__box-buttons {
  height: 85px;
  margin: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.n7-tools-boxes .n7-tools-boxes__box .n7-btn, .n7-tools-boxes .n7-tools-boxes__box .n7-archive-mobile-toggle__button {
  width: 100%;
  margin: 0 0 10px 0; }

.n7-tools-boxes:not(.n7-tools-boxes-widget) {
  padding: 30px;
  background: url("../images/pattern5-small.png");
  background-size: 996px 889px;
  background-color: #c8e0ef; }
  .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__box {
    width: 50%;
    margin-right: 0;
    float: left;
    padding: 80px 66px 10px;
    height: 340px; }

.n7-tools-boxes.n7-tools-boxes-widget {
  border-radius: 3px;
  border: 1px solid #e6e6e6;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.08);
  text-align: center; }
  .n7-tools-boxes.n7-tools-boxes-widget .n7-tools-boxes__box {
    width: 100%;
    padding: 20px; }
  .n7-tools-boxes.n7-tools-boxes-widget .n7-btn, .n7-tools-boxes.n7-tools-boxes-widget .n7-archive-mobile-toggle__button {
    width: 100%;
    height: 22px;
    line-height: 24px;
    font-size: 12px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1300px) {
  .n7-tools-boxes .n7-tools-boxes__inner {
    width: 80%; } }

@media all and (max-width: 1200px) {
  .n7-tools-boxes .n7-tools-boxes__inner {
    width: 90%; } }

@media all and (max-width: 960px) {
  .n7-tools-boxes .n7-tools-boxes__inner {
    width: 100%; }
  .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__box {
    padding: 80px 36px 10px; } }

@media all and (max-width: 768px) {
  .n7-tools-boxes .n7-tools-boxes__title {
    font-size: 24px; } }

@media all and (max-width: 660px) {
  .n7-tools-boxes:not(.n7-tools-boxes-widget) {
    padding: 20px; }
    .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__inner {
      background: linear-gradient(315.33deg, #e9e9e9 0%, #ffffff 100%); }
    .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__title {
      position: relative;
      width: 100%;
      padding: 20px 10px; }
    .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__box {
      width: 100%;
      float: none;
      height: auto;
      padding: 10px 20px;
      text-align: center; }
    .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__box-content {
      display: block;
      height: auto;
      margin: 17.5px 0;
      text-align: center; }
    .n7-tools-boxes:not(.n7-tools-boxes-widget) .n7-tools-boxes__box-buttons {
      display: block;
      height: auto;
      margin: 0; } }

@media all and (max-width: 480px) {
  .n7-tools-boxes {
    padding: 10px; }
    .n7-tools-boxes .n7-tools-boxes__title {
      font-size: 18px; } }

/* Retina */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .n7-tools-boxes:not(.n7-tools-boxes-widget) {
    background: url("../images/pattern5.png");
    background-size: 996px 889px; } }

/**
 * WPML LANGUAGE SWITCH
 *
 * Wpml language switch
 */
/* ------------------------------------ *   #NAV-SEC
\* ------------------------------------ */
.wpml-ls-legacy-dropdown {
  width: auto;
  padding-right: 20px; }
  .wpml-ls-legacy-dropdown .wpml-ls-item-toggle {
    border: 0;
    padding-right: 26px; }
  .wpml-ls-legacy-dropdown a.wpml-ls-item-toggle:after {
    font-family: "fontAwesome";
    content: '\f107';
    border-top: 0;
    border: 0;
    top: auto;
    right: 6px;
    width: auto; }
  .wpml-ls-legacy-dropdown a:hover, .wpml-ls-legacy-dropdown a:focus,
  .wpml-ls-legacy-dropdown .wpml-ls-current-language:hover > a {
    background: #ffffff; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * SINGLE-BOX-CONTENT
 *
 * single content preview
 */
/* ------------------------------------ *   #SINGLE-BOX-CONTENT
\* ------------------------------------ */
.n7-single-box-content .n7-single-box-content__image {
  display: block;
  width: 100%;
  height: 166px;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 3px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2); }

.n7-single-box-content .n7-tag {
  margin-top: 10px; }

.n7-single-box-content .n7-single-box-content__title {
  font-size: 18px;
  margin: 8px 0;
  line-height: 1.3; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * SINGLE-BOX-CONTENT
 *
 * single content preview
 */
/* ------------------------------------ *   #SINGLE-BOX-CONTENT
\* ------------------------------------ */
.n7-widget-news-archive {
  margin-bottom: 20px; }
  .n7-widget-news-archive .n7-widget-news-archive__widget-title {
    display: inline-block;
    margin-bottom: 10px;
    padding-top: 10px;
    color: #395487;
    font-size: 18px;
    border-top: 6px solid #395487; }
  .n7-widget-news-archive .n7-widget-news-archive__items {
    overflow: hidden; }
  .n7-widget-news-archive .n7-widget-news-archive__item {
    border-bottom: 2px solid #e6e6e6;
    padding: 10px 0;
    line-height: 1.5; }
    .n7-widget-news-archive .n7-widget-news-archive__item .n7-date {
      margin-bottom: 5px; }
    .n7-widget-news-archive .n7-widget-news-archive__item:last-child {
      border-bottom: 0; }
    .n7-widget-news-archive .n7-widget-news-archive__item .n7-widget-news-archive__title {
      margin-bottom: 0;
      color: #555555;
      transition: all 0.35s;
      line-height: 1.45;
      cursor: pointer; }
      .n7-widget-news-archive .n7-widget-news-archive__item .n7-widget-news-archive__title:hover {
        color: #5aa39c; }
  .n7-widget-news-archive .n7-widget-news-archive__archive-link {
    display: block;
    clear: both;
    margin-top: 10px;
    padding: 5px 0;
    color: #395487;
    border-bottom: 2px solid rgba(57, 84, 135, 0.18);
    font-size: 14px;
    font-weight: 600; }
    .n7-widget-news-archive .n7-widget-news-archive__archive-link:hover {
      color: #5aa39c; }

/* ------------------------------------ *   #MEDIA-QUERIES-HOMEPAGE
\* ------------------------------------ */
/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * HOME NEWS PREVIEW STYLE
 *
 * Style of news in homepage
 */
/* ------------------------------------ *   #NEWS-HOME-PREVIEW-STYLE
\* ------------------------------------ */
.n7-widget-home-news {
  /* Single news wrapper */
  /* Image */ }
  .n7-widget-home-news .n7-widget-home-news__news {
    clear: both;
    margin-bottom: 15px;
    /* Instead of overflow hidden */ }
    .n7-widget-home-news .n7-widget-home-news__news:after {
      content: " ";
      display: block;
      clear: both; }
    .n7-widget-home-news .n7-widget-home-news__news:last-child {
      margin-bottom: 0; }
  .n7-widget-home-news .n7-widget-home-news__image {
    display: block;
    float: left;
    width: 37.5%;
    margin-right: 4.16667%;
    height: 120px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    cursor: pointer;
    border-radius: 3px;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2); }
  .n7-widget-home-news .n7-widget-home-news__content {
    width: 58.33333%;
    float: left; }
  .n7-widget-home-news .n7-date {
    margin-bottom: 7px; }
  .n7-widget-home-news .n7-widget-home-news__title {
    color: #ad825c;
    font-size: 14px;
    line-height: 1.23;
    margin: 0 0 5px 0; }
  .n7-widget-home-news .n7-widget-home-news__excerpt {
    font-size: 14px;
    line-height: 1.4; }
  .n7-widget-home-news .n7-widget-home-news__archive-link {
    padding: 30px 0 7px;
    clear: both;
    display: block;
    width: 100%;
    color: #ad825c;
    border-bottom: 2px solid #eadfd5;
    font-size: 14px;
    font-weight: 600; }
    .n7-widget-home-news .n7-widget-home-news__archive-link:hover {
      color: #8e6948; }

/* ------------------------------------ *   #NEWS-SIDEBAR-HOMEPAGE
\* ------------------------------------ */
.n7-widget-home-news .n7-widget-home-news__news-column {
  width: 40.67797%;
  float: left; }

/* ------------------------------------ *   #FEATURED-NEWS-HOMEPAGE
\* ------------------------------------ */
.n7-widget-home-news .n7-widget-home-news__focus-news {
  width: 57.62712%;
  float: left;
  margin-right: 1.69492%;
  /* Instead of overflow hidden */ }
  .n7-widget-home-news .n7-widget-home-news__focus-news:after {
    content: " ";
    display: block;
    clear: both; }
  .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__image {
    width: 55.88235%;
    float: left;
    margin-right: 2.94118%;
    height: 260px; }
  .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__content {
    width: 41.17647%;
    float: left; }
  .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__title {
    font-size: 18px; }

/* ------------------------------------ *   #MEDIA-QUERIES-HOMEPAGE
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .home .n7-widget-home-news .n7-widget-home-news__news-column {
    width: 100%;
    float: none; }
  .home .n7-widget-home-news .n7-widget-home-news__news {
    width: 49.15254%;
    float: left;
    clear: none;
    margin-right: 1.69492%; }
    .home .n7-widget-home-news .n7-widget-home-news__news:nth-child(2n) {
      margin-right: 0; }
  .home .n7-widget-home-news .n7-widget-home-news__focus-news {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
    .home .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__image {
      width: 49.15254%;
      margin-right: 1.69492%; }
    .home .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__content {
      width: 49.15254%; } }

@media all and (max-width: 480px) {
  .home .n7-widget-home-news .n7-widget-home-news__news-column {
    width: 100%;
    float: none; }
  .home .n7-widget-home-news .n7-widget-home-news__news {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
  .home .n7-widget-home-news .n7-widget-home-news__image {
    width: 31.03448%;
    margin-right: 3.44828%;
    height: 90px; }
  .home .n7-widget-home-news .n7-widget-home-news__content {
    width: 65.51724%; }
  .home .n7-widget-home-news .n7-widget-home-news__focus-news {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 20px; }
    .home .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__image {
      width: 31.03448%;
      margin-right: 3.44828%;
      height: 90px; }
    .home .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__content {
      width: 65.51724%; }
    .home .n7-widget-home-news .n7-widget-home-news__focus-news .n7-widget-home-news__title {
      font-size: 14px; } }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * SINGLE-BOX-CONTENT
 *
 * single content preview
 */
/* ------------------------------------ *   #SINGLE-BOX-CONTENT
\* ------------------------------------ */
.n7-widget-join,
.n7-widget-newsletter {
  background-color: #ffffff;
  margin-top: 30px;
  border: 1px solid #f7f7f7;
  height: 220px;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.05); }
  .n7-widget-join .n7-widget-newsletter__title,
  .n7-widget-join .n7-widget-join__title,
  .n7-widget-newsletter .n7-widget-newsletter__title,
  .n7-widget-newsletter .n7-widget-join__title {
    color: #395487; }
  .n7-widget-join .n7-widget-newsletter__text,
  .n7-widget-join .n7-widget-join__text,
  .n7-widget-newsletter .n7-widget-newsletter__text,
  .n7-widget-newsletter .n7-widget-join__text {
    margin: 12px 0;
    line-height: 1.5; }

.n7-widget-join {
  background: url("../images/partecipa-box-bg-1.jpg") no-repeat, url("../images/partecipa-box-bg-2.jpg") no-repeat #ffffff;
  background-position: -100px -31px, 104% 152%;
  padding: 50px 45px 10px 21%; }

.n7-widget-newsletter {
  display: none;
  background: url("../images/newsletter-box-bg.png") no-repeat #ffffff;
  background-position: 107% -22px;
  padding: 35px 21% 20px 20px; }
  .n7-widget-newsletter .n7-widget-newsletter__input {
    display: block;
    width: 250px;
    margin-bottom: 15px; }

/* ------------------------------------ *   #HOMEPAGE
\* ------------------------------------ */
.home .n7-widget-newsletter {
  margin-right: 0; }

/* ------------------------------------ *   #MEDIA-QUERIES-HOMEPAGE
\* ------------------------------------ */
@media all and (max-width: 1140px) {
  .home .n7-widget-join,
  .home .n7-widget-newsletter {
    height: 244px; } }

@media all and (max-width: 930px) {
  .home .n7-widget-join {
    background-position: -150px -61px,121% 152%; }
  .home .n7-widget-newsletter {
    background-position: 117% -22px; } }

@media all and (max-width: 700px) {
  .home .n7-widget-join,
  .home .n7-widget-newsletter {
    width: 100%;
    float: none;
    margin-right: 0; }
  .home .n7-widget-join,
  .home .n7-widget-newsletter {
    height: auto; }
  .home .n7-widget-join {
    background-position: -180px -31px, 111% 152%; }
  .home .n7-widget-newsletter {
    background-position: 107% -22px; } }

@media all and (max-width: 480px) {
  .home .n7-widget-join,
  .home .n7-widget-newsletter {
    padding: 10px; }
  .home .n7-widget-join {
    background-image: none; }
  .home .n7-widget-newsletter {
    background-image: none; } }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * WIDGET ANTENATI CONTENT
 *
 * widget antenati content
 */
/* ------------------------------------ *   #WIDGET-ANTENATI-CONTENT
\* ------------------------------------ */
.n7-widget-antenati-content {
  position: relative;
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid #e6e6e6;
  line-height: 1.5;
  border-radius: 3px;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.05); }
  .n7-widget-antenati-content .n7-tag {
    margin: 0 0 10px 0; }
  .n7-widget-antenati-content .n7-widget-antenati-content_icon {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 24px;
    color: #f2ab3f; }
  .n7-widget-antenati-content .n7-widget-antenati-content__title {
    margin: 0 0 3.5px 0;
    color: #395487;
    font-size: 18px;
    line-height: 1.35; }
  .n7-widget-antenati-content .n7-widget-antenati-content__content {
    margin: 0 0 10px 0;
    line-height: 1.45;
    font-size: 14px; }
  .n7-widget-antenati-content .n7-btn, .n7-widget-antenati-content .n7-archive-mobile-toggle__button {
    margin: 0;
    font-size: 12px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * WIDGET YOUR STORY
 *
 * widget your story
 */
/* ------------------------------------ *   #WIDGET-YOUR-STORY
\* ------------------------------------ */
.n7-widget-your-story {
  width: 100%;
  height: 0;
  margin-bottom: 20px;
  padding-bottom: 51.73%;
  background: transparent url("../images/your-story.png") left top no-repeat;
  background-size: contain;
  position: relative; }
  .n7-widget-your-story .n7-widget-your-story__link {
    position: absolute;
    top: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap;
    -ms-flex-pack: center;
        justify-content: center;
    width: 100%;
    height: 100%;
    padding-left: 15px;
    padding-right: 20%;
    color: #555555; }
    .n7-widget-your-story .n7-widget-your-story__link h3 {
      font-size: 17px;
      line-height: 1.3; }
    .n7-widget-your-story .n7-widget-your-story__link p {
      display: inline;
      margin-bottom: 0;
      font-size: 14px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * TOOL-BOXES
 *
 * Tool-boxes widget
 */
/* ------------------------------------ *   #TOOLS-BOXES
\* ------------------------------------ */
.n7-archives .n7-archive-list {
  width: 50%;
  float: left; }

.n7-archives .n7-archive-detail {
  width: 50%;
  float: left; }

.n7-archives .n7-archive-map {
  width: 50%;
  float: left; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * TOOL-BOXES
 *
 * Tool-boxes widget
 */
/* ------------------------------------ *   #TOOLS-BOXES
\* ------------------------------------ */
.n7-archives {
  display: inline-block;
  /* Prevent margin collapse */
  width: 100%;
  margin: 25px 0;
  height: 650px;
  clear: both;
  overflow: hidden;
  position: relative;
  border: 1px solid #ababab;
  /* Filters */
  /* List */
  /* Detail */
  /* Map */ }
  .n7-archives .n7-archive-filters {
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #ababab;
    background: #f7f7f7;
    padding: 10px; }
  .n7-archives .n7-archive-filters__search-wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1;
        flex: 1; }
  .n7-archives .n7-archive-filters__search {
    width: 33%;
    margin-right: 5px;
    /* Rectangle: */
    box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.24);
    background: #ffffff;
    border-radius: 2px; }
    .n7-archives .n7-archive-filters__search::-webkit-input-placeholder {
      font-size: 13px; }
    .n7-archives .n7-archive-filters__search:-moz-placeholder {
      font-size: 13px; }
    .n7-archives .n7-archive-filters__search::-moz-placeholder {
      font-size: 13px; }
    .n7-archives .n7-archive-filters__search:-ms-input-placeholder {
      font-size: 13px; }
  .n7-archives .n7-archive-filters__search--comune {
    z-index: 100000;
    position: relative;
    margin-left: auto; }
  .n7-archives .n7-archive-filters__select-order {
    margin-right: 5px;
    width: 25%;
    background: #ffffff; }
  .n7-archives .n7-archive-filters__select-order-select {
    width: 100%;
    border: 1px solid #cccccc;
    border-radius: 2px;
    box-shadow: none;
    background: #ffffff; }
    .n7-archives .n7-archive-filters__select-order-select option {
      font-size: 13px; }
      .n7-archives .n7-archive-filters__select-order-select option::-webkit-input-placeholder {
        font-size: 13px; }
      .n7-archives .n7-archive-filters__select-order-select option:-moz-placeholder {
        font-size: 13px; }
      .n7-archives .n7-archive-filters__select-order-select option::-moz-placeholder {
        font-size: 13px; }
      .n7-archives .n7-archive-filters__select-order-select option:-ms-input-placeholder {
        font-size: 13px; }
  .n7-archives .n7-archive-list {
    height: calc(100% - 52px);
    /* Container height - padding */
    position: relative;
    background: #f7f7f7; }
    .n7-archives .n7-archive-list .n7-archive-list__loader {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background: #ffffff;
      opacity: 0.5;
      display: none;
      text-align: center; }
      .n7-archives .n7-archive-list .n7-archive-list__loader .fa {
        position: absolute;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%);
            transform: translate(-50%); }
  .n7-archives .n7-archive-list__list {
    width: 100%;
    height: 100%;
    float: left;
    margin-left: 0;
    padding-left: 0;
    overflow-y: auto;
    list-style-type: none;
    background-color: #ffffff; }
  .n7-archives .n7-archive-list__list-item {
    padding: 10px;
    border-bottom: 1px solid #ababab;
    cursor: pointer;
    font-size: 15px; }
    .n7-archives .n7-archive-list__list-item:hover {
      color: #5aa39c; }
    .n7-archives .n7-archive-list__list-item.n7-archive-list__list-item-inactive {
      opacity: 0.7;
      cursor: not-allowed; }
      .n7-archives .n7-archive-list__list-item.n7-archive-list__list-item-inactive:hover {
        color: #555555; }
  .n7-archives .n7-archive-detail {
    height: calc(100% - 26px);
    /*
        .n7-archive-detail__toolbar-back:after {
            margin-left: auto;
            font-family: $font-family-fontawesome;
            content: "\f00d";
            float: right;
            font-size: $font-size-l;
        }
        */ }
    .n7-archives .n7-archive-detail:before, .n7-archives .n7-archive-detail:after {
      content: "";
      display: table; }
    .n7-archives .n7-archive-detail:after {
      clear: both; }
    .n7-archives .n7-archive-detail .n7-archive-detail__toolbar {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      height: 51px;
      border-bottom: 1px solid #ababab;
      background: #f7f7f7;
      padding: 10px;
      font-size: 13px;
      position: absolute;
      top: 0;
      right: 0;
      left: 0; }
      .n7-archives .n7-archive-detail .n7-archive-detail__toolbar:hover .n7-archive-detail__toolbar-back {
        color: #5aa39c; }
    .n7-archives .n7-archive-detail .n7-archive-detail__toolbar-back {
      -ms-flex: 1;
          flex: 1;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      color: #ababab; }
    .n7-archives .n7-archive-detail .n7-archive-detail__toolbar-back:before {
      margin-right: 5px;
      font-family: "fontAwesome";
      content: "\f053";
      padding-right: 5px;
      font-size: 20px; }
    .n7-archives .n7-archive-detail .n7-archive-detail__title {
      padding: 10px;
      border-bottom: 1px solid #ababab;
      font-family: "Poppins", Helvetica, Arial, sans-serif;
      font-size: 24px; }
    .n7-archives .n7-archive-detail .n7-archive-detail__status {
      font-size: 14px;
      font-family: "Libre Franklin", Helvetica, Arial, sans-serif; }
    .n7-archives .n7-archive-detail .n7-archive-detail__links {
      padding: 10px;
      border-bottom: 1px solid #ababab;
      border-top: 0; }
    .n7-archives .n7-archive-detail .n7-archive-detail__link {
      color: #555555;
      font-size: 13px;
      display: inline-block;
      margin-right: 10px; }
      .n7-archives .n7-archive-detail .n7-archive-detail__link .fa {
        padding-right: 4px; }
      .n7-archives .n7-archive-detail .n7-archive-detail__link:hover {
        color: #5aa39c; }
    .n7-archives .n7-archive-detail .n7-archive-detail__wrapper {
      display: -ms-flexbox;
      display: flex;
      height: 100%; }
    .n7-archives .n7-archive-detail .n7-archive-detail__register {
      -ms-flex: 0 0 30%;
          flex: 0 0 30%; }
    .n7-archives .n7-archive-detail .n7-archive-detail__archive-detail {
      -ms-flex: 0 0 70%;
          flex: 0 0 70%;
      height: 74%; }
    .n7-archives .n7-archive-detail .n7-archive-detail__header-register {
      border: 1px solid #e6e6e6;
      border-right: 0;
      background: #f7f7f7;
      border-top: 0;
      height: 55px;
      padding: 10px;
      display: -ms-flexbox;
      display: flex; }
      .n7-archives .n7-archive-detail .n7-archive-detail__header-register .n7-btn, .n7-archives .n7-archive-detail .n7-archive-detail__header-register .n7-archive-mobile-toggle__button {
        height: auto;
        font-size: 13px;
        padding: 5px 9px 3.33333px 9px;
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center;
        line-height: 1.2; }
    .n7-archives .n7-archive-detail .n7-archive-detail__header_status {
      border: 1px solid #e6e6e6;
      background: #f7f7f7;
      border-top: 0;
      height: 55px;
      padding: 5px 10px;
      line-height: 1.7; }
    .n7-archives .n7-archive-detail .n7-archive-detail__status {
      text-transform: uppercase;
      font-weight: 600; }
      .n7-archives .n7-archive-detail .n7-archive-detail__status:before {
        content: ' ';
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 5px;
        margin-right: 5px; }
    .n7-archives .n7-archive-detail .n7-archive-detail__register-list {
      height: 100%;
      margin: 0;
      padding: 10px;
      list-style-type: none;
      text-align: right;
      border-right: 1px solid #e6e6e6; }
    .n7-archives .n7-archive-detail .n7-archive-detail__register-item {
      padding: 5px 0;
      font-size: 13px;
      position: relative;
      cursor: pointer; }
      .n7-archives .n7-archive-detail .n7-archive-detail__register-item:hover {
        color: #5aa39c; }
      .n7-archives .n7-archive-detail .n7-archive-detail__register-item.is-active {
        font-weight: 600;
        /* this CS forms the triangles */
        /* this border color controlls the color of the triangle (what looks like the fill of the triangle) */
        /* this border color controlls the outside, thin border */ }
        .n7-archives .n7-archive-detail .n7-archive-detail__register-item.is-active:after, .n7-archives .n7-archive-detail .n7-archive-detail__register-item.is-active:before {
          content: '';
          display: block;
          position: absolute;
          right: -23px;
          width: 0;
          height: 0;
          border-style: solid; }
        .n7-archives .n7-archive-detail .n7-archive-detail__register-item.is-active:after {
          top: 8px;
          border-color: transparent transparent transparent #ffffff;
          border-width: 7px; }
        .n7-archives .n7-archive-detail .n7-archive-detail__register-item.is-active:before {
          top: 7px;
          border-color: transparent transparent transparent #e6e6e6;
          border-width: 8px;
          right: -26px; }
    .n7-archives .n7-archive-detail .n7-archive-detail__register-detail {
      height: 100%;
      padding: 15px  20px;
      line-height: 1.5;
      display: none;
      overflow-y: auto; }
      .n7-archives .n7-archive-detail .n7-archive-detail__register-detail a {
        overflow-wrap: break-word;
        word-wrap: break-word;
        -ms-word-break: break-all;
        word-break: break-word;
        -ms-hyphens: auto;
        -webkit-hyphens: auto;
        hyphens: auto; }
      .n7-archives .n7-archive-detail .n7-archive-detail__register-detail.is-active {
        display: block; }
  .n7-archives .n7-archive-map {
    width: 50%;
    float: left;
    height: calc(100% - 52px);
    /* Container height - padding */ }
    .n7-archives .n7-archive-map:after {
      content: " ";
      display: block;
      clear: both; }
    .n7-archives .n7-archive-map .n7-archive-map__marker-title {
      margin-bottom: 5px;
      font-weight: 600;
      border-bottom: 1px solid #ababab;
      padding: 10px 0;
      font-size: 15px;
      font-family: "Lucida Grande", sans-serif; }
    .n7-archives .n7-archive-map .n7-marker__desc-text {
      padding-top: 5px;
      font-size: 14px; }
    .n7-archives .n7-archive-map .n7-archive-map__status {
      margin-top: 2px;
      font-weight: 600;
      text-transform: uppercase;
      line-height: 1.5; }
      .n7-archives .n7-archive-map .n7-archive-map__status:before {
        content: ' ';
        display: inline-block;
        width: 10px;
        height: 10px;
        border-radius: 5px;
        margin-right: 5px; }
  .n7-archives .acf-map {
    height: 100%;
    margin-top: 0;
    border: 0;
    border-left: 1px solid #ababab; }
  .n7-archives .status_to_start:before {
    background: #e74f62; }
  .n7-archives .status_in_progress:before {
    background: #ede24f; }
  .n7-archives .status_complete:before {
    background: #9be34c; }

/* Mobile toggles */
.n7-archive-mobile-toggle {
  display: none; }

.n7-archive-mobile-toggle__button {
  margin: 0;
  border-radius: 0 0 3px 3px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .n7-archives .n7-archive-detail .n7-archive-detail__title {
    font-size: 20px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__archive-detail {
    height: 72%; } }

@media all and (max-width: 767px) {
  .n7-archives {
    display: block;
    height: auto;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    border-right: 1px solid #ababab;
    border-left: 1px solid #ababab; }
    .n7-archives .n7-archive-detail,
    .n7-archives .n7-archive-list,
    .n7-archives .n7-archive-map {
      width: 100%;
      float: none; }
    .n7-archives .n7-archive-map {
      height: 60vh; }
      .n7-archives .n7-archive-map.is-hidden {
        display: none !important; }
    .n7-archives .acf-map {
      border-left: 0; }
    .n7-archives .n7-archive-detail .n7-archive-detail__toolbar {
      position: static; }
    .n7-archives .n7-archive-detail .n7-archive-detail__wrapper {
      height: 60vh; }
    .n7-archives .n7-archive-detail .n7-archive-detail__archive-detail {
      height: 100%; }
    .n7-archives .n7-archive-detail .n7-archive-detail__register-detail {
      height: calc(100% - 55px);
      /* */
      overflow-y: auto; }
    .n7-archives .n7-archive-filters {
      border-right: 0;
      border-left: 0; }
    .n7-archives .n7-archive-filters__search {
      width: 50%; }
    .n7-archives .n7-archive-filters__select-order {
      width: 33%; }
    .n7-archives .n7-archive-list {
      height: 60vh; }
      .n7-archives .n7-archive-list.is-hidden {
        display: none !important; }
    .n7-archives .n7-archive-list__list {
      height: 100%;
      margin-bottom: 0;
      float: none; }
  .n7-archive-mobile-toggle {
    display: block; }
  .n7-archive-mobile-toggle__button {
    display: none; }
    .n7-archive-mobile-toggle__button.is-visible {
      display: block; }
  .n7-archive-mobile-toggle__button {
    display: none;
    color: #ffffff; }
    .n7-archive-mobile-toggle__button.is-visible {
      display: block; } }

@media all and (max-width: 600px) {
  .n7-archives .n7-archive-filters {
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
  .n7-archives .n7-archive-filters__select-order,
  .n7-archives .n7-archive-filters__search-wrapper {
    width: 100%; }
  .n7-archives .n7-archive-filters__search-wrapper {
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin-top: 10px; }
  .n7-archives .n7-archive-filters__search:last-of-type {
    margin-right: 0; }
  .n7-archives .n7-archive-list__list-item {
    padding: 7.5px;
    font-size: 14px; } }

@media all and (max-width: 480px) {
  .n7-archives .n7-archive-detail .n7-archive-detail__register {
    -ms-flex: 0 0 30%;
        flex: 0 0 30%; }
    .n7-archives .n7-archive-detail .n7-archive-detail__register .n7-btn, .n7-archives .n7-archive-detail .n7-archive-detail__register .n7-archive-mobile-toggle__button {
      font-size: 12px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__link {
    font-size: 12px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__title {
    font-size: 15px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__archive-detail p {
    font-size: 13px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__register-item {
    font-size: 12px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__header_status {
    font-size: 12px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__status {
    font-size: 12px; }
  .n7-archives .n7-archive-detail .n7-archive-detail__register-detail {
    padding: 10px; } }

/**
 * SINGLE-BOX-CONTENT
 *
 * single content preview
 */
/* ------------------------------------ *   #SINGLE-BOX-CONTENT
\* ------------------------------------ */
.n7-story-list .n7-story-list__item-group {
  overflow: hidden;
  clear: both; }

.n7-story-list .n7-story-video-grouping {
  list-style-type: none;
  width: 31.81818%;
  float: left;
  margin-right: 2.04082%;
  margin-bottom: 2.04082%; }
  .n7-story-list .n7-story-video-grouping:nth-child(3n) {
    margin-right: 0; }

.n7-story-list .n7-story-list__item-video {
  width: 23.72881%;
  float: left;
  margin-right: 1.69492%;
  margin-bottom: 20px; }

.n7-story-list .n7-story-list__item-video-play {
  background-repeat: no-repeat;
  background-size: cover;
  height: 184px;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px; }
  .n7-story-list .n7-story-list__item-video-play .n7-story-list__item-video-icon {
    height: 50%;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    margin: auto; }

.n7-story-list .n7-story-list__item-video-meta {
  font-weight: 600; }

.n7-story-list .n7-story-list__item-video-meta-label {
  width: 50px;
  display: inline-block;
  font-weight: 400;
  color: #ababab; }

.n7-story-list .n7-story-list__video-title {
  color: #555555;
  font-size: 18px;
  display: inline-block;
  margin: 10px 0;
  padding: 10px 0;
  border-top: 1px solid #555555;
  width: 100%; }

.n7-story-list.owl-theme .owl-dots .owl-dot span {
  width: 14px;
  height: 14px;
  margin: 5px 6px;
  background: #d9d9d9;
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1); }

.n7-story-list.owl-theme .owl-dots .owl-dot.active span, .n7-story-list.owl-theme .owl-dots .owl-dot:hover span {
  background: #d86044; }

.n7-video-page .n7-story-list {
  margin: 0; }
  .n7-video-page .n7-story-list .n7-story-list__item-video-meta-label {
    display: block;
    width: auto; }
  .n7-video-page .n7-story-list .n7-story-list__item-video-meta {
    line-height: 1.7;
    margin-bottom: 10px; }

/* Slider style */
/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .n7-story-list .n7-story-video-grouping {
    list-style-type: none;
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%;
    margin-bottom: 1.69492%; }
    .n7-story-list .n7-story-video-grouping:nth-child(3n + 3) {
      margin-right: 1.69492%; }
    .n7-story-list .n7-story-video-grouping:nth-child(2n + 2) {
      margin-right: 0; } }

/**
 * NEWS ARCHIVE LIST STYLE
 *
 * Style of single archive news in list
 */
/* ------------------------------------ *   #NEWS-ARCHIVE-LIST
\* ------------------------------------ */
.n7-single-archive {
  border-bottom: 2px solid #e6e6e6;
  padding: 15px 0 5px 0; }
  .n7-single-archive:last-child {
    border-bottom: 0; }
  .n7-single-archive .n7-single-archive__title {
    color: #555555;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    margin: 10px 0 5px 0;
    transition: all 0.35s; }
  .n7-single-archive .n7-single-archive__link:hover .n7-single-archive__title {
    color: #5aa39c; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * PAGINATION
 *
 * Style for pagination
 */
/* ------------------------------------ *   #PAGINATION
\* ------------------------------------ */
.n7-pagination {
  padding-top: 20px;
  clear: both;
  text-align: center;
  border-top: 2px solid #e6e6e6; }
  .n7-pagination .n7-pagination_inner {
    display: inline-block; }
  .n7-pagination .page-numbers {
    padding: 10px 15px;
    float: left;
    border-right: 1px solid #e6e6e6;
    color: #555555; }
    .n7-pagination .page-numbers.current {
      color: #395487;
      font-weight: 700; }
    .n7-pagination .page-numbers:not(.current):hover {
      color: #5aa39c; }
    .n7-pagination .page-numbers:last-child {
      border-right: 0; }

/**
 * NUMBER ROW
 *
 * Number row
 */
/* ------------------------------------ *   #NUMBER-ROW
\* ------------------------------------ */
.n7-number-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  border: 1px solid #e6e6e6;
  font-family: "Poppins", Helvetica, Arial, sans-serif;
  font-size: 18px;
  margin-bottom: 45px;
  padding: 0 0 10px 20px;
  color: #888888;
  border-radius: 3px; }
  .n7-number-row .n7-number-row__box {
    padding-top: 10px;
    margin-right: 50px;
    line-height: 1.2; }
  .n7-number-row .n7-number-row__num-box {
    margin: 0 50px;
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .n7-number-row .n7-number-row__number {
    color: #5aa39c;
    font-size: 40px;
    font-family: "Roboto Slab", serif;
    border-top: 4px solid #5aa39c;
    font-weight: 700; }
  .n7-number-row .n7-number-row__text {
    margin-bottom: 0;
    font-size: 18px;
    color: #888888;
    line-height: 1.2; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .n7-number-row .n7-number-row__num-box {
    margin: 0 30px; } }

@media all and (max-width: 800px) {
  .n7-number-row .n7-number-row__num-box {
    margin: 0 15px; } }

@media all and (max-width: 768px) {
  .n7-number-row {
    display: block;
    overflow: hidden;
    margin-bottom: 30px;
    padding: 0 0 10px 10px;
    font-size: 15px; }
    .n7-number-row .n7-number-row__box {
      margin: 0;
      padding: 10px 0 0 0;
      width: 50%;
      float: left;
      font-weight: 700; }
    .n7-number-row .n7-number-row__num-box {
      margin: 0;
      padding: 0;
      width: 50%;
      float: left; }
      .n7-number-row .n7-number-row__num-box:nth-child(2) {
        margin-bottom: 10px; }
    .n7-number-row .n7-number-row__number {
      border-top: 3px solid #5aa39c;
      display: inline-block;
      font-size: 30px; }
    .n7-number-row .n7-number-row__text {
      font-size: 15px;
      color: #888888;
      line-height: 1.2; } }

@media all and (max-width: 480px) {
  .n7-number-row .n7-number-row__number {
    font-size: 20px; } }

/**
 * WIDGET STORIES LIST
 *
 * widget stories list
 */
/* ------------------------------------ *   #WIDGET-STORIES-LIST
\* ------------------------------------ */
.n7-widget-stories-list .n7-widget-stories-list__story-item, .n7-widget-stories-list .n7-widget-stories-list__your-story {
  display: block;
  max-width: 350px;
  height: 110px;
  margin: 0 auto;
  border: 1px solid #e6e6e6;
  border-radius: 3px;
  box-shadow: 0 2px 1px 0 rgba(0, 0, 0, 0.05);
  transition: all 0.35s; }
  .n7-widget-stories-list .n7-widget-stories-list__story-item:hover, .n7-widget-stories-list .n7-widget-stories-list__your-story:hover {
    border: 1px solid #cccccc;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05); }

.n7-widget-stories-list .n7-widget-stories-list__story-item {
  margin-bottom: 20px;
  background-size: cover;
  background-position: center;
  text-indent: -99999px; }

.n7-widget-stories-list .n7-widget-stories-list__your-story {
  height: 130px;
  background-image: url("../images/racconta-storia.jpg");
  background-position: bottom;
  background-size: contain;
  background-repeat: no-repeat; }
  .n7-widget-stories-list .n7-widget-stories-list__your-story span {
    display: block;
    margin: 12.5px 5px 5px 5px;
    color: #d86044;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-size: 15px;
    text-align: center;
    font-weight: 600; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1120px) {
  .n7-widget-stories-list .n7-widget-stories-list__story_item,
  .n7-widget-stories-list .n7-widget-stories-list__your_story {
    width: 100%;
    height: 0;
    padding-bottom: 42.80%;
    position: relative; }
  .n7-widget-stories-list .n7-widget-stories-list__your_story_link,
  .n7-widget-stories-list .n7-widget-stories-list__your_story_title {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .n7-widget-stories-list .n7-widget-stories-list__story_item {
    padding-bottom: 42.80%; }
  .n7-widget-stories-list .n7-widget-stories-list__your_story {
    padding-bottom: 50.58%;
    background-size: contain; } }

@media all and (max-width: 767px) {
  .n7-widget-stories-list .n7-widget-stories-list__story-item, .n7-widget-stories-list .n7-widget-stories-list__your-story {
    height: 140px;
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%; }
    .n7-widget-stories-list .n7-widget-stories-list__story-item:nth-child(2n), .n7-widget-stories-list .n7-widget-stories-list__your-story:nth-child(2n) {
      margin-right: 0; }
  .n7-widget-stories-list .n7-widget-stories-list__your-story span {
    font-size: 18px; } }

@media all and (max-width: 600px) {
  .n7-widget-stories-list .n7-widget-stories-list__story-item, .n7-widget-stories-list .n7-widget-stories-list__your-story {
    width: 100%;
    float: none;
    margin-right: auto;
    margin-left: auto; }
    .n7-widget-stories-list .n7-widget-stories-list__story-item:nth-child(1n), .n7-widget-stories-list .n7-widget-stories-list__your-story:nth-child(1n) {
      margin-right: auto;
      margin-left: auto; } }

/**
 * UI AUTOCOMPLETE
 *
 * Style for autocomplete
 */
/* ------------------------------------ *   #UI-AUTOCOMPLETE
\* ------------------------------------ */
.ui-autocomplete {
  width: 494px !important;
  max-height: 240px;
  padding: 20px;
  background: #ffffff;
  overflow-y: auto;
  border: 1px solid #ababab;
  border-radius: 2px;
  position: absolute !important;
  list-style: none;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2); }

.ui-menu-item {
  padding: 10px 0;
  border-bottom: 1px solid #e6e6e6;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background-color: transparent;
  cursor: pointer;
  transition: color 0.35s ease; }
  .ui-menu-item:first-of-type {
    padding-top: 0; }
  .ui-menu-item:last-of-type {
    padding-bottom: 0;
    border-bottom: 0; }
  .ui-menu-item:hover, .ui-menu-item:focus {
    color: #5aa39c;
    background-color: transparent;
    border-top: 0;
    border-right: 0;
    border-left: 0; }
  .ui-menu-item.ui-state-focus, .ui-menu-item.ui-state-focus:hover, .ui-menu-item.ui-state-focus:focus {
    margin: 0;
    border-top: 0;
    border-right: 0;
    border-left: 0;
    background-color: transparent; }

/* While loading */
input[type="text"].ui-autocomplete-loading {
  background: #ffffff url("../../images/autocomplete-loader.gif");
  background-size: 20px 20px;
  background-position: right 10px top;
  background-repeat: no-repeat; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .ui-autocomplete {
    width: calc(100% - 60px) !important;
    max-height: 50vh; } }

@media all and (max-width: 480px) {
  .ui-autocomplete {
    width: calc(100% - 40px) !important; } }

/**
 * SUBMENU-LIST
 *
 * Right sidebad submenu
 */
/* ------------------------------------ *   #SUBMENU-LIST
\* ------------------------------------ */
.n7-submenu-list {
  margin-bottom: 20px;
  margin-left: 0;
  padding-left: 0;
  border: 1px solid #e6e6e6;
  list-style: none;
  border-radius: 3px; }
  .n7-submenu-list .n7-submenu-list__header {
    padding: 10px;
    border-bottom: 1px solid #e6e6e6;
    background: #f7f7f7;
    text-transform: uppercase;
    color: #395487;
    font-family: "Poppins", Helvetica, Arial, sans-serif;
    font-size: 15px; }
  .n7-submenu-list .page_item {
    padding: 10px;
    border-bottom: 1px solid #e6e6e6;
    font-size: 13px; }
    .n7-submenu-list .page_item a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      color: #555555; }
      .n7-submenu-list .page_item a:hover, .n7-submenu-list .page_item a:focus {
        color: #5aa39c; }
      .n7-submenu-list .page_item a:after {
        content: "";
        font-family: 'FontAwesome' !important;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        margin-left: auto;
        padding-left: 10px;
        font-size: 12px;
        color: #86c4ec; }
    .n7-submenu-list .page_item:last-of-type {
      border-bottom: none; }

/**
 * YOUR STORY GALLERY
 *
 * your story gallery style
 */
/* ------------------------------------ *   #YOUR-STORY-GALLERY
\* ------------------------------------ */
.entry-content .gallery {
  padding: 20px 20px 0;
  border: 1px solid #e6e6e6;
  border-radius: 3px; }
  .entry-content .gallery .gallery-item {
    max-width: 100%;
    margin: 0; }
    .entry-content .gallery .gallery-item a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0; }
  .entry-content .gallery .gallery-icon {
    height: 0;
    padding-bottom: 61.7%;
    background: #d9d9d9;
    position: relative; }
    .entry-content .gallery .gallery-icon > img {
      position: absolute;
      top: 50%;
      left: 50%;
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }
    .entry-content .gallery .gallery-icon img {
      width: auto;
      max-width: 100%;
      max-height: 100%; }
  .entry-content .gallery.owl-theme .owl-dots .owl-dot span {
    width: 14px;
    height: 14px;
    margin: 5px 6px;
    background: #d9d9d9;
    box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1); }
  .entry-content .gallery.owl-theme .owl-dots .owl-dot.active span, .entry-content .gallery.owl-theme .owl-dots .owl-dot:hover span {
    background: #395487; }
  .entry-content .gallery .owl-dots {
    margin-top: 0 !important;
    padding-bottom: 10px; }
  .entry-content .gallery .owl-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }

.story_category-racconta-la-tua-storia .gallery.owl-theme .owl-dots .owl-dot span {
  width: 14px;
  height: 14px;
  margin: 5px 6px;
  background: #d9d9d9;
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1); }

.story_category-racconta-la-tua-storia .gallery.owl-theme .owl-dots .owl-dot.active span, .story_category-racconta-la-tua-storia .gallery.owl-theme .owl-dots .owl-dot:hover span {
  background: #d86044; }

.wp-caption-text {
  font-style: normal;
  margin-top: 10px;
  color: #a1a1a1; }
  .wp-caption-text.gallery-caption {
    margin-bottom: 10px;
    text-align: left; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .entry-content .gallery {
    padding: 10px; }
    .entry-content .gallery .owl-dots {
      padding-bottom: 0; }
  .entry-content .owl-nav.disabled + .owl-dots {
    margin-top: 0; }
  .wp-caption-text.gallery-caption {
    font-size: 13px; } }

/**
 * GENERAL LAYOUT
 *
 * Layout for all pages
 */
/* ------------------------------------ *   #MAIN-CONTENT-LEFT
\* ------------------------------------ */
.n7-archive-news {
  width: 74.57627%;
  margin-right: 1.69492%;
  float: left; }
  .n7-archive-news .n7-news-preview {
    width: 31.81818%;
    margin-right: 2.27273%;
    float: left; }
    .n7-archive-news .n7-news-preview:nth-child(3n) {
      margin-right: 0; }
    .n7-archive-news .n7-news-preview:nth-child(3n+1) {
      clear: both; }

/* ------------------------------------ *   #SIDEBAR
\* ------------------------------------ */
.n7-archive-news-sidebar {
  width: 23.72881%;
  margin-right: 0;
  float: left; }

/*
.n7-archive-news-archive {
    width: span( 3 of 12 ) ;
    float: left;
}
*/
/*
.page-template-template-archive-news {
    .n7-archive-news-archive {
        width: span( 7 of 12 );
        margin-right: gutter( 1 of 12 );
        float: left;

        .n7-module-heading {
            border-top: 0 !important;
        }
    }

    .n7-single-archive:nth-child(1) {
        padding-top: 0;
    }

    .n7-archive-other-news {
        width: span( 5 of 12 ) ;
        float: left;
        margin-right: 0;

        .n7-widget-news {
            overflow: hidden;
            margin-bottom: 20px;
        }

        .n7-module-heading {
            border-top: 0 !important;
            margin-bottom: 30px;
        }
    }
}
*/
/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 960px) {
  .n7-archive-news {
    width: 66.10169%; }
    .n7-archive-news .n7-news-preview:nth-child(1n) {
      width: 48.71795%;
      margin-right: 2.5641%;
      float: left;
      clear: none; }
      .n7-archive-news .n7-news-preview:nth-child(1n):nth-child(2n) {
        margin-right: 0; }
      .n7-archive-news .n7-news-preview:nth-child(1n):nth-child(2n+1) {
        clear: both; }
  .n7-archive-news-sidebar {
    width: 32.20339%; } }

@media all and (max-width: 767px) {
  .n7-archive-news {
    width: 100%;
    margin-bottom: 30px; }
    .n7-archive-news .n7-news-preview:nth-child(1n) {
      width: 49.15254%;
      margin-right: 1.69492%;
      float: left;
      clear: none; }
      .n7-archive-news .n7-news-preview:nth-child(1n):nth-child(2n) {
        margin-right: 0; }
      .n7-archive-news .n7-news-preview:nth-child(1n):nth-child(2n+1) {
        clear: both; }
  .n7-archive-news-sidebar {
    width: 100%; } }

@media all and (max-width: 480px) {
  .n7-archive-news .n7-news-preview:nth-child(1n) {
    width: 100%;
    margin-right: 0;
    float: none;
    clear: none; } }

/**
 * FAQ PAGE LAYOUT
 *
 * Layout for faq page
 */
/* ------------------------------------ *   #FAQ-PAGE-LAYOUT
\* ------------------------------------ */
.ufaq-faq-list {
  /* Plus e minus */
  /* Title */
  /* Text */ }
  .ufaq-faq-list .ewd-ufaq-post-margin-symbol {
    padding: 5px 0px 0px 2px;
    color: #cccccc; }
  .ufaq-faq-list .ufaq-faq-title-text h4 {
    font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.5; }
  .ufaq-faq-list .ufaq-faq-body .ufaq-faq-post {
    padding-bottom: 10px;
    border-bottom: 2px solid #f7f7f7; }
    .ufaq-faq-list .ufaq-faq-body .ufaq-faq-post p {
      line-height: 1.6; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 480px) {
  .ufaq-faq-list {
    /* Plus e minus */
    /* Title */
    /* Text */ }
    .ufaq-faq-list .ewd-ufaq-post-margin-symbol {
      margin-right: 5px; }
      .ufaq-faq-list .ewd-ufaq-post-margin-symbol span {
        font-size: 20px; }
    .ufaq-faq-list .ufaq-faq-title-text h4 {
      font-size: 15px; }
    .ufaq-faq-list .ufaq-faq-body {
      padding: 10px 10px 10px 33px; } }

/**
 * GENERAL LAYOUT
 *
 * Layout for all pages
 */
/* ------------------------------------ *   #GENERAL-LAYOUT
\* ------------------------------------ */
.n7-max-width-content {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto; }

.home .content-area {
  width: 100%;
  padding-bottom: 0; }

.content-area {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 30px;
  overflow: hidden; }

.n7-content-subsection {
  display: none; }

/* ------------------------------------ *   #COLUMNS
\* ------------------------------------ */
/* Two columns layout - sidebar left */
/* Sidebar Left */
.n7-simple-page__sidebar {
  width: 23.72881%;
  float: left;
  margin-right: 1.69492%; }

/* Main content */
.n7-simple-page__sidebar + .n7-simple-page__inner {
  width: 74.57627%;
  float: left;
  margin-right: 0; }

/* Two columns layout - sidebar right */
/* Main content */
.n7-simple-page__inner {
  width: 74.57627%;
  float: left;
  margin-right: 1.69492%; }

/* Right Left */
.n7-simple-page__inner + .n7-simple-page__sidebar {
  width: 23.72881%;
  float: left;
  margin-right: 0; }

/* Three columns layout - sidebar right */
/* Sidebar Left */
.n7-simple-page__sidebar {
  width: 23.72881%;
  float: left;
  margin-right: 1.69492%; }

/* Main content */
.n7-simple-page__sidebar + .n7-simple-page__inner-right.n7-simple-page__inner-left {
  width: 49.15254%;
  float: left;
  margin-right: 1.69492%; }

/* Sidebar Right */
.n7-simple-page__sidebar + .n7-simple-page__inner-right.n7-simple-page__inner-left + .n7-simple-page__sidebar {
  width: 23.72881%;
  float: left;
  margin-right: 0; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1120px) {
  .n7-max-width-content {
    padding-left: 20px;
    padding-right: 20px; }
  .content-area {
    padding-left: 20px;
    padding-right: 20px; } }

@media all and (max-width: 960px) {
  /* COLUMNS */
  /* Two columns layout - sidebar left */
  /* Sidebar Left */
  .n7-simple-page__sidebar {
    width: 32.20339%; }
  /* Main content */
  .n7-simple-page__sidebar + .n7-simple-page__inner {
    width: 66.10169%; }
  /* Two columns layout - sidebar right */
  /* Main content */
  .n7-simple-page__inner {
    width: 66.10169%; }
  /* Right Left */
  .n7-simple-page__inner + .n7-simple-page__sidebar {
    width: 32.20339%; }
  /* Three columns layout - sidebar right */
  /* Sidebar Left */
  .n7-simple-page__sidebar {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%; }
  /* Main content */
  .n7-simple-page__sidebar + .n7-simple-page__inner-right.n7-simple-page__inner-left {
    width: 66.10169%;
    float: left;
    margin-right: 0; }
  /* Sidebar Right */
  .n7-simple-page__sidebar + .n7-simple-page__inner-right.n7-simple-page__inner-left + .n7-simple-page__sidebar {
    width: 66.10169%;
    float: left;
    margin-right: 0;
    margin-left: 32.20339%;
    padding-left: 1.69492%; } }

@media all and (max-width: 767px) {
  /* Two columns layout - sidebar left */
  /* Sidebar Left */
  .n7-simple-page__sidebar {
    width: 100%;
    float: none;
    margin-right: 0; }
  /* Main content */
  .n7-simple-page__sidebar + .n7-simple-page__inner {
    width: 100%;
    float: none;
    margin-right: 0; }
  /* Two columns layout - sidebar right */
  /* Main content */
  .n7-simple-page__inner {
    width: 100%;
    float: none;
    margin-right: 0; }
  /* Right Left */
  .n7-simple-page__inner + .n7-simple-page__sidebar {
    width: 100%;
    float: none;
    margin-right: 0; }
  /* Three columns layout - sidebar right */
  /* Sidebar Left */
  .n7-simple-page__sidebar {
    width: 100%;
    float: none;
    margin-right: 0; }
  /* Main content */
  .n7-simple-page__sidebar + .n7-simple-page__inner-right.n7-simple-page__inner-left {
    width: 100%;
    float: none;
    margin-right: 0; }
  /* Sidebar Right */
  .n7-simple-page__sidebar + .n7-simple-page__inner-right.n7-simple-page__inner-left + .n7-simple-page__sidebar {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-left: 0;
    padding-left: 0; } }

@media all and (max-width: 480px) {
  .n7-max-width-content {
    padding-left: 10px;
    padding-right: 10px; }
  .content-area {
    padding-left: 10px;
    padding-right: 10px; } }

/**
 * GLOSSARY LAYOUT
 *
 * Layout for GLOSSARY page
 */
/* ------------------------------------ *   #GLOSSARY-LAYOUT
\* ------------------------------------ */
/* Letters */
.name_directory_index {
  margin: 0 0 20px 0;
  padding: 0 1px 0 0;
  height: auto;
  border: 0;
  display: inline-block;
  clear: both;
  float: none;
  overflow: hidden; }
  .name_directory_index .name_directory_startswith {
    display: block;
    float: left;
    height: auto;
    margin: 0 -1px 5px 0;
    padding: 7.5px 10px;
    border: 1px solid #e6e6e6;
    text-decoration: none;
    cursor: pointer; }
    .name_directory_index .name_directory_startswith.name_directory_empty {
      display: none; }
    .name_directory_index .name_directory_startswith:hover {
      background-color: #f7f7f7; }
      .name_directory_index .name_directory_startswith:hover a {
        color: #5aa39c; }
    .name_directory_index .name_directory_startswith a {
      text-decoration: none;
      font-size: 15px;
      font-weight: 700; }

/* Total results */
.name_directory_total {
  display: none; }

/* Items */
.name_directory_name_box {
  margin-bottom: 15px; }
  .name_directory_name_box br {
    display: none; }
  .name_directory_name_box strong {
    cursor: pointer;
    font-family: "Libre Franklin", Helvetica, Arial, sans-serif;
    font-size: 18px;
    line-height: 1.5;
    color: #395487;
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.35s; }
    .name_directory_name_box strong:hover {
      color: #5aa39c; }
  .name_directory_name_box div {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6; }

/* Help text */
.name_directory_names p {
  display: none; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * HOME MIDDLE
 *
 * Middle area of the home page
 */
.n7-home-inner-contents {
  background-image: url(../images/page-bg-1.jpg), url(../images/page-bg-2.jpg);
  background-repeat: no-repeat, no-repeat;
  background-position: center top, center 50%;
  background-size: cover, cover; }

.n7-home-middle {
  overflow: hidden;
  padding: 40px 0 0 0; }
  .n7-home-middle .n7-featured-row {
    overflow: hidden;
    width: 74.57627%;
    float: left;
    margin-bottom: 45px;
    margin-right: 1.69492%; }
    .n7-home-middle .n7-featured-row .n7-single-box-content {
      width: 31.81818%;
      float: left;
      margin-right: 2.27273%;
      margin-top: 18px; }
      .n7-home-middle .n7-featured-row .n7-single-box-content:last-of-type {
        margin-right: 0; }
  .n7-home-middle .n7-home-sidebar {
    width: 23.72881%;
    float: left;
    margin-bottom: 45px; }
    .n7-home-middle .n7-home-sidebar .n7-module-heading {
      font-size: 20px; }

.n7-home-bottom {
  overflow: hidden;
  padding: 0 0 20px 0; }
  .n7-home-bottom .n7-widget-news {
    margin-top: 15px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 1125px) {
  .n7-home-inner-contents {
    padding-left: 20px;
    padding-right: 20px; } }

@media all and (max-width: 768px) {
  .n7-home-middle {
    padding-top: 30px; }
    .n7-home-middle .n7-featured-row {
      width: 100%;
      float: none;
      margin-right: 0;
      margin-bottom: 30px; }
    .n7-home-middle .n7-home-sidebar {
      width: 100%;
      float: none;
      margin-right: 0;
      margin-bottom: 30px; } }

@media all and (max-width: 767px) {
  .n7-home-inner-contents {
    padding-left: 10px;
    padding-right: 10px; } }

@media all and (max-width: 590px) {
  .n7-home-middle .n7-featured-row .n7-single-box-content {
    width: 100%;
    float: none;
    margin-right: 0; } }

/**
 * PAGE LAYOUT
 *
 * Layout for all pages
 */
/* ------------------------------------ *   #PAGE-LAYOUT
\* ------------------------------------ */
.page .n7-inner-page-content {
  width: 66.10169%;
  float: left;
  margin-right: 1.69492%; }

.page .n7-inner-page-sidebar {
  width: 32.20339%;
  float: left; }

.entry-content h1 {
  color: #5aa39c; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .page-template-template-archive-list .n7-inner-page-content {
    width: 100%;
    float: none; }
  .page-template-template-archive-list .n7-inner-page-sidebar {
    display: none; } }

/**
 * POST LAYOUT
 *
 * Layout for news, archives news
 */
/* ------------------------------------ *   #POST-LAYOUT
\* ------------------------------------ */
.type-post .entry-header .n7-date {
  margin-bottom: 10px; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * STORIES LAYOUT
 *
 * Layout for stories section pages
 */
/* ------------------------------------ *   #STORIES
\* ------------------------------------ */
/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
@media all and (max-width: 767px) {
  .single-ant_storia .n7-simple-page__sidebar,
  .ant_storia-template-default .n7-simple-page__sidebar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
    .single-ant_storia .n7-simple-page__sidebar .n7-story-meta-box,
    .ant_storia-template-default .n7-simple-page__sidebar .n7-story-meta-box {
      margin-bottom: 15px;
      -ms-flex-order: -1;
          order: -1; }
  .content_type-page-story.content-area,
  .content_type-stories.content-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
        flex-flow: column nowrap; }
    .content_type-page-story.content-area .n7-breadcrumbs,
    .content_type-stories.content-area .n7-breadcrumbs {
      -ms-flex-order: 1;
          order: 1; }
    .content_type-page-story.content-area .entry-header,
    .content_type-stories.content-area .entry-header {
      -ms-flex-order: 2;
          order: 2; }
    .content_type-page-story.content-area .site-main,
    .content_type-stories.content-area .site-main {
      -ms-flex-order: 3;
          order: 3; }
    .content_type-page-story.content-area .n7-simple-page__sidebar,
    .content_type-stories.content-area .n7-simple-page__sidebar {
      -ms-flex-order: 4;
          order: 4; } }

/**
 * TERRITORIO E FONTI LAYOUT
 *
 * Layout for Territorio e Fonti
 */
/* ------------------------------------ *   #TERRITORIO-FONTI
\* ------------------------------------ */
.n7-territorio-fonti__first-block article {
  margin-bottom: 0; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * GENERAL LAYOUT
 *
 * Layout for all pages
 */
/* ------------------------------------ *   #GENERAL-LAYOUT
\* ------------------------------------ */
.n7-video-page .n7-video-page__video {
  width: 57.62712%;
  float: left;
  margin-right: 1.69492%;
  /*ACF STYLE FOR RESPONSIVE EMBED OBJECT*/ }
  .n7-video-page .n7-video-page__video .n7-video-page__embed-container {
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
    max-width: 100%;
    height: auto; }
    .n7-video-page .n7-video-page__video .n7-video-page__embed-container iframe, .n7-video-page .n7-video-page__video .n7-video-page__embed-container object, .n7-video-page .n7-video-page__video .n7-video-page__embed-container embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100% !important;
      height: 100%; }
      .n7-video-page .n7-video-page__video .n7-video-page__embed-container iframe .vp-player-layout, .n7-video-page .n7-video-page__video .n7-video-page__embed-container object .vp-player-layout, .n7-video-page .n7-video-page__video .n7-video-page__embed-container embed .vp-player-layout {
        width: 100% !important;
        height: 100% !important;
        overflow: hidden; }

.n7-video-page .n7-story-list {
  width: 40.67797%;
  float: left; }

/* Story video */
.n7-story-video {
  margin-bottom: 20px; }
  .n7-story-video iframe {
    width: 100%; }

/* ------------------------------------ *   #MEDIA-QUERIES
\* ------------------------------------ */
/**
 * UTILITIES
 *
 * General utilities
 */
/* ------------------------------------ *   #UTILITIES
\* ------------------------------------ */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsImdlbmVyaWMvX3ZhcmlhYmxlcy5zY3NzIiwiZ2xvYmFsL19ub3JtYWxpemUuc2NzcyIsImdsb2JhbC9fYmFzZS5zY3NzIiwiZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJnbG9iYWwvX2Zvcm1zLnNjc3MiLCJnbG9iYWwvX3RhYmxlcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2JhY2stdG8tcGFyZW50LnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJnZW5lcmljL19ncmFkaWVudHMuc2NzcyIsImNvbXBvbmVudHMvX2RhdGUuc2NzcyIsImNvbXBvbmVudHMvX2ZvY3VzLWJveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L19zdS1tYXRoLnNjc3MiLCJjb21wb25lbnRzL19ndWlkZWQtc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRpbmdzLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2xhbmd1YWdlLXNlbGVjdG9yLnNjc3MiLCJjb21wb25lbnRzL19uYXYtc2VjLnNjc3MiLCJjb21wb25lbnRzL19uYXYtbWFpbi5zY3NzIiwiY29tcG9uZW50cy9fbmF2LW1vYmlsZS5zY3NzIiwiY29tcG9uZW50cy9fbmF2LWZvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1wcmV2aWV3LnNjc3MiLCJjb21wb25lbnRzL19wYWdlLXN1Ym1lbnUuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2Utc3VibWVudS10aHVtYi5zY3NzIiwiY29tcG9uZW50cy9fc3RvcnktbWV0YS1ib3guc2NzcyIsImNvbXBvbmVudHMvX3N0b3J5LXZpZGVvLWdyb3VwaW5nLnNjc3MiLCJjb21wb25lbnRzL19zdG9yeS12aWRlb3MtZGlhbG9nLnNjc3MiLCJjb21wb25lbnRzL191aS1kaWFsb2cuc2NzcyIsImNvbXBvbmVudHMvX3RhZy5zY3NzIiwiY29tcG9uZW50cy9fdG9vbHMtYm94ZXMuc2NzcyIsImNvbXBvbmVudHMvX3dwbWwtbGFuZy1zd2l0Y2guc2NzcyIsImNvbXBvbmVudHMvX3NpbmdsZS1ib3gtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LW5ld3MtYXJjaGl2ZS5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LWhvbWUtbmV3cy5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LWpvaW4tbmV3c2xldHRlci5zY3NzIiwiY29tcG9uZW50cy9fd2lkZ2V0LWFudGVuYXRpLWNvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC15b3VyLXN0b3J5LnNjc3MiLCJjb21wb25lbnRzL19hcmNoaXZlcy5zY3NzIiwiY29tcG9uZW50cy9fYXJjaGl2ZS1saXN0LXdyYXBwZXIuc2NzcyIsImNvbXBvbmVudHMvX3N0b3J5LWxpc3Quc2NzcyIsImNvbXBvbmVudHMvc2luZ2xlLWFyY2hpdmUuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX251bWJlci1yb3cuc2NzcyIsImNvbXBvbmVudHMvX3dpZGdldC1zdG9yaWVzLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3VpLWF1dG9jb21wbGV0ZS5zY3NzIiwiY29tcG9uZW50cy9fc3VibWVudS1saXN0LnNjc3MiLCJjb21wb25lbnRzL19nYWxsZXJ5LnNjc3MiLCJsYXlvdXRzL19hcmNoaXZlLW5ld3Muc2NzcyIsImxheW91dHMvX2ZhcS5zY3NzIiwibGF5b3V0cy9fZ2VuZXJhbC1sYXlvdXQuc2NzcyIsImxheW91dHMvX2dsb3NzYXJ5Mi5zY3NzIiwibGF5b3V0cy9faG9tZS1taWRkbGUuc2NzcyIsImxheW91dHMvX3BhZ2Uuc2NzcyIsImxheW91dHMvX3Bvc3Quc2NzcyIsImxheW91dHMvX3N0b3JpZXMuc2NzcyIsImxheW91dHMvX3RlcnJpdG9yaW8tZm9udGkuc2NzcyIsImxheW91dHMvX3Zp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O0lBckJMOztNQU9ZLGtCQUNIO1VBREcsU0FDSCxFQUFDO0lBUlY7O01BV1ksa0JBQVM7VUFBVCxTQUFTLEVBQ1o7SUFaVDs7TUFlWSxrQkFBUztVQUFULFNBQVMsRUFDWjtJQWhCVDs7TUFtQlksa0JBQVM7VUFBVCxTQUFTLEVBQ1osRUFBQTs7QUN6RGI7Ozs7R0FJRztBQUVIOzBDQUUwQztBQUMxQztFQUVRLGlCQUFpQixFQUNwQjs7QUFJTDswQ0FFMEM7QUNsQjFDOzs7O0dBSUc7QUFFSDswQ0FFMEM7QUFDMUM7RUFFUSxpQjdDaUZjO0U2Q2hGZCxZQUFZO0VBQ1osdUI3Q2tJWTtFNkNoSVoseUNBQXlDLEVBdUI1QztFQTdCTDtJQVFZLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixhQUFhLEVBZ0JoQjtJQTVCVDtNQWVnQixtQkFBbUI7TUFDbkIsT0FBTztNQUNQLFFBQVE7TUFDUix1QkFBdUI7TUFDdkIsYUFBYSxFQVFoQjtNQTNCYjtRQXNCb0IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4QixpQkFBaUIsRUFDcEI7O0FBekJqQjtFQWdDUSxpQjdDbURjO0U2Q2xEZCxZQUFZLEVBQ2Y7O0FBSUwsaUJBQWlCO0FBQ2pCO0VBQ0ksb0JBQTRCLEVBSy9CO0VBTkQ7SUFJUSxZQUFZLEVBQ2Y7O0FBR0w7MENBRTBDO0FDMUQxQzs7OztHQUlHO0FBRUg7MENBRTBDIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MaWJyZStGcmFua2xpbjo0MDAsNjAwLDcwMCc7XG5AaW1wb3J0ICdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczo0MDAsNjAwJztcbkBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG8rU2xhYjozMDAnO1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qKlxuICogTk9STUFMSVpFXG4gKlxuICogTm9ybWFsaXphdGlvbiBvZiB0YWdzXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmZmZjAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIEJBU0VcclxuICpcclxuICogQmFzaWMgc3R5bGUgZm9yIHRhZyBhbmQgZ2VuZXJhbCBjbGFzc2VzXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjQkFTRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5odG1sLCBib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogIzU1NTU1NTtcbiAgZm9udC1mYW1pbHk6IFwiTGlicmUgRnJhbmtsaW5cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLyogRml4IGZvciB3ZWJraXQgcmVuZGVyaW5nICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogY29tbW9uLWxpZ2F0dXJlczsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuKjpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIGlucHV0OmZvY3VzLCBidXR0b246Zm9jdXMsIGEsIGE6aG92ZXIsIGE6YWN0aXZlLCBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5hIHtcbiAgY29sb3I6ICMzOTU0ODc7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1czsgfVxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzQ4NmFhYjsgfVxuXG4uZW50cnktY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmVudHJ5LXRpdGxlIHtcbiAgY29sb3I6ICMzOTU0ODc7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTZlNmU2O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IH1cbiAgLmVudHJ5LXRpdGxlIC5lbnRyeS10aXRsZV9fYXV0aG9yIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgY29sb3I6ICNhYWFhYWE7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5lbnRyeS10aXRsZSAuZW50cnktdGl0bGVfX2F1dGhvciBzdHJvbmcge1xuICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbltjbGFzcyo9XCJjb250ZW50X3R5cGUtYXJjaGl2ZVwiXSAuZW50cnktdGl0bGUge1xuICBjb2xvcjogIzVhYTM5YzsgfVxuXG5bY2xhc3MqPVwiY29udGVudF90eXBlLW5ld3NcIl06bm90KFtjbGFzcyo9XCJjYXRlZ29yeS1hcmNoaXZpb1wiXSk6bm90KFtjbGFzcyo9XCJjYXRlZ29yeS1pbmRpY2UtZGVpLW5vbWlcIl0pIC5lbnRyeS10aXRsZSB7XG4gIGNvbG9yOiAjYWQ4MjVjOyB9XG5cbltjbGFzcyo9XCJjb250ZW50X3R5cGUtc3Rvcmllc1wiXSAuZW50cnktdGl0bGUge1xuICBjb2xvcjogI2Q4NjA0NDsgfVxuXG5bY2xhc3MqPVwiY29udGVudF90eXBlLXR1dG9yaWFsXCJdIC5lbnRyeS10aXRsZSB7XG4gIGNvbG9yOiAjZjJhYjNmOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0lNQUdFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbWFnZSB3aXRoIGNhcHRpb24gKi9cbi5lbnRyeS1jb250ZW50IC53cC1jYXB0aW9uIHtcbiAgcGFkZGluZzogN3B4O1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuZW50cnktY29udGVudCAud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2VcIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLyogSW1hZ2Ugbm8gY2FwdGlvbiAqL1xuLmVudHJ5LWNvbnRlbnQgaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBwYWRkaW5nOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuZW50cnktY29udGVudCBpbWdbY2xhc3MqPVwid3AtaW1hZ2VcIl0uYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgLmVudHJ5LWNvbnRlbnQgaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmVudHJ5LWNvbnRlbnQgLndwLWNhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZW50cnktY29udGVudCAud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2VcIl0uYWxpZ25sZWZ0LCAuZW50cnktY29udGVudCAud3AtY2FwdGlvbiBpbWdbY2xhc3MqPVwid3AtaW1hZ2VcIl0uYWxpZ25yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLyogSW1hZ2Ugbm8gY2FwdGlvbiAqL1xuICAuZW50cnktY29udGVudCBpbWdbY2xhc3MqPVwid3AtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdLmFsaWdubGVmdCwgLmVudHJ5LWNvbnRlbnQgaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdLmFsaWducmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuZW50cnktdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuZW50cnktdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuXG4vKipcclxuICogVFlQT0dSQVBIWVxyXG4gKlxyXG4gKiBEZWZpbml0aW9uIG9mIHR5cG9ncmFwaGljIHN0eWxlc1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0hFQURJTkdTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjM7XG4gIG1hcmdpbi1ib3R0b206IC4zZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICBtYXJnaW4tYm90dG9tOiAuM2VtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogLjNlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDAuODtcbiAgbWFyZ2luLWJvdHRvbTogLjNlbTsgfVxuXG5oNSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICMzOTU0ODc7IH1cblxucCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNzU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTElOS1NcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYSB7XG4gIGNvbG9yOiAjMzk1NDg3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICM1YWEzOWM7IH1cbiAgYSBoMSwgYSBoMiwgYSBoMywgYSBoNCwgYSBoNSwgYSBoNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmVudHJ5LWNvbnRlbnQgcCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuaDEgYSwgaDIgYSwgaDMgYSwgaDQgYSwgaDUgYSwgaDYgYSB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0xJU1RTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5lbnRyeS1jb250ZW50IHVsLCAuZW50cnktY29udGVudCBvbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwIDEwcHggMzBweDsgfVxuICAuZW50cnktY29udGVudCB1bCBsaSwgLmVudHJ5LWNvbnRlbnQgb2wgbGkge1xuICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0hSXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmhyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0VNUFRZLVNUQVRFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZW1wdHktc3RhdGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjQ0FQVElPTlNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWNhcHRpb24sIC5lbnRyeS1jb250ZW50IC53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICBtYXJnaW46IDdweCAwIDAgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjYWJhYmFiO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi8qKlxyXG4gKiBGT1JNU1xyXG4gKlxyXG4gKiBTdHlsZSBmb3IgZm9ybXMgZWxlbWVudHNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNHRU5FUkFMXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbnNlbGVjdCwgdGV4dGFyZWEsIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSwgaW5wdXRbdHlwZT1cInVybFwiXSwgaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzU1NTU1NTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCA2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG4gIGhlaWdodDogMzBweDsgfVxuICBzZWxlY3Q6Zm9jdXMsIHNlbGVjdDphY3RpdmUsIHRleHRhcmVhOmZvY3VzLCB0ZXh0YXJlYTphY3RpdmUsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTphY3RpdmUsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmFjdGl2ZSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cywgaW5wdXRbdHlwZT1cIm51bWJlclwiXTphY3RpdmUsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTphY3RpdmUsIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidXJsXCJdOmFjdGl2ZSwgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzk1NDg3O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpLCAwIDAgMnB4IGZhZGUoIzM5NTQ4NywgMjAlKTsgfVxuICBzZWxlY3Quc21hbGwsIHRleHRhcmVhLnNtYWxsLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5zbWFsbCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLnNtYWxsLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uc21hbGwsIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5zbWFsbCxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLnNtYWxsLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLnNtYWxsLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0uc21hbGwsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0uc21hbGwsIGlucHV0W3R5cGU9XCJ0ZWxcIl0uc21hbGwsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLnNtYWxsLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXS5zbWFsbCwgaW5wdXRbdHlwZT1cInVybFwiXS5zbWFsbCwgaW5wdXRbdHlwZT1cIndlZWtcIl0uc21hbGwge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cbiAgc2VsZWN0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cImRhdGVcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwidGVsXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwidGV4dFwiXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJ1cmxcIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgY29sb3I6ICNhYmFiYWI7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIHNlbGVjdDo6LW1vei1wbGFjZWhvbGRlciwgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJkYXRlXCJdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cImVtYWlsXCJdOjotbW96LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cInRlbFwiXTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cInRleHRcIl06Oi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwidXJsXCJdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwid2Vla1wiXTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICBjb2xvcjogI2FiYWJhYjtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cInRlbFwiXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwidXJsXCJdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cIndlZWtcIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBJRSAxMCsgKi9cbiAgICBjb2xvcjogI2FiYWJhYjtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgc2VsZWN0Oi1tb3otcGxhY2Vob2xkZXIsIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJkYXRlXCJdOi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTotbW96LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cImVtYWlsXCJdOi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXTotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTotbW96LXBsYWNlaG9sZGVyLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XCJ0ZWxcIl06LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cInRleHRcIl06LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl06LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cInVybFwiXTotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVwid2Vla1wiXTotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgIGNvbG9yOiAjYWJhYmFiO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKiBTZXQgSGVpZ2h0ICovXG50ZXh0YXJlYSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XG4gIGhlaWdodDogMzBweDsgfVxuXG4vKipcclxuICogVEFCTEVcclxuICpcclxuICogQmFzaWMgc3R5bGUgZm9yIHRhYmxlc1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1RBQkxFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy10YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICAubjctdGFibGUudGFibGUtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm43LXRhYmxlIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5uNy10YWJsZSB0aCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLm43LXRhYmxlIHRoLCAubjctdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm43LXRhYmxlIHRkIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLm43LXRhYmxlIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAubjctdGFibGUgdHIuY2xpY2thYmxlIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm43LXRhYmxlIC5uNy10YWJsZV9faGVhZGVyLXJvdyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG4gICAgLm43LXRhYmxlIC5uNy10YWJsZV9faGVhZGVyLXJvdzpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAgIC5uNy10YWJsZSAubjctdGFibGVfX2hlYWRlci1yb3cgdGQge1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1RBQkxFUFJFU1NcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmRhdGFUYWJsZXNfd3JhcHBlciAudGFibGVwcmVzcyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAudGFibGVwcmVzcyB0aGVhZCB0aCxcbiAgLmRhdGFUYWJsZXNfd3JhcHBlciAudGFibGVwcmVzcyB0Zm9vdCB0aCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3YjdiNztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXMgZWFzZTtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLnRhYmxlcHJlc3MgLnNvcnRpbmc6aG92ZXIsXG4gIC5kYXRhVGFibGVzX3dyYXBwZXIgLnRhYmxlcHJlc3MgLnNvcnRpbmdfYXNjLFxuICAuZGF0YVRhYmxlc193cmFwcGVyIC50YWJsZXByZXNzIC5zb3J0aW5nX2Rlc2Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTllOWU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogU0VDT05EQVJZIE5BVklHQVRJT05cclxuICpcclxuICogU2Vjb25kYXJ5IG5hdmlnYXRpb25cclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNOQVYtU0VDXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1icmVhZGNydW1icyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICBwYWRkaW5nOiAzMHB4IDAgNXB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLm43LWJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjYWJhYmFiO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5uNy1icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gIC5uNy1icmVhZGNydW1icyAuY3VycmVudC1pdGVtIHtcbiAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgIC5uNy1icmVhZGNydW1icyAuY3VycmVudC1pdGVtOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gIC5uNy1icmVhZGNydW1icyAuYnJlYWRjcnVtYi1zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgNXB4OyB9XG5cbi5jb250ZW50X3R5cGUtYXJjaGl2ZSAubjctYnJlYWRjcnVtYnMgLmJyZWFkY3J1bWItc2VwYXJhdG9yIHtcbiAgY29sb3I6ICM1YWEzOWM7IH1cblxuLmNvbnRlbnRfdHlwZS1zdG9yaWVzIC5uNy1icmVhZGNydW1icyAuYnJlYWRjcnVtYi1zZXBhcmF0b3Ige1xuICBjb2xvcjogI2Q4NjA0NDsgfVxuXG4uY29udGVudF90eXBlLW5ld3MgLm43LWJyZWFkY3J1bWJzIC5icmVhZGNydW1iLXNlcGFyYXRvciB7XG4gIGNvbG9yOiAjYWQ4MjVjOyB9XG5cbi5jb250ZW50X3R5cGUtdHV0b3JpYWwgLm43LWJyZWFkY3J1bWJzIC5icmVhZGNydW1iLXNlcGFyYXRvciB7XG4gIGNvbG9yOiAjZjJhYjNmOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm43LWJyZWFkY3J1bWJzIHtcbiAgICBwYWRkaW5nOiAxNXB4IDAgNXB4IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5uNy1icmVhZGNydW1icyB7XG4gICAgcGFkZGluZzogMjBweCAwIDEwcHggMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLm43LWJyZWFkY3J1bWJzIGEge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLyoqXHJcbiAqIFBBR0UgU1VCTUVOVVxyXG4gKlxyXG4gKiBNYWluIG1lbnUgbmF2aWdhdGlvbnNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNQQUdFIFNVQk1FTlVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWJhY2stdG8tcGFyZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgYm94LXNoYWRvdzogMCAycHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5uNy1iYWNrLXRvLXBhcmVudDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRBd2Vzb21lXCI7XG4gICAgY29udGVudDogJ1xcZjEwNCc7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgcGFkZGluZzogNHB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1czsgfVxuICAubjctYmFjay10by1wYXJlbnQgLm43LWJhY2stdG8tcGFyZW50X190ZXh0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgLm43LWJhY2stdG8tcGFyZW50IC5uNy1iYWNrLXRvLXBhcmVudF9fbGluay10ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogI2Q4NjA0NDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm43LWJhY2stdG8tcGFyZW50OmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICM1YWEzOWM7IH1cbiAgLmNvbnRlbnRfdHlwZS1uZXdzIC5uNy1iYWNrLXRvLXBhcmVudCAubjctYmFjay10by1wYXJlbnRfX2xpbmstdGV4dCB7XG4gICAgY29sb3I6ICNhZDgyNWM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogQlVUVE9OU1xyXG4gKlxyXG4gKiBTdHlsZSBmb3IgYWxsIHR5cGVzIG9mIGJ1dHRvbnNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNTVEFOREFSRC1CVVRUT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWJ0biwgLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMzZweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBtYXJnaW46IDAgM3B4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogIzM5NTQ4NztcbiAgLyogT2xkIGJyb3dzZXJzICovXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDAuODlkZWcsICMzOTU0ODcgMCUsICM1YWEzOWMgMTAwJSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7XG4gIC8qIERpc2FibGVkICovXG4gIC8qIEFjdGl2ZSAqL1xuICAvKiBMYWJlbCwgc29tZXRpbWVzIGluc2lkZSBhIFNQQU4qL1xuICAvKiBJY29uIGluc2lkZSBidXR0b24gKi8gfVxuICAubjctYnRuOmhvdmVyLCAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzOTU0ODc7XG4gICAgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MC44OWRlZywgIzM5NTQ4NyA2MCUsICM1YWEzOWMgMTAwJSk7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAubjctYnRuLmRpc2FibGVkLCAuZGlzYWJsZWQubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24sIC5uNy1idG46ZGlzYWJsZWQsIC5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGVfX2J1dHRvbjpkaXNhYmxlZCwgLm43LWJ0bi5kaXNhYmxlZDpob3ZlciwgLmRpc2FibGVkLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uOmhvdmVyLCAubjctYnRuOmRpc2FibGVkOmhvdmVyLCAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b246ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMzOTU0ODc7XG4gICAgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MC44OWRlZywgIzM5NTQ4NyA2MCUsICM1YWEzOWMgMTAwJSk7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgICBib3JkZXItY29sb3I6ICNlNmU2ZTY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIC5uNy1idG4uYWN0aXZlLCAuYWN0aXZlLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uLCAubjctYnRuOmFjdGl2ZSwgLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uOmFjdGl2ZSwgLm43LWJ0bi5hY3RpdmU6aG92ZXIsIC5hY3RpdmUubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b246aG92ZXIsIC5uNy1idG46YWN0aXZlOmhvdmVyLCAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b246YWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogIzVhYTM5YztcbiAgICBib3JkZXItY29sb3I6ICM1YWEzOWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAubjctYnRuIC5uNy1pY29uLCAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24gLm43LWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBtYXJnaW46IDAgM3B4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1NJWkVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1idG4sIC5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGVfX2J1dHRvbiB7XG4gIC8qIE1vc3RseSB1c2VkIGludG8gYmFycyAqLyB9XG4gIC5uNy1idG4ubjctYnRuLXMsIC5uNy1idG4tcy5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGVfX2J1dHRvbiB7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAubjctYnRuLm43LWJ0bi1sLCAubjctYnRuLWwubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTElHSFQtQlVUVE9OXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE5vIGJhY2tncm91bmQgKi9cbi5uNy1idG4tbGlnaHQge1xuICBwYWRkaW5nOiAwIDRweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIC8qIERpc2FibGVkICovXG4gIC8qIEFjdGl2ZSAqLyB9XG4gIC5uNy1idG4tbGlnaHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNWFhMzljO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uNy1idG4tbGlnaHQuZGlzYWJsZWQsIC5uNy1idG4tbGlnaHQ6ZGlzYWJsZWQsIC5uNy1idG4tbGlnaHQuZGlzYWJsZWQ6aG92ZXIsIC5uNy1idG4tbGlnaHQ6ZGlzYWJsZWQ6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLm43LWJ0bi1saWdodC5hY3RpdmUsIC5uNy1idG4tbGlnaHQ6YWN0aXZlLCAubjctYnRuLWxpZ2h0LmFjdGl2ZTpob3ZlciwgLm43LWJ0bi1saWdodDphY3RpdmU6aG92ZXIge1xuICAgIGNvbG9yOiAjNWFhMzljO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNDQUxMLVRPLUFDVElPTi1CVVRUT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWJ0bi1jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU3LCA4NCwgMTM1LCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiAjMmEzZTYzO1xuICBjb2xvcjogIzVhYTM5YztcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLyogRGlzYWJsZWQgKi9cbiAgLyogQWN0aXZlICovIH1cbiAgLm43LWJ0bi1jdGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODZhYWI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMmEzZTYzO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5uNy1idG4tY3RhLmRpc2FibGVkLCAubjctYnRuLWN0YTpkaXNhYmxlZCwgLm43LWJ0bi1jdGEuZGlzYWJsZWQ6aG92ZXIsIC5uNy1idG4tY3RhOmRpc2FibGVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU3LCA4NCwgMTM1LCAwLjkpO1xuICAgIGJvcmRlci1jb2xvcjogIzJhM2U2MztcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLm43LWJ0bi1jdGEuYWN0aXZlLCAubjctYnRuLWN0YTphY3RpdmUsIC5uNy1idG4tY3RhLmFjdGl2ZTpob3ZlciwgLm43LWJ0bi1jdGE6YWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg2YWFiO1xuICAgIGJvcmRlci1jb2xvcjogIzJhM2U2MztcbiAgICBjb2xvcjogIzVhYTM5YzsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNGQUNFQk9PSy1CVVRUT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRmFjZWJvb2sgbGluayB3aXRoIGljb24gYW5kIHRleHQgKi9cbi5uNy1idG4tZmItdHh0IHtcbiAgY29sb3I6ICMzYjU5OTg7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5uNy1idG4tZmItdHh0IGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA5YVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRBd2Vzb21lXCI7XG4gICAgcGFkZGluZy1yaWdodDogN3B4OyB9XG5cbi8qKlxyXG4gKiBEQVRFXHJcbiAqXHJcbiAqIERhdGUgaW5kaWNhdGlvblxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0RBVEVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWRhdGUge1xuICBjb2xvcjogIzZkOWUzMztcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5uNy1kYXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNzNcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7IH1cbiAgLm43LWRhdGUgLmZhLWNhbGVuZGFyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBGRUFUVVJFRCBCT1hcclxuICpcclxuICogRmVhdHVyZWQgYm94IHdpZGdldFxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1RPT0xTLUJPWEVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1mb2N1cy1ib3gge1xuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cbiAgLm43LWZvY3VzLWJveDpudGgtb2YtdHlwZSgyKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5uNy1mb2N1cy1ib3ggLm43LWZvY3VzLWJveF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweDsgfVxuICAubjctZm9jdXMtYm94IC5uNy1mb2N1cy1ib3hfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTcycHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm43LWZvY3VzLWJveCAubjctZm9jdXMtYm94X19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTQwcHg7XG4gICAgcGFkZGluZzogMCA4MHB4OyB9XG4gIC5uNy1mb2N1cy1ib3ggLm43LWZvY3VzLWJveF9fZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNWSURFTy1CT1hFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctZm9jdXMtYm94Lm43LWZvY3VzLWJveC12aWRlbyAubjctZm9jdXMtYm94X19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubjctZm9jdXMtYm94Lm43LWZvY3VzLWJveC12aWRlbyAubjctZm9jdXMtYm94X19pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTsgfVxuICAubjctZm9jdXMtYm94Lm43LWZvY3VzLWJveC12aWRlbyAubjctZm9jdXMtYm94X19pbWFnZSAubjctZm9jdXMtYm94X192aWRlb19pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGxheS1pY29uQDJ4LnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLm43LWZvY3VzLWJveCAubjctZm9jdXMtYm94X19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTQwcHg7XG4gICAgcGFkZGluZzogMCA0MHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm43LWZvY3VzLWJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAubjctZm9jdXMtYm94Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi8qKlxyXG4gKiBHVUlERUQgU0VBUkNIXHJcbiAqXHJcbiAqIEd1aWRlZCBzZWFyY2ggZm9ybSBtYWRlIHVzaW5nIENhbGRlcmEgRm9ybXNcclxuICpcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNHVUlERUQtU0VBUkNIXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkgLmNhbGRlcmEtZ3JpZCB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAvKiBSYWRpbyBsYWJlbHMgKi9cbiAgLyogUmFkaW8gKi9cbiAgLyogQnV0dG9uICovXG4gIC8qIEVycm9ycyAqL1xuICAvKiBSYWRpbyBsYWJlbHMgKi8gfVxuICBib2R5IC5jYWxkZXJhLWdyaWQgLnJhZGlvLWlubGluZSB7XG4gICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgYm9keSAuY2FsZGVyYS1ncmlkIC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIGJvZHkgLmNhbGRlcmEtZ3JpZCBpbnB1dFt0eXBlPXN1Ym1pdF0ubjctYnRuLCBib2R5IC5jYWxkZXJhLWdyaWQgaW5wdXRbdHlwZT1zdWJtaXRdLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGJhY2tncm91bmQ6ICMzOTU0ODc7XG4gICAgLyogT2xkIGJyb3dzZXJzICovXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MC44OWRlZywgIzM5NTQ4NyAwJSwgIzVhYTM5YyAxMDAlKTtcbiAgICBib3JkZXItY29sb3I6ICMyYTNlNjMgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiAwIDAgMCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjM1czsgfVxuICAgIGJvZHkgLmNhbGRlcmEtZ3JpZCBpbnB1dFt0eXBlPXN1Ym1pdF0ubjctYnRuOmhvdmVyLCBib2R5IC5jYWxkZXJhLWdyaWQgaW5wdXRbdHlwZT1zdWJtaXRdLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzOTU0ODc7XG4gICAgICAvKiBPbGQgYnJvd3NlcnMgKi9cbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDAuODlkZWcsICMzOTU0ODcgNjAlLCAjNWFhMzljIDEwMCUpOyB9XG4gIGJvZHkgLmNhbGRlcmEtZ3JpZCAucGFyc2xleS1yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNlNzRmNjI7IH1cbiAgYm9keSAuY2FsZGVyYS1ncmlkIC5oYXMtZXJyb3IgLnJhZGlvLWlubGluZSxcbiAgYm9keSAuY2FsZGVyYS1ncmlkIC5yYWRpby1pbmxpbmUucGFyc2xleS1yZXF1aXJlZCB7XG4gICAgY29sb3I6ICM1NTU1NTU7IH1cblxuLm43LWd1aWRlZC1zZWFyY2hfX3RpdGxlIHAge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogVE9QIEhFQURFUlxyXG4gKlxyXG4gKiBUb3AgaGVhZGVyXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjSEVBREVSXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1oZWFkZXIge1xuICAvKiBMb2doaSAqLyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fdG9wYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTJkMWYwOyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fdG9wYmFyLWxvZ29zIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMjM0cHg7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX190b3BiYXItbG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fdG9wYmFyLWxvZ28gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDBweDsgfVxuICAgIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fdG9wYmFyLWxvZ28gaW1nIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1sb2dvIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuICAgIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1sb2dvIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19sb2dvLWJyYW5kaW5nLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19zaXRlLWJyYW5kaW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fbWFpbi1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweCAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzM5NTQ4NztcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNT0JJTEUtTkFWLVRPR0dMRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctbmF2LW1vYmlsZS10b2dnbGUge1xuICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwcHggc29saWQgI2Y3ZjdmNztcbiAgY29sb3I6ICMzOTU0ODc7IH1cbiAgLm43LW5hdi1tb2JpbGUtdG9nZ2xlIFtjbGFzc149XCJmYVwiXSB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5uNy1uYXYtbW9iaWxlLXRvZ2dsZSAubjctbmF2LW1vYmlsZS10b2dnbGVfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5uNy1uYXYtbW9iaWxlLXRvZ2dsZTphY3RpdmUsIC5uNy1uYXYtbW9iaWxlLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1icmFuZGluZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMDsgfVxuICAgIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1sb2dvIGltZyB7XG4gICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fbG9nby1icmFuZGluZy13cmFwcGVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19zaXRlLWJyYW5kaW5nIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAubjctaGVhZGVyIC5uNy1oZWFkZXJfX21haW4tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxOHB4IDE4cHg7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19zaXRlLWxvZ28ge1xuICAgIG1pbi1oZWlnaHQ6IDA7IH1cbiAgICAubjctaGVhZGVyIC5uNy1oZWFkZXJfX3NpdGUtbG9nbyBpbWcge1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAubjctaGVhZGVyIC5uNy1oZWFkZXJfX2xvZ28tYnJhbmRpbmctd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubjctaGVhZGVyIC5uNy1tYWluLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX190b3BiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19zaXRlLWJyYW5kaW5nIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLm43LWhlYWRlciAubjctaGVhZGVyX19tYWluLWJhciB7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAubjctaGVhZGVyIC5uNy1oZWFkZXJfX21haW4tYmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9XG4gIC5uNy1oZWFkZXIgLm43LWhlYWRlcl9fc2l0ZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubjctaGVhZGVyIC5uNy1uYXYtbW9iaWxlLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4vKiBSZXRpbmEgKi9cbi8qKlxuICogSEVBRElOR1NcbiAqXG4gKiBTdHlsZSBmb3IgYWxsIHR5cGVzIG9mIG1vZHVsZSBvciBibG9jayBoZWFkaW5nc1xuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNT0RVTEUtSEVBRElOR1NcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1tb2R1bGUtaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICMzOTU0ODc7XG4gIGNvbG9yOiAjMzk1NDg3O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLm43LW1vZHVsZS1oZWFkaW5nLm43LXR5cGUtbmV3cyB7XG4gICAgY29sb3I6ICNhZDgyNWM7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNhZDgyNWM7IH1cblxuLyoqXHJcbiAqIEZPT1RFUlxyXG4gKlxyXG4gKiBGb290ZXJcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNGT09URVJcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWZvb3RlciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZmZmZmZmIDAlLCAjZTZlNmU2IDEwMCUpO1xuICAvKiBXaWRnZXQgc3R5bGUgKi8gfVxuICAubjctZm9vdGVyIC5uNy1mb290ZXJfX3NlcGFyYXRvciB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICAubjctZm9vdGVyIC5uNy1mb290ZXItY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLm43LWZvb3RlciAubjctZm9vdGVyX193aWRnZXQtbGVmdCxcbiAgLm43LWZvb3RlciAubjctZm9vdGVyX193aWRnZXQtY2VudGVyLFxuICAubjctZm9vdGVyIC5uNy1mb290ZXJfX3dpZGdldC1yaWdodCB7XG4gICAgd2lkdGg6IDMyLjIwMzM5JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAyNXB4IDA7IH1cbiAgLm43LWZvb3RlciAubjctZm9vdGVyX193aWRnZXQtbGVmdCxcbiAgLm43LWZvb3RlciAubjctZm9vdGVyX193aWRnZXQtY2VudGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlOyB9XG4gICAgLm43LWZvb3RlciAubjctZm9vdGVyX193aWRnZXQtbGVmdCAubjctYnRuLWZiLXR4dCxcbiAgICAubjctZm9vdGVyIC5uNy1mb290ZXJfX3dpZGdldC1jZW50ZXIgLm43LWJ0bi1mYi10eHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5uNy1mb290ZXIgLndpZGdldC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkxpYnJlIEZyYW5rbGluXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLm43LWZvb3RlciAudGV4dHdpZGdldCxcbiAgLm43LWZvb3RlciAudGV4dHdpZGdldCBwIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICNhYmFiYWI7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjRk9PVEVSLU1FTlVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWZvb3Rlcl9fd2lkZ2V0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLm43LWZvb3Rlcl9fd2lkZ2V0LWNlbnRlciAubWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubjctZm9vdGVyX193aWRnZXQtY2VudGVyIC5tZW51IGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgICAgIC5uNy1mb290ZXJfX3dpZGdldC1jZW50ZXIgLm1lbnUgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMzk1NDg3OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0ZPT1RFUi1MT0dPXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1mb290ZXJfX3dpZGdldC1yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLm43LWZvb3Rlcl9fd2lkZ2V0LXJpZ2h0IGEge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xuICAubjctZm9vdGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm43LWZvb3RlciAubjctZm9vdGVyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5uNy1mb290ZXIgLm43LWZvb3Rlcl9fd2lkZ2V0LWxlZnQsXG4gIC5uNy1mb290ZXIgLm43LWZvb3Rlcl9fd2lkZ2V0LWNlbnRlcixcbiAgLm43LWZvb3RlciAubjctZm9vdGVyX193aWRnZXQtcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubjctZm9vdGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuLyoqXHJcbiAqIExBTkdVQUdFIFNFTEVDVE9SXHJcbiAqXHJcbiAqIExhbmd1YWdlIHNlbGVjdG9yIGZyb20gV1BNTC5cclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNONy1GT09URVItTkFWXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1sYW5ndWFnZS1zZWxlY3RvciB7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAubjctbGFuZ3VhZ2Utc2VsZWN0b3IgLndwbWwtbHMge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5uNy1sYW5ndWFnZS1zZWxlY3RvciAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gPiB1bCB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDVweDsgfVxuICAubjctbGFuZ3VhZ2Utc2VsZWN0b3IgYS53cG1sLWxzLWl0ZW0tdG9nZ2xlIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzM5NTQ4NztcbiAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogU0VDT05EQVJZIE5BVklHQVRJT05cclxuICpcclxuICogU2Vjb25kYXJ5IG5hdmlnYXRpb25cclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNOQVYtU0VDXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1uYXYtc2VjIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBmbG9hdDogbm9uZTsgfVxuICAubjctbmF2LXNlYyAubWVudSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubjctbmF2LXNlYyAubWVudS1pdGVtIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAubjctbmF2LXNlYyAubWVudS1pdGVtIGEsIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0gYTpob3ZlciB7XG4gICAgICBwYWRkaW5nOiAwIDguNXB4O1xuICAgICAgY29sb3I6ICMzOTU0ODc7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0uaXMtY3RhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubjctbmF2LXNlYyAubWVudS1pdGVtLmlzLWN0YTpob3ZlciB7XG4gICAgICBjb2xvcjogIzM5NTQ4NzsgfVxuICAgIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0uZmItbGluayB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjMwLjg5ZGVnLCAjMzk1NDg3IDAlLCAjNWFhMzljIDEwMCUpO1xuICAgICAgd2lkdGg6IDM2cHg7IH1cbiAgICAgIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0uZmItbGluayBhIHtcbiAgICAgICAgcGFkZGluZzogMCA3LjVweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgZm9udC1zaXplOiAwOyB9XG4gICAgICAubjctbmF2LXNlYyAubWVudS1pdGVtLmZiLWxpbmsgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZjA5YVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250QXdlc29tZVwiO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gICAgLm43LW5hdi1zZWMgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgYSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRBd2Vzb21lXCI7XG4gICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNEUk9QRE9XTi1NRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1uYXYtc2VjIC5zdWItbWVudSB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cbiAgLm43LW5hdi1zZWMgLnN1Yi1tZW51IC5tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjdmN2Y3OyB9XG4gICAgLm43LW5hdi1zZWMgLnN1Yi1tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTsgfVxuICAgICAgLm43LW5hdi1zZWMgLnN1Yi1tZW51IC5tZW51LWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gICAgLm43LW5hdi1zZWMgLnN1Yi1tZW51IC5tZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgLm43LW5hdi1zZWMgLm1lbnUtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgLm43LW5hdi1zZWMgLm1lbnUtaXRlbSBhLCAubjctbmF2LXNlYyAubWVudS1pdGVtIGE6aG92ZXIge1xuICAgICAgcGFkZGluZzogMCA1cHg7IH1cbiAgICAubjctbmF2LXNlYyAubWVudS1pdGVtLmZiLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgIC5uNy1uYXYtc2VjIC5tZW51LWl0ZW0gYSwgLm43LW5hdi1zZWMgLm1lbnUtaXRlbSBhOmhvdmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMnB4OyB9XG4gICAgLm43LW5hdi1zZWMgLm1lbnUtaXRlbS5mYi1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7IH0gfVxuXG4vKipcclxuICogTUFJTiBOQVZJR0FUSU9OXHJcbiAqXHJcbiAqIE1haW4gbWVudSBuYXZpZ2F0aW9uc1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01BSU5fTkFWSUdBVElPTlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctbWFpbi1uYXZpZ2F0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7IH1cbiAgLm43LW1haW4tbmF2aWdhdGlvbiA+IGRpdiA+IHVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIFtjbGFzc149XCJtZW51LW1haW5cIl0ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctcmlnaHQ6IDcuNXB4O1xuICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLm43LW1haW4tbmF2aWdhdGlvbiAubWVudS1pdGVtIGEge1xuICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgLm43LW1haW4tbmF2aWdhdGlvbiAubWVudS1pdGVtLm43LXR5cGUtaG9tZSA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzOTU0ODc7IH1cbiAgICAubjctbWFpbi1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0ubjctdHlwZS1hcmNoaXZlID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzVhYTM5YzsgfVxuICAgIC5uNy1tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbS5uNy10eXBlLXN0b3JpZXMgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZDg2MDQ0OyB9XG4gICAgLm43LW1haW4tbmF2aWdhdGlvbiAubWVudS1pdGVtLm43LXR5cGUtdHV0b3JpYWwgPiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZjJhYjNmOyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm43LW1haW4tbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzM5NTQ4NztcbiAgICBjb2xvcjogIzM5NTQ4NzsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIC5jdXJyZW50LW1lbnUtaXRlbS5uNy10eXBlLWhvbWUgPiBhIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMzk1NDg3O1xuICAgIGNvbG9yOiAjMzk1NDg3OyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtLm43LXR5cGUtdHV0b3JpYWwgPiBhIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZjJhYjNmO1xuICAgIGNvbG9yOiAjZjJhYjNmOyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLmN1cnJlbnQtbWVudS1pdGVtLm43LXR5cGUtYXJjaGl2ZSA+IGEge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1YWEzOWM7XG4gICAgY29sb3I6ICM1YWEzOWM7IH1cbiAgLm43LW1haW4tbmF2aWdhdGlvbiAuY3VycmVudC1tZW51LWl0ZW0ubjctdHlwZS1zdG9yaWVzID4gYSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Q4NjA0NDtcbiAgICBjb2xvcjogI2Q4NjA0NDsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOyB9XG4gICAgLm43LW1haW4tbmF2aWdhdGlvbiAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuID4gYTo6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRBd2Vzb21lXCI7XG4gICAgY29udGVudDogJ1xcZjEwNyc7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNEUk9QRE9XTi1NRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tYWluLW5hdmlnYXRpb24gdWwgbGk6aG92ZXIgPiB1bCwgLm1haW4tbmF2aWdhdGlvbiB1bCBsaS5mb2N1cyA+IHVsIHtcbiAgbGVmdDogYXV0bzsgfVxuXG4ubjctbWFpbi1uYXZpZ2F0aW9uIHtcbiAgLyogSG92ZXIgKi9cbiAgLyogQ3VycmVudCAqLyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLnN1Yi1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm43LW1haW4tbmF2aWdhdGlvbiAuc3ViLW1lbnUgLm1lbnUtaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cbiAgICAgIC5uNy1tYWluLW5hdmlnYXRpb24gLnN1Yi1tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgICAgIC5uNy1tYWluLW5hdmlnYXRpb24gLnN1Yi1tZW51IC5tZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gdWwgbGk6aG92ZXIgPiB1bC5zdWItbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLm43LW1haW4tbmF2aWdhdGlvbiAubjctdHlwZS1ob21lIC5zdWItbWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMzk1NDg3OyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLm43LXR5cGUtdHV0b3JpYWwgLnN1Yi1tZW51IC5tZW51LWl0ZW0gYTpob3ZlciB7XG4gICAgY29sb3I6ICNmMmFiM2Y7IH1cbiAgLm43LW1haW4tbmF2aWdhdGlvbiAubjctdHlwZS1hcmNoaXZlIC5zdWItbWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLm43LXR5cGUtc3RvcmllcyAuc3ViLW1lbnUgLm1lbnUtaXRlbSBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2Q4NjA0NDsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIC5uNy10eXBlLXR1dG9yaWFsIC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogI2YyYWIzZjsgfVxuICAubjctbWFpbi1uYXZpZ2F0aW9uIC5uNy10eXBlLWFyY2hpdmUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLm43LXR5cGUtc3RvcmllcyAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XG4gICAgY29sb3I6ICNkODYwNDQ7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcbiAgLm43LW1haW4tbmF2aWdhdGlvbiAubWVudS1pdGVtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7IH1cbiAgLm43LW1haW4tbmF2aWdhdGlvbiAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XG4gIC5uNy1tYWluLW5hdmlnYXRpb24gLm1lbnUtaXRlbSBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubjctbWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC5uNy1tYWluLW5hdmlnYXRpb246YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5uNy1tYWluLW5hdmlnYXRpb24gW2NsYXNzXj1cIm1lbnUtbWFpblwiXSB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLm43LW1haW4tbmF2aWdhdGlvbiBbY2xhc3NePVwibWVudS1tYWluXCJdIHVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi8qKlxyXG4gKiBNQUlOIE1PQklMRVxyXG4gKlxyXG4gKiBNb2JpbGUgbmF2aWdhdGlvblxyXG4gKlxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01BSU4tTU9CSUxFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy1uYXYtbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtMjkwcHg7XG4gIHdpZHRoOiAyODBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgei1pbmRleDogMTAwMDtcbiAgYm94LXNoYWRvdzogMXB4IDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gIC8qIEFjdGl2ZSBzdGF0ZSAqL1xuICAvKiBMc3QgaXRlbSBvZiBtYWluIGVsZW1lbnRzICovXG4gIC8qIFNtYWxsZXIgaXRlbXMgKi9cbiAgLyogQ1RBICovXG4gIC8qIENsb3NlIGJ1dHRvbiAqL1xuICAvKiBMb2doaSAqLyB9XG4gIC5uNy1uYXYtbW9iaWxlLmlzLWFjdGl2ZSB7XG4gICAgbGVmdDogMDsgfVxuICAubjctbmF2LW1vYmlsZSAubWVudSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmN2Y3Zjc7IH1cbiAgLm43LW5hdi1tb2JpbGUgLm1lbnUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLm43LW5hdi1tb2JpbGUgLm1lbnUtaXRlbSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNDcsIDI0NywgMjQ3LCAwLjMpOyB9XG4gIC5uNy1uYXYtbW9iaWxlIC5uNy1uYXYtbW9iaWxlX19tYWluLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjQ3LCAyNDcsIDI0NywgMC4zKTsgfVxuICAubjctbmF2LW1vYmlsZSAubjctbmF2LW1vYmlsZV9fc2Vjb25kYXJ5IGEge1xuICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNDcsIDI0NywgMjQ3LCAwLjE1KTsgfVxuICAubjctbmF2LW1vYmlsZSAubjctbmF2LW1vYmlsZV9fY3RhIGEge1xuICAgIHBhZGRpbmc6IDcuNXB4IDEwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk1NDg3O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNDcsIDI0NywgMjQ3LCAwLjE1KTsgfVxuICAubjctbmF2LW1vYmlsZSAubjctbmF2LW1vYmlsZV9fY2xvc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyODBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubjctbmF2LW1vYmlsZSAubjctbmF2LW1vYmlsZV9fbG9nb3Mge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5uNy1uYXYtbW9iaWxlIC5uNy1uYXYtbW9iaWxlX19sb2dvIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDY2cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLm43LW5hdi1tb2JpbGUgLm43LW5hdi1tb2JpbGVfX2xvZ28gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNjZweDsgfVxuICAgIC5uNy1uYXYtbW9iaWxlIC5uNy1uYXYtbW9iaWxlX19sb2dvIGltZyB7XG4gICAgICBoZWlnaHQ6IDY2cHg7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAubjctbmF2LW1vYmlsZSAubjctbmF2LW1vYmlsZV9fbG9nby0xIGltZyB7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLm43LW5hdi1tb2JpbGUgLm43LW5hdi1tb2JpbGVfX2xvZ28tMiBpbWcge1xuICAgIHdpZHRoOiAxMjRweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1NFQ09ORC1MRVZFTFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctbmF2LW1vYmlsZSB7XG4gIC8qIFNtYWxsZXIgaXRlbXMgKi8gfVxuICAubjctbmF2LW1vYmlsZSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogNTVweDsgfVxuICAubjctbmF2LW1vYmlsZSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiBbY2xhc3NePVwiZmFcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI0NywgMjQ3LCAyNDcsIDAuMyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgfVxuICAubjctbmF2LW1vYmlsZSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubjctY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm43LW5hdi1tb2JpbGUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaXMtYWN0aXZlIC5uNy1vcGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5uNy1uYXYtbW9iaWxlIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmlzLWFjdGl2ZSAubjctY2xvc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm43LW5hdi1tb2JpbGUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4uaXMtYWN0aXZlIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubjctbmF2LW1vYmlsZSAubWVudS1pdGVtIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5uNy1uYXYtbW9iaWxlIC5tZW51LWl0ZW0gLm1lbnUtaXRlbSBhIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7IH1cbiAgLm43LW5hdi1tb2JpbGUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ubjctbmF2LW1vYmlsZV9fc2Vjb25kYXJ5OmJlZm9yZSB7XG4gICAgdG9wOiA5cHg7IH1cbiAgLm43LW5hdi1tb2JpbGUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ubjctbmF2LW1vYmlsZV9fc2Vjb25kYXJ5IC5tZW51LWl0ZW0gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY1KTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNMQU5HVUFHRVMtTUVOVVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctbmF2LW1vYmlsZSAud3BtbC1scy1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIC5uNy1uYXYtbW9iaWxlIC53cG1sLWxzLWl0ZW0gYSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNDcsIDI0NywgMjQ3LCAwLjMpOyB9XG4gIC5uNy1uYXYtbW9iaWxlIC53cG1sLWxzLWl0ZW0ud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgLm43LW5hdi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLyoqXHJcbiAqIEZPT1RFUiBOQVZJR0FUSU9OXHJcbiAqXHJcbiAqIEZvb3RlciBuYXZpZ2F0aW9uXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTjctRk9PVEVSLU5BVlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5bY2xhc3NePVwibWVudS1mb290ZXJcIl0gLm1lbnUge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxuW2NsYXNzXj1cIm1lbnUtZm9vdGVyXCJdIC5tZW51LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXHJcbiAqIE5FV1MgUFJFVklFV1xyXG4gKlxyXG4gKiBTdHlsZSBvZiBuZXdzIGluIHByZXZpZXdcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNORVdTLVBSRVZJRVdcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LW5ld3MtcHJldmlldyB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIC8qIEltYWdlICovIH1cbiAgLm43LW5ld3MtcHJldmlldyAubjctbmV3cy1wcmV2aWV3X19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLm43LW5ld3MtcHJldmlldyAubjctZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5uNy1uZXdzLXByZXZpZXcgLm43LW5ld3MtcHJldmlld19fdGl0bGUge1xuICAgIGNvbG9yOiAjNTU1NTU1O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LWZhbWlseTogXCJMaWJyZSBGcmFua2xpblwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVMtSE9NRVBBR0VcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmhvbWUgLm43LXdpZGdldC1uZXdzIC5uNy13aWRnZXQtbmV3c19fbmV3cy1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5ob21lIC5uNy13aWRnZXQtbmV3cyAubjctd2lkZ2V0LW5ld3NfX25ld3Mge1xuICAgIHdpZHRoOiA0OS4xNTI1NCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTsgfVxuICAgIC5ob21lIC5uNy13aWRnZXQtbmV3cyAubjctd2lkZ2V0LW5ld3NfX25ld3M6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmhvbWUgLm43LXdpZGdldC1uZXdzIC5uNy13aWRnZXQtbmV3c19fZm9jdXMtbmV3cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaG9tZSAubjctd2lkZ2V0LW5ld3MgLm43LXdpZGdldC1uZXdzX19mb2N1cy1uZXdzIC5uNy13aWRnZXQtbmV3c19faW1hZ2Uge1xuICAgICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cbiAgICAuaG9tZSAubjctd2lkZ2V0LW5ld3MgLm43LXdpZGdldC1uZXdzX19mb2N1cy1uZXdzIC5uNy13aWRnZXQtbmV3c19fY29udGVudCB7XG4gICAgICB3aWR0aDogNDkuMTUyNTQlOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUgLm43LXdpZGdldC1uZXdzIC5uNy13aWRnZXQtbmV3c19fbmV3cy1jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5ob21lIC5uNy13aWRnZXQtbmV3cyAubjctd2lkZ2V0LW5ld3NfX25ld3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ob21lIC5uNy13aWRnZXQtbmV3cyAubjctd2lkZ2V0LW5ld3NfX2ltYWdlIHtcbiAgICB3aWR0aDogMzEuMDM0NDglO1xuICAgIG1hcmdpbi1yaWdodDogMy40NDgyOCU7XG4gICAgaGVpZ2h0OiA5MHB4OyB9XG4gIC5ob21lIC5uNy13aWRnZXQtbmV3cyAubjctd2lkZ2V0LW5ld3NfX2NvbnRlbnQge1xuICAgIHdpZHRoOiA2NS41MTcyNCU7IH1cbiAgLmhvbWUgLm43LXdpZGdldC1uZXdzIC5uNy13aWRnZXQtbmV3c19fZm9jdXMtbmV3cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaG9tZSAubjctd2lkZ2V0LW5ld3MgLm43LXdpZGdldC1uZXdzX19mb2N1cy1uZXdzIC5uNy13aWRnZXQtbmV3c19faW1hZ2Uge1xuICAgICAgd2lkdGg6IDMxLjAzNDQ4JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMy40NDgyOCU7XG4gICAgICBoZWlnaHQ6IDkwcHg7IH1cbiAgICAuaG9tZSAubjctd2lkZ2V0LW5ld3MgLm43LXdpZGdldC1uZXdzX19mb2N1cy1uZXdzIC5uNy13aWRnZXQtbmV3c19fY29udGVudCB7XG4gICAgICB3aWR0aDogNjUuNTE3MjQlOyB9XG4gICAgLmhvbWUgLm43LXdpZGdldC1uZXdzIC5uNy13aWRnZXQtbmV3c19fZm9jdXMtbmV3cyAubjctd2lkZ2V0LW5ld3NfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuaG9tZSB7XG4gICAgLyogSW1hZ2UgKi8gfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXHJcbiAqIFBBR0UgU1VCTUVOVVxyXG4gKlxyXG4gKiBNYWluIG1lbnUgbmF2aWdhdGlvbnNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNQQUdFIFNVQk1FTlVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXBhZ2Utc3VibWVudSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgY29sb3I6ICMzOTU0ODc7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogMDsgfVxuICAubjctcGFnZS1zdWJtZW51IC5uNy1wYWdlLXN1Ym1lbnVfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubjctcGFnZS1zdWJtZW51IC5uNy1wYWdlLXN1Ym1lbnVfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAubjctcGFnZS1zdWJtZW51IC5uNy1wYWdlLXN1Ym1lbnVfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLm43LXBhZ2Utc3VibWVudSAubjctcGFnZS1zdWJtZW51X19pdGVtLmN1cnJlbnQge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLm43LXBhZ2Utc3VibWVudSAubjctcGFnZS1zdWJtZW51X19pdGVtLmN1cnJlbnQ6aG92ZXIgYSB7XG4gICAgICAgIGNvbG9yOiAjMzk1NDg3OyB9XG4gICAgLm43LXBhZ2Utc3VibWVudSAubjctcGFnZS1zdWJtZW51X19pdGVtOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICM1YWEzOWM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjUEFHRSBTVUJNRU5VLUFMVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQbGFjZWQgb24gdGhlIHJpZ2h0ICovXG4ubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgLm43LXBhZ2Utc3VibWVudSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgLm43LXBhZ2Utc3VibWVudSAubjctcGFnZS1zdWJtZW51X19pdGVtIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uNy1wYWdlLXN1Ym1lbnUge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLm43LXBhZ2Utc3VibWVudSAubjctcGFnZS1zdWJtZW51X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMnB4OyB9IH1cblxuLyoqXHJcbiAqIFBBR0UgU1VCTUVOVSBUSFVNQlxyXG4gKlxyXG4gKiBUaHVtYiBvbiB0aGUgbGVmdCwgdW5kZXIgc3VibWVudVxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1BBR0UgU1VCTUVOVSBUSFVNQlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctcGFnZS1zdWJtZW51LXRodW1iIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogI2U2ZTZlNjsgfVxuICAubjctcGFnZS1zdWJtZW51LXRodW1iIC5uNy1wYWdlLXN1Ym1lbnUtdGh1bWJfX2ltYWdlIHtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogI2ExYTFhMTsgfVxuICAgIC5uNy1wYWdlLXN1Ym1lbnUtdGh1bWIgLm43LXBhZ2Utc3VibWVudS10aHVtYl9faW1hZ2UgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXHJcbiAqIFNUT1JZIE1FVEEgQk9YXHJcbiAqXHJcbiAqIEJveCBkaXNwbGF5aW5nIG1ldCBpbmZvIG9mIGEgdmlkZW9cclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNTVE9SWS1NRVRBLUJPWFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctc3RvcnktbWV0YS1ib3gge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAubjctc3RvcnktbWV0YS1ib3ggLm43LXN0b3J5LW1ldGEtYm94X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNhYmFiYWI7IH1cbiAgLm43LXN0b3J5LW1ldGEtYm94IC5uNy1zdG9yeS1tZXRhLWJveF9fdmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubjctc3RvcnktbWV0YS1ib3ggOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogU1RPUlkgVklERU8gR09SVVBJTkdcclxuICpcclxuICogQm94IHNob3dpbmcgdGhlIGdyb3VwaW5nIG9mIHN0b3JpZXMncyB2aWRlb3NcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNTVE9SWS1WSURFTy1HT1JVUElOR1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctc3RvcnktdmlkZW8tZ3JvdXBpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDExMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uNy1zdG9yeS12aWRlby1ncm91cGluZzphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG4gIC5uNy1zdG9yeS12aWRlby1ncm91cGluZyAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmdfX25hbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmcgLm43LXN0b3J5LXZpZGVvLWdyb3VwaW5nX19jb3VudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICM1NTU1NTU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmcgLm43LXN0b3J5LXZpZGVvLWdyb3VwaW5nX19uYW1lIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuXG4vKipcclxuICogU1RPUklFUyBWSURFT1MgRElBTE9HXHJcbiAqXHJcbiAqIERpYWxvZyB3aXRoIHZpZGVvc1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0RJQUxPRy1TVE9SSUVTLVZJREVPU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2cge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDg1dmggLSA4MHB4KSAhaW1wb3J0YW50OyB9XG4gIC5uNy1zdG9yeS1jYXRlZ29yaWVzLWRpYWxvZyAubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2dfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2cgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2cgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nX19pdGVtLXZpZGVvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTY1cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nIC5uNy1zdG9yeS1jYXRlZ29yaWVzLWRpYWxvZ19faXRlbS12aWRlby1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGxheS1pY29uQDJ4LnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDY4cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2cgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nX19pdGVtLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7IH1cbiAgICAubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2cgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nX19pdGVtLXRpdGxlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXHJcbiAqIERJQUxPR1xyXG4gKlxyXG4gKiBTdHlsZSBmb3IgZGlhbG9nXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjRElBTE9HXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi51aS1kaWFsb2cge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBtYXgtd2lkdGg6IDQ2MHB4O1xuICBtYXgtaGVpZ2h0OiA4NXZoO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB6LWluZGV4OiA5OTk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNSwgMjM1LCAyMzUsIDAuNjkpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGNvbG9yOiAjZDg2MDQ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDsgfVxuICAudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG4gIC51aS1kaWFsb2cgLnVpLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAzNHB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudWktZGlhbG9nIC51aS1idXR0b24gLnVpLWljb24tY2xvc2V0aGljazpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2Nsb3NlLnBuZ1wiKSBsZWZ0IHRvcCBuby1yZXBlYXQ7IH1cbiAgICAudWktZGlhbG9nIC51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDQwcHg7IH1cblxuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICM1NTU1NTU7XG4gIG9wYWNpdHk6IC44OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLWRpYWxvZyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlYmFyIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAudWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpICFpbXBvcnRhbnQ7IH0gfVxuXG4vKipcclxuICogVEFHXHJcbiAqXHJcbiAqIFRhZyBjYXRlZ29yeVxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1RBR1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctdGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAzcHggMTBweCAxcHg7XG4gIGNvbG9yOiAjMzk1NDg3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmMWY2OyB9XG4gIC5uNy10YWcubjctdGFnLWFyY2hpdmUge1xuICAgIGNvbG9yOiAjNWFhMzljO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2YxZjA7IH1cbiAgLm43LXRhZy5uNy10YWctc3RvcmllcywgLm43LXRhZy5uNy10YWctc3Rvcnkge1xuICAgIGNvbG9yOiAjZDg2MDQ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmU5ZTY7IH1cbiAgLm43LXRhZy5uNy10YWctbmV3cywgLm43LXRhZy5uNy10YWctcG9zdCB7XG4gICAgY29sb3I6ICNhZDgyNWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZGZkNTsgfVxuICAubjctdGFnLm43LXRhZy10dXRvcmlhbCB7XG4gICAgY29sb3I6ICNmMmFiM2Y7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjNlMjsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBUT09MLUJPWEVTXHJcbiAqXHJcbiAqIFRvb2wtYm94ZXMgd2lkZ2V0XHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjVE9PTFMtQk9YRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXRvb2xzLWJveGVzIC5uNy10b29scy1ib3hlc19faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA3MCU7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiAwIDAgMjVweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5uNy10b29scy1ib3hlcyAubjctdG9vbHMtYm94ZXNfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjJweCAwO1xuICBjb2xvcjogIzVhYTM5YztcbiAgZm9udC1zaXplOiAyOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm43LXRvb2xzLWJveGVzIC5uNy10b29scy1ib3hlc19fYm94Om50aC1vZi10eXBlKDEpIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMxNS4zM2RlZywgI2U5ZTllOSAwJSwgI2ZmZmZmZiAxMDAlKTsgfVxuXG4ubjctdG9vbHMtYm94ZXMgLm43LXRvb2xzLWJveGVzX19ib3g6bnRoLW9mLXR5cGUoMikge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjA2LjU3ZGVnLCAjZTllOWU5IDAlLCAjZmZmZmZmIDEwMCUpOyB9XG5cbi5uNy10b29scy1ib3hlcyAubjctdG9vbHMtYm94ZXNfX2JveCAubjctdG9vbHMtYm94ZXNfX2ljb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGhlaWdodDogNTBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5uNy10b29scy1ib3hlcyAubjctdG9vbHMtYm94ZXNfX2JveCAubjctdG9vbHMtYm94ZXNfX2JveC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzM5NTQ4NzsgfVxuXG4ubjctdG9vbHMtYm94ZXMgLm43LXRvb2xzLWJveGVzX19ib3ggLm43LXRvb2xzLWJveGVzX19ib3gtY29udGVudCB7XG4gIGhlaWdodDogNzBweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLm43LXRvb2xzLWJveGVzIC5uNy10b29scy1ib3hlc19fYm94IC5uNy10b29scy1ib3hlc19fYm94LWJ1dHRvbnMge1xuICBoZWlnaHQ6IDg1cHg7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5uNy10b29scy1ib3hlcyAubjctdG9vbHMtYm94ZXNfX2JveCAubjctYnRuLCAubjctdG9vbHMtYm94ZXMgLm43LXRvb2xzLWJveGVzX19ib3ggLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwIDEwcHggMDsgfVxuXG4ubjctdG9vbHMtYm94ZXM6bm90KC5uNy10b29scy1ib3hlcy13aWRnZXQpIHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhdHRlcm41LXNtYWxsLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5OTZweCA4ODlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZTBlZjsgfVxuICAubjctdG9vbHMtYm94ZXM6bm90KC5uNy10b29scy1ib3hlcy13aWRnZXQpIC5uNy10b29scy1ib3hlc19fYm94IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiA4MHB4IDY2cHggMTBweDtcbiAgICBoZWlnaHQ6IDM0MHB4OyB9XG5cbi5uNy10b29scy1ib3hlcy5uNy10b29scy1ib3hlcy13aWRnZXQge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubjctdG9vbHMtYm94ZXMubjctdG9vbHMtYm94ZXMtd2lkZ2V0IC5uNy10b29scy1ib3hlc19fYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5uNy10b29scy1ib3hlcy5uNy10b29scy1ib3hlcy13aWRnZXQgLm43LWJ0biwgLm43LXRvb2xzLWJveGVzLm43LXRvb2xzLWJveGVzLXdpZGdldCAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpIHtcbiAgLm43LXRvb2xzLWJveGVzIC5uNy10b29scy1ib3hlc19faW5uZXIge1xuICAgIHdpZHRoOiA4MCU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLm43LXRvb2xzLWJveGVzIC5uNy10b29scy1ib3hlc19faW5uZXIge1xuICAgIHdpZHRoOiA5MCU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAubjctdG9vbHMtYm94ZXMgLm43LXRvb2xzLWJveGVzX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm43LXRvb2xzLWJveGVzOm5vdCgubjctdG9vbHMtYm94ZXMtd2lkZ2V0KSAubjctdG9vbHMtYm94ZXNfX2JveCB7XG4gICAgcGFkZGluZzogODBweCAzNnB4IDEwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubjctdG9vbHMtYm94ZXMgLm43LXRvb2xzLWJveGVzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNjYwcHgpIHtcbiAgLm43LXRvb2xzLWJveGVzOm5vdCgubjctdG9vbHMtYm94ZXMtd2lkZ2V0KSB7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIC5uNy10b29scy1ib3hlczpub3QoLm43LXRvb2xzLWJveGVzLXdpZGdldCkgLm43LXRvb2xzLWJveGVzX19pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzE1LjMzZGVnLCAjZTllOWU5IDAlLCAjZmZmZmZmIDEwMCUpOyB9XG4gICAgLm43LXRvb2xzLWJveGVzOm5vdCgubjctdG9vbHMtYm94ZXMtd2lkZ2V0KSAubjctdG9vbHMtYm94ZXNfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gICAgLm43LXRvb2xzLWJveGVzOm5vdCgubjctdG9vbHMtYm94ZXMtd2lkZ2V0KSAubjctdG9vbHMtYm94ZXNfX2JveCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm43LXRvb2xzLWJveGVzOm5vdCgubjctdG9vbHMtYm94ZXMtd2lkZ2V0KSAubjctdG9vbHMtYm94ZXNfX2JveC1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAxNy41cHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5uNy10b29scy1ib3hlczpub3QoLm43LXRvb2xzLWJveGVzLXdpZGdldCkgLm43LXRvb2xzLWJveGVzX19ib3gtYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5uNy10b29scy1ib3hlcyB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIC5uNy10b29scy1ib3hlcyAubjctdG9vbHMtYm94ZXNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbi8qIFJldGluYSAqL1xuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAubjctdG9vbHMtYm94ZXM6bm90KC5uNy10b29scy1ib3hlcy13aWRnZXQpIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGF0dGVybjUucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOTk2cHggODg5cHg7IH0gfVxuXG4vKipcclxuICogV1BNTCBMQU5HVUFHRSBTV0lUQ0hcclxuICpcclxuICogV3BtbCBsYW5ndWFnZSBzd2l0Y2hcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNOQVYtU0VDXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biB7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1pdGVtLXRvZ2dsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7IH1cbiAgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIGEud3BtbC1scy1pdGVtLXRvZ2dsZTphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udEF3ZXNvbWVcIjtcbiAgICBjb250ZW50OiAnXFxmMTA3JztcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IDZweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24gYTpob3ZlciwgLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIGE6Zm9jdXMsXG4gIC53cG1sLWxzLWxlZ2FjeS1kcm9wZG93biAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlOmhvdmVyID4gYSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBTSU5HTEUtQk9YLUNPTlRFTlRcclxuICpcclxuICogc2luZ2xlIGNvbnRlbnQgcHJldmlld1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1NJTkdMRS1CT1gtQ09OVEVOVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctc2luZ2xlLWJveC1jb250ZW50IC5uNy1zaW5nbGUtYm94LWNvbnRlbnRfX2ltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE2NnB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubjctc2luZ2xlLWJveC1jb250ZW50IC5uNy10YWcge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5uNy1zaW5nbGUtYm94LWNvbnRlbnQgLm43LXNpbmdsZS1ib3gtY29udGVudF9fdGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogOHB4IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogU0lOR0xFLUJPWC1DT05URU5UXHJcbiAqXHJcbiAqIHNpbmdsZSBjb250ZW50IHByZXZpZXdcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNTSU5HTEUtQk9YLUNPTlRFTlRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXdpZGdldC1uZXdzLWFyY2hpdmUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlX193aWRnZXQtdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGNvbG9yOiAjMzk1NDg3O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgIzM5NTQ4NzsgfVxuICAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZSAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZV9faXRlbXMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm43LXdpZGdldC1uZXdzLWFyY2hpdmUgLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX2l0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTZlNmU2O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgLm43LXdpZGdldC1uZXdzLWFyY2hpdmUgLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX2l0ZW0gLm43LWRhdGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgLm43LXdpZGdldC1uZXdzLWFyY2hpdmUgLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLm43LXdpZGdldC1uZXdzLWFyY2hpdmUgLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX2l0ZW0gLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBjb2xvcjogIzU1NTU1NTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjM1cztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZSAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZV9faXRlbSAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZV9fdGl0bGU6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzVhYTM5YzsgfVxuICAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZSAubjctd2lkZ2V0LW5ld3MtYXJjaGl2ZV9fYXJjaGl2ZS1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGNvbG9yOiAjMzk1NDg3O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDU3LCA4NCwgMTM1LCAwLjE4KTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlX19hcmNoaXZlLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICM1YWEzOWM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFUy1IT01FUEFHRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBIT01FIE5FV1MgUFJFVklFVyBTVFlMRVxyXG4gKlxyXG4gKiBTdHlsZSBvZiBuZXdzIGluIGhvbWVwYWdlXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTkVXUy1IT01FLVBSRVZJRVctU1RZTEVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXdpZGdldC1ob21lLW5ld3Mge1xuICAvKiBTaW5nbGUgbmV3cyB3cmFwcGVyICovXG4gIC8qIEltYWdlICovIH1cbiAgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3Mge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgLyogSW5zdGVhZCBvZiBvdmVyZmxvdyBoaWRkZW4gKi8gfVxuICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19uZXdzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19uZXdzOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNy41JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDQuMTY2NjclO1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fY29udGVudCB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4OyB9XG4gIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX190aXRsZSB7XG4gICAgY29sb3I6ICNhZDgyNWM7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICAgIG1hcmdpbjogMCAwIDVweCAwOyB9XG4gIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19leGNlcnB0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fYXJjaGl2ZS1saW5rIHtcbiAgICBwYWRkaW5nOiAzMHB4IDAgN3B4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjYWQ4MjVjO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWFkZmQ1O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2FyY2hpdmUtbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzhlNjk0ODsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNORVdTLVNJREVCQVItSE9NRVBBR0VcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3MtY29sdW1uIHtcbiAgd2lkdGg6IDQwLjY3Nzk3JTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjRkVBVFVSRUQtTkVXUy1IT01FUEFHRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fZm9jdXMtbmV3cyB7XG4gIHdpZHRoOiA1Ny42MjcxMiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICAvKiBJbnN0ZWFkIG9mIG92ZXJmbG93IGhpZGRlbiAqLyB9XG4gIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19mb2N1cy1uZXdzOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuICAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fZm9jdXMtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19faW1hZ2Uge1xuICAgIHdpZHRoOiA1NS44ODIzNSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjk0MTE4JTtcbiAgICBoZWlnaHQ6IDI2MHB4OyB9XG4gIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19mb2N1cy1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19jb250ZW50IHtcbiAgICB3aWR0aDogNDEuMTc2NDclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19mb2N1cy1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVMtSE9NRVBBR0VcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3MtY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAuaG9tZSAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fbmV3cyB7XG4gICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlOyB9XG4gICAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3M6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2ZvY3VzLW5ld3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2ZvY3VzLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiA0OS4xNTI1NCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlOyB9XG4gICAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2ZvY3VzLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDQ5LjE1MjU0JTsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5ob21lIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19uZXdzLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ob21lIC5uNy13aWRnZXQtaG9tZS1uZXdzIC5uNy13aWRnZXQtaG9tZS1uZXdzX19pbWFnZSB7XG4gICAgd2lkdGg6IDMxLjAzNDQ4JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuNDQ4MjglO1xuICAgIGhlaWdodDogOTBweDsgfVxuICAuaG9tZSAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fY29udGVudCB7XG4gICAgd2lkdGg6IDY1LjUxNzI0JTsgfVxuICAuaG9tZSAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fZm9jdXMtbmV3cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuaG9tZSAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fZm9jdXMtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19faW1hZ2Uge1xuICAgICAgd2lkdGg6IDMxLjAzNDQ4JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMy40NDgyOCU7XG4gICAgICBoZWlnaHQ6IDkwcHg7IH1cbiAgICAuaG9tZSAubjctd2lkZ2V0LWhvbWUtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fZm9jdXMtbmV3cyAubjctd2lkZ2V0LWhvbWUtbmV3c19fY29udGVudCB7XG4gICAgICB3aWR0aDogNjUuNTE3MjQlOyB9XG4gICAgLmhvbWUgLm43LXdpZGdldC1ob21lLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX2ZvY3VzLW5ld3MgLm43LXdpZGdldC1ob21lLW5ld3NfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXHJcbiAqIFNJTkdMRS1CT1gtQ09OVEVOVFxyXG4gKlxyXG4gKiBzaW5nbGUgY29udGVudCBwcmV2aWV3XHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjU0lOR0xFLUJPWC1DT05URU5UXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5uNy13aWRnZXQtam9pbixcbi5uNy13aWRnZXQtbmV3c2xldHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2Y3Zjc7XG4gIGhlaWdodDogMjIwcHg7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgLm43LXdpZGdldC1qb2luIC5uNy13aWRnZXQtbmV3c2xldHRlcl9fdGl0bGUsXG4gIC5uNy13aWRnZXQtam9pbiAubjctd2lkZ2V0LWpvaW5fX3RpdGxlLFxuICAubjctd2lkZ2V0LW5ld3NsZXR0ZXIgLm43LXdpZGdldC1uZXdzbGV0dGVyX190aXRsZSxcbiAgLm43LXdpZGdldC1uZXdzbGV0dGVyIC5uNy13aWRnZXQtam9pbl9fdGl0bGUge1xuICAgIGNvbG9yOiAjMzk1NDg3OyB9XG4gIC5uNy13aWRnZXQtam9pbiAubjctd2lkZ2V0LW5ld3NsZXR0ZXJfX3RleHQsXG4gIC5uNy13aWRnZXQtam9pbiAubjctd2lkZ2V0LWpvaW5fX3RleHQsXG4gIC5uNy13aWRnZXQtbmV3c2xldHRlciAubjctd2lkZ2V0LW5ld3NsZXR0ZXJfX3RleHQsXG4gIC5uNy13aWRnZXQtbmV3c2xldHRlciAubjctd2lkZ2V0LWpvaW5fX3RleHQge1xuICAgIG1hcmdpbjogMTJweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLm43LXdpZGdldC1qb2luIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhcnRlY2lwYS1ib3gtYmctMS5qcGdcIikgbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWFnZXMvcGFydGVjaXBhLWJveC1iZy0yLmpwZ1wiKSBuby1yZXBlYXQgI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0zMXB4LCAxMDQlIDE1MiU7XG4gIHBhZGRpbmc6IDUwcHggNDVweCAxMHB4IDIxJTsgfVxuXG4ubjctd2lkZ2V0LW5ld3NsZXR0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbmV3c2xldHRlci1ib3gtYmcucG5nXCIpIG5vLXJlcGVhdCAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDclIC0yMnB4O1xuICBwYWRkaW5nOiAzNXB4IDIxJSAyMHB4IDIwcHg7IH1cbiAgLm43LXdpZGdldC1uZXdzbGV0dGVyIC5uNy13aWRnZXQtbmV3c2xldHRlcl9faW5wdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0hPTUVQQUdFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ob21lIC5uNy13aWRnZXQtbmV3c2xldHRlciB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTLUhPTUVQQUdFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExNDBweCkge1xuICAuaG9tZSAubjctd2lkZ2V0LWpvaW4sXG4gIC5ob21lIC5uNy13aWRnZXQtbmV3c2xldHRlciB7XG4gICAgaGVpZ2h0OiAyNDRweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkzMHB4KSB7XG4gIC5ob21lIC5uNy13aWRnZXQtam9pbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE1MHB4IC02MXB4LDEyMSUgMTUyJTsgfVxuICAuaG9tZSAubjctd2lkZ2V0LW5ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDExNyUgLTIycHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAuaG9tZSAubjctd2lkZ2V0LWpvaW4sXG4gIC5ob21lIC5uNy13aWRnZXQtbmV3c2xldHRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5ob21lIC5uNy13aWRnZXQtam9pbixcbiAgLmhvbWUgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmhvbWUgLm43LXdpZGdldC1qb2luIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTgwcHggLTMxcHgsIDExMSUgMTUyJTsgfVxuICAuaG9tZSAubjctd2lkZ2V0LW5ld3NsZXR0ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwNyUgLTIycHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuaG9tZSAubjctd2lkZ2V0LWpvaW4sXG4gIC5ob21lIC5uNy13aWRnZXQtbmV3c2xldHRlciB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAuaG9tZSAubjctd2lkZ2V0LWpvaW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmhvbWUgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogV0lER0VUIEFOVEVOQVRJIENPTlRFTlRcclxuICpcclxuICogd2lkZ2V0IGFudGVuYXRpIGNvbnRlbnRcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNXSURHRVQtQU5URU5BVEktQ09OVEVOVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctd2lkZ2V0LWFudGVuYXRpLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAycHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAubjctd2lkZ2V0LWFudGVuYXRpLWNvbnRlbnQgLm43LXRhZyB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gIC5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudCAubjctd2lkZ2V0LWFudGVuYXRpLWNvbnRlbnRfaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICNmMmFiM2Y7IH1cbiAgLm43LXdpZGdldC1hbnRlbmF0aS1jb250ZW50IC5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudF9fdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDMuNXB4IDA7XG4gICAgY29sb3I6ICMzOTU0ODc7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1OyB9XG4gIC5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudCAubjctd2lkZ2V0LWFudGVuYXRpLWNvbnRlbnRfX2NvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLm43LXdpZGdldC1hbnRlbmF0aS1jb250ZW50IC5uNy1idG4sIC5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudCAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEycHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogV0lER0VUIFlPVVIgU1RPUllcclxuICpcclxuICogd2lkZ2V0IHlvdXIgc3RvcnlcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNXSURHRVQtWU9VUi1TVE9SWVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctd2lkZ2V0LXlvdXItc3Rvcnkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTEuNzMlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMveW91ci1zdG9yeS5wbmdcIikgbGVmdCB0b3Agbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubjctd2lkZ2V0LXlvdXItc3RvcnkgLm43LXdpZGdldC15b3VyLXN0b3J5X19saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjAlO1xuICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gICAgLm43LXdpZGdldC15b3VyLXN0b3J5IC5uNy13aWRnZXQteW91ci1zdG9yeV9fbGluayBoMyB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gICAgLm43LXdpZGdldC15b3VyLXN0b3J5IC5uNy13aWRnZXQteW91ci1zdG9yeV9fbGluayBwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcbiAqIFRPT0wtQk9YRVNcbiAqXG4gKiBUb29sLWJveGVzIHdpZGdldFxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNUT09MUy1CT1hFU1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWxpc3Qge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLW1hcCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBUT09MLUJPWEVTXHJcbiAqXHJcbiAqIFRvb2wtYm94ZXMgd2lkZ2V0XHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjVE9PTFMtQk9YRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWFyY2hpdmVzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiBQcmV2ZW50IG1hcmdpbiBjb2xsYXBzZSAqL1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyNXB4IDA7XG4gIGhlaWdodDogNjUwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYmFiYWI7XG4gIC8qIEZpbHRlcnMgKi9cbiAgLyogTGlzdCAqL1xuICAvKiBEZXRhaWwgKi9cbiAgLyogTWFwICovIH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYmFiYWI7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2gtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxOyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2gge1xuICAgIHdpZHRoOiAzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgLyogUmVjdGFuZ2xlOiAqL1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2g6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2g6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoLS1jb211bmUge1xuICAgIHotaW5kZXg6IDEwMDAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWZpbHRlcnNfX3NlbGVjdC1vcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWxlY3Qtb3JkZXItc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VsZWN0LW9yZGVyLXNlbGVjdCBvcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VsZWN0LW9yZGVyLXNlbGVjdCBvcHRpb246Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWxlY3Qtb3JkZXItc2VsZWN0IG9wdGlvbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VsZWN0LW9yZGVyLXNlbGVjdCBvcHRpb246Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWxlY3Qtb3JkZXItc2VsZWN0IG9wdGlvbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWxpc3Qge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTJweCk7XG4gICAgLyogQ29udGFpbmVyIGhlaWdodCAtIHBhZGRpbmcgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2Y3ZjdmNzsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1saXN0IC5uNy1hcmNoaXZlLWxpc3RfX2xvYWRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWxpc3QgLm43LWFyY2hpdmUtbGlzdF9fbG9hZGVyIC5mYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWxpc3RfX2xpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbGlzdF9fbGlzdC1pdGVtIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWJhYmFiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbGlzdF9fbGlzdC1pdGVtOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWxpc3RfX2xpc3QtaXRlbS5uNy1hcmNoaXZlLWxpc3RfX2xpc3QtaXRlbS1pbmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbGlzdF9fbGlzdC1pdGVtLm43LWFyY2hpdmUtbGlzdF9fbGlzdC1pdGVtLWluYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM1NTU1NTU7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNnB4KTtcbiAgICAvKlxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fdG9vbGJhci1iYWNrOmFmdGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZm9udGF3ZXNvbWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICovIH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsOmJlZm9yZSwgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbDphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsOmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3Rvb2xiYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDUxcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FiYWJhYjtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fdG9vbGJhcjpob3ZlciAubjctYXJjaGl2ZS1kZXRhaWxfX3Rvb2xiYXItYmFjayB7XG4gICAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3Rvb2xiYXItYmFjayB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogI2FiYWJhYjsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX190b29sYmFyLWJhY2s6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udEF3ZXNvbWVcIjtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fdGl0bGUge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWJhYmFiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3N0YXR1cyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LWZhbWlseTogXCJMaWJyZSBGcmFua2xpblwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX2xpbmtzIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FiYWJhYjtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fbGluayB7XG4gICAgICBjb2xvcjogIzU1NTU1NTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX2xpbmsgLmZhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4OyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3RlciB7XG4gICAgICBmbGV4OiAwIDAgMzAlOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX2FyY2hpdmUtZGV0YWlsIHtcbiAgICAgIGZsZXg6IDAgMCA3MCU7XG4gICAgICBoZWlnaHQ6IDc0JTsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19oZWFkZXItcmVnaXN0ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19oZWFkZXItcmVnaXN0ZXIgLm43LWJ0biwgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX2hlYWRlci1yZWdpc3RlciAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDlweCAzLjMzMzMzcHggOXB4O1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9faGVhZGVyX3N0YXR1cyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgICAgYmFja2dyb3VuZDogI2Y3ZjdmNztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fc3RhdHVzIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fc3RhdHVzOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyLWxpc3Qge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItaXRlbTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItaXRlbS5pcy1hY3RpdmUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAvKiB0aGlzIENTIGZvcm1zIHRoZSB0cmlhbmdsZXMgKi9cbiAgICAgICAgLyogdGhpcyBib3JkZXIgY29sb3IgY29udHJvbGxzIHRoZSBjb2xvciBvZiB0aGUgdHJpYW5nbGUgKHdoYXQgbG9va3MgbGlrZSB0aGUgZmlsbCBvZiB0aGUgdHJpYW5nbGUpICovXG4gICAgICAgIC8qIHRoaXMgYm9yZGVyIGNvbG9yIGNvbnRyb2xscyB0aGUgb3V0c2lkZSwgdGhpbiBib3JkZXIgKi8gfVxuICAgICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItaXRlbS5pcy1hY3RpdmU6YWZ0ZXIsIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1pdGVtLmlzLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTIzcHg7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyLWl0ZW0uaXMtYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmZmZmY7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7IH1cbiAgICAgICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyLWl0ZW0uaXMtYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTZlNmU2O1xuICAgICAgICAgIGJvcmRlci13aWR0aDogOHB4O1xuICAgICAgICAgIHJpZ2h0OiAtMjZweDsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1kZXRhaWwge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMTVweCAgMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyLWRldGFpbCBhIHtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgICAgIGh5cGhlbnM6IGF1dG87IH1cbiAgICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1kZXRhaWwuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLW1hcCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUycHgpO1xuICAgIC8qIENvbnRhaW5lciBoZWlnaHQgLSBwYWRkaW5nICovIH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbWFwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1tYXAgLm43LWFyY2hpdmUtbWFwX19tYXJrZXItdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWJhYmFiO1xuICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiTHVjaWRhIEdyYW5kZVwiLCBzYW5zLXNlcmlmOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLW1hcCAubjctbWFya2VyX19kZXNjLXRleHQge1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1tYXAgLm43LWFyY2hpdmUtbWFwX19zdGF0dXMge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gICAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbWFwIC5uNy1hcmNoaXZlLW1hcF9fc3RhdHVzOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5uNy1hcmNoaXZlcyAuYWNmLW1hcCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FiYWJhYjsgfVxuICAubjctYXJjaGl2ZXMgLnN0YXR1c190b19zdGFydDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNlNzRmNjI7IH1cbiAgLm43LWFyY2hpdmVzIC5zdGF0dXNfaW5fcHJvZ3Jlc3M6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlMjRmOyB9XG4gIC5uNy1hcmNoaXZlcyAuc3RhdHVzX2NvbXBsZXRlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzliZTM0YzsgfVxuXG4vKiBNb2JpbGUgdG9nZ2xlcyAqL1xuLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm43LWFyY2hpdmUtbW9iaWxlLXRvZ2dsZV9fYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19hcmNoaXZlLWRldGFpbCB7XG4gICAgaGVpZ2h0OiA3MiU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubjctYXJjaGl2ZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYmFiYWI7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYWJhYmFiOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCxcbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbGlzdCxcbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbWFwIHtcbiAgICAgIGhlaWdodDogNjB2aDsgfVxuICAgICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLW1hcC5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAubjctYXJjaGl2ZXMgLmFjZi1tYXAge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fdG9vbGJhciB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiA2MHZoOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX2FyY2hpdmUtZGV0YWlsIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1kZXRhaWwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICAgIC8qICovXG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWZpbHRlcnMge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VsZWN0LW9yZGVyIHtcbiAgICAgIHdpZHRoOiAzMyU7IH1cbiAgICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtbGlzdCB7XG4gICAgICBoZWlnaHQ6IDYwdmg7IH1cbiAgICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1saXN0LmlzLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1saXN0X19saXN0IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuICAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24uaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24uaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWZpbHRlcnNfX3NlbGVjdC1vcmRlcixcbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWZpbHRlcnNfX3NlYXJjaC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoLXdyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2g6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWxpc3RfX2xpc3QtaXRlbSB7XG4gICAgcGFkZGluZzogNy41cHg7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyIHtcbiAgICBmbGV4OiAwIDAgMzAlOyB9XG4gICAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyIC5uNy1idG4sIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3RlciAubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlX19idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19saW5rIHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX2FyY2hpdmUtZGV0YWlsIHAge1xuICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAubjctYXJjaGl2ZXMgLm43LWFyY2hpdmUtZGV0YWlsIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItaXRlbSB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19oZWFkZXJfc3RhdHVzIHtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLm43LWFyY2hpdmVzIC5uNy1hcmNoaXZlLWRldGFpbCAubjctYXJjaGl2ZS1kZXRhaWxfX3N0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5uNy1hcmNoaXZlcyAubjctYXJjaGl2ZS1kZXRhaWwgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1kZXRhaWwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuXG4vKipcclxuICogU0lOR0xFLUJPWC1DT05URU5UXHJcbiAqXHJcbiAqIHNpbmdsZSBjb250ZW50IHByZXZpZXdcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNTSU5HTEUtQk9YLUNPTlRFTlRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXN0b3J5LWxpc3QgLm43LXN0b3J5LWxpc3RfX2l0ZW0tZ3JvdXAge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogYm90aDsgfVxuXG4ubjctc3RvcnktbGlzdCAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmcge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHdpZHRoOiAzMS44MTgxOCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDIuMDQwODIlO1xuICBtYXJnaW4tYm90dG9tOiAyLjA0MDgyJTsgfVxuICAubjctc3RvcnktbGlzdCAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmc6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5uNy1zdG9yeS1saXN0IC5uNy1zdG9yeS1saXN0X19pdGVtLXZpZGVvIHtcbiAgd2lkdGg6IDIzLjcyODgxJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLm43LXN0b3J5LWxpc3QgLm43LXN0b3J5LWxpc3RfX2l0ZW0tdmlkZW8tcGxheSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGhlaWdodDogMTg0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAubjctc3RvcnktbGlzdCAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1wbGF5IC5uNy1zdG9yeS1saXN0X19pdGVtLXZpZGVvLWljb24ge1xuICAgIGhlaWdodDogNTAlO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLm43LXN0b3J5LWxpc3QgLm43LXN0b3J5LWxpc3RfX2l0ZW0tdmlkZW8tbWV0YSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLm43LXN0b3J5LWxpc3QgLm43LXN0b3J5LWxpc3RfX2l0ZW0tdmlkZW8tbWV0YS1sYWJlbCB7XG4gIHdpZHRoOiA1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjYWJhYmFiOyB9XG5cbi5uNy1zdG9yeS1saXN0IC5uNy1zdG9yeS1saXN0X192aWRlby10aXRsZSB7XG4gIGNvbG9yOiAjNTU1NTU1O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1NTU1NTU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5uNy1zdG9yeS1saXN0Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogNXB4IDZweDtcbiAgYmFja2dyb3VuZDogI2Q5ZDlkOTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLm43LXN0b3J5LWxpc3Qub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3BhbiwgLm43LXN0b3J5LWxpc3Qub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHtcbiAgYmFja2dyb3VuZDogI2Q4NjA0NDsgfVxuXG4ubjctdmlkZW8tcGFnZSAubjctc3RvcnktbGlzdCB7XG4gIG1hcmdpbjogMDsgfVxuICAubjctdmlkZW8tcGFnZSAubjctc3RvcnktbGlzdCAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1tZXRhLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bzsgfVxuICAubjctdmlkZW8tcGFnZSAubjctc3RvcnktbGlzdCAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1tZXRhIHtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLyogU2xpZGVyIHN0eWxlICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5uNy1zdG9yeS1saXN0IC5uNy1zdG9yeS12aWRlby1ncm91cGluZyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHdpZHRoOiA0OS4xNTI1NCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjY5NDkyJTsgfVxuICAgIC5uNy1zdG9yeS1saXN0IC5uNy1zdG9yeS12aWRlby1ncm91cGluZzpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlOyB9XG4gICAgLm43LXN0b3J5LWxpc3QgLm43LXN0b3J5LXZpZGVvLWdyb3VwaW5nOm50aC1jaGlsZCgybiArIDIpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi8qKlxyXG4gKiBORVdTIEFSQ0hJVkUgTElTVCBTVFlMRVxyXG4gKlxyXG4gKiBTdHlsZSBvZiBzaW5nbGUgYXJjaGl2ZSBuZXdzIGluIGxpc3RcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNORVdTLUFSQ0hJVkUtTElTVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctc2luZ2xlLWFyY2hpdmUge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U2ZTZlNjtcbiAgcGFkZGluZzogMTVweCAwIDVweCAwOyB9XG4gIC5uNy1zaW5nbGUtYXJjaGl2ZTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5uNy1zaW5nbGUtYXJjaGl2ZSAubjctc2luZ2xlLWFyY2hpdmVfX3RpdGxlIHtcbiAgICBjb2xvcjogIzU1NTU1NTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBtYXJnaW46IDEwcHggMCA1cHggMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7IH1cbiAgLm43LXNpbmdsZS1hcmNoaXZlIC5uNy1zaW5nbGUtYXJjaGl2ZV9fbGluazpob3ZlciAubjctc2luZ2xlLWFyY2hpdmVfX3RpdGxlIHtcbiAgICBjb2xvcjogIzVhYTM5YzsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBQQUdJTkFUSU9OXHJcbiAqXHJcbiAqIFN0eWxlIGZvciBwYWdpbmF0aW9uXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjUEFHSU5BVElPTlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctcGFnaW5hdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2U2ZTZlNjsgfVxuICAubjctcGFnaW5hdGlvbiAubjctcGFnaW5hdGlvbl9pbm5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5uNy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGNvbG9yOiAjNTU1NTU1OyB9XG4gICAgLm43LXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5jdXJyZW50IHtcbiAgICAgIGNvbG9yOiAjMzk1NDg3O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5uNy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnM6bm90KC5jdXJyZW50KTpob3ZlciB7XG4gICAgICBjb2xvcjogIzVhYTM5YzsgfVxuICAgIC5uNy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnM6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cblxuLyoqXHJcbiAqIE5VTUJFUiBST1dcclxuICpcclxuICogTnVtYmVyIHJvd1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI05VTUJFUi1ST1dcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LW51bWJlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgcGFkZGluZzogMCAwIDEwcHggMjBweDtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fYm94IHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fbnVtLWJveCB7XG4gICAgbWFyZ2luOiAwIDUwcHg7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fbnVtYmVyIHtcbiAgICBjb2xvcjogIzVhYTM5YztcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgc2VyaWY7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM1YWEzOWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICM4ODg4ODg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5uNy1udW1iZXItcm93IC5uNy1udW1iZXItcm93X19udW0tYm94IHtcbiAgICBtYXJnaW46IDAgMzBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5uNy1udW1iZXItcm93IC5uNy1udW1iZXItcm93X19udW0tYm94IHtcbiAgICBtYXJnaW46IDAgMTVweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5uNy1udW1iZXItcm93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHggMTBweDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fYm94IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm43LW51bWJlci1yb3cgLm43LW51bWJlci1yb3dfX251bS1ib3gge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLm43LW51bWJlci1yb3cgLm43LW51bWJlci1yb3dfX251bS1ib3g6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5uNy1udW1iZXItcm93IC5uNy1udW1iZXItcm93X19udW1iZXIge1xuICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICM1YWEzOWM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDMwcHg7IH1cbiAgICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fdGV4dCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogIzg4ODg4ODtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubjctbnVtYmVyLXJvdyAubjctbnVtYmVyLXJvd19fbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4vKipcclxuICogV0lER0VUIFNUT1JJRVMgTElTVFxyXG4gKlxyXG4gKiB3aWRnZXQgc3RvcmllcyBsaXN0XHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjV0lER0VULVNUT1JJRVMtTElTVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctd2lkZ2V0LXN0b3JpZXMtbGlzdCAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9fc3RvcnktaXRlbSwgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXItc3Rvcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAzNTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAycHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMzVzOyB9XG4gIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X19zdG9yeS1pdGVtOmhvdmVyLCAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdCAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9feW91ci1zdG9yeTpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4ubjctd2lkZ2V0LXN0b3JpZXMtbGlzdCAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9fc3RvcnktaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4OyB9XG5cbi5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5IHtcbiAgaGVpZ2h0OiAxMzBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JhY2NvbnRhLXN0b3JpYS5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTIuNXB4IDVweCA1cHggNXB4O1xuICAgIGNvbG9yOiAjZDg2MDQ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5X2l0ZW0sXG4gIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyX3N0b3J5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDQyLjgwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXJfc3RvcnlfbGluayxcbiAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXJfc3RvcnlfdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5X2l0ZW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0Mi44MCU7IH1cbiAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXJfc3Rvcnkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MC41OCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5LWl0ZW0sIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5IHtcbiAgICBoZWlnaHQ6IDE0MHB4O1xuICAgIHdpZHRoOiA0OS4xNTI1NCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTsgfVxuICAgIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X19zdG9yeS1pdGVtOm50aC1jaGlsZCgybiksIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5Om50aC1jaGlsZCgybikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5IHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X19zdG9yeS1pdGVtLCAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdCAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9feW91ci1zdG9yeSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5LWl0ZW06bnRoLWNoaWxkKDFuKSwgLm43LXdpZGdldC1zdG9yaWVzLWxpc3QgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXItc3Rvcnk6bnRoLWNoaWxkKDFuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG5cbi8qKlxyXG4gKiBVSSBBVVRPQ09NUExFVEVcclxuICpcclxuICogU3R5bGUgZm9yIGF1dG9jb21wbGV0ZVxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1VJLUFVVE9DT01QTEVURVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWktYXV0b2NvbXBsZXRlIHtcbiAgd2lkdGg6IDQ5NHB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDI0MHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWJhYmFiO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLnVpLW1lbnUtaXRlbSB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzIGVhc2U7IH1cbiAgLnVpLW1lbnUtaXRlbTpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAudWktbWVudS1pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAudWktbWVudS1pdGVtOmhvdmVyLCAudWktbWVudS1pdGVtOmZvY3VzIHtcbiAgICBjb2xvcjogIzVhYTM5YztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuICAudWktbWVudS1pdGVtLnVpLXN0YXRlLWZvY3VzLCAudWktbWVudS1pdGVtLnVpLXN0YXRlLWZvY3VzOmhvdmVyLCAudWktbWVudS1pdGVtLnVpLXN0YXRlLWZvY3VzOmZvY3VzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogV2hpbGUgbG9hZGluZyAqL1xuaW5wdXRbdHlwZT1cInRleHRcIl0udWktYXV0b2NvbXBsZXRlLWxvYWRpbmcge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybChcIi4uLy4uL2ltYWdlcy9hdXRvY29tcGxldGUtbG9hZGVyLmdpZlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLWF1dG9jb21wbGV0ZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogNTB2aDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC51aS1hdXRvY29tcGxldGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KSAhaW1wb3J0YW50OyB9IH1cblxuLyoqXHJcbiAqIFNVQk1FTlUtTElTVFxyXG4gKlxyXG4gKiBSaWdodCBzaWRlYmFkIHN1Ym1lbnVcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNTVUJNRU5VLUxJU1RcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LXN1Ym1lbnUtbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAubjctc3VibWVudS1saXN0IC5uNy1zdWJtZW51LWxpc3RfX2hlYWRlciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMzOTU0ODc7XG4gICAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAubjctc3VibWVudS1saXN0IC5wYWdlX2l0ZW0ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgLm43LXN1Ym1lbnUtbGlzdCAucGFnZV9pdGVtIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzU1NTU1NTsgfVxuICAgICAgLm43LXN1Ym1lbnUtbGlzdCAucGFnZV9pdGVtIGE6aG92ZXIsIC5uNy1zdWJtZW51LWxpc3QgLnBhZ2VfaXRlbSBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICM1YWEzOWM7IH1cbiAgICAgIC5uNy1zdWJtZW51LWxpc3QgLnBhZ2VfaXRlbSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZScgIWltcG9ydGFudDtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgY29sb3I6ICM4NmM0ZWM7IH1cbiAgICAubjctc3VibWVudS1saXN0IC5wYWdlX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLyoqXHJcbiAqIFlPVVIgU1RPUlkgR0FMTEVSWVxyXG4gKlxyXG4gKiB5b3VyIHN0b3J5IGdhbGxlcnkgc3R5bGVcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNZT1VSLVNUT1JZLUdBTExFUllcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmVudHJ5LWNvbnRlbnQgLmdhbGxlcnkge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG4gIC5lbnRyeS1jb250ZW50IC5nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZW50cnktY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAuZW50cnktY29udGVudCAuZ2FsbGVyeSAuZ2FsbGVyeS1pY29uIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDYxLjclO1xuICAgIGJhY2tncm91bmQ6ICNkOWQ5ZDk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaWNvbiA+IGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLmdhbGxlcnkgLmdhbGxlcnktaWNvbiBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nYWxsZXJ5Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbjogNXB4IDZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZDlkOWQ5O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5lbnRyeS1jb250ZW50IC5nYWxsZXJ5Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIC5lbnRyeS1jb250ZW50IC5nYWxsZXJ5Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogIzM5NTQ4NzsgfVxuICAuZW50cnktY29udGVudCAuZ2FsbGVyeSAub3dsLWRvdHMge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuZW50cnktY29udGVudCAuZ2FsbGVyeSAub3dsLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc3RvcnlfY2F0ZWdvcnktcmFjY29udGEtbGEtdHVhLXN0b3JpYSAuZ2FsbGVyeS5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW46IDVweCA2cHg7XG4gIGJhY2tncm91bmQ6ICNkOWQ5ZDk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zdG9yeV9jYXRlZ29yeS1yYWNjb250YS1sYS10dWEtc3RvcmlhIC5nYWxsZXJ5Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sIC5zdG9yeV9jYXRlZ29yeS1yYWNjb250YS1sYS10dWEtc3RvcmlhIC5nYWxsZXJ5Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXIgc3BhbiB7XG4gIGJhY2tncm91bmQ6ICNkODYwNDQ7IH1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICNhMWExYTE7IH1cbiAgLndwLWNhcHRpb24tdGV4dC5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5lbnRyeS1jb250ZW50IC5nYWxsZXJ5IHtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgLmVudHJ5LWNvbnRlbnQgLmdhbGxlcnkgLm93bC1kb3RzIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5lbnRyeS1jb250ZW50IC5vd2wtbmF2LmRpc2FibGVkICsgLm93bC1kb3RzIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC53cC1jYXB0aW9uLXRleHQuZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuXG4vKipcclxuICogR0VORVJBTCBMQVlPVVRcclxuICpcclxuICogTGF5b3V0IGZvciBhbGwgcGFnZXNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNQUlOLUNPTlRFTlQtTEVGVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctYXJjaGl2ZS1uZXdzIHtcbiAgd2lkdGg6IDc0LjU3NjI3JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm43LWFyY2hpdmUtbmV3cyAubjctbmV3cy1wcmV2aWV3IHtcbiAgICB3aWR0aDogMzEuODE4MTglO1xuICAgIG1hcmdpbi1yaWdodDogMi4yNzI3MyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubjctYXJjaGl2ZS1uZXdzIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubjctYXJjaGl2ZS1uZXdzIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1NJREVCQVJcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm43LWFyY2hpdmUtbmV3cy1zaWRlYmFyIHtcbiAgd2lkdGg6IDIzLjcyODgxJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDsgfVxuXG4vKlxyXG4ubjctYXJjaGl2ZS1uZXdzLWFyY2hpdmUge1xyXG4gICAgd2lkdGg6IHNwYW4oIDMgb2YgMTIgKSA7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG4qL1xuLypcclxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtYXJjaGl2ZS1uZXdzIHtcclxuICAgIC5uNy1hcmNoaXZlLW5ld3MtYXJjaGl2ZSB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDcgb2YgMTIgKTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlciggMSBvZiAxMiApO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAubjctbW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1zaW5nbGUtYXJjaGl2ZTpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1hcmNoaXZlLW90aGVyLW5ld3Mge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA1IG9mIDEyICkgO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgLm43LWFyY2hpdmUtbmV3cyB7XG4gICAgd2lkdGg6IDY2LjEwMTY5JTsgfVxuICAgIC5uNy1hcmNoaXZlLW5ld3MgLm43LW5ld3MtcHJldmlldzpudGgtY2hpbGQoMW4pIHtcbiAgICAgIHdpZHRoOiA0OC43MTc5NSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNTY0MSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubjctYXJjaGl2ZS1uZXdzIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDFuKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubjctYXJjaGl2ZS1uZXdzIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDFuKTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAubjctYXJjaGl2ZS1uZXdzLXNpZGViYXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubjctYXJjaGl2ZS1uZXdzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLm43LWFyY2hpdmUtbmV3cyAubjctbmV3cy1wcmV2aWV3Om50aC1jaGlsZCgxbikge1xuICAgICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAubjctYXJjaGl2ZS1uZXdzIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDFuKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubjctYXJjaGl2ZS1uZXdzIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDFuKTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAubjctYXJjaGl2ZS1uZXdzLXNpZGViYXIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLm43LWFyY2hpdmUtbmV3cyAubjctbmV3cy1wcmV2aWV3Om50aC1jaGlsZCgxbikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogbm9uZTsgfSB9XG5cbi8qKlxyXG4gKiBGQVEgUEFHRSBMQVlPVVRcclxuICpcclxuICogTGF5b3V0IGZvciBmYXEgcGFnZVxyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI0ZBUS1QQUdFLUxBWU9VVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4udWZhcS1mYXEtbGlzdCB7XG4gIC8qIFBsdXMgZSBtaW51cyAqL1xuICAvKiBUaXRsZSAqL1xuICAvKiBUZXh0ICovIH1cbiAgLnVmYXEtZmFxLWxpc3QgLmV3ZC11ZmFxLXBvc3QtbWFyZ2luLXN5bWJvbCB7XG4gICAgcGFkZGluZzogNXB4IDBweCAwcHggMnB4O1xuICAgIGNvbG9yOiAjY2NjY2NjOyB9XG4gIC51ZmFxLWZhcS1saXN0IC51ZmFxLWZhcS10aXRsZS10ZXh0IGg0IHtcbiAgICBmb250LWZhbWlseTogXCJMaWJyZSBGcmFua2xpblwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS41OyB9XG4gIC51ZmFxLWZhcS1saXN0IC51ZmFxLWZhcS1ib2R5IC51ZmFxLWZhcS1wb3N0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y3ZjdmNzsgfVxuICAgIC51ZmFxLWZhcS1saXN0IC51ZmFxLWZhcS1ib2R5IC51ZmFxLWZhcS1wb3N0IHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC51ZmFxLWZhcS1saXN0IHtcbiAgICAvKiBQbHVzIGUgbWludXMgKi9cbiAgICAvKiBUaXRsZSAqL1xuICAgIC8qIFRleHQgKi8gfVxuICAgIC51ZmFxLWZhcS1saXN0IC5ld2QtdWZhcS1wb3N0LW1hcmdpbi1zeW1ib2wge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC51ZmFxLWZhcS1saXN0IC5ld2QtdWZhcS1wb3N0LW1hcmdpbi1zeW1ib2wgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC51ZmFxLWZhcS1saXN0IC51ZmFxLWZhcS10aXRsZS10ZXh0IGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC51ZmFxLWZhcS1saXN0IC51ZmFxLWZhcS1ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDMzcHg7IH0gfVxuXG4vKipcclxuICogR0VORVJBTCBMQVlPVVRcclxuICpcclxuICogTGF5b3V0IGZvciBhbGwgcGFnZXNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNHRU5FUkFMLUxBWU9VVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctbWF4LXdpZHRoLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDExMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uaG9tZSAuY29udGVudC1hcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5jb250ZW50LWFyZWEge1xuICBtYXgtd2lkdGg6IDExMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm43LWNvbnRlbnQtc3Vic2VjdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjQ09MVU1OU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUd28gY29sdW1ucyBsYXlvdXQgLSBzaWRlYmFyIGxlZnQgKi9cbi8qIFNpZGViYXIgTGVmdCAqL1xuLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcbiAgd2lkdGg6IDIzLjcyODgxJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cblxuLyogTWFpbiBjb250ZW50ICovXG4ubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyIHtcbiAgd2lkdGg6IDc0LjU3NjI3JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBUd28gY29sdW1ucyBsYXlvdXQgLSBzaWRlYmFyIHJpZ2h0ICovXG4vKiBNYWluIGNvbnRlbnQgKi9cbi5uNy1zaW1wbGUtcGFnZV9faW5uZXIge1xuICB3aWR0aDogNzQuNTc2MjclO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTsgfVxuXG4vKiBSaWdodCBMZWZ0ICovXG4ubjctc2ltcGxlLXBhZ2VfX2lubmVyICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcbiAgd2lkdGg6IDIzLjcyODgxJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBUaHJlZSBjb2x1bW5zIGxheW91dCAtIHNpZGViYXIgcmlnaHQgKi9cbi8qIFNpZGViYXIgTGVmdCAqL1xuLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcbiAgd2lkdGg6IDIzLjcyODgxJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cblxuLyogTWFpbiBjb250ZW50ICovXG4ubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0IHtcbiAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cblxuLyogU2lkZWJhciBSaWdodCAqL1xuLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyICsgLm43LXNpbXBsZS1wYWdlX19pbm5lci1yaWdodC5uNy1zaW1wbGUtcGFnZV9faW5uZXItbGVmdCArIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XG4gIHdpZHRoOiAyMy43Mjg4MSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgLm43LW1heC13aWR0aC1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAuY29udGVudC1hcmVhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC8qIENPTFVNTlMgKi9cbiAgLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciBsZWZ0ICovXG4gIC8qIFNpZGViYXIgTGVmdCAqL1xuICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7IH1cbiAgLyogTWFpbiBjb250ZW50ICovXG4gIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciArIC5uNy1zaW1wbGUtcGFnZV9faW5uZXIge1xuICAgIHdpZHRoOiA2Ni4xMDE2OSU7IH1cbiAgLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciByaWdodCAqL1xuICAvKiBNYWluIGNvbnRlbnQgKi9cbiAgLm43LXNpbXBsZS1wYWdlX19pbm5lciB7XG4gICAgd2lkdGg6IDY2LjEwMTY5JTsgfVxuICAvKiBSaWdodCBMZWZ0ICovXG4gIC5uNy1zaW1wbGUtcGFnZV9faW5uZXIgKyAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7IH1cbiAgLyogVGhyZWUgY29sdW1ucyBsYXlvdXQgLSBzaWRlYmFyIHJpZ2h0ICovXG4gIC8qIFNpZGViYXIgTGVmdCAqL1xuICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xuICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTsgfVxuICAvKiBNYWluIGNvbnRlbnQgKi9cbiAgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyICsgLm43LXNpbXBsZS1wYWdlX19pbm5lci1yaWdodC5uNy1zaW1wbGUtcGFnZV9faW5uZXItbGVmdCB7XG4gICAgd2lkdGg6IDY2LjEwMTY5JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogU2lkZWJhciBSaWdodCAqL1xuICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0ICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcbiAgICB3aWR0aDogNjYuMTAxNjklO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzIuMjAzMzklO1xuICAgIHBhZGRpbmctbGVmdDogMS42OTQ5MiU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBUd28gY29sdW1ucyBsYXlvdXQgLSBzaWRlYmFyIGxlZnQgKi9cbiAgLyogU2lkZWJhciBMZWZ0ICovXG4gIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC8qIE1haW4gY29udGVudCAqL1xuICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciByaWdodCAqL1xuICAvKiBNYWluIGNvbnRlbnQgKi9cbiAgLm43LXNpbXBsZS1wYWdlX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC8qIFJpZ2h0IExlZnQgKi9cbiAgLm43LXNpbXBsZS1wYWdlX19pbm5lciArIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC8qIFRocmVlIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciByaWdodCAqL1xuICAvKiBTaWRlYmFyIExlZnQgKi9cbiAgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLyogTWFpbiBjb250ZW50ICovXG4gIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciArIC5uNy1zaW1wbGUtcGFnZV9faW5uZXItcmlnaHQubjctc2ltcGxlLXBhZ2VfX2lubmVyLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAvKiBTaWRlYmFyIFJpZ2h0ICovXG4gIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciArIC5uNy1zaW1wbGUtcGFnZV9faW5uZXItcmlnaHQubjctc2ltcGxlLXBhZ2VfX2lubmVyLWxlZnQgKyAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAubjctbWF4LXdpZHRoLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIC5jb250ZW50LWFyZWEge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9IH1cblxuLyoqXHJcbiAqIEdMT1NTQVJZIExBWU9VVFxyXG4gKlxyXG4gKiBMYXlvdXQgZm9yIEdMT1NTQVJZIHBhZ2VcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNHTE9TU0FSWS1MQVlPVVRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGV0dGVycyAqL1xuLm5hbWVfZGlyZWN0b3J5X2luZGV4IHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBwYWRkaW5nOiAwIDFweCAwIDA7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubmFtZV9kaXJlY3RvcnlfaW5kZXggLm5hbWVfZGlyZWN0b3J5X3N0YXJ0c3dpdGgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDAgLTFweCA1cHggMDtcbiAgICBwYWRkaW5nOiA3LjVweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5uYW1lX2RpcmVjdG9yeV9pbmRleCAubmFtZV9kaXJlY3Rvcnlfc3RhcnRzd2l0aC5uYW1lX2RpcmVjdG9yeV9lbXB0eSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm5hbWVfZGlyZWN0b3J5X2luZGV4IC5uYW1lX2RpcmVjdG9yeV9zdGFydHN3aXRoOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgICAgIC5uYW1lX2RpcmVjdG9yeV9pbmRleCAubmFtZV9kaXJlY3Rvcnlfc3RhcnRzd2l0aDpob3ZlciBhIHtcbiAgICAgICAgY29sb3I6ICM1YWEzOWM7IH1cbiAgICAubmFtZV9kaXJlY3RvcnlfaW5kZXggLm5hbWVfZGlyZWN0b3J5X3N0YXJ0c3dpdGggYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qIFRvdGFsIHJlc3VsdHMgKi9cbi5uYW1lX2RpcmVjdG9yeV90b3RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSXRlbXMgKi9cbi5uYW1lX2RpcmVjdG9yeV9uYW1lX2JveCB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLm5hbWVfZGlyZWN0b3J5X25hbWVfYm94IGJyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5uYW1lX2RpcmVjdG9yeV9uYW1lX2JveCBzdHJvbmcge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJMaWJyZSBGcmFua2xpblwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjMzk1NDg3O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zNXM7IH1cbiAgICAubmFtZV9kaXJlY3RvcnlfbmFtZV9ib3ggc3Ryb25nOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNWFhMzljOyB9XG4gIC5uYW1lX2RpcmVjdG9yeV9uYW1lX2JveCBkaXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4vKiBIZWxwIHRleHQgKi9cbi5uYW1lX2RpcmVjdG9yeV9uYW1lcyBwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBIT01FIE1JRERMRVxyXG4gKlxyXG4gKiBNaWRkbGUgYXJlYSBvZiB0aGUgaG9tZSBwYWdlXHJcbiAqL1xuLm43LWhvbWUtaW5uZXItY29udGVudHMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BhZ2UtYmctMS5qcGcpLCB1cmwoLi4vaW1hZ2VzL3BhZ2UtYmctMi5qcGcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AsIGNlbnRlciA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIGNvdmVyOyB9XG5cbi5uNy1ob21lLW1pZGRsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDQwcHggMCAwIDA7IH1cbiAgLm43LWhvbWUtbWlkZGxlIC5uNy1mZWF0dXJlZC1yb3cge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDc0LjU3NjI3JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cbiAgICAubjctaG9tZS1taWRkbGUgLm43LWZlYXR1cmVkLXJvdyAubjctc2luZ2xlLWJveC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAzMS44MTgxOCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4yNzI3MyU7XG4gICAgICBtYXJnaW4tdG9wOiAxOHB4OyB9XG4gICAgICAubjctaG9tZS1taWRkbGUgLm43LWZlYXR1cmVkLXJvdyAubjctc2luZ2xlLWJveC1jb250ZW50Omxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubjctaG9tZS1taWRkbGUgLm43LWhvbWUtc2lkZWJhciB7XG4gICAgd2lkdGg6IDIzLjcyODgxJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gICAgLm43LWhvbWUtbWlkZGxlIC5uNy1ob21lLXNpZGViYXIgLm43LW1vZHVsZS1oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4ubjctaG9tZS1ib3R0b20ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwIDAgMjBweCAwOyB9XG4gIC5uNy1ob21lLWJvdHRvbSAubjctd2lkZ2V0LW5ld3Mge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTI1cHgpIHtcbiAgLm43LWhvbWUtaW5uZXItY29udGVudHMge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm43LWhvbWUtbWlkZGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAgIC5uNy1ob21lLW1pZGRsZSAubjctZmVhdHVyZWQtcm93IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgLm43LWhvbWUtbWlkZGxlIC5uNy1ob21lLXNpZGViYXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAubjctaG9tZS1pbm5lci1jb250ZW50cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1OTBweCkge1xuICAubjctaG9tZS1taWRkbGUgLm43LWZlYXR1cmVkLXJvdyAubjctc2luZ2xlLWJveC1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4vKipcclxuICogUEFHRSBMQVlPVVRcclxuICpcclxuICogTGF5b3V0IGZvciBhbGwgcGFnZXNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNQQUdFLUxBWU9VVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnZSAubjctaW5uZXItcGFnZS1jb250ZW50IHtcbiAgd2lkdGg6IDY2LjEwMTY5JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cblxuLnBhZ2UgLm43LWlubmVyLXBhZ2Utc2lkZWJhciB7XG4gIHdpZHRoOiAzMi4yMDMzOSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5lbnRyeS1jb250ZW50IGgxIHtcbiAgY29sb3I6ICM1YWEzOWM7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1hcmNoaXZlLWxpc3QgLm43LWlubmVyLXBhZ2UtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtYXJjaGl2ZS1saXN0IC5uNy1pbm5lci1wYWdlLXNpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKipcclxuICogUE9TVCBMQVlPVVRcclxuICpcclxuICogTGF5b3V0IGZvciBuZXdzLCBhcmNoaXZlcyBuZXdzXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjUE9TVC1MQVlPVVRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnR5cGUtcG9zdCAuZW50cnktaGVhZGVyIC5uNy1kYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKlxyXG4gKiBTVE9SSUVTIExBWU9VVFxyXG4gKlxyXG4gKiBMYXlvdXQgZm9yIHN0b3JpZXMgc2VjdGlvbiBwYWdlc1xyXG4gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI1NUT1JJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2luZ2xlLWFudF9zdG9yaWEgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyLFxuICAuYW50X3N0b3JpYS10ZW1wbGF0ZS1kZWZhdWx0IC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAuc2luZ2xlLWFudF9zdG9yaWEgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIC5uNy1zdG9yeS1tZXRhLWJveCxcbiAgICAuYW50X3N0b3JpYS10ZW1wbGF0ZS1kZWZhdWx0IC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciAubjctc3RvcnktbWV0YS1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAuY29udGVudF90eXBlLXBhZ2Utc3RvcnkuY29udGVudC1hcmVhLFxuICAuY29udGVudF90eXBlLXN0b3JpZXMuY29udGVudC1hcmVhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5jb250ZW50X3R5cGUtcGFnZS1zdG9yeS5jb250ZW50LWFyZWEgLm43LWJyZWFkY3J1bWJzLFxuICAgIC5jb250ZW50X3R5cGUtc3Rvcmllcy5jb250ZW50LWFyZWEgLm43LWJyZWFkY3J1bWJzIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmNvbnRlbnRfdHlwZS1wYWdlLXN0b3J5LmNvbnRlbnQtYXJlYSAuZW50cnktaGVhZGVyLFxuICAgIC5jb250ZW50X3R5cGUtc3Rvcmllcy5jb250ZW50LWFyZWEgLmVudHJ5LWhlYWRlciB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jb250ZW50X3R5cGUtcGFnZS1zdG9yeS5jb250ZW50LWFyZWEgLnNpdGUtbWFpbixcbiAgICAuY29udGVudF90eXBlLXN0b3JpZXMuY29udGVudC1hcmVhIC5zaXRlLW1haW4ge1xuICAgICAgb3JkZXI6IDM7IH1cbiAgICAuY29udGVudF90eXBlLXBhZ2Utc3RvcnkuY29udGVudC1hcmVhIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhcixcbiAgICAuY29udGVudF90eXBlLXN0b3JpZXMuY29udGVudC1hcmVhIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XG4gICAgICBvcmRlcjogNDsgfSB9XG5cbi8qKlxyXG4gKiBURVJSSVRPUklPIEUgRk9OVEkgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3IgVGVycml0b3JpbyBlIEZvbnRpXHJcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjVEVSUklUT1JJTy1GT05USVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctdGVycml0b3Jpby1mb250aV9fZmlyc3QtYmxvY2sgYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICogICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKipcclxuICogR0VORVJBTCBMQVlPVVRcclxuICpcclxuICogTGF5b3V0IGZvciBhbGwgcGFnZXNcclxuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNHRU5FUkFMLUxBWU9VVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubjctdmlkZW8tcGFnZSAubjctdmlkZW8tcGFnZV9fdmlkZW8ge1xuICB3aWR0aDogNTcuNjI3MTIlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgLypBQ0YgU1RZTEUgRk9SIFJFU1BPTlNJVkUgRU1CRUQgT0JKRUNUKi8gfVxuICAubjctdmlkZW8tcGFnZSAubjctdmlkZW8tcGFnZV9fdmlkZW8gLm43LXZpZGVvLXBhZ2VfX2VtYmVkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLm43LXZpZGVvLXBhZ2UgLm43LXZpZGVvLXBhZ2VfX3ZpZGVvIC5uNy12aWRlby1wYWdlX19lbWJlZC1jb250YWluZXIgaWZyYW1lLCAubjctdmlkZW8tcGFnZSAubjctdmlkZW8tcGFnZV9fdmlkZW8gLm43LXZpZGVvLXBhZ2VfX2VtYmVkLWNvbnRhaW5lciBvYmplY3QsIC5uNy12aWRlby1wYWdlIC5uNy12aWRlby1wYWdlX192aWRlbyAubjctdmlkZW8tcGFnZV9fZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAubjctdmlkZW8tcGFnZSAubjctdmlkZW8tcGFnZV9fdmlkZW8gLm43LXZpZGVvLXBhZ2VfX2VtYmVkLWNvbnRhaW5lciBpZnJhbWUgLnZwLXBsYXllci1sYXlvdXQsIC5uNy12aWRlby1wYWdlIC5uNy12aWRlby1wYWdlX192aWRlbyAubjctdmlkZW8tcGFnZV9fZW1iZWQtY29udGFpbmVyIG9iamVjdCAudnAtcGxheWVyLWxheW91dCwgLm43LXZpZGVvLXBhZ2UgLm43LXZpZGVvLXBhZ2VfX3ZpZGVvIC5uNy12aWRlby1wYWdlX19lbWJlZC1jb250YWluZXIgZW1iZWQgLnZwLXBsYXllci1sYXlvdXQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubjctdmlkZW8tcGFnZSAubjctc3RvcnktbGlzdCB7XG4gIHdpZHRoOiA0MC42Nzc5NyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi8qIFN0b3J5IHZpZGVvICovXG4ubjctc3RvcnktdmlkZW8ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5uNy1zdG9yeS12aWRlbyBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXG4gKiBVVElMSVRJRVNcbiAqXG4gKiBHZW5lcmFsIHV0aWxpdGllc1xuICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKiAgICNVVElMSVRJRVNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiIsIi8vXHJcbi8vIFZBUklBQkxFU1xyXG4vL1xyXG4vLyBEZWZpbml0aW9uIG9mIGRlZmF1bHQgTXVydWNhIHZhcmlhYmxlc1xyXG4vL1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjRk9OVFNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vIEBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1DYXJkbzo0MDAsNDAwaXRhbGljLDcwMCk7XHJcbi8vIEBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDQwMGl0YWxpYyw2MDAsNjAwaXRhbGljLDcwMCw3MDBpdGFsaWMsMzAwaXRhbGljLDMwMCk7XHJcbi8vIEBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MYXRvOjMwMCwzMDBpLDQwMCw0MDBpLDcwMCw3MDBpLDkwMCw5MDBpJztcclxuQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUxpYnJlK0ZyYW5rbGluOjQwMCw2MDAsNzAwJztcclxuQGltcG9ydCAnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBvcHBpbnM6NDAwLDYwMCc7XHJcbkBpbXBvcnQgJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Sb2JvdG8rU2xhYjozMDAnO1xyXG5cclxuJGZvbnQtZmFtaWx5LW1haW46ICdMaWJyZSBGcmFua2xpbicsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1oZWFkaW5nczogJ1BvcHBpbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktbGFiZWxzOiAnUm9ib3RvIFNsYWInLCBzZXJpZjtcclxuJGZvbnQtZmFtaWx5LWZvbnRhd2Vzb21lOiAnZm9udEF3ZXNvbWUnO1xyXG5cclxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xyXG4kZm9udC13ZWlnaHQtbWVkaXVtOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkOiA3MDA7XHJcblxyXG4kZm9udC1zaXplLWJvZHk6IDE0cHg7XHJcblxyXG4kZm9udC1zaXplLXh4czogICAgIDEycHg7XHJcbiRmb250LXNpemUteHM6ICAgICAgMTNweDtcclxuJGZvbnQtc2l6ZS1zOiAgICAgICAxNHB4O1xyXG4kZm9udC1zaXplLW06ICAgICAgIDE1cHg7IC8vIDE2cHg7XHJcbiRmb250LXNpemUtbWw6ICAgICAgMThweDtcclxuJGZvbnQtc2l6ZS1sOiAgICAgICAyNHB4O1xyXG4kZm9udC1zaXplLXhsOiAgICAgIDI4cHg7XHJcbiRmb250LXNpemUteHhsOiAgICAgMzZweDtcclxuJGZvbnQtc2l6ZS14eHhsOiAgICA0NHB4O1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjU1BBQ0lORy1VTklUXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4kc3BhY2luZy11bml0OiAxMHB4O1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjQk9SREVSLVJBRElVU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuJHJhZGl1czogM3B4O1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjU1VTWVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cclxuJHN1c3k6IChcclxuICAgICdjb2x1bW5zJzogc3VzeS1yZXBlYXQoNCksXHJcbiAgICAnZ3V0dGVycyc6IDAuMjUsXHJcbiAgICAnc3ByZWFkJzogJ25hcnJvdycsXHJcbiAgICAnY29udGFpbmVyLXNwcmVhZCc6ICduYXJyb3cnLFxyXG4pO1xyXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vICNNRURJQS1RVUVSSUVTLUJSRUFLUE9JTlRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbiRicmVha3BvaW50LWRlc2t0b3A6IDExMjBweDtcclxuJGJyZWFrcG9pbnQtbGFwdG9wLXdpZGU6IDEwMjlweDtcclxuJGJyZWFrcG9pbnQtbGFwdG9wOiA5NjBweDtcclxuJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdDogNzY4cHg7XHJcbiRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlOiA0ODBweDtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI0NPTE9SLVNDSEVNRVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuXHJcbiRjb2xvci1ncmF5LTAwOiAjZmZmZmZmO1xyXG4kY29sb3ItZ3JheS0wMTogI2ZhZmJmYztcclxuJGNvbG9yLWdyYXktMDI6ICNmN2Y3Zjc7IC8vI2Q5ZDlkOTsgLy8gI2Y3ZjdmNztcclxuJGNvbG9yLWdyYXktMDM6ICNlNmU2ZTY7XHJcbiRjb2xvci1ncmF5LTA0OiAjYWJhYmFiO1xyXG4kY29sb3ItZ3JheS0wNTogIzU1NTU1NTtcclxuJGNvbG9yLWdyYXktMDY6ICM3Nzc3Nzc7XHJcbiRjb2xvci1ncmF5LTA3OiAjOTc5Nzk3O1xyXG5cclxuJGNvbG9yLW1haW46ICMzOTU0ODc7XHJcbiRjb2xvci1zZWNvbmQ6ICM1YWEzOWM7XHJcbiRjb2xvci10aGlyZDogI2FkODI1YztcclxuJGNvbG9yLWZvdXJ0aDogIzZkOWUzMztcclxuJGNvbG9yLXRleHQtaG92ZXI6IGxpZ2h0ZW4oJGNvbG9yLW1haW4sIDEwKTsgLy9kYXJrZW4oJGNvbG9yLW1haW4sIDgwKTsgLyogVXNlZCBmb3IgdGV4dCBsaW5rIGluIGhvdmVyIHN0YXRlICovXHJcbiRjb2xvci1zdWNjZXNzOiAjNmQ5ZTMzO1xyXG4kY29sb3ItbGlnaHQtYmx1ZTogIzg2YzRlYztcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjU09DSUFMIENPTE9SU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuXHJcbiRjb2xvci1mYi0wMTogIzNiNTk5ODtcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjQ09MT1JTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG5cclxuLy8gVGV4dCBjb2xvcnNcclxuJGNvbG9yLXRleHQ6ICRjb2xvci1ncmF5LTA1O1xyXG4kY29sb3ItdGV4dC1saWdodDogJGNvbG9yLWdyYXktMDQ7XHJcbiRjb2xvci10ZXh0LWludmVyc2U6ICRjb2xvci1ncmF5LTAwO1xyXG4kY29sb3ItdGV4dC1pbnZlcnNlLWhvdmVyOiAkY29sb3ItbWFpbjtcclxuJGNvbG9yLXRleHQtbGluazogJGNvbG9yLW1haW47XHJcbiRjb2xvci10ZXh0LWxpbmstaG92ZXI6ICRjb2xvci1zZWNvbmQ7IC8vIGxpZ2h0ZW4oJGNvbG9yLW1haW4sIDEwKTtcclxuJGNvbG9yLXRleHQtZm9ybS1wbGFjZWhvbGRlcjogJGNvbG9yLWdyYXktMDQ7XHJcbi8vIEJvcmRlcnNcclxuJGNvbG9yLWJvcmRlci1saWdodDogJGNvbG9yLWdyYXktMDI7XHJcbiRjb2xvci1ib3JkZXItbm9ybWFsOiAkY29sb3ItZ3JheS0wMztcclxuJGNvbG9yLWJvcmRlci1kYXJrOiAjY2NjY2NjO1xyXG5cclxuLy8gQmFja2dyb3VuZHNcclxuJGNvbG9yLWJhY2tncm91bmQtYmFzZTogI2EyZDFmMDsgLy8gQmxhY2shXHJcbiRjb2xvci1iYWNrZ3JvdW5kLXNlY29uZDogJGNvbG9yLW1haW47IC8vIEJsYWNrIVxyXG4kY29sb3ItYmFja2dyb3VuZC1saWdodDogJGNvbG9yLWdyYXktMDA7XHJcbiRjb2xvci1iYWNrZ3JvdW5kLW1lZGl1bTogJGNvbG9yLWdyYXktMDI7XHJcbiRjb2xvci1iYWNrZ3JvdW5kLWRhcms6ICRjb2xvci1ncmF5LTA1O1xyXG4kY29sb3ItYmFja2dyb3VuZC1ib3gtZ3JheTogI2U5ZTllOTsgLy8gIzMzMzMzMztcclxuJGNvbG9yLWJhY2tncm91bmQtYnRuLTAxOiAkY29sb3ItbWFpbjtcclxuJGNvbG9yLWJhY2tncm91bmQtYnRuLTAyOiAkY29sb3Itc2Vjb25kO1xyXG5cclxuLy9UaGVtYXRpYyBjb2xvcnNcclxuJGNvbG9yLWdlbmVyYWw6ICRjb2xvci1tYWluO1xyXG4kY29sb3ItYXJjaGl2ZTogJGNvbG9yLXNlY29uZDtcclxuJGNvbG9yLXR1dG9yaWFsOiAjZjJhYjNmO1xyXG4kY29sb3Itc3RvcmllczogI2Q4NjA0NDtcclxuJGNvbG9yLW5ld3M6ICRjb2xvci10aGlyZDtcclxuXHJcbiRjb2xvci1nZW5lcmFsLWJnOiAjZTFmMWY2O1xyXG4kY29sb3ItYXJjaGl2ZS1iZzogI2U3ZjFmMDtcclxuJGNvbG9yLXR1dG9yaWFsLWJnOiAjZmRmM2UyO1xyXG4kY29sb3Itc3Rvcmllcy1iZzogI2Y2ZTllNjtcclxuJGNvbG9yLW5ld3MtYmc6ICNlYWRmZDU7XHJcblxyXG4vL0RpZ2l0YWxpemF0aW9uIHN0YXR1c1xyXG4kY29sb3ItaW4tcHJvZ3Jlc3M6ICNlZGUyNGY7XHJcbiRjb2xvci10by1zdGFydDogI2U3NGY2MjtcclxuJGNvbG9yLWNvbXBsZXRlOiAjOWJlMzRjO1xyXG5cclxuLy8gJGNvbG9yLWdlbmVyYWwtYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItbWFpbiwgMzUpO1xyXG4vLyAkY29sb3ItYXJjaGl2ZS1iYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvci1zZWNvbmQsIDM1KTtcclxuLy8gJGNvbG9yLXR1dG9yaWFsLWJhY2tncm91bmQ6IGxpZ2h0ZW4oI2YyYWIzZiwgMzUpO1xyXG4vLyAkY29sb3Itc3Rvcmllcy1iYWNrZ3JvdW5kOiBsaWdodGVuKCNkODYwNDQsIDM1KTtcclxuLy8gJGNvbG9yLW5ld3MtYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItdGhpcmQsIDM1KTtcclxuXHJcbiRjb2xvci1zbGlkZXItZG90czogI2Q5ZDlkOTtcclxuJGNvbG9yLWltYWdlLWRlc2NyaXB0aW9uOiAjYTFhMWExO1xyXG4kY29sb3ItbW9kYWwtaGVhZGVyOiAjZWJlYmViO1xyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vICNOQVYtU0VDXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4kbmF2LXNlYy1oZWlnaHQ6IDQwcHg7XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI0JVVFRPTlNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbiRidXR0b24tYm9yZGVyLXdpZHRoOiAwO1xyXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDNweDtcclxuJGJ1dHRvbi1ub3JtYWwtaGVpZ2h0OiAzNnB4O1xyXG4kYnV0dG9uLXNtYWxsLWhlaWdodDogMjJweDtcclxuJGJ1dHRvbi1sYXJnZS1oZWlnaHQ6IDUwcHg7XHJcblxyXG4vLyBOb3JtYWwgYnV0dG9uXHJcbiRjb2xvci1idXR0b24tdGV4dDogJGNvbG9yLXRleHQtbGluaztcclxuJGNvbG9yLWJ1dHRvbi10ZXh0LWhvdmVyOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyO1xyXG4kY29sb3ItYnV0dG9uLXRleHQtZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXRleHQtaW52ZXJzZSwgLjQpO1xyXG5cclxuJGNvbG9yLWJ1dHRvbi1iZzogJGNvbG9yLWJhY2tncm91bmQtbGlnaHQ7XHJcbiRjb2xvci1idXR0b24tYmctaG92ZXI6ICRjb2xvci1iYWNrZ3JvdW5kLW1lZGl1bTtcclxuXHJcbiRjb2xvci1idXR0b24tYm9yZGVyOiAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuJGNvbG9yLWJ1dHRvbi1ib3JkZXItaG92ZXI6ICRjb2xvci1ncmF5LTAzO1xyXG5cclxuLy8gTGlnaHQgYnV0dG9uIChubyBiYWNrZ3JvdW5kIG9yIGJvcmRlciwgb25seSB0ZXh0KVxyXG4kY29sb3ItYnV0dG9uLWxpZ2h0LXRleHQ6ICRjb2xvci10ZXh0LWludmVyc2U7XHJcbiRjb2xvci1idXR0b24tbGlnaHQtdGV4dC1ob3ZlcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuJGNvbG9yLWJ1dHRvbi1saWdodC10ZXh0LWRpc2FibGVkOiByZ2JhKCRjb2xvci1idXR0b24tbGlnaHQtdGV4dCwgLjQpO1xyXG4kY29sb3ItYnV0dG9uLWxpZ2h0LXRleHQtYWN0aXZlOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyO1xyXG5cclxuLy8gQ2FsbCB0byBhY3Rpb24gYnV0dG9uXHJcbiRjb2xvci1idXR0b24tY3RhLXRleHQ6ICRjb2xvci1zZWNvbmQ7XHJcbiRjb2xvci1idXR0b24tY3RhLXRleHQtaG92ZXI6ICRjb2xvci10ZXh0LWludmVyc2U7XHJcbiRjb2xvci1idXR0b24tY3RhLXRleHQtZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXRleHQtaW52ZXJzZSwgLjQpO1xyXG5cclxuJGNvbG9yLWJ1dHRvbi1jdGEtYmc6IHJnYmEoJGNvbG9yLW1haW4sIC4xNSk7XHJcbiRjb2xvci1idXR0b24tY3RhLWJnLWhvdmVyOiAkY29sb3ItdGV4dC1ob3ZlcjtcclxuJGNvbG9yLWJ1dHRvbi1jdGEtYmctYWN0aXZlOiAkY29sb3ItdGV4dC1ob3ZlcjtcclxuJGNvbG9yLWJ1dHRvbi1jdGEtYmctZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLW1haW4sIC45KTtcclxuXHJcbiRjb2xvci1idXR0b24tY3RhLWJvcmRlcjogZGFya2VuKCRjb2xvci1tYWluLCAxMCk7IC8vICRjb2xvci10ZXh0LWhvdmVyO1xyXG5cclxuLy9UYWcgYnV0dG9uXHJcbiRjb2xvci1idXR0b24tY3RhLXRleHQ6ICRjb2xvci1zZWNvbmQ7XHJcbiRjb2xvci1idXR0b24tY3RhLXRleHQtZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXRleHQtaW52ZXJzZSwgLjQpO1xyXG5cclxuLy8gQWx0ZXJuYXRpdmUgYnV0dG9uXHJcbiRjb2xvci1idXR0b24tYWx0LXRleHQ6ICRjb2xvci10ZXh0LWludmVyc2U7XHJcbiRjb2xvci1idXR0b24tYWx0LXRleHQtaG92ZXI6ICRjb2xvci10ZXh0LWludmVyc2U7XHJcbiRjb2xvci1idXR0b24tYWx0LXRleHQtZGlzYWJsZWQ6IHJnYmEoJGNvbG9yLXRleHQtaW52ZXJzZSwgLjQpO1xyXG5cclxuJGNvbG9yLWJ1dHRvbi1hbHQtYmc6ICRjb2xvci1zZWNvbmQ7XHJcbiRjb2xvci1idXR0b24tYWx0LWJnLWhvdmVyOiBkYXJrZW4oJGNvbG9yLXNlY29uZCwgMTApO1xyXG4kY29sb3ItYnV0dG9uLWFsdC1iZy1hY3RpdmU6IGRhcmtlbigkY29sb3Itc2Vjb25kLCAxMCk7XHJcbiRjb2xvci1idXR0b24tYWx0LWJnLWRpc2FibGVkOiByZ2JhKCRjb2xvci1zZWNvbmQsIC45KTtcclxuXHJcbiRjb2xvci1idXR0b24tYWx0LWJvcmRlcjogZGFya2VuKCRjb2xvci1zZWNvbmQsIDEwKTtcclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI1RSQU5TSVRJT05TXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4kdHJhbnNpdGlvbi1kdXJhdGlvbnM6IDAuMzVzO1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjRk9PVEVSXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjRk9STVNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbiRmb3JtLWlucHV0LWhlaWdodDogMzBweDtcclxuJGZvcm0taW5wdXQtc21hbGwtaGVpZ2h0OiAyNnB4O1xyXG5cclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLyAjQlJFQURDUlVNQlNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vICNaLUlOREVYXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG5cclxuLy8gJHppbmRleC1wbmQtYmFzZTogMjE0NzQ4MzYyNzsgLy8gTWF4IGFsbG93ZCB2YWx1ZSA9IDIxNDc0ODM2NDdcclxuLy8gJHppbmRleC1tcmMtYmFzZTogMTA7IC8vIE1heCBhbGxvd2QgdmFsdWUgPSAyMTQ3NDgzNjQ3XHJcblxyXG4vLyAkbXJjLW5hdmJhci16LWluZGV4OiAgICAgICAgICAgIDEwICsgJHppbmRleC1tcmMtYmFzZTtcclxuLy8gJG1yYy1zaW1wbGUtc2VhcmNoLXotaW5kZXg6ICAgICAyMCArICR6aW5kZXgtbXJjLWJhc2U7XHJcbi8vICRtcmMtZHJvcGRvd24tei1pbmRleDogICAgICAgICAgMzAgKyAkemluZGV4LW1yYy1iYXNlO1xyXG4vLyAkbXJjLWF1dG9jb21wbGV0ZS16LWluZGV4OiAgICAgIDM1ICsgJHppbmRleC1tcmMtYmFzZTtcclxuLy8gJG1yYy1tb2RhbC16LWluZGV4OiAgICAgICAgICAgICA0MCArICR6aW5kZXgtbXJjLWJhc2U7XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vICNMT0FERVJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vICNESUFMT0dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbiRkaWFsb2ctaGVhZGVyLWhlaWdodDogODBweDtcclxuJGRpYWxvZy1tYXgtaGVpZ2h0OiA4NXZoO1xyXG5cclxuIiwiLyoqXG4gKiBOT1JNQUxJWkVcbiAqXG4gKiBOb3JtYWxpemF0aW9uIG9mIHRhZ3NcbiAqL1xuXG4vKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn0iLCIvKipcclxuICogQkFTRVxyXG4gKlxyXG4gKiBCYXNpYyBzdHlsZSBmb3IgdGFnIGFuZCBnZW5lcmFsIGNsYXNzZXNcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNCQVNFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmh0bWwsIGJvZHkge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5odG1sIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbWFpbjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ib2R5O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiBGaXggZm9yIHdlYmtpdCByZW5kZXJpbmcgKi9cclxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiAgICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBjb21tb24tbGlnYXR1cmVzO1xyXG59XHJcblxyXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG4qOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cywgaW5wdXQ6Zm9jdXMsIGJ1dHRvbjpmb2N1cywgYSwgYTpob3ZlciwgYTphY3RpdmUsIGE6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuYSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9ucztcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtaG92ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbnRyeS1jb250ZW50IHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuXHJcbi5lbnRyeS10aXRsZSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdlbmVyYWw7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdW5pdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG5cclxuICAgIC5lbnRyeS10aXRsZV9fYXV0aG9yIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuICAgICAgICBjb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheS0wNiwgMjAlKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuXHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTA2O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbltjbGFzcyo9XCJjb250ZW50X3R5cGUtYXJjaGl2ZVwiXSB7XHJcblxyXG4gICAgLmVudHJ5LXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFyY2hpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbltjbGFzcyo9XCJjb250ZW50X3R5cGUtbmV3c1wiXTpub3QoW2NsYXNzKj1cImNhdGVnb3J5LWFyY2hpdmlvXCJdKTpub3QoW2NsYXNzKj1cImNhdGVnb3J5LWluZGljZS1kZWktbm9taVwiXSkge1xyXG5cclxuICAgIC5lbnRyeS10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1uZXdzO1xyXG4gICAgfVxyXG59XHJcblxyXG5bY2xhc3MqPVwiY29udGVudF90eXBlLXN0b3JpZXNcIl0ge1xyXG4gICAgLmVudHJ5LXRpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXN0b3JpZXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbltjbGFzcyo9XCJjb250ZW50X3R5cGUtdHV0b3JpYWxcIl0ge1xyXG5cclxuICAgIC5lbnRyeS10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10dXRvcmlhbDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0lNQUdFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8qIEltYWdlIHdpdGggY2FwdGlvbiAqL1xyXG4uZW50cnktY29udGVudCAud3AtY2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICBtYXJnaW46IDAgMCAkc3BhY2luZy11bml0IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcblxyXG4gICAgaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYuYWxpZ25sZWZ0IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgIH1cclxuXHJcbiAgICAmLmFsaWducmlnaHQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICB9XHJcblxyXG4gICAgLndwLWNhcHRpb24tdGV4dCB7XHJcbiAgICAgICAgQGV4dGVuZCAubjctY2FwdGlvbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogSW1hZ2Ugbm8gY2FwdGlvbiAqL1xyXG4uZW50cnktY29udGVudCB7XHJcbiAgICBpbWdbY2xhc3MqPVwid3AtaW1hZ2VcIl0ge1xyXG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXVuaXQgMDtcclxuICAgICAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuXHJcbiAgICAgICAgJi5hbGlnbmxlZnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuYWxpZ25yaWdodCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxuXHJcbiAgICAuZW50cnktY29udGVudCAud3AtY2FwdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZVwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgJi5hbGlnbmxlZnQsICYuYWxpZ25yaWdodCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBJbWFnZSBubyBjYXB0aW9uICovXHJcbiAgICAuZW50cnktY29udGVudCB7XHJcbiAgICAgICAgaW1nW2NsYXNzKj1cIndwLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAmLmFsaWdubGVmdCwgJi5hbGlnbnJpZ2h0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxuXHJcbiAgICAuZW50cnktdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdW5pdCowLjU7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhsO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAuZW50cnktdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdW5pdCowLjU7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4iLCIvKipcclxuICogVFlQT0dSQVBIWVxyXG4gKlxyXG4gKiBEZWZpbml0aW9uIG9mIHR5cG9ncmFwaGljIHN0eWxlc1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0hFQURJTkdTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5ncztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eGw7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yMztcclxuICAgIG1hcmdpbi1ib3R0b206IC4zZW07XHJcbn1cclxuXHJcbmgyIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14bDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjNlbTtcclxufVxyXG5cclxuaDMge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIG1hcmdpbi1ib3R0b206IC4zZW07XHJcbn1cclxuXHJcbmg0IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuODtcclxuICAgIG1hcmdpbi1ib3R0b206IC4zZW07XHJcbn1cclxuXHJcbmg1IHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdDtcclxuICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcclxufVxyXG5cclxucCB7XHJcbiAgICBtYXJnaW46IDAgMCAkc3BhY2luZy11bml0IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjc1O1xyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTElOS1NcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5hIHtcclxuICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgIC8vJjp2aXNpdGVkIHtcclxuICAgIC8vICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgLy99XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbmstaG92ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbnRyeS1jb250ZW50IHtcclxuICAgIHAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNMSVNUU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5lbnRyeS1jb250ZW50IHtcclxuICAgIHVsLCBvbCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQgMCAkc3BhY2luZy11bml0ICRzcGFjaW5nLXVuaXQqMztcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjSFJcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5ociB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjRU1QVFktU1RBVEVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmVtcHR5LXN0YXRlIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICBsaW5lLWhlaWdodDogMS4zO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNDQVBUSU9OU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy1jYXB0aW9uIHtcclxuICAgIG1hcmdpbjogN3B4IDAgMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMztcclxufSIsIi8qKlxyXG4gKiBGT1JNU1xyXG4gKlxyXG4gKiBTdHlsZSBmb3IgZm9ybXMgZWxlbWVudHNcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNHRU5FUkFMXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbnNlbGVjdCwgdGV4dGFyZWEsIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSB7XHJcbiAgICBwYWRkaW5nOiAwIDhweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItZGFyaztcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWlucHV0LWhlaWdodDtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggNnB4IDBweCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlcjtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9ucztcclxuICAgIGhlaWdodDogJGZvcm0taW5wdXQtaGVpZ2h0O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgfVxyXG5cclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDAgcmdiYSgwLDAsMCwwLjA1KSwgMCAwIDJweCBmYWRlKCRjb2xvci1tYWluLCAyMCUpO1xyXG4gICAgfVxyXG5cclxuICAgICYuc21hbGwge1xyXG4gICAgICAgIGhlaWdodDogJGZvcm0taW5wdXQtc21hbGwtaGVpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1pbnB1dC1zbWFsbC1oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cclxuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGlnaHQ7XHJcbiAgICAgICAgLy8gZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgfVxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xyXG4gICAgICAgIC8vIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgIH1cclxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogSUUgMTArICovXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xyXG4gICAgICAgIC8vIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgIH1cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xyXG4gICAgICAgIC8vIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgIH1cclxufVxyXG5cclxuLyogU2V0IEhlaWdodCAqL1xyXG50ZXh0YXJlYSwgaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbmlucHV0W3R5cGU9XCJtb250aFwiXSwgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBpbnB1dFt0eXBlPVwidGVsXCJdLCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuaW5wdXRbdHlwZT1cInRpbWVcIl0sIGlucHV0W3R5cGU9XCJ1cmxcIl0sIGlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcclxuICAgIGhlaWdodDogJGZvcm0taW5wdXQtaGVpZ2h0O1xyXG59IiwiLyoqXHJcbiAqIFRBQkxFXHJcbiAqXHJcbiAqIEJhc2ljIHN0eWxlIGZvciB0YWJsZXNcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNUQUJMRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy10YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuXHJcbiAgICAmLnRhYmxlLWZ1bGwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1tZWRpdW07XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgfVxyXG5cclxuICAgIHRoIHtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuICAgIH1cclxuXHJcbiAgICB0aCwgdGQge1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgfVxyXG5cclxuICAgIHRyOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtbGlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgdHIuY2xpY2thYmxlIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXRhYmxlX19oZWFkZXItcm93IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLW1lZGl1bTtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1tZWRpdW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1RBQkxFUFJFU1NcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmRhdGFUYWJsZXNfd3JhcHBlciAudGFibGVwcmVzcyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuXHJcbiAgICB0aGVhZCxcclxuICAgIHRmb290IHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItYmFja2dyb3VuZC1tZWRpdW0sIDI1JSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbnMgZWFzZTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb3J0aW5nOmhvdmVyLFxyXG4gICAgLnNvcnRpbmdfYXNjLFxyXG4gICAgLnNvcnRpbmdfZGVzYyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1iYWNrZ3JvdW5kLW1lZGl1bSwgMzUlKTtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIFNFQ09OREFSWSBOQVZJR0FUSU9OXHJcbiAqXHJcbiAqIFNlY29uZGFyeSBuYXZpZ2F0aW9uXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTkFWLVNFQ1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubjctYnJlYWRjcnVtYnMge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCozIDAgJHNwYWNpbmctdW5pdC8yIDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjIuNTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktMDQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN1cnJlbnQtaXRlbSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudF90eXBlLWFyY2hpdmUgLm43LWJyZWFkY3J1bWJzIHtcclxuXHJcbiAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3Ige1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYXJjaGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRlbnRfdHlwZS1zdG9yaWVzIC5uNy1icmVhZGNydW1icyB7XHJcblxyXG4gICAgLmJyZWFkY3J1bWItc2VwYXJhdG9yIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXN0b3JpZXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50X3R5cGUtbmV3cyAubjctYnJlYWRjcnVtYnMge1xyXG5cclxuICAgIC5icmVhZGNydW1iLXNlcGFyYXRvciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1uZXdzO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudF90eXBlLXR1dG9yaWFsIC5uNy1icmVhZGNydW1icyB7XHJcblxyXG4gICAgLmJyZWFkY3J1bWItc2VwYXJhdG9yIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXR1dG9yaWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcblxyXG4gICAgLm43LWJyZWFkY3J1bWJzIHtcclxuICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0KjEuNSAwICRzcGFjaW5nLXVuaXQvMiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMS41O1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAubjctYnJlYWRjcnVtYnMge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMiAwICRzcGFjaW5nLXVuaXQqMSAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMTtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qKlxyXG4gKiBQQUdFIFNVQk1FTlVcclxuICpcclxuICogTWFpbiBtZW51IG5hdmlnYXRpb25zXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjUEFHRSBTVUJNRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LWJhY2stdG8tcGFyZW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoxLjU7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAxcHggMCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgLy8gcGFkZGluZzogMTRweCAwO1xyXG4gICAgLy8gZm9udC1zaXplOiAkZm9udC1zaXplLXM7XHJcbiAgICAvLyBjb2xvcjogJGNvbG9yLXRleHQ7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZm9udGF3ZXNvbWU7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjEwNCc7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIHBhZGRpbmc6IDRweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb25zO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1iYWNrLXRvLXBhcmVudF9fdGV4dCB7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAubjctYmFjay10by1wYXJlbnRfX2xpbmstdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1zdG9yaWVzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbmstaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50X3R5cGUtbmV3cyAmIHtcclxuICAgICAgICAubjctYmFjay10by1wYXJlbnRfX2xpbmstdGV4dCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmV3cztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0IC0gMSkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59XHJcbiIsIi8qKlxyXG4gKiBCVVRUT05TXHJcbiAqXHJcbiAqIFN0eWxlIGZvciBhbGwgdHlwZXMgb2YgYnV0dG9uc1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1NUQU5EQVJELUJVVFRPTlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy1idG4ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGhlaWdodDogJGJ1dHRvbi1ub3JtYWwtaGVpZ2h0O1xyXG4gICAgcGFkZGluZzogMCAkc3BhY2luZy11bml0KjEuNTtcclxuICAgIG1hcmdpbjogMCAzcHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XHJcbiAgICBAaW5jbHVkZSBncmFkaWVudC1idXR0b24tMTtcclxuICAgIGNvbG9yOiAkY29sb3ItYnV0dG9uLWxpZ2h0LXRleHQ7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5ncztcclxuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLW5vcm1hbC1oZWlnaHQ7IC8vICAtICRidXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbnM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYnV0dG9uLWhvdmVyLTE7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYnV0dG9uLWJvcmRlci1ob3ZlcjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJ1dHRvbi1saWdodC10ZXh0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBEaXNhYmxlZCAqL1xyXG4gICAgJi5kaXNhYmxlZCwgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZDpob3ZlciwgJjpkaXNhYmxlZDpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYnV0dG9uLWhvdmVyLTE7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1idXR0b24tdGV4dC1kaXNhYmxlZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1idXR0b24tYm9yZGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idXR0b24tYmc7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBY3RpdmUgKi9cclxuICAgICYuYWN0aXZlLCAmOmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIsICY6YWN0aXZlOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJ1dHRvbi10ZXh0LWhvdmVyO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1dHRvbi10ZXh0LWhvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idXR0b24tYmc7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTGFiZWwsIHNvbWV0aW1lcyBpbnNpZGUgYSBTUEFOKi9cclxuICAgIC5uNy1sYWJlbCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qIEljb24gaW5zaWRlIGJ1dHRvbiAqL1xyXG4gICAgLm43LWljb24ge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLW5vcm1hbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGgqMik7XHJcbiAgICAgICAgbWFyZ2luOiAwIDNweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjU0laRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctYnRuIHtcclxuICAgICYubjctYnRuLXMge1xyXG4gICAgICAgIGhlaWdodDogJGJ1dHRvbi1zbWFsbC1oZWlnaHQ7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMCAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWhlaWdodCAtICRidXR0b24tYm9yZGVyLXdpZHRoICsgMTtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTW9zdGx5IHVzZWQgaW50byBiYXJzICovXHJcbiAgICAmLm43LWJ0bi1sIHtcclxuICAgICAgICBoZWlnaHQ6ICRidXR0b24tbGFyZ2UtaGVpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctdW5pdCozO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWhlaWdodCAtICRidXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTElHSFQtQlVUVE9OXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogTm8gYmFja2dyb3VuZCAqL1xyXG4ubjctYnRuLWxpZ2h0IHtcclxuICAgIHBhZGRpbmc6IDAgNHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1idXR0b24tbGlnaHQtdGV4dDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLW5vcm1hbC1oZWlnaHQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1idXR0b24tbGlnaHQtdGV4dC1ob3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBEaXNhYmxlZCAqL1xyXG4gICAgJi5kaXNhYmxlZCwgJjpkaXNhYmxlZCwgJi5kaXNhYmxlZDpob3ZlciwgJjpkaXNhYmxlZDpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1idXR0b24tbGlnaHQtdGV4dC1kaXNhYmxlZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBBY3RpdmUgKi9cclxuICAgICYuYWN0aXZlLCAmOmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIsICY6YWN0aXZlOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJ1dHRvbi1saWdodC10ZXh0LWFjdGl2ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNDQUxMLVRPLUFDVElPTi1CVVRUT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctYnRuLWN0YSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnV0dG9uLWN0YS1iZztcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1dHRvbi1jdGEtYm9yZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1idXR0b24tY3RhLXRleHQ7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDAgcmdiYSgjMDAwMDAwLCAuMik7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1dHRvbi1jdGEtYmctaG92ZXI7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYnV0dG9uLWN0YS1ib3JkZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1idXR0b24tY3RhLXRleHQtaG92ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLyogRGlzYWJsZWQgKi9cclxuICAgICYuZGlzYWJsZWQsICY6ZGlzYWJsZWQsICYuZGlzYWJsZWQ6aG92ZXIsICY6ZGlzYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1idXR0b24tY3RhLWJnLWRpc2FibGVkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1dHRvbi1jdGEtYm9yZGVyO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnV0dG9uLWN0YS10ZXh0LWRpc2FibGVkO1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQWN0aXZlICovXHJcbiAgICAmLmFjdGl2ZSwgJjphY3RpdmUsICYuYWN0aXZlOmhvdmVyLCAmOmFjdGl2ZTpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJ1dHRvbi1jdGEtYmctYWN0aXZlO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1dHRvbi1jdGEtYm9yZGVyO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnV0dG9uLWN0YS10ZXh0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNGQUNFQk9PSy1CVVRUT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogRmFjZWJvb2sgbGluayB3aXRoIGljb24gYW5kIHRleHQgKi9cclxuLm43LWJ0bi1mYi10eHQge1xyXG4gICAgY29sb3I6ICRjb2xvci1mYi0wMTtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuXHJcbiAgICBhOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGYwOWFcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZvbnRhd2Vzb21lO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcclxuICAgIH1cclxufSIsIi8vXHJcbi8vIEdSQURJRU5UU1xyXG4vL1xyXG4vLyBNaXhpbnMgdGhhdCBkZWZpbmUgZ3JhZGllbnRzXHJcbi8vXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI0dSQURJRU5UU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuQG1peGluIGdyYWRpZW50LWJ1dHRvbi0xIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kLWJ0bi0wMTsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwLjg5ZGVnLCAkY29sb3ItYmFja2dyb3VuZC1idG4tMDEgMCUsICRjb2xvci1iYWNrZ3JvdW5kLWJ0bi0wMiAxMDAlKTtcclxufVxyXG5cclxuQG1peGluIGdyYWRpZW50LWJ1dHRvbi1ob3Zlci0xIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1iYWNrZ3JvdW5kLWJ0bi0wMTsgLyogT2xkIGJyb3dzZXJzICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwLjg5ZGVnLCAkY29sb3ItYmFja2dyb3VuZC1idG4tMDEgNjAlLCAkY29sb3ItYmFja2dyb3VuZC1idG4tMDIgMTAwJSk7XHJcbn1cclxuXHJcblxyXG4vLy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vLy8vICNSRVRJTkEgSU1BR0VTIE1JWElOXHJcbi8vLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vQG1peGluIGltYWdlLTJ4KCRpbWFnZSwgJHdpZHRoLCAkaGVpZ2h0KSB7XHJcbi8vICAgIEBtZWRpYSAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxyXG4vLyAgICAgICAgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNi8yKSxcclxuLy8gICAgICAgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXHJcbi8vICAgICAgICAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcclxuLy8gICAgICAgIChtaW4tcmVzb2x1dGlvbjogMS4zZHBweCkge1xyXG4vLyAgICAgICAgLyogb24gcmV0aW5hLCB1c2UgaW1hZ2UgdGhhdCdzIHNjYWxlZCBieSAyICovXHJcbi8vICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlKTtcclxuLy8gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XHJcbi8vICAgIH1cclxuLy99XHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcbi8vICNBQlNPTFVURSBQT1NJVElPTiBDRU5URVJJTkdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIC8vXHJcblxyXG5AbWl4aW4gdmVydGljYWwtY2VudGVyaW5nIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXJpbmcge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI0ZPTlQgQVdFU09NRSBJQ09OXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG4vL1xyXG5AbWl4aW4gZm9udC1hd2Vzb21lKCRpY29uKSB7XHJcbiAgICBjb250ZW50OiAkaWNvbjtcclxuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnICFpbXBvcnRhbnQ7XHJcbiAgICBzcGVhazogbm9uZTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI1NMSURFUiBET1RTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG5cclxuQG1peGluIHNsaWRlci1kb3RzKCRjb2xvcikge1xyXG4gICAgLm93bC1kb3RzIHtcclxuICAgICAgICAub3dsLWRvdCB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nLXVuaXQvMiA2cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2xpZGVyLWRvdHM7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5hY3RpdmUsXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI0lOUFVUIFBMQUNFSE9MREVSIFNUWUxFXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI0NMRUFSRklYXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAvL1xyXG5cclxuQG1peGluIGNsZWFyZml4KCkge1xyXG4gICAgJjpiZWZvcmUsXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuLy8gI1dPUkQgV1JBUFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLy9cclxuXHJcbkBtaXhpbiB3b3JkLXdyYXAoKSB7XHJcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAtbXMtaHlwaGVuczogYXV0bztcclxuICAgIC1tb3otaHlwaGVuczogYXV0bztcclxuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcclxuICAgIGh5cGhlbnM6IGF1dG87XHJcbn0iLCIvKipcclxuICogREFURVxyXG4gKlxyXG4gKiBEYXRlIGluZGljYXRpb25cclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNEQVRFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LWRhdGUge1xyXG4gICAgY29sb3I6ICRjb2xvci1mb3VydGg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWxhYmVscztcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14cztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMDczXCI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy11bml0LzI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gICAgfVxyXG5cclxuICAgIC5mYS1jYWxlbmRhciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn1cclxuIiwiLyoqXHJcbiAqIEZFQVRVUkVEIEJPWFxyXG4gKlxyXG4gKiBGZWF0dXJlZCBib3ggd2lkZ2V0XHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjVE9PTFMtQk9YRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLm43LWZvY3VzLWJveCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjQuNTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwwLDAsLjEpO1xyXG5cclxuICAgIHdpZHRoOiBzcGFuKDYgb2YgMTIpO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcigxIG9mIDEyKTtcclxuXHJcbiAgICAmOm50aC1vZi10eXBlKDIpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWZvY3VzLWJveF9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS0wNTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAwICRzcGFjaW5nLXVuaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWZvY3VzLWJveF9faW1hZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxNzJweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAubjctZm9jdXMtYm94X19jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy11bml0Kjg7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWZvY3VzLWJveF9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjVklERU8tQk9YRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctZm9jdXMtYm94Lm43LWZvY3VzLWJveC12aWRlbyB7XHJcbiAgICAubjctZm9jdXMtYm94X19pbWFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMzUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWZvY3VzLWJveF9fdmlkZW9faWNvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9wbGF5LWljb25AMngucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiA2OHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG5cclxuICAgIC5uNy1mb2N1cy1ib3gge1xyXG4gICAgICAgIC5uNy1mb2N1cy1ib3hfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctdW5pdCo0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxuXHJcbiAgICAubjctZm9jdXMtYm94IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufVxyXG4iLCIvLy8gR3JpZCBNYXRoIEVuZ2luZVxuLy8vID09PT09PT09PT09PT09PT1cbi8vLyBUaGUgYHN1YCBmdW5jdGlvbnMgZ2l2ZSB5b3UgZGlyZWN0IGFjY2VzcyB0byB0aGUgbWF0aCBsYXllcixcbi8vLyB3aXRob3V0IGFueSBzeW50YXgtc3VnYXIgbGlrZSBzaG9ydGhhbmQgcGFyc2luZywgYW5kIG5vcm1hbGl6YXRpb24uXG4vLy8gSWYgeW91IHByZWZlciBuYW1lZCBhcmd1bWVudHMsIGFuZCBzdHJpcHBlZC1kb3duIHN5bnRheCxcbi8vLyB5b3UgY2FuIHVzZSB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkgaW4geW91ciBjb2RlIOKAk1xuLy8vIHJlcGxhY2luZyBgc3BhbmAsIGBndXR0ZXJgLCBhbmQgYHNsaWNlYC5cbi8vL1xuLy8vIFRoZXNlIGZ1bmN0aW9ucyBhcmUgYWxzbyB1c2VmdWxcbi8vLyBmb3IgYnVpbGRpbmcgbWl4aW5zIG9yIG90aGVyIGV4dGVuc2lvbnMgdG8gU3VzeS5cbi8vLyBBcHBseSB0aGUgU3VzeSBzeW50YXggdG8gbmV3IG1peGlucyBhbmQgZnVuY3Rpb25zLFxuLy8vIHVzaW5nIG91ciBcIlBsdWdpbiBIZWxwZXJzXCIsXG4vLy8gb3Igd3JpdGUgeW91ciBvd24gc3ludGF4IGFuZCBwYXNzIHRoZSBub3JtYWxpemVkIHJlc3VsdHMgYWxvbmdcbi8vLyB0byBgc3VgIGZvciBjb21waWxhdGlvbi5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy9cbi8vLyBAc2VlIHN1LXNwYW5cbi8vLyBAc2VlIHN1LWd1dHRlclxuLy8vIEBzZWUgc3Utc2xpY2Vcbi8vLyBAaWdub3JlIF9zdS1zdW1cbi8vLyBAaWdub3JlIF9zdS1jYWxjLXNwYW5cbi8vLyBAaWdub3JlIF9zdS1jYWxjLXN1bVxuLy8vIEBpZ25vcmUgX3N1LW5lZWRzLWNhbGMtb3V0cHV0XG5cblxuXG4vLyBTdSBTcGFuXG4vLyAtLS0tLS0tXG4vLy8gQ2FsY3VsYXRlcyBhbmQgcmV0dXJucyBhIENTUy1yZWFkeSBzcGFuIHdpZHRoLFxuLy8vIGJhc2VkIG9uIG5vcm1hbGl6ZWQgc3BhbiBhbmQgY29udGV4dCBkYXRhIOKAk1xuLy8vIGEgbG93LWxldmVsIHZlcnNpb24gb2YgYHN1c3ktc3BhbmAsXG4vLy8gd2l0aCBhbGwgb2YgdGhlIGxvZ2ljIGFuZCBub25lIG9mIHRoZSBzeW50YXggc3VnYXIuXG4vLy9cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCB1bml0bGVzcyBudW1iZXJzIHdpbGwgcmV0dXJuIGAlYCB2YWx1ZXMuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggY29tcGFyYWJsZSB1bml0c1xuLy8vICAgd2lsbCByZXR1cm4gYSB2YWx1ZSBpbiB0aGUgdW5pdHMgcHJvdmlkZWQuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggYSBtaXggb2YgdW5pdHMsXG4vLy8gICBvciBhIGNvbWJpbmF0aW9uIG9mIHVudGlsZXNzIG51bWJlcnMgYW5kIHVuaXQtbGVuZ3Rocyxcbi8vLyAgIHdpbGwgcmV0dXJuIGEgYGNhbGMoKWAgc3RyaW5nLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAc2VlIHN1c3ktc3BhblxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXIgfCBsaXN0fSAkc3BhbiAtXG4vLy8gICBOdW1iZXIgb3IgbGlzdCBvZiBncmlkIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkY29udGFpbmVyLXNwcmVhZCBbJHNwcmVhZF0gLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vIEBwYXJhbSB7aW50ZWdlcn0gJGxvY2F0aW9uIFsxXSAtXG4vLy8gICBPcHRpb25hbCBwb3NpdGlvbiBvZiBzdWItc3BhbiBhbW9uZyBmdWxsIHNldCBvZiBjb2x1bW5zXG4vLy9cbi8vLyBAcmV0dXJuIHtsZW5ndGh9IC1cbi8vLyAgIFJlbGF0aXZlIG9yIHN0YXRpYyBsZW5ndGggb2YgYSBzcGFuIG9uIHRoZSBncmlkXG5AZnVuY3Rpb24gc3Utc3BhbihcbiAgJHNwYW4sXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJGNvbnRhaW5lci1zcHJlYWQ6ICRzcHJlYWQsXG4gICRsb2NhdGlvbjogMVxuKSB7XG4gICRzcGFuOiBzdS12YWxpZC1zcGFuKCRzcGFuKTtcbiAgJGNvbHVtbnM6IHN1LXZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICRzcHJlYWQ6IHN1LXZhbGlkLXNwcmVhZCgkc3ByZWFkKTtcblxuICBAaWYgKHR5cGUtb2YoJHNwYW4pID09ICdudW1iZXInKSB7XG4gICAgQGlmIChub3QgdW5pdGxlc3MoJHNwYW4pKSB7XG4gICAgICBAcmV0dXJuICRzcGFuO1xuICAgIH1cblxuICAgICRsb2NhdGlvbjogc3UtdmFsaWQtbG9jYXRpb24oJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xuICAgICRzcGFuOiBzdS1zbGljZSgkc3BhbiwgJGNvbHVtbnMsICRsb2NhdGlvbiwgJHZhbGlkYXRlOiBmYWxzZSk7XG4gIH1cblxuICBAaWYgX3N1LW5lZWRzLWNhbGMtb3V0cHV0KCRzcGFuLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQsIG5vdCAndmFsaWRhdGUnKSB7XG4gICAgQHJldHVybiBfc3UtY2FsYy1zcGFuKCRzcGFuLCAkY29sdW1ucywgJGd1dHRlcnMsICRzcHJlYWQsICRjb250YWluZXItc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJyk7XG4gIH1cblxuICAkc3Bhbi13aWR0aDogX3N1LXN1bSgkc3BhbiwgJGd1dHRlcnMsICRzcHJlYWQsICR2YWxpZGF0ZTogZmFsc2UpO1xuXG4gIEBpZiB1bml0bGVzcygkc3Bhbi13aWR0aCkge1xuICAgICRjb250YWluZXItc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJGNvbnRhaW5lci1zcHJlYWQpO1xuICAgICRjb250YWluZXI6IF9zdS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCAkY29udGFpbmVyLXNwcmVhZCwgJHZhbGlkYXRlOiBmYWxzZSk7XG4gICAgQHJldHVybiBwZXJjZW50YWdlKCRzcGFuLXdpZHRoIC8gJGNvbnRhaW5lcik7XG4gIH1cblxuICBAcmV0dXJuICRzcGFuLXdpZHRoO1xufVxuXG5cblxuLy8gU3UgR3V0dGVyXG4vLyAtLS0tLS0tLS1cbi8vLyBDYWxjdWxhdGVzIGFuZCByZXR1cm5zIGEgQ1NTLXJlYWR5IGd1dHRlciB3aWR0aCxcbi8vLyBiYXNlZCBvbiBub3JtYWxpemVkIGdyaWQgZGF0YSDigJNcbi8vLyBhIGxvdy1sZXZlbCB2ZXJzaW9uIG9mIGBzdXN5LWd1dHRlcmAsXG4vLy8gd2l0aCBhbGwgb2YgdGhlIGxvZ2ljIGFuZCBub25lIG9mIHRoZSBzeW50YXggc3VnYXIuXG4vLy9cbi8vLyAtIEdyaWRzIGRlZmluZWQgd2l0aCB1bml0bGVzcyBudW1iZXJzIHdpbGwgcmV0dXJuIGAlYCB2YWx1ZXMuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggY29tcGFyYWJsZSB1bml0c1xuLy8vICAgd2lsbCByZXR1cm4gYSB2YWx1ZSBpbiB0aGUgdW5pdHMgcHJvdmlkZWQuXG4vLy8gLSBHcmlkcyBkZWZpbmVkIHdpdGggYSBtaXggb2YgdW5pdHMsXG4vLy8gICBvciBhIGNvbWJpbmF0aW9uIG9mIHVudGlsZXNzIG51bWJlcnMgYW5kIHVuaXQtbGVuZ3Rocyxcbi8vLyAgIHdpbGwgcmV0dXJuIGEgYGNhbGMoKWAgc3RyaW5nLlxuLy8vXG4vLy8gQGdyb3VwIHN1LW1hdGhcbi8vLyBAc2VlIHN1c3ktZ3V0dGVyXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJGNvbnRhaW5lci1zcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vXG4vLy8gQHJldHVybiB7bGVuZ3RofSAtXG4vLy8gICBSZWxhdGl2ZSBvciBzdGF0aWMgbGVuZ3RoIG9mIG9uZSBndXR0ZXIgaW4gYSBncmlkXG5AZnVuY3Rpb24gc3UtZ3V0dGVyKFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRjb250YWluZXItc3ByZWFkXG4pIHtcbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgIEBpZiAoJGd1dHRlcnMgPT0gMCkgb3IgKG5vdCB1bml0bGVzcygkZ3V0dGVycykpIHtcbiAgICAgIEByZXR1cm4gJGd1dHRlcnM7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9zdS1uZWVkcy1jYWxjLW91dHB1dCgkZ3V0dGVycywgJGNvbHVtbnMsICRndXR0ZXJzLCAtMSwgbm90ICd2YWxpZGF0ZScpIHtcbiAgICBAcmV0dXJuIF9zdS1jYWxjLXNwYW4oJGd1dHRlcnMsICRjb2x1bW5zLCAkZ3V0dGVycywgLTEsICRjb250YWluZXItc3ByZWFkLCBub3QgJ3ZhbGlkYXRlJyk7XG4gIH1cblxuICAkY29udGFpbmVyOiBfc3Utc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgJGNvbnRhaW5lci1zcHJlYWQpO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlcnMgLyAkY29udGFpbmVyKTtcbn1cblxuXG5cbi8vIFN1IFNsaWNlXG4vLyAtLS0tLS0tLVxuLy8vIFJldHVybnMgYSBsaXN0IG9mIGNvbHVtbnNcbi8vLyBiYXNlZCBvbiBhIGdpdmVuIHNwYW4vbG9jYXRpb24gc2xpY2Ugb2YgdGhlIGdyaWQg4oCTXG4vLy8gYSBsb3ctbGV2ZWwgdmVyc2lvbiBvZiBgc3VzeS1zbGljZWAsXG4vLy8gd2l0aCBhbGwgb2YgdGhlIGxvZ2ljIGFuZCBub25lIG9mIHRoZSBzeW50YXggc3VnYXIuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBzZWUgc3VzeS1zbGljZVxuLy8vXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzcGFuIC1cbi8vLyAgIE51bWJlciBvZiBncmlkIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGluIHRoZSBncmlkXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsb2NhdGlvbiBbMV0gLVxuLy8vICAgU3RhcnRpbmcgaW5kZXggb2YgYSBzcGFuIGluIHRoZSBsaXN0IG9mIGNvbHVtbnNcbi8vLyBAcGFyYW0ge2Jvb2x9ICR2YWxpZGF0ZSBbdHJ1ZV0gLVxuLy8vICAgQ2hlY2sgdGhhdCBhcmd1bWVudHMgYXJlIHZhbGlkIGJlZm9yZSBwcm9jZWVkaW5nXG4vLy9cbi8vLyBAcmV0dXJuIHtsaXN0fSAtXG4vLy8gICBTdWJzZXQgbGlzdCBvZiBncmlkIGNvbHVtbnMsIGJhc2VkIG9uIHNwYW4gYW5kIGxvY2F0aW9uXG5AZnVuY3Rpb24gc3Utc2xpY2UoXG4gICRzcGFuLFxuICAkY29sdW1ucyxcbiAgJGxvY2F0aW9uOiAxLFxuICAkdmFsaWRhdGU6IHRydWVcbikge1xuICBAaWYgJHZhbGlkYXRlIHtcbiAgICAkY29sdW1uczogc3UtdmFsaWQtY29sdW1ucygkY29sdW1ucyk7XG4gICAgJGxvY2F0aW9uOiBzdS12YWxpZC1sb2NhdGlvbigkc3BhbiwgJGxvY2F0aW9uLCAkY29sdW1ucyk7XG4gIH1cblxuICAkZmxvb3I6IGZsb29yKCRzcGFuKTtcbiAgJHN1Yi1jb2x1bW5zOiAoKTtcblxuICBAZm9yICRpIGZyb20gJGxvY2F0aW9uIHRvICgkbG9jYXRpb24gKyAkZmxvb3IpIHtcbiAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGkpKTtcbiAgfVxuXG4gIEBpZiAkZmxvb3IgIT0gJHNwYW4ge1xuICAgICRyZW1haW5kZXI6ICRzcGFuIC0gJGZsb29yO1xuICAgICRjb2x1bW46ICRsb2NhdGlvbiArICRmbG9vcjtcbiAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGNvbHVtbikgKiAkcmVtYWluZGVyKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN1Yi1jb2x1bW5zO1xufVxuXG5cblxuLy8gU3UgU3VtXG4vLyAtLS0tLS1cbi8vLyBHZXQgdGhlIHRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBsYXlvdXQuXG4vLy9cbi8vLyBAZ3JvdXAgc3UtbWF0aFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtsaXN0fSAkY29sdW1ucyAtXG4vLy8gICBMaXN0IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWRcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge251bWJlcn0gLVxuLy8vICAgVG90YWwgc3VtIG9mIGNvbHVtbi11bml0cyBpbiBhIGdyaWRcbkBmdW5jdGlvbiBfc3Utc3VtKFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1zcGFuKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIGNvbHVtbi1zdW1cbiAgJGNvbHVtbi1zdW06IDA7XG4gIEBlYWNoICRjb2x1bW4gaW4gJGNvbHVtbnMge1xuICAgICRjb2x1bW4tc3VtOiAkY29sdW1uLXN1bSArICRjb2x1bW47XG4gIH1cblxuICAkZ3V0dGVyLXN1bTogKGNlaWwobGVuZ3RoKCRjb2x1bW5zKSkgKyAkc3ByZWFkKSAqICRndXR0ZXJzO1xuICAkdG90YWw6IGlmKCgkZ3V0dGVyLXN1bSA+IDApLCAkY29sdW1uLXN1bSArICRndXR0ZXItc3VtLCAkY29sdW1uLXN1bSk7XG5cbiAgQHJldHVybiAkdG90YWw7XG59XG5cblxuXG4vLyBTdSBDYWxjXG4vLyAtLS0tLS0tXG4vLy8gUmV0dXJuIGEgdXNhYmxlIHNwYW4gd2lkdGggYXMgYSBgY2FsYygpYCBmdW5jdGlvbixcbi8vLyBpbiBvcmRlciB0byBjcmVhdGUgbWl4ZWQtdW5pdCBncmlkcy5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge251bWJlciB8IGxpc3R9ICRzcGFuIC1cbi8vLyAgIFByZS1zbGljZWQgbGlzdCBvZiBncmlkIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBjb2x1bW5zIGF2YWlsYWJsZVxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlciBpbiBjb2x1bW4tY29tcGFyYWJsZSB1bml0c1xuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHswIHwgMSB8IC0xfSAkY29udGFpbmVyLXNwcmVhZCBbJHNwcmVhZF0gLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBjb2x1bW5zYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge2xlbmd0aH0gLVxuLy8vICAgUmVsYXRpdmUgb3Igc3RhdGljIGxlbmd0aCBvZiBhIHNwYW4gb24gdGhlIGdyaWRcbkBmdW5jdGlvbiBfc3UtY2FsYy1zcGFuKFxuICAkc3BhbixcbiAgJGNvbHVtbnMsXG4gICRndXR0ZXJzLFxuICAkc3ByZWFkLFxuICAkY29udGFpbmVyLXNwcmVhZDogJHNwcmVhZCxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJHNwYW46IHN1LXZhbGlkLXNwYW4oJHNwYW4pO1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuICAgICRjb250YWluZXItc3ByZWFkOiBzdS12YWxpZC1zcHJlYWQoJGNvbnRhaW5lci1zcHJlYWQpO1xuICB9XG5cbiAgLy8gU3BhbiBhbmQgY29udGV4dFxuICAkc3BhbjogX3N1LWNhbGMtc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCwgbm90ICd2YWxpZGF0ZScpO1xuICAkY29udGV4dDogX3N1LWNhbGMtc3VtKCRjb2x1bW5zLCAkZ3V0dGVycywgJGNvbnRhaW5lci1zcHJlYWQsIG5vdCAndmFsaWRhdGUnKTtcblxuICAvLyBGaXhlZCBhbmQgZmx1aWRcbiAgJGZpeGVkLXNwYW46IG1hcC1nZXQoJHNwYW4sICdmaXhlZCcpO1xuICAkZmx1aWQtc3BhbjogbWFwLWdldCgkc3BhbiwgJ2ZsdWlkJyk7XG4gICRmaXhlZC1jb250ZXh0OiBtYXAtZ2V0KCRjb250ZXh0LCAnZml4ZWQnKTtcbiAgJGZsdWlkLWNvbnRleHQ6IG1hcC1nZXQoJGNvbnRleHQsICdmbHVpZCcpO1xuXG4gICRjYWxjOiAnI3skZml4ZWQtc3Bhbn0nO1xuICAkZmx1aWQtY2FsYzogJygxMDAlIC0gI3skZml4ZWQtY29udGV4dH0pJztcblxuICAvLyBGbHVpZC12YWx1ZXNcbiAgQGlmIChub3QgJGZsdWlkLXNwYW4pIHtcbiAgICAkZmx1aWQtY2FsYzogbnVsbDtcbiAgfSBAZWxzZSBpZiAoJGZsdWlkLXNwYW4gIT0gJGZsdWlkLWNvbnRleHQpIHtcbiAgICAkZmx1aWQtc3BhbjogJyogI3skZmx1aWQtc3Bhbn0nO1xuICAgICRmbHVpZC1jb250ZXh0OiBpZigkZmx1aWQtY29udGV4dCwgJy8gI3skZmx1aWQtY29udGV4dH0nLCAnJyk7XG4gICAgJGZsdWlkLWNhbGM6ICcoI3skZmx1aWQtY2FsYyAkZmx1aWQtY29udGV4dCAkZmx1aWQtc3Bhbn0pJztcbiAgfVxuXG4gIEBpZiAkZmx1aWQtY2FsYyB7XG4gICAgJGNhbGM6IGlmKCgkY2FsYyAhPSAnJyksICcjeyRjYWxjfSArICcsICcnKTtcbiAgICAkY2FsYzogJyN7JGNhbGMgKyAkZmx1aWQtY2FsY30nO1xuICB9XG5cbiAgQHJldHVybiBjYWxjKCN7dW5xdW90ZSgkY2FsYyl9KTtcbn1cblxuXG5cbi8vIFN1IENhbGMtU3VtXG4vLyAtLS0tLS0tLS0tLVxuLy8vIEdldCB0aGUgdG90YWwgc3VtIG9mIGZpeGVkIGFuZCBmbHVpZCBjb2x1bW4tdW5pdHNcbi8vLyBmb3IgY3JlYXRpbmcgYSBtaXhlZC11bml0IGxheW91dCB3aXRoIGBjYWxjKClgIHZhbHVlcy5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRjb2x1bW5zIC1cbi8vLyAgIExpc3Qgb2YgY29sdW1ucyBhdmFpbGFibGVcbi8vLyBAcGFyYW0ge251bWJlcn0gJGd1dHRlcnMgLVxuLy8vICAgV2lkdGggb2YgYSBndXR0ZXIgaW4gY29sdW1uLWNvbXBhcmFibGUgdW5pdHNcbi8vLyBAcGFyYW0gezAgfCAxIHwgLTF9ICRzcHJlYWQgLVxuLy8vICAgTnVtYmVyIG9mIGd1dHRlcnMgc3Bhbm5lZCxcbi8vLyAgIHJlbGF0aXZlIHRvIGBzcGFuYCBjb3VudFxuLy8vIEBwYXJhbSB7Ym9vbH0gJHZhbGlkYXRlIFt0cnVlXSAtXG4vLy8gICBDaGVjayB0aGF0IGFyZ3VtZW50cyBhcmUgdmFsaWQgYmVmb3JlIHByb2NlZWRpbmdcbi8vL1xuLy8vIEByZXR1cm4ge21hcH0gLVxuLy8vICAgTWFwIHdpdGggYGZpeGVkYCBhbmQgYGZsdWlkYCBrZXlzXG4vLy8gICBjb250YWluaW5nIHRoZSBwcm9wZXIgbWF0aCBhcyBzdHJpbmdzXG5AZnVuY3Rpb24gX3N1LWNhbGMtc3VtKFxuICAkY29sdW1ucyxcbiAgJGd1dHRlcnMsXG4gICRzcHJlYWQsXG4gICR2YWxpZGF0ZTogdHJ1ZVxuKSB7XG4gIEBpZiAkdmFsaWRhdGUge1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1zcGFuKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICAgJHNwcmVhZDogc3UtdmFsaWQtc3ByZWFkKCRzcHJlYWQpO1xuICB9XG5cbiAgJGZsdWlkOiAwO1xuICAkZml4ZWQ6ICgpO1xuICAkY2FsYzogbnVsbDtcblxuICAvLyBHdXR0ZXJzXG4gICRndXR0ZXJzOiAgJGd1dHRlcnMgKiAobGVuZ3RoKCRjb2x1bW5zKSArICRzcHJlYWQpO1xuXG4gIC8vIENvbHVtbnNcbiAgQGVhY2ggJGNvbCBpbiBhcHBlbmQoJGNvbHVtbnMsICRndXR0ZXJzKSB7XG4gICAgQGlmIHVuaXRsZXNzKCRjb2wpIHtcbiAgICAgICRmbHVpZDogJGZsdWlkICsgJGNvbDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRmaXhlZDogX3N1LW1hcC1hZGQtdW5pdHMoJGZpeGVkLCAkY29sKTtcbiAgICB9XG4gIH1cblxuICAvLyBDb21waWxlIEZpeGVkIFVuaXRzXG4gIEBlYWNoICR1bml0LCAkdG90YWwgaW4gJGZpeGVkIHtcbiAgICBAaWYgKCR0b3RhbCAhPSAoMCAqICR0b3RhbCkpIHtcbiAgICAgICRjYWxjOiBpZigkY2FsYywgJyN7JGNhbGN9ICsgI3skdG90YWx9JywgJyN7JHRvdGFsfScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhbGMgbnVsbCBvciBzdHJpbmdcbiAgQGlmICRjYWxjIHtcbiAgICAkY2FsYzogaWYoc3RyLWluZGV4KCRjYWxjLCAnKycpLCAnKCN7JGNhbGN9KScsICcjeyRjYWxjfScpO1xuICB9XG5cbiAgLy8gRmx1aWQgMCA9PiBudWxsXG4gICRmbHVpZDogaWYoKCRmbHVpZCA9PSAwKSwgbnVsbCwgJGZsdWlkKTtcblxuXG4gIC8vIFJldHVybiBtYXBcbiAgJHJldHVybjogKFxuICAgICdmaXhlZCc6ICRjYWxjLFxuICAgICdmbHVpZCc6ICRmbHVpZCxcbiAgKTtcblxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cblxuXG4vLyBOZWVkcyBDYWxjXG4vLyAtLS0tLS0tLS0tXG4vLy8gQ2hlY2sgaWYgYGNhbGMoKWAgd2lsbCBiZSBuZWVkZWQgaW4gZGVmaW5pbmcgYSBzcGFuLFxuLy8vIGlmIHRoZSBuZWNlc3NhcnkgdW5pdHMgaW4gYSBncmlkIGFyZSBub3QgY29tcGFyYWJsZS5cbi8vL1xuLy8vIEBncm91cCBzdS1tYXRoXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge2xpc3R9ICRzcGFuIC1cbi8vLyAgIFNsaWNlIG9mIGNvbHVtbnMgdG8gc3BhblxuLy8vIEBwYXJhbSB7bGlzdH0gJGNvbHVtbnMgLVxuLy8vICAgTGlzdCBvZiBhdmFpbGFibGUgY29sdW1ucyBpbiB0aGUgZ3JpZFxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkZ3V0dGVycyAtXG4vLy8gICBXaWR0aCBvZiBhIGd1dHRlclxuLy8vIEBwYXJhbSB7MCB8IDEgfCAtMX0gJHNwcmVhZCAtXG4vLy8gICBOdW1iZXIgb2YgZ3V0dGVycyBzcGFubmVkLFxuLy8vICAgcmVsYXRpdmUgdG8gYHNwYW5gIGNvdW50XG4vLy8gQHBhcmFtIHtib29sfSAkdmFsaWRhdGUgW3RydWVdIC1cbi8vLyAgIENoZWNrIHRoYXQgYXJndW1lbnRzIGFyZSB2YWxpZCBiZWZvcmUgcHJvY2VlZGluZ1xuLy8vXG4vLy8gQHJldHVybiB7Ym9vbH0gLVxuLy8vICAgYFRydWVgIHdoZW4gdW5pdHMgZG8gbm90IG1hdGNoLCBhbmQgYGNhbGMoKWAgd2lsbCBiZSByZXF1aXJlZFxuQGZ1bmN0aW9uIF9zdS1uZWVkcy1jYWxjLW91dHB1dChcbiAgJHNwYW4sXG4gICRjb2x1bW5zLFxuICAkZ3V0dGVycyxcbiAgJHNwcmVhZCxcbiAgJHZhbGlkYXRlOiB0cnVlXG4pIHtcbiAgQGlmICR2YWxpZGF0ZSB7XG4gICAgJHNwYW46IHN1LXZhbGlkLXNwYW4oJHNwYW4pO1xuICAgICRjb2x1bW5zOiBzdS12YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgICAkZ3V0dGVyczogc3UtdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gIH1cblxuICAkaGFzLWd1dHRlcjogaWYoKGxlbmd0aCgkc3BhbikgPiAxKSBvciAoJHNwcmVhZCA+PSAwKSwgdHJ1ZSwgZmFsc2UpO1xuICAkY2hlY2s6IGlmKCRoYXMtZ3V0dGVyLCBhcHBlbmQoJHNwYW4sICRndXR0ZXJzKSwgJHNwYW4pO1xuICAkc2FmZS1zcGFuOiBfc3UtaXMtY29tcGFyYWJsZSgkY2hlY2suLi4pO1xuXG4gIEBpZiAoJHNhZmUtc3BhbiA9PSAnc3RhdGljJykge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH0gQGVsc2UgaWYgKG5vdCAkc2FmZS1zcGFuKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgJHNhZmUtZmx1aWQ6IF9zdS1pcy1jb21wYXJhYmxlKCRndXR0ZXJzLCAkY29sdW1ucy4uLik7XG5cbiAgQHJldHVybiBub3QgJHNhZmUtZmx1aWQ7XG59XG4iLCIvKipcclxuICogR1VJREVEIFNFQVJDSFxyXG4gKlxyXG4gKiBHdWlkZWQgc2VhcmNoIGZvcm0gbWFkZSB1c2luZyBDYWxkZXJhIEZvcm1zXHJcbiAqXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjR1VJREVELVNFQVJDSFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbmJvZHkgLmNhbGRlcmEtZ3JpZCB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLW1lZGl1bTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1ib3JkZXItcmFkaXVzO1xyXG5cclxuICAgIC8qIFJhZGlvIGxhYmVscyAqL1xyXG4gICAgLnJhZGlvLWlubGluZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFJhZGlvICovXHJcbiAgICAucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXVuaXQvMjtcclxuICAgIH1cclxuXHJcbiAgICAvKiBCdXR0b24gKi9cclxuICAgIGlucHV0W3R5cGU9c3VibWl0XS5uNy1idG4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXVuaXQqMTtcclxuICAgICAgICBwYWRkaW5nOiAwICRzcGFjaW5nLXVuaXQgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6ICRidXR0b24tc21hbGwtaGVpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRidXR0b24tc21hbGwtaGVpZ2h0ICsgMyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14cyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJ1dHRvbi0xO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJ1dHRvbi1jdGEtYm9yZGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWludmVyc2UgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb24tZHVyYXRpb25zO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYnV0dG9uLWhvdmVyLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEVycm9ycyAqL1xyXG4gICAgLnBhcnNsZXktcmVxdWlyZWQge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdG8tc3RhcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogUmFkaW8gbGFiZWxzICovXHJcbiAgICAuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsXHJcbiAgICAucmFkaW8taW5saW5lLnBhcnNsZXktcmVxdWlyZWQge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgIH1cclxufVxyXG5cclxuLm43LWd1aWRlZC1zZWFyY2hfX3RpdGxlIHtcclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufVxyXG4iLCIvKipcclxuICogVE9QIEhFQURFUlxyXG4gKlxyXG4gKiBUb3AgaGVhZGVyXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjSEVBREVSXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LWhlYWRlciB7XHJcbiAgICAubjctaGVhZGVyX190b3BiYXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLWJhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTG9naGkgKi9cclxuICAgIC5uNy1oZWFkZXJfX3RvcGJhci1sb2dvcyB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgd2lkdGg6IDIzNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1oZWFkZXJfX3RvcGJhci1sb2dvIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBoZWlnaHQ6ICRuYXYtc2VjLWhlaWdodDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLWxpZ2h0O1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogJG5hdi1zZWMtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkbmF2LXNlYy1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctaGVhZGVyX19zaXRlLWxvZ28ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1oZWFkZXJfX2xvZ28tYnJhbmRpbmctd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubjctaGVhZGVyX19zaXRlLWJyYW5kaW5nIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWhlYWRlcl9fbWFpbi1iYXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMThweCAyNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LTAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1oZWFkZXJfX3NpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTgwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmdzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWhlYWRlcl9fc2l0ZS10aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluaztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHhsO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNT0JJTEUtTkFWLVRPR0dMRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy1uYXYtbW9iaWxlLXRvZ2dsZSB7XHJcbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0IDAgJHNwYWNpbmctdW5pdCAkc3BhY2luZy11bml0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDBweCBzb2xpZCAkY29sb3ItYm9yZGVyLWxpZ2h0O1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbms7XHJcblxyXG4gICAgW2NsYXNzXj1cImZhXCJdIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LW5hdi1tb2JpbGUtdG9nZ2xlX19sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFjdGl2ZSwgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xyXG5cclxuICAgIC5uNy1oZWFkZXIge1xyXG4gICAgICAgIC5uNy1oZWFkZXJfX3NpdGUtYnJhbmRpbmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctaGVhZGVyX19zaXRlLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhlYWRlcl9fc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1oZWFkZXJfX3NpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xyXG5cclxuICAgIC5uNy1oZWFkZXIge1xyXG4gICAgICAgIC5uNy1oZWFkZXJfX2xvZ28tYnJhbmRpbmctd3JhcHBlciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjEuNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1oZWFkZXJfX3NpdGUtYnJhbmRpbmcge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhlYWRlcl9fbWFpbi1iYXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMThweCAxOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhlYWRlcl9fc2l0ZS10aXRsZSB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1oZWFkZXJfX3NpdGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1oZWFkZXJfX3NpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XHJcblxyXG4gICAgLm43LWhlYWRlciB7XHJcbiAgICAgICAgLm43LWhlYWRlcl9fbG9nby1icmFuZGluZy13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhlYWRlcl9fdG9wYmFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1oZWFkZXJfX3NpdGUtYnJhbmRpbmcge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctaGVhZGVyX19tYWluLWJhciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMS41O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhlYWRlcl9fbWFpbi1iYXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctaGVhZGVyX19zaXRlLXRpdGxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhlYWRlcl9fc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1uYXYtbW9iaWxlLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn1cclxuXHJcbi8qIFJldGluYSAqL1xyXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XHJcbn1cclxuIiwiLyoqXG4gKiBIRUFESU5HU1xuICpcbiAqIFN0eWxlIGZvciBhbGwgdHlwZXMgb2YgbW9kdWxlIG9yIGJsb2NrIGhlYWRpbmdzXG4gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgI01PRFVMRS1IRUFESU5HU1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubjctbW9kdWxlLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sO1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkY29sb3ItbWFpbjtcbiAgICBjb2xvcjogJGNvbG9yLWdlbmVyYWw7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG5cbiAgICAmLm43LXR5cGUtbmV3cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbmV3cztcbiAgICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICRjb2xvci1uZXdzO1xuICAgIH1cbn0iLCIvKipcclxuICogRk9PVEVSXHJcbiAqXHJcbiAqIEZvb3RlclxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0ZPT1RFUlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy1mb290ZXIge1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICRjb2xvci1ncmF5LTAwIDAlLCAkY29sb3ItZ3JheS0wMyAxMDAlKTtcclxuXHJcbiAgICAubjctZm9vdGVyX19zZXBhcmF0b3Ige1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1mb290ZXItY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWZvb3Rlcl9fd2lkZ2V0LWxlZnQsXHJcbiAgICAubjctZm9vdGVyX193aWRnZXQtY2VudGVyLFxyXG4gICAgLm43LWZvb3Rlcl9fd2lkZ2V0LXJpZ2h0IHtcclxuICAgICAgICB3aWR0aDogc3BhbiggNCBvZiAxMiApO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMi41IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWZvb3Rlcl9fd2lkZ2V0LWxlZnQsXHJcbiAgICAubjctZm9vdGVyX193aWRnZXQtY2VudGVyIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlciggMSBvZiAxMiApO1xyXG5cclxuICAgICAgICAubjctYnRuLWZiLXR4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQvMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogV2lkZ2V0IHN0eWxlICovXHJcbiAgICAud2lkZ2V0LXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tYWluO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS0wNTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0LzI7XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHR3aWRnZXQsXHJcbiAgICAudGV4dHdpZGdldCBwIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS0wNDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0ZPT1RFUi1NRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LWZvb3Rlcl9fd2lkZ2V0LWNlbnRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubWVudSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQvMjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0ZPT1RFUi1MT0dPXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LWZvb3Rlcl9fd2lkZ2V0LXJpZ2h0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctdW5pdCoxLjU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xyXG5cclxuICAgIC5uNy1mb290ZXItY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxuXHJcbiAgICAubjctZm9vdGVyIHtcclxuICAgICAgICAubjctZm9vdGVyLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1mb290ZXJfX3dpZGdldC1sZWZ0LFxyXG4gICAgICAgIC5uNy1mb290ZXJfX3dpZGdldC1jZW50ZXIsXHJcbiAgICAgICAgLm43LWZvb3Rlcl9fd2lkZ2V0LXJpZ2h0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG5cclxuICAgIC5uNy1mb290ZXItY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qKlxyXG4gKiBMQU5HVUFHRSBTRUxFQ1RPUlxyXG4gKlxyXG4gKiBMYW5ndWFnZSBzZWxlY3RvciBmcm9tIFdQTUwuXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTjctRk9PVEVSLU5BVlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubjctbGFuZ3VhZ2Utc2VsZWN0b3Ige1xyXG4gICAgaGVpZ2h0OiAkbmF2LXNlYy1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1saWdodDtcclxuXHJcbiAgICAud3BtbC1scyB7XHJcbiAgICAgICAgaGVpZ2h0OiAkbmF2LXNlYy1oZWlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAud3BtbC1scy1sZWdhY3ktZHJvcGRvd24+dWwge1xyXG4gICAgICAgIGhlaWdodDogJG5hdi1zZWMtaGVpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctdW5pdCAwICRzcGFjaW5nLXVuaXQvMjtcclxuICAgIH1cclxuXHJcbiAgICBhLndwbWwtbHMtaXRlbS10b2dnbGUge1xyXG4gICAgICAgIGhlaWdodDogJG5hdi1zZWMtaGVpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbms7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5ncztcclxuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59XHJcbiIsIi8qKlxyXG4gKiBTRUNPTkRBUlkgTkFWSUdBVElPTlxyXG4gKlxyXG4gKiBTZWNvbmRhcnkgbmF2aWdhdGlvblxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI05BVi1TRUNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLm43LW5hdi1zZWMge1xyXG4gICAgaGVpZ2h0OiAkbmF2LXNlYy1oZWlnaHQ7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuXHJcbiAgICAubWVudSB7XHJcbiAgICAgICAgaGVpZ2h0OiAkbmF2LXNlYy1oZWlnaHQ7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgIGhlaWdodDogJG5hdi1zZWMtaGVpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5ncztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuXHJcbiAgICAgICAgYSwgYTpob3ZlciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctdW5pdCowLjg1O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluaztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRuYXYtc2VjLWhlaWdodDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmlzLWN0YSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaXMtY3RhOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWludmVyc2UtaG92ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmZiLWxpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjMwLjg5ZGVnLCAjMzk1NDg3IDAlLCAjNWFhMzljIDEwMCUpO1xyXG4gICAgICAgICAgICB3aWR0aDogMzZweDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy11bml0KjAuNzU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktMDA7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwOWFcIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZm9udGF3ZXNvbWU7XHJcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiBhOjphZnRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZm9udGF3ZXNvbWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0RST1BET1dOLU1FTlVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctbmF2LXNlYyB7XHJcbiAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMS41O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwwLDAsMC4yKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgJHJhZGl1cyAkcmFkaXVzO1xyXG5cclxuICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbGlnaHQ7XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk0MHB4KSB7XHJcblxyXG4gICAgLm43LW5hdi1zZWMge1xyXG4gICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcblxyXG4gICAgICAgICAgICBhLCBhOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctdW5pdCowLjU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5mYi1saW5rIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZy11bml0KjAuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MjBweCkge1xyXG5cclxuICAgIC5uNy1uYXYtc2VjIHtcclxuICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4cztcclxuXHJcbiAgICAgICAgICAgIGEsIGE6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkc3BhY2luZy11bml0KjAuMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmZiLWxpbmsge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLXVuaXQqMC4yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE1BSU4gTkFWSUdBVElPTlxyXG4gKlxyXG4gKiBNYWluIG1lbnUgbmF2aWdhdGlvbnNcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNQUlOX05BVklHQVRJT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctbWFpbi1uYXZpZ2F0aW9uIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuXHJcbiAgICA+IGRpdiA+IHVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICBbY2xhc3NePVwibWVudS1tYWluXCJdIHtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdCowLjc1O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdCowLjc7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7IC8vIDIuMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5uNy10eXBlLWhvbWUgPiBhOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbms7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm43LXR5cGUtYXJjaGl2ZSA+IGE6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFyY2hpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm43LXR5cGUtc3RvcmllcyA+IGE6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXN0b3JpZXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm43LXR5cGUtdHV0b3JpYWwgPiBhOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10dXRvcmlhbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmN1cnJlbnQtbWVudS1pdGVtIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yLW1haW47XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ2VuZXJhbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubjctdHlwZS1ob21lIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci10ZXh0LWxpbms7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5uNy10eXBlLXR1dG9yaWFsIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci10dXRvcmlhbDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdHV0b3JpYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYubjctdHlwZS1hcmNoaXZlIHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvci1hcmNoaXZlO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hcmNoaXZlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLm43LXR5cGUtc3RvcmllcyB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3Itc3RvcmllcztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itc3RvcmllcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzICRyYWRpdXMgMCAwO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gYTo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZvbnRhd2Vzb21lO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxmMTA3JztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNEUk9QRE9XTi1NRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm1haW4tbmF2aWdhdGlvbiB1bCBsaTpob3ZlciA+IHVsLCAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpLmZvY3VzID4gdWwge1xyXG4gICAgbGVmdDogYXV0bztcclxufVxyXG5cclxuXHJcbi5uNy1tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgLnN1Yi1tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC0xMXB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMS41O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwwLDAsMC4yKTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgJHJhZGl1cyAkcmFkaXVzO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2luZy11bml0IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAkc3BhY2luZy11bml0IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCBsaTpob3ZlciA+IHVsLnN1Yi1tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICByaWdodDogLTFweDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBIb3ZlciAqL1xyXG4gICAgLm43LXR5cGUtaG9tZSB7XHJcbiAgICAgICAgLnN1Yi1tZW51IC5tZW51LWl0ZW0gYTpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctdHlwZS10dXRvcmlhbCB7XHJcbiAgICAgICAgLnN1Yi1tZW51IC5tZW51LWl0ZW0gYTpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdHV0b3JpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy10eXBlLWFyY2hpdmUge1xyXG4gICAgICAgIC5zdWItbWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFyY2hpdmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy10eXBlLXN0b3JpZXMge1xyXG4gICAgICAgIC5zdWItbWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXN0b3JpZXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIEN1cnJlbnQgKi9cclxuICAgIC5uNy10eXBlLXR1dG9yaWFsIHtcclxuICAgICAgICAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdHV0b3JpYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy10eXBlLWFyY2hpdmUge1xyXG4gICAgICAgIC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hcmNoaXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctdHlwZS1zdG9yaWVzIHtcclxuICAgICAgICAuc3ViLW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itc3RvcmllcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xyXG5cclxuICAgIC5uNy1tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctbWFpbi1uYXZpZ2F0aW9uIHtcclxuICAgICAgICAuc3ViLW1lbnUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDUwcHgpIHtcclxuXHJcbiAgICAubjctbWFpbi1uYXZpZ2F0aW9uIHtcclxuICAgICAgICAubWVudS1pdGVtIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcblxyXG4gICAgLm43LW1haW4tbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIFtjbGFzc149XCJtZW51LW1haW5cIl0ge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE1BSU4gTU9CSUxFXHJcbiAqXHJcbiAqIE1vYmlsZSBuYXZpZ2F0aW9uXHJcbiAqXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUFJTi1NT0JJTEVcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4kbmF2LW1vYmlsZS13aWR0aDogMjgwcHg7XHJcblxyXG4ubjctbmF2LW1vYmlsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IC0gJG5hdi1tb2JpbGUtd2lkdGggLSAxMDsgLy8gLTIwMHB4O1xyXG4gICAgd2lkdGg6ICRuYXYtbW9iaWxlLXdpZHRoO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtZGFyaztcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBib3gtc2hhZG93OiAxcHggMCA0cHggcmdiYSgwLDAsMCwuMyk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcclxuXHJcbiAgICAvKiBBY3RpdmUgc3RhdGUgKi9cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LW1vYmlsZS1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gb3ZlcmZsb3c6IHNjcm9sbDtcclxuICAgIH1cclxuXHJcbiAgICAubWVudSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbGlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMS4yICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWJvcmRlci1saWdodCwgLjMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBMc3QgaXRlbSBvZiBtYWluIGVsZW1lbnRzICovXHJcbiAgICAubjctbmF2LW1vYmlsZV9fbWFpbi1saXN0IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctdW5pdC8yO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCRjb2xvci1ib3JkZXItbGlnaHQsIC4zKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBTbWFsbGVyIGl0ZW1zICovXHJcbiAgICAubjctbmF2LW1vYmlsZV9fc2Vjb25kYXJ5IHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCowLjc1ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNDUpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWJvcmRlci1saWdodCwgLjE1KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogQ1RBICovXHJcbiAgICAubjctbmF2LW1vYmlsZV9fY3RhIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCowLjc1ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3ItYm9yZGVyLWxpZ2h0LCAuMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBDbG9zZSBidXR0b24gKi9cclxuICAgIC5uNy1uYXYtbW9iaWxlX19jbG9zZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6ICRuYXYtbW9iaWxlLXdpZHRoO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnNlO1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLyogTG9naGkgKi9cclxuICAgIC5uNy1uYXYtbW9iaWxlX19sb2dvcyB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwOyAvLyAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LW5hdi1tb2JpbGVfX2xvZ28ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIGhlaWdodDogNjZweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iYWNrZ3JvdW5kLWxpZ2h0O1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjZweDtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1uYXYtbW9iaWxlX19sb2dvLTEge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1uYXYtbW9iaWxlX19sb2dvLTIge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMjRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjU0VDT05ELUxFVkVMXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LW5hdi1tb2JpbGUge1xyXG4gICAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBbY2xhc3NePVwiZmFcIl0ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnNlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1iYWNrZ3JvdW5kLWxpZ2h0LCAuMTUpO1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLWJvcmRlci1saWdodCwgLjMpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWNsb3NlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgLm43LW9wZW4ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LWNsb3NlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCoxLjAgJHNwYWNpbmctdW5pdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMTUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIFNtYWxsZXIgaXRlbXMgKi9cclxuICAgIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLm43LW5hdi1tb2JpbGVfX3NlY29uZGFyeSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0b3A6IDlweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjY1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0xBTkdVQUdFUy1NRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LW5hdi1tb2JpbGUge1xyXG4gICAgLndwbWwtbHMtaXRlbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwMDAwLCAuNCk7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJzZTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCoxICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgkY29sb3ItYm9yZGVyLWxpZ2h0LCAuMyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLndwbWwtbHMtY3VycmVudC1sYW5ndWFnZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG5cclxuICAgIC5uNy1uYXYtbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIEZPT1RFUiBOQVZJR0FUSU9OXHJcbiAqXHJcbiAqIEZvb3RlciBuYXZpZ2F0aW9uXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTjctRk9PVEVSLU5BVlxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5bY2xhc3NePVwibWVudS1mb290ZXJcIl0ge1xyXG4gICAgLm1lbnUge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59XHJcbiIsIi8qKlxyXG4gKiBORVdTIFBSRVZJRVdcclxuICpcclxuICogU3R5bGUgb2YgbmV3cyBpbiBwcmV2aWV3XHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTkVXUy1QUkVWSUVXXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LW5ld3MtcHJldmlldyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcblxyXG4gICAgLyogSW1hZ2UgKi9cclxuICAgIC5uNy1uZXdzLXByZXZpZXdfX2ltYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCAwIHJnYmEoMCwwLDAsLjIwKTtcclxuICAgIH1cclxuXHJcbiAgICAubjctbmV3cy1wcmV2aWV3X19jb250ZW50IHtcclxuICAgIH1cclxuXHJcbiAgICAubjctZGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC8yO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1uZXdzLXByZXZpZXdfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tYWluO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVMtSE9NRVBBR0VcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xyXG5cclxuICAgIC5ob21lIHtcclxuICAgICAgICAubjctd2lkZ2V0LW5ld3Mge1xyXG4gICAgICAgICAgICAubjctd2lkZ2V0LW5ld3NfX25ld3MtY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy13aWRnZXQtbmV3c19fbmV3cyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogc3Bhbig2IG9mIDEyKTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcihvZiAxMik7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy13aWRnZXQtbmV3c19fZm9jdXMtbmV3cyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG5cclxuICAgICAgICAgICAgICAgIC5uNy13aWRnZXQtbmV3c19faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKCA2IG9mIDEyICk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxNjBweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcihvZiAxMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm43LXdpZGdldC1uZXdzX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc3BhbiggNiBvZiAxMiApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAuaG9tZSB7XHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzIHtcclxuICAgICAgICAgICAgLm43LXdpZGdldC1uZXdzX19uZXdzLWNvbHVtbiB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubjctd2lkZ2V0LW5ld3NfX25ld3Mge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LXdpZGdldC1uZXdzX19pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogc3BhbiggMiBvZiA2ICk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcihvZiA2KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LXdpZGdldC1uZXdzX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKCA0IG9mIDYgKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LXdpZGdldC1uZXdzX19mb2N1cy1uZXdzIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjI7XHJcblxyXG4gICAgICAgICAgICAgICAgLm43LXdpZGdldC1uZXdzX19pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHNwYW4oIDIgb2YgNiApO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKG9mIDYpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubjctd2lkZ2V0LW5ld3NfX2NvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKCA0IG9mIDYgKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubjctd2lkZ2V0LW5ld3NfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaG9tZSB7XHJcbiAgICAgICAgLyogSW1hZ2UgKi9cclxuICAgICAgICAubjctd2lkZ2V0LW5ld3NfX2ltYWdlIHtcclxuICAgICAgICAgICAgLy8gZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIC8vIGhlaWdodDogMTI1cHg7IC8vIDI2MnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzX19jb250ZW50IHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vIGZsb2F0OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxyXG4gKiBQQUdFIFNVQk1FTlVcclxuICpcclxuICogTWFpbiBtZW51IG5hdmlnYXRpb25zXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjUEFHRSBTVUJNRU5VXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LXBhZ2Utc3VibWVudSB7XHJcbiAgICBtYXJnaW46IDAgMCAkc3BhY2luZy11bml0OyAvLyAqMjtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAubjctcGFnZS1zdWJtZW51X19pdGVtIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAwO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjUEFHRSBTVUJNRU5VLUFMVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8qIFBsYWNlZCBvbiB0aGUgcmlnaHQgKi9cclxuLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIC5uNy1wYWdlLXN1Ym1lbnUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuICAgIC5uNy1wYWdlLXN1Ym1lbnVfX2l0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExNTBweCkge1xyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0IC0gMSkge1xyXG5cclxuICAgIC5uNy1wYWdlLXN1Ym1lbnUge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuXHJcbiAgICAgICAgLm43LXBhZ2Utc3VibWVudV9faXRlbSB7XHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59XHJcbiIsIi8qKlxyXG4gKiBQQUdFIFNVQk1FTlUgVEhVTUJcclxuICpcclxuICogVGh1bWIgb24gdGhlIGxlZnQsIHVuZGVyIHN1Ym1lbnVcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNQQUdFIFNVQk1FTlUgVEhVTUJcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctcGFnZS1zdWJtZW51LXRodW1iIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JheS0wMztcclxuICAgIC8vIG1hcmdpbi10b3A6ICRzcGFjaW5nLXVuaXQqMjtcclxuXHJcbiAgICAubjctcGFnZS1zdWJtZW51LXRodW1iX19pbWFnZSB7XHJcbiAgICAgICAgcGFkZGluZzogN3B4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXVuaXQgMDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWltYWdlLWRlc2NyaXB0aW9uO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTA1MHB4KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufVxyXG4iLCIvKipcclxuICogU1RPUlkgTUVUQSBCT1hcclxuICpcclxuICogQm94IGRpc3BsYXlpbmcgbWV0IGluZm8gb2YgYSB2aWRlb1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1NUT1JZLU1FVEEtQk9YXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LXN0b3J5LW1ldGEtYm94IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgLy8gbWFyZ2luLXRvcDogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcblxyXG4gICAgLm43LXN0b3J5LW1ldGEtYm94X19sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1zdG9yeS1tZXRhLWJveF9fdmFsdWUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTA2O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICA6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufVxyXG4iLCIvKipcclxuICogU1RPUlkgVklERU8gR09SVVBJTkdcclxuICpcclxuICogQm94IHNob3dpbmcgdGhlIGdyb3VwaW5nIG9mIHN0b3JpZXMncyB2aWRlb3NcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNTVE9SWS1WSURFTy1HT1JVUElOR1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy1zdG9yeS12aWRlby1ncm91cGluZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoxLjU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5ncztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAxcHggMCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNzApO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1zdG9yeS12aWRlby1ncm91cGluZ19fbmFtZSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDM7XHJcbiAgICAgICAgbWFyZ2luOiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tbDtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgIC8vIHRleHQtc2hhZG93OiAwIDAgOXB4IHJnYmEoMCwwLDAsMC44KTtcclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmdfX2NvdW50IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoJGNvbG9yLXRleHQsIDA1KTtcclxuICAgICAgICAvLyB0ZXh0LXNoYWRvdzogMCAwIDlweCByZ2JhKDAsMCwwLDAuOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxuICAgIC5uNy1zdG9yeS12aWRlby1ncm91cGluZyB7XHJcbiAgICAgICAgLm43LXN0b3J5LXZpZGVvLWdyb3VwaW5nX19uYW1lIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufVxyXG4iLCIvKipcclxuICogU1RPUklFUyBWSURFT1MgRElBTE9HXHJcbiAqXHJcbiAqIERpYWxvZyB3aXRoIHZpZGVvc1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0RJQUxPRy1TVE9SSUVTLVZJREVPU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy1zdG9yeS1jYXRlZ29yaWVzLWRpYWxvZyB7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygjeyRkaWFsb2ctbWF4LWhlaWdodH0gLSAjeyRkaWFsb2ctaGVhZGVyLWhlaWdodH0pICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nX19pdGVtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1zdG9yeS1jYXRlZ29yaWVzLWRpYWxvZ19faXRlbS12aWRlbyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDE2NXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktY2F0ZWdvcmllcy1kaWFsb2dfX2l0ZW0tdmlkZW8taWNvbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BsYXktaWNvbkAyeC5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA2OHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXN0b3J5LWNhdGVnb3JpZXMtZGlhbG9nX19pdGVtLXRpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbnM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTE1MHB4KSB7XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDUwcHgpIHtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn1cclxuIiwiLyoqXHJcbiAqIERJQUxPR1xyXG4gKlxyXG4gKiBTdHlsZSBmb3IgZGlhbG9nXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjRElBTE9HXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLnVpLWRpYWxvZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS0wMDtcclxuICAgIG1heC13aWR0aDogNDYwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAkZGlhbG9nLW1heC1oZWlnaHQ7XHJcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuXHJcbiAgICAudWktZGlhbG9nLXRpdGxlYmFyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAkZGlhbG9nLWhlYWRlci1oZWlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkY29sb3ItbW9kYWwtaGVhZGVyLCAwLjMxKTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1zdG9yaWVzO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgLnVpLWRpYWxvZy10aXRsZSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdCo2O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xyXG4gICAgfVxyXG5cclxuICAgIC51aS1idXR0b24ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogJHNwYWNpbmctdW5pdCozLjQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgLnVpLWljb24tY2xvc2V0aGljazpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2Nsb3NlLnBuZycpIGxlZnQgdG9wIG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC51aS1idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC51aS1kaWFsb2ctY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCo0O1xyXG4gICAgfVxyXG59XHJcblxyXG4udWktd2lkZ2V0LW92ZXJsYXkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktMDU7XHJcbiAgICBvcGFjaXR5OiAuODtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTUwcHgpIHtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxuICAgIC51aS1kaWFsb2cge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuXHJcbiAgICAgICAgLnVpLWRpYWxvZy10aXRsZWJhciB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudWktZGlhbG9nLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0KjI7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59XHJcbiIsIi8qKlxyXG4gKiBUQUdcclxuICpcclxuICogVGFnIGNhdGVnb3J5XHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjVEFHXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LXRhZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmdzO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHM7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBwYWRkaW5nOiAzcHggMTBweCAxcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdlbmVyYWw7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ2VuZXJhbC1iZztcclxuXHJcbiAgICAmLm43LXRhZy1hcmNoaXZlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFyY2hpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFyY2hpdmUtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5uNy10YWctc3RvcmllcywgJi5uNy10YWctc3Rvcnkge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itc3RvcmllcztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3Rvcmllcy1iZztcclxuICAgIH1cclxuXHJcbiAgICAmLm43LXRhZy1uZXdzLCAmLm43LXRhZy1wb3N0IHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLW5ld3M7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5ld3MtYmc7XHJcbiAgICB9XHJcblxyXG4gICAgJi5uNy10YWctdHV0b3JpYWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdHV0b3JpYWw7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXR1dG9yaWFsLWJnO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRPT0wtQk9YRVNcclxuICpcclxuICogVG9vbC1ib3hlcyB3aWRnZXRcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNUT09MUy1CT1hFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubjctdG9vbHMtYm94ZXMge1xyXG5cclxuICAgIC5uNy10b29scy1ib3hlc19faW5uZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS0wMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMjVweCByZ2JhKDAsMCwwLC4xNSksIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXRvb2xzLWJveGVzX190aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIycHggMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteGw7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXRvb2xzLWJveGVzX19ib3gge1xyXG5cclxuICAgICAgICAmOm50aC1vZi10eXBlKDEpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMxNS4zM2RlZywgJGNvbG9yLWJhY2tncm91bmQtYm94LWdyYXkgMCUsICRjb2xvci1ncmF5LTAwIDEwMCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMDYuNTdkZWcsICRjb2xvci1iYWNrZ3JvdW5kLWJveC1ncmF5IDAlLCAkY29sb3ItZ3JheS0wMCAxMDAlKTtcclxuXHJcbiAgICAgICAgICAgIC5uNy1idG4ge1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLXRvcDogMjNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXRvb2xzLWJveGVzX19pY29uIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fYm94LXRpdGxlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1sO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fYm94LWNvbnRlbnQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctdG9vbHMtYm94ZXNfX2JveC1idXR0b25zIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA4NXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1idG4ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctdW5pdCAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJjpub3QoLm43LXRvb2xzLWJveGVzLXdpZGdldCkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGF0dGVybjUtc21hbGwucG5nXCIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOTk2cHggODg5cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZTBlZjtcclxuXHJcbiAgICAgICAgLm43LXRvb2xzLWJveGVzX19ib3gge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4MHB4IDY2cHggMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5uNy10b29scy1ib3hlcy13aWRnZXQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxcHggMCByZ2JhKDAsMCwwLDAuMDgpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgLm43LXRvb2xzLWJveGVzX19ib3gge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWJ0biB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRidXR0b24tc21hbGwtaGVpZ2h0O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1oZWlnaHQgKyAycHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xyXG5cclxuICAgIC5uNy10b29scy1ib3hlcyB7XHJcbiAgICAgICAgLm43LXRvb2xzLWJveGVzX19pbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcblxyXG4gICAgLm43LXRvb2xzLWJveGVzIHtcclxuICAgICAgICAubjctdG9vbHMtYm94ZXNfX2lubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxuXHJcbiAgICAubjctdG9vbHMtYm94ZXMge1xyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19faW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KC5uNy10b29scy1ib3hlcy13aWRnZXQpIHtcclxuICAgICAgICAgICAgLm43LXRvb2xzLWJveGVzX19ib3gge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogODBweCAzNnB4IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxuXHJcbiAgICAubjctdG9vbHMtYm94ZXMge1xyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2NjBweCkge1xyXG5cclxuICAgIC5uNy10b29scy1ib3hlczpub3QoLm43LXRvb2xzLWJveGVzLXdpZGdldCkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMjtcclxuXHJcbiAgICAgICAgLm43LXRvb2xzLWJveGVzX19pbm5lciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTUuMzNkZWcsICRjb2xvci1iYWNrZ3JvdW5kLWJveC1ncmF5IDAlLCAkY29sb3ItZ3JheS0wMCAxMDAlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fdGl0bGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0KjIgJHNwYWNpbmctdW5pdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fYm94IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQgJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctdG9vbHMtYm94ZXNfX2JveC1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2luZy11bml0KjEuNzUgMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fYm94LWJ1dHRvbnMge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAubjctdG9vbHMtYm94ZXMge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQ7XHJcblxyXG4gICAgICAgIC5uNy10b29scy1ib3hlc19fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLyogUmV0aW5hICovXHJcbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpIHtcclxuXHJcbiAgICAubjctdG9vbHMtYm94ZXMge1xyXG4gICAgICAgICY6bm90KC5uNy10b29scy1ib3hlcy13aWRnZXQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhdHRlcm41LnBuZ1wiKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5OTZweCA4ODlweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qKlxyXG4gKiBXUE1MIExBTkdVQUdFIFNXSVRDSFxyXG4gKlxyXG4gKiBXcG1sIGxhbmd1YWdlIHN3aXRjaFxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI05BVi1TRUNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLndwbWwtbHMtbGVnYWN5LWRyb3Bkb3duIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuXHJcbiAgICAud3BtbC1scy1pdGVtLXRvZ2dsZSB7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgYS53cG1sLWxzLWl0ZW0tdG9nZ2xlOmFmdGVyIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZvbnRhd2Vzb21lO1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxMDcnO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICByaWdodDogNnB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIGE6aG92ZXIsIGE6Zm9jdXMsXHJcbiAgICAud3BtbC1scy1jdXJyZW50LWxhbmd1YWdlOmhvdmVyID4gYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQtbGlnaHQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufVxyXG4iLCIvKipcclxuICogU0lOR0xFLUJPWC1DT05URU5UXHJcbiAqXHJcbiAqIHNpbmdsZSBjb250ZW50IHByZXZpZXdcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNTSU5HTEUtQk9YLUNPTlRFTlRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLm43LXNpbmdsZS1ib3gtY29udGVudCB7XHJcblxyXG4gICAgLm43LXNpbmdsZS1ib3gtY29udGVudF9faW1hZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTY2cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMjApO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy10YWcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXNpbmdsZS1ib3gtY29udGVudF9fdGl0bGUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tbDtcclxuICAgICAgICBtYXJnaW46IDhweCAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn0iLCIvKipcclxuICogU0lOR0xFLUJPWC1DT05URU5UXHJcbiAqXHJcbiAqIHNpbmdsZSBjb250ZW50IHByZXZpZXdcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNTSU5HTEUtQk9YLUNPTlRFTlRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLm43LXdpZGdldC1uZXdzLWFyY2hpdmUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG5cclxuICAgIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlX193aWRnZXQtdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItbWFpbjsgLy8gJGNvbG9yLW5ld3M7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1sO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCAkY29sb3ItbWFpbjsgLy8gJGNvbG9yLW5ld3M7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX2l0ZW1zIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlX19pdGVtIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWdyYXktMDM7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcblxyXG4gICAgICAgIC5uNy1kYXRlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC8yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy13aWRnZXQtbmV3cy1hcmNoaXZlX190aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9ucztcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbmstaG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXdpZGdldC1uZXdzLWFyY2hpdmVfX2FyY2hpdmUtbGluayB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47IC8vICRjb2xvci1uZXdzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKCRjb2xvci1tYWluLCAuMTgpOyAvLyAkY29sb3ItbmV3cy1iZztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyOyAvLyBkYXJrZW4oJGNvbG9yLW5ld3MsIDEwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTLUhPTUVQQUdFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1OTBweCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIEhPTUUgTkVXUyBQUkVWSUVXIFNUWUxFXHJcbiAqXHJcbiAqIFN0eWxlIG9mIG5ld3MgaW4gaG9tZXBhZ2VcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNORVdTLUhPTUUtUFJFVklFVy1TVFlMRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy13aWRnZXQtaG9tZS1uZXdzIHtcclxuXHJcbiAgICAvKiBTaW5nbGUgbmV3cyB3cmFwcGVyICovXHJcbiAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19fbmV3cyB7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoxLjU7XHJcblxyXG4gICAgICAgIC8qIEluc3RlYWQgb2Ygb3ZlcmZsb3cgaGlkZGVuICovXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiBJbWFnZSAqL1xyXG4gICAgLm43LXdpZGdldC1ob21lLW5ld3NfX2ltYWdlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogc3BhbiggMiBvZiA1ICk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIG9mIDUgKTtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4OyAvLyAyNjJweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4yMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXdpZGdldC1ob21lLW5ld3NfX2NvbnRlbnQge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCAzIG9mIDUgKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAubjctZGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCowLjc7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXdpZGdldC1ob21lLW5ld3NfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLW5ld3M7IC8vICRjb2xvci1nZW5lcmFsO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xyXG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjaW5nLXVuaXQvMiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzX19leGNlcnB0IHtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzX19hcmNoaXZlLWxpbmsge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCA3cHg7XHJcbiAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1uZXdzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItbmV3cy1iZztcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLW5ld3MsIDEwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNORVdTLVNJREVCQVItSE9NRVBBR0VcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctd2lkZ2V0LWhvbWUtbmV3cyB7XHJcbiAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19fbmV3cy1jb2x1bW4ge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA1IG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNGRUFUVVJFRC1ORVdTLUhPTUVQQUdFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LXdpZGdldC1ob21lLW5ld3Mge1xyXG4gICAgLm43LXdpZGdldC1ob21lLW5ld3NfX2ZvY3VzLW5ld3Mge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA3IG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoMSBvZiAxMik7XHJcblxyXG4gICAgICAgIC8qIEluc3RlYWQgb2Ygb3ZlcmZsb3cgaGlkZGVuICovXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19faW1hZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BhbiggNCBvZiA3ICk7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlciggMSBvZiA3ICk7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19fY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKCAzIG9mIDcgKTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19fdGl0bGUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFUy1IT01FUEFHRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XHJcblxyXG4gICAgLmhvbWUge1xyXG4gICAgICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzIHtcclxuICAgICAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3MtY29sdW1uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzX19uZXdzIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKDYgb2YgMTIpO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKG9mIDEyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3NfX2ZvY3VzLW5ld3Mge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMjtcclxuXHJcbiAgICAgICAgICAgICAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKCA2IG9mIDEyICk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIob2YgMTIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc3BhbiggNiBvZiAxMiApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAuaG9tZSB7XHJcbiAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3Mge1xyXG4gICAgICAgICAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19fbmV3cy1jb2x1bW4ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3NfX25ld3Mge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3NfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBzcGFuKCAyIG9mIDYgKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKG9mIDYpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubjctd2lkZ2V0LWhvbWUtbmV3c19fY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogc3BhbiggNCBvZiA2ICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzX19mb2N1cy1uZXdzIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjI7XHJcblxyXG4gICAgICAgICAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3NfX2ltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc3BhbiggMiBvZiA2ICk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIob2YgNik7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5uNy13aWRnZXQtaG9tZS1uZXdzX19jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogc3BhbiggNCBvZiA2ICk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLm43LXdpZGdldC1ob21lLW5ld3NfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxyXG4gKiBTSU5HTEUtQk9YLUNPTlRFTlRcclxuICpcclxuICogc2luZ2xlIGNvbnRlbnQgcHJldmlld1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1NJTkdMRS1CT1gtQ09OVEVOVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy13aWRnZXQtam9pbixcclxuLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1saWdodDtcclxuICAgIGhlaWdodDogMjIwcHg7XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAxcHggMCByZ2JhKDAsMCwwLDAuMDUpO1xyXG5cclxuICAgIC5uNy13aWRnZXQtbmV3c2xldHRlcl9fdGl0bGUsXHJcbiAgICAubjctd2lkZ2V0LWpvaW5fX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdlbmVyYWw7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXdpZGdldC1uZXdzbGV0dGVyX190ZXh0LFxyXG4gICAgLm43LXdpZGdldC1qb2luX190ZXh0IHtcclxuICAgICAgICBtYXJnaW46IDEycHggMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubjctd2lkZ2V0LWpvaW4ge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BhcnRlY2lwYS1ib3gtYmctMS5qcGdcIikgbm8tcmVwZWF0LCB1cmwoXCIuLi9pbWFnZXMvcGFydGVjaXBhLWJveC1iZy0yLmpwZ1wiKSBuby1yZXBlYXQgI2ZmZmZmZiA7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTMxcHgsIDExMSUgMTUyJTsgLy8gVE9ETyBNb21lbnRhcnksIHRvIGJlIHVuY29tbWVudGVkXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTAwcHggLTMxcHgsIDEwNCUgMTUyJTsgLy8gVE9ETyBNb21lbnRhcnksIHRvIGJlIHJlbW92ZWRcclxuICAgIHBhZGRpbmc6IDUwcHggNDVweCAxMHB4IDIxJTtcclxufVxyXG5cclxuLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7IC8vIFRPRE8gTW9tZW50YXJ5LCB0byBiZSByZW1vdmVkXHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbmV3c2xldHRlci1ib3gtYmcucG5nXCIpIG5vLXJlcGVhdCAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTA3JSAtMjJweDtcclxuICAgIHBhZGRpbmc6IDM1cHggMjElIDIwcHggMjBweDtcclxuXHJcbiAgICAubjctd2lkZ2V0LW5ld3NsZXR0ZXJfX2lucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0hPTUVQQUdFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLmhvbWUge1xyXG4gICAgLm43LXdpZGdldC1qb2luLFxyXG4gICAgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgICAgICAvLyB3aWR0aDogc3Bhbig2IG9mIDEyKTsgLy8gVE9ETyBNb21lbnRhcnksIHRvIGJlIHVuY29tbWVudGVkXHJcbiAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7IC8vIFRPRE8gTW9tZW50YXJ5LCB0byBiZSB1bmNvbW1lbnRlZFxyXG4gICAgICAgIC8vIG1hcmdpbi1yaWdodDogZ3V0dGVyKCAxIG9mIDEyICk7IC8vIFRPRE8gTW9tZW50YXJ5LCB0byBiZSB1bmNvbW1lbnRlZFxyXG4gICAgfVxyXG5cclxuICAgIC5uNy13aWRnZXQtbmV3c2xldHRlciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFUy1IT01FUEFHRVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExNDBweCkge1xyXG5cclxuICAgIC5ob21lIHtcclxuICAgICAgICAubjctd2lkZ2V0LWpvaW4sXHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyNDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MzBweCkge1xyXG5cclxuICAgIC5ob21lIHtcclxuICAgICAgICAubjctd2lkZ2V0LWpvaW4ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTUwcHggLTYxcHgsMTIxJSAxNTIlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTE3JSAtMjJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG5cclxuICAgIC5ob21lIHtcclxuICAgICAgICAubjctd2lkZ2V0LWpvaW4sXHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctd2lkZ2V0LWpvaW4sXHJcbiAgICAgICAgLm43LXdpZGdldC1uZXdzbGV0dGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1qb2luIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0zMXB4LCAxMTElIDE1MiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctd2lkZ2V0LW5ld3NsZXR0ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDclIC0yMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcblxyXG4gICAgLmhvbWUge1xyXG4gICAgICAgIC5uNy13aWRnZXQtam9pbixcclxuICAgICAgICAubjctd2lkZ2V0LW5ld3NsZXR0ZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1qb2luIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy13aWRnZXQtbmV3c2xldHRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTQwcHgpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTMwcHgpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxyXG4gKiBXSURHRVQgQU5URU5BVEkgQ09OVEVOVFxyXG4gKlxyXG4gKiB3aWRnZXQgYW50ZW5hdGkgY29udGVudFxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1dJREdFVC1BTlRFTkFUSS1DT05URU5UXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAwIHJnYmEoMCwwLDAsMC4wNSk7XHJcblxyXG4gICAgLm43LXRhZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctdW5pdCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudF9pY29uIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAkc3BhY2luZy11bml0KjEuNTtcclxuICAgICAgICByaWdodDogJHNwYWNpbmctdW5pdCoxLjU7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10dXRvcmlhbDtcclxuICAgIH1cclxuXHJcbiAgICAubjctd2lkZ2V0LWFudGVuYXRpLWNvbnRlbnRfX3RpdGxlIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2luZy11bml0KjAuMzUgMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLW1haW47XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1sO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy13aWRnZXQtYW50ZW5hdGktY29udGVudF9fY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctdW5pdCAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1idG4ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzO1xyXG4gICAgICAgIC8vIGhlaWdodDogMjBweDtcclxuICAgICAgICAvLyBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAvLyBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn0iLCIvKipcclxuICogV0lER0VUIFlPVVIgU1RPUllcclxuICpcclxuICogd2lkZ2V0IHlvdXIgc3RvcnlcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNXSURHRVQtWU9VUi1TVE9SWVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubjctd2lkZ2V0LXlvdXItc3Rvcnkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvL2hlaWdodDogMTM0cHg7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTEuNzMlO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMveW91ci1zdG9yeS5wbmcnKSBsZWZ0IHRvcCBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgLm43LXdpZGdldC15b3VyLXN0b3J5X19saW5rIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQqMS41O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwJTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktMDU7XHJcblxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW0gKyAycHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxuICogVE9PTC1CT1hFU1xuICpcbiAqIFRvb2wtYm94ZXMgd2lkZ2V0XG4gKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICAgI1RPT0xTLUJPWEVTXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5uNy1hcmNoaXZlcyB7XG5cbiAgICAubjctYXJjaGl2ZS1saXN0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLm43LWFyY2hpdmUtZGV0YWlsIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIC5uNy1hcmNoaXZlLW1hcCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAjTUVESUEtUVVFUklFU1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xufSIsIi8qKlxyXG4gKiBUT09MLUJPWEVTXHJcbiAqXHJcbiAqIFRvb2wtYm94ZXMgd2lkZ2V0XHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjVE9PTFMtQk9YRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctYXJjaGl2ZXMge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiBQcmV2ZW50IG1hcmdpbiBjb2xsYXBzZSAqL1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46ICRzcGFjaW5nLXVuaXQqMi41IDA7XHJcbiAgICBoZWlnaHQ6IDY1MHB4O1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDQ7XHJcblxyXG5cclxuICAgIC8qIEZpbHRlcnMgKi9cclxuICAgIC5uNy1hcmNoaXZlLWZpbHRlcnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LTA0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoLXdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2gge1xyXG4gICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy11bml0LzI7XHJcbiAgICAgICAgLyogUmVjdGFuZ2xlOiAqL1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsMC4yNCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2gtLWNvbXVuZSB7XHJcbiAgICAgICAgei1pbmRleDogMTAwMDAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWxlY3Qtb3JkZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmctdW5pdC8yO1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWxlY3Qtb3JkZXItc2VsZWN0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWRhcms7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuXHJcbiAgICAgICAgb3B0aW9uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogTGlzdCAqL1xyXG4gICAgLm43LWFyY2hpdmUtbGlzdCB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1MnB4KTsgLyogQ29udGFpbmVyIGhlaWdodCAtIHBhZGRpbmcgKi9cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktMDI7XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWxpc3RfX2xvYWRlciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS0wMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAuZmEge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1saXN0X19saXN0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIGNhbGMoMTAwJSAtIDUycHgpOyAvKiBDb250YWluZXIgaGVpZ2h0IC0gcGFkZGluZyAqL1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS0wMDtcclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1saXN0X19saXN0LWl0ZW0ge1xyXG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LTA0O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAvLyBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5uNy1hcmNoaXZlLWxpc3RfX2xpc3QtaXRlbS1pbmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qIERldGFpbCAqL1xyXG4gICAgLm43LWFyY2hpdmUtZGV0YWlsIHtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI2cHgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3Rvb2xiYXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDUxcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheS0wNDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktMDI7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14cztcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3Rvb2xiYXItYmFjayB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbmstaG92ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fdG9vbGJhci1iYWNrIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpZ2h0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX190b29sYmFyLWJhY2s6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc3BhY2luZy11bml0LzI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktZm9udGF3ZXNvbWU7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLypcclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3Rvb2xiYXItYmFjazphZnRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWZvbnRhd2Vzb21lO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sO1xyXG4gICAgICAgIH1cclxuICAgICAgICAqL1xyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3RpdGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LTA0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmdzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fc3RhdHVzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXM7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbWFpbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fbGlua3Mge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDQ7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX2xpbmsge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14cztcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAuZmEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdCowLjQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbmstaG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXIge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgMzAlO1xyXG4gICAgICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgLy8mOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIC8vICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAvLyAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy8gICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgLy8gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAvLyAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgLy8gICAgbGVmdDogMTQuOTUlO1xyXG4gICAgICAgICAgICAvLyAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAzO1xyXG4gICAgICAgICAgICAvL31cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fYXJjaGl2ZS1kZXRhaWwge1xyXG4gICAgICAgICAgICBmbGV4OiAwIDAgNzAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDc0JTtcclxuICAgICAgICAgICAgLy9mbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9faGVhZGVyLXJlZ2lzdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDM7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktMDI7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgICAgIC5uNy1idG4ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC8yIDlweCAkc3BhY2luZy11bml0LzMgOXB4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX19oZWFkZXJfc3RhdHVzIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDM7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LTAyO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX19zdGF0dXMge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItbGlzdCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItZ3JheS0wMztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItaXRlbSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcblxyXG4gICAgICAgICAgICAgICAgLyogdGhpcyBDUyBmb3JtcyB0aGUgdHJpYW5nbGVzICovXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogLTIzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLyogdGhpcyBib3JkZXIgY29sb3IgY29udHJvbGxzIHRoZSBjb2xvciBvZiB0aGUgdHJpYW5nbGUgKHdoYXQgbG9va3MgbGlrZSB0aGUgZmlsbCBvZiB0aGUgdHJpYW5nbGUpICovXHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvci1ncmF5LTAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogN3B4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC8qIHRoaXMgYm9yZGVyIGNvbG9yIGNvbnRyb2xscyB0aGUgb3V0c2lkZSwgdGhpbiBib3JkZXIgKi9cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjb2xvci1ncmF5LTAzO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMjZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX19yZWdpc3Rlci1kZXRhaWwge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggIDIwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcblxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHdvcmQtd3JhcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogTWFwICovXHJcbiAgICAubjctYXJjaGl2ZS1tYXAge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgLy9oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1MnB4KTsgIC8qIENvbnRhaW5lciBoZWlnaHQgLSBwYWRkaW5nICovXHJcblxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtbWFwX19tYXJrZXItdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0LzI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1tYXJrZXJfX2Rlc2MtdGV4dCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy11bml0LzI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtbWFwX19zdGF0dXMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy11bml0LzU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyAnO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWNmLW1hcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGNvbG9yLWdyYXktMDQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnN0YXR1c190b19zdGFydDpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci10by1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdHVzX2luX3Byb2dyZXNzOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWluLXByb2dyZXNzO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGF0dXNfY29tcGxldGU6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItY29tcGxldGU7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiBNb2JpbGUgdG9nZ2xlcyAqL1xyXG4ubjctYXJjaGl2ZS1tb2JpbGUtdG9nZ2xlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGVfX2J1dHRvbiB7XHJcbiAgICBAZXh0ZW5kIC5uNy1idG47XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJHJhZGl1cyAkcmFkaXVzO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG4gICAgLm43LWFyY2hpdmVzIHtcclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWwge1xyXG4gICAgICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX19hcmNoaXZlLWRldGFpbCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcyJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0IC0gMSkge1xyXG4gICAgLm43LWFyY2hpdmVzIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY29sb3ItZ3JheS0wNDtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ncmF5LTA0O1xyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWwsXHJcbiAgICAgICAgLm43LWFyY2hpdmUtbGlzdCxcclxuICAgICAgICAubjctYXJjaGl2ZS1tYXAge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1tYXAge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XHJcblxyXG4gICAgICAgICAgICAmLmlzLWhpZGRlbiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5hY2YtbWFwIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWwge1xyXG5cclxuICAgICAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX190b29sYmFyIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fYXJjaGl2ZS1kZXRhaWwge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyLWRldGFpbCB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDU1cHgpOyAvKiAqL1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWZpbHRlcnMge1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoLXdyYXBwZXIge1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWZpbHRlcnNfX3NlYXJjaCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWFyY2gtLWNvbXVuZSB7XHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VsZWN0LW9yZGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWxpc3Qge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XHJcbiAgICAgICAgICAgICYuaXMtaGlkZGVuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtbGlzdF9fbGlzdCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGVfX2J1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1hcmNoaXZlLW1vYmlsZS10b2dnbGVfX2J1dHRvbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuXHJcbiAgICAgICAgJi5pcy12aXNpYmxlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAubjctYXJjaGl2ZXMge1xyXG4gICAgICAgIC5uNy1hcmNoaXZlLWZpbHRlcnMge1xyXG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1maWx0ZXJzX19zZWxlY3Qtb3JkZXIsXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoLXdyYXBwZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1hcmNoaXZlLWZpbHRlcnNfX3NlYXJjaC13cmFwcGVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWFyY2hpdmUtZmlsdGVyc19fc2VhcmNoIHtcclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctYXJjaGl2ZS1saXN0X19saXN0LWl0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0KjAuNzU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbiAgICAubjctYXJjaGl2ZXMge1xyXG4gICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbCB7XHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDMwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAubjctYnRuIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX2xpbmtzIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fbGluayB7XHJcbiAgICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fYXJjaGl2ZS1kZXRhaWwge1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubjctYXJjaGl2ZS1kZXRhaWxfX3JlZ2lzdGVyLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXh4cztcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLm43LWFyY2hpdmUtZGV0YWlsX19oZWFkZXJfc3RhdHVzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fc3RhdHVzIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eHM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1hcmNoaXZlLWRldGFpbF9fcmVnaXN0ZXItZGV0YWlsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLyoqXHJcbiAqIFNJTkdMRS1CT1gtQ09OVEVOVFxyXG4gKlxyXG4gKiBzaW5nbGUgY29udGVudCBwcmV2aWV3XHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjU0lOR0xFLUJPWC1DT05URU5UXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5uNy1zdG9yeS1saXN0IHtcclxuXHJcbiAgICAubjctc3RvcnktbGlzdF9faXRlbS1ncm91cCB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmcge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB3aWR0aDogc3BhbigzIG9mIDkpO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKDEgb2YgMTApO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigxIG9mIDEwKTtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktbGlzdF9faXRlbS12aWRlbyB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oMyBvZiAxMik7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoMSBvZiAxMik7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1wbGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiAxODRweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuICAgICAgICAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1pY29uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1tZXRhIHtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgIH1cclxuXHJcbiAgICAubjctc3RvcnktbGlzdF9faXRlbS12aWRlby1tZXRhLWxhYmVsIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTA0O1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1zdG9yeS1saXN0X192aWRlby10aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTA1O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tbDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JheS0wNTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLm93bC10aGVtZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2xpZGVyLWRvdHMoJGNvbG9yLXN0b3JpZXMpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubjctdmlkZW8tcGFnZSB7XHJcblxyXG4gICAgLm43LXN0b3J5LWxpc3Qge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgLm43LXN0b3J5LWxpc3RfX2l0ZW0tdmlkZW8tbWV0YS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1zdG9yeS1saXN0X19pdGVtLXZpZGVvLW1ldGEge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8qIFNsaWRlciBzdHlsZSAqL1xyXG5cclxuLy8ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0IC0gMSkge1xyXG4gICAgLm43LXN0b3J5LWxpc3Qge1xyXG5cclxuICAgICAgICAubjctc3RvcnktdmlkZW8tZ3JvdXBpbmcge1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKDYgb2YgMTIpO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoMSBvZiAxMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigxIG9mIDEyKTtcclxuXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuICsgMykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoMSBvZiAxMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuICsgMikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIE5FV1MgQVJDSElWRSBMSVNUIFNUWUxFXHJcbiAqXHJcbiAqIFN0eWxlIG9mIHNpbmdsZSBhcmNoaXZlIG5ld3MgaW4gbGlzdFxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI05FV1MtQVJDSElWRS1MSVNUXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LXNpbmdsZS1hcmNoaXZlIHtcclxuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTZlNmU2O1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCoxLjUgMCAkc3BhY2luZy11bml0KjAuNSAwO1xyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICAubjctc2luZ2xlLWFyY2hpdmVfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1sO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNpbmctdW5pdCAwICRzcGFjaW5nLXVuaXQvMiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbnM7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXNpbmdsZS1hcmNoaXZlX19saW5rOmhvdmVyIHtcclxuICAgICAgICAubjctc2luZ2xlLWFyY2hpdmVfX3RpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbmstaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcbn0iLCIvKipcclxuICogUEFHSU5BVElPTlxyXG4gKlxyXG4gKiBTdHlsZSBmb3IgcGFnaW5hdGlvblxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1BBR0lOQVRJT05cclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctcGFnaW5hdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcblxyXG4gICAgLm43LXBhZ2luYXRpb25faW5uZXIge1xyXG4gICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LTA0O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAucGFnZS1udW1iZXJzIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgLy8gYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLWdyYXktMDM7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTA1O1xyXG5cclxuICAgICAgICAmLmN1cnJlbnQge1xyXG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkY29sb3ItbWFpbjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCguY3VycmVudCk6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiBOVU1CRVIgUk9XXHJcbiAqXHJcbiAqIE51bWJlciByb3dcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNOVU1CRVItUk9XXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5uNy1udW1iZXItcm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDM7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmdzO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1sO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCo0LjU7XHJcbiAgICBwYWRkaW5nOiAwIDAgJHNwYWNpbmctdW5pdCAyMHB4O1xyXG4gICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yLWdyYXktMDUsIDIwKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcblxyXG4gICAgLm43LW51bWJlci1yb3dfX2JveCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB9XHJcblxyXG4gICAgLm43LW51bWJlci1yb3dfX251bS1ib3gge1xyXG4gICAgICAgIG1hcmdpbjogMCAkc3BhY2luZy11bml0KjU7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcclxuICAgIH1cclxuXHJcbiAgICAubjctbnVtYmVyLXJvd19fbnVtYmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXNlY29uZDtcclxuICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1sYWJlbHM7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICRjb2xvci1zZWNvbmQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1udW1iZXItcm93X190ZXh0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tbDtcclxuICAgICAgICBjb2xvcjogbGlnaHRlbigkY29sb3ItZ3JheS0wNSwgMjApO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG5cclxuICAgIC5uNy1udW1iZXItcm93IHtcclxuICAgICAgICAubjctbnVtYmVyLXJvd19fbnVtLWJveCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAkc3BhY2luZy11bml0KjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcclxuXHJcbiAgICAubjctbnVtYmVyLXJvdyB7XHJcbiAgICAgICAgLm43LW51bWJlci1yb3dfX251bS1ib3gge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgJHNwYWNpbmctdW5pdCoxLjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG5cclxuICAgIC5uNy1udW1iZXItcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMztcclxuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNpbmctdW5pdCAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG5cclxuICAgICAgICAubjctbnVtYmVyLXJvd19fYm94IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0IDAgMCAwO1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LW51bWJlci1yb3dfX251bS1ib3gge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LW51bWJlci1yb3dfX251bWJlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAkY29sb3Itc2Vjb25kO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uNy1udW1iZXItcm93X190ZXh0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgICAgIGNvbG9yOiBsaWdodGVuKCRjb2xvci1ncmF5LTA1LCAyMCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAubjctbnVtYmVyLXJvdyB7XHJcbiAgICAgICAgLm43LW51bWJlci1yb3dfX2JveCB7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctbnVtYmVyLXJvd19fbnVtLWJveCB7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctbnVtYmVyLXJvd19fbnVtYmVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LW51bWJlci1yb3dfX3RleHQge1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyoqXHJcbiAqIFdJREdFVCBTVE9SSUVTIExJU1RcclxuICpcclxuICogd2lkZ2V0IHN0b3JpZXMgbGlzdFxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1dJREdFVC1TVE9SSUVTLUxJU1RcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLm43LXdpZGdldC1zdG9yaWVzLWxpc3Qge1xyXG4gICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5LWl0ZW0sIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5IHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgIGhlaWdodDogMTEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxcHggMCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi1kdXJhdGlvbnM7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWRhcms7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLDAuMDUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9fc3RvcnktaXRlbSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcclxuICAgIH1cclxuXHJcbiAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9feW91ci1zdG9yeSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9yYWNjb250YS1zdG9yaWEuanBnJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNpbmctdW5pdCoxLjI1ICRzcGFjaW5nLXVuaXQvMiAkc3BhY2luZy11bml0LzIgJHNwYWNpbmctdW5pdC8yO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXN0b3JpZXM7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xyXG5cclxuICAgIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IHtcclxuICAgICAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9fc3RvcnlfaXRlbSxcclxuICAgICAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9feW91cl9zdG9yeSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0Mi44MCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXJfc3RvcnlfbGluayxcclxuICAgICAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9feW91cl9zdG9yeV90aXRsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5X2l0ZW0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDIuODAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXJfc3Rvcnkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTAuNTglO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxuXHJcbiAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdCB7XHJcbiAgICAgICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3N0b3J5LWl0ZW0sIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0X195b3VyLXN0b3J5IHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IHNwYW4oNiBvZiAxMik7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcihvZiAxMik7XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXItc3Rvcnkge1xyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDE0MHB4O1xyXG5cclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG5cclxuICAgIC5uNy13aWRnZXQtc3Rvcmllcy1saXN0IHtcclxuICAgICAgICAubjctd2lkZ2V0LXN0b3JpZXMtbGlzdF9fc3RvcnktaXRlbSwgLm43LXdpZGdldC1zdG9yaWVzLWxpc3RfX3lvdXItc3Rvcnkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLyoqXHJcbiAqIFVJIEFVVE9DT01QTEVURVxyXG4gKlxyXG4gKiBTdHlsZSBmb3IgYXV0b2NvbXBsZXRlXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjVUktQVVUT0NPTVBMRVRFXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi51aS1hdXRvY29tcGxldGUge1xyXG4gICAgd2lkdGg6IDQ5NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNDBweDtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyYXktMDQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIC8vcmlnaHQ6IDMuNiUgIWltcG9ydGFudDtcclxuICAgIC8vbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwwLDAsMC4yMCk7XHJcbn1cclxuXHJcbi51aS1tZW51LWl0ZW0ge1xyXG4gICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbnMgZWFzZTtcclxuXHJcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYudWktc3RhdGUtZm9jdXMsICYudWktc3RhdGUtZm9jdXM6aG92ZXIsICYudWktc3RhdGUtZm9jdXM6Zm9jdXMge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogV2hpbGUgbG9hZGluZyAqL1xyXG5pbnB1dFt0eXBlPVwidGV4dFwiXS51aS1hdXRvY29tcGxldGUtbG9hZGluZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmIHVybChcIi4uLy4uL2ltYWdlcy9hdXRvY29tcGxldGUtbG9hZGVyLmdpZlwiKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCAyMHB4O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTBweCB0b3A7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQgLSAxKSB7XHJcbiAgICAudWktYXV0b2NvbXBsZXRlIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCkgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MHZoO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG4gICAgLnVpLWF1dG9jb21wbGV0ZSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iLCIvKipcclxuICogU1VCTUVOVS1MSVNUXHJcbiAqXHJcbiAqIFJpZ2h0IHNpZGViYWQgc3VibWVudVxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1NVQk1FTlUtTElTVFxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubjctc3VibWVudS1saXN0IHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG5cclxuICAgIC5uNy1zdWJtZW51LWxpc3RfX2hlYWRlciB7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQtbWVkaXVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZ3M7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2VfaXRlbSB7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXhzO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUoJ1xcZjA1NCcpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHhzO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1saWdodC1ibHVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvKipcclxuICogWU9VUiBTVE9SWSBHQUxMRVJZXHJcbiAqXHJcbiAqIHlvdXIgc3RvcnkgZ2FsbGVyeSBzdHlsZVxyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1lPVVItU1RPUlktR0FMTEVSWVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZW50cnktY29udGVudCB7XHJcbiAgICAuZ2FsbGVyeSB7XHJcbiAgICAgICAgLy9tYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCoyICRzcGFjaW5nLXVuaXQqMiAwO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcblxyXG4gICAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5nYWxsZXJ5LWljb24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MS43JTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXNsaWRlci1kb3RzO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJi5vd2wtdGhlbWUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzbGlkZXItZG90cygkY29sb3ItbWFpbik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAub3dsLWRvdHMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIC5vd2wtaXRlbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdG9yeV9jYXRlZ29yeS1yYWNjb250YS1sYS10dWEtc3RvcmlhIHtcclxuICAgIC5nYWxsZXJ5IHtcclxuICAgICAgICAmLm93bC10aGVtZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNsaWRlci1kb3RzKCRjb2xvci1zdG9yaWVzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cC1jYXB0aW9uLXRleHQge1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgbWFyZ2luLXRvcDogJHNwYWNpbmctdW5pdDtcclxuICAgIGNvbG9yOiAkY29sb3ItaW1hZ2UtZGVzY3JpcHRpb247XHJcblxyXG4gICAgJi5nYWxsZXJ5LWNhcHRpb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxuXHJcbiAgICAuZW50cnktY29udGVudCB7XHJcbiAgICAgICAgLmdhbGxlcnkge1xyXG4gICAgICAgICAgICAvL21hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdDtcclxuXHJcbiAgICAgICAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xyXG5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmdhbGxlcnktaWNvbiB7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5vd2wtZG90cyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vd2wtbmF2LmRpc2FibGVkKy5vd2wtZG90cyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAud3AtY2FwdGlvbi10ZXh0IHtcclxuXHJcbiAgICAgICAgJi5nYWxsZXJ5LWNhcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIEdFTkVSQUwgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3IgYWxsIHBhZ2VzXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUFJTi1DT05URU5ULUxFRlRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctYXJjaGl2ZS1uZXdzIHtcclxuICAgIHdpZHRoOiBzcGFuKCA5IG9mIDEyICkgO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgMTIgKTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgIC5uNy1uZXdzLXByZXZpZXcge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCAzIG9mIDkpO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCAxIG9mIDkgKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoM24pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoM24rMSkge1xyXG4gICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1NJREVCQVJcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctYXJjaGl2ZS1uZXdzLXNpZGViYXIge1xyXG4gICAgd2lkdGg6IHNwYW4oIDMgb2YgMTIgKSA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLypcclxuLm43LWFyY2hpdmUtbmV3cy1hcmNoaXZlIHtcclxuICAgIHdpZHRoOiBzcGFuKCAzIG9mIDEyICkgO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuKi9cclxuXHJcbi8qXHJcbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWFyY2hpdmUtbmV3cyB7XHJcbiAgICAubjctYXJjaGl2ZS1uZXdzLWFyY2hpdmUge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA3IG9mIDEyICk7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgICAgLm43LW1vZHVsZS1oZWFkaW5nIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctc2luZ2xlLWFyY2hpdmU6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1vdGhlci1uZXdzIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggNSBvZiAxMiApIDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgIC5uNy13aWRnZXQtbmV3cyB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubjctbW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG5cclxuICAgIC5uNy1hcmNoaXZlLW5ld3Mge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA4IG9mIDEyICkgO1xyXG5cclxuICAgICAgICAubjctbmV3cy1wcmV2aWV3Om50aC1jaGlsZCgxbikge1xyXG4gICAgICAgICAgICB3aWR0aDogc3BhbiggNCBvZiA4KTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgOCApO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgY2xlYXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgybikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgybisxKSB7XHJcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubjctYXJjaGl2ZS1uZXdzLXNpZGViYXIge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA0IG9mIDEyICkgO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxuXHJcbiAgICAubjctYXJjaGl2ZS1uZXdzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcblxyXG4gICAgICAgIC5uNy1uZXdzLXByZXZpZXc6bnRoLWNoaWxkKDFuKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBzcGFuKCA2IG9mIDEyKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgMTIgKTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xyXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm43LWFyY2hpdmUtbmV3cy1zaWRlYmFyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcblxyXG4gICAgLm43LWFyY2hpdmUtbmV3cyB7XHJcbiAgICAgICAgLm43LW5ld3MtcHJldmlldzpudGgtY2hpbGQoMW4pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIGNsZWFyOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iLCIvKipcclxuICogRkFRIFBBR0UgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3IgZmFxIHBhZ2VcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNGQVEtUEFHRS1MQVlPVVRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4udWZhcS1mYXEtbGlzdCB7XHJcbiAgICAvKiBQbHVzIGUgbWludXMgKi9cclxuICAgIC5ld2QtdWZhcS1wb3N0LW1hcmdpbi1zeW1ib2wge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwcHggMHB4IDJweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJvcmRlci1kYXJrO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRpdGxlICovXHJcbiAgICAudWZhcS1mYXEtdGl0bGUtdGV4dCB7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1haW47XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tbDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGV4dCAqL1xyXG4gICAgLnVmYXEtZmFxLWJvZHkge1xyXG4gICAgICAgIC51ZmFxLWZhcS1wb3N0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItYm9yZGVyLWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0KSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYXJ0cGhvbmUtbGFuZHNjYXBlKSB7XHJcblxyXG4gICAgLnVmYXEtZmFxLWxpc3Qge1xyXG4gICAgICAgIC8qIFBsdXMgZSBtaW51cyAqL1xyXG4gICAgICAgIC5ld2QtdWZhcS1wb3N0LW1hcmdpbi1zeW1ib2wge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjaW5nLXVuaXQvMjtcclxuICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8qIFRpdGxlICovXHJcbiAgICAgICAgLnVmYXEtZmFxLXRpdGxlLXRleHQge1xyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLyogVGV4dCAqL1xyXG4gICAgICAgIC51ZmFxLWZhcS1ib2R5IHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCAkc3BhY2luZy11bml0ICRzcGFjaW5nLXVuaXQgMzNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLyoqXHJcbiAqIEdFTkVSQUwgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3IgYWxsIHBhZ2VzXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjR0VORVJBTC1MQVlPVVRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4ubjctbWF4LXdpZHRoLWNvbnRlbnQge1xyXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLmhvbWUge1xyXG4gICAgLmNvbnRlbnQtYXJlYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250ZW50LWFyZWEge1xyXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubjctY29udGVudC1zdWJzZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNDT0xVTU5TXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciBsZWZ0ICovXHJcbi8qIFNpZGViYXIgTGVmdCAqL1xyXG4ubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xyXG4gICAgd2lkdGg6IHNwYW4oIDMgb2YgMTIgKTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgMTIgKTtcclxufVxyXG4vKiBNYWluIGNvbnRlbnQgKi9cclxuLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyICsgLm43LXNpbXBsZS1wYWdlX19pbm5lciB7XHJcbiAgICB3aWR0aDogc3BhbiggOSBvZiAxMiApO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qIFR3byBjb2x1bW5zIGxheW91dCAtIHNpZGViYXIgcmlnaHQgKi9cclxuLyogTWFpbiBjb250ZW50ICovXHJcbi5uNy1zaW1wbGUtcGFnZV9faW5uZXIge1xyXG4gICAgd2lkdGg6IHNwYW4oIDkgb2YgMTIgKTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgMTIgKTtcclxufVxyXG4vKiBSaWdodCBMZWZ0ICovXHJcbi5uNy1zaW1wbGUtcGFnZV9faW5uZXIgKyAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xyXG4gICAgd2lkdGg6IHNwYW4oIDMgb2YgMTIgKTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4vKiBUaHJlZSBjb2x1bW5zIGxheW91dCAtIHNpZGViYXIgcmlnaHQgKi9cclxuLyogU2lkZWJhciBMZWZ0ICovXHJcbi5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XHJcbiAgICB3aWR0aDogc3BhbiggMyBvZiAxMiApO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlciggMSBvZiAxMiApO1xyXG59XHJcbi8qIE1haW4gY29udGVudCAqL1xyXG4ubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0IHtcclxuICAgIHdpZHRoOiBzcGFuKCA2IG9mIDEyICk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCAxIG9mIDEyICk7XHJcbn1cclxuLyogU2lkZWJhciBSaWdodCAqL1xyXG4ubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0ICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcclxuICAgIHdpZHRoOiBzcGFuKCAzIG9mIDEyICk7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTEyMHB4KSB7XHJcblxyXG4gICAgLm43LW1heC13aWR0aC1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjaW5nLXVuaXQqMjtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnQtYXJlYSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcblxyXG4gICAgLyogQ09MVU1OUyAqL1xyXG4gICAgLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciBsZWZ0ICovXHJcbiAgICAvKiBTaWRlYmFyIExlZnQgKi9cclxuICAgIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDQgb2YgMTIgKTtcclxuICAgIH1cclxuICAgIC8qIE1haW4gY29udGVudCAqL1xyXG4gICAgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyICsgLm43LXNpbXBsZS1wYWdlX19pbm5lciB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDggb2YgMTIgKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiBUd28gY29sdW1ucyBsYXlvdXQgLSBzaWRlYmFyIHJpZ2h0ICovXHJcbiAgICAvKiBNYWluIGNvbnRlbnQgKi9cclxuICAgIC5uNy1zaW1wbGUtcGFnZV9faW5uZXIge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA4IG9mIDEyICk7XHJcbiAgICB9XHJcbiAgICAvKiBSaWdodCBMZWZ0ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX2lubmVyICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggNCBvZiAxMiApO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFRocmVlIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciByaWdodCAqL1xyXG4gICAgLyogU2lkZWJhciBMZWZ0ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA0IG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoIDEgb2YgMTIgKTtcclxuICAgIH1cclxuICAgIC8qIE1haW4gY29udGVudCAqL1xyXG4gICAgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyICsgLm43LXNpbXBsZS1wYWdlX19pbm5lci1yaWdodC5uNy1zaW1wbGUtcGFnZV9faW5uZXItbGVmdCB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDggb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAvKiBTaWRlYmFyIFJpZ2h0ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0ICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggOCBvZiAxMiApO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogc3BhbiggNCBvZiAxMiApO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogZ3V0dGVyKG9mIDEyKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQgLSAxKSB7XHJcblxyXG4gICAgLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciBsZWZ0ICovXHJcbiAgICAvKiBTaWRlYmFyIExlZnQgKi9cclxuICAgIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDEyIG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLyogTWFpbiBjb250ZW50ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggMTIgb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVHdvIGNvbHVtbnMgbGF5b3V0IC0gc2lkZWJhciByaWdodCAqL1xyXG4gICAgLyogTWFpbiBjb250ZW50ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX2lubmVyIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggMTIgb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAvKiBSaWdodCBMZWZ0ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX2lubmVyICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggMTIgb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLyogVGhyZWUgY29sdW1ucyBsYXlvdXQgLSBzaWRlYmFyIHJpZ2h0ICovXHJcbiAgICAvKiBTaWRlYmFyIExlZnQgKi9cclxuICAgIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDEyIG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gICAgLyogTWFpbiBjb250ZW50ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0IHtcclxuICAgICAgICB3aWR0aDogc3BhbiggMTIgb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAvKiBTaWRlYmFyIFJpZ2h0ICovXHJcbiAgICAubjctc2ltcGxlLXBhZ2VfX3NpZGViYXIgKyAubjctc2ltcGxlLXBhZ2VfX2lubmVyLXJpZ2h0Lm43LXNpbXBsZS1wYWdlX19pbm5lci1sZWZ0ICsgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggMTIgb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxuXHJcbiAgICAubjctbWF4LXdpZHRoLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50LWFyZWEge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZy11bml0O1xyXG4gICAgfVxyXG59IiwiLyoqXHJcbiAqIEdMT1NTQVJZIExBWU9VVFxyXG4gKlxyXG4gKiBMYXlvdXQgZm9yIEdMT1NTQVJZIHBhZ2VcclxuICovXHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNHTE9TU0FSWS1MQVlPVVRcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLyogTGV0dGVycyAqL1xyXG4ubmFtZV9kaXJlY3RvcnlfaW5kZXgge1xyXG4gICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctdW5pdCoyIDA7XHJcbiAgICBwYWRkaW5nOiAwIDFweCAwIDA7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC8vIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG5cclxuICAgIC5uYW1lX2RpcmVjdG9yeV9zdGFydHN3aXRoIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luOiAwIC0xcHggJHNwYWNpbmctdW5pdC8yIDA7XHJcbiAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdCowLjc1ICRzcGFjaW5nLXVuaXQqMTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItbm9ybWFsO1xyXG4gICAgICAgIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLW5vcm1hbDtcclxuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1ub3JtYWw7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgJi5uYW1lX2RpcmVjdG9yeV9lbXB0eSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtbWVkaXVtO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtbGluay1ob3ZlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIFRvdGFsIHJlc3VsdHMgKi9cclxuLm5hbWVfZGlyZWN0b3J5X3RvdGFsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEl0ZW1zICovXHJcbi5uYW1lX2RpcmVjdG9yeV9uYW1lX2JveCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjEuNTtcclxuXHJcbiAgICBiciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1haW47XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1sO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWxpbms7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdC8yO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uLWR1cmF0aW9ucztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rLWhvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcclxuICAgIH1cclxufVxyXG5cclxuLyogSGVscCB0ZXh0ICovXHJcbi5uYW1lX2RpcmVjdG9yeV9uYW1lcyB7XHJcbiAgICBwIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIEhPTUUgTUlERExFXHJcbiAqXHJcbiAqIE1pZGRsZSBhcmVhIG9mIHRoZSBob21lIHBhZ2VcclxuICovXHJcblxyXG4ubjctaG9tZS1pbm5lci1jb250ZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BhZ2UtYmctMS5qcGcpLCB1cmwoLi4vaW1hZ2VzL3BhZ2UtYmctMi5qcGcpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcCwgY2VudGVyIDUwJTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIsIGNvdmVyO1xyXG59XHJcblxyXG4ubjctaG9tZS1taWRkbGUge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQqNCAwIDAgMDtcclxuXHJcbiAgICAubjctZmVhdHVyZWQtcm93IHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKDkgb2YgMTIpO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqNC41O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKDEgb2YgMTIpO1xyXG5cclxuICAgICAgICAubjctc2luZ2xlLWJveC1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IHNwYW4oMyBvZiA5KTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKG9mIDkpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG5cclxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uNy1ob21lLXNpZGViYXIge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKDMgb2YgMTIpO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqNC41O1xyXG4gICAgICAgIC8vIG1hcmdpbi10b3A6IDUwcHg7XHJcblxyXG4gICAgICAgIC5uNy1tb2R1bGUtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uNy1ob21lLWJvdHRvbSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMCAwICRzcGFjaW5nLXVuaXQqMiAwO1xyXG5cclxuICAgIC5uNy13aWRnZXQtbmV3cyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTI1cHgpIHtcclxuXHJcbiAgICAubjctaG9tZS1pbm5lci1jb250ZW50cyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0KjI7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNpbmctdW5pdCoyO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxuXHJcbiAgICAubjctaG9tZS1taWRkbGUge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2luZy11bml0KjM7XHJcblxyXG4gICAgICAgIC5uNy1mZWF0dXJlZC1yb3cge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCozO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWhvbWUtc2lkZWJhciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy11bml0KjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEgKSB7XHJcblxyXG4gICAgLm43LWhvbWUtaW5uZXItY29udGVudHMge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNpbmctdW5pdCoxO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXVuaXQqMTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU5MHB4KSB7XHJcblxyXG4gICAgLm43LWhvbWUtbWlkZGxlIHtcclxuICAgICAgICAubjctZmVhdHVyZWQtcm93IHtcclxuICAgICAgICAgICAgLm43LXNpbmdsZS1ib3gtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxyXG4gKiBQQUdFIExBWU9VVFxyXG4gKlxyXG4gKiBMYXlvdXQgZm9yIGFsbCBwYWdlc1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1BBR0UtTEFZT1VUXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLnBhZ2Uge1xyXG4gICAgLm43LWlubmVyLXBhZ2UtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IHNwYW4oIDggb2YgMTIgKTtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlciggMSBvZiAxMiApO1xyXG4gICAgfVxyXG5cclxuICAgIC5uNy1pbm5lci1wYWdlLXNpZGViYXIge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA0IG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogNjRweDtcclxuICAgIH1cclxufVxyXG5cclxuLmVudHJ5LWNvbnRlbnQge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0IC0gMSkge1xyXG4gICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtYXJjaGl2ZS1saXN0IHtcclxuICAgICAgICAubjctaW5uZXItcGFnZS1jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm43LWlubmVyLXBhZ2Utc2lkZWJhciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIFBPU1QgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3IgbmV3cywgYXJjaGl2ZXMgbmV3c1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI1BPU1QtTEFZT1VUXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLnR5cGUtcG9zdCB7XHJcbiAgICAuZW50cnktaGVhZGVyIHtcclxuICAgICAgICAubjctZGF0ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXHJcbiAgICNNRURJQS1RVUVSSUVTXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcHRvcCkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1pcGFkLXBvcnRyYWl0IC0gMSkge1xyXG59XHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFydHBob25lLWxhbmRzY2FwZSkge1xyXG59IiwiLyoqXHJcbiAqIFNUT1JJRVMgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3Igc3RvcmllcyBzZWN0aW9uIHBhZ2VzXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjU1RPUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQgLSAxKSB7XHJcblxyXG4gICAgLnNpbmdsZS1hbnRfc3RvcmlhLFxyXG4gICAgLmFudF9zdG9yaWEtdGVtcGxhdGUtZGVmYXVsdCB7XHJcbiAgICAgICAgLm43LXNpbXBsZS1wYWdlX19zaWRlYmFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgLm43LXN0b3J5LW1ldGEtYm94IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXVuaXQqMS41O1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAuY29udGVudF90eXBlLXBhZ2Utc3RvcnksXHJcbiAgICAuY29udGVudF90eXBlLXN0b3JpZXMge1xyXG4gICAgICAgICYuY29udGVudC1hcmVhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgLm43LWJyZWFkY3J1bWJzIHtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5lbnRyeS1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zaXRlLW1haW4ge1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5uNy1zaW1wbGUtcGFnZV9fc2lkZWJhciB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxyXG4gKiBURVJSSVRPUklPIEUgRk9OVEkgTEFZT1VUXHJcbiAqXHJcbiAqIExheW91dCBmb3IgVGVycml0b3JpbyBlIEZvbnRpXHJcbiAqL1xyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjVEVSUklUT1JJTy1GT05USVxyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi5uNy10ZXJyaXRvcmlvLWZvbnRpX19maXJzdC1ibG9jayB7XHJcbiAgICBhcnRpY2xlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxyXG4gICAjTUVESUEtUVVFUklFU1xyXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXB0b3ApIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtaXBhZC1wb3J0cmFpdCAtIDEpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxyXG4gKiBHRU5FUkFMIExBWU9VVFxyXG4gKlxyXG4gKiBMYXlvdXQgZm9yIGFsbCBwYWdlc1xyXG4gKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI0dFTkVSQUwtTEFZT1VUXHJcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLm43LXZpZGVvLXBhZ2Uge1xyXG4gICAgLm43LXZpZGVvLXBhZ2VfX3ZpZGVvIHtcclxuICAgICAgICB3aWR0aDogc3BhbiggNyBvZiAxMiApO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKCAxIG9mIDEyICk7XHJcblxyXG4gICAgICAgIC8qQUNGIFNUWUxFIEZPUiBSRVNQT05TSVZFIEVNQkVEIE9CSkVDVCovXHJcbiAgICAgICAgLm43LXZpZGVvLXBhZ2VfX2VtYmVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAgICAgICBpZnJhbWUsIG9iamVjdCwgZW1iZWQge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgLnZwLXBsYXllci1sYXlvdXQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm43LXN0b3J5LWxpc3Qge1xyXG4gICAgICAgIHdpZHRoOiBzcGFuKCA1IG9mIDEyICk7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vKiBTdG9yeSB2aWRlbyAqL1xyXG4ubjctc3RvcnktdmlkZW8ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmctdW5pdCoyO1xyXG5cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcclxuICAgI01FRElBLVFVRVJJRVNcclxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFwdG9wKSB7XHJcbn1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWlwYWQtcG9ydHJhaXQpIHtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hcnRwaG9uZS1sYW5kc2NhcGUpIHtcclxufSIsIi8qKlxuICogVVRJTElUSUVTXG4gKlxuICogR2VuZXJhbCB1dGlsaXRpZXNcbiAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gICAjVVRJTElUSUVTXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iXX0= */
