*,
*:after,
*:before {
  box-sizing: border-box;
  user-select: none; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

* {
  font-family: Lato; }

#__bs_notify__ {
  background: red !important;
  color: white !important;
  font-size: 12px !important;
  padding: 5px !important;
  bottom: 0;
  left: 0;
  top: initial !important;
  right: initial !important;
  border-bottom-left-radius: 0 !important;
  border-top-right-radius: 5px;
  border: 1px solid black;
  border-width: 1px 1px 0 0; }

.clear {
  clear: both; }

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

@font-face {
  font-family: 'Josefin Sans';
  src: url("../fonts/JosefinSans-Light.eot");
  src: url("../fonts/JosefinSans-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/JosefinSans-Light.woff2") format("woff2"), url("../fonts/JosefinSans-Light.woff") format("woff"), url("../fonts/JosefinSans-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal; }

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

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

p {
  margin: 0; }

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

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

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

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

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

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0; }

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

@keyframes slanting {
  0% {
    left: -600px;
    transform: rotate(0deg);
    transform-origin: 100% 100%; }
  45% {
    left: -350px;
    transform: rotate(-15deg);
    transform-origin: 100% 100%; }
  100% {
    left: -350px;
    transform: rotate(10deg);
    transform-origin: 100% 100%; } }

@keyframes slanting-mobile {
  0% {
    left: -350px;
    transform: rotate(0deg);
    transform-origin: 100% 100%; }
  45% {
    left: -250px;
    transform: rotate(-15deg);
    transform-origin: 100% 100%; }
  100% {
    left: -250px;
    transform: rotate(10deg);
    transform-origin: 100% 100%; } }

@keyframes slanting2 {
  0% {
    left: -350px;
    transform: rotate(10deg);
    transform-origin: 100% 100%; }
  45% {
    left: -350px;
    transform: rotate(-15deg);
    transform-origin: 100% 100%; }
  100% {
    left: -600px;
    transform: rotate(0deg);
    transform-origin: 100% 100%; } }

@keyframes slanting2-mobile {
  0% {
    left: -250px;
    transform: rotate(10deg);
    transform-origin: 100% 100%; }
  45% {
    left: -250px;
    transform: rotate(-15deg);
    transform-origin: 100% 100%; }
  100% {
    left: -350px;
    transform: rotate(0deg);
    transform-origin: 100% 100%; } }

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5; }
  header .toggle-container {
    padding: 40px; }
    @media only screen and (max-width: 639px) {
      header .toggle-container {
        padding: 20px; } }
    header .toggle-container .toggle-btn {
      position: relative;
      background: #000;
      width: 60px;
      height: 60px;
      cursor: pointer;
      text-align: center;
      z-index: 10; }
      header .toggle-container .toggle-btn .line {
        position: absolute;
        width: 38px;
        height: 6px;
        background: #fff;
        left: 50%;
        margin-left: -18px; }
        header .toggle-container .toggle-btn .line:nth-of-type(1) {
          top: 14px;
          transition-property: top, transform;
          transition-duration: .3s, .3s;
          transition-delay: 0.3s, 0s; }
        header .toggle-container .toggle-btn .line:nth-of-type(2) {
          top: 27px;
          transition-property: opacity;
          transition-duration: .3s; }
        header .toggle-container .toggle-btn .line:nth-of-type(3) {
          top: 40px;
          transition-property: top, transform;
          transition-duration: .3s, .3s;
          transition-delay: 0.3s, 0s; }
  header .nav-bg {
    position: fixed;
    width: 600px;
    height: 160%;
    bottom: -20%;
    left: -600px;
    background: black; }
    @media only screen and (max-width: 639px) {
      header .nav-bg {
        width: 350px;
        left: -350px; } }
  header.text .nav-content {
    opacity: 1;
    left: 0;
    transition: all .4s ease-out .2s; }
  header.show .nav-bg {
    animation: slanting .3s forwards ease-in-out; }
    @media only screen and (max-width: 639px) {
      header.show .nav-bg {
        animation: slanting-mobile .3s forwards ease-in-out; } }
  header.show .toggle-btn .line:nth-of-type(1) {
    top: 27px;
    transform: rotate(45deg);
    transform-origin: 50% 50%;
    transition-delay: 0s, 0.5s; }
  header.show .toggle-btn .line:nth-of-type(2) {
    opacity: 0; }
  header.show .toggle-btn .line:nth-of-type(3) {
    top: 27px;
    transform: rotate(-45deg);
    transform-origin: 50% 50%;
    transition-delay: 0s, 0.5s; }
  header.hide .nav-bg {
    animation: slanting2 .3s forwards ease-in-out; }
    @media only screen and (max-width: 639px) {
      header.hide .nav-bg {
        animation: slanting2-mobile .3s forwards ease-in-out; } }
  header .nav-content {
    position: fixed;
    width: 250px;
    z-index: 4;
    top: 160px;
    opacity: 0;
    left: -300px;
    transition: all .3s ease-out; }
    header .nav-content .nav-list {
      padding: 50px; }
      @media only screen and (max-width: 639px) {
        header .nav-content .nav-list {
          padding: 30px; } }
      header .nav-content .nav-list .nav-item {
        font-size: 24px;
        line-height: 34px; }
        header .nav-content .nav-list .nav-item a {
          color: white;
          text-decoration: none; }

.main-content {
  transition: transform .4s ease-in-out .0s; }
  .main-content.move {
    transform: translate(150px);
    transition: transform .4s ease-in-out .2s; }
    @media only screen and (max-width: 639px) {
      .main-content.move {
        transform: translate(80px); } }
  .main-content section {
    width: 100%;
    height: 780px; }
    .main-content section.first {
      background: linear-gradient(to left, #00c3ff, #43cea2); }
    .main-content section.second {
      background: linear-gradient(to left, #4776E6, #00c3ff); }
    .main-content section.third {
      background: linear-gradient(to left, #8E54E9, #4776E6); }
    .main-content section.forth {
      background: linear-gradient(to left, #ff5f6d, #8E54E9); }
    .main-content section.fifth {
      background: linear-gradient(to left, #D38312, #FF5F6D); }
    .main-content section h1 {
      margin: 0;
      text-align: center;
      line-height: 780px;
      color: white; }

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