@charset "UTF-8";

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

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

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

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

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

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

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type=checkbox],
input[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

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

legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

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

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*
Copyright 2008-2013 Concur Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
*/

body,
html,
.content h3,
.content h4,
.content h5,
.content h6,
.content h2,
.content h1 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
}

.content h3,
.content h4,
.content h5,
.content h6,
.content h2,
.content h1 {
  font-weight: bold;
}

.content pre,
.content code {
  font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, serif;
  font-size: 12px;
  line-height: 1.5;
}

.content code {
  word-break: break-all;
  -webkit-hyphens: auto;
      -ms-hyphens: auto;
          hyphens: auto;
}

@font-face {
  font-family: "slate";
  src: url(/fonts/slate.woff2?ec86def6554d426269c7b12339d5f6ea) format("woff2"), url(/fonts/slate.woff?614baf0185e9cf5f9ff1339ca1491c84) format("woff");
  font-weight: normal;
  font-style: normal;
}

.toc-wrapper > .search:before,
.content aside.success:before,
.content aside.notice:before,
.content aside.warning:before {
  font-family: "slate";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
}

.content aside.warning:before {
  content: "\E600";
}

.content aside.notice:before {
  content: "\E602";
}

.content aside.success:before {
  content: "\E606";
}

.toc-wrapper > .search:before {
  content: "\E607";
}

/* PrismJS 1.19.0
https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+markup-templating+php */

/**
 * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML
 * Based on https://github.com/chriskempson/tomorrow-theme
 * @author Rose Pritchard
 */

code[class*=language-],
pre[class*=language-] {
  color: #ccc;
  background: none;
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
  font-size: 1em;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

/* Code blocks */

pre[class*=language-] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
}

:not(pre) > code[class*=language-],
pre[class*=language-] {
  background: #2d2d2d;
}

/* Inline code */

:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}

.token.comment,
.token.block-comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #999;
}

.token.punctuation {
  color: #ccc;
}

.token.tag,
.token.attr-name,
.token.namespace,
.token.deleted {
  color: #e2777a;
}

.token.function-name {
  color: #6196cc;
}

.token.boolean,
.token.number,
.token.function {
  color: #f08d49;
}

.token.property,
.token.class-name,
.token.constant,
.token.symbol {
  color: #f8c555;
}

.token.selector,
.token.important,
.token.atrule,
.token.keyword,
.token.builtin {
  color: #cc99cd;
}

.token.string,
.token.char,
.token.attr-value,
.token.regex,
.token.variable {
  color: #7ec699;
}

.token.operator,
.token.entity,
.token.url {
  color: #67cdcc;
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.entity {
  cursor: help;
}

.token.inserted {
  color: green;
}

/*
Copyright 2008-2013 Concur Technologies, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
*/

body,
html {
  color: #333;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #F3F7F9;
  height: 100%;
  -webkit-text-size-adjust: none;
  /* Never autoresize text */
}

#toc > ul > li > a > span {
  float: right;
  background-color: #2484FF;
  border-radius: 40px;
  width: 20px;
}

.toc-wrapper {
  transition: left 0.3s ease-in-out;
  overflow-y: auto;
  overflow-x: hidden;
  position: fixed;
  z-index: 30;
  top: 0;
  left: 0;
  bottom: 0;
  width: 230px;
  background-color: #2E3336;
  font-size: 13px;
  font-weight: bold;
}

.toc-wrapper .lang-selector {
  display: none;
}

.toc-wrapper .lang-selector a {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

.toc-wrapper .logo {
  display: block;
  margin-bottom: 0px;
  padding: 2rem 25% 1rem;
  width: 50%;
}

.toc-wrapper > .search {
  position: relative;
}

.toc-wrapper > .search input {
  background: #2E3336;
  border-width: 0 0 1px 0;
  border-color: #666;
  padding: 6px 0 6px 20px;
  box-sizing: border-box;
  margin: 10px 15px;
  width: 200px;
  outline: none;
  color: #fff;
  border-radius: 0;
  /* ios has a default border radius */
}

.toc-wrapper > .search:before {
  position: absolute;
  top: 17px;
  left: 15px;
  color: #fff;
}

.toc-wrapper .search-results {
  margin-top: 0;
  box-sizing: border-box;
  height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  transition-property: height, margin;
  transition-duration: 180ms;
  transition-timing-function: ease-in-out;
  background: #1E2224;
}

.toc-wrapper .search-results.visible {
  height: 30%;
  margin-bottom: 1em;
}

.toc-wrapper .search-results li {
  margin: 1em 15px;
  line-height: 1;
}

.toc-wrapper .search-results a {
  color: #fff;
  text-decoration: none;
}

.toc-wrapper .search-results a:hover {
  text-decoration: underline;
}

.toc-wrapper li,
.toc-wrapper ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 28px;
}

.toc-wrapper li {
  color: #fff;
  transition-property: background;
  transition-timing-function: linear;
  transition-duration: 200ms;
}

.toc-wrapper .toc-link.active {
  background-color: #0F75D4;
  color: #fff;
}

.toc-wrapper .toc-link.active-parent {
  background-color: #1E2224;
  color: #fff;
}

.toc-wrapper .toc-list-h2 {
  display: none;
  background-color: #1E2224;
  font-weight: 500;
}

.toc-wrapper .toc-h2 {
  padding-left: 25px;
  font-size: 12px;
}

.toc-wrapper .toc-footer {
  padding: 1em 0;
  margin-top: 1em;
  border-top: 1px dashed #666;
}

.toc-wrapper .toc-footer a,
.toc-wrapper .toc-footer li {
  color: #fff;
  text-decoration: none;
}

.toc-wrapper .toc-footer a:hover {
  text-decoration: underline;
}

.toc-wrapper .toc-footer li {
  font-size: 0.8em;
  line-height: 1.7;
  text-decoration: none;
}

.toc-footer li,
.toc-link {
  padding: 0 15px;
  display: block;
  overflow-x: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-decoration: none;
  color: #fff;
  transition-property: background;
  transition-timing-function: linear;
  transition-duration: 130ms;
}

#nav-button {
  padding: 0 1.5em 5em 0;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  opacity: 0.7;
  line-height: 16px;
  transition: left 0.3s ease-in-out;
}

#nav-button span {
  display: block;
  padding: 6px;
  background-color: rgba(243, 247, 249, 0.7);
  transform-origin: 0 0;
  transform: rotate(-90deg) translate(-100%, 0);
  border-radius: 0 0 0 5px;
}

