@charset "UTF-8";
/**
 * Settings.afsdfd
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font Face.
 */
@font-face {
  font-family: 'CamboRegular';
  src: url("/wp-content/themes/handboektunnelbouw/assets/fonts/Cambo-Regular-webfont.eot");
  src: url("/wp-content/themes/handboektunnelbouw/assets/fonts/Cambo-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/handboektunnelbouw/assets/fonts/Cambo-Regular-webfont.woff") format("woff"), url("/wp-content/themes/handboektunnelbouw/assets/fonts/Cambo-Regular-webfont.ttf") format("truetype"), url("/wp-content/themes/handboektunnelbouw/assets/fonts/Cambo-Regular-webfont.svg#CamboRegular") format("svg");
  font-weight: normal;
  font-style: normal; }

@font-face {
  font-family: 'WebSymbolsRegular';
  src: url("/wp-content/themes/handboektunnelbouw/assets/fonts/websymbols-regular-webfont.eot");
  src: url("/wp-content/themes/handboektunnelbouw/assets/fonts/websymbols-regular-webfont.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/handboektunnelbouw/assets/fonts/websymbols-regular-webfont.woff") format("woff"), url("/wp-content/themes/handboektunnelbouw/assets/fonts/websymbols-regular-webfont.ttf") format("truetype"), url("/wp-content/themes/handboektunnelbouw/assets/fonts/websymbols-regular-webfont.svg#WebSymbolsRegular") format("svg");
  font-weight: normal;
  font-style: normal; }

/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
/**
 * Responsive.
 */
/**
 * Vendor.
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*-------------------------------------
zTree Style

version:	3.5.19
author:		Hunter.z
email:		hunter.z@263.net
website:	http://code.google.com/p/jquerytree/

-------------------------------------*/
.ztree * {
  padding: 0;
  margin: 0;
  font-size: 12px;
  font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif; }

.ztree {
  margin: 0;
  padding: 5px;
  color: #333; }

.ztree li {
  padding: 0;
  margin: 0;
  list-style: none;
  line-height: 14px;
  text-align: left;
  white-space: nowrap;
  outline: 0; }

.ztree li ul {
  margin: 0;
  padding: 0 0 0 18px; }

.ztree li ul.line {
  background: url(./img/line_conn.gif) 0 0 repeat-y; }

.ztree li a {
  padding: 1px 3px 0 0;
  margin: 0;
  cursor: pointer;
  height: 17px;
  color: #333;
  background-color: transparent;
  text-decoration: none;
  vertical-align: top;
  display: inline-block; }

.ztree li a:hover {
  text-decoration: underline; }

.ztree li a.curSelectedNode {
  padding-top: 0px;
  background-color: #FFE6B0;
  color: black;
  height: 16px;
  border: 1px #FFB951 solid;
  opacity: 0.8; }

.ztree li a.curSelectedNode_Edit {
  padding-top: 0px;
  background-color: #FFE6B0;
  color: black;
  height: 16px;
  border: 1px #FFB951 solid;
  opacity: 0.8; }

.ztree li a.tmpTargetNode_inner {
  padding-top: 0px;
  background-color: #316AC5;
  color: white;
  height: 16px;
  border: 1px #316AC5 solid;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.ztree li a input.rename {
  height: 14px;
  width: 80px;
  padding: 0;
  margin: 0;
  font-size: 12px;
  border: 1px #7EC4CC solid;
  *border: 0px; }

.ztree li span {
  line-height: 16px;
  margin-right: 2px; }

.ztree li span.button {
  line-height: 0;
  margin: 0;
  width: 16px;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  border: 0 none;
  cursor: pointer;
  outline: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-image: url("./img/zTreeStandard.png");
  *background-image: url("./img/zTreeStandard.gif"); }

.ztree li span.button.chk {
  width: 13px;
  height: 13px;
  margin: 0 3px 0 0;
  cursor: auto; }

.ztree li span.button.chk.checkbox_false_full {
  background-position: 0 0; }

.ztree li span.button.chk.checkbox_false_full_focus {
  background-position: 0 -14px; }

.ztree li span.button.chk.checkbox_false_part {
  background-position: 0 -28px; }

.ztree li span.button.chk.checkbox_false_part_focus {
  background-position: 0 -42px; }

.ztree li span.button.chk.checkbox_false_disable {
  background-position: 0 -56px; }

.ztree li span.button.chk.checkbox_true_full {
  background-position: -14px 0; }

.ztree li span.button.chk.checkbox_true_full_focus {
  background-position: -14px -14px; }

.ztree li span.button.chk.checkbox_true_part {
  background-position: -14px -28px; }

.ztree li span.button.chk.checkbox_true_part_focus {
  background-position: -14px -42px; }

.ztree li span.button.chk.checkbox_true_disable {
  background-position: -14px -56px; }

.ztree li span.button.chk.radio_false_full {
  background-position: -28px 0; }

.ztree li span.button.chk.radio_false_full_focus {
  background-position: -28px -14px; }

.ztree li span.button.chk.radio_false_part {
  background-position: -28px -28px; }

.ztree li span.button.chk.radio_false_part_focus {
  background-position: -28px -42px; }

.ztree li span.button.chk.radio_false_disable {
  background-position: -28px -56px; }

.ztree li span.button.chk.radio_true_full {
  background-position: -42px 0; }

.ztree li span.button.chk.radio_true_full_focus {
  background-position: -42px -14px; }

.ztree li span.button.chk.radio_true_part {
  background-position: -42px -28px; }

.ztree li span.button.chk.radio_true_part_focus {
  background-position: -42px -42px; }

.ztree li span.button.chk.radio_true_disable {
  background-position: -42px -56px; }

.ztree li span.button.switch {
  width: 18px;
  height: 18px; }

.ztree li span.button.root_open {
  background-position: -92px -54px; }

.ztree li span.button.root_close {
  background-position: -74px -54px; }

.ztree li span.button.roots_open {
  background-position: -92px 0; }

.ztree li span.button.roots_close {
  background-position: -74px 0; }

.ztree li span.button.center_open {
  background-position: -92px -18px; }

.ztree li span.button.center_close {
  background-position: -74px -18px; }

.ztree li span.button.bottom_open {
  background-position: -92px -36px; }

.ztree li span.button.bottom_close {
  background-position: -74px -36px; }

.ztree li span.button.noline_open {
  background-position: -92px -72px; }

.ztree li span.button.noline_close {
  background-position: -74px -72px; }

.ztree li span.button.root_docu {
  background: none; }

.ztree li span.button.roots_docu {
  background-position: -56px 0; }

.ztree li span.button.center_docu {
  background-position: -56px -18px; }

.ztree li span.button.bottom_docu {
  background-position: -56px -36px; }

.ztree li span.button.noline_docu {
  background: none; }

.ztree li span.button.ico_open {
  margin-right: 2px;
  background-position: -110px -16px;
  vertical-align: top;
  *vertical-align: middle; }

.ztree li span.button.ico_close {
  margin-right: 2px;
  background-position: -110px 0;
  vertical-align: top;
  *vertical-align: middle; }

.ztree li span.button.ico_docu {
  margin-right: 2px;
  background-position: -110px -32px;
  vertical-align: top;
  *vertical-align: middle; }

.ztree li span.button.edit {
  margin-right: 2px;
  background-position: -110px -48px;
  vertical-align: top;
  *vertical-align: middle; }

.ztree li span.button.remove {
  margin-right: 2px;
  background-position: -110px -64px;
  vertical-align: top;
  *vertical-align: middle; }

.ztree li span.button.ico_loading {
  margin-right: 2px;
  background: url(./img/loading.gif) no-repeat scroll 0 0 transparent;
  vertical-align: top;
  *vertical-align: middle; }

ul.tmpTargetzTree {
  background-color: #FFE6B0;
  opacity: 0.8;
  filter: alpha(opacity=80); }

span.tmpzTreeMove_arrow {
  width: 16px;
  height: 16px;
  display: inline-block;
  padding: 0;
  margin: 2px 0 0 1px;
  border: 0 none;
  position: absolute;
  background-color: transparent;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: -110px -80px;
  background-image: url("./img/zTreeStandard.png");
  *background-image: url("./img/zTreeStandard.gif"); }

ul.ztree.zTreeDragUL {
  margin: 0;
  padding: 0;
  position: absolute;
  width: auto;
  height: auto;
  overflow: hidden;
  background-color: #cfcfcf;
  border: 1px #00B83F dotted;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.zTreeMask {
  z-index: 10000;
  background-color: #cfcfcf;
  opacity: 0.0;
  filter: alpha(opacity=0);
  position: absolute; }

/* level style*/
/*.ztree li span.button.level0 {
	display:none;
}
.ztree li ul.level0 {
	padding:0;
	background:none;
}*/
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1; }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before, .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444; }
  .mfp-figure small {
    color: #BDBDBD;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/**
 * Tools.
 */
/**
 * Tools.
 */
/**
 * Unicode.
 *
 * Preserve escaped unicode string.
 * @param {String} $string - An unicode string.
 * @return {String} A preserved escaped unicode string
 */
/**
 * REM.
 *
 * Convert pixel units to REM units.
 * @param {Number} $pixels - Pixel value.
 * @return {*} - A converted `rem` unit.
 */
/**
 * Column.
 *
 * Calculate given column width.
 * @param {Number} $column - The amount of columns to span.
 * @param {Number} $columns - The amount of columns that can be spanned.
 * @return {String} - Percentage value.
 */
/**
 * Color.
 *
 * Get a color value from two levels deep in the `$color` map.
 * @param {$string} $key - Key of the color to get from the map.
 * @param {Number} $value - Value of the key to get from the map.
 * @return {*} A HSLA color value.
 */
/**
 * Container
 * 
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Font.
 *
 * Adds `rem` unit based font size property, a fallback `px` unit based font size property, and a `em` unit based line height property to any rule.
 * @param {String} $font-size - Pixel unit value.
 * @param {String} $line-height - Pixel unit value.
 * @example @include font-size(16px, 24px);
 */
/**
 * Text.
 *
 * Shorthand for the font mixin, runs the font mixin based on a common demeanour existing both in the `$font-size` and the `$line-height` maps.
 * @param {string} $value - String
 * @example @include text('p');
 */
/**
 * Font Awesome.
 *
 * Add Font Awesome icons as psuedo elements by using their unicode.
 * @param {String} $content - Unicode string.
 * @param {String} $family - Font Awesome font family string.
 * @example @include fontawesome('f100', 'Light');
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
/**
 * Elements.
 */
/**
 * General.
 */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286em;
  min-height: 100vh;
  background-color: white;
  color: #333333;
  font-family: "CamboRegular";
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/**
 * Objects.
 */
/**
 * Background.
 */
.background {
  background-image: url("./../images/background-body.jpg");
  background-size: cover;
  background-repeat: repeat-x;
  background-position: bottom;
  background-attachment: fixed; }
  .background:after {
    position: absolute;
    top: 0px;
    right: 0px;
    left: 0px;
    width: 1292px;
    max-width: 97%;
    height: 1200px;
    max-height: 97vw;
    margin: -600px auto 0 auto;
    background-image: url("./../images/background-circle.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    border-radius: 50%;
    border: 3px solid #9bbe41;
    overflow: hidden;
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 1199px) {
      .background:after {
        margin: -49.5vw auto 0 auto; } }
    @media only screen and (max-width: 899px) {
      .background:after {
        margin: -40vw auto 0 auto; } }

.book {
  margin: 30px 0; }
  @media only screen and (max-width: 899px) {
    .book {
      margin-top: 20px; } }
  @media only screen and (max-width: 899px) {
    .book .wrapper {
      padding: 0; } }

.book__sidebar {
  position: relative;
  width: 35%;
  min-height: 400px;
  margin: 75px 0 52px 0;
  padding: 0px 2% 0 5%;
  background-image: url(./../images/booklet_left_repeat.png);
  background-size: 100% auto;
  background-repeat: repeat-y; }
  @media only screen and (max-width: 899px) {
    .book__sidebar {
      width: 100%;
      min-height: 0;
      background-image: none;
      margin: 0 0 20px 0;
      padding: 0; } }
  .book__sidebar:before {
    position: absolute;
    top: -75px;
    left: 0;
    width: 100%;
    height: 75px;
    background-image: url(./../images/booklet_left_top2.png);
    background-size: 100% 58%;
    background-repeat: no-repeat;
    background-position: bottom;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .book__sidebar:before {
        display: none; } }
  .book__sidebar:after {
    position: absolute;
    left: 0;
    bottom: -52px;
    width: 100%;
    height: 52px;
    background-image: url(./../images/booklet_left_bottom.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .book__sidebar:after {
        display: none; } }

.book__sidebar-logo {
  display: block;
  margin-bottom: 20px;
  overflow: hidden; }
  .book__sidebar-logo img {
    margin-left: -10px; }
  @media only screen and (max-width: 899px) {
    .book__sidebar-logo {
      display: none; } }

.book__content {
  position: relative;
  width: 65%;
  margin: 75px 0 52px 0;
  padding: 0px 8.5% 0 2%;
  background-image: url(./../images/booklet_right_repeat.png);
  background-size: 100% auto;
  background-repeat: repeat-y; }
  @media only screen and (max-width: 899px) {
    .book__content {
      width: 100%;
      min-height: 250px;
      margin: 35px 0 35px 0;
      padding: 0px 5%;
      background-image: url(./../images/bg_nav_repeat.png);
      background-size: 100% auto;
      background-repeat: repeat-y; } }
  .book__content:before {
    position: absolute;
    top: -75px;
    right: 0;
    width: 100%;
    height: 75px;
    background-image: url(./../images/booklet_right_top.png);
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: bottom;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .book__content:before {
        top: -35px;
        height: 35px;
        background-image: url(./../images/bg_nav_top.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: bottom; } }
  .book__content:after {
    position: absolute;
    right: 0;
    bottom: -52px;
    width: 100%;
    height: 52px;
    background-image: url(./../images/booklet_right_bottom.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: top;
    content: '';
    z-index: 1; }
    @media only screen and (max-width: 899px) {
      .book__content:after {
        bottom: -35px;
        height: 35px;
        background-image: url(./../images/bg_nav_bottom.png);
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: top; } }

.book__previous {
  position: fixed;
  top: calc(50% - 20px);
  left: 10px;
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .book__previous {
      display: none; } }
  .book__previous:hover {
    left: 0;
    padding-right: 10px; }

.book__next {
  position: fixed;
  top: calc(50% - 20px);
  right: 10px;
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .book__next {
      display: none; } }
  .book__next:hover {
    right: 0;
    padding-left: 10px; }

.widget-book-tips {
  display: none;
  max-width: 0;
  float: right; }

.book-tip {
  margin: 0px -82px 10px 20px;
  float: right; }

@media only screen and (max-width: 599px) {
  .book-tip {
    margin: 20px -50px 10px 40px; } }

.book-tip + .book-tip {
  margin: 80px -240px 10px 20px; }

.widget-book-lesson .book-tip {
  margin: -15px -165px 10px 20px; }

.widget-book-tips .position-top,
.widget-book-tips .position-middle,
.widget-book-tips .position-bottom {
  width: 250px;
  margin: 10px 0; }

.book-tips__body {
  background: white;
  border: 1px solid #ddd;
  border-top-left-radius: 25px;
  border-bottom-left-radius: 25px;
  box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.3); }

.book-tips__icon {
  float: left;
  border: 0px !important;
  position: absolute; }

.book-tips__close img {
  width: 25px;
  height: auto;
  border: 0px !important; }

.book-tips__icon img {
  height: 40px !important;
  width: auto;
  margin: 4px 0px 0px 10px;
  border: 0px !important; }

.book-tips__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 9;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 240px;
  max-width: 320px;
  height: 50px;
  padding-right: 25px;
  padding-left: 55px;
  font-family: "Georgia", serif;
  font-size: 1.6rem;
  text-align: right;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.book-tips__title::after {
  content: '';
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/tips-bg.png");
  background-position: right; }

.book-tips__editor {
  position: absolute;
  z-index: 9;
  padding: 20px;
  -webkit-transition: 0.35s;
  transition: 0.35s;
  border: 1px solid #cccccc;
  opacity: 0;
  background-color: white;
  pointer-events: none; }

@media only screen and (min-width: 600px) {
  .book-tips__editor {
    right: 200px;
    left: 200px; } }

@media only screen and (max-width: 599px) {
  .book-tips__editor {
    right: 20px;
    left: 20px; } }

.book-tips__editor.is-open {
  z-index: 99;
  opacity: 1;
  margin-top: 10px;
  pointer-events: all; }

.book-tips__editor h1,
.book-tips__editor h2,
.book-tips__editor h3 {
  font-family: "Georgia", serif;
  font-weight: 400; }

.book-tips__close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -25px;
  right: -25px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50px !important;
  height: 50px;
  border-radius: 50%;
  background-color: #9bbe1c;
  font-size: 22px;
  cursor: pointer; }

.book-tips__close::after {
  /*    content: "";
	  font-family: "FontAwesome";
  */
  pointer-events: none; }

.is-pdf .book-tip {
  display: block;
  float: none;
  height: auto;
  position: relative;
  box-shadow: none;
  left: 0;
  margin: 0; }
  .is-pdf .book-tip .book-tips__icon, .is-pdf .book-tip .book-tips__title, .is-pdf .book-tip .book-tips__close {
    display: none; }

.is-pdf .book-tips__body {
  box-shadow: none; }

.is-pdf .book-tips__editor {
  display: block;
  padding: 10px;
  border: 1px solid black;
  position: relative;
  top: 0;
  left: 0;
  opacity: 1; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px);
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: hidden; }

/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

.flex-wrap {
  flex-wrap: wrap; }

.justify-content {
  justify-content: center; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
			 * Column 1 for the `xs` breakpoint.
			 */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 10px; }

/**
				 * Offset 1 for the `xs` breakpoint.
				 */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
			 * Column 2 for the `xs` breakpoint.
			 */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 10px; }

/**
				 * Offset 2 for the `xs` breakpoint.
				 */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
			 * Column 3 for the `xs` breakpoint.
			 */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 10px; }

/**
				 * Offset 3 for the `xs` breakpoint.
				 */
.offset-xs-3 {
  margin-left: 25%; }

/**
			 * Column 4 for the `xs` breakpoint.
			 */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 10px; }

/**
				 * Offset 4 for the `xs` breakpoint.
				 */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
			 * Column 5 for the `xs` breakpoint.
			 */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 10px; }

/**
				 * Offset 5 for the `xs` breakpoint.
				 */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
			 * Column 6 for the `xs` breakpoint.
			 */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 10px; }

/**
				 * Offset 6 for the `xs` breakpoint.
				 */
.offset-xs-6 {
  margin-left: 50%; }

/**
			 * Column 7 for the `xs` breakpoint.
			 */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 10px; }

/**
				 * Offset 7 for the `xs` breakpoint.
				 */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
			 * Column 8 for the `xs` breakpoint.
			 */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 10px; }

/**
				 * Offset 8 for the `xs` breakpoint.
				 */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
			 * Column 9 for the `xs` breakpoint.
			 */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 10px; }

/**
				 * Offset 9 for the `xs` breakpoint.
				 */