#nav-button img {
  height: 16px;
  vertical-align: bottom;
}

#nav-button:hover {
  opacity: 1;
}

#nav-button.open {
  left: 230px;
}

.page-wrapper {
  margin-left: 230px;
  position: relative;
  z-index: 10;
  background-color: #F3F7F9;
  min-height: 100%;
  padding-bottom: 1px;
}

.page-wrapper .dark-box {
  width: 50%;
  background-color: #2E3336;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
}

.page-wrapper .lang-selector {
  position: fixed;
  z-index: 50;
  border-bottom: 5px solid #2E3336;
}

.lang-selector {
  background-color: #1E2224;
  width: 100%;
  font-weight: bold;
}

.lang-selector a {
  display: block;
  float: left;
  color: #fff;
  text-decoration: none;
  padding: 0 10px;
  line-height: 30px;
  outline: 0;
}

.lang-selector a:active,
.lang-selector a:focus {
  background-color: #111;
  color: #fff;
}

.lang-selector a.active {
  background-color: #2E3336;
  color: #fff;
}

.lang-selector:after {
  content: "";
  clear: both;
  display: block;
}

.content {
  -webkit-transform: translateZ(0);
  position: relative;
  z-index: 30;
}

.content:after {
  content: "";
  display: block;
  clear: both;
}

.content > aside,
.content > dl,
.content > h1,
.content > h2,
.content > h3,
.content > h4,
.content > h5,
.content > h6,
.content > ol,
.content > p,
.content > ul {
  margin-right: 50%;
  padding: 0 28px;
  box-sizing: border-box;
  display: block;
}

.content > ol,
.content > ul {
  padding-left: 43px;
}

.content > div,
.content > h1,
.content > h2 {
  clear: both;
}

.content h1 {
  font-size: 25px;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  margin-bottom: 21px;
  margin-top: 2em;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background-color: #fdfdfd;
}

.content div:first-child + h1,
.content h1:first-child {
  border-top-width: 0;
  margin-top: 0;
}

.content h2 {
  font-size: 19px;
  margin-top: 4em;
  margin-bottom: 0;
  border-top: 1px solid #ccc;
  padding-top: 1.2em;
  padding-bottom: 1.2em;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
}

.content h1 + div + h2,
.content h1 + h2 {
  margin-top: -21px;
  border-top: none;
}

.content h3,
.content h4,
.content h5,
.content h6 {
  font-size: 15px;
  margin-top: 2.5em;
  margin-bottom: 0.8em;
}

.content h4,
.content h5,
.content h6 {
  font-size: 10px;
}

.content hr {
  margin: 2em 0;
  border-top: 2px solid #2E3336;
  border-bottom: 2px solid #F3F7F9;
}

.content table {
  margin-left: 28px;
  margin-bottom: 1em;
  table-layout: fixed;
  overflow: auto;
  width: calc(50% - 56px);
}

.content table td,
.content table th {
  text-align: left;
  vertical-align: top;
  line-height: 1.6;
}

.content table td code,
.content table th code {
  white-space: nowrap;
}

.content table th {
  padding: 5px 10px;
  border-bottom: 1px solid #ccc;
  vertical-align: bottom;
}

.content table td {
  padding: 10px;
}

.content table tr:last-child {
  border-bottom: 1px solid #ccc;
}

.content table tr:nth-child(odd) > td {
  background-color: #fff;
}

.content table tr:nth-child(even) > td {
  background-color: #f0f0f0;
}

.content .responsive-table {
  clear: none;
  margin-left: 28px;
  margin-bottom: 1rem;
  overflow: auto;
  width: calc(50% - 56px);
}

.content .responsive-table table {
  margin: 0;
  min-width: 100%;
  overflow: visible;
  width: auto;
}

.content .responsive-table::-webkit-scrollbar {
  width: 0.5rem;
}

.content .responsive-table::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(85, 85, 85, 0.25);
  border-radius: 10px;
}

.content .responsive-table::-webkit-scrollbar-thumb {
  background-color: #096d98;
  border-radius: 10px;
}

.content dt {
  font-weight: bold;
}

.content dd {
  margin-left: 15px;
}

.content dd,
.content dt,
.content li,
.content p {
  line-height: 1.6;
  margin-top: 0;
}

.content img {
  max-width: 100%;
}

.content code {
  background-color: rgba(0, 0, 0, 0.05);
  padding: 3px;
  border-radius: 3px;
}

.content pre > code {
  background-color: transparent;
  padding: 0;
}

.content aside {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  background: #8fbcd4;
  line-height: 1.6;
}

.content aside.warning {
  background-color: #c97a7e;
}

.content aside.success {
  background-color: #6ac174;
}

.content aside:before {
  vertical-align: middle;
  padding-right: 0.5em;
  font-size: 14px;
}