.offset-xs-9 {
  margin-left: 75%; }

/**
			 * Column 10 for the `xs` breakpoint.
			 */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 10px; }

/**
				 * Offset 10 for the `xs` breakpoint.
				 */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
			 * Column 11 for the `xs` breakpoint.
			 */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 10px; }

/**
				 * Offset 11 for the `xs` breakpoint.
				 */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
			 * Column 12 for the `xs` breakpoint.
			 */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 10px; }

/**
			 * Align `stretch` for the xs breakpoint.
			 */
.align-xs-stretch {
  align-items: stretch; }

/**
			 * Align `center` for the xs breakpoint.
			 */
.align-xs-center {
  align-items: center; }

/**
			 * Align `flex-start` for the xs breakpoint.
			 */
.align-xs-flex-start {
  align-items: flex-start; }

/**
			 * Align `flex-end` for the xs breakpoint.
			 */
.align-xs-flex-end {
  align-items: flex-end; }

/**
			 * Align `baseline` for the xs breakpoint.
			 */
.align-xs-baseline {
  align-items: baseline; }

/**
			 * Justify `start` for the xs breakpoint.
			 */
.justify-xs-start {
  justify-content: start; }

/**
			 * Justify `center` for the xs breakpoint.
			 */
.justify-xs-center {
  justify-content: center; }

/**
			 * Justify `space-between` for the xs breakpoint.
			 */
.justify-xs-space-between {
  justify-content: space-between; }

/**
			 * Justify `space-around` for the xs breakpoint.
			 */
.justify-xs-space-around {
  justify-content: space-around; }

/**
			 * Justify `space-evenly` for the xs breakpoint.
			 */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
			 * Bleed left for the xs breakpoint.
			 */
.bleed-xs-left {
  padding-left: 0; }

/**
			 * Bleed right for the xs breakpoint.
			 */
.bleed-xs-right {
  padding-right: 0; }

/**
		 * Order first for the `xs` breakpoint.
		 */
.first-xs {
  order: -1; }

/**
		 * Order last for the `xs` breakpoint.
		 */
.last-xs {
  order: 1; }

/**
		 * Reverse order for the `xs` breakpoint.
		 */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
			 * Column 1 for the `sm` breakpoint.
			 */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `sm` breakpoint.
				 */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `sm` breakpoint.
			 */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `sm` breakpoint.
				 */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `sm` breakpoint.
			 */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `sm` breakpoint.
				 */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `sm` breakpoint.
			 */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `sm` breakpoint.
				 */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `sm` breakpoint.
			 */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `sm` breakpoint.
				 */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `sm` breakpoint.
			 */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `sm` breakpoint.
				 */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `sm` breakpoint.
			 */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `sm` breakpoint.
				 */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `sm` breakpoint.
			 */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `sm` breakpoint.
				 */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `sm` breakpoint.
			 */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `sm` breakpoint.
				 */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `sm` breakpoint.
			 */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `sm` breakpoint.
				 */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `sm` breakpoint.
			 */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `sm` breakpoint.
				 */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `sm` breakpoint.
			 */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the sm breakpoint.
			 */
  .align-sm-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the sm breakpoint.
			 */
  .align-sm-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the sm breakpoint.
			 */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the sm breakpoint.
			 */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the sm breakpoint.
			 */
  .align-sm-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the sm breakpoint.
			 */
  .justify-sm-start {
    justify-content: start; }
  /**
			 * Justify `center` for the sm breakpoint.
			 */
  .justify-sm-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the sm breakpoint.
			 */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the sm breakpoint.
			 */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the sm breakpoint.
			 */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the sm breakpoint.
			 */
  .bleed-sm-left {
    padding-left: 0; }
  /**
			 * Bleed right for the sm breakpoint.
			 */
  .bleed-sm-right {
    padding-right: 0; }
  /**
		 * Order first for the `sm` breakpoint.
		 */
  .first-sm {
    order: -1; }
  /**
		 * Order last for the `sm` breakpoint.
		 */
  .last-sm {
    order: 1; }
  /**
		 * Reverse order for the `sm` breakpoint.
		 */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
			 * Column 1 for the `md` breakpoint.
			 */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `md` breakpoint.
				 */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `md` breakpoint.
			 */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `md` breakpoint.
				 */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `md` breakpoint.
			 */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `md` breakpoint.
				 */
  .offset-md-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `md` breakpoint.
			 */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `md` breakpoint.
				 */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `md` breakpoint.
			 */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `md` breakpoint.
				 */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `md` breakpoint.
			 */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `md` breakpoint.
				 */
  .offset-md-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `md` breakpoint.
			 */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `md` breakpoint.
				 */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `md` breakpoint.
			 */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `md` breakpoint.
				 */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `md` breakpoint.
			 */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `md` breakpoint.
				 */
  .offset-md-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `md` breakpoint.
			 */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `md` breakpoint.
				 */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `md` breakpoint.
			 */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `md` breakpoint.
				 */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `md` breakpoint.
			 */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the md breakpoint.
			 */
  .align-md-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the md breakpoint.
			 */
  .align-md-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the md breakpoint.
			 */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the md breakpoint.
			 */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the md breakpoint.
			 */
  .align-md-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the md breakpoint.
			 */
  .justify-md-start {
    justify-content: start; }
  /**
			 * Justify `center` for the md breakpoint.
			 */
  .justify-md-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the md breakpoint.
			 */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the md breakpoint.
			 */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the md breakpoint.
			 */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the md breakpoint.
			 */
  .bleed-md-left {
    padding-left: 0; }
  /**
			 * Bleed right for the md breakpoint.
			 */
  .bleed-md-right {
    padding-right: 0; }
  /**
		 * Order first for the `md` breakpoint.
		 */
  .first-md {
    order: -1; }
  /**
		 * Order last for the `md` breakpoint.
		 */
  .last-md {
    order: 1; }
  /**
		 * Reverse order for the `md` breakpoint.
		 */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
			 * Column 1 for the `lg` breakpoint.
			 */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `lg` breakpoint.
				 */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `lg` breakpoint.
			 */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `lg` breakpoint.
				 */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `lg` breakpoint.
			 */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `lg` breakpoint.
				 */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `lg` breakpoint.
			 */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `lg` breakpoint.
				 */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `lg` breakpoint.
			 */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `lg` breakpoint.
				 */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `lg` breakpoint.
			 */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `lg` breakpoint.
				 */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `lg` breakpoint.
			 */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `lg` breakpoint.
				 */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `lg` breakpoint.
			 */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `lg` breakpoint.
				 */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `lg` breakpoint.
			 */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `lg` breakpoint.
				 */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `lg` breakpoint.
			 */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `lg` breakpoint.
				 */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `lg` breakpoint.
			 */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `lg` breakpoint.
				 */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `lg` breakpoint.
			 */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the lg breakpoint.
			 */
  .align-lg-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the lg breakpoint.
			 */
  .align-lg-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the lg breakpoint.
			 */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the lg breakpoint.
			 */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the lg breakpoint.
			 */
  .align-lg-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the lg breakpoint.
			 */
  .justify-lg-start {
    justify-content: start; }
  /**
			 * Justify `center` for the lg breakpoint.
			 */
  .justify-lg-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the lg breakpoint.
			 */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the lg breakpoint.
			 */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the lg breakpoint.
			 */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the lg breakpoint.
			 */
  .bleed-lg-left {
    padding-left: 0; }
  /**
			 * Bleed right for the lg breakpoint.
			 */
  .bleed-lg-right {
    padding-right: 0; }
  /**
		 * Order first for the `lg` breakpoint.
		 */
  .first-lg {
    order: -1; }
  /**
		 * Order last for the `lg` breakpoint.
		 */
  .last-lg {
    order: 1; }
  /**
		 * Reverse order for the `lg` breakpoint.
		 */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
			 * Column 1 for the `xl` breakpoint.
			 */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `xl` breakpoint.
				 */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `xl` breakpoint.
			 */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `xl` breakpoint.
				 */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `xl` breakpoint.
			 */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `xl` breakpoint.
				 */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `xl` breakpoint.
			 */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `xl` breakpoint.
				 */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `xl` breakpoint.
			 */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `xl` breakpoint.
				 */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `xl` breakpoint.
			 */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `xl` breakpoint.
				 */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `xl` breakpoint.
			 */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `xl` breakpoint.
				 */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `xl` breakpoint.
			 */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `xl` breakpoint.
				 */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `xl` breakpoint.
			 */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `xl` breakpoint.
				 */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `xl` breakpoint.
			 */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `xl` breakpoint.
				 */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `xl` breakpoint.
			 */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `xl` breakpoint.
				 */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `xl` breakpoint.
			 */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the xl breakpoint.
			 */
  .align-xl-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the xl breakpoint.
			 */
  .align-xl-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the xl breakpoint.
			 */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the xl breakpoint.
			 */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the xl breakpoint.
			 */
  .align-xl-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the xl breakpoint.
			 */
  .justify-xl-start {
    justify-content: start; }
  /**
			 * Justify `center` for the xl breakpoint.
			 */
  .justify-xl-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the xl breakpoint.
			 */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the xl breakpoint.
			 */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the xl breakpoint.
			 */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the xl breakpoint.
			 */
  .bleed-xl-left {
    padding-left: 0; }
  /**
			 * Bleed right for the xl breakpoint.
			 */
  .bleed-xl-right {
    padding-right: 0; }
  /**
		 * Order first for the `xl` breakpoint.
		 */
  .first-xl {
    order: -1; }
  /**
		 * Order last for the `xl` breakpoint.
		 */
  .last-xl {
    order: 1; }
  /**
		 * Reverse order for the `xl` breakpoint.
		 */
  .reverse-xl {
    flex-direction: row-reverse; } }

/**
 * Default fields.
 */
input,
textarea {
  width: 100%;
  height: 31px;
  padding-bottom: 10px;
  border: 1px solid black;
  border-radius: 2px;
  padding: 6px 5px; }
  input:invalid,
  textarea:invalid {
    border: 1px solid #cccccc;
    box-shadow: 0px 0px 5px #ffe600; }

textarea {
  height: 100px;
  border: 1px solid black; }
  textarea:invalid {
    border: 1px solid #cccccc;
    box-shadow: 0px 0px 5px #ffe600; }

select {
  width: 100%;
  height: 33px;
  border: 1px solid black; }

input[type='radio'],
input[type='checkbox'] {
  width: 15px;
  height: 15px;
  border: 1px solid #333333;
  background-color: white; }

input[type='radio'] {
  border-radius: 20px; }

input[type='submit'] {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.53846em;
  display: inline-flex;
  width: auto;
  height: 31px;
  padding: 7px 10px;
  transition: all 250ms ease;
  background-color: #333333;
  color: white;
  cursor: pointer;
  text-transform: uppercase;
  border-radius: 4px;
  opacity: 1; }
  input[type='submit']:hover {
    opacity: 0.5; }

/**
 * Gravity form specific.
 */
.gfield {
  margin-bottom: 10px; }
  .gfield.hidden_label .gfield_label {
    display: none; }
  .gfield.gfield_contains_required textarea,
  .gfield.gfield_contains_required input {
    border: 1px solid #cccccc;
    box-shadow: 0px 0px 5px #ffe600; }

.gfield_label {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.53846em;
  display: block;
  font-weight: bold; }

.gform_validation_container {
  display: none; }

/**
 * Validation.
 */
.validation_message {
  color: #333333;
  font-style: italic; }

.validation_error {
  position: relative;
  margin: 20px 0;
  padding: 20px 0 20px 90px;
  background: #333333;
  color: white; }
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: #9bbe41; }
  .validation_error h3 {
    display: flex;
    margin-bottom: 10px;
    color: white; }
  .validation_error .close-button {
    position: absolute;
    top: 5px;
    right: 10px;
    cursor: pointer; }
    .validation_error .close-button svg {
      width: 16px;
      height: 16px;
      color: #9bbe41; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em;
  font-weight: bold;
  color: rgba(51, 51, 51, 0.95); }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  color: rgba(51, 51, 51, 0.95); }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em;
  color: rgba(51, 51, 51, 0.95); }

/**
 * Heading 4.
 */
h4,
.heading-4 {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.2em;
  color: rgba(51, 51, 51, 0.95);
  font-weight: bold;
  letter-spacing: -0.31px; }

/**
 * Heading 5.
 */
h5,
.heading-5 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.25em;
  color: rgba(51, 51, 51, 0.95);
  letter-spacing: -0.31px; }

/**
 * Heading 6.
 */
h6,
.heading-6 {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  color: rgba(51, 51, 51, 0.95);
  letter-spacing: -0.31px; }

.mfp-ajax-holder .mfp-content {
  width: auto; }

.mfp-arrow-left {
  left: -15px; }

.mfp-arrow-right {
  right: -15px; }

/**
 * The wrapper object centers an element in the document.
 */
/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1290px + 100px);
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper {
      padding: 0 20px; } }

/**
 * Components.
 */
/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output {
  /**
	 *  Old classes 'heldenHandboek'
	 */
  /**
	 *  Old classes 'alignment'
	 */
  /**
	 *  Old classes 'image'
	 */
  /**
	 *  Old classes 'figure'
	 */
  /**
	 *  Old classes 'intro'
	 */
  /**
	 *  Old classes 'table'
	 */
  /**
	 *  Old classes 'blockquotes'
	 */
  /**
	 *  Old classes 'address'
	 */ }
  .cms-output > *:not(:last-child) {
    margin-bottom: 1em; }
  .cms-output .popup {
    cursor: pointer; }
  .cms-output .image-wrap img {
    max-height: 300px; }
  .cms-output p:empty {
    display: none; }
  .cms-output ul {
    list-style-type: disc;
    margin-left: 25px; }
    .cms-output ul li {
      margin-botom: 5px; }
  .cms-output ol {
    list-style-type: decimal;
    margin-left: 25px; }
    .cms-output ol li {
      margin-botom: 5px; }
  .cms-output p > a {
    color: #444;
    text-decoration: underline; }
    .cms-output p > a:hover {
      text-decoration: underline; }
  .cms-output > h2 {
    margin-bottom: 10px;
    margin-top: 15px; }
  .cms-output h3 {
    margin-bottom: 15px;
    margin-top: 5px; }
  .cms-output h4 {
    margin-bottom: 5px;
    margin-top: 0px; }
  .cms-output h5 {
    margin-bottom: 5px;
    margin-top: 25px; }
  .cms-output h6 {
    margin-bottom: 5px; }
  .cms-output hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0; }
  .cms-output a {
    text-decoration: underline; }
  .cms-output .tableCaption + a {
    text-decoration: none; }
  .cms-output .heldenHandboek {
    background: white;
    padding: 10px;
    border: 1px solid #ccc;
    box-shadow: 0px 0px 25px #ccc; }
    .cms-output .heldenHandboek img {
      border: none; }
  .cms-output img.left {
    max-width: 50%;
    margin: 5px 20px 10px 0; }
  .cms-output img.right {
    float: right;
    max-width: 50%;
    margin: 5px 0 10px 20px; }
  .cms-output img.leftAlone {
    margin-right: 100%;
    margin-bottom: 10px;
    clear: both; }
  .cms-output img.center {
    float: none;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 10px;
    clear: both; }
  .cms-output .left {
    text-align: left; }
  .cms-output .right {
    text-align: right; }
  .cms-output .center {
    text-align: center; }
  .cms-output img {
    max-width: 100%;
    border: 1px solid #d7d7d7;
    height: auto; }
  .cms-output .captionImage {
    width: 100%;
    margin-top: 5px; }
    .cms-output .captionImage.left {
      float: left;
      margin: 5px 30px 20px 0px; }
      .cms-output .captionImage.left img {
        float: none;
        max-width: none;
        width: 100%;
        margin-right: -10px; }
    .cms-output .captionImage.right {
      float: right;
      margin: 5px 0 20px 30px; }
      .cms-output .captionImage.right img {
        float: none;
        max-width: none;
        width: 100%;
        margin-left: -10px; }
      .cms-output .captionImage.right p {
        margin-left: -10px;
        text-align: left;
        margin-left: -10px; }
    .cms-output .captionImage.leftAlone {
      float: none;
      margin: 0 20px 20px 0px; }
    .cms-output .captionImage.center {
      margin: 0 auto 20px; }
    .cms-output .captionImage img {
      margin: 0; }
    .cms-output .captionImage p {
      clear: both;
      margin: 5px 0;
      font-style: italic;
      color: #888; }
  .cms-output .captionImage.left[style],
  .cms-output .captionImage.right[style] {
    max-width: 50%; }
  .cms-output .normalCursor {
    cursor: auto !important; }
  .cms-output .figureReference img {
    border: 1px solid #d7d7d7;
    height: auto; }
  .cms-output .figureCaption {
    margin-top: -1em; }
  .cms-output .intro {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.45455em;
    margin-bottom: 20px; }
  .cms-output .tableCaption {
    margin-bottom: 0; }
  .cms-output table {
    table-layout: fixed;
    cursor: pointer;
    border-collapse: collapse;
    border: 1px solid #d4d4d4;
    border-spacing: 0;
    margin: 0 0 10px;
    text-align: left;
    width: 100%; }
  .cms-output table tr:nth-child(even) {
    background-color: #ededed; }
  .cms-output table tr.even,
  .cms-output table th,
  .cms-output thead td {
    background-color: #ededed; }
  .cms-output table td,
  .cms-output table th {
    padding: 2px 5px;
    border: 1px solid #d4d4d4;
    vertical-align: top; }
  .cms-output .typography table th {
    font-weight: bold; }
  .cms-output .tos-html table, .cms-output .fancybox-wrap table {
    border-collapse: collapse;
    width: 100%; }
  .cms-output .tos-html td, .cms-output .fancybox-wrap td {
    border: 1px solid #ccc;
    padding: 5px; }
  .cms-output table td {
    word-wrap: break-word;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto; }
  .cms-output blockquote {
    background: transparent url(./../images/blockquote.png) no-repeat 0px 6px;
    font-family: "CamboRegular", Georgia, "Times New Roman", Times, serif;
    color: #777;
    display: block;
    font-style: italic;
    margin: 0 0 20px;
    float: right;
    text-indent: 30px;
    width: 50%;
    margin-left: 5%;
    clear: both; }
    .cms-output blockquote p {
      font-size: 17px;
      line-height: 25px; }
  .cms-output pre {
    background: #F7F7F7;
    border: 1px solid #E4E4E4;
    font-family: Courier, monospace;
    margin: 0 0 20px 0;
    padding: 15px;
    clear: both; }
  .cms-output address {
    display: block;
    margin-bottom: 20px; }

/**
 * Comment head.
 */
.comments__head {
  margin-bottom: 15px; }

.comments__count {
  font-weight: bold; }
  .comments__count.has-comments {
    cursor: pointer; }
  .comments__count:after {
    margin: 0 4px 0 2px;
    content: '|'; }
  .comments__count.is-active .hide {
    display: inline-flex; }
  .comments__count.is-active .show {
    display: none; }
  .comments__count .hide {
    display: none; }

.comments__show.is-active .hide {
  display: inline-flex; }

.comments__show.is-active .show {
  display: none; }

.comments__show .hide {
  display: none; }

.comments__show > span {
  font-weight: bold;
  cursor: pointer; }

/**
 * New comment.
 */
.comments__new {
  display: none; }

.comments__new-mandatory {
  margin: 15px 0; }

.comments__new-form {
  max-width: 400px; }
  .comments__new-form .logged-in-as {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.53846em;
    font-style: italic; }
  .comments__new-form .comment-form-comment {
    display: none; }
  .comments__new-form .acf-field .acf-label {
    margin-bottom: 0; }
  .comments__new-form .acf-notice.-error {
    background-color: #333333;
    border: 0; }
  .comments__new-form .acf-field .acf-notice.-error {
    background: #333333;
    color: white; }
  .comments__new-form .acf-input-wrap {
    overflow: visible; }

/**
 * Comment list.
 */
.comments__list {
  display: none; }

.comments__list-wrap .comment-respond {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  border-bottom: 1px solid #ccc;
  margin-bottom: 15px;
  padding-bottom: 15px; }
  .comments__list-wrap .comment-respond small {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    display: block;
    width: 100%;
    margin-top: 10px;
    font-weight: bold; }
  .comments__list-wrap .comment-respond form {
    width: 100%; }

.comments__list-title {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc; }

.comments__comment {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ccc; }
  .comments__comment.comment-level-2 {
    padding-left: 25px; }
  .comments__comment.comment-level-3 {
    padding-left: 50px; }
  .comments__comment.comment-level-4 {
    padding-left: 75px; }
  .comments__comment.comment-level-5 {
    padding-left: 100px; }

.comments__comment-author {
  font-weight: bold; }

.comments__comment-company a {
  text-decoration: underline; }

.comments__comment-date {
  font-style: italic; }

.comments__comment-website a {
  text-decoration: underline; }

.comments__comment-reply a {
  display: block;
  font-weight: bold;
  padding-top: 5px; }

.content-actions {
  position: absolute;
  top: 0;
  right: 13%; }
  @media only screen and (max-width: 899px) {
    .content-actions {
      right: 5%; } }
  .content-actions a {
    opacity: 1;
    transition: all 250ms ease; }
    .content-actions a:hover {
      opacity: 0.7; }

/**
 * Help.
 */
.content-actions__help {
  margin-left: 10px; }

.content-actions__help-body {
  display: none;
  position: relative;
  max-width: 900px;
  margin: 0 auto;
  padding: 15px;
  background-color: white;
  border-radius: 5px; }
  .content-actions__help-body .mfp-close {
    top: 0 !important;
    right: 0 !important; }

.mfp-content .content-actions__help-body {
  display: block; }
  @media only screen and (max-width: 899px) {
    .mfp-content .content-actions__help-body {
      height: calc(100vh - 10px);
      overflow: scroll; } }
  .mfp-content .content-actions__help-body::-webkit-scrollbar {
    width: 5px;
    height: 0;
    background: transparent; }
  .mfp-content .content-actions__help-body::-webkit-scrollbar-button {
    height: 0;
    background: #9bbe41; }
  .mfp-content .content-actions__help-body::-webkit-scrollbar-thumb {
    background: #9bbe41; }

/**
 * Print.
 */
.content-actions__print {
  margin-left: 10px; }

.content-breadcrumbs {
  margin-bottom: 5px;
  color: rgba(51, 51, 51, 0.95); }
  .content-breadcrumbs a {
    text-decoration: underline; }
    .content-breadcrumbs a:hover {
      text-decoration: none; }

.content-breadcrumbs__version:after {
  margin: 0 0 0 2px;
  content: '»'; }

.content-breadcrumbs__version {
  display: inline; }

.content-breadcrumbs__links {
  display: inline; }

.content-prev-next {
  margin-bottom: 15px; }
  .content-prev-next a:hover {
    text-decoration: underline; }

.content-prev-next__prev {
  display: flex;
  align-items: center;
  width: 50%;
  min-height: 30px;
  background-image: url("./../images/prevButtonBg.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat; }
  .content-prev-next__prev a {
    text-align: left; }

.content-prev-next__next {
  display: flex;
  align-items: center;
  place-content: flex-end;
  width: 50%;
  min-height: 30px;
  background-image: url("./../images/nextButtonBg.png");
  background-size: 100% 100%;
  background-position: center center;
  background-repeat: no-repeat; }
  .content-prev-next__next a {
    text-align: right; }

.content-single__head {
  margin-bottom: 5px;
  padding-bottom: 3px;
  border-bottom: 1px solid #dddddd; }

.content-single__title {
  margin-bottom: 5px; }

.content-single__article-number {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.23077em;
  color: rgba(51, 51, 51, 0.95); }

.content-single__page-content {
  margin-bottom: 15px; }

.content-table {
  margin-top: 10px; }

.content-table__title {
  margin-bottom: 20px; }

.content-table__links {
  margin-bottom: 20px; }
  .content-table__links a {
    text-decoration: underline; }
    .content-table__links a:hover {
      text-decoration: none; }

.figure-list__title {
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd; }

.figure-list__items {
  margin: -2px; }

.figure-list__item {
  width: 13.585%;
  margin: 2px;
  transition: all 250ms ease; }
  .figure-list__item:hover {
    opacity: 0.4; }

.figure-list__item-image img {
  width: 100%;
  max-width: 100%;
  height: auto; }

.figure-single {
  padding: 50px; }
  @media only screen and (max-width: 899px) {
    .figure-single {
      padding: 25px; } }
  .figure-single .mfp-close {
    top: 50px !important;
    right: 50px !important; }
    @media only screen and (max-width: 899px) {
      .figure-single .mfp-close {
        top: 20px !important;
        right: 30px !important; } }

.figure-single__image {
  background-color: white; }
  .figure-single__image img {
    max-height: 600px; }

.figure-single__downloads {
  justify-content: center;
  background-color: #f9f9f9;
  width: 100%;
  padding: 15px;
  color: black;
  font-weight: bold; }
  .figure-single__downloads a {
    margin: 0 10px; }
    .figure-single__downloads a img {
      margin-right: 5px; }
    .figure-single__downloads a span {
      text-decoration: underline; }

.figure-single__title {
  margin-top: 10px;
  color: white;
  text-align: center;
  display: inline-block;
  padding: 2px 20px;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  font-weight: bold;
  white-space: nowrap; }

.header {
  height: 95px;
  padding-top: 30px; }
  @media only screen and (max-width: 899px) {
    .header {
      height: 90px;
      padding: 0;
      background-color: black; } }
  .header .wrapper {
    position: relative; }
    @media only screen and (max-width: 899px) {
      .header .wrapper {
        display: flex;
        align-items: center;
        justify-content: space-between; } }

.header__versions {
  align-items: center;
  height: 45px;
  padding-left: 25px; }
  @media only screen and (max-width: 899px) {
    .header__versions {
      display: none; } }
  .header__versions:before {
    position: absolute;
    left: -100%;
    height: 100%;
    width: 9999px;
    background-color: black;
    border-bottom: 2px solid #9bbe41;
    content: '';
    z-index: 1; }
  .header__versions a {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em;
    position: relative;
    margin-right: 20px;
    color: rgba(255, 255, 255, 0.7);
    transition: all 250ms ease;
    z-index: 2; }
    .header__versions a:last-of-type {
      margin: 0; }
    .header__versions a.is-active {
      color: white;
      font-weight: bold; }
    .header__versions a:hover {
      color: white; }

.header__logo-handboek {
  display: none; }
  @media only screen and (max-width: 899px) {
    .header__logo-handboek {
      display: block;
      position: relative;
      z-index: 2; } }

.header__logo-cob {
  position: absolute;
  top: 11px;
  right: 50px;
  width: 200px;
  height: 138px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__logo-cob {
      display: flex;
      align-items: center;
      position: relative;
      top: 5px;
      right: 0;
      width: auto;
      height: 80px; }
      .header__logo-cob img {
        max-height: 100%;
        width: auto; } }

.literature-list__title {
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd; }

.literature-list__category-title {
  margin: 15px 0 10px 0; }

.literature-list__item-reference {
  margin-right: 5px; }

.literature-list__item-link a:hover {
  text-decoration: underline; }

.literature-single__link-wrap {
  background-color: white;
  padding: 35px; }
  .literature-single__link-wrap a {
    text-decoration: underline; }

.literature-single__reference {
  margin-right: 5px; }

.literature-single__link:hover {
  text-decoration: underline; }

.print {
  padding: 20px; }

.print__logo {
  margin-bottom: 20px; }

.search-form {
  margin-bottom: 10px; }
  @media only screen and (max-width: 899px) {
    .search-form {
      display: none;
      margin: 0;
      padding: 15px 50px 0 50px;
      background-color: rgba(255, 255, 255, 0.85); } }
  @media only screen and (max-width: 599px) {
    .search-form {
      padding: 15px 25px 0 25px; } }
  .search-form input {
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.33333em;
    height: 24px;
    border: 0;
    font-style: italic;
    color: rgba(51, 51, 51, 0.95);
    background-color: transparent;
    margin: 0; }
    @media only screen and (max-width: 899px) {
      .search-form input {
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 1.17647em;
        height: 37px;
        background: white;
        border-radius: 20px;
        margin-bottom: 15px;
        padding: 3px 0 0 15px; } }
    .search-form input::placeholder {
      opacity: 1;
      font-style: italic;
      color: rgba(51, 51, 51, 0.95); }
    .search-form input:invalid {
      box-shadow: none; }
  .search-form button {
    position: absolute;
    top: 0;
    right: 0;
    width: 25px;
    height: 25px;
    font-family: "WebSymbolsRegular";
    font-size: 14px;
    color: rgba(51, 51, 51, 0.95);
    z-index: 2;
    transition: all 250ms ease; }
    @media only screen and (max-width: 899px) {
      .search-form button {
        font-size: 18px;
        top: 5px;
        right: 8px; } }
    .search-form button:hover {
      color: #9bbe41; }

.search-form__general {
  position: relative; }

.search-form__article {
  position: relative; }

.search-form__error {
  background-color: #fef4ba;
  padding: 5px 10px;
  margin: 10px 0;
  border: 1px solid #e8c805;
  border-radius: 3px; }

.search-item {
  margin-top: 40px; }
  .search-item .content-breadcrumbs {
    margin-bottom: 3px; }

.search-item__title {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.2em;
  margin-bottom: 5px;
  text-decoration: underline;
  font-weight: bold; }
  .search-item__title:hover {
    text-decoration: none; }

.search-item__content {
  margin-top: 20px; }
  .search-item__content p {
    display: inline; }

.search-item__more {
  text-decoration: underline; }
  .search-item__more:hover {
    text-decoration: none; }

.search-results {
  margin-bottom: 50px; }

.search-results__title {
  padding-bottom: 10px;
  border-bottom: 1px solid #dddddd; }

.search-results__list {
  list-style-type: disc;
  margin-top: -15px;
  margin-left: 25px; }

.search-results__pagination {
  margin: 30px 0 0 25px; }
  .search-results__pagination .screen-reader-text {
    display: none; }
  .search-results__pagination a:hover,
  .search-results__pagination .current {
    text-decoration: underline; }
  .search-results__pagination .current {
    font-weight: bold; }

.sidebar-form {
  margin: 15px 0; }
  @media only screen and (max-width: 899px) {
    .sidebar-form {
      display: none; } }

.sidebar-form__title {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.53846em;
  margin-bottom: 10px;
  cursor: pointer; }
  .sidebar-form__title img {
    width: 53px;
    height: 16px;
    margin-right: 10px; }

.sidebar-form__body {
  display: none; }

.sidebar-form__introduction {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.53846em;
  margin-bottom: 10px; }

.sidebar-navigation {
  align-content: center;
  justify-content: space-between;
  min-height: 30px;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 0 50px; }
  @media only screen and (min-width: 900px) {
    .sidebar-navigation {
      display: none; } }
  @media only screen and (max-width: 599px) {
    .sidebar-navigation {
      padding: 0 25px; } }
  .sidebar-navigation a {
    opacity: 1;
    transition: all 250ms ease; }
    .sidebar-navigation a:hover {
      opacity: 0.7; }

.sidebar-navigation__prev {
  width: 23px;
  height: 23px; }

.sidebar-navigation__search {
  font-family: "WebSymbolsRegular";
  width: 20px;
  height: 20px;
  font-size: 20px;
  color: white; }

.sidebar-navigation__page-tree {
  font-family: "WebSymbolsRegular";
  width: 23px;
  height: 23px;
  font-size: 20px;
  color: white; }

.sidebar-navigation__versions {
  width: 23px;
  height: 23px; }

.sidebar-navigation__next {
  width: 23px;
  height: 23px; }

@media only screen and (max-width: 899px) {
  .sidebar-page-tree {
    display: none;
    padding: 15px 50px;
    background-color: rgba(255, 255, 255, 0.85); } }

@media only screen and (max-width: 599px) {
  .sidebar-page-tree {
    padding: 15px 25px; } }

.sidebar-page-tree .ztree {
  overflow: overlay;
  padding-bottom: 20px; }

.sidebar-page-tree .ztree * {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.14286em;
  font-family: "CamboRegular"; }

.page-tree__knowledge-base {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.53846em;
  display: flex;
  margin-top: 15px; }
  .page-tree__knowledge-base img {
    position: relative;
    top: -1px;
    margin-right: 10px; }

.sidebar-versions {
  display: none; }
  @media only screen and (max-width: 899px) {
    .sidebar-versions {
      display: none;
      padding: 0 50px;
      background-color: rgba(255, 255, 255, 0.85); } }
  @media only screen and (max-width: 599px) {
    .sidebar-versions {
      padding: 0 25px; } }
  .sidebar-versions a {
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.53846em;
    display: flex;
    border-right: 1px solid #cccccc;
    padding: 10px 10px; }

.table-single {
  padding: 50px; }
  @media only screen and (max-width: 899px) {
    .table-single {
      padding: 25px; } }
  .table-single .mfp-close {
    top: 50px !important;
    right: 50px !important; }
    @media only screen and (max-width: 899px) {
      .table-single .mfp-close {
        top: 20px !important;
        right: 30px !important; } }

.table-single__editor {
  background-color: white;
  padding: 35px;
  max-height: calc(100vh - 130px);
  overflow: scroll; }
  @media only screen and (max-width: 899px) {
    .table-single__editor {
      max-height: calc(100vh - 100px); } }
  .table-single__editor::-webkit-scrollbar {
    width: 5px;
    height: 0;
    background: transparent; }
  .table-single__editor::-webkit-scrollbar-button {
    height: 0;
    background: #9bbe41; }
  .table-single__editor::-webkit-scrollbar-thumb {
    background: #9bbe41; }
  .table-single__editor table {
    margin-bottom: 0;
    cursor: auto; }

.table-single__reference {
  margin-right: 5px; }

.table-single__link:hover {
  text-decoration: underline; }

.table-single__title {
  margin-top: 10px;
  color: white;
  text-align: center;
  display: inline-block;
  padding: 2px 20px;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 15px;
  text-shadow: 0 1px 2px #222;
  font-weight: bold;
  white-space: nowrap; }

@page :first {
  margin-top: 0cm;
  margin-bottom: -20cm;
  margin-left: 0cm;
  margin-right: 0cm; }

.print-header {
  position: relative; }

.print-header__version {
  position: absolute;
  top: 20px;
  right: 20px;
  line-height: 120%;
  text-align: right; }

.print-header__title {
  background: black;
  color: white;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 50px;
  font-size: 42px;
  width: 100%;
  border-bottom: 5px solid #9bbe41; }

.print-header__subtitle {
  margin-top: 20px;
  font-size: 20px;
  padding-left: 50px; }

.print-header__cover {
  width: 21.1cm;
  height: 29.7cm;
  object-fit: contain;
  margin-top: -1.65cm; }

.header:has([data-page-number="1"]), .pdf-header:has([data-page-number="1"]) {
  display: none; }

.pdf-header {
  display: none !important;
  color: transparent !important;
  font-size: 0px !important; }

.print-menu__links {
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  line-height: 140%;
  color: black; }
  .print-menu__links a {
    display: flex;
    width: 100%; }
    .print-menu__links a .title {
      display: flex;
      flex: 1;
      align-items: center; }
      .print-menu__links a .title::after {
        content: '';
        border-bottom: 2px dotted #AAA;
        flex: 1;
        margin: 0 10px;
        margin-top: 5px; }
  .print-menu__links .art-nr {
    color: black !important; }

.print-menu__title {
  font-size: 25px;
  margin-bottom: 30px;
  display: block; }

.print-menu__link-main {
  margin-bottom: 20px;
  width: 100%; }
  .print-menu__link-main.no-childeren {
    margin-bottom: 0; }

.print-menu__link-children > .print-menu__link-childs > a {
  padding-left: 0 !important; }

.print-menu__link-children {
  padding-left: 20px; }

.print-menu__link-childs > div {
  padding-left: 0 !important; }

.print-menu__link-childs > div > .print-menu__link-childs {
  padding-left: 20px; }

/**
 * Utilities.
 */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
			 * `color` black-100 color utility.
			 */
.color-black-100 {
  color: black; }

/**
			 * `background-color` black-100 color utility.
			 */
.background-color-black-100 {
  background-color: black; }

/**
			 * `color` rgba(0, 0, 0, 0.5)-50 color utility.
			 */
.color-black-50 {
  color: rgba(0, 0, 0, 0.5); }

/**
			 * `background-color` rgba(0, 0, 0, 0.5)-50 color utility.
			 */
.background-color-black-50 {
  background-color: rgba(0, 0, 0, 0.5); }

/**
			 * `color` white-100 color utility.
			 */
.color-white-100 {
  color: white; }

/**
			 * `background-color` white-100 color utility.
			 */
.background-color-white-100 {
  background-color: white; }

/**
			 * `color` rgba(255, 255, 255, 0.85)-85 color utility.
			 */
.color-white-85 {
  color: rgba(255, 255, 255, 0.85); }

/**
			 * `background-color` rgba(255, 255, 255, 0.85)-85 color utility.
			 */
.background-color-white-85 {
  background-color: rgba(255, 255, 255, 0.85); }

/**
			 * `color` rgba(255, 255, 255, 0.7)-70 color utility.
			 */
.color-white-70 {
  color: rgba(255, 255, 255, 0.7); }

/**
			 * `background-color` rgba(255, 255, 255, 0.7)-70 color utility.
			 */
.background-color-white-70 {
  background-color: rgba(255, 255, 255, 0.7); }

/**
			 * `color` #333333-100 color utility.
			 */
.color-grey-100 {
  color: #333333; }

/**
			 * `background-color` #333333-100 color utility.
			 */
.background-color-grey-100 {
  background-color: #333333; }

/**
			 * `color` rgba(51, 51, 51, 0.95)-95 color utility.
			 */
.color-grey-95 {
  color: rgba(51, 51, 51, 0.95); }

/**
			 * `background-color` rgba(51, 51, 51, 0.95)-95 color utility.
			 */
.background-color-grey-95 {
  background-color: rgba(51, 51, 51, 0.95); }

/**
			 * `color` #9bbe41-100 color utility.
			 */
.color-green-100 {
  color: #9bbe41; }

/**
			 * `background-color` #9bbe41-100 color utility.
			 */
.background-color-green-100 {
  background-color: #9bbe41; }

/**
			 * `color` #ffe600-100 color utility.
			 */
.color-yellow-100 {
  color: #ffe600; }

/**
			 * `background-color` #ffe600-100 color utility.
			 */
.background-color-yellow-100 {
  background-color: #ffe600; }

/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */
.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 * Loop through every value for the `object-fit` property.
 */
/**
	 * `object-fit` fill utility class.
	 */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  object-fit: fill; }

/**
	 * `object-fit` contain utility class.
	 */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  object-fit: contain; }

/**
	 * `object-fit` cover utility class.
	 */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  object-fit: cover; }

/**
	 * `object-fit` none utility class.
	 */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  object-fit: none; }

/**
	 * `object-fit` scale-down utility class.
	 */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  object-fit: scale-down; }

/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "CamboRegular"; }

.text-xs-WebSymbolsRegular {
  font-family: "WebSymbolsRegular"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "CamboRegular"; }
  .text-sm-WebSymbolsRegular {
    font-family: "WebSymbolsRegular"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "CamboRegular"; }
  .text-md-WebSymbolsRegular {
    font-family: "WebSymbolsRegular"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "CamboRegular"; }
  .text-lg-WebSymbolsRegular {
    font-family: "WebSymbolsRegular"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "CamboRegular"; }
  .text-xl-WebSymbolsRegular {
    font-family: "WebSymbolsRegular"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25em; }

.text-xs-h2 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.38889em; }

.text-xs-h3 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xs-h4 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xs-h5 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xs-h6 {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xs-p {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em; }
  .text-sm-h2 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.38889em; }
  .text-sm-h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-sm-h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-sm-h5 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-sm-h6 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-sm-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.64286em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em; }
  .text-md-h2 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.38889em; }
  .text-md-h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-md-h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-md-h5 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-md-h6 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-md-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.64286em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em; }
  .text-lg-h2 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.38889em; }
  .text-lg-h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-lg-h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-lg-h5 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-lg-h6 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-lg-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.64286em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.25em; }
  .text-xl-h2 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.38889em; }
  .text-xl-h3 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-xl-h4 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-xl-h5 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-xl-h6 {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5em; }
  .text-xl-p {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.64286em; } }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

.text-xs-right {
  text-align: right; }

.text-xs-center {
  text-align: center; }

@media only screen and (max-width: 599px) {
  .text-sm-left {
    text-align: left; }
  .text-sm-right {
    text-align: right; }
  .text-sm-center {
    text-align: center; } }

@media only screen and (min-width: 600px) {
  .text-md-left {
    text-align: left; }
  .text-md-right {
    text-align: right; }
  .text-md-center {
    text-align: center; } }

@media only screen and (min-width: 900px) {
  .text-lg-left {
    text-align: left; }
  .text-lg-right {
    text-align: right; }
  .text-lg-center {
    text-align: center; } }

@media only screen and (min-width: 1200px) {
  .text-xl-left {
    text-align: left; }
  .text-xl-right {
    text-align: right; }
  .text-xl-center {
    text-align: center; } }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

@media only screen and (max-width: 599px) {
  .text-sm-100 {
    font-weight: 100; }
  .text-sm-200 {
    font-weight: 200; }
  .text-sm-300 {
    font-weight: 300; }
  .text-sm-400 {
    font-weight: 400; }
  .text-sm-500 {
    font-weight: 500; }
  .text-sm-600 {
    font-weight: 600; }
  .text-sm-700 {
    font-weight: 700; }
  .text-sm-800 {
    font-weight: 800; }
  .text-sm-900 {
    font-weight: 900; } }

@media only screen and (min-width: 600px) {
  .text-md-100 {
    font-weight: 100; }
  .text-md-200 {
    font-weight: 200; }
  .text-md-300 {
    font-weight: 300; }
  .text-md-400 {
    font-weight: 400; }
  .text-md-500 {
    font-weight: 500; }
  .text-md-600 {
    font-weight: 600; }
  .text-md-700 {
    font-weight: 700; }
  .text-md-800 {
    font-weight: 800; }
  .text-md-900 {
    font-weight: 900; } }

@media only screen and (min-width: 900px) {
  .text-lg-100 {
    font-weight: 100; }
  .text-lg-200 {
    font-weight: 200; }
  .text-lg-300 {
    font-weight: 300; }
  .text-lg-400 {
    font-weight: 400; }
  .text-lg-500 {
    font-weight: 500; }
  .text-lg-600 {
    font-weight: 600; }
  .text-lg-700 {
    font-weight: 700; }
  .text-lg-800 {
    font-weight: 800; }
  .text-lg-900 {
    font-weight: 900; } }

@media only screen and (min-width: 1200px) {
  .text-xl-100 {
    font-weight: 100; }
  .text-xl-200 {
    font-weight: 200; }
  .text-xl-300 {
    font-weight: 300; }
  .text-xl-400 {
    font-weight: 400; }
  .text-xl-500 {
    font-weight: 500; }
  .text-xl-600 {
    font-weight: 600; }
  .text-xl-700 {
    font-weight: 700; }
  .text-xl-800 {
    font-weight: 800; }
  .text-xl-900 {
    font-weight: 900; } }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

.text-xs-uppercase {
  text-transform: uppercase; }

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

@media only screen and (max-width: 599px) {
  .text-sm-capitalize {
    text-transform: capitalize; }
  .text-sm-uppercase {
    text-transform: uppercase; }
  .text-sm-lowercase {
    text-transform: lowercase; }
  .text-sm-none {
    text-transform: none; }
  .text-sm-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 600px) {
  .text-md-capitalize {
    text-transform: capitalize; }
  .text-md-uppercase {
    text-transform: uppercase; }
  .text-md-lowercase {
    text-transform: lowercase; }
  .text-md-none {
    text-transform: none; }
  .text-md-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 900px) {
  .text-lg-capitalize {
    text-transform: capitalize; }
  .text-lg-uppercase {
    text-transform: uppercase; }
  .text-lg-lowercase {
    text-transform: lowercase; }
  .text-lg-none {
    text-transform: none; }
  .text-lg-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 1200px) {
  .text-xl-capitalize {
    text-transform: capitalize; }
  .text-xl-uppercase {
    text-transform: uppercase; }
  .text-xl-lowercase {
    text-transform: lowercase; }
  .text-xl-none {
    text-transform: none; }
  .text-xl-full-width {
    text-transform: full-width; } }

/**
 * Vertical Rhythm.
 */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvQHp0cmVlL3p0cmVlX3YzL2Nzcy96VHJlZVN0eWxlL3pUcmVlU3R5bGUuY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL21hZ25pZmljLXBvcHVwL3NyYy9jc3MvbWFpbi5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL21hZ25pZmljLXBvcHVwL3NyYy9jc3MvX3NldHRpbmdzLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWl4aW5zLnNjc3MiLCJnZW5lcmljL19iYXNlLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYmFja2dyb3VuZC5zY3NzIiwib2JqZWN0cy9fYm9vay5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJvYmplY3RzL19jb250ZW50LWNvbnN0cmFpbnQuc2NzcyIsIm9iamVjdHMvX2ZsZXguc2NzcyIsIm9iamVjdHMvX2Zvcm0uc2NzcyIsIm9iamVjdHMvX2hlYWRpbmdzLnNjc3MiLCJvYmplY3RzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29tbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtYWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1wcmV2LW5leHQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtc2luZ2xlLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LXRhYmxlLnNjc3MiLCJjb21wb25lbnRzL19maWd1cmUtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fZmlndXJlLXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19saXRlcmF0dXJlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2xpdGVyYXR1cmUtc2luZ2xlLnNjc3MiLCJjb21wb25lbnRzL19wcmludC5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwiY29tcG9uZW50cy9fc2lkZWJhci1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19zaWRlYmFyLW5hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3NpZGViYXItcGFnZS10cmVlLnNjc3MiLCJjb21wb25lbnRzL19zaWRlYmFyLXZlcnNpb25zLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvX3BkZi5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBTZXR0aW5ncy5hZnNkZmRcclxuICovXHJcbkBpbXBvcnQgJ3NldHRpbmdzL2FsbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFZlbmRvci5cclxuICovXHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZSc7XHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9AenRyZWUvenRyZWVfdjMvY3NzL3pUcmVlU3R5bGUvelRyZWVTdHlsZSc7XHJcbkBpbXBvcnQgJy4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9tYWduaWZpYy1wb3B1cC9zcmMvY3NzL21haW4nO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBUb29scy5cclxuICovXHJcbkBpbXBvcnQgJ3Rvb2xzL2FsbCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEVsZW1lbnRzLlxyXG4gKi9cclxuXHJcblxyXG4vKipcclxuICogR2VuZXJhbC5cclxuICovXHJcbkBpbXBvcnQgJ2dlbmVyaWMvYmFzZSc7XHJcbkBpbXBvcnQgJ2dlbmVyaWMvcmVzZXQnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPYmplY3RzLlxyXG4gKi9cclxuQGltcG9ydCAnb2JqZWN0cy9iYWNrZ3JvdW5kJztcclxuQGltcG9ydCAnb2JqZWN0cy9ib29rJztcclxuQGltcG9ydCAnb2JqZWN0cy9jb250YWluZXInO1xyXG5AaW1wb3J0ICdvYmplY3RzL2NvbnRlbnQtY29uc3RyYWludCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZmxleCc7XHJcbkBpbXBvcnQgJ29iamVjdHMvZm9ybSc7XHJcbkBpbXBvcnQgJ29iamVjdHMvaGVhZGluZ3MnO1xyXG5AaW1wb3J0ICdvYmplY3RzL21hZ25pZmljLXBvcHVwJztcclxuQGltcG9ydCAnb2JqZWN0cy93cmFwcGVyJztcclxuXHJcblxyXG4vKipcclxuICogQ29tcG9uZW50cy5cclxuICovXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY21zLW91dHB1dCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29tbWVudHMnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtYWN0aW9ucyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1icmVhZGNydW1icyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY29udGVudC1wcmV2LW5leHQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtc2luZ2xlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LXRhYmxlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9maWd1cmUtbGlzdCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmlndXJlLXNpbmdsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9saXRlcmF0dXJlLWxpc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2xpdGVyYXR1cmUtc2luZ2xlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9wcmludCc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VhcmNoLWZvcm0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3NlYXJjaC1pdGVtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0cyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2lkZWJhci1mb3JtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zaWRlYmFyLW5hdmlnYXRpb24nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3NpZGViYXItcGFnZS10cmVlJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9zaWRlYmFyLXZlcnNpb25zJztcclxuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZS1zaW5nbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3BkZic7XHJcblxyXG5cclxuLyoqXHJcbiAqIFV0aWxpdGllcy5cclxuICovXHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9jb2xvcic7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9oZWxwZXJzJztcclxuQGltcG9ydCAndXRpbGl0aWVzL29iamVjdC1maXQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvcG9zaXRpb24nO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdGV4dCc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy92ZXJ0aWNhbC1yaHl0aG0nO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvei1pbmRleCc7XHJcbiIsIi8qKlxyXG4gKiBTZXR0aW5ncy5cclxuICovXHJcbiBcclxuQGltcG9ydCAndHlwb2dyYXBoeSc7XHJcbkBpbXBvcnQgJ2NvbG9yJztcclxuQGltcG9ydCAnei1pbmRleCc7XHJcbkBpbXBvcnQgJ2RlZmluaXRpb25zJztcclxuIiwiLyoqXHJcbiAqIEZvbnQgZmFtaWx5IG1hcC5cclxuICovXHJcblxyXG4kZm9udC1mYW1pbHk6IChcclxuXHQnZGVmYXVsdCc6ICdDYW1ib1JlZ3VsYXInLFxyXG5cdCdXZWJTeW1ib2xzUmVndWxhcic6ICdXZWJTeW1ib2xzUmVndWxhcidcclxuKTtcclxuXHJcblxyXG4vKipcclxuICogRm9udCBGYWNlLlxyXG4gKi9cclxuXHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnQ2FtYm9SZWd1bGFyJztcclxuXHRzcmM6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2hhbmRib2VrdHVubmVsYm91dy9hc3NldHMvZm9udHMvQ2FtYm8tUmVndWxhci13ZWJmb250LmVvdCcpO1xyXG5cdHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvaGFuZGJvZWt0dW5uZWxib3V3L2Fzc2V0cy9mb250cy9DYW1iby1SZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcvd3AtY29udGVudC90aGVtZXMvaGFuZGJvZWt0dW5uZWxib3V3L2Fzc2V0cy9mb250cy9DYW1iby1SZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9oYW5kYm9la3R1bm5lbGJvdXcvYXNzZXRzL2ZvbnRzL0NhbWJvLVJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2hhbmRib2VrdHVubmVsYm91dy9hc3NldHMvZm9udHMvQ2FtYm8tUmVndWxhci13ZWJmb250LnN2ZyNDYW1ib1JlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG5cdGZvbnQtZmFtaWx5OiAnV2ViU3ltYm9sc1JlZ3VsYXInO1xyXG5cdHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvaGFuZGJvZWt0dW5uZWxib3V3L2Fzc2V0cy9mb250cy93ZWJzeW1ib2xzLXJlZ3VsYXItd2ViZm9udC5lb3QnKTtcclxuXHRzcmM6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2hhbmRib2VrdHVubmVsYm91dy9hc3NldHMvZm9udHMvd2Vic3ltYm9scy1yZWd1bGFyLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcvd3AtY29udGVudC90aGVtZXMvaGFuZGJvZWt0dW5uZWxib3V3L2Fzc2V0cy9mb250cy93ZWJzeW1ib2xzLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2hhbmRib2VrdHVubmVsYm91dy9hc3NldHMvZm9udHMvd2Vic3ltYm9scy1yZWd1bGFyLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9oYW5kYm9la3R1bm5lbGJvdXcvYXNzZXRzL2ZvbnRzL3dlYnN5bWJvbHMtcmVndWxhci13ZWJmb250LnN2ZyNXZWJTeW1ib2xzUmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCBzaXplIG1hcC5cclxuICovXHJcblxyXG4kZm9udC1zaXplOiAoXHJcblx0J2gxJzogMjBweCxcclxuXHQnaDInOiAxOHB4LFxyXG5cdCdoMyc6IDE2cHgsXHJcblx0J2g0JzogMTZweCxcclxuXHQnaDUnOiAxNnB4LFxyXG5cdCdoNic6IDE2cHgsXHJcblx0J3AnOiAxNHB4XHJcbik7XHJcblxyXG5cclxuLyoqXHJcbiAqIExpbmUgaGVpZ2h0IG1hcC5cclxuICovXHJcblxyXG4kbGluZS1oZWlnaHQ6IChcclxuXHQnaDEnOiAyNXB4LFxyXG5cdCdoMic6IDI1cHgsXHJcblx0J2gzJzogMjRweCxcclxuXHQnaDQnOiAyNHB4LFxyXG5cdCdoNSc6IDI0cHgsXHJcblx0J2g2JzogMjRweCxcclxuXHQncCc6IDIzcHhcclxuKTtcclxuIiwiLy8gQ29sb3IgbWFwLlxyXG4kY29sb3JzOiAoXHJcblx0J2JsYWNrJzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDAlLCAxKSxcclxuXHRcdCc1MCc6IGhzbGEoMCwgMCUsIDAlLCAwLjUpXHJcblx0KSxcclxuXHQnd2hpdGUnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMTAwJSwgMTcpLFxyXG5cdFx0Jzg1JzogaHNsYSgwLCAwJSwgMTAwJSwgMC44NSksXHJcblx0XHQnNzAnOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjcpXHJcblx0KSxcclxuXHQnZ3JleSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDAsIDAlLCAyMCUsIDEpLFxyXG5cdFx0Jzk1JzogaHNsYSgwLCAwJSwgMjAlLCAwLjk1KSxcclxuXHQpLFxyXG5cdCdncmVlbic6IChcclxuXHRcdCcxMDAnOiBoc2xhKDc3LCA0OSUsIDUwJSwgMSksXHJcblx0KSxcclxuXHQneWVsbG93JzogKFxyXG5cdFx0JzEwMCc6IGhzbGEoNTQsIDEwMCUsIDUwJSwgMSksXHJcblx0KVxyXG4pO1xyXG5cclxuLy8gQ29sb3Igc2hvcnRoYW5kIHZhcmlhYmxlcy5cclxuJGNvbG9yLWJsYWNrLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcbiRjb2xvci1ibGFjay01MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnNTAnKTtcclxuJGNvbG9yLXdoaXRlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnMTAwJyk7XHJcbiRjb2xvci13aGl0ZS04NTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aGl0ZScpLCAnODUnKTtcclxuJGNvbG9yLXdoaXRlLTcwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICc3MCcpO1xyXG4kY29sb3ItZ3JleS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMTAwJyk7XHJcbiRjb2xvci1ncmV5LTk1OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZXknKSwgJzk1Jyk7XHJcbiRjb2xvci1ncmVlbi0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzEwMCcpO1xyXG4kY29sb3IteWVsbG93LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd5ZWxsb3cnKSwgJzEwMCcpO1xyXG5cclxuLy8gUHJpbWFyeSBjb2xvci5cclxuJGNvbG9yLXByaW1hcnk6ICRjb2xvci1ncmV5LTEwMDtcclxuIiwiLy8gQSBsaW1pdGVkIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSB0byBwcmV2ZW50XHJcbi8vIEV4YWdnZXJhdGVkIGFtb3VudHMgYW5kIHVnbHkgaGFja3MuXHJcblxyXG4kei1pbmRleDogKFxyXG5cdCcwJzogIDAsXHJcblx0JzEnOiAgMTAsXHJcblx0JzInOiAgMjAsXHJcblx0JzMnOiAgMzAsXHJcblx0JzQnOiAgNDAsXHJcblx0JzUnOiAgNTAsXHJcblx0JzYnOiAgNjAsXHJcblx0JzcnOiAgNzAsXHJcblx0JzgnOiAgODAsXHJcblx0JzknOiAgOTAsXHJcblx0JzEwJzogMTAwXHJcbik7XHJcbiIsIi8qKlxyXG4gKiBHcmlkLlxyXG4gKi9cclxuXHJcbi8vIEdyaWQgd2lkdGguXHJcbi8vIE1heGltdW0gY29udGFpbmVyIHdpZHRoLlxyXG4kZ3JpZC13aWR0aDogMTAyNHB4O1xyXG5cclxuLy8gR3JpZCBjb2x1bW5zLlxyXG4vLyBBbW91bnQgb2YgZ3JpZCBjb2x1bW5zIHRvIGNhbGN1bGF0ZSBhIGNvbHVtbiB3aWR0aCB3aXRoLlxyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuXHJcbi8vIEdyaWQgZ2FwLlxyXG4vLyBTcGFjZSBiZXR3ZWVuIGdyaWQgY29sdW1ucywgYXV0b21hdGVkLlxyXG4kZ3JpZC1nYXA6IDIwcHg7XHJcblxyXG5cclxuLyoqXHJcbiAqIEFzc2V0cy5cclxuICovXHJcblxyXG4vLyBJbWFnZSBwYXRoLlxyXG4kaW1hZ2UtcGF0aDogJy4uL2ltYWdlcy8nO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCb2R5LlxyXG4gKi9cclxuXHJcbi8vIEJvZHkgYmFja2dyb3VuZCBjb2xvci5cclxuJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHJcbi8vIEJvZHkgY29sb3IuXHJcbiRib2R5LWNvbG9yOiAkY29sb3ItZ3JleS0xMDA7XHJcblxyXG4vLyBCb2R5IGZvbnQgZmFtaWx5LlxyXG4kYm9keS1mb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XHJcblxyXG4vLyBCb2R5IHRleHQuXHJcbiRib2R5LXRleHQ6ICdwJztcclxuXHJcblxyXG4vKipcclxuICogT3RoZXIuXHJcbiAqL1xyXG5cclxuLy8gTGluayBjb2xvci5cclxuJGxpbmstY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcblxyXG5cclxuLyoqXHJcbiAqIFJlc3BvbnNpdmUuXHJcbiAqL1xyXG5cclxuLy8gR3JpZCBicmVha3BvaW50IGFsaWFzLlxyXG4kYnJlYWtwb2ludHM6IChcclxuXHR4czogbnVsbCxcclxuXHRzbTogJ3Bob25lJyxcclxuXHRtZDogJ3RhYmxldC1wb3J0cmFpdC11cCcsXHJcblx0bGc6ICd0YWJsZXQtbGFuZHNjYXBlLXVwJyxcclxuXHR4bDogJ2Rlc2t0b3AnXHJcbik7XHJcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuelRyZWUgU3R5bGVcclxuXHJcbnZlcnNpb246XHQzLjUuMTlcclxuYXV0aG9yOlx0XHRIdW50ZXIuelxyXG5lbWFpbDpcdFx0aHVudGVyLnpAMjYzLm5ldFxyXG53ZWJzaXRlOlx0aHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2pxdWVyeXRyZWUvXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi56dHJlZSAqIHtwYWRkaW5nOjA7IG1hcmdpbjowOyBmb250LXNpemU6MTJweDsgZm9udC1mYW1pbHk6IFZlcmRhbmEsIEFyaWFsLCBIZWx2ZXRpY2EsIEFwcGxlR290aGljLCBzYW5zLXNlcmlmfVxyXG4uenRyZWUge21hcmdpbjowOyBwYWRkaW5nOjVweDsgY29sb3I6IzMzM31cclxuLnp0cmVlIGxpe3BhZGRpbmc6MDsgbWFyZ2luOjA7IGxpc3Qtc3R5bGU6bm9uZTsgbGluZS1oZWlnaHQ6MTRweDsgdGV4dC1hbGlnbjpsZWZ0OyB3aGl0ZS1zcGFjZTpub3dyYXA7IG91dGxpbmU6MH1cclxuLnp0cmVlIGxpIHVseyBtYXJnaW46MDsgcGFkZGluZzowIDAgMCAxOHB4fVxyXG4uenRyZWUgbGkgdWwubGluZXsgYmFja2dyb3VuZDp1cmwoLi9pbWcvbGluZV9jb25uLmdpZikgMCAwIHJlcGVhdC15O31cclxuXHJcbi56dHJlZSBsaSBhIHtwYWRkaW5nOjFweCAzcHggMCAwOyBtYXJnaW46MDsgY3Vyc29yOnBvaW50ZXI7IGhlaWdodDoxN3B4OyBjb2xvcjojMzMzOyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR0ZXh0LWRlY29yYXRpb246bm9uZTsgdmVydGljYWwtYWxpZ246dG9wOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2t9XHJcbi56dHJlZSBsaSBhOmhvdmVyIHt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfVxyXG4uenRyZWUgbGkgYS5jdXJTZWxlY3RlZE5vZGUge3BhZGRpbmctdG9wOjBweDsgYmFja2dyb3VuZC1jb2xvcjojRkZFNkIwOyBjb2xvcjpibGFjazsgaGVpZ2h0OjE2cHg7IGJvcmRlcjoxcHggI0ZGQjk1MSBzb2xpZDsgb3BhY2l0eTowLjg7fVxyXG4uenRyZWUgbGkgYS5jdXJTZWxlY3RlZE5vZGVfRWRpdCB7cGFkZGluZy10b3A6MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiNGRkU2QjA7IGNvbG9yOmJsYWNrOyBoZWlnaHQ6MTZweDsgYm9yZGVyOjFweCAjRkZCOTUxIHNvbGlkOyBvcGFjaXR5OjAuODt9XHJcbi56dHJlZSBsaSBhLnRtcFRhcmdldE5vZGVfaW5uZXIge3BhZGRpbmctdG9wOjBweDsgYmFja2dyb3VuZC1jb2xvcjojMzE2QUM1OyBjb2xvcjp3aGl0ZTsgaGVpZ2h0OjE2cHg7IGJvcmRlcjoxcHggIzMxNkFDNSBzb2xpZDtcclxuXHRvcGFjaXR5OjAuODsgZmlsdGVyOmFscGhhKG9wYWNpdHk9ODApfVxyXG4uenRyZWUgbGkgYS50bXBUYXJnZXROb2RlX3ByZXYge31cclxuLnp0cmVlIGxpIGEudG1wVGFyZ2V0Tm9kZV9uZXh0IHt9XHJcbi56dHJlZSBsaSBhIGlucHV0LnJlbmFtZSB7aGVpZ2h0OjE0cHg7IHdpZHRoOjgwcHg7IHBhZGRpbmc6MDsgbWFyZ2luOjA7XHJcblx0Zm9udC1zaXplOjEycHg7IGJvcmRlcjoxcHggIzdFQzRDQyBzb2xpZDsgKmJvcmRlcjowcHh9XHJcbi56dHJlZSBsaSBzcGFuIHtsaW5lLWhlaWdodDoxNnB4OyBtYXJnaW4tcmlnaHQ6MnB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24ge2xpbmUtaGVpZ2h0OjA7IG1hcmdpbjowOyB3aWR0aDoxNnB4OyBoZWlnaHQ6MTZweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0Ym9yZGVyOjAgbm9uZTsgY3Vyc29yOiBwb2ludGVyO291dGxpbmU6bm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKFwiLi9pbWcvelRyZWVTdGFuZGFyZC5wbmdcIik7ICpiYWNrZ3JvdW5kLWltYWdlOnVybChcIi4vaW1nL3pUcmVlU3RhbmRhcmQuZ2lmXCIpfVxyXG5cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoayB7d2lkdGg6MTNweDsgaGVpZ2h0OjEzcHg7IG1hcmdpbjowIDNweCAwIDA7IGN1cnNvcjogYXV0b31cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5jaGVja2JveF9mYWxzZV9mdWxsIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5jaGVja2JveF9mYWxzZV9mdWxsX2ZvY3VzIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE0cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jaGsuY2hlY2tib3hfZmFsc2VfcGFydCB7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yOHB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLmNoZWNrYm94X2ZhbHNlX3BhcnRfZm9jdXMge2JhY2tncm91bmQtcG9zaXRpb246MCAtNDJweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5jaGVja2JveF9mYWxzZV9kaXNhYmxlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTU2cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jaGsuY2hlY2tib3hfdHJ1ZV9mdWxsIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNHB4IDB9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jaGsuY2hlY2tib3hfdHJ1ZV9mdWxsX2ZvY3VzIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNHB4IC0xNHB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLmNoZWNrYm94X3RydWVfcGFydCB7YmFja2dyb3VuZC1wb3NpdGlvbjotMTRweCAtMjhweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5jaGVja2JveF90cnVlX3BhcnRfZm9jdXMge2JhY2tncm91bmQtcG9zaXRpb246LTE0cHggLTQycHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jaGsuY2hlY2tib3hfdHJ1ZV9kaXNhYmxlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNHB4IC01NnB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLnJhZGlvX2ZhbHNlX2Z1bGwge2JhY2tncm91bmQtcG9zaXRpb246LTI4cHggMH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5yYWRpb19mYWxzZV9mdWxsX2ZvY3VzIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IC0xNHB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLnJhZGlvX2ZhbHNlX3BhcnQge2JhY2tncm91bmQtcG9zaXRpb246LTI4cHggLTI4cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jaGsucmFkaW9fZmFsc2VfcGFydF9mb2N1cyB7YmFja2dyb3VuZC1wb3NpdGlvbjotMjhweCAtNDJweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5yYWRpb19mYWxzZV9kaXNhYmxlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yOHB4IC01NnB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLnJhZGlvX3RydWVfZnVsbCB7YmFja2dyb3VuZC1wb3NpdGlvbjotNDJweCAwfVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLnJhZGlvX3RydWVfZnVsbF9mb2N1cyB7YmFja2dyb3VuZC1wb3NpdGlvbjotNDJweCAtMTRweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNoay5yYWRpb190cnVlX3BhcnQge2JhY2tncm91bmQtcG9zaXRpb246LTQycHggLTI4cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jaGsucmFkaW9fdHJ1ZV9wYXJ0X2ZvY3VzIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MnB4IC00MnB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2hrLnJhZGlvX3RydWVfZGlzYWJsZSB7YmFja2dyb3VuZC1wb3NpdGlvbjotNDJweCAtNTZweH1cclxuXHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5zd2l0Y2gge3dpZHRoOjE4cHg7IGhlaWdodDoxOHB4fVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24ucm9vdF9vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTkycHggLTU0cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5yb290X2Nsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTc0cHggLTU0cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5yb290c19vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTkycHggMH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLnJvb3RzX2Nsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTc0cHggMH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmNlbnRlcl9vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTkycHggLTE4cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5jZW50ZXJfY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNzRweCAtMThweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmJvdHRvbV9vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTkycHggLTM2cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5ib3R0b21fY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNzRweCAtMzZweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLm5vbGluZV9vcGVue2JhY2tncm91bmQtcG9zaXRpb246LTkycHggLTcycHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5ub2xpbmVfY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotNzRweCAtNzJweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLnJvb3RfZG9jdXsgYmFja2dyb3VuZDpub25lO31cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLnJvb3RzX2RvY3V7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAwfVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uY2VudGVyX2RvY3V7YmFja2dyb3VuZC1wb3NpdGlvbjotNTZweCAtMThweH1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmJvdHRvbV9kb2N1e2JhY2tncm91bmQtcG9zaXRpb246LTU2cHggLTM2cHh9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5ub2xpbmVfZG9jdXsgYmFja2dyb3VuZDpub25lO31cclxuXHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5pY29fb3BlbnttYXJnaW4tcmlnaHQ6MnB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTBweCAtMTZweDsgdmVydGljYWwtYWxpZ246dG9wOyAqdmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24uaWNvX2Nsb3Nle21hcmdpbi1yaWdodDoycHg7IGJhY2tncm91bmQtcG9zaXRpb246LTExMHB4IDA7IHZlcnRpY2FsLWFsaWduOnRvcDsgKnZlcnRpY2FsLWFsaWduOm1pZGRsZX1cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmljb19kb2N1e21hcmdpbi1yaWdodDoycHg7IGJhY2tncm91bmQtcG9zaXRpb246LTExMHB4IC0zMnB4OyB2ZXJ0aWNhbC1hbGlnbjp0b3A7ICp2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9XHJcbi56dHJlZSBsaSBzcGFuLmJ1dHRvbi5lZGl0IHttYXJnaW4tcmlnaHQ6MnB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTBweCAtNDhweDsgdmVydGljYWwtYWxpZ246dG9wOyAqdmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG4uenRyZWUgbGkgc3Bhbi5idXR0b24ucmVtb3ZlIHttYXJnaW4tcmlnaHQ6MnB4OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTBweCAtNjRweDsgdmVydGljYWwtYWxpZ246dG9wOyAqdmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG5cclxuLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmljb19sb2FkaW5ne21hcmdpbi1yaWdodDoycHg7IGJhY2tncm91bmQ6dXJsKC4vaW1nL2xvYWRpbmcuZ2lmKSBuby1yZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDsgdmVydGljYWwtYWxpZ246dG9wOyAqdmVydGljYWwtYWxpZ246bWlkZGxlfVxyXG5cclxudWwudG1wVGFyZ2V0elRyZWUge2JhY2tncm91bmQtY29sb3I6I0ZGRTZCMDsgb3BhY2l0eTowLjg7IGZpbHRlcjphbHBoYShvcGFjaXR5PTgwKX1cclxuXHJcbnNwYW4udG1welRyZWVNb3ZlX2Fycm93IHt3aWR0aDoxNnB4OyBoZWlnaHQ6MTZweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOjA7IG1hcmdpbjoycHggMCAwIDFweDsgYm9yZGVyOjAgbm9uZTsgcG9zaXRpb246YWJzb2x1dGU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTBweCAtODBweDsgYmFja2dyb3VuZC1pbWFnZTp1cmwoXCIuL2ltZy96VHJlZVN0YW5kYXJkLnBuZ1wiKTsgKmJhY2tncm91bmQtaW1hZ2U6dXJsKFwiLi9pbWcvelRyZWVTdGFuZGFyZC5naWZcIil9XHJcblxyXG51bC56dHJlZS56VHJlZURyYWdVTCB7bWFyZ2luOjA7IHBhZGRpbmc6MDsgcG9zaXRpb246YWJzb2x1dGU7IHdpZHRoOmF1dG87IGhlaWdodDphdXRvO292ZXJmbG93OmhpZGRlbjsgYmFja2dyb3VuZC1jb2xvcjojY2ZjZmNmOyBib3JkZXI6MXB4ICMwMEI4M0YgZG90dGVkOyBvcGFjaXR5OjAuODsgZmlsdGVyOmFscGhhKG9wYWNpdHk9ODApfVxyXG4uelRyZWVNYXNrIHt6LWluZGV4OjEwMDAwOyBiYWNrZ3JvdW5kLWNvbG9yOiNjZmNmY2Y7IG9wYWNpdHk6MC4wOyBmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTsgcG9zaXRpb246YWJzb2x1dGV9XHJcblxyXG4vKiBsZXZlbCBzdHlsZSovXHJcbi8qLnp0cmVlIGxpIHNwYW4uYnV0dG9uLmxldmVsMCB7XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcbi56dHJlZSBsaSB1bC5sZXZlbDAge1xyXG5cdHBhZGRpbmc6MDtcclxuXHRiYWNrZ3JvdW5kOm5vbmU7XHJcbn0qLyIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxuLm1mcC1hbGlnbi10b3Age1xuICAubWZwLWNvbnRhaW5lciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwXG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcblxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgICB0b3A6OHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gIH1cbn1cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgIFNldHRpbmdzICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGIgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDsgXHQgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4iLCIvKipcclxuICogVG9vbHMuXHJcbiAqL1xyXG5cclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbWl4aW5zJztcclxuIiwiLyoqXHJcbiAqIFVuaWNvZGUuXHJcbiAqXHJcbiAqIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gQW4gdW5pY29kZSBzdHJpbmcuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xyXG4gKi9cclxuIFxyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcclxuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xyXG5cdEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcclxuXHJcblxyXG4vKipcclxuICogUkVNLlxyXG4gKlxyXG4gKiBDb252ZXJ0IHBpeGVsIHVuaXRzIHRvIFJFTSB1bml0cy5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRwaXhlbHMgLSBQaXhlbCB2YWx1ZS5cclxuICogQHJldHVybiB7Kn0gLSBBIGNvbnZlcnRlZCBgcmVtYCB1bml0LlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG5cdEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuXHR9XHJcblx0QHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbHVtbi5cclxuICpcclxuICogQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXHJcbiAqIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbiwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuXHRAcmV0dXJuICgkY29sdW1uICAqIDEwMCUgLyAkY29sdW1ucyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sb3IuXHJcbiAqXHJcbiAqIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbiAqIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuICogQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG4gKi9cclxuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcclxuXHRAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcclxufVxyXG4iLCIvKipcclxuICogQ29udGFpbmVyXHJcbiAqIFxyXG4gKiBDZW50ZXIgYWxpZ25zIGVsZW1lbnQgd2l0aCBnaXZlbiBtYXhpbXVtIHdpZHRoLCBwYWRkaW5nLCBhbmQgbWFyZ2lucyB0b3AgYW5kIGJvdHRvbS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkZ2FwIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XHJcbiAqL1xyXG5cclxuQG1peGluIGNvbnRhaW5lcigkd2lkdGg6ICRncmlkLXdpZHRoLCAkZ2FwOiAkZ3JpZC1nYXApIHtcclxuXHRAaWYgKHR5cGUtb2YoJHdpZHRoKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGdhcCkgPT0gbnVtYmVyKSB7XHJcblx0XHRAaWYgKCRnYXAgIT0gMCkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoI3skd2lkdGh9ICsgI3soJGdhcCAqIDIpfSk7XHJcblx0XHRcdHBhZGRpbmc6IDAgJGdhcDtcclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRtYXgtd2lkdGg6ICR3aWR0aDtcclxuXHRcdH1cclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ0FyZ3VtZW50cyBgJHdpZHRoYCBhbmQgYCRnYXBgIHNob3VsZCBiZSBhIG51bWJlcic7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNlY3Rpb25cclxuICpcclxuICogQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cclxuICogQHBhcmFtIHtTdHJpbmd9ICR0b3AgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJvdHRvbSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIHNlY3Rpb24oMTAwcHgsIDEwMHB4KTtcclxuICovIFxyXG5cclxuQG1peGluIHNlY3Rpb24oJHRvcDogMCwgJGJvdHRvbTogMCkge1xyXG5cdEBpZiAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XHJcblx0XHRwYWRkaW5nOiAkdG9wIDAgJGJvdHRvbTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnQXJndW1lbnRzIGAkdG9wYCBhbmQgYGJvdHRvbWAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udC5cclxuICpcclxuICogQWRkcyBgcmVtYCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYSBmYWxsYmFjayBgcHhgIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhbmQgYSBgZW1gIHVuaXQgYmFzZWQgbGluZSBoZWlnaHQgcHJvcGVydHkgdG8gYW55IHJ1bGUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRsaW5lLWhlaWdodCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAyNHB4KTtcclxuICovXHJcblxyXG5AbWl4aW4gZm9udCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcclxuXHRAaWYgKHR5cGUtb2YoJGZvbnQtc2l6ZSkgPT0gbnVtYmVyIGFuZCB1bml0KCRmb250LXNpemUpID09ICdweCcpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuXHRcdGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIGZvciBgI3skZm9udC1zaXplfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuXHR9XHJcblx0QGlmICh0eXBlLW9mKCRsaW5lLWhlaWdodCkgPT0gbnVtYmVyIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gJ3B4Jykge1xyXG5cdFx0bGluZS1oZWlnaHQ6ICgoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgKiAxZW0pO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGxpbmUtaGVpZ2h0fWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dC5cclxuICpcclxuICogU2hvcnRoYW5kIGZvciB0aGUgZm9udCBtaXhpbiwgcnVucyB0aGUgZm9udCBtaXhpbiBiYXNlZCBvbiBhIGNvbW1vbiBkZW1lYW5vdXIgZXhpc3RpbmcgYm90aCBpbiB0aGUgYCRmb250LXNpemVgIGFuZCB0aGUgYCRsaW5lLWhlaWdodGAgbWFwcy5cclxuICogQHBhcmFtIHtzdHJpbmd9ICR2YWx1ZSAtIFN0cmluZ1xyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSB0ZXh0KCdwJyk7XHJcbiAqLyBcclxuXHJcbkBtaXhpbiB0ZXh0KCR2YWx1ZSkge1xyXG5cdEBpZiAodHlwZS1vZigkdmFsdWUpID09IHN0cmluZykge1xyXG5cdFx0QGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICR2YWx1ZSksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAkdmFsdWUpKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCBBd2Vzb21lLlxyXG4gKlxyXG4gKiBBZGQgRm9udCBBd2Vzb21lIGljb25zIGFzIHBzdWVkbyBlbGVtZW50cyBieSB1c2luZyB0aGVpciB1bmljb2RlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGNvbnRlbnQgLSBVbmljb2RlIHN0cmluZy5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRmYW1pbHkgLSBGb250IEF3ZXNvbWUgZm9udCBmYW1pbHkgc3RyaW5nLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBmb250YXdlc29tZSgkY29udGVudCwgJGZhbWlseSkge1xyXG5cdEBpZiAodHlwZS1vZigkZmFtaWx5KSA9PSBzdHJpbmcpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1ICN7JGZhbWlseX0nO1xyXG5cdFx0Y29udGVudDogdW5pY29kZSgkY29udGVudCk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ0FyZ3VtZW50IGAkZmFtaWx5YCBzaG91bGQgYmUgYSBzdHJpbmcnO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBNZWRpYS5cclxuICpcclxuICogTWVkaWEgcXVlcmllcyBhY2NvcmRpbmcgdG8gXCJUaGUgMTAwJSBDb3JyZWN0IFdheSBUbyBEbyBDU1MgQnJlYWtwb2ludHNcIiAoaHR0cHM6Ly9tZWRpdW0uZnJlZWNvZGVjYW1wLmNvbS90aGUtMTAwLWNvcnJlY3Qtd2F5LXRvLWRvLWNzcy1icmVha3BvaW50cy04OGQ2YTViYTE4NjIpLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBCcmVha3BvaW50IHBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHt9XHJcbiAqLyBcclxuIFxyXG5AbWl4aW4gbWVkaWEoJHNpemUpIHtcclxuXHRAaWYgKCRzaXplID09ICdkZXNrdG9wJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDEyMDBweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZScpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAncGhvbmUnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAY29udGVudDtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcclxuICogcHN1ZWRvIHNlbGVjdG9ycy5cclxuICpcclxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXHJcbiAqICAgIChjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UpLlxyXG4gKi9cclxuXHJcbiosXHJcbio6OmJlZm9yZSxcclxuKjo6YWZ0ZXIge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGJveC1zaXppbmc6IGluaGVyaXQ7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCB0byBtYXhpdW0gdmlld3BvcnQgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcblx0aGVpZ2h0OiAxMDB2aDtcclxuXHRmb250LXNpemU6IDYyLjUlOyAvKiAxICovXHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cclxuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBGaXJlZm94IDI1Ky5cclxuICogMi4gQ2hyb21lIDUrLlxyXG4gKi9cclxuXHJcbmJvZHkge1xyXG5cdEBpbmNsdWRlIHRleHQoJGJvZHktdGV4dCk7XHJcblx0bWluLWhlaWdodDogMTAwdmg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZC1jb2xvcjtcclxuXHRjb2xvcjogJGJvZHktY29sb3I7XHJcblx0Zm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogMSAqL1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXHJcbn1cclxuIiwiLyoqXHJcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXHJcbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxyXG4gKi9cclxuXHJcbmEge1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmhyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cclxuICovXHJcblxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cclxufVxyXG5cclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBCYWNrZ3JvdW5kLlxyXG4gKi9cclxuXHJcbi5iYWNrZ3JvdW5kIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLy4uL2ltYWdlcy9iYWNrZ3JvdW5kLWJvZHkuanBnJyApO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcclxuXHRiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdG1hcmdpbjogLTQ5LjV2dyBhdXRvIDAgYXV0bztcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0bWFyZ2luOiAtNDB2dyBhdXRvIDAgYXV0bztcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDBweDtcclxuXHRcdHJpZ2h0OiAwcHg7XHJcblx0XHRsZWZ0OiAwcHg7XHJcblx0XHR3aWR0aDogMTI5MnB4O1xyXG5cdFx0bWF4LXdpZHRoOiA5NyU7XHJcblx0XHRoZWlnaHQ6IDEyMDBweDtcclxuXHRcdG1heC1oZWlnaHQ6IDk3dnc7XHJcblx0XHRtYXJnaW46IC02MDBweCBhdXRvIDAgYXV0bztcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4vLi4vaW1hZ2VzL2JhY2tncm91bmQtY2lyY2xlLmpwZycgKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0Ym9yZGVyOiAzcHggc29saWQgJGNvbG9yLWdyZWVuLTEwMDtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG4iLCIuYm9vayB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLXRvcDogMjBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbjogMzBweCAwO1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYm9va19fc2lkZWJhciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4taGVpZ2h0OiAwO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuXHRcdG1hcmdpbjogMCAwIDIwcHggMDtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0d2lkdGg6IDM1JTtcclxuXHRtaW4taGVpZ2h0OiA0MDBweDtcclxuXHRtYXJnaW46IDc1cHggMCA1MnB4IDA7XHJcblx0cGFkZGluZzogMHB4IDIlIDAgNSU7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4vLi4vaW1hZ2VzL2Jvb2tsZXRfbGVmdF9yZXBlYXQucG5nKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xyXG5cdFxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC03NXB4O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA3NXB4O1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4vLi4vaW1hZ2VzL2Jvb2tsZXRfbGVmdF90b3AyLnBuZyk7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNTglO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRib3R0b206IC01MnB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDUycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi8uLi9pbWFnZXMvYm9va2xldF9sZWZ0X2JvdHRvbS5wbmcpO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLmJvb2tfX3NpZGViYXItbG9nbyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0bWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5ib29rX19jb250ZW50IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1pbi1oZWlnaHQ6IDI1MHB4O1xyXG5cdFx0bWFyZ2luOiAzNXB4IDAgMzVweCAwO1xyXG5cdFx0cGFkZGluZzogMHB4IDUlO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4vLi4vaW1hZ2VzL2JnX25hdl9yZXBlYXQucG5nKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA2NSU7XHJcblx0bWFyZ2luOiA3NXB4IDAgNTJweCAwO1xyXG5cdHBhZGRpbmc6IDBweCA4LjUlIDAgMiU7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4vLi4vaW1hZ2VzL2Jvb2tsZXRfcmlnaHRfcmVwZWF0LnBuZyk7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHRvcDogLTM1cHg7XHJcblx0XHRcdGhlaWdodDogMzVweDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4vLi4vaW1hZ2VzL2JnX25hdl90b3AucG5nKTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC03NXB4O1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNzVweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLy4uL2ltYWdlcy9ib29rbGV0X3JpZ2h0X3RvcC5wbmcpO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdGJvdHRvbTogLTM1cHg7XHJcblx0XHRcdGhlaWdodDogMzVweDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4vLi4vaW1hZ2VzL2JnX25hdl9ib3R0b20ucG5nKTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcclxuXHRcdH1cclxuXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdGJvdHRvbTogLTUycHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNTJweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLy4uL2ltYWdlcy9ib29rbGV0X3JpZ2h0X2JvdHRvbS5wbmcpO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLmJvb2tfX3ByZXZpb3VzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcclxuXHRsZWZ0OiAxMHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmJvb2tfX25leHQge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdFxyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IGNhbGMoNTAlIC0gMjBweCk7XHJcblx0cmlnaHQ6IDEwcHg7XHJcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4ud2lkZ2V0LWJvb2stdGlwcyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRtYXgtd2lkdGg6IDA7XHJcblx0ZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgXHJcbiAgLmJvb2stdGlwIHtcclxuXHRtYXJnaW46IDBweCAtODJweCAxMHB4IDIwcHg7XHJcblx0ZmxvYXQ6IHJpZ2h0OyB9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xyXG5cdCAgLmJvb2stdGlwIHtcclxuXHRcdG1hcmdpbjogMjBweCAtNTBweCAxMHB4IDQwcHg7IH0gfVxyXG4gIFxyXG4gIC5ib29rLXRpcCArIC5ib29rLXRpcCB7XHJcblx0bWFyZ2luOiA4MHB4IC0yNDBweCAxMHB4IDIwcHg7IH1cclxuICBcclxuICAud2lkZ2V0LWJvb2stbGVzc29uIC5ib29rLXRpcCB7XHJcblx0bWFyZ2luOiAtMTVweCAtMTY1cHggMTBweCAyMHB4OyB9XHJcbiAgXHJcbiAgLndpZGdldC1ib29rLXRpcHMgLnBvc2l0aW9uLXRvcCxcclxuICAud2lkZ2V0LWJvb2stdGlwcyAucG9zaXRpb24tbWlkZGxlLFxyXG4gIC53aWRnZXQtYm9vay10aXBzIC5wb3NpdGlvbi1ib3R0b20ge1xyXG5cdHdpZHRoOiAyNTBweDtcclxuXHRtYXJnaW46IDEwcHggMDsgfVxyXG4gIFxyXG4gIC5ib29rLXRpcHNfX2JvZHl7XHJcblx0YmFja2dyb3VuZDogd2hpdGU7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuXHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI1cHg7XHJcblx0Ym94LXNoYWRvdzogMHB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgfVxyXG4gIC5ib29rLXRpcHNfX2ljb257XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0Ym9yZGVyOiAwcHggIWltcG9ydGFudDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgfVxyXG4gIC5ib29rLXRpcHNfX2Nsb3NlIGltZ3tcclxuXHR3aWR0aDogMjVweDtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0Ym9yZGVyOiAwcHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgLmJvb2stdGlwc19faWNvbiBpbWd7XHJcblx0aGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7ICBcclxuXHR3aWR0aDogYXV0bztcclxuXHRtYXJnaW46ICA0cHggMHB4IDBweCAxMHB4IDtcclxuXHRib3JkZXI6IDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuYm9vay10aXBzX190aXRsZSB7XHJcblx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcblx0ZGlzcGxheTogLW1zLWZsZXhib3g7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogOTtcclxuXHQtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG5cdFx0LW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtaW4td2lkdGg6IDI0MHB4O1xyXG5cdG1heC13aWR0aDogMzIwcHg7XHJcbiAgXHJcblx0aGVpZ2h0OiA1MHB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcblx0cGFkZGluZy1sZWZ0OiA1NXB4O1xyXG5cdGZvbnQtZmFtaWx5OiBcIkdlb3JnaWFcIiwgc2VyaWY7XHJcblx0Zm9udC1zaXplOiAxLjZyZW07XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0ICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdFx0dXNlci1zZWxlY3Q6IG5vbmU7IH1cclxuXHQuYm9vay10aXBzX190aXRsZTo6YWZ0ZXIge1xyXG5cdCAgY29udGVudDogJyc7XHJcblx0ICBkaXNwbGF5OiBibG9jaztcclxuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHQgIHotaW5kZXg6IC0xO1xyXG5cdCAgdG9wOiAwO1xyXG5cdCAgcmlnaHQ6IDA7XHJcblx0ICB3aWR0aDogMTAwJTtcclxuXHQgIGhlaWdodDogMTAwJTtcclxuXHQgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy90aXBzLWJnLnBuZ1wiKTtcclxuXHQgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0OyB9XHJcbiAgXHJcbiAgLmJvb2stdGlwc19fZWRpdG9yIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0ei1pbmRleDogOTtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogMC4zNXM7XHJcblx0dHJhbnNpdGlvbjogMC4zNXM7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcclxuXHRvcGFjaXR5OiAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xyXG5cdCAgLmJvb2stdGlwc19fZWRpdG9yIHtcclxuXHRcdHJpZ2h0OiAyMDBweDtcclxuXHRcdGxlZnQ6IDIwMHB4OyB9IH1cclxuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcblx0ICAuYm9vay10aXBzX19lZGl0b3Ige1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHRsZWZ0OiAyMHB4OyB9IH1cclxuXHQuYm9vay10aXBzX19lZGl0b3IuaXMtb3BlbiB7XHJcblx0ICB6LWluZGV4OiA5OTtcclxuXHQgIG9wYWNpdHk6IDE7XHJcblx0ICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdCAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxyXG4gIFxyXG4gIC5ib29rLXRpcHNfX2VkaXRvciBoMSxcclxuICAuYm9vay10aXBzX19lZGl0b3IgaDIsXHJcbiAgLmJvb2stdGlwc19fZWRpdG9yIGgzIHtcclxuXHRmb250LWZhbWlseTogXCJHZW9yZ2lhXCIsIHNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7IH1cclxuICBcclxuICAuYm9vay10aXBzX19jbG9zZSB7XHJcblx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcblx0ZGlzcGxheTogLW1zLWZsZXhib3g7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAtMjVweDtcclxuXHRyaWdodDogLTI1cHg7XHJcblx0LXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuXHRcdC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0LXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xyXG5cdFx0LW1zLWZsZXgtcGFjazogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHR3aWR0aDogNTBweCAhaW1wb3J0YW50O1xyXG5cdGhlaWdodDogNTBweDtcclxuXHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzliYmUxYztcclxuXHRmb250LXNpemU6IDIycHg7XHJcblx0Y3Vyc29yOiBwb2ludGVyOyB9XHJcblx0LmJvb2stdGlwc19fY2xvc2U6OmFmdGVyIHtcclxuICAvKiAgICBjb250ZW50OiBcIu+AjVwiO1xyXG5cdCAgZm9udC1mYW1pbHk6IFwiRm9udEF3ZXNvbWVcIjtcclxuICAqLyAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxyXG5cclxuXHJcbiAgLmlzLXBkZiB7XHJcblx0LmJvb2stdGlwIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHQuYm9vay10aXBzX19pY29uLCAuYm9vay10aXBzX190aXRsZSwgLmJvb2stdGlwc19fY2xvc2Uge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuYm9vay10aXBzX19ib2R5IHtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0fVxyXG5cdFxyXG5cdC5ib29rLXRpcHNfX2VkaXRvciB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCBibGFjaztcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuICB9IiwiLyoqXHJcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcblx0QGluY2x1ZGUgY29udGFpbmVyO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWNvbnN0cmFpbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmZsZXgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mbGV4LXdyYXAge1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLmp1c3RpZnktY29udGVudCB7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxyXG4gKi9cclxuXHJcbi5yb3cge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleDogMCAxIGF1dG87XHJcblx0ZmxleC1mbG93OiByb3cgd3JhcDtcclxuXHRtYXJnaW46IDAgLSN7KCRncmlkLWdhcC8yKX07XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5ib3gge1xyXG5cdGZsZXg6IDE7XHJcbn1cclxuXHJcblxyXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHJcblx0Ly8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGV2ZXJ5IGtleSBpbiBgJGJyZWFrcG9pbnRzYC5cclxuXHRAaW5jbHVkZSBtZWRpYSgkdmFsdWUpIHtcclxuXHJcblx0XHQvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcclxuXHRcdC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuY29sLSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZsZXg6IDAgMSBhdXRvO1xyXG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oJGkpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcclxuXHRcdFx0fVxyXG5cclxuXHJcblx0XHRcdC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcclxuXHRcdFx0Ly8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXHJcblx0XHRcdC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRcdEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XHJcblxyXG5cdFx0XHRcdC8qKlxyXG5cdFx0XHRcdCAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHRcdCAqL1xyXG5cclxuXHRcdFx0XHQub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXHJcblx0XHRAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHkge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIEp1c3RpZnkgYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0Lmp1c3RpZnktI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8vIExvb3AgdGhyb3VnaCBldmVyeSBkaXJlY3Rpb24gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxyXG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogQmxlZWQgI3skZGlyZWN0aW9ufSBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYmxlZWQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuXHRcdFx0XHRwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LmZpcnN0LSN7JGtleX0ge1xyXG5cdFx0XHRvcmRlcjogLTE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0Lmxhc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAxO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuXHRcdCAqL1xyXG5cclxuXHRcdC5yZXZlcnNlLSN7JGtleX0ge1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBEZWZhdWx0IGZpZWxkcy5cclxuICovXHJcblxyXG5pbnB1dCxcclxudGV4dGFyZWEge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMzFweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmxhY2stMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRwYWRkaW5nOiA2cHggNXB4O1xyXG5cclxuXHQmOmludmFsaWQge1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICRjb2xvci15ZWxsb3ctMTAwO1xyXG5cdH1cclxufVxyXG5cclxudGV4dGFyZWEge1xyXG5cdGhlaWdodDogMTAwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJsYWNrLTEwMDtcclxuXHJcblx0JjppbnZhbGlkIHtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XHJcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDVweCAkY29sb3IteWVsbG93LTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbnNlbGVjdCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAzM3B4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibGFjay0xMDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3JhZGlvJ10sXHJcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG5cdHdpZHRoOiAxNXB4O1xyXG5cdGhlaWdodDogMTVweDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS0xMDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XHJcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0nc3VibWl0J10ge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTNweCwgMjBweCk7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0d2lkdGg6IGF1dG87XHJcblx0aGVpZ2h0OiAzMXB4O1xyXG5cdHBhZGRpbmc6IDdweCAxMHB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmV5LTEwMDtcclxuXHRjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblx0b3BhY2l0eTogMTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRvcGFjaXR5OiAwLjU7XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogR3Jhdml0eSBmb3JtIHNwZWNpZmljLlxyXG4gKi9cclxuXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0XHJcbi5nZmllbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG5cdCYuaGlkZGVuX2xhYmVsIHtcclxuXHRcdC5nZmllbGRfbGFiZWwge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQge1xyXG5cdFx0dGV4dGFyZWEsXHJcblx0XHRpbnB1dCB7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XHJcblx0XHRcdGJveC1zaGFkb3c6IDBweCAwcHggNXB4ICRjb2xvci15ZWxsb3ctMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmdmaWVsZF9sYWJlbCB7XHJcblx0QGluY2x1ZGUgZm9udCgxM3B4LCAyMHB4KTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbi8vIHNhc3MtbGludDplbmFibGUgbm8taWRzXHJcblxyXG4vKipcclxuICogVmFsaWRhdGlvbi5cclxuICovXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0XHJcbi52YWxpZGF0aW9uX21lc3NhZ2Uge1xyXG5cdGNvbG9yOiAkY29sb3ItZ3JleS0xMDA7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbjogMjBweCAwO1xyXG5cdHBhZGRpbmc6IDIwcHggMCAyMHB4IDkwcHg7XHJcblx0YmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTAwO1xyXG5cdGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cclxuXHQ+IHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0XHRsZWZ0OiAzMHB4O1xyXG5cdFx0d2lkdGg6IDMxcHg7XHJcblx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRjb2xvcjogJGNvbG9yLWdyZWVuLTEwMDtcclxuXHR9XHJcblxyXG5cdGgzIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0Y29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblx0fVxyXG5cclxuXHQuY2xvc2UtYnV0dG9uIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdGhlaWdodDogMTZweDtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmVlbi0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi8vIHNhc3MtbGludDplbmFibGUgbm8taWRzXHJcbiIsIi8qKlxyXG4gKiBIZWFkaW5nIDEuXHJcbiAqL1xyXG5cclxuaDEsXHJcbi5oZWFkaW5nLTEge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjBweCwgMjVweCk7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LTk1O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMi5cclxuICovXHJcblxyXG5oMixcclxuLmhlYWRpbmctMiB7XHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyNXB4KTtcclxuXHRjb2xvcjogJGNvbG9yLWdyZXktOTU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAzLlxyXG4gKi9cclxuXHJcbmgzLFxyXG4uaGVhZGluZy0zIHtcclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDI1cHgpO1xyXG5cdGNvbG9yOiAkY29sb3ItZ3JleS05NTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDQuXHJcbiAqL1xyXG5cclxuaDQsXHJcbi5oZWFkaW5nLTQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTVweCwgMThweCk7XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LTk1O1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtMC4zMXB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgNS5cclxuICovXHJcblxyXG5oNSxcclxuLmhlYWRpbmctNSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHRjb2xvcjogJGNvbG9yLWdyZXktOTU7XHJcblx0bGV0dGVyLXNwYWNpbmc6IC0wLjMxcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyA2LlxyXG4gKi9cclxuXHJcbmg2LFxyXG4uaGVhZGluZy02IHtcclxuXHRAaW5jbHVkZSBmb250KDE0cHgsIDIwcHgpO1xyXG5cdGNvbG9yOiAkY29sb3ItZ3JleS05NTtcclxuXHRsZXR0ZXItc3BhY2luZzogLTAuMzFweDtcclxufVxyXG4iLCIubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcblx0d2lkdGg6IGF1dG87XHJcbn1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdCB7XHJcblx0bGVmdDogLTE1cHg7XHJcbn1cclxuXHJcbi5tZnAtYXJyb3ctcmlnaHQge1xyXG5cdHJpZ2h0OiAtMTVweDtcclxufVxyXG4iLCIvKipcclxuICogVGhlIHdyYXBwZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuJHdlYnNpdGUtd2lkdGg6ICAgMTI5MHB4O1xyXG4kd2Vic2l0ZS1wYWRkaW5nOiA1MHB4O1xyXG5cclxuXHJcbi8qKlxyXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxyXG4gKi9cclxuXHJcbi53cmFwcGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBjb250YWluZXIoJHdlYnNpdGUtd2lkdGgsICR3ZWJzaXRlLXBhZGRpbmcpO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBFdmVyeSBjb25jZWl2YWJsZSBIVE1MIGVsZW1lbnQgd2l0aGluIGEgYC5jbXMtb3V0cHV0YCB3cmFwcGVyLlxyXG4gKlxyXG4gKiAxLiBFeGNsdWRlIGxhc3QgY2hpbGRzLlxyXG4gKi9cclxuXHJcbi5jbXMtb3V0cHV0IHtcclxuXHJcblx0PiAqIHtcclxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wb3B1cCB7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0fVxyXG5cclxuXHQuaW1hZ2Utd3JhcCBpbWcge1xyXG5cdFx0bWF4LWhlaWdodDogMzAwcHg7XHJcblx0fVxyXG5cclxuXHRwOmVtcHR5IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHR1bCB7IFxyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRtYXJnaW4tYm90b206IDVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9sIHtcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0bWFyZ2luLWJvdG9tOiA1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwID4gYSB7XHJcblx0XHRjb2xvcjogIzQ0NDtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdD4gaDIge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0fVxyXG5cclxuXHRoMyB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogNXB4O1xyXG5cdH1cclxuXHJcblx0aDQge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMHB4O1xyXG5cdH1cclxuXHJcblx0aDUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cdFx0bWFyZ2luLXRvcDogMjVweDtcclxuXHR9XHJcblxyXG5cdGg2IHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHR9XHJcblxyXG5cdGhyIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuXHRcdG1hcmdpbjogMWVtIDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcblxyXG5cdC50YWJsZUNhcHRpb24gKyBhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcblxyXG5cclxuXHQvKipcclxuXHQgKiAgT2xkIGNsYXNzZXMgJ2hlbGRlbkhhbmRib2VrJ1xyXG5cdCAqL1xyXG5cdC5oZWxkZW5IYW5kYm9layB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDI1cHggI2NjYztcclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LyoqXHJcblx0ICogIE9sZCBjbGFzc2VzICdhbGlnbm1lbnQnXHJcblx0ICovXHJcblx0aW1nLmxlZnQge1xyXG5cdFx0bWF4LXdpZHRoOiA1MCU7XHJcblx0XHRtYXJnaW46IDVweCAyMHB4IDEwcHggMDtcclxuXHR9XHJcblxyXG5cdGltZy5yaWdodCB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRtYXgtd2lkdGg6IDUwJTtcclxuXHRcdG1hcmdpbjogNXB4IDAgMTBweCAyMHB4O1xyXG5cdH1cclxuXHJcblx0aW1nLmxlZnRBbG9uZSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwMCU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG5cclxuXHRpbWcuY2VudGVyIHtcclxuXHRcdGZsb2F0OiBub25lO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHR9XHJcblxyXG5cdC5sZWZ0IHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQucmlnaHQge1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHQuY2VudGVyIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cclxuXHQvKipcclxuXHQgKiAgT2xkIGNsYXNzZXMgJ2ltYWdlJ1xyXG5cdCAqL1xyXG5cdGltZyB7XHJcblx0XHQvLyBjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0LmNhcHRpb25JbWFnZSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi10b3A6IDVweDtcclxuXHJcblx0XHQmLmxlZnQge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0bWFyZ2luOiA1cHggMzBweCAyMHB4IDBweDtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogLTEwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLnJpZ2h0IHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRtYXJnaW46IDVweCAwIDIwcHggMzBweDtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0cCB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5sZWZ0QWxvbmUge1xyXG5cdFx0XHRmbG9hdDogbm9uZTtcclxuXHRcdFx0bWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5jZW50ZXIge1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0byAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHJcblx0XHRwIHtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHRcdG1hcmdpbjogNXB4IDA7XHJcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0Y29sb3I6ICM4ODg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuY2FwdGlvbkltYWdlLmxlZnRbc3R5bGVdLFxyXG5cdC5jYXB0aW9uSW1hZ2UucmlnaHRbc3R5bGVdIHtcclxuXHRcdG1heC13aWR0aDogNTAlO1xyXG5cdH1cclxuXHJcblx0Lm5vcm1hbEN1cnNvciB7XHJcblx0XHRjdXJzb3I6IGF1dG8gIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqICBPbGQgY2xhc3NlcyAnZmlndXJlJ1xyXG5cdCAqL1xyXG5cdC5maWd1cmVSZWZlcmVuY2Uge1xyXG5cdFx0aW1nIHtcclxuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2Q3ZDdkNztcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZpZ3VyZUNhcHRpb24ge1xyXG5cdFx0bWFyZ2luLXRvcDogLTFlbTtcclxuXHR9XHJcblxyXG5cclxuXHQvKipcclxuXHQgKiAgT2xkIGNsYXNzZXMgJ2ludHJvJ1xyXG5cdCAqL1xyXG5cdC5pbnRybyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDIycHgsIDMycHgpO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cclxuXHQvKipcclxuXHQgKiAgT2xkIGNsYXNzZXMgJ3RhYmxlJ1xyXG5cdCAqL1xyXG5cdC50YWJsZUNhcHRpb24ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdHRhYmxlIHtcclxuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XHJcblx0XHRjdXJzb3I6cG9pbnRlcjtcclxuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjZDRkNGQ0O1xyXG5cdFx0Ym9yZGVyLXNwYWNpbmc6IDA7XHJcblx0XHRtYXJnaW46IDAgMCAxMHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0dGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWRcclxuXHR9XHJcblxyXG5cdHRhYmxlIHRyLmV2ZW4sXHJcblx0dGFibGUgdGgsXHJcblx0dGhlYWQgdGQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZFxyXG5cdH1cclxuXHJcblx0dGFibGUgdGQsXHJcblx0dGFibGUgdGgge1xyXG5cdFx0cGFkZGluZzogMnB4IDVweDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNkNGQ0ZDQ7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdH1cclxuXHJcblx0LnR5cG9ncmFwaHkgdGFibGUgdGgge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0fVxyXG5cclxuXHQudG9zLWh0bWwgdGFibGUsIC5mYW5jeWJveC13cmFwIHRhYmxlIHtcclxuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdC50b3MtaHRtbCB0ZCwgLmZhbmN5Ym94LXdyYXAgdGQge1xyXG5cdFx0Ym9yZGVyOjFweCBzb2xpZCAjY2NjO1xyXG5cdFx0cGFkZGluZzo1cHg7XHJcblx0fVxyXG5cclxuXHR0YWJsZSB0ZCB7XHJcblx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcblx0XHQtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcblx0XHQtbW96LWh5cGhlbnM6IGF1dG87XHJcblx0XHQtbXMtaHlwaGVuczogYXV0bztcclxuXHRcdGh5cGhlbnM6IGF1dG87XHJcblx0fVxyXG5cclxuXHJcblx0LyoqXHJcblx0ICogIE9sZCBjbGFzc2VzICdibG9ja3F1b3RlcydcclxuXHQgKi9cclxuXHRibG9ja3F1b3RlIHtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCguLy4uL2ltYWdlcy9ibG9ja3F1b3RlLnBuZykgbm8tcmVwZWF0IDBweCA2cHg7XHJcblx0XHRmb250LWZhbWlseTogXCJDYW1ib1JlZ3VsYXJcIiwgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xyXG5cdFx0Y29sb3I6ICM3Nzc7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdG1hcmdpbjogMCAwIDIwcHg7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR0ZXh0LWluZGVudDogMzBweDtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRtYXJnaW4tbGVmdDogNSU7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMjVweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjRjdGN0Y3O1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI0U0RTRFNDtcclxuXHRcdGZvbnQtZmFtaWx5OiBDb3VyaWVyLCBtb25vc3BhY2U7XHJcblx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XHJcblx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cdFx0Y2xlYXI6IGJvdGg7XHJcblx0fVxyXG5cclxuXHJcblx0LyoqXHJcblx0ICogIE9sZCBjbGFzc2VzICdhZGRyZXNzJ1xyXG5cdCAqL1xyXG5cdGFkZHJlc3Mge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogQ29tbWVudCBoZWFkLlxyXG4gKi9cclxuXHJcbi5jb21tZW50c19faGVhZCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLmNvbW1lbnRzX19jb3VudCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cdCYuaGFzLWNvbW1lbnRzIHtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0bWFyZ2luOiAwIDRweCAwIDJweDtcclxuXHRcdGNvbnRlbnQ6ICd8JztcclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdC5oaWRlIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXhcclxuXHRcdH1cclxuXHJcblx0XHQuc2hvdyB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGlkZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5jb21tZW50c19fc2hvdyB7XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdC5oaWRlIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXhcclxuXHRcdH1cclxuXHJcblx0XHQuc2hvdyB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuaGlkZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0PiBzcGFuIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBOZXcgY29tbWVudC5cclxuICovXHJcblxyXG4uY29tbWVudHNfX25ldyB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNvbW1lbnRzX19uZXctbWFuZGF0b3J5IHtcclxuXHRtYXJnaW46IDE1cHggMDtcclxufVxyXG5cclxuLmNvbW1lbnRzX19uZXctZm9ybSB7XHJcblx0bWF4LXdpZHRoOiA0MDBweDtcclxuXHJcblx0LmxvZ2dlZC1pbi1hcyB7XHJcblx0XHRAaW5jbHVkZSBmb250KDEzcHgsIDIwcHgpO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdH1cclxuXHJcblx0LmNvbW1lbnQtZm9ybS1jb21tZW50IHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQuYWNmLWZpZWxkIC5hY2YtbGFiZWwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdC5hY2Ytbm90aWNlLi1lcnJvciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JleS0xMDA7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0fVxyXG5cclxuXHQuYWNmLWZpZWxkIC5hY2Ytbm90aWNlLi1lcnJvciB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHR9XHJcblxyXG5cdC5hY2YtaW5wdXQtd3JhcCB7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29tbWVudCBsaXN0LlxyXG4gKi9cclxuXHJcbi5jb21tZW50c19fbGlzdCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNvbW1lbnRzX19saXN0LXdyYXAge1xyXG5cdC5jb21tZW50LXJlc3BvbmQge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG5cclxuXHRcdHNtYWxsIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHJcblx0XHRmb3JtIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29tbWVudHNfX2xpc3QtdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0cGFkZGluZy1ib3R0b206IDE1cHg7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XHJcbn1cclxuXHJcbi5jb21tZW50c19fY29tbWVudCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTVweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcclxuXHJcblx0Ji5jb21tZW50LWxldmVsLTIge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xyXG5cdH1cclxuXHJcblx0Ji5jb21tZW50LWxldmVsLTMge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiA1MHB4O1xyXG5cdH1cclxuXHJcblx0Ji5jb21tZW50LWxldmVsLTQge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiA3NXB4O1xyXG5cdH1cclxuXHJcblx0Ji5jb21tZW50LWxldmVsLTUge1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxMDBweDtcclxuXHR9XHJcbn1cclxuXHJcbi5jb21tZW50c19fY29tbWVudC1hdXRob3Ige1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uY29tbWVudHNfX2NvbW1lbnQtY29tcGFueSB7XHJcblx0YSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb21tZW50c19fY29tbWVudC1kYXRlIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi5jb21tZW50c19fY29tbWVudC13ZWJzaXRlIHtcclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxufVxyXG5cclxuLmNvbW1lbnRzX19jb21tZW50LXJlcGx5IHtcclxuXHRhIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRwYWRkaW5nLXRvcDogNXB4O1xyXG5cdH1cclxufSIsIi5jb250ZW50LWFjdGlvbnMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHJpZ2h0OiA1JTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDEzJTtcclxuXHJcblx0YSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG9wYWNpdHk6IDAuNztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVscC5cclxuICovXHJcblxyXG4uY29udGVudC1hY3Rpb25zX19oZWxwIHtcclxuXHRtYXJnaW4tbGVmdDogMTBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtYWN0aW9uc19faGVscC1ib2R5IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1heC13aWR0aDogOTAwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHJcblx0Lm1mcC1jbG9zZSB7XHJcblx0XHR0b3A6IDAhaW1wb3J0YW50O1xyXG5cdFx0cmlnaHQ6IDAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5cclxuLm1mcC1jb250ZW50IC5jb250ZW50LWFjdGlvbnNfX2hlbHAtYm9keSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTBweCk7XHJcblx0XHRvdmVyZmxvdzogc2Nyb2xsO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuXHRcdHdpZHRoOiA1cHg7XHJcblx0XHRoZWlnaHQ6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbiB7XHJcblx0XHRoZWlnaHQ6IDA7XHJcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMTAwO1xyXG5cdH1cclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogUHJpbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRlbnQtYWN0aW9uc19fcHJpbnQge1xyXG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcbiIsIi5jb250ZW50LWJyZWFkY3J1bWJzIHtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LTk1O1xyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1icmVhZGNydW1ic19fdmVyc2lvbiB7XHJcblx0JjphZnRlciB7XHJcblx0XHRtYXJnaW46IDAgMCAwIDJweDtcclxuXHRcdGNvbnRlbnQ6ICfCuyc7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1icmVhZGNydW1ic19fdmVyc2lvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG59XHJcblxyXG4uY29udGVudC1icmVhZGNydW1ic19fbGlua3Mge1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxufSIsIi5jb250ZW50LXByZXYtbmV4dCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0YTpob3ZlciB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi5jb250ZW50LXByZXYtbmV4dF9fcHJldiB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiA1MCU7XHJcblx0bWluLWhlaWdodDogMzBweDtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoICcuLy4uL2ltYWdlcy9wcmV2QnV0dG9uQmcucG5nJyApO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHJcblx0YSB7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdH1cclxufVxyXG5cclxuLmNvbnRlbnQtcHJldi1uZXh0X19uZXh0IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0cGxhY2UtY29udGVudDogZmxleC1lbmQ7XHJcblx0d2lkdGg6IDUwJTtcclxuXHRtaW4taGVpZ2h0OiAzMHB4O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCggJy4vLi4vaW1hZ2VzL25leHRCdXR0b25CZy5wbmcnICk7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxuXHRhIHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdH1cclxufVxyXG4iLCIuY29udGVudC1zaW5nbGUge1xyXG5cdFxyXG59XHJcblxyXG4uY29udGVudC1zaW5nbGVfX2hlYWQge1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogM3B4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkZGRkO1xyXG59XHJcblxyXG4uY29udGVudC1zaW5nbGVfX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi5jb250ZW50LXNpbmdsZV9fYXJ0aWNsZS1udW1iZXIge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTNweCwgMTZweCk7XHJcblx0Y29sb3I6ICRjb2xvci1ncmV5LTk1O1xyXG59XHJcblxyXG4uY29udGVudC1zaW5nbGVfX3BhZ2UtY29udGVudCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG4iLCIuY29udGVudC10YWJsZSB7XHJcblx0bWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtdGFibGVfX3RpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uY29udGVudC10YWJsZV9fbGlua3Mge1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdGEge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIuZmlndXJlLWxpc3Qge1xyXG5cclxufVxyXG5cclxuLmZpZ3VyZS1saXN0X190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZGRkZDtcclxufVxyXG5cclxuLmZpZ3VyZS1saXN0X19pdGVtcyB7XHJcblx0bWFyZ2luOiAtMnB4O1xyXG59XHJcblxyXG4uZmlndXJlLWxpc3RfX2l0ZW0ge1xyXG5cdHdpZHRoOiAxMy41ODUlO1xyXG5cdG1hcmdpbjogMnB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdG9wYWNpdHk6IDAuNDtcclxuXHR9XHJcbn1cclxuXHJcbi5maWd1cmUtbGlzdF9faXRlbS1pbWFnZSB7XHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufVxyXG4iLCIuZmlndXJlLXNpbmdsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0cGFkZGluZzogMjVweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmc6IDUwcHg7XHJcblxyXG5cdC5tZnAtY2xvc2Uge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHR0b3A6IDIwcHghaW1wb3J0YW50O1xyXG5cdFx0XHRyaWdodDogMzBweCFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0dG9wOiA1MHB4IWltcG9ydGFudDtcclxuXHRcdHJpZ2h0OiA1MHB4IWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi5maWd1cmUtc2luZ2xlX19pbWFnZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHJcblx0aW1nIHtcclxuXHRcdG1heC1oZWlnaHQ6IDYwMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLmZpZ3VyZS1zaW5nbGVfX2Rvd25sb2FkcyB7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdGNvbG9yOiAkY29sb3ItYmxhY2stMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuXHRhIHtcclxuXHRcdG1hcmdpbjogMCAxMHB4O1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5maWd1cmUtc2luZ2xlX190aXRsZSB7XHJcblx0Ly8gQGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcclxuXHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6IDJweCAyMHB4O1xyXG5cdC8vIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcclxuXHQvLyAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDE1cHg7XHJcblx0Ly8gLW1vei1ib3JkZXItcmFkaXVzOiAxNXB4O1xyXG5cdGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcblx0dGV4dC1zaGFkb3c6IDAgMXB4IDJweCAjMjIyO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuIiwiLmhlYWRlciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA5MHB4O1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcblx0fVxyXG5cclxuXHRoZWlnaHQ6IDk1cHg7XHRcclxuXHRwYWRkaW5nLXRvcDogMzBweDtcclxuXHJcblx0LndyYXBwZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHR9XHJcblxyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fdmVyc2lvbnMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGhlaWdodDogNDVweDtcclxuXHRwYWRkaW5nLWxlZnQ6IDI1cHg7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IC0xMDAlO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0d2lkdGg6IDk5OTlweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcblx0XHRib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWdyZWVuLTEwMDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgxNXB4LCAyMHB4KTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcclxuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGUtNzA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdHotaW5kZXg6IDI7XHJcblxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRtYXJnaW46IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhlYWRlcl9fbG9nby1oYW5kYm9layB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmhlYWRlcl9fbG9nby1jb2Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA1cHg7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0aGVpZ2h0OiA4MHB4O1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XHJcblx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMTFweDtcclxuXHRyaWdodDogNTBweDtcclxuXHR3aWR0aDogMjAwcHg7XHJcblx0aGVpZ2h0OiAxMzhweDtcclxuXHR6LWluZGV4OiAyO1xyXG59XHJcbiIsIi5saXRlcmF0dXJlLWxpc3RfX3RpdGxlIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZGRkZDtcclxufVxyXG5cclxuLmxpdGVyYXR1cmUtbGlzdF9fY2F0ZWdvcnktdGl0bGUge1xyXG5cdG1hcmdpbjogMTVweCAwIDEwcHggMDtcclxufVxyXG5cclxuLmxpdGVyYXR1cmUtbGlzdF9faXRlbS1yZWZlcmVuY2Uge1xyXG5cdG1hcmdpbi1yaWdodDogNXB4O1xyXG59XHJcblxyXG4ubGl0ZXJhdHVyZS1saXN0X19pdGVtLWxpbmsge1xyXG5cdGEge1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuIiwiLmxpdGVyYXR1cmUtc2luZ2xlX19saW5rLXdyYXAge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblx0cGFkZGluZzogMzVweDtcclxuXHJcblx0YSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi5saXRlcmF0dXJlLXNpbmdsZV9fcmVmZXJlbmNlIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLmxpdGVyYXR1cmUtc2luZ2xlX19saW5rIHtcclxuXHQmOmhvdmVyIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxufVxyXG4iLCIucHJpbnQge1xyXG5cdHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbi5wcmludF9fbG9nbyB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufSIsIi5zZWFyY2gtZm9ybSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDE1cHggNTBweCAwIDUwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtODU7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDI1cHggMCAyNXB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcblx0aW5wdXQge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRAaW5jbHVkZSBmb250KDE3cHgsIDIwcHgpO1xyXG5cdFx0XHRoZWlnaHQ6IDM3cHg7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZS0xMDA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHQgICAgcGFkZGluZzogM3B4IDAgMCAxNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGZvbnQoMTVweCwgMjBweCk7XHJcblx0XHRoZWlnaHQ6IDI0cHg7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0XHRjb2xvcjogJGNvbG9yLWdyZXktOTU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ncmV5LTk1O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aW52YWxpZCB7XHJcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdHRvcDogNXB4O1xyXG5cdFx0XHRyaWdodDogOHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0d2lkdGg6IDI1cHg7XHJcblx0XHRoZWlnaHQ6IDI1cHg7XHJcblx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdXZWJTeW1ib2xzUmVndWxhcicpO1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdFx0Y29sb3I6ICRjb2xvci1ncmV5LTk1O1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLWdyZWVuLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5zZWFyY2gtZm9ybV9fZ2VuZXJhbCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc2VhcmNoLWZvcm1fX2FydGljbGUge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNlYXJjaC1mb3JtX19lcnJvciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZlZjRiYTtcclxuXHRwYWRkaW5nOiA1cHggMTBweDtcclxuXHRtYXJnaW46IDEwcHggMDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjZThjODA1O1xyXG5cdGJvcmRlci1yYWRpdXM6IDNweDtcclxufSIsIi5zZWFyY2gtaXRlbSB7XHJcblx0bWFyZ2luLXRvcDogNDBweDtcclxuXHJcblx0LmNvbnRlbnQtYnJlYWRjcnVtYnMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogM3B4O1xyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1pdGVtX190aXRsZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNXB4LCAxOHB4KTtcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnNlYXJjaC1pdGVtX19jb250ZW50IHtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuXHRwIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi5zZWFyY2gtaXRlbV9fbW9yZSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdH1cclxufVxyXG4iLCIuc2VhcmNoLXJlc3VsdHMge1xyXG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0c19fdGl0bGUge1xyXG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkZGRkO1xyXG59XHJcblxyXG4uc2VhcmNoLXJlc3VsdHNfX2xpc3Qge1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuXHRtYXJnaW4tdG9wOiAtMTVweDtcclxuXHRtYXJnaW4tbGVmdDogMjVweDtcclxufVxyXG5cclxuLnNlYXJjaC1yZXN1bHRzX19wYWdpbmF0aW9uIHtcclxuXHRtYXJnaW46IDMwcHggMCAwIDI1cHg7XHJcblxyXG5cdC5zY3JlZW4tcmVhZGVyLXRleHQge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdGE6aG92ZXIsXHJcblx0LmN1cnJlbnQge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG5cclxuXHQuY3VycmVudCB7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcbn1cclxuIiwiLnNpZGViYXItZm9ybSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdG1hcmdpbjogMTVweCAwO1xyXG59XHJcblxyXG4uc2lkZWJhci1mb3JtX190aXRsZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxM3B4LCAyMHB4KTtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0aW1nIHtcclxuXHRcdHdpZHRoOiA1M3B4O1xyXG5cdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLnNpZGViYXItZm9ybV9fYm9keSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLnNpZGViYXItZm9ybV9faW50cm9kdWN0aW9uIHtcclxuXHRAaW5jbHVkZSBmb250KDEzcHgsIDIwcHgpO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuIiwiLnNpZGViYXItbmF2aWdhdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cGFkZGluZzogMCAyNXB4O1xyXG5cdH1cclxuXHJcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0bWluLWhlaWdodDogMzBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2stNTA7XHJcblx0cGFkZGluZzogMCA1MHB4O1xyXG5cclxuXHRhIHtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0b3BhY2l0eTogMC43O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNpZGViYXItbmF2aWdhdGlvbl9fcHJldiB7XHJcblx0d2lkdGg6IDIzcHg7XHJcblx0aGVpZ2h0OiAyM3B4O1xyXG59XHJcblxyXG4uc2lkZWJhci1uYXZpZ2F0aW9uX19zZWFyY2gge1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ1dlYlN5bWJvbHNSZWd1bGFyJyk7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0aGVpZ2h0OiAyMHB4O1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxuXHRjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxufVxyXG5cclxuLnNpZGViYXItbmF2aWdhdGlvbl9fcGFnZS10cmVlIHtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdXZWJTeW1ib2xzUmVndWxhcicpO1xyXG5cdHdpZHRoOiAyM3B4O1xyXG5cdGhlaWdodDogMjNweDtcclxuXHRmb250LXNpemU6IDIwcHg7XHJcblx0Y29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi5zaWRlYmFyLW5hdmlnYXRpb25fX3ZlcnNpb25zIHtcclxuXHR3aWR0aDogMjNweDtcclxuXHRoZWlnaHQ6IDIzcHg7XHJcbn1cclxuXHJcbi5zaWRlYmFyLW5hdmlnYXRpb25fX25leHQge1xyXG5cdHdpZHRoOiAyM3B4O1xyXG5cdGhlaWdodDogMjNweDtcclxufVxyXG4iLCIuc2lkZWJhci1wYWdlLXRyZWUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDUwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtODU7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwYWRkaW5nOiAxNXB4IDI1cHg7XHJcblx0fVxyXG5cclxuXHQuenRyZWUge1xyXG5cdFx0b3ZlcmZsb3c6IG92ZXJsYXk7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdC56dHJlZSAqIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMTZweCk7XHJcblx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XHJcblx0fVxyXG59XHJcblxyXG4ucGFnZS10cmVlX19rbm93bGVkZ2UtYmFzZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxM3B4LCAyMHB4KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IC0xcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0fVxyXG59XHJcbiIsIi5zaWRlYmFyLXZlcnNpb25zIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0cGFkZGluZzogMCA1MHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlLTg1O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cGFkZGluZzogMCAyNXB4O1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDEzcHgsIDIwcHgpO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2NjY2M7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDEwcHg7XHJcblx0fVxyXG59XHJcbiIsIi50YWJsZS1zaW5nbGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHBhZGRpbmc6IDI1cHg7XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nOiA1MHB4O1xyXG5cclxuXHQubWZwLWNsb3NlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0dG9wOiAyMHB4IWltcG9ydGFudDtcclxuXHRcdFx0cmlnaHQ6IDMwcHghaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdHRvcDogNTBweCFpbXBvcnRhbnQ7XHJcblx0XHRyaWdodDogNTBweCFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4udGFibGUtc2luZ2xlX19lZGl0b3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XHJcblx0fVxyXG5cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cdHBhZGRpbmc6IDM1cHg7XHJcblx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEzMHB4KTtcclxuXHRvdmVyZmxvdzogc2Nyb2xsO1xyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0XHR3aWR0aDogNXB4O1xyXG5cdFx0aGVpZ2h0OiAwO1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xyXG5cdFx0aGVpZ2h0OiAwO1xyXG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMDtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi0xMDA7XHJcblx0fVxyXG5cclxuXHR0YWJsZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0Y3Vyc29yOiBhdXRvO1xyXG5cdH1cclxufVxyXG5cclxuLnRhYmxlLXNpbmdsZV9fcmVmZXJlbmNlIHtcclxuXHRtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnRhYmxlLXNpbmdsZV9fbGluayB7XHJcblx0Jjpob3ZlciB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuXHJcbi50YWJsZS1zaW5nbGVfX3RpdGxlIHtcclxuXHQvLyBAaW5jbHVkZSBmb250KDE2cHgsIDIwcHgpO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0Y29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZzogMnB4IDIwcHg7XHJcblx0Ly8gYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG5cdC8vIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTVweDtcclxuXHQvLyAtbW96LWJvcmRlci1yYWRpdXM6IDE1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMTVweDtcclxuXHR0ZXh0LXNoYWRvdzogMCAxcHggMnB4ICMyMjI7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufSIsIkBwYWdlOmZpcnN0IHsgbWFyZ2luLXRvcDogMGNtOyBtYXJnaW4tYm90dG9tOiAtMjBjbTsgbWFyZ2luLWxlZnQ6IDBjbTsgbWFyZ2luLXJpZ2h0OiAwY207IH1cbi8vIEBwYWdlIHsgbWFyZ2luLXRvcDogMS41Y207IG1hcmdpbi1ib3R0b206IDEuNWNtOyBtYXJnaW4tbGVmdDogMGNtOyBtYXJnaW4tcmlnaHQ6IDBjbTsgfVxuXG4ucHJpbnQtaGVhZGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJpbnQtaGVhZGVyX192ZXJzaW9uIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDIwcHg7XG5cdHJpZ2h0OiAyMHB4O1xuXHRsaW5lLWhlaWdodDogMTIwJTtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4ucHJpbnQtaGVhZGVyX190aXRsZSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay0xMDA7XG5cdGNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xuXHRwYWRkaW5nLXRvcDogNDBweDtcblx0cGFkZGluZy1ib3R0b206IDQwcHg7XG5cdHBhZGRpbmctbGVmdDogNTBweDtcblx0Zm9udC1zaXplOiA0MnB4O1xuXHR3aWR0aDogMTAwJTtcblx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XG59XG5cbi5wcmludC1oZWFkZXJfX3N1YnRpdGxlIHtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG59XG5cbi5wcmludC1oZWFkZXJfX2NvdmVyIHtcblx0d2lkdGg6IDIxLjFjbTtcblx0aGVpZ2h0OiAyOS43Y207XG5cdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdG1hcmdpbi10b3A6IC0xLjY1Y207XG59XG5cbi8vIEBwYWdlOmZpcnN0IHtcbi8vIFx0LnBkZi1oZWFkZXIge1xuLy8gXHRcdGRpc3BsYXk6IG5vbmU7XG4vLyBcdH1cbi8vIH1cblxuLy8gQG1lZGlhIHByaW50IHtcbi8vICAgICBAcGFnZTpmaXJzdCB7XG4vLyAgICAgICAgIG1hcmdpbi10b3A6IC0yMGNtO1xuLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuXG4vLyBcdFx0LnBkZi1oZWFkZXIge1xuLy8gXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuLy8gXHRcdFx0Y29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4vLyBcdFx0fVxuLy8gICAgIH1cbi8vIH1cblxuLmhlYWRlcjpoYXMoW2RhdGEtcGFnZS1udW1iZXI9XCIxXCJdKSwgLnBkZi1oZWFkZXI6aGFzKFtkYXRhLXBhZ2UtbnVtYmVyPVwiMVwiXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wZGYtaGVhZGVyIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0Zm9udC1zaXplOiAwcHggIWltcG9ydGFudDtcbn1cblxuXG4ucHJpbnQtbWVudV9fbGlua3Mge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcblx0Y29sb3I6IGJsYWNrO1xuXG5cdGEge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHQudGl0bGUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAycHggZG90dGVkICNBQUE7XG5cdFx0XHRcdGZsZXg6MTtcblx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYXJ0LW5yIHtcblx0XHRjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcblx0fVxufVxuXG4ucHJpbnQtbWVudV9fdGl0bGUge1xuXHRmb250LXNpemU6IDI1cHg7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJpbnQtbWVudV9fbGluay1tYWluIHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0d2lkdGg6IDEwMCU7XG5cblx0Ji5uby1jaGlsZGVyZW4ge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLnByaW50LW1lbnVfX2xpbmstY2hpbGRyZW4gPiAucHJpbnQtbWVudV9fbGluay1jaGlsZHMgPiBhIHtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wcmludC1tZW51X19saW5rLWNoaWxkcmVuIHtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4ucHJpbnQtbWVudV9fbGluay1jaGlsZHMgPiBkaXYge1xuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnByaW50LW1lbnVfX2xpbmstY2hpbGRzID4gZGl2ID4gLnByaW50LW1lbnVfX2xpbmstY2hpbGRzIHtcblx0cGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4ucHJpbnQtbWVudV9fbGluay1jaGlsZHMgYSB7XG5cdC8vIGNvbG9yOiAjNWQ1ZDVkO1xufSIsIi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqXHJcbiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvbiBldmVyeSBjb2xvciBkZWZpbml0aW9uIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSBgJGtleWAgYW5kIGAkbWFwYCBpbiB0aGUgYCRjb2xvcnNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbiAqL1xyXG4gXHJcbkBlYWNoICRrZXksICRtYXAgaW4gJGNvbG9ycyB7XHJcblxyXG5cdC8vIExvb3AgdGhyb3VnaCBldmVyeSBgJHNoYWRlYCBhbmQgYCRyZ2JgIGluIGAkbWFwYC5cclxuXHRAZWFjaCAkc2hhZGUsICRyZ2IgaW4gJG1hcCB7XHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kLWNvbG9yYCBydWxlcy5cclxuXHRcdEBlYWNoICRydWxlIGluIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBgI3skcnVsZX1gICN7JHJnYn0tI3skc2hhZGV9IGNvbG9yIHV0aWxpdHkuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LiN7JHJ1bGV9LSN7dW5xdW90ZSgka2V5KX0tI3t1bnF1b3RlKCRzaGFkZSl9IHtcclxuXHRcdFx0XHQjeyRydWxlfTogJHJnYjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxyXG4gKi9cclxuXHJcbi52aXN1YWxseS1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcblx0Y2xpcC1wYXRoOiBpbnNldCgxcHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1ha2UgbGF6eWxvYWQgcGxhY2Vob2xkZXIgMTAwJSB3aWRlLlxyXG4gKi9cclxuXHJcbi5sYXp5bG9hZCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxyXG4gKiB0aGF0IHV0aWxpemVzIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXHJcbiAqL1xyXG5cclxuLm9iamVjdC1maXQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBjZW50ZXIuXHJcbiAqL1xyXG5cclxuLmFsaWduLWNlbnRlciB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gbGVmdC5cclxuICovXHJcblxyXG4uYWxpZ24tbGVmdCB7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIHJpZ2h0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1yaWdodCB7XHJcblx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuIiwiLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gZmlsbCwgY29udGFpbiwgY292ZXIsIG5vbmUsIHNjYWxlLWRvd24ge1xyXG5cclxuXHQvKipcclxuXHQgKiBgb2JqZWN0LWZpdGAgI3skdmFsdWV9IHV0aWxpdHkgY2xhc3MuXHJcblx0ICovXHJcblxyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xyXG5cdFx0b2JqZWN0LWZpdDogI3skdmFsdWV9O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXHJcblxyXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xyXG5cdC4jeyR2YWx1ZX0ge1xyXG5cdFx0cG9zaXRpb246ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuIiwiXHJcbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0LCBjZW50ZXIge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246ICRkaXJlY3Rpb247XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuXHRcdFx0JGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJHRyYW5zZm9ybSBpbiBjYXBpdGFsaXplLCB1cHBlcmNhc2UsIGxvd2VyY2FzZSwgbm9uZSwgZnVsbC13aWR0aCB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFZlcnRpY2FsIFJoeXRobS5cclxuICovXHJcbiBcclxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XHJcblx0JGk6ICRpICogODtcclxuXHJcblx0LnZyLSN7JGl9IHtcclxuXHRcdG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XHJcblx0LnotaW5kZXgtI3ska2V5fSB7XHJcblx0XHR6LWluZGV4OiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBUUg7O0dBRUc7QUFFSCxVQUFVO0VBQ1QsV0FBVyxFQUFFLGNBQWM7RUFDM0IsR0FBRyxFQUFFLG1GQUFtRjtFQUN4RixHQUFHLEVBQUUsMEZBQTBGLENBQUMsMkJBQTJCLEVBQUUsb0ZBQW9GLENBQUMsY0FBYyxFQUFFLG1GQUFtRixDQUFDLGtCQUFrQixFQUFFLGdHQUFnRyxDQUFDLGFBQWE7RUFDeGIsV0FBVyxFQUFFLE1BQU07RUFDbkIsVUFBVSxFQUFFLE1BQU07O0FBRW5CLFVBQVU7RUFDVCxXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLEdBQUcsRUFBRSx3RkFBd0Y7RUFDN0YsR0FBRyxFQUFFLCtGQUErRixDQUFDLDJCQUEyQixFQUFFLHlGQUF5RixDQUFDLGNBQWMs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 */