.content .search-highlight {
  padding: 2px;
  margin: -3px;
  border-radius: 4px;
  border: 1px solid #F7E633;
  background: linear-gradient(to top left, #F7E633 0%, #F1D32F 100%);
}

.content blockquote,
.content pre {
  background-color: #1E2224;
  color: #fff;
  margin: 0;
  width: 50%;
  float: right;
  clear: right;
  box-sizing: border-box;
}

.content blockquote > p,
.content pre > p {
  margin: 0;
}

.content blockquote a,
.content pre a {
  color: #fff;
  text-decoration: none;
  border-bottom: dashed 1px #ccc;
}

.content pre {
  padding: 2em 28px;
}

.content pre.code-spacer {
  margin-top: 2rem;
}

.content blockquote > p {
  background-color: #191D1F;
  padding: 13px 2em;
  color: #eee;
}

@media (max-width: 930px) {
  .toc-wrapper {
    left: -230px;
  }

  .toc-wrapper.open {
    left: 0;
  }

  .page-wrapper {
    margin-left: 0;
  }

  #nav-button {
    display: block;
  }

  .toc-link {
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
}

@media (max-width: 700px) {
  .dark-box {
    display: none;
  }

  .content > aside,
  .content > dl,
  .content > h1,
  .content > h2,
  .content > h3,
  .content > h4,
  .content > h5,
  .content > h6,
  .content > ol,
  .content > p,
  .content > ul {
    margin-right: 0;
  }

  .toc-wrapper .lang-selector {
    display: block;
  }

  .page-wrapper .lang-selector {
    display: none;
  }

  .content blockquote,
  .content pre {
    width: auto;
    float: none;
  }

  .content > blockquote + aside,
  .content > pre + aside,
  .content > blockquote + dl,
  .content > pre + dl,
  .content > blockquote + h1,
  .content > pre + h1,
  .content > blockquote + h2,
  .content > pre + h2,
  .content > blockquote + h3,
  .content > pre + h3,
  .content > blockquote + h4,
  .content > pre + h4,
  .content > blockquote + h5,
  .content > pre + h5,
  .content > blockquote + h6,
  .content > pre + h6,
  .content > blockquote + ol,
  .content > pre + ol,
  .content > blockquote + p,
  .content > pre + p,
  .content > blockquote + ul,
  .content > pre + ul {
    margin-top: 28px;
  }

  .content table {
    width: calc(100% - 28px);
  }

  .content .responsive-table {
    width: calc(100% - 56px);
  }
}

.highlight .c,
.highlight .c1,
.highlight .cm,
.highlight .cs {
  color: #909090;
}

.highlight,
.highlight .w {
  background-color: #1E2224;
}

.badge {
  background: #ddd;
  border-radius: 15px;
  display: inline-block;
  letter-spacing: 0.025em;
  font-size: 0.875rem;
  padding: 0.25rem 0.5rem;
  text-transform: uppercase;
}

.badge--small {
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
}

.badge--primary {
  background: #bbe5f6;
  color: #096d98;
}

.badge--success {
  background: #a6f6ab;
  color: #04990a;
}

.badge--error {
  background: #ff9494;
  color: #db0e0e;
}

.badge--warning {
  background: #ffd9a7;
  color: #c26e00;
}

.no-select {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3MvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zYXNzL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvYXNzZXRzL3Nhc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9hc3NldHMvc2Fzcy9faWNvbi1mb250LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2Fzc2V0cy9zYXNzL19wcmlzbS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztBQ0FBOztBQUVBOzs7O0dETUU7O0FDQUY7RUFDSTtFQUF5QjtFQUN6QjtFQUE0QjtFQUM1QjtFQUFnQztDRE1wQzs7QUNIQTs7R0RPRTs7QUNIRjtFQUNJO0NETUo7O0FDSEE7Z0ZETStFOztBQ0gvRTs7Ozs7R0RVRTs7QUNIRjs7Ozs7Ozs7Ozs7OztFQWFJO0NETUo7O0FDSEE7OztHRFFFOztBQ0hGOzs7O0VBSUk7RUFBdUI7RUFDdkI7RUFBMEI7Q0RROUI7O0FDTEE7OztHRFVFOztBQ0xGO0VBQ0k7RUFDQTtDRFFKOztBQ0xBOzs7R0RVRTs7QUNMRjs7RUFFSTtDRFFKOztBQ0xBO2dGRFErRTs7QUNML0U7O0dEU0U7O0FDTEY7RUFDSTtDRFFKOztBQ0xBOztHRFNFOztBQ0xGOztFQUVJO0NEUUo7O0FDTEE7Z0ZEUStFOztBQ0wvRTs7R0RTRTs7QUNMRjtFQUNJO0NEUUo7O0FDTEE7O0dEU0U7O0FDTEY7O0VBRUk7Q0RRSjs7QUNMQTs7R0RTRTs7QUNMRjtFQUNJO0NEUUo7O0FDTEE7OztHRFVFOztBQ0xGO0VBQ0k7RUFDQTtDRFFKOztBQ0xBOztHRFNFOztBQ0xGO0VBQ0k7RUFDQTtDRFFKOztBQ0xBOztHRFNFOztBQ0xGO0VBQ0k7Q0RRSjs7QUNMQTs7R0RTRTs7QUNMRjs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtDRFFKOztBQ0xBO0VBQ0k7Q0RRSjs7QUNMQTtFQUNJO0NEUUo7O0FDTEE7Z0ZEUStFOztBQ0wvRTs7R0RTRTs7QUNMRjtFQUNJO0NEUUo7O0FDTEE7O0dEU0U7O0FDTEY7RUFDSTtDRFFKOztBQ0xBO2dGRFErRTs7QUNML0U7O0dEU0U7O0FDTEY7RUFDSTtDRFFKOztBQ0xBOztHRFNFOztBQ0xGO0VBRUk7RUFDQTtDRFFKOztBQ0xBOztHRFNFOztBQ0xGO0VBQ0k7Q0RRSjs7QUNMQTs7R0RTRTs7QUNMRjs7OztFQUlJO0VBQ0E7Q0RRSjs7QUNMQTtnRkRRK0U7O0FDTC9FOzs7R0RVRTs7QUNMRjs7Ozs7R0RZRTs7QUNMRjs7Ozs7RUFLSTtFQUFnQjtFQUNoQjtFQUFlO0VBQ2Y7RUFBVztDRFdmOztBQ1JBOztHRFlFOztBQ1JGO0VBQ0k7Q0RXSjs7QUNSQTs7Ozs7R0RlRTs7QUNSRjs7RUFFSTtDRFdKOztBQ1JBOzs7Ozs7R0RnQkU7O0FDUkY7Ozs7RUFJSTtFQUE0QjtFQUM1QjtFQUFpQjtDRGFyQjs7QUNWQTs7R0RjRTs7QUNWRjs7RUFFSTtDRGFKOztBQ1ZBOztHRGNFOztBQ1ZGOztFQUVJO0VBQ0E7Q0RhSjs7QUNWQTs7O0dEZUU7O0FDVkY7RUFDSTtDRGFKOztBQ1ZBOzs7Ozs7R0RrQkU7O0FDVkY7O0VBRUk7RUFBd0I7RUFDeEI7RUFBWTtDRGVoQjs7QUNaQTs7OztHRGtCRTs7QUNaRjs7RUFFSTtDRGVKOztBQ1pBOzs7O0dEa0JFOztBQ1pGO0VBQ0k7RUFBK0I7RUFFRTtFQUNqQztDRGlCSjs7QUNkQTs7OztHRG9CRTs7QUNkRjs7RUFFSTtDRGlCSjs7QUNkQTs7R0RrQkU7O0FDZEY7RUFDSTtFQUNBO0VBQ0E7Q0RpQko7O0FDZEE7OztHRG1CRTs7QUNkRjtFQUNJO0VBQVc7RUFDWDtFQUFZO0NEbUJoQjs7QUNoQkE7O0dEb0JFOztBQ2hCRjtFQUNJO0NEbUJKOztBQ2hCQTs7O0dEcUJFOztBQ2hCRjtFQUNJO0NEbUJKOztBQ2hCQTtnRkRtQitFOztBQ2hCL0U7O0dEb0JFOztBQ2hCRjtFQUNJO0VBQ0E7Q0RtQko7O0FDaEJBOztF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Q0k7R0FnbUJOOztFQTdsQkU7O0lBQ0k7SUFDQTtHQWltQk47O0VBOWxCRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUNJO0dBc25CTjs7RUFubkJFO0lBQ0k7R0FzbkJOOztFQWxuQk07SUFDSTtHQXFuQlY7Q0FDRjs7QUFqbkJBOzs7O0VBSUk7Q0FvbkJKOztBQWpuQkE7O0VBRUk7Q0FvbkJKOztBQWpuQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDQW9uQko7O0FBbG5CSTtFQUNJO0VBQ0E7RUFDQTtDQXFuQlI7O0FBbG5CSTtFQUNJO0VBQ0E7Q0FxbkJSOztBQWxuQkk7RUFDSTtFQUNBO0NBcW5CUjs7QUFsbkJJO0VBQ0k7RUFDQTtDQXFuQlI7O0FBbG5CSTtFQUNJO0VBQ0E7Q0FxbkJSOztBQWhuQkE7RUFDSTtLQUFBO01BQUE7VUFBQTtDQW1uQkoiLCJmaWxlIjoiL2Fzc2V0cy9jc3MvYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwidXRmLThcIjtcbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnaWNvbi1mb250JztcbkBpbXBvcnQgJ3ByaXNtJzsgLy8gQGltcG9ydCAncnRsJzsgLy8gdW5jb21tZW50IHRvIHN3aXRjaCB0byBSVEwgZm9ybWF0XG4vKlxuQ29weXJpZ2h0IDIwMDgtMjAxMyBDb25jdXIgVGVjaG5vbG9naWVzLCBJbmMuXG5cbkxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7IHlvdSBtYXlcbm5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluXG5hIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUXG5XQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGVcbkxpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kIGxpbWl0YXRpb25zXG51bmRlciB0aGUgTGljZW5zZS5cbiovXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR0VORVJBTCBTVFVGRlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYm9keSxcbmh0bWwge1xuICAgIGNvbG9yOiAkbWFpbi10ZXh0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgQGV4dGVuZCAlZGVmYXVsdC1mb250O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWJnO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gICAgLyogTmV2ZXIgYXV0b3Jlc2l6ZSB0ZXh0ICovXG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVEFCTEUgT0YgQ09OVEVOVFNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiN0b2MgPiB1bCA+IGxpID4gYSA+IHNwYW4ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ4NEZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi50b2Mtd3JhcHBlciB7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAzMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6ICRuYXYtd2lkdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1iZztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgLy8gbGFuZ3VhZ2Ugc2VsZWN0b3IgZm9yIG1vYmlsZSBkZXZpY2VzXG4gICAgLmxhbmctc2VsZWN0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFRoaXMgaXMgdGhlIGxvZ28gYXQgdGhlIHRvcCBvZiB0aGUgVG9DXG4gICAgLmxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxvZ28tbWFyZ2luO1xuICAgICAgICBwYWRkaW5nOiAycmVtIDI1JSAxcmVtO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgICYgPiAuc2VhcmNoIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXYtYmc7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlYXJjaC1ib3gtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDAgNnB4IDIwcHg7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgbWFyZ2luOiAkbmF2LXYtcGFkZGluZyAkbmF2LXBhZGRpbmc7XG4gICAgICAgICAgICB3aWR0aDogJG5hdi13aWR0aCAtICgkbmF2LXBhZGRpbmcqMik7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRuYXYtdGV4dDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAvKiBpb3MgaGFzIGEgZGVmYXVsdCBib3JkZXIgcmFkaXVzICovXG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDE3cHg7XG4gICAgICAgICAgICBsZWZ0OiAkbmF2LXBhZGRpbmc7XG4gICAgICAgICAgICBjb2xvcjogJG5hdi10ZXh0O1xuICAgICAgICAgICAgQGV4dGVuZCAlaWNvbi1zZWFyY2g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogaGVpZ2h0LCBtYXJnaW47XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE4MG1zO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXYtc3ViaXRlbS1iZztcblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDFlbSAkbmF2LXBhZGRpbmc7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRuYXYtdGV4dDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gVGhlIFRhYmxlIG9mIENvbnRlbnRzIGlzIGNvbXBvc2VkIG9mIG11bHRpcGxlIG5lc3RlZFxuICAgIC8vIHVub3JkZXJlZCBsaXN0cy4gIFRoZXNlIHN0eWxlcyByZW1vdmUgdGhlIGRlZmF1bHRcbiAgICAvLyBzdHlsaW5nIG9mIGFuIHVub3JkZXJlZCBsaXN0IGJlY2F1c2UgaXQgaXMgdWdseS5cbiAgICBsaSxcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBjb2xvcjogJG5hdi10ZXh0O1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgICB9XG4gICAgLy8gVGhpcyBpcyB0aGUgY3VycmVudGx5IHNlbGVjdGVkIFRvQyBlbnRyeVxuICAgIC50b2MtbGluay5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXYtYWN0aXZlLXRleHQ7XG4gICAgfVxuICAgIC8vIHRoaXMgaXMgcGFyZW50IGxpbmtzIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgVG9DIGVudHJ5XG4gICAgLnRvYy1saW5rLmFjdGl2ZS1wYXJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWFjdGl2ZS1wYXJlbnQtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2LWFjdGl2ZS1wYXJlbnQtdGV4dDtcbiAgICB9XG5cbiAgICAudG9jLWxpc3QtaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXN1Yml0ZW0tYmc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnRvYy1oMiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG5hdi1wYWRkaW5nICsgJG5hdi1pbmRlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAudG9jLWZvb3RlciB7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgJG5hdi1mb290ZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgIGEsXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LXRleHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b2MtZm9vdGVyIGxpLFxuLnRvYy1saW5rIHtcbiAgICBwYWRkaW5nOiAwICRuYXYtcGFkZGluZztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRuYXYtdGV4dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTMwbXM7XG59XG4vLyBidXR0b24gdG8gc2hvdyBuYXZpZ2F0aW9uIG9uIG1vYmlsZSBkZXZpY2VzXG4jbmF2LWJ1dHRvbiB7XG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAkc2lkZS1wYWQ6ICRtYWluLXBhZGRpbmcgLyAyIC0gOHB4O1xuICAgICAgICBwYWRkaW5nOiAkc2lkZS1wYWQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG1haW4tYmcsIDAuNyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGUoLTEwMCUsIDApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCA1cHg7XG4gICAgfVxuICAgIHBhZGRpbmc6IDAgMS41ZW0gNWVtIDA7IC8vIGluY3JlYXNlIHRvdWNoIHNpemUgYXJlYVxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLm9wZW4ge1xuICAgICAgICBsZWZ0OiAkbmF2LXdpZHRoO1xuICAgIH1cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBQQUdFIExBWU9VVCBBTkQgQ09ERSBTQU1QTEUgQkFDS0dST1VORFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnBhZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6ICRuYXYtd2lkdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluLWJnO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDFweDsgLy8gcHJldmVudCBtYXJnaW4gb3ZlcmZsb3dcbiAgICAvLyBUaGUgZGFyayBib3ggaXMgd2hhdCBnaXZlcyB0aGUgY29kZSBzYW1wbGVzIHRoZWlyIGRhcmsgYmFja2dyb3VuZC5cbiAgICAvLyBJdCBzaXRzIGVzc2VudGlhbGx5IHVuZGVyIHRoZSBhY3R1YWwgY29udGVudCBibG9jaywgd2hpY2ggaGFzIGFcbiAgICAvLyB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLlxuICAgIC8vIEkga25vdywgaXQncyBoYWNraXNoLCBidXQgaXQncyB0aGUgc2ltcGxpc3Qgd2F5IHRvIG1ha2UgdGhlIGxlZnRcbiAgICAvLyBoYWxmIG9mIHRoZSBjb250ZW50IGFsd2F5cyB0aGlzIGJhY2tncm91bmQgY29sb3IuXG4gICAgLmRhcmstYm94IHtcbiAgICAgICAgd2lkdGg6ICRleGFtcGxlcy13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGV4YW1wbGVzLWJnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubGFuZy1zZWxlY3RvciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgei1pbmRleDogNTA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkbGFuZy1zZWxlY3QtYWN0aXZlLWJnO1xuICAgIH1cbn1cblxuLmxhbmctc2VsZWN0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYW5nLXNlbGVjdC1iZztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAkbGFuZy1zZWxlY3QtdGV4dDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsYW5nLXNlbGVjdC1wcmVzc2VkLWJnO1xuICAgICAgICAgICAgY29sb3I6ICRsYW5nLXNlbGVjdC1wcmVzc2VkLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFuZy1zZWxlY3QtYWN0aXZlLWJnO1xuICAgICAgICAgICAgY29sb3I6ICRsYW5nLXNlbGVjdC1hY3RpdmUtdGV4dDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDT05URU5UIFNUWUxFU1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoaXMgaXMgYWxsIHRoZSBzdHVmZiB3aXRoIHRoZSBsaWdodCBiYWNrZ3JvdW5kIGluIHRoZSBsZWZ0IGhhbGYgb2YgdGhlIHBhZ2VcblxuLmNvbnRlbnQge1xuICAgIC8vIGZpeGVzIHdlYmtpdCByZW5kZXJpbmcgYnVnIGZvciBzb21lOiBzZWUgIzUzOFxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC8vIHRvIHBsYWNlIGNvbnRlbnQgYWJvdmUgdGhlIGRhcmsgYm94XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDMwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJiA+IGFzaWRlLFxuICAgICYgPiBkbCxcbiAgICAmID4gaDEsXG4gICAgJiA+IGgyLFxuICAgICYgPiBoMyxcbiAgICAmID4gaDQsXG4gICAgJiA+IGg1LFxuICAgICYgPiBoNixcbiAgICAmID4gb2wsXG4gICAgJiA+IHAsXG4gICAgLy8gJiA+IHRhYmxlLFxuICAgICYgPiB1bCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGV4YW1wbGVzLXdpZHRoO1xuICAgICAgICBwYWRkaW5nOiAwICRtYWluLXBhZGRpbmc7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAZXh0ZW5kICVsZWZ0LWNvbDtcbiAgICB9XG5cbiAgICAmID4gb2wsXG4gICAgJiA+IHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbWFpbi1wYWRkaW5nICsgMTVweDtcbiAgICB9XG4gICAgLy8gdGhlIGRpdiBpcyB0aGUgdG9jaWZ5IGhpZGRlbiBkaXYgZm9yIHBsYWNlaG9sZGluZyBzdHVmZlxuICAgICYgPiBkaXYsXG4gICAgJiA+IGgxLFxuICAgICYgPiBoMiB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRoMS1tYXJnaW4tYm90dG9tO1xuICAgICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDtcbiAgICB9XG5cbiAgICBkaXY6Zmlyc3QtY2hpbGQgKyBoMSxcbiAgICBoMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAZXh0ZW5kICVoZWFkZXItZm9udDtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBwYWRkaW5nLXRvcDogMS4yZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgjZmZmLCAwLjIpLCByZ2JhKCNmZmYsIDApKTtcbiAgICB9XG4gICAgLy8gaDJzIHJpZ2h0IGFmdGVyIGgxcyBzaG91bGQgYnVtcCByaWdodCB1cFxuICAgIC8vIGFnYWluc3QgdGhlIGgxcy5cbiAgICBoMSArIGRpdiArIGgyLFxuICAgIGgxICsgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAkaDEtbWFyZ2luLWJvdHRvbSAqIC0xO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICAgIH1cblxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAyZW0gMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRleGFtcGxlcy1iZztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRtYWluLWJnO1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDU2cHgpO1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgICAgICAgIGNvZGUge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICB9XG5cbiAgICAgICAgdHI6bnRoLWNoaWxkKG9kZCkgPiB0ZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pID4gdGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNTZweCk7XG5cbiAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoIzU1NSwgLjI1KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICBkdCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgZGQsXG4gICAgZHQsXG4gICAgbGksXG4gICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDUpO1xuICAgICAgICBwYWRkaW5nOiAzcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgQGV4dGVuZCAlYnJlYWstd29yZHM7XG4gICAgICAgIEBleHRlbmQgJWNvZGUtZm9udDtcbiAgICB9XG5cbiAgICBwcmUgPiBjb2RlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgYXNpZGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRhc2lkZS1ub3RpY2UtYmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgICAgJi53YXJuaW5nIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS13YXJuaW5nLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdWNjZXNzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhc2lkZS1zdWNjZXNzLWJnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXNpZGU6YmVmb3JlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICBhc2lkZS5ub3RpY2U6YmVmb3JlIHtcbiAgICAgICAgQGV4dGVuZCAlaWNvbi1pbmZvLXNpZ247XG4gICAgfVxuXG4gICAgYXNpZGUud2FybmluZzpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVpY29uLWV4Y2xhbWF0aW9uLXNpZ247XG4gICAgfVxuXG4gICAgYXNpZGUuc3VjY2VzczpiZWZvcmUge1xuICAgICAgICBAZXh0ZW5kICVpY29uLW9rLXNpZ247XG4gICAgfVxuXG4gICAgLnNlYXJjaC1oaWdobGlnaHQge1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIG1hcmdpbjogLTNweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRjdFNjMzO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wIGxlZnQsICNGN0U2MzMgMCUsICNGMUQzMkYgMTAwJSk7XG4gICAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIENPREUgU0FNUExFIFNUWUxFU1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoaXMgaXMgYWxsIHRoZSBzdHVmZiB0aGF0IGFwcGVhcnMgaW4gdGhlIHJpZ2h0IGhhbGYgb2YgdGhlIHBhZ2VcblxuLmNvbnRlbnQge1xuICAgIGJsb2NrcXVvdGUsXG4gICAgcHJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAkZXhhbXBsZXMtd2lkdGg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBAZXh0ZW5kICVyaWdodC1jb2w7XG5cbiAgICAgICAgJiA+IHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI2NjYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIEBleHRlbmQgJWNvZGUtZm9udDtcbiAgICAgICAgcGFkZGluZzogMmVtICRtYWluLXBhZGRpbmc7XG5cbiAgICAgICAgJi5jb2RlLXNwYWNlciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgICYgPiBwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWFubm90YXRpb24tYmc7XG4gICAgICAgICAgICBwYWRkaW5nOiAkY29kZS1hbm5vdGF0aW9uLXBhZGRpbmcgMmVtO1xuICAgICAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUkVTUE9OU0lWRSBERVNJR05cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaGVzZSBhcmUgdGhlIHN0eWxlcyBmb3IgcGhvbmVzIGFuZCB0YWJsZXRzXG4vLyBUaGVyZSBhcmUgYWxzbyBhIGNvdXBsZSBzdHlsZXMgZGlzcGVyZXNlZFxuQG1lZGlhIChtYXgtd2lkdGg6ICR0YWJsZXQtd2lkdGgpIHtcbiAgICAudG9jLXdyYXBwZXIge1xuICAgICAgICBsZWZ0OiAtJG5hdi13aWR0aDtcblxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAjbmF2LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC50b2MtbGluayB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjNlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuM2VtO1xuICAgIH1cblxuXG59XG5AbWVkaWEgKG1heC13aWR0aDogJHBob25lLXdpZHRoKSB7XG4gICAgLmRhcmstYm94IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAlbGVmdC1jb2wge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnRvYy13cmFwcGVyIC5sYW5nLXNlbGVjdG9yIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnBhZ2Utd3JhcHBlciAubGFuZy1zZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJXJpZ2h0LWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG5cbiAgICAlcmlnaHQtY29sICsgJWxlZnQtY29sIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJG1haW4tcGFkZGluZztcbiAgICB9XG5cbiAgICAuY29udGVudCB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHB4KTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhpZ2hsaWdodCAuYyxcbi5oaWdobGlnaHQgLmMxLFxuLmhpZ2hsaWdodCAuY20sXG4uaGlnaGxpZ2h0IC5jcyB7XG4gICAgY29sb3I6ICM5MDkwOTA7XG59XG5cbi5oaWdobGlnaHQsXG4uaGlnaGxpZ2h0IC53IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iZztcbn1cblxuLmJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYtLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3ItdGludDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc3VjY2Vzcy1jb2xvci10aW50O1xuICAgICAgICBjb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgfVxuXG4gICAgJi0tZXJyb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZXJyb3ItY29sb3ItdGludDtcbiAgICAgICAgY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdhcm5pbmctY29sb3ItdGludDtcbiAgICAgICAgY29sb3I6ICR3YXJuaW5nLWNvbG9yO1xuICAgIH1cbn1cblxuXG4ubm8tc2VsZWN0IHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cbiIsIi8qXG5Db3B5cmlnaHQgMjAwOC0yMDEzIENvbmN1ciBUZWNobm9sb2dpZXMsIEluYy5cblxuTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTsgeW91IG1heVxubm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW5cbmEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuXG5Vbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG5kaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVRcbldBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZVxuTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnNcbnVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ1VTVE9NSVpFIFNMQVRFXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVXNlIHRoZXNlIHNldHRpbmdzIHRvIGhlbHAgYWRqdXN0IHRoZSBhcHBlYXJhbmNlIG9mIFNsYXRlXG5cblxuLy8gQkFDS0dST1VORCBDT0xPUlNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbmF2LWJnOiAjMkUzMzM2ICFkZWZhdWx0O1xuJGV4YW1wbGVzLWJnOiAjMkUzMzM2ICFkZWZhdWx0O1xuJGNvZGUtYmc6ICMxRTIyMjQgIWRlZmF1bHQ7XG4kY29kZS1hbm5vdGF0aW9uLWJnOiAjMTkxRDFGICFkZWZhdWx0O1xuJG5hdi1zdWJpdGVtLWJnOiAjMUUyMjI0ICFkZWZhdWx0O1xuJG5hdi1hY3RpdmUtYmc6ICMwRjc1RDQgIWRlZmF1bHQ7XG4kbmF2LWFjdGl2ZS1wYXJlbnQtYmc6ICMxRTIyMjQgIWRlZmF1bHQ7IC8vIHBhcmVudCBsaW5rcyBvZiB0aGUgY3VycmVudCBzZWN0aW9uXG4kbGFuZy1zZWxlY3QtYm9yZGVyOiAjMDAwICFkZWZhdWx0O1xuJGxhbmctc2VsZWN0LWJnOiAjMUUyMjI0ICFkZWZhdWx0O1xuJGxhbmctc2VsZWN0LWFjdGl2ZS1iZzogJGV4YW1wbGVzLWJnICFkZWZhdWx0OyAvLyBmZWVsIGZyZWUgdG8gY2hhbmdlIHRoaXMgdG8gYmx1ZSBvciBzb21ldGhpbmdcbiRsYW5nLXNlbGVjdC1wcmVzc2VkLWJnOiAjMTExICFkZWZhdWx0OyAvLyBjb2xvciBvZiBsYW5ndWFnZSB0YWIgYmcgd2hlbiBtb3VzZSBpcyBwcmVzc2VkXG4kbWFpbi1iZzogI0YzRjdGOSAhZGVmYXVsdDtcbiRhc2lkZS1ub3RpY2UtYmc6ICM4ZmJjZDQgIWRlZmF1bHQ7XG4kYXNpZGUtd2FybmluZy1iZzogI2M5N2E3ZSAhZGVmYXVsdDtcbiRhc2lkZS1zdWNjZXNzLWJnOiAjNmFjMTc0ICFkZWZhdWx0O1xuJHNlYXJjaC1ub3RpY2UtYmc6ICNjOTdhN2UgIWRlZmF1bHQ7XG5cblxuJHByaW1hcnktY29sb3I6ICMwOTZkOTg7XG4kcHJpbWFyeS1jb2xvci10aW50OiAjYmJlNWY2O1xuJHN1Y2Nlc3MtY29sb3I6ICMwNDk5MGE7XG4kc3VjY2Vzcy1jb2xvci10aW50OiAjYTZmNmFiO1xuJGVycm9yLWNvbG9yOiAjZGIwZTBlO1xuJGVycm9yLWNvbG9yLXRpbnQ6ICNmZjk0OTQ7XG4kd2FybmluZy1jb2xvcjogI2MyNmUwMDtcbiR3YXJuaW5nLWNvbG9yLXRpbnQ6ICNmZmQ5YTc7XG5cbi8vIFRFWFQgQ09MT1JTXG4vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1haW4tdGV4dDogIzMzMyAhZGVmYXVsdDsgLy8gbWFpbiBjb250ZW50IHRleHQgY29sb3JcbiRuYXYtdGV4dDogI2ZmZiAhZGVmYXVsdDtcbiRuYXYtYWN0aXZlLXRleHQ6ICNmZmYgIWRlZmF1bHQ7XG4kbmF2LWFjdGl2ZS1wYXJlbnQtdGV4dDogI2ZmZiAhZGVmYXVsdDsgLy8gcGFyZW50IGxpbmtzIG9mIHRoZSBjdXJyZW50IHNlY3Rpb25cbiRsYW5nLXNlbGVjdC10ZXh0OiAjZmZmICFkZWZhdWx0OyAvLyBjb2xvciBvZiB1bnNlbGVjdGVkIGxhbmd1YWdlIHRhYiB0ZXh0XG4kbGFuZy1zZWxlY3QtYWN0aXZlLXRleHQ6ICNmZmYgIWRlZmF1bHQ7IC8vIGNvbG9yIG9mIHNlbGVjdGVkIGxhbmd1YWdlIHRhYiB0ZXh0XG4kbGFuZy1zZWxlY3QtcHJlc3NlZC10ZXh0OiAjZmZmICFkZWZhdWx0OyAvLyBjb2xvciBvZiBsYW5ndWFnZSB0YWIgdGV4dCB3aGVuIG1vdXNlIGlzIHByZXNzZWRcblxuXG4vLyBTSVpFU1xuLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRuYXYtd2lkdGg6IDIzMHB4ICFkZWZhdWx0OyAvLyB3aWR0aCBvZiB0aGUgbmF2YmFyXG4kZXhhbXBsZXMtd2lkdGg6IDUwJSAhZGVmYXVsdDsgLy8gcG9ydGlvbiBvZiB0aGUgc2NyZWVuIHRha2VuIHVwIGJ5IGNvZGUgZXhhbXBsZXNcbiRsb2dvLW1hcmdpbjogMHB4ICFkZWZhdWx0OyAvLyBtYXJnaW4gYmVsb3cgbG9nb1xuJG1haW4tcGFkZGluZzogMjhweCAhZGVmYXVsdDsgLy8gcGFkZGluZyB0byBsZWZ0IGFuZCByaWdodCBvZiBjb250ZW50ICYgZXhhbXBsZXNcbiRuYXYtcGFkZGluZzogMTVweCAhZGVmYXVsdDsgLy8gcGFkZGluZyB0byBsZWZ0IGFuZCByaWdodCBvZiBuYXZiYXJcbiRuYXYtdi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0OyAvLyBwYWRkaW5nIHVzZWQgdmVydGljYWxseSBhcm91bmQgc2VhcmNoIGJveGVzIGFuZCByZXN1bHRzXG4kbmF2LWluZGVudDogMTBweCAhZGVmYXVsdDsgLy8gZXh0cmEgcGFkZGluZyBmb3IgVG9DIHN1Yml0ZW1zXG4kY29kZS1hbm5vdGF0aW9uLXBhZGRpbmc6IDEzcHggIWRlZmF1bHQ7IC8vIHBhZGRpbmcgaW5zaWRlIGNvZGUgYW5ub3RhdGlvbnNcbiRoMS1tYXJnaW4tYm90dG9tOiAyMXB4ICFkZWZhdWx0OyAvLyBwYWRkaW5nIHVuZGVyIHRoZSBsYXJnZXN0IGhlYWRlciB0YWdzXG4kdGFibGV0LXdpZHRoOiA5MzBweCAhZGVmYXVsdDsgLy8gbWluIHdpZHRoIGJlZm9yZSByZXZlcnRpbmcgdG8gdGFibGV0IHNpemVcbiRwaG9uZS13aWR0aDogJHRhYmxldC13aWR0aCAtICRuYXYtd2lkdGggIWRlZmF1bHQ7IC8vIG1pbiB3aWR0aCBiZWZvcmUgcmV2ZXJ0aW5nIHRvIG1vYmlsZSBzaXplXG5cblxuLy8gRk9OVFNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vXG4lZGVmYXVsdC1mb250IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbiVoZWFkZXItZm9udCB7XG4gIEBleHRlbmQgJWRlZmF1bHQtZm9udDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbiVjb2RlLWZvbnQge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIE1lbmxvLCBNb25hY28sIFwiTHVjaWRhIENvbnNvbGVcIiwgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5cbi8vIE9USEVSXG4vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG5hdi1mb290ZXItYm9yZGVyLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuJHNlYXJjaC1ib3gtYm9yZGVyLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJTlRFUk5BTFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoZXNlIHNldHRpbmdzIGFyZSBwcm9iYWJseSBiZXN0IGxlZnQgYWxvbmUuXG5cbiVicmVhay13b3JkcyB7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGh5cGhlbnM6IGF1dG87XG59XG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdzbGF0ZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9zbGF0ZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL3NsYXRlLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4laWNvbiB7XG4gIGZvbnQtZmFtaWx5OiAnc2xhdGUnO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4laWNvbi1leGNsYW1hdGlvbi1zaWduIHtcbiAgQGV4dGVuZCAlaWNvbjtcbiAgY29udGVudDogXCJcXGU2MDBcIjtcbn1cbiVpY29uLWluZm8tc2lnbiB7XG4gIEBleHRlbmQgJWljb247XG4gIGNvbnRlbnQ6IFwiXFxlNjAyXCI7XG59XG4laWNvbi1vay1zaWduIHtcbiAgQGV4dGVuZCAlaWNvbjtcbiAgY29udGVudDogXCJcXGU2MDZcIjtcbn1cbiVpY29uLXNlYXJjaCB7XG4gIEBleHRlbmQgJWljb247XG4gIGNvbnRlbnQ6IFwiXFxlNjA3XCI7XG59XG4iLCIvKiBQcmlzbUpTIDEuMTkuMFxuaHR0cHM6Ly9wcmlzbWpzLmNvbS9kb3dubG9hZC5odG1sI3RoZW1lcz1wcmlzbS10b21vcnJvdyZsYW5ndWFnZXM9bWFya3VwK2NzcytjbGlrZStqYXZhc2NyaXB0K2Jhc2grbWFya3VwLXRlbXBsYXRpbmcrcGhwICovXG4vKipcbiAqIHByaXNtLmpzIHRvbW9ycm93IG5pZ2h0IGVpZ2h0aWVzIGZvciBKYXZhU2NyaXB0LCBDb2ZmZWVTY3JpcHQsIENTUyBhbmQgSFRNTFxuICogQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2Nocmlza2VtcHNvbi90b21vcnJvdy10aGVtZVxuICogQGF1dGhvciBSb3NlIFByaXRjaGFyZFxuICovXG5cbmNvZGVbY2xhc3MqPVwibGFuZ3VhZ2UtXCJdLFxucHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XG5cdGNvbG9yOiAjY2NjO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRmb250LWZhbWlseTogQ29uc29sYXMsIE1vbmFjbywgJ0FuZGFsZSBNb25vJywgJ1VidW50dSBNb25vJywgbW9ub3NwYWNlO1xuXHRmb250LXNpemU6IDFlbTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0d2hpdGUtc3BhY2U6IHByZTtcblx0d29yZC1zcGFjaW5nOiBub3JtYWw7XG5cdHdvcmQtYnJlYWs6IG5vcm1hbDtcblx0d29yZC13cmFwOiBub3JtYWw7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cblx0LW1vei10YWItc2l6ZTogNDtcblx0LW8tdGFiLXNpemU6IDQ7XG5cdHRhYi1zaXplOiA0O1xuXG5cdC13ZWJraXQtaHlwaGVuczogbm9uZTtcblx0LW1vei1oeXBoZW5zOiBub25lO1xuXHQtbXMtaHlwaGVuczogbm9uZTtcblx0aHlwaGVuczogbm9uZTtcblxufVxuXG4vKiBDb2RlIGJsb2NrcyAqL1xucHJlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSB7XG5cdHBhZGRpbmc6IDFlbTtcblx0bWFyZ2luOiAuNWVtIDA7XG5cdG92ZXJmbG93OiBhdXRvO1xufVxuXG46bm90KHByZSkgPiBjb2RlW2NsYXNzKj1cImxhbmd1YWdlLVwiXSxcbnByZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0ge1xuXHRiYWNrZ3JvdW5kOiAjMmQyZDJkO1xufVxuXG4vKiBJbmxpbmUgY29kZSAqL1xuOm5vdChwcmUpID4gY29kZVtjbGFzcyo9XCJsYW5ndWFnZS1cIl0ge1xuXHRwYWRkaW5nOiAuMWVtO1xuXHRib3JkZXItcmFkaXVzOiAuM2VtO1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4udG9rZW4uY29tbWVudCxcbi50b2tlbi5ibG9jay1jb21tZW50LFxuLnRva2VuLnByb2xvZyxcbi50b2tlbi5kb2N0eXBlLFxuLnRva2VuLmNkYXRhIHtcblx0Y29sb3I6ICM5OTk7XG59XG5cbi50b2tlbi5wdW5jdHVhdGlvbiB7XG5cdGNvbG9yOiAjY2NjO1xufVxuXG4udG9rZW4udGFnLFxuLnRva2VuLmF0dHItbmFtZSxcbi50b2tlbi5uYW1lc3BhY2UsXG4udG9rZW4uZGVsZXRlZCB7XG5cdGNvbG9yOiAjZTI3NzdhO1xufVxuXG4udG9rZW4uZnVuY3Rpb24tbmFtZSB7XG5cdGNvbG9yOiAjNjE5NmNjO1xufVxuXG4udG9rZW4uYm9vbGVhbixcbi50b2tlbi5udW1iZXIsXG4udG9rZW4uZnVuY3Rpb24ge1xuXHRjb2xvcjogI2YwOGQ0OTtcbn1cblxuLnRva2VuLnByb3BlcnR5LFxuLnRva2VuLmNsYXNzLW5hbWUsXG4udG9rZW4uY29uc3RhbnQsXG4udG9rZW4uc3ltYm9sIHtcblx0Y29sb3I6ICNmOGM1NTU7XG59XG5cbi50b2tlbi5zZWxlY3Rvcixcbi50b2tlbi5pbXBvcnRhbnQsXG4udG9rZW4uYXRydWxlLFxuLnRva2VuLmtleXdvcmQsXG4udG9rZW4uYnVpbHRpbiB7XG5cdGNvbG9yOiAjY2M5OWNkO1xufVxuXG4udG9rZW4uc3RyaW5nLFxuLnRva2VuLmNoYXIsXG4udG9rZW4uYXR0ci12YWx1ZSxcbi50b2tlbi5yZWdleCxcbi50b2tlbi52YXJpYWJsZSB7XG5cdGNvbG9yOiAjN2VjNjk5O1xufVxuXG4udG9rZW4ub3BlcmF0b3IsXG4udG9rZW4uZW50aXR5LFxuLnRva2VuLnVybCB7XG5cdGNvbG9yOiAjNjdjZGNjO1xufVxuXG4udG9rZW4uaW1wb3J0YW50LFxuLnRva2VuLmJvbGQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbi50b2tlbi5pdGFsaWMge1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50b2tlbi5lbnRpdHkge1xuXHRjdXJzb3I6IGhlbHA7XG59XG5cbi50b2tlbi5pbnNlcnRlZCB7XG5cdGNvbG9yOiBncmVlbjtcbn1cblxuIl0sInNvdXJjZVJvb3QiOiIifQ==*/