/* ------------------------------------------
   settings.VARIABLES
------------------------------------------ */
/* ------------------------------------------
   tools.MIXINS
------------------------------------------ */
/* ------------------------------------------
   settings.NORMALIZE
------------------------------------------ */
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

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

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 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 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

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

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

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

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 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 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

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

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 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 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
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 and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * 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 */ }

/* ------------------------------------------
   generic.RESET
------------------------------------------ */
* {
  box-sizing: border-box; }

img,
iframe {
  max-width: 100%;
  height: auto; }

h1, h2, h3, h4, h5, h6,
p, blockquote, pre,
dl, dd, ol, ul,
form, fieldset, legend,
table, th, td, caption,
hr, figure {
  margin: 0;
  padding: 0; }

/* ------------------------------------------
   base.BODY
------------------------------------------ */
body {
  background-color: #000;
  color: #000;
  font-size: 1.125rem;
  line-height: 1.875rem;
  font-family: "Poppins", sans-serif; }

p {
  font-family: "Poppins", sans-serif;
  font-size: 1.125rem;
  line-height: 1.875rem;
  font-weight: 400; }

a {
  color: #0db1ee;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

h1, h2, h3, h4 {
  font-weight: 800; }

h1 {
  font-size: 2.25rem;
  line-height: 2.25rem;
  color: #fff; }

h2 {
  font-size: 2.875rem;
  line-height: 3.125rem;
  color: #000; }
  @media screen and (min-width: 31.25em) {
    h2 {
      font-size: 3.75rem;
      line-height: 3.75rem; } }

h3 {
  font-size: 2.25rem;
  line-height: 2.25rem;
  color: #000; }

h4 {
  font-size: 1.375rem;
  line-height: 1.875rem;
  color: #000; }

h5 {
  font-size: 1.125rem;
  line-height: 1.875rem;
  color: #000;
  font-weight: 700;
  text-transform: uppercase; }

.gform_heading,
.gform_body,
.gform_footer {
  clear: both;
  padding-bottom: 20px; }

ul.gform_fields {
  list-style: none;
  margin: 0 -15px;
  padding: 0; }

li.gfield {
  clear: both;
  overflow: auto;
  padding: 0 0px 20px; }

.ginput_container span {
  margin-bottom: 10px; }

.ginput_container input.large,
.ginput_container select.large,
.ginput_container textarea.large {
  width: 100%; }

.ginput_container input.medium,
.ginput_container select.medium,
.ginput_container textarea.medium {
  width: 66%; }

.ginput_container input.small,
.ginput_container select.small,
.ginput_container textarea.small {
  width: 33%; }

label.gfield_label {
  display: inline-block;
  padding-bottom: 10px; }
  .left_label label.gfield_label {
    float: left;
    width: 25%; }
  .right_label label.gfield_label {
    float: right;
    width: 25%; }

.gfield_required {
  padding-left: 5px; }

ul.gfield_checkbox,
ul.gfield_radio {
  list-style: none;
  padding: 0; }
  ul.gfield_checkbox input,
  ul.gfield_radio input {
    margin-right: 10px;
    position: relative;
    top: -1px; }

ul.gfield_radio input {
  margin-left: 2px; }

.gsection h2 {
  border-bottom: 3px solid black;
  padding-bottom: 15px; }

.gf_progressbar_wrapper {
  padding-bottom: 15px; }

.gf_progressbar {
  background: gray; }

.gf_progressbar_percentage {
  background: red;
  padding: 5px 10px;
  text-align: right; }

.gfield_time_hour, .gfield_time_minute, .gfield_time_ampm {
  display: inline;
  display: inline-block; }

.gfield_time_hour label, .gfield_time_minute label {
  display: block; }

.gfield_time_ampm {
  vertical-align: top; }

.validation_error {
  font-size: 1.2em;
  font-weight: bold;
  padding-bottom: 15px; }

li.gfield.gfield_error {
  background: #FFDFE0;
  margin-bottom: 15px;
  padding-top: 15px; }
  li.gfield.gfield_error label.gfield_label {
    font-weight: bold; }

li.gfield .validation_message {
  font-weight: bold;
  margin-top: 10px; }

.gform_validation_container {
  display: none; }

.ginput_full {
  display: block; }
  .ginput_full input, .ginput_full select, .ginput_full textarea {
    margin-bottom: 5px;
    width: 100%; }
  .ginput_full label {
    display: block; }

.ginput_left {
  float: left;
  padding-right: 10px;
  width: 50%; }
  .ginput_left input, .ginput_left select, .ginput_left textarea {
    margin-bottom: 5px;
    width: 100%; }
  .ginput_left label {
    display: block; }

.ginput_right {
  float: right;
  width: 50%; }
  .ginput_right input, .ginput_right select, .ginput_right textarea {
    margin-bottom: 5px;
    width: 100%; }
  .ginput_right label {
    display: block; }

.ginput_right {
  float: right;
  width: 50%; }

Layout Columns
li.gf_left_half {
  clear: none;
  float: left;
  padding-right: 10px;
  padding-bottom: 10px;
  width: 50%; }

li.gf_right_half {
  clear: none;
  float: right;
  padding-bottom: 10px;
  width: 50%; }

li.gf_left_third {
  clear: none;
  float: left;
  padding-right: 10px;
  padding-bottom: 10px;
  width: 33%; }

li.gf_middle_third {
  clear: none;
  float: left;
  padding-right: 10px;
  padding-bottom: 10px;
  width: 34%; }

li.gf_right_third {
  clear: none;
  float: right;
  padding-bottom: 10px;
  width: 33%; }

li.gf_first_quarter {
  clear: none;
  float: left;
  padding-right: 10px;
  padding-bottom: 10px;
  width: 25%; }

li.gf_second_quarter {
  clear: none;
  float: left;
  padding-right: 10px;
  padding-bottom: 10px;
  width: 25%; }

li.gf_third_quarter {
  clear: none;
  float: left;
  padding-bottom: 10px;
  width: 25%; }

li.gf_fourth_quarter {
  clear: none;
  float: right;
  padding-bottom: 10px;
  width: 25%; }

@media screen and (max-width: 480px) {
  li.gf_left_half, li.gf_right_half, li.gf_left_third, li.gf_middle_third, li.gf_right_third, li.gf_first_quarter, li.gf_second_quarter, li.gf_third_quarter, li.gf_fourth_quarter {
    width: 100%; } }

.gf_list_2col ul.gfield_checkbox li,
.gf_list_2col ul.gfield_radio li {
  float: left;
  padding-bottom: 10px;
  width: 50%; }

.gf_list_3col ul.gfield_checkbox li,
.gf_list_3col ul.gfield_radio li {
  float: left;
  padding-bottom: 10px;
  width: 33%; }

.gf_list_4col ul.gfield_checkbox li,
.gf_list_4col ul.gfield_radio li {
  float: left;
  padding-bottom: 10px;
  width: 25%; }

.gf_list_5col ul.gfield_checkbox li,
.gf_list_5col ul.gfield_radio li {
  float: left;
  padding-bottom: 10px;
  width: 20%; }

.gf_list_inline ul.gfield_checkbox li,
.gf_list_inline ul.gfield_radio li {
  display: inline-block;
  padding-right: 10px;
  padding-bottom: 10px; }

@media screen and (max-width: 480px) {
  .gf_list_2col ul.gfield_checkbox li,
  .gf_list_2col ul.gfield_radio li,
  .gf_list_3col ul.gfield_checkbox li,
  .gf_list_3col ul.gfield_radio li,
  .gf_list_4col ul.gfield_checkbox li,
  .gf_list_4col ul.gfield_radio li,
  .gf_list_5col ul.gfield_checkbox li,
  .gf_list_5col ul.gfield_radio li {
    width: 100%; } }

.wrap {
  width: 100%; }

.wrap--black {
  background-color: #000; }

.wrap--white {
  background-color: #fff; }

.wrap__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1920px;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 66.875em) {
    .wrap__inner {
      padding-left: 60px;
      padding-right: 60px; } }

.content-wrap {
  width: 100%;
  margin: 0 auto;
  max-width: 1800px; }

/**
 * Icon component
 *
 * 1. Display inline with surrounding text content.
 * 2. Inherit the parent text color for icon fills.
 * 3. Use parent font-size for width and height.
 * 4. Vertically align icon with surrounding text.
 *    See: http://snook.ca/archives/html_and_css/icons-and-type
 */
.icon {
  display: inline-block;
  /* 1 */
  fill: currentColor;
  /* 2 */
  height: 2em;
  /* 3 */
  position: relative;
  /* 4 */
  top: 0em;
  /* -0.0625em; */
  /* 4 */
  vertical-align: middle;
  /* 4 */
  width: 2em;
  /* 3 */
  color: #fff; }

.icon-logo {
  width: 158px;
  height: 37px;
  position: relative;
  z-index: 9999; }
  @media screen and (min-width: 50em) {
    .icon-logo {
      width: 214px;
      height: 51px; } }
  .icon-logo:hover {
    color: #0db1ee; }
  .icon-logo.demo-logo-dark {
    color: #000; }

.icon-arrow {
  width: 56px;
  height: 44px;
  color: #8a8a8a;
  padding: 10px;
  margin-top: -10px;
  margin-right: -10px;
  margin-left: -10px; }
  .icon-arrow:hover {
    color: #000;
    cursor: pointer; }

.works-nav .icon-arrow:hover {
  color: #8a8a8a;
  opacity: .7; }

.icon-arrow-reversed {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.icon-social {
  color: #000; }
  .icon-social:hover {
    color: #0db1ee; }

.icon-vimeo {
  height: 30px;
  width: 105px; }

.icon-facebook {
  height: 30px;
  width: 151px; }

.icon-instagram {
  height: 40px;
  width: 173px; }

.icon-instagram-text {
  height: 42px;
  width: 145px; }

header {
  width: 100%;
  height: 100vh;
  background-color: #000;
  padding-left: 20px;
  padding-right: 20px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-bottom: 120px;
  margin: 0 auto;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 37.5em) {
    header {
      padding-bottom: 60px; } }
  @media screen and (min-width: 66.875em) {
    header {
      padding-left: 60px;
      padding-right: 60px; } }
  header h3 {
    color: #fff;
    max-width: 720px;
    text-align: center;
    font-size: 1.875rem;
    line-height: 2.75rem;
    position: relative; }
    @media screen and (min-width: 37.5em) {
      header h3 {
        font-size: 2.25rem;
        line-height: 3.125rem; } }

.logo img {
  display: block;
  width: 214px;
  height: 51px; }

.hero-video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none; }
  @media screen and (min-width: 43.75em) {
    .hero-video {
      display: block; } }

.mobile-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: block; }
  @media screen and (min-width: 43.75em) {
    .mobile-bg {
      display: none; } }

header.header-works {
  width: 100%;
  height: 77px;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  position: relative;
  overflow: visible;
  z-index: 2000; }
  @media screen and (min-width: 50em) {
    header.header-works {
      height: 131px; } }

.selected-demos-bg {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-bottom: 60px;
  margin: 0 auto;
  position: relative;
  overflow: hidden; }
  @media screen and (min-width: 66.875em) {
    .selected-demos-bg {
      padding-left: 60px;
      padding-right: 60px; } }
  .selected-demos-bg .hero-video {
    position: absolute;
    top: 0%;
    left: 50%;
    min-width: 100%;
    min-height: auto;
    width: auto;
    height: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  .selected-demos-bg .wrap__inner {
    padding-left: 0;
    padding-right: 0; }

.header-selected-demos {
  height: auto;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent; }
  .header-selected-demos h2 {
    text-transform: uppercase;
    color: #fff;
    position: relative;
    padding-top: 180px;
    padding-bottom: 50px;
    text-align: center; }
  .header-selected-demos .client-logo {
    position: relative;
    max-width: 200px;
    max-height: 200px;
    width: 100%;
    height: auto; }
  .header-selected-demos p {
    text-align: center;
    max-width: 500px;
    color: #fff;
    padding-top: 20px;
    position: relative; }
  .header-selected-demos p:first-of-type {
    padding-top: 50px; }

.nav-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 20px 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: transparent;
  transition: all .2s;
  z-index: 5; }
  @media screen and (min-width: 50em) {
    .nav-wrap {
      padding: 40px 20px;
      z-index: 3; } }
  @media screen and (min-width: 66.875em) {
    .nav-wrap {
      padding: 40px 60px; } }

body.single-works .nav-wrap {
  position: relative; }

.nav-wrap__inner {
  width: 100%;
  max-width: 1800px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  z-index: 1047;
  position: relative; }

ul.main-nav {
  list-style: none;
  display: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 50em) {
    ul.main-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  ul.main-nav li {
    padding-left: 70px; }
  ul.main-nav a {
    font-size: 1.375rem;
    line-height: 1.875rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    transition: all .2s;
    position: relative; }
    ul.main-nav a:after {
      position: absolute;
      content: '';
      width: 0;
      right: 0;
      transition: width .5s, background-color .2s;
      background-color: #fff;
      height: 4px;
      bottom: -5px; }
    ul.main-nav a:hover {
      color: #0db1ee; }
      ul.main-nav a:hover:after {
        background-color: #0db1ee; }
  ul.main-nav li.active a:after {
    position: absolute;
    content: '';
    width: 100%; }

.nav-wrap.work-nav-active {
  background-color: #000; }

.nav-wrap.about-nav-active, .nav-wrap.contact-nav-active {
  background-color: transparent; }
  .nav-wrap.about-nav-active .icon-logo, .nav-wrap.contact-nav-active .icon-logo {
    color: #000; }
    .nav-wrap.about-nav-active .icon-logo:hover, .nav-wrap.contact-nav-active .icon-logo:hover {
      color: #0db1ee; }
  .nav-wrap.about-nav-active ul.main-nav a, .nav-wrap.contact-nav-active ul.main-nav a {
    color: #000; }
  .nav-wrap.about-nav-active ul.main-nav a:after, .nav-wrap.contact-nav-active ul.main-nav a:after {
    background-color: #000; }
  .nav-wrap.about-nav-active ul.main-nav a:hover, .nav-wrap.contact-nav-active ul.main-nav a:hover {
    color: #0db1ee; }
    .nav-wrap.about-nav-active ul.main-nav a:hover:after, .nav-wrap.contact-nav-active ul.main-nav a:hover:after {
      background-color: #0db1ee; }

.main-nav-demos {
  list-style: none; }
  .main-nav-demos li {
    padding-left: 20px; }
    @media screen and (min-width: 40em) {
      .main-nav-demos li {
        padding-left: 70px; } }
  .main-nav-demos a {
    font-size: 1.125rem;
    line-height: 1.875rem;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    transition: all .2s;
    position: relative; }
    @media screen and (min-width: 22em) {
      .main-nav-demos a {
        font-size: 1.375rem;
        line-height: 1.875rem; } }
    .main-nav-demos a:after {
      position: absolute;
      content: '';
      width: 0;
      right: 0;
      transition: width .5s, background-color .2s;
      background-color: #fff;
      height: 4px;
      bottom: -5px; }
    .main-nav-demos a:hover {
      color: #0db1ee; }
      .main-nav-demos a:hover:after {
        background-color: #0db1ee; }

.main-nav-demos.nav-demos-white a {
  color: #000; }
  .main-nav-demos.nav-demos-white a:hover {
    color: #0db1ee; }

.main-nav-demos {
  opacity: 0;
  position: absolute;
  right: 0px;
  top: 50px;
  transition: all .2s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 43.75em) {
    .main-nav-demos {
      top: 0;
      right: 40px; } }
  @media screen and (min-width: 50em) {
    .main-nav-demos {
      top: 10px; } }

.main-nav-demos.visible {
  opacity: 1;
  right: 0px; }
  @media screen and (min-width: 43.75em) {
    .main-nav-demos.visible {
      right: 70px; } }

.hamburger.main-mobile-nav {
  display: block;
  position: relative;
  z-index: 9999; }
  @media screen and (min-width: 50em) {
    .hamburger.main-mobile-nav {
      display: none; } }

.mobile-nav-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: -150vh;
  width: 100%;
  height: 100vh;
  background-color: #000;
  left: 0;
  padding: 30px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  transition: top .6s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-y: auto; }
  .mobile-nav-wrap.visible {
    top: 0; }
  @media screen and (min-width: 50em) {
    .mobile-nav-wrap {
      display: none; } }

.mobile-nav {
  list-style: none;
  display: block;
  font-size: 2.25rem;
  line-height: 2.875rem;
  text-align: center;
  padding-top: 100px; }
  .mobile-nav li {
    padding-top: 40px; }
  .mobile-nav li:first-child {
    padding-top: 0; }
  .mobile-nav a {
    font-weight: 700;
    color: #fff;
    text-transform: uppercase; }

.nav-social-list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding-bottom: 60px; }
  .nav-social-list li {
    width: 33.333%;
    padding: 0;
    text-align: center; }
  .nav-social-list li:first-child {
    text-align: left; }
  .nav-social-list li:last-child {
    text-align: right; }
  .nav-social-list .icon-social {
    color: #fff; }
    .nav-social-list .icon-social:hover {
      color: #0db1ee; }
  .nav-social-list .icon-vimeo {
    height: 16px;
    width: 56px; }
  .nav-social-list .icon-facebook {
    height: 16px;
    width: 81px; }
  .nav-social-list .icon-youtube {
    height: 16px;
    width: 71px; }

.mobile-nav-wrap .nav-social-list {
  padding-top: 60px; }

.nav-wrap .hamburger {
  padding: 14px 14px 5px 14px;
  margin-right: -14px;
  position: absolute;
  right: 0;
  margin-top: -10px; }
  @media screen and (min-width: 50em) {
    .nav-wrap .hamburger {
      margin-top: 0; } }

.nav-wrap .hamburger.is-active {
  background-color: transparent;
  box-shadow: none; }

.nav-wrap .hamburger-inner::before {
  background-color: #fff;
  height: 3px; }

.nav-wrap .nav-demos-white .hamburger-inner::before {
  background-color: #000;
  height: 3px; }

.nav-wrap .hamburger-inner, .nav-wrap .hamburger-inner::after {
  background-color: #fff;
  height: 3px; }

.nav-wrap .nav-demos-white .hamburger-inner, .nav-wrap .nav-demos-white .hamburger-inner::after {
  background-color: #000;
  height: 3px; }

.nav-wrap .hamburger-box {
  height: 24px; }

.nav-wrap .hamburger--elastic .hamburger-inner::after {
  top: 22px; }

.nav-wrap .hamburger--elastic.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -22px, 0) rotate(-270deg);
          transform: translate3d(0, -22px, 0) rotate(-270deg); }

.nav-wrap.about-nav-active .hamburger-inner::before, .nav-wrap.contact-nav-active .hamburger-inner::before {
  background-color: #000;
  height: 3px; }

.nav-wrap.about-nav-active .hamburger-inner, .nav-wrap.about-nav-active .hamburger-inner::after, .nav-wrap.contact-nav-active .hamburger-inner, .nav-wrap.contact-nav-active .hamburger-inner::after {
  background-color: #fff;
  height: 3px; }

.nav-wrap.about-nav-active .hamburger-inner, .nav-wrap.about-nav-active .hamburger-inner::after, .nav-wrap.contact-nav-active .hamburger-inner, .nav-wrap.contact-nav-active .hamburger-inner::after {
  background-color: #000;
  height: 3px; }

.nav-wrap.about-nav-active .hamburger.is-active .hamburger-inner::before, .nav-wrap.contact-nav-active .hamburger.is-active .hamburger-inner::before {
  background-color: #fff;
  height: 3px; }

.nav-wrap.about-nav-active .hamburger.is-active .hamburger-inner, .nav-wrap.about-nav-active .hamburger.is-active .hamburger-inner::after, .nav-wrap.contact-nav-active .hamburger.is-active .hamburger-inner, .nav-wrap.contact-nav-active .hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
  height: 3px; }

.nav-wrap.about-nav-active .hamburger.is-active .hamburger-inner, .nav-wrap.about-nav-active .hamburger.is-active .hamburger-inner::after, .nav-wrap.contact-nav-active .hamburger.is-active .hamburger-inner, .nav-wrap.contact-nav-active .hamburger.is-active .hamburger-inner::after {
  background-color: #fff;
  height: 3px; }

.nav-wrap.about-nav-active .icon-logo.menu-visible, .nav-wrap.contact-nav-active .icon-logo.menu-visible {
  color: #fff; }

.hover-animation {
  transition: all .2s; }

.selected-works {
  padding: 60px 0 130px 0;
  width: 100%;
  position: relative; }
  .selected-works .tabs {
    padding-top: 40px;
    transition: all .3s;
    width: 100%;
    top: 0;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 4;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .selected-works .tabs.stuck {
      position: fixed;
      display: none; }
      @media screen and (min-width: 87.5em) {
        .selected-works .tabs.stuck {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          width: auto; } }
  .selected-works .tab-link {
    font-weight: 800;
    text-transform: uppercase;
    display: block;
    color: #fff;
    cursor: pointer;
    width: auto; }
    .selected-works .tab-link.current, .selected-works .tab-link:hover {
      color: #0db1ee; }
  .selected-works .embed-container {
    margin-top: 20px; }

.selected-works-list {
  width: calc(100% + 20px);
  display: none;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -10px;
  margin-right: -10px;
  color: #fff;
  list-style: none; }
  .selected-works-list.tab-content {
    padding-top: 90px; }
  .selected-works-list.current, .selected-works-list.tab-content.current {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 28.75em) {
      .selected-works-list.current, .selected-works-list.tab-content.current {
        padding-top: 50px; } }
  .selected-works-list.no-heading {
    padding-top: 126px; }
  .selected-works-list li {
    width: 100%;
    padding: 20px 10px 0 10px;
    display: inline-block; }
    @media screen and (min-width: 40.625em) {
      .selected-works-list li {
        width: 50%; } }
    @media screen and (min-width: 62.4375em) {
      .selected-works-list li {
        width: 33.333%; } }
  @media screen and (min-width: 62.4375em) {
    .selected-works-list--films li {
      width: 25%; } }
  .selected-works-list a {
    color: #fff;
    display: block; }

.page-template-template-selected-demos .selected-works-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.works-item {
  width: 100%;
  height: auto;
  position: relative;
  background-color: #000; }
  .works-item video {
    width: 100%;
    height: auto;
    opacity: .8;
    transition: all .3s;
    display: block; }
    .works-item video:hover {
      opacity: 1; }
  .works-item__info {
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    text-align: center;
    width: 100%; }
    .works-item__info p {
      font-weight: 800;
      text-transform: uppercase;
      display: block; }
    .works-item__info span {
      font-weight: 800;
      padding-top: 10px;
      display: block; }

.about {
  padding-top: 130px;
  padding-bottom: 30px;
  text-align: center; }
  @media screen and (min-width: 37.5em) {
    .about {
      padding-top: 230px; } }

.about__heading {
  text-transform: uppercase; }

.about__heading--expertise {
  padding-top: 80px; }

.about__content {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding-top: 80px; }
  .about__content p {
    padding-top: 20px; }
  .about__content p:first-of-type {
    padding-top: 0; }

.about__expertise {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  padding-top: 60px; }
  .about__expertise li {
    width: 100%; }
    @media screen and (min-width: 37.5em) {
      .about__expertise li {
        width: 33.333%; } }
    @media screen and (min-width: 62.4375em) {
      .about__expertise li {
        width: calc(50% - 300px); } }
  .about__expertise li:nth-child(3n+2) {
    width: 100%; }
    @media screen and (min-width: 37.5em) {
      .about__expertise li:nth-child(3n+2) {
        width: 33.333%; } }
    @media screen and (min-width: 62.4375em) {
      .about__expertise li:nth-child(3n+2) {
        max-width: 600px;
        padding-left: 20px;
        padding-right: 20px;
        width: 100%; } }
  .about__expertise li:nth-child(3n+1) {
    text-align: center; }
    @media screen and (min-width: 37.5em) {
      .about__expertise li:nth-child(3n+1) {
        text-align: left; } }
    @media screen and (min-width: 62.4375em) {
      .about__expertise li:nth-child(3n+1) {
        text-align: right; } }
  .about__expertise li:nth-child(3n+3) {
    text-align: center; }
    @media screen and (min-width: 37.5em) {
      .about__expertise li:nth-child(3n+3) {
        text-align: right; } }
    @media screen and (min-width: 62.4375em) {
      .about__expertise li:nth-child(3n+3) {
        text-align: left; } }

.contact {
  padding-top: 130px;
  padding-bottom: 30px;
  text-align: center; }
  @media screen and (min-width: 37.5em) {
    .contact {
      padding-top: 230px; } }

.contact__heading {
  text-transform: uppercase; }

.contact__content {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding-top: 80px; }
  .contact__content p {
    padding-top: 20px; }
  .contact__content p:first-of-type {
    padding-top: 0; }

ul.tabs {
  margin: 0px;
  padding: 0px;
  list-style: none;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 80px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  ul.tabs li {
    width: 50%;
    background: none;
    color: #222;
    display: inline-block;
    padding: 10px 15px;
    cursor: pointer; }
  ul.tabs li h3 {
    text-transform: uppercase;
    opacity: 0.5;
    transition: all 0.2s;
    font-size: 1.375rem;
    line-height: 1.375rem; }
    @media screen and (min-width: 37.5em) {
      ul.tabs li h3 {
        font-size: 2.25rem;
        line-height: 2.25rem; } }
    ul.tabs li h3:hover {
      opacity: 1; }
  ul.tabs li.current h3 {
    opacity: 1; }

.tab-content {
  display: none;
  padding-top: 50px; }
  .tab-content ul {
    list-style: none; }
    .tab-content ul li:first-child {
      text-transform: uppercase;
      padding-bottom: 50px; }
    .tab-content ul a {
      color: #0db1ee;
      font-weight: 700;
      text-decoration: none;
      transition: all 0.2s; }
    .tab-content ul a:hover {
      color: #000; }

.tab-content.current {
  display: inherit; }

.onsite {
  padding-top: 130px;
  padding-bottom: 30px;
  text-align: center;
  position: relative;
  z-index: 1000; }
  @media screen and (min-width: 37.5em) {
    .onsite {
      padding-top: 230px; } }

.onsite__heading {
  text-transform: uppercase; }

.onsite__content {
  width: 100%;
  margin: 0 auto;
  padding-top: 80px; }
  .onsite__content p {
    padding-top: 20px; }
  .onsite__content p:first-of-type {
    padding-top: 0; }

.onsite-slider {
  width: 100%;
  list-style: none; }
  .onsite-slider li {
    width: 100%;
    display: none; }
  .onsite-slider li.slider-visible {
    display: inline-block; }

.slider-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative; }
  @media screen and (min-width: 53.125em) {
    .slider-item {
      z-index: 1040; } }
  .slider-item__inner {
    width: 100%;
    height: 200px; }
    @media screen and (min-width: 31.25em) {
      .slider-item__inner {
        height: 300px; } }
    @media screen and (min-width: 53.125em) {
      .slider-item__inner {
        width: calc(50% - 10px);
        height: auto; } }
    .slider-item__inner video {
      width: 100%;
      height: auto;
      display: block; }

.slider-item__inner-video {
  display: none; }
  @media screen and (min-width: 53.125em) {
    .slider-item__inner-video {
      display: block; } }

.onsite__bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #fff; }
  @media screen and (min-width: 53.125em) {
    .onsite__bottom {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .onsite__bottom__content {
    width: 100%;
    text-align: left;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media screen and (min-width: 53.125em) {
      .onsite__bottom__content {
        width: 50%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
    .onsite__bottom__content p {
      padding-top: 20px;
      max-width: 578px; }
    .onsite__bottom__content p:first-of-type {
      padding-top: 50px; }
  .onsite__bottom__controls {
    text-align: center;
    width: 100%;
    padding-top: 30px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    @media screen and (min-width: 53.125em) {
      .onsite__bottom__controls {
        width: 50%;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        text-align: right; } }

.icon-arrow {
  margin-right: 5px; }

.icon-arrow.prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.team {
  padding-top: 130px;
  padding-bottom: 30px;
  text-align: center; }
  @media screen and (min-width: 37.5em) {
    .team {
      padding-top: 230px; } }

.team__heading {
  text-transform: uppercase; }

.team__content {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding-top: 80px; }
  .team__content p {
    padding-top: 20px; }
  .team__content p:first-of-type {
    padding-top: 0; }
  .team__content h4 {
    text-transform: uppercase; }
  .team__content a h4 {
    color: #0db1ee; }
    .team__content a h4:hover {
      color: #000; }

.team-members {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  padding-bottom: 130px; }
  @media screen and (min-width: 37.5em) {
    .team-members {
      padding-bottom: 230px; } }
  .team-members > li {
    width: 100%;
    padding-top: 80px; }
    @media screen and (min-width: 40.625em) {
      .team-members > li {
        width: 33.333%; } }
    @media screen and (min-width: 62.4375em) {
      .team-members > li {
        width: calc(50% - 300px); } }
  .team-members > li:nth-child(3n+2) {
    width: 100%; }
    @media screen and (min-width: 40.625em) {
      .team-members > li:nth-child(3n+2) {
        width: 33.333%; } }
    @media screen and (min-width: 62.4375em) {
      .team-members > li:nth-child(3n+2) {
        max-width: 600px;
        padding-left: 20px;
        padding-right: 20px;
        width: 100%; } }
  .team-members > li:nth-child(3n+1) {
    text-align: center; }
    @media screen and (min-width: 40.625em) {
      .team-members > li:nth-child(3n+1) {
        text-align: left; } }
    @media screen and (min-width: 62.4375em) {
      .team-members > li:nth-child(3n+1) {
        text-align: right; } }
  .team-members > li:nth-child(3n+3) {
    text-align: center; }
    @media screen and (min-width: 40.625em) {
      .team-members > li:nth-child(3n+3) {
        text-align: right; } }
    @media screen and (min-width: 62.4375em) {
      .team-members > li:nth-child(3n+3) {
        text-align: left; } }

.team-member {
  list-style: none;
  text-align: center;
  display: inline-block; }
  .team-member li:first-child {
    font-weight: 700;
    text-transform: uppercase; }
  .team-member li:nth-child(3) {
    padding-top: 10px; }
  .team-member a {
    font-weight: 700; }
    .team-member a:hover {
      color: #000; }

.mfp-bg {
  opacity: 1 !important;
  background-color: #000 !important; }

.mfp-content {
  max-width: 1800px;
  margin: 0 auto; }
  .mfp-content .modal-arrows {
    z-index: 9999;
    bottom: 40px; }
    @media screen and (min-width: 62.4375em) {
      .mfp-content .modal-arrows {
        bottom: -30px; } }

.white-popup {
  position: relative;
  background: #000;
  padding: 80px 20px 60px 20px;
  width: auto;
  max-width: 1800px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 1045 !important; }
  @media screen and (min-width: 73.125em) {
    .white-popup {
      padding: 20px 60px; } }
  .white-popup .modal-content__data {
    padding-top: 30px; }
    @media screen and (min-width: 62.4375em) {
      .white-popup .modal-content__data {
        padding-top: 0; } }

.mfp-close.modal-close {
  content: '';
  width: 110px;
  height: 20px;
  opacity: 1;
  right: 20px;
  z-index: 1;
  position: absolute;
  top: 30px;
  font-size: 1.375rem;
  line-height: 1.375rem;
  text-align: right;
  color: #fff !important;
  font-weight: 800;
  transition: all .2s; }
  @media screen and (min-width: 62.4375em) {
    .mfp-close.modal-close {
      top: -30px; } }
  @media screen and (min-width: 73.125em) {
    .mfp-close.modal-close {
      right: 60px; } }
  .mfp-close.modal-close:before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    background: url("../../images/icons/src/icon-arrow.svg") no-repeat;
    background-size: cover;
    width: 36px;
    height: 24px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    opacity: .5; }
  .mfp-close.modal-close:active {
    top: 30px; }
    @media screen and (min-width: 62.4375em) {
      .mfp-close.modal-close:active {
        top: -30px; } }
  .mfp-close.modal-close:focus {
    outline: 1; }
  .mfp-close.modal-close:hover {
    opacity: .7; }

.modal-arrows {
  position: absolute;
  bottom: -30px;
  content: '';
  opacity: 0.5;
  transition: opacity .2s; }
  .modal-arrows:hover {
    opacity: .3; }

.modal-arrows.right-icon {
  background: url("../../images/icons/src/icon-arrow.svg") no-repeat;
  background-size: cover;
  width: 36px;
  height: 24px;
  right: 20px; }
  @media screen and (min-width: 73.125em) {
    .modal-arrows.right-icon {
      right: 60px; } }

.modal-arrows.left-icon {
  background: url("../../images/icons/src/icon-arrow.svg") no-repeat;
  background-size: cover;
  width: 36px;
  height: 24px;
  right: 80px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }
  @media screen and (min-width: 73.125em) {
    .modal-arrows.left-icon {
      right: 120px; } }

/*

====== Zoom effect ======

*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */ }
  .mfp-zoom-in .mfp-with-anim {
    opacity: 0;
    transition: all 0.2s ease-in-out;
    -webkit-transform: scale(0.8);
            transform: scale(0.8); }
  .mfp-zoom-in.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out; }
  .mfp-zoom-in.mfp-ready .mfp-with-anim {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); }
  .mfp-zoom-in.mfp-ready.mfp-bg {
    opacity: 0.8; }
  .mfp-zoom-in.mfp-removing .mfp-with-anim {
    -webkit-transform: scale(0.8);
            transform: scale(0.8);
    opacity: 0; }
  .mfp-zoom-in.mfp-removing.mfp-bg {
    opacity: 0; }

.modal-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  color: #fff;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 62.4375em) {
    .modal-content {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .modal-content__data {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    color: #fff;
    padding-right: 20px;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-bottom: 30px; }
    @media screen and (min-width: 62.4375em) {
      .modal-content__data {
        width: 33.333%;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        padding-bottom: 0; } }
    .modal-content__data p {
      padding-top: 20px; }
    .modal-content__data h5 {
      color: #fff;
      padding-bottom: 20px; }
  .modal-content__video {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    @media screen and (min-width: 62.4375em) {
      .modal-content__video {
        width: 66.666%;
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2; } }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: 100%; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.details-list {
  list-style: none;
  display: block;
  padding-top: 40px; }
  .details-list p {
    padding-top: 0; }

.modal-content__intro {
  width: 100%;
  color: #fff; }
  @media screen and (min-width: 62.4375em) {
    .modal-content__intro {
      width: 33.333%;
      padding-right: 20px; } }
  .modal-content__intro h5 {
    color: #fff; }

.modal-content__intro p:first-of-type {
  padding-top: 60px; }

.modal-content__intro p {
  padding-top: 20px; }

.modal-content__form {
  width: 100%; }
  @media screen and (min-width: 62.4375em) {
    .modal-content__form {
      width: 66.666%; } }

.contact-modal-wrap {
  padding: 60px 20px; }
  @media screen and (min-width: 62.4375em) {
    .contact-modal-wrap {
      padding: 80px 60px; } }

.gform_wrapper {
  margin: 0 !important; }

.gform_wrapper .gform_footer {
  padding: 0px !important;
  margin: 0 !important;
  clear: both;
  width: 100% !important;
  text-align: right; }
  @media screen and (min-width: 62.4375em) {
    .gform_wrapper .gform_footer {
      width: 50% !important; } }

.frost-form label {
  display: none !important; }

.frost-form .gform_body {
  padding-bottom: 0; }

.frost-form .gform_body ul li:first-child, .frost-form .gform_body ul li:nth-child(5) {
  margin-top: 0; }

.frost-form .gform_fields {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100% !important;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative; }

.frost-form .form-field {
  width: 100% !important; }
  @media screen and (min-width: 62.4375em) {
    .frost-form .form-field {
      width: 50% !important; } }
  .frost-form .form-field input {
    background-color: #171717 !important;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid #fff;
    color: #fff;
    padding: 6px 10px 4px 10px !important; }
  .frost-form .form-field input::-webkit-input-placeholder {
    font-weight: 700;
    opacity: 1 !important; }
  .frost-form .form-field input:-ms-input-placeholder {
    font-weight: 700;
    opacity: 1 !important; }
  .frost-form .form-field input::placeholder {
    font-weight: 700;
    opacity: 1 !important; }

.frost-form .form-text {
  width: 100% !important;
  position: relative; }
  @media screen and (min-width: 62.4375em) {
    .frost-form .form-text {
      width: 50% !important;
      position: absolute;
      top: 0;
      right: 0; } }
  .frost-form .form-text textarea {
    background-color: transparent;
    color: #fff;
    border: 0;
    padding: 10px 15px !important;
    height: 150px !important;
    transition: all .2s;
    position: relative;
    z-index: 3 !important; }
    @media screen and (min-width: 62.4375em) {
      .frost-form .form-text textarea {
        height: 305px !important; } }

@-webkit-keyframes blink {
  50% {
    opacity: 0; } }

@keyframes blink {
  50% {
    opacity: 0; } }
  .frost-form .form-text .ginput_container.ginput_container_textarea:before {
    position: absolute;
    top: 17px;
    left: 260px;
    content: '|';
    z-index: 2 !important;
    -webkit-animation: blink 1s step-start 0s infinite;
            animation: blink 1s step-start 0s infinite; }
  .frost-form .form-text .ginput_container.ginput_container_textarea.focus:before {
    display: none; }
  .frost-form .form-text textarea:focus, .frost-form .form-text textarea:active {
    background-color: #171717;
    border: 0;
    outline: none; }
    .frost-form .form-text textarea:focus::-webkit-input-placeholder, .frost-form .form-text textarea:active::-webkit-input-placeholder {
      color: #171717; }
    .frost-form .form-text textarea:focus:-ms-input-placeholder, .frost-form .form-text textarea:active:-ms-input-placeholder {
      color: #171717; }
    .frost-form .form-text textarea:focus::placeholder, .frost-form .form-text textarea:active::placeholder {
      color: #171717; }
  .frost-form .form-text textarea::-webkit-input-placeholder {
    transition: all .2s;
    opacity: 1 !important; }
  .frost-form .form-text textarea:-ms-input-placeholder {
    transition: all .2s;
    opacity: 1 !important; }
  .frost-form .form-text textarea::placeholder {
    transition: all .2s;
    opacity: 1 !important; }

.frost-form .ginput_container_fileupload input {
  width: 100% !important; }

.frost-form .gform_button {
  background-color: transparent;
  color: #fff;
  border: 0;
  font-size: 2.25rem !important;
  font-weight: 700;
  transition: all .2s; }

.frost-form .gform_button:hover {
  opacity: .7; }

.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
  background-color: #000 !important;
  margin-bottom: 0px !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-bottom: 0px !important;
  padding-top: 0px !important; }

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper li.gfield_error textarea {
  border-bottom: 2px solid red !important;
  border-top: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important; }

.gform_wrapper li.gfield_error {
  padding-right: 16px !important; }

.gform_wrapper li.gfield.gfield_error.gfield_contains_required div.ginput_container, .gform_wrapper li.gfield.gfield_error.gfield_contains_required label.gfield_label {
  margin-top: 8px !important; }

.gform_wrapper .validation_message {
  color: red !important; }

.gform_wrapper .field_description_below .gfield_description {
  padding-top: 0px !important; }

.gform_wrapper div.validation_error {
  color: red !important;
  font-size: 1em;
  font-weight: 700;
  margin-bottom: 25px;
  border-top: 2px solid red !important;
  border-bottom: 2px solid red !important;
  padding: 16px 0;
  clear: both;
  width: 100%;
  text-align: center; }

.single-works-wrap {
  position: relative;
  z-index: 1048;
  color: #fff; }

.works-back {
  text-align: right;
  padding-bottom: 10px;
  padding-top: 10px; }

.works-back-btn {
  position: relative;
  display: inline-block;
  font-size: 1.375rem;
  line-height: 1.375rem;
  font-weight: 800;
  color: #fff;
  transition: opacity .2s;
  padding: 20px;
  margin: -20px; }
  .works-back-btn:before {
    content: '';
    position: absolute;
    top: 20px;
    left: -30px;
    background: url("../../images/icons/src/icon-arrow.svg") no-repeat;
    background-size: cover;
    width: 36px;
    height: 24px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    opacity: .5; }
  .works-back-btn:hover {
    opacity: .7; }

.works-nav {
  display: none;
  width: 100%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding-top: 30px;
  padding-bottom: 30px; }
  .works-nav .works-nav__left {
    margin-right: 20px; }
  .works-nav .icon-arrow {
    margin-right: -10px; }
  @media screen and (min-width: 62.4375em) {
    .works-nav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }

.works-nav.works-nav--mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 62.4375em) {
    .works-nav.works-nav--mobile {
      display: none; } }

.comments {
  padding-top: 130px;
  padding-bottom: 30px;
  text-align: center;
  width: 100%;
  max-width: 600px;
  margin: 0 auto; }
  @media screen and (min-width: 37.5em) {
    .comments {
      padding-top: 230px; } }
  .comments p {
    padding-top: 20px; }
  .comments p:first-of-type {
    padding-top: 80px; }

.comments__heading {
  text-transform: uppercase; }

footer {
  background-color: #fff; }
  footer .content-wrap {
    text-align: center;
    padding-bottom: 60px; }

footer.footer-demos {
  padding-top: 130px; }
  @media screen and (min-width: 37.5em) {
    footer.footer-demos {
      padding-top: 230px; } }

.social-list {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 80px;
  padding-bottom: 80px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .social-list li {
    padding: 20px 0px;
    width: 100%; }
    @media screen and (min-width: 40.625em) {
      .social-list li {
        width: 33.333%;
        padding: 0 35px; } }

footer.footer-works {
  padding-top: 0px;
  background-color: #000; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9zZXR0aW5ncy52YXJpYWJsZXMuc2NzcyIsIl90b29scy5taXhpbnMuc2NzcyIsIl9iYXNlLm5vcm1hbGl6ZS5zY3NzIiwiZ2xvYmFsLmNzcyIsIl9iYXNlLnJlc2V0LnNjc3MiLCJfYmFzZS5ib2R5LnNjc3MiLCJfdG9vbHMudW5pdHMuc2NzcyIsIl9jb21wb25lbnQuZ3Jhdml0eS1yZXNldC5zY3NzIiwiX2NvbXBvbmVudC53cmFwLnNjc3MiLCJfY29tcG9uZW50Lmljb25zLnNjc3MiLCJfY29tcG9uZW50LmhlYWRlci5zY3NzIiwiX2NvbXBvbmVudC5uYXYuc2NzcyIsIl9jb21wb25lbnQuYW5pbWF0aW9ucy5zY3NzIiwiX2NvbXBvbmVudC5zZWxlY3RlZC13b3Jrcy5zY3NzIiwiX2NvbXBvbmVudC5hYm91dC5zY3NzIiwiX2NvbXBvbmVudC5jb250YWN0LnNjc3MiLCJfY29tcG9uZW50Lm9uc2l0ZS5zY3NzIiwiX2NvbXBvbmVudC50ZWFtLnNjc3MiLCJfY29tcG9uZW50Lm1vZGFsLnNjc3MiLCJfY29tcG9uZW50LnNpbmdsZS13b3Jrcy5zY3NzIiwiX2NvbXBvbmVudC5jb21tZW50cy5zY3NzIiwiX2NvbXBvbmVudC5mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7NkNBRTZDO0FDRjdDOzs2Q0FFNkM7QUNGN0M7OzZDQUU2QztBQUU3Qyw0RUFBNEU7QUFFNUU7OztHQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUg7Ozs7Ozs7Ozs7OztFQVdVLE9BQU87RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7O0dBRUc7QUFFSDs7OztFQUlFLHNCQUFxQixFQUN0Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UseUJBQXdCLEVBQ3pCOztBQUVEOzs7R0FHRztBQUVIOztFQUVFLGNBQWEsRUFDZDs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHNDQUFxQztFQUFFLE9BQU8sRUFDL0M7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsaUJBQWdCLEVBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLG9CQUFtQjtFQUFFLE9BQU87RUFDNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQUVEOztHQUVHO0FBRUg7RUFDRSx1QkFBc0I7RUFDdEIsWUFBVyxFQUNaOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGlCQUFnQixFQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7Ozs7RUFJRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7O0VBSUUsY0FBYTtFQUFFLE9BQU87RUFDdEIsVUFBUztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7O0dBR0c7QUFFSDs7RUFDUSxPQUFPO0VBQ2Isa0JBQWlCLEVBQ2xCOztBQUVEOzs7R0FHRztBQUVIOztFQUNTLE9BQU87RUFDZCxxQkFBb0IsRUFDckI7O0FBRUQ7Ozs7R0FJRztBQUVIOzs7O0VBSUUsMkJBQTBCO0VBQUUsT0FBTyxFQUNwQzs7QUFFRDs7R0FFRztBQUVIOzs7O0VBSUUsbUJBQWtCO0VBQ2xCLFdBQVUsRUFDWDs7QUFFRDs7R0FFRztBQUVIOzs7O0VBSUUsK0JBQThCLEVBQy9COztBQUVEOztHQUVHO0FBRUg7RUFDRSwwQkFBeUI7RUFDekIsY0FBYTtFQUNiLCtCQUE4QixFQUMvQjs7QUFFRDs7Ozs7R0FLRztBQUVIO0VBQ0UsdUJBQXNCO0VBQUUsT0FBTztFQUMvQixlQUFjO0VBQUUsT0FBTztFQUN2QixlQUFjO0VBQUUsT0FBTztFQUN2QixnQkFBZTtFQUFFLE9BQU87RUFDeEIsV0FBVTtFQUFFLE9BQU87RUFDbkIsb0JBQW1CO0VBQUUsT0FBTyxFQUM3Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOzs7R0FHRztBQzFDSDs7RUQ4Q0UsdUJBQXNCO0VBQUUsT0FBTztFQUMvQixXQUFVO0VBQUUsT0FBTyxFQUNwQjs7QUFFRDs7R0FFRztBQzFDSDs7RUQ4Q0UsYUFBWSxFQUNiOztBQUVEOzs7R0FHRztBQzVDSDtFRCtDRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHFCQUFvQjtFQUFFLE9BQU8sRUFDOUI7O0FBRUQ7O0dBRUc7QUM1Q0g7O0VEZ0RFLHlCQUF3QixFQUN6Qjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGNBQWEsRUFDZDs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsY0FBYTtFQUFFLE9BQU8sRUFDdkI7O0FFdGFEOzs2Q0FFNkM7QUFFN0M7RUFDRSx1QkFBc0IsRUFDdkI7O0FBRUQ7O0VBRUUsZ0JBQWU7RUFDZixhQUFZLEVBQ2I7O0FBRUQ7Ozs7OztFQU1FLFVBQVE7RUFDUixXQUFTLEVBQ1Y7O0FDdEJEOzs2Q0FFNkM7QUFFN0M7RUFDRSx1QkxNVTtFS0xWLFlMS1U7RUtKVixvQkN5RXVEO0VEeEV2RCxzQkN3RXVEO0VEdkV2RCxtQ0xKd0IsRUtLekI7O0FBRUQ7RUFDRSxtQ0xSd0I7RUtTeEIsb0JDa0V1RDtFRGpFdkQsc0JDaUV1RDtFRGhFdkQsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsZUxQWTtFS1FaLHNCQUFxQixFQUt0QjtFQVBEO0lBS0ksc0JBQXFCLEVBQ3RCOztBQUdIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsbUJDK0N1RDtFRDlDdkQscUJDOEN1RDtFRDdDdkQsWUx2QlUsRUt3Qlg7O0FBRUQ7RUFDRSxvQkN5Q3VEO0VEeEN2RCxzQkN3Q3VEO0VEdkN2RCxZTDlCVSxFS29DWDtFSlVDO0lJbkJGO01BTUksbUJDb0NxRDtNRG5DckQscUJDbUNxRCxFRGpDeEQsRUFBQTs7QUFFRDtFQUNFLG1CQzhCdUQ7RUQ3QnZELHFCQzZCdUQ7RUQ1QnZELFlMekNVLEVLMENYOztBQUVEO0VBQ0Usb0JDd0J1RDtFRHZCdkQsc0JDdUJ1RDtFRHRCdkQsWUwvQ1UsRUtnRFg7O0FBRUQ7RUFDRSxvQkNrQnVEO0VEakJ2RCxzQkNpQnVEO0VEaEJ2RCxZTHJEVTtFS3NEVixpQkFBZ0I7RUFDaEIsMEJBQXlCLEVBQzFCOztBRTdERDs7O0VBR0UsWUFBVztFQUNYLHFCQUFvQixFQUNyQjs7QUFHRDtFQUNFLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLFdBQVUsRUFDWDs7QUFHRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2Qsb0JBQW1CLEVBQ3BCOztBQUNEO0VBRUksb0JBQW1CLEVBQ3BCOztBQUhIOzs7RUFRTSxZQUFXLEVBQ1o7O0FBVEw7OztFQVdNLFdBQVUsRUFDWDs7QUFaTDs7O0VBY00sV0FBVSxFQUNYOztBQU9MO0VBQ0Usc0JBQXFCO0VBQ3JCLHFCQUFvQixFQVNyQjtFQVJDO0lBQ0UsWUFBVztJQUNYLFdBQVUsRUFDWDtFQUNEO0lBQ0UsYUFBWTtJQUNaLFdBQVUsRUFDWDs7QUFHSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFHRDs7RUFFRSxpQkFBZ0I7RUFDaEIsV0FBVSxFQU1YO0VBVEQ7O0lBS0ksbUJBQWtCO0lBQ2xCLG1CQUFrQjtJQUNsQixVQUFTLEVBQ1Y7O0FBRUg7RUFFSSxpQkFBZ0IsRUFDakI7O0FBSUg7RUFFSSwrQkFBOEI7RUFDOUIscUJBQW9CLEVBQ3JCOztBQUlIO0VBQ0UscUJBQW9CLEVBQ3JCOztBQUNEO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUNEO0VBQ0UsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsa0JBQWlCLEVBQ2xCOztBQUdEO0VBQ0UsZ0JBQWU7RUFDZixzQkFBcUIsRUFDdEI7O0FBQ0Q7RUFFSSxlQUFjLEVBQ2Y7O0FBRUg7RUFDRSxvQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLHFCQUFvQixFQUNyQjs7QUFFRDtFQUVJLG9CQUFtQjtFQUNuQixvQkFBbUI7RUFDbkIsa0JBQWlCLEVBSWxCO0VBUkg7SUFNTSxrQkFBaUIsRUFDbEI7O0FBUEw7RUFhSSxrQkFBaUI7RUFDakIsaUJBQWdCLEVBQ2pCOztBQUdIO0VBQ0UsY0FBYSxFQUNkOztBQUdEO0VBQ0UsZUFBYyxFQVFmO0VBVEQ7SUFHSSxtQkFBa0I7SUFDbEIsWUFBVyxFQUNaO0VBTEg7SUFPSSxlQUFjLEVBQ2Y7O0FBRUg7RUFDRSxZQUFXO0VBQ1gsb0JBQW1CO0VBQ25CLFdBQVUsRUFRWDtFQVhEO0lBS0ksbUJBQWtCO0lBQ2xCLFlBQVcsRUFDWjtFQVBIO0lBU0ksZUFBYyxFQUNmOztBQUVIO0VBQ0UsYUFBWTtFQUNaLFdBQVUsRUFRWDtFQVZEO0lBSUksbUJBQWtCO0lBQ2xCLFlBQVcsRUFDWjtFQU5IO0lBUUksZUFBYyxFQUNmOztBQUVIO0VBQ0UsYUFBWTtFQUNaLFdBQVUsRUFDWDs7QUFFQTs7RUFFQyxZQUFXO0VBQ1gsWUFBVztFQUNYLG9CQUFtQjtFQUNuQixxQkFBb0I7RUFDcEIsV0FBVSxFQUNYOztBQUNEO0VBQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixxQkFBb0I7RUFDcEIsV0FBVSxFQUNYOztBQUNEO0VBQ0UsWUFBVztFQUNYLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIscUJBQW9CO0VBQ3BCLFdBQVUsRUFDWDs7QUFDRDtFQUNFLFlBQVc7RUFDWCxZQUFXO0VBQ1gsb0JBQW1CO0VBQ25CLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1g7O0FBQ0Q7RUFDRSxZQUFXO0VBQ1gsYUFBWTtFQUNaLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1g7O0FBQ0Q7RUFDRSxZQUFXO0VBQ1gsWUFBVztFQUNYLG9CQUFtQjtFQUNuQixxQkFBb0I7RUFDcEIsV0FBVSxFQUNYOztBQUNEO0VBQ0UsWUFBVztFQUNYLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIscUJBQW9CO0VBQ3BCLFdBQVUsRUFDWDs7QUFDRDtFQUNFLFlBQVc7RUFDWCxZQUFXO0VBQ1gscUJBQW9CO0VBQ3BCLFdBQVUsRUFDWDs7QUFDRDtFQUNFLFlBQVc7RUFDWCxhQUFZO0VBQ1oscUJBQW9CO0VBQ3BCLFdBQVUsRUFDWDs7QUFFRDtFQUNFO0lBVUksWUFBVyxFQUNaLEVBQUE7O0FBS0w7O0VBSU0sWUFBVztFQUNYLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1g7O0FBR0w7O0VBSU0sWUFBVztFQUNYLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1g7O0FBR0w7O0VBSU0sWUFBVztFQUNYLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1g7O0FBR0w7O0VBSU0sWUFBVztFQUNYLHFCQUFvQjtFQUNwQixXQUFVLEVBQ1g7O0FBR0w7O0VBSU0sc0JBQXFCO0VBQ3JCLG9CQUFtQjtFQUNuQixxQkFBb0IsRUFDckI7O0FBSUw7RUFDRTs7Ozs7Ozs7SUFPTSxZQUFXLEVBQ1osRUFBQTs7QUNuVVA7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1QlJNVSxFUUxYOztBQUVEO0VBQ0UsdUJSR1UsRVFGWDs7QUFFRDtFQUNFLGVBQWM7RUFDZCxZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLG1CUkFXO0VRQ1gsb0JSRFcsRVFPWjtFUGtDQztJTzdDRjtNQVFJLG1CUkhhO01RSWIsb0JSSmEsRVFNaEIsRUFBQTs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2Qsa0JBQWlCLEVBQ2xCOztBQzdCRDs7Ozs7Ozs7R0FRRztBQUVGO0VBQ0Usc0JBQXFCO0VBQUUsT0FBTztFQUM5QixtQkFBa0I7RUFBRSxPQUFPO0VBQzNCLFlBQVc7RUFBRSxPQUFPO0VBQ3BCLG1CQUFrQjtFQUFFLE9BQU87RUFDM0IsU0FBUTtFQUFFLGdCQUFnQjtFQUFDLE9BQU87RUFDbEMsdUJBQXNCO0VBQUUsT0FBTztFQUMvQixXQUFVO0VBQUUsT0FBTztFQUNuQixZVE5TLEVTT1Y7O0FBRUY7RUFDRSxhQUFZO0VBQ1osYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixjQUFhLEVBY2Q7RVJrQkM7SVFwQ0Y7TUFPSSxhQUFZO01BQ1osYUFBWSxFQVVmLEVBQUE7RUFsQkQ7SUFZSSxlVHBCVSxFU3FCWDtFQWJIO0lBZ0JJLFlUMUJRLEVTMkJUOztBQUdIO0VBQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixlQUFjO0VBQ2QsY0FBYTtFQUNiLGtCQUFpQjtFQUNqQixvQkFBbUI7RUFDbkIsbUJBQWtCLEVBTW5CO0VBYkQ7SUFVSSxZVHhDUTtJU3lDUixnQkFBZSxFQUNoQjs7QUFHSDtFQUNFLGVBQWM7RUFDZCxZQUFXLEVBQ1o7O0FBRUQ7RUFDRSxrQ0FBeUI7VUFBekIsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsWVR2RFUsRVM0RFg7RUFORDtJQUlJLGVUeERVLEVTeURYOztBQUdIO0VBQ0UsYUFBWTtFQUNaLGFBQVksRUFDYjs7QUFFRDtFQUNFLGFBQVk7RUFDWixhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxhQUFZO0VBQ1osYUFBWSxFQUNiOztBQUVEO0VBQ0UsYUFBWTtFQUNaLGFBQVksRUFDYjs7QUMzRkQ7RUFDRSxZQUFXO0VBQ1gsY0FBYTtFQUNiLHVCVlFVO0VVUFYsbUJWWVc7RVVYWCxvQlZXVztFVVZYLFlWTVU7RVVMVixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLHVCQUFxQjtNQUFyQixvQkFBcUI7VUFBckIsc0JBQXFCO0VBQ3JCLHNCQUFxQjtFQUNyQixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQXdCakI7RVRvQkM7SVN6REY7TUFnQkkscUJBQW9CLEVBcUJ2QixFQUFBO0VUb0JDO0lTekRGO01Bb0JJLG1CVkhhO01VSWIsb0JWSmEsRVVvQmhCLEVBQUE7RUFyQ0Q7SUF5QkksWVZiUTtJVWNSLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsb0JKb0RxRDtJSW5EckQscUJKbURxRDtJSWxEckQsbUJBQWtCLEVBTW5CO0lUcUJEO01TekRGO1FBaUNNLG1CSitDbUQ7UUk5Q25ELHNCSjhDbUQsRUk1Q3RELEVBQUE7O0FBR0g7RUFFSSxlQUFjO0VBQ2QsYUFBWTtFQUNaLGFBQVksRUFDYjs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsVUFBUztFQUNULGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCxhQUFZO0VBQ1oseUNBQWdDO1VBQWhDLGlDQUFnQztFQUNoQyxjQUFhLEVBS2Q7RVRKQztJU1ZGO01BWUksZUFBYyxFQUVqQixFQUFBOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsWUFBVztFQUNYLGFBQVk7RUFDWix5Q0FBZ0M7VUFBaEMsaUNBQWdDO0VBQ2hDLGVBQWMsRUFLZjtFVHBCQztJU01GO01BWUksY0FBYSxFQUVoQixFQUFBOztBQUVEO0VBQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixjQUFhLEVBS2Q7RVRuQ0M7SVNzQkY7TUFXSSxjQUFhLEVBRWhCLEVBQUE7O0FBRUQ7RUFDRSxZQUFXO0VBQ1gsbUJWaEZXO0VVaUZYLG9CVmpGVztFVWtGWCxZVnRGVTtFVXVGVixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixxQkFBb0I7RUFDcEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFzQmpCO0VUdkVDO0lTcUNGO01BZUksbUJWNUZhO01VNkZiLG9CVjdGYSxFVStHaEIsRUFBQTtFQWxDRDtJQW9CSSxtQkFBa0I7SUFDbEIsUUFBTztJQUNQLFVBQVM7SUFDVCxnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsYUFBWTtJQUNaLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFDNUI7RUE1Qkg7SUErQkksZ0JBQWU7SUFDZixpQkFBZ0IsRUFDakI7O0FBR0g7RUFDRSxhQUFZO0VBQ1oseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLDBCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLDhCQUE2QixFQThCOUI7RUFuQ0Q7SUFRSSwwQkFBeUI7SUFDekIsWVYvSFE7SVVnSVIsbUJBQWtCO0lBQ2xCLG1CQUFrQjtJQUNsQixxQkFBb0I7SUFDcEIsbUJBQWtCLEVBQ25CO0VBZEg7SUFpQkksbUJBQWtCO0lBQ2xCLGlCQUFnQjtJQUNoQixrQkFBaUI7SUFDakIsWUFBVztJQUNYLGFBQVksRUFDYjtFQXRCSDtJQXlCSSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLFlWakpRO0lVa0pSLGtCQUFpQjtJQUNqQixtQkFBa0IsRUFDbkI7RUE5Qkg7SUFpQ0ksa0JBQWlCLEVBQ2xCOztBQ3BLSDtFQUNFLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsbUJYV1c7RVdWWCxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDhCQUE2QjtFQUM3QixvQkFBbUI7RUFDbkIsV0FBVSxFQVVYO0VWcUNDO0lVekRGO01BYUksbUJYR1M7TVdGVCxXQUFVLEVBTWIsRUFBQTtFVnFDQztJVXpERjtNQWtCSSxtQlhEYSxFV0doQixFQUFBOztBQUVEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsWUFBVztFQUNYLGtCQUFpQjtFQUNqQixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLGNBQWE7RUFDYixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQkFBZ0I7RUFDaEIsY0FBYTtFQUNiLDBCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBNkNwQjtFVjFCQztJVXRCRjtNQU1JLHFCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhLEVBMENoQixFQUFBO0VBaEREO0lBVUksbUJBQWtCLEVBQ25CO0VBWEg7SUFjSSxvQkwrQnFEO0lLOUJyRCxzQkw4QnFEO0lLN0JyRCxpQkFBZ0I7SUFDaEIsMEJBQXlCO0lBQ3pCLFlYekNRO0lXMENSLHNCQUFxQjtJQUNyQixvQkFBbUI7SUFDbkIsbUJBQWtCLEVBb0JuQjtJQXpDSDtNQXdCTSxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLFNBQVE7TUFDUixTQUFRO01BQ1IsNENBQTJDO01BQzNDLHVCWHBETTtNV3FETixZQUFXO01BQ1gsYUFBWSxFQUNiO0lBaENMO01BbUNNLGVYekRRLEVXOERUO01BeENMO1FBc0NRLDBCWDVETSxFVzZEUDtFQXZDUDtJQTRDSSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFlBQVcsRUFDWjs7QUFHSDtFQUNFLHVCWDNFVSxFVzRFWDs7QUFFRDtFQUNFLDhCQUE2QixFQThCOUI7RUEvQkQ7SUFJSSxZWGxGUSxFV3VGVDtJQVRIO01BT00sZVhuRlEsRVdvRlQ7RUFSTDtJQWNNLFlYNUZNLEVXNkZQO0VBZkw7SUFrQk0sdUJYaEdNLEVXaUdQO0VBbkJMO0lBc0JNLGVYbEdRLEVXdUdUO0lBM0JMO01BeUJRLDBCWHJHTSxFV3NHUDs7QUFPUDtFQUNFLGlCQUFnQixFQTRDakI7RUE3Q0Q7SUFJSSxtQkFBa0IsRUFLbkI7SVYxRUQ7TVVpRUY7UUFPTSxtQkFBa0IsRUFFckIsRUFBQTtFQVRIO0lBWUksb0JMdERxRDtJS3VEckQsc0JMdkRxRDtJS3dEckQsaUJBQWdCO0lBQ2hCLDBCQUF5QjtJQUN6QixZWDlIUTtJVytIUixzQkFBcUI7SUFDckIsb0JBQW1CO0lBQ25CLG1CQUFrQixFQXlCbkI7SVY3R0Q7TVVpRUY7UUFzQk0sb0JMaEVtRDtRS2lFbkQsc0JMakVtRCxFS3NGdEQsRUFBQTtJQTVDSDtNQTJCTSxtQkFBa0I7TUFDbEIsWUFBVztNQUNYLFNBQVE7TUFDUixTQUFRO01BQ1IsNENBQTJDO01BQzNDLHVCWDlJTTtNVytJTixZQUFXO01BQ1gsYUFBWSxFQUNiO0lBbkNMO01Bc0NNLGVYbkpRLEVXd0pUO01BM0NMO1FBeUNRLDBCWHRKTSxFV3VKUDs7QUFLUDtFQUNFLFlYL0pVLEVXb0tYO0VBTkQ7SUFJSSxlWGhLVSxFV2lLWDs7QUFHSDtFQUNFLFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLFVBQVM7RUFDVCxvQkFBbUI7RUFDbkIscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRUFVZDtFVnhJQztJVXdIRjtNQVNJLE9BQU07TUFDTixZQUFXLEVBTWQsRUFBQTtFVnhJQztJVXdIRjtNQWNJLFVBQVMsRUFFWixFQUFBOztBQUVEO0VBQ0UsV0FBVTtFQUNWLFdBQVUsRUFLWDtFVmpKQztJVTBJRjtNQUtJLFlBQVcsRUFFZCxFQUFBOztBQU1EO0VBQ0UsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixjQUFhLEVBS2Q7RVYvSkM7SVV1SkY7TUFNSSxjQUFhLEVBRWhCLEVBQUE7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsWUFBVztFQUNYLFlBQVc7RUFDWCxjQUFhO0VBQ2IsdUJYck5VO0VXc05WLFFBQU87RUFDUCxjQUFhO0VBQ2IsMEJBQW1CO01BQW5CLHVCQUFtQjtVQUFuQixvQkFBbUI7RUFDbkIsMEJBQThCO01BQTlCLHVCQUE4QjtVQUE5QiwrQkFBOEI7RUFDOUIsb0JBQW1CO0VBQ25CLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0QixpQkFBZ0IsRUFTakI7RUF0QkQ7SUFnQkksT0FBTSxFQUNQO0VWbExEO0lVaUtGO01Bb0JJLGNBQWEsRUFFaEIsRUFBQTs7QUFFRDtFQUNFLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsbUJMckt1RDtFS3NLdkQsc0JMdEt1RDtFS3VLdkQsbUJBQWtCO0VBQ2xCLG1CQUFrQixFQWVuQjtFQXJCRDtJQVNJLGtCQUFpQixFQUNsQjtFQVZIO0lBYUksZUFBYyxFQUNmO0VBZEg7SUFpQkksaUJBQWdCO0lBQ2hCLFlYeFBRO0lXeVBSLDBCQUF5QixFQUMxQjs7QUFHSDtFQUNFLGlCQUFnQjtFQUNoQixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLFlBQVc7RUFDWCxxQkFBb0IsRUFzQ3JCO0VBMUNEO0lBT0ksZUFBYztJQUNkLFdBQVU7SUFDVixtQkFBa0IsRUFDbkI7RUFWSDtJQWFJLGlCQUFnQixFQUNqQjtFQWRIO0lBaUJJLGtCQUFpQixFQUNsQjtFQWxCSDtJQXFCSSxZWGxSUSxFV3VSVDtJQTFCSDtNQXdCTSxlWHBSUSxFV3FSVDtFQXpCTDtJQTZCSSxhQUFZO0lBQ1osWUFBVyxFQUNaO0VBL0JIO0lBa0NJLGFBQVk7SUFDWixZQUFXLEVBQ1o7RUFwQ0g7SUF1Q0ksYUFBWTtJQUNaLFlBQVcsRUFDWjs7QUFHSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLDRCQUEyQjtFQUMzQixvQkFBbUI7RUFDbkIsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixrQkFBaUIsRUFLbEI7RVYxUUM7SVVnUUY7TUFRSSxjQUFhLEVBRWhCLEVBQUE7O0FBRUQ7RUFDRSw4QkFBNkI7RUFDN0IsaUJBQWdCLEVBQ2pCOztBQUVEO0VBQ0UsdUJYL1RVO0VXZ1VWLFlBQVcsRUFDWjs7QUFFRDtFQUNFLHVCWHJVVTtFV3NVVixZQUFXLEVBQ1o7O0FBRUQ7RUFDRSx1Qlh6VVU7RVcwVVYsWUFBVyxFQUNaOztBQUVEO0VBQ0UsdUJYL1VVO0VXZ1ZWLFlBQVcsRUFDWjs7QUFFRDtFQUNFLGFBQVksRUFDYjs7QUFFRDtFQUNFLFVBQVMsRUFDVjs7QUFFRDtFQUNFLDREQUFtRDtVQUFuRCxvREFBbUQsRUFDcEQ7O0FBRUQ7RUFFSSx1QlhqV1E7RVdrV1IsWUFBVyxFQUNaOztBQUpIO0VBT0ksdUJYcldRO0VXc1dSLFlBQVcsRUFDWjs7QUFUSDtFQVlJLHVCWDNXUTtFVzRXUixZQUFXLEVBQ1o7O0FBZEg7RUFtQkksdUJYalhRO0VXa1hSLFlBQVcsRUFDWjs7QUFyQkg7RUF3QkksdUJYdFhRO0VXdVhSLFlBQVcsRUFDWjs7QUExQkg7RUE2QkksdUJYM1hRO0VXNFhSLFlBQVcsRUFDWjs7QUEvQkg7RUFrQ0ksWVhoWVEsRVdpWVQ7O0FDN1lIO0VBQ0Usb0JBQW1CLEVBQ3BCOztBQ0ZEO0VBQ0Usd0JBQXVCO0VBQ3ZCLFlBQVc7RUFDWCxtQkFBa0IsRUF5Q25CO0VBNUNEO0lBTUksa0JBQWlCO0lBQ2pCLG9CQUFtQjtJQUNuQixZQUFXO0lBQ1gsT0FBTTtJQUNOLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1Qsb0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQixXQUFVO0lBQ1YseUJBQXVCO1FBQXZCLHNCQUF1QjtZQUF2Qix3QkFBdUIsRUFXeEI7SUF6Qkg7TUFpQk0sZ0JBQWU7TUFDZixjQUFhLEVBTWQ7TVppQ0g7UVl6REY7VUFxQlEscUJBQWE7VUFBYixxQkFBYTtVQUFiLGNBQWE7VUFDYixZQUFXLEVBRWQsRUFBQTtFQXhCTDtJQTRCSSxpQkFBZ0I7SUFDaEIsMEJBQXlCO0lBQ3pCLGVBQWM7SUFDZCxZYm5CUTtJYW9CUixnQkFBZTtJQUNmLFlBQVcsRUFNWjtJQXZDSDtNQXFDTSxlYnhCUSxFYXlCVDtFQXRDTDtJQTBDSSxpQkFBZ0IsRUFDakI7O0FBR0g7RUFDRSx5QkFBd0I7RUFDeEIsY0FBYTtFQUNiLG9CQUFlO01BQWYsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLFlieENVO0VheUNWLGlCQUFnQixFQTZDakI7RUFwREQ7SUFVSSxrQkFBaUIsRUFDbEI7RUFYSDtJQWVJLHFCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhLEVBS2Q7SVpURDtNWVhGO1FBa0JNLGtCQUFpQixFQUVwQixFQUFBO0VBcEJIO0lBdUJJLG1CQUFrQixFQUNuQjtFQXhCSDtJQTJCSSxZQUFXO0lBQ1gsMEJBQXlCO0lBQ3pCLHNCQUFxQixFQVN0QjtJWjNCRDtNWVhGO1FBZ0NNLFdBQVUsRUFNYixFQUFBO0laM0JEO01ZWEY7UUFvQ00sZUFBYyxFQUVqQixFQUFBO0VaM0JEO0lZNkJDO01BR0csV0FBVSxFQUVaLEVBQUE7RUE3Q0o7SUFpREksWWJuRlE7SWFvRlIsZUFBYyxFQUNmOztBQUdIO0VBQ0UscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWEsRUFDZDs7QUFFRDtFQUNFLFlBQVc7RUFDWCxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLHVCYmpHVSxFYW9JWDtFQXZDRDtJQU9JLFlBQVc7SUFDWCxhQUFZO0lBQ1osWUFBVztJQUNYLG9CQUFtQjtJQUNuQixlQUFjLEVBS2Y7SUFoQkg7TUFjTSxXQUFVLEVBQ1g7RUFHSDtJQUNFLG1CQUFrQjtJQUNsQixhQUFZO0lBQ1osVUFBUztJQUNULG9DQUEyQjtZQUEzQiw0QkFBMkI7SUFDM0IsbUJBQWtCO0lBQ2xCLFlBQVcsRUFjWjtJQXBCQTtNQVNHLGlCQUFnQjtNQUNoQiwwQkFBeUI7TUFDekIsZUFBYyxFQUNmO0lBWkY7TUFlRyxpQkFBZ0I7TUFDaEIsa0JBQWlCO01BQ2pCLGVBQWMsRUFDZjs7QUM1SUw7RUFDRSxtQkFBa0I7RUFDbEIscUJBQW9CO0VBQ3BCLG1CQUFrQixFQUtuQjtFYmlEQztJYXpERjtNQU1JLG1CQUFrQixFQUVyQixFQUFBOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2Qsa0JBQWlCLEVBU2xCO0VBYkQ7SUFPSSxrQkFBaUIsRUFDbEI7RUFSSDtJQVdJLGVBQWMsRUFDZjs7QUFHSDtFQUNFLGlCQUFnQjtFQUNoQixxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLG9CQUFlO01BQWYsZ0JBQWU7RUFDZixZQUFXO0VBQ1gsa0JBQWlCLEVBb0RsQjtFQXpERDtJQVFJLFlBQVcsRUFTWjtJYk9EO01heEJGO1FBV00sZUFBYyxFQU1qQixFQUFBO0liT0Q7TWF4QkY7UUFlTSx5QkFBd0IsRUFFM0IsRUFBQTtFQWpCSDtJQW9CSSxZQUFXLEVBWVo7SWJSRDtNYXhCRjtRQXVCTSxlQUFjLEVBU2pCLEVBQUE7SWJSRDtNYXhCRjtRQTJCTSxpQkFBZ0I7UUFDaEIsbUJBQWtCO1FBQ2xCLG9CQUFtQjtRQUNuQixZQUFXLEVBRWQsRUFBQTtFQWhDSDtJQW1DSSxtQkFBa0IsRUFTbkI7SWJwQkQ7TWF4QkY7UUFzQ00saUJBQWdCLEVBTW5CLEVBQUE7SWJwQkQ7TWF4QkY7UUEwQ00sa0JBQWlCLEVBRXBCLEVBQUE7RUE1Q0g7SUErQ0ksbUJBQWtCLEVBU25CO0liaENEO01heEJGO1FBa0RNLGtCQUFpQixFQU1wQixFQUFBO0liaENEO01heEJGO1FBc0RNLGlCQUFnQixFQUVuQixFQUFBOztBQ3pGSDtFQUNFLG1CQUFrQjtFQUNsQixxQkFBb0I7RUFDcEIsbUJBQWtCLEVBS25CO0VkaURDO0ljekRGO01BTUksbUJBQWtCLEVBRXJCLEVBQUE7O0FBRUQ7RUFDRSwwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxrQkFBaUIsRUFTbEI7RUFiRDtJQU9JLGtCQUFpQixFQUNsQjtFQVJIO0lBV0ksZUFBYyxFQUNmOztBQUdIO0VBQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsWUFBVztFQUNYLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isa0JBQWlCO0VBQ2pCLG9CQUFlO01BQWYsZ0JBQWUsRUErQmhCO0VBdENEO0lBVUksV0FBVTtJQUNWLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsc0JBQXFCO0lBQ3JCLG1CQUFrQjtJQUNsQixnQkFBZSxFQUNoQjtFQWhCSDtJQW1CSSwwQkFBeUI7SUFDekIsYUFBWTtJQUNaLHFCQUFvQjtJQUNwQixvQlQ2QnFEO0lTNUJyRCxzQlQ0QnFELEVTbEJ0RDtJZExEO01jNUJGO1FBMEJNLG1CVHlCbUQ7UVN4Qm5ELHFCVHdCbUQsRVNsQnRELEVBQUE7SUFqQ0g7TUErQk0sV0FBVSxFQUNYO0VBaENMO0lBb0NJLFdBQVUsRUFDWDs7QUFHSDtFQUNFLGNBQWE7RUFDYixrQkFBaUIsRUFxQmxCO0VBdkJEO0lBS0ksaUJBQWdCLEVBaUJqQjtJQXRCSDtNQVFNLDBCQUF5QjtNQUN6QixxQkFBb0IsRUFDckI7SUFWTDtNQWFNLGVmckVRO01lc0VSLGlCQUFnQjtNQUNoQixzQkFBcUI7TUFDckIscUJBQW9CLEVBQ3JCO0lBakJMO01Bb0JNLFlmOUVNLEVlK0VQOztBQUlMO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQ2hHRDtFQUNFLG1CQUFrQjtFQUNsQixxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixjQUFhLEVBS2Q7RWYrQ0M7SWV6REY7TUFRSSxtQkFBa0IsRUFFckIsRUFBQTs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxlQUFjO0VBQ2Qsa0JBQWlCLEVBU2xCO0VBWkQ7SUFNSSxrQkFBaUIsRUFDbEI7RUFQSDtJQVVJLGVBQWMsRUFDZjs7QUFJSDtFQUNFLFlBQVc7RUFDWCxpQkFBZ0IsRUFVakI7RUFaRDtJQUtJLFlBQVc7SUFDWCxjQUFhLEVBQ2Q7RUFQSDtJQVVJLHNCQUFxQixFQUN0Qjs7QUFHSDtFQUNFLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsWUFBVztFQUNYLDBCQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLG1CQUFrQixFQXlCbkI7RWZqQkM7SWVaRjtNQU9JLGNBQWEsRUFzQmhCLEVBQUE7RUFuQkM7SUFDRSxZQUFXO0lBQ1gsY0FBYSxFQWdCZDtJZmhCRDtNZUZBO1FBS0ksY0FBYSxFQWFoQixFQUFBO0lmaEJEO01lRkE7UUFTSSx3QkFBdUI7UUFDdkIsYUFBWSxFQVFmLEVBQUE7SUFsQkE7TUFjRyxZQUFXO01BQ1gsYUFBWTtNQUNaLGVBQWMsRUFDZjs7QUFJTDtFQUNFLGNBQWEsRUFLZDtFZnpCQztJZW1CRjtNQUlJLGVBQWMsRUFFakIsRUFBQTs7QUFHRDtFQUNFLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsWUFBVztFQUNYLDBCQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCO0VBQzlCLDZCQUFzQjtFQUF0Qiw4QkFBc0I7TUFBdEIsMkJBQXNCO1VBQXRCLHVCQUFzQjtFQUN0Qix1QmhCOUVVLEVnQm9IWDtFZnZFQztJZTRCRjtNQVFJLCtCQUFtQjtNQUFuQiw4QkFBbUI7VUFBbkIsd0JBQW1CO2NBQW5CLG9CQUFtQixFQW1DdEIsRUFBQTtFQWhDQztJQUNFLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsNkJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVEsRUFlVDtJZnpERDtNZXVDQTtRQU1JLFdBQVU7UUFDViw2QkFBUTtZQUFSLGtCQUFRO2dCQUFSLFNBQVEsRUFXWCxFQUFBO0lBbEJBO01BV0csa0JBQWlCO01BQ2pCLGlCQUFnQixFQUNqQjtJQWJGO01BZ0JHLGtCQUFpQixFQUNsQjtFQUdIO0lBQ0UsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxrQkFBaUI7SUFDakIsNkJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVEsRUFPVDtJZnRFRDtNZTJEQTtRQU9JLFdBQVU7UUFDViw2QkFBUTtZQUFSLGtCQUFRO2dCQUFSLFNBQVE7UUFDUixrQkFBaUIsRUFFcEIsRUFBQTs7QUFHSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLGtDQUF5QjtVQUF6QiwwQkFBeUIsRUFDMUI7O0FDeElEO0VBQ0UsbUJBQWtCO0VBQ2xCLHFCQUFvQjtFQUNwQixtQkFBa0IsRUFLbkI7RWhCaURDO0lnQnpERjtNQU1JLG1CQUFrQixFQUVyQixFQUFBOztBQUVEO0VBQ0UsMEJBQXlCLEVBQzFCOztBQUVEO0VBQ0UsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2Qsa0JBQWlCLEVBcUJsQjtFQXpCRDtJQU9JLGtCQUFpQixFQUNsQjtFQVJIO0lBV0ksZUFBYyxFQUNmO0VBWkg7SUFlSSwwQkFBeUIsRUFDMUI7RUFoQkg7SUFtQkksZWpCcEJVLEVpQnlCWDtJQXhCSDtNQXNCTSxZakJ6Qk0sRWlCMEJQOztBQUlMO0VBQ0UsaUJBQWdCO0VBQ2hCLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWU7TUFBZixnQkFBZTtFQUNmLFlBQVc7RUFDWCxzQkFBcUIsRUF5RHRCO0VoQjlDQztJZ0JoQkY7TUFRSSxzQkFBcUIsRUFzRHhCLEVBQUE7RUE5REQ7SUFZSSxZQUFXO0lBQ1gsa0JBQWlCLEVBU2xCO0loQk5EO01nQmhCRjtRQWdCTSxlQUFjLEVBTWpCLEVBQUE7SWhCTkQ7TWdCaEJGO1FBb0JNLHlCQUF3QixFQUUzQixFQUFBO0VBdEJIO0lBeUJJLFlBQVcsRUFZWjtJaEJyQkQ7TWdCaEJGO1FBNEJNLGVBQWMsRUFTakIsRUFBQTtJaEJyQkQ7TWdCaEJGO1FBZ0NNLGlCQUFnQjtRQUNoQixtQkFBa0I7UUFDbEIsb0JBQW1CO1FBQ25CLFlBQVcsRUFFZCxFQUFBO0VBckNIO0lBd0NJLG1CQUFrQixFQVNuQjtJaEJqQ0Q7TWdCaEJGO1FBMkNNLGlCQUFnQixFQU1uQixFQUFBO0loQmpDRDtNZ0JoQkY7UUErQ00sa0JBQWlCLEVBRXBCLEVBQUE7RUFqREg7SUFvREksbUJBQWtCLEVBU25CO0loQjdDRDtNZ0JoQkY7UUF1RE0sa0JBQWlCLEVBTXBCLEVBQUE7SWhCN0NEO01nQmhCRjtRQTJETSxpQkFBZ0IsRUFFbkIsRUFBQTs7QUFHSDtFQUNFLGlCQUFnQjtFQUNoQixtQkFBa0I7RUFDbEIsc0JBQXFCLEVBa0J0QjtFQXJCRDtJQU1JLGlCQUFnQjtJQUNoQiwwQkFBeUIsRUFDMUI7RUFSSDtJQVdJLGtCQUFpQixFQUNsQjtFQVpIO0lBZUksaUJBQWdCLEVBS2pCO0lBcEJIO01Ba0JNLFlqQmhITSxFaUJpSFA7O0FDNUhMO0VBQ0Usc0JBQXFCO0VBQ3JCLGtDQUFtQyxFQUNwQzs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixlQUFjLEVBVWY7RUFaRDtJQUtJLGNBQWE7SUFDYixhQUFZLEVBS2I7SWpCeUNEO01pQnBERjtRQVNNLGNBQWEsRUFFaEIsRUFBQTs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixpQmxCVlU7RWtCV1YsNkJBQTRCO0VBQzVCLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsZUFBYztFQUNkLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIseUJBQXdCLEVBYXpCO0VqQmdCQztJaUJ0Q0Y7TUFZSSxtQkFBa0IsRUFVckIsRUFBQTtFQXRCRDtJQWdCSSxrQkFBaUIsRUFLbEI7SWpCaUJEO01pQnRDRjtRQW1CTSxlQUFjLEVBRWpCLEVBQUE7O0FBR0g7RUFDRSxZQUFXO0VBQ1gsYUFBWTtFQUNaLGFBQVk7RUFDWixXQUFVO0VBQ1YsWUFBVztFQUNYLFdBQVU7RUFDVixtQkFBa0I7RUFDbEIsVUFBUztFQUNULG9CWjRCdUQ7RVkzQnZELHNCWjJCdUQ7RVkxQnZELGtCQUFpQjtFQUNqQix1QkFBd0I7RUFDeEIsaUJBQWdCO0VBQ2hCLG9CQUFtQixFQXVDcEI7RWpCdkNDO0lpQmRGO01BaUJJLFdBQVUsRUFvQ2IsRUFBQTtFakJ2Q0M7SWlCZEY7TUFxQkksWUFBVyxFQWdDZCxFQUFBO0VBckREO0lBeUJJLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFFBQU87SUFDUCxtRUFBa0U7SUFDbEUsdUJBQXNCO0lBQ3RCLFlBQVc7SUFDWCxhQUFZO0lBQ1osa0NBQXlCO1lBQXpCLDBCQUF5QjtJQUN6QixZQUFXLEVBQ1o7RUFuQ0g7SUFzQ0ksVUFBUyxFQUtWO0lqQjdCRDtNaUJkRjtRQXlDTSxXQUFVLEVBRWIsRUFBQTtFQTNDSDtJQThDSSxXQUFVLEVBQ1g7RUEvQ0g7SUFrREksWUFBVyxFQUNaOztBQUlIO0VBQ0UsbUJBQWtCO0VBQ2xCLGNBQWE7RUFDYixZQUFXO0VBQ1gsYUFBWTtFQUNaLHdCQUF1QixFQUt4QjtFQVZEO0lBUUksWUFBVyxFQUNaOztBQUdIO0VBQ0UsbUVBQWtFO0VBQ2xFLHVCQUFzQjtFQUN0QixZQUFXO0VBQ1gsYUFBWTtFQUNaLFlBQVcsRUFLWjtFakIvREM7SWlCcURGO01BUUksWUFBVyxFQUVkLEVBQUE7O0FBRUQ7RUFDRSxtRUFBa0U7RUFDbEUsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxhQUFZO0VBQ1osWUFBVztFQUNYLGtDQUF5QjtVQUF6QiwwQkFBeUIsRUFLMUI7RWpCNUVDO0lpQmlFRjtNQVNJLGFBQVksRUFFZixFQUFBOztBQUdEOzs7O0VBSUU7QUFDRjtFQUVFLGlCQUFpQjtFQVlqQixnQkFBZ0I7RUFXaEIsaUJBQWlCLEVBYWxCO0VBdENEO0lBSUksV0FBVTtJQUNWLGlDQUFnQztJQUNoQyw4QkFBcUI7WUFBckIsc0JBQXFCLEVBQ3RCO0VBUEg7SUFVSSxXQUFVO0lBQ1YsOEJBQTZCLEVBQzlCO0VBWkg7SUFpQk0sV0FBVTtJQUNWLDRCQUFtQjtZQUFuQixvQkFBbUIsRUFDcEI7RUFuQkw7SUFxQk0sYUFBWSxFQUNiO0VBdEJMO0lBNkJNLDhCQUFxQjtZQUFyQixzQkFBcUI7SUFDckIsV0FBVSxFQUNYO0VBL0JMO0lBaUNNLFdBQVUsRUFDWDs7QUFNTDtFQUNFLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsWUFBVztFQUNYLFlsQjVLVTtFa0I2S1YsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBNEN2QjtFakI1S0M7SWlCNEhGO01BT0ksK0JBQW1CO01BQW5CLDhCQUFtQjtVQUFuQix3QkFBbUI7Y0FBbkIsb0JBQW1CLEVBeUN0QixFQUFBO0VBdENDO0lBQ0UsWUFBVztJQUNYLHFCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsNkJBQXNCO0lBQXRCLDhCQUFzQjtRQUF0QiwyQkFBc0I7WUFBdEIsdUJBQXNCO0lBQ3RCLHNCQUF5QjtRQUF6QixtQkFBeUI7WUFBekIsMEJBQXlCO0lBQ3pCLFlsQnhMUTtJa0J5TFIsb0JsQnJMUztJa0JzTFQsNkJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVE7SUFDUixxQkFBb0IsRUFnQnJCO0lqQjlKRDtNaUJzSUE7UUFXSSxlQUFjO1FBQ2QsNkJBQVE7WUFBUixrQkFBUTtnQkFBUixTQUFRO1FBQ1Isa0JBQWlCLEVBV3BCLEVBQUE7SUF4QkE7TUFpQkcsa0JBQWlCLEVBQ2xCO0lBbEJGO01BcUJHLFlsQnhNTTtNa0J5TU4scUJBQW9CLEVBQ3JCO0VBR0g7SUFDRSxZQUFXO0lBQ1gscUJBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SUFDYiw2QkFBc0I7SUFBdEIsOEJBQXNCO1FBQXRCLDJCQUFzQjtZQUF0Qix1QkFBc0I7SUFDdEIsc0JBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUI7SUFDekIsNkJBQVE7UUFBUixrQkFBUTtZQUFSLFNBQVEsRUFNVDtJakIzS0Q7TWlCZ0tBO1FBUUksZUFBYztRQUNkLDZCQUFRO1lBQVIsa0JBQVE7Z0JBQVIsU0FBUSxFQUVYLEVBQUE7O0FBR0g7RUFDRSxtQkFBa0I7RUFDbEIsdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGFBQVksRUFDYjs7QUFFRDs7O0VBR0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVksRUFDYjs7QUFFRDtFQUNFLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2Qsa0JBQWlCLEVBS2xCO0VBUkQ7SUFNSSxlQUFjLEVBQ2Y7O0FBS0g7RUFDRSxZQUFXO0VBQ1gsWWxCM1BVLEVrQnFRWDtFakJ4TkM7SWlCNE1GO01BS0ksZUFBYztNQUNkLG9CQUFtQixFQU10QixFQUFBO0VBWkQ7SUFVSSxZbEJuUVEsRWtCb1FUOztBQUdIO0VBR0ksa0JBQWlCLEVBQ2xCOztBQUpIO0VBT0ksa0JBQWlCLEVBQ2xCOztBQUdIO0VBQ0UsWUFBVyxFQUtaO0VqQjNPQztJaUJxT0Y7TUFJSSxlQUFjLEVBRWpCLEVBQUE7O0FBRUQ7RUFDRSxtQkFBa0IsRUFLbkI7RWpCblBDO0lpQjZPRjtNQUlJLG1CQUFrQixFQUVyQixFQUFBOztBQUlEO0VBQ0UscUJBQW9CLEVBQ3JCOztBQUVEO0VBQ0ksd0JBQXVCO0VBQ3ZCLHFCQUFvQjtFQUNwQixZQUFXO0VBQ1gsdUJBQXNCO0VBQ3RCLGtCQUFpQixFQUtwQjtFakJyUUM7SWlCMlBGO01BUU0sc0JBQXFCLEVBRTFCLEVBQUE7O0FBRUQ7RUFFSSx5QkFBd0IsRUFDekI7O0FBSEg7RUFNSSxrQkFBaUIsRUFDbEI7O0FBUEg7RUFVSSxjQUFhLEVBQ2Q7O0FBWEg7RUFjSSxnQ0FBd0I7RUFBeEIsZ0NBQXdCO0VBQXhCLHlCQUF3QjtFQUN4Qiw2QkFBc0I7RUFBdEIsOEJBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsdUJBQXNCO0VBQ3RCLG9CQUFlO01BQWYsZ0JBQWU7RUFDZixtQkFBa0IsRUFDbkI7O0FBbkJIO0VBc0JJLHVCQUFzQixFQW9CdkI7RWpCalREO0lpQnVRRjtNQXlCTSxzQkFBcUIsRUFpQnhCLEVBQUE7RUExQ0g7SUE2Qk0scUNBQW9DO0lBQ3BDLGNBQWE7SUFDYixlQUFjO0lBQ2QsZ0JBQWU7SUFDZiw4QmxCclZNO0lrQnNWTixZbEJ0Vk07SWtCdVZOLHNDQUFxQyxFQUN0QztFQXBDTDtJQXVDTSxpQkFBZ0I7SUFDaEIsc0JBQXFCLEVBQ3RCO0VBekNMO0lBdUNNLGlCQUFnQjtJQUNoQixzQkFBcUIsRUFDdEI7RUF6Q0w7SUF1Q00saUJBQWdCO0lBQ2hCLHNCQUFxQixFQUN0Qjs7QUF6Q0w7RUE2Q0ksdUJBQXNCO0VBQ3RCLG1CQUFrQixFQXlEbkI7RWpCOVdEO0lpQnVRRjtNQWlETSxzQkFBcUI7TUFDckIsbUJBQWtCO01BQ2xCLE9BQU07TUFDTixTQUFRLEVBbURYLEVBQUE7RUF2R0g7SUF3RE0sOEJBQTZCO0lBQzdCLFlsQjdXTTtJa0I4V04sVUFBUztJQUNULDhCQUE2QjtJQUM3Qix5QkFBd0I7SUFDeEIsb0JBQW1CO0lBQ25CLG1CQUFrQjtJQUNsQixzQkFBcUIsRUFLdEI7SWpCM1VIO01pQnVRRjtRQWtFUSx5QkFBd0IsRUFFM0IsRUFBQTs7QUFFRDtFQUNFO0lBQ0UsV0FBVSxFQUFBLEVBQUE7O0FBRmQ7RUFDRTtJQUNFLFdBQVUsRUFBQSxFQUFBO0VBeEVsQjtJQTZFTSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFlBQVc7SUFDWCxhQUFZO0lBQ1osc0JBQXFCO0lBQ3JCLG1EQUEwQztZQUExQywyQ0FBMEMsRUFDM0M7RUFuRkw7SUFzRk0sY0FBYSxFQUNkO0VBdkZMO0lBMEZNLDBCQUF5QjtJQUN6QixVQUFTO0lBQ1QsY0FBYSxFQUtkO0lBakdMO01BK0ZRLGVBQWMsRUFDZjtJQWhHUDtNQStGUSxlQUFjLEVBQ2Y7SUFoR1A7TUErRlEsZUFBYyxFQUNmO0VBaEdQO0lBb0dNLG9CQUFtQjtJQUNuQixzQkFBcUIsRUFDdEI7RUF0R0w7SUFvR00sb0JBQW1CO0lBQ25CLHNCQUFxQixFQUN0QjtFQXRHTDtJQW9HTSxvQkFBbUI7SUFDbkIsc0JBQXFCLEVBQ3RCOztBQXRHTDtFQTBHSSx1QkFBc0IsRUFDdkI7O0FBM0dIO0VBOEdJLDhCQUE2QjtFQUM3QixZbEJuYVE7RWtCb2FSLFVBQVM7RUFDVCw4QkFBa0M7RUFDbEMsaUJBQWdCO0VBQ2hCLG9CQUFtQixFQUNwQjs7QUFwSEg7RUF1SEksWUFBVyxFQUNaOztBQUtIO0VBQ0Usa0NBQW1DO0VBQ25DLDhCQUE2QjtFQUM3Qix5QkFBd0I7RUFDeEIsNEJBQTJCO0VBQzNCLCtCQUE4QjtFQUM5Qiw0QkFBMkIsRUFDNUI7O0FBRUQ7RUFDSSx3Q0FBdUM7RUFDdkMseUJBQXdCO0VBQ3hCLDBCQUF5QjtFQUN6QiwyQkFBMEIsRUFDN0I7O0FBRUQ7RUFDRSwrQkFBOEIsRUFDL0I7O0FBRUQ7RUFDSSwyQkFBMEIsRUFDN0I7O0FBRUQ7RUFDSSxzQkFBcUIsRUFDeEI7O0FBRUQ7RUFDSSw0QkFBMkIsRUFDOUI7O0FBRUQ7RUFDSSxzQkFBcUI7RUFDckIsZUFBYztFQUNkLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIscUNBQW9DO0VBQ3BDLHdDQUF1QztFQUN2QyxnQkFBZTtFQUNmLFlBQVc7RUFDWCxZQUFXO0VBQ1gsbUJBQWtCLEVBQ3JCOztBQ3hlRDtFQUNFLG1CQUFrQjtFQUNsQixjQUFhO0VBQ2IsWW5CU1UsRW1CUlg7O0FBRUQ7RUFDRSxrQkFBaUI7RUFDakIscUJBQW9CO0VBQ3BCLGtCQUFpQixFQUNsQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsb0JiaUV1RDtFYWhFdkQsc0JiZ0V1RDtFYS9EdkQsaUJBQWdCO0VBQ2hCLFluQk5VO0VtQk9WLHdCQUF1QjtFQUN2QixjQUFhO0VBQ2IsY0FBYSxFQWtCZDtFQTNCRDtJQVlJLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFlBQVc7SUFDWCxtRUFBa0U7SUFDbEUsdUJBQXNCO0lBQ3RCLFlBQVc7SUFDWCxhQUFZO0lBQ1osa0NBQXlCO1lBQXpCLDBCQUF5QjtJQUN6QixZQUFXLEVBQ1o7RUF0Qkg7SUF5QkksWUFBVyxFQUNaOztBQUdIO0VBQ0UsY0FBYTtFQUNiLFlBQVc7RUFDWCxzQkFBeUI7TUFBekIsbUJBQXlCO1VBQXpCLDBCQUF5QjtFQUN6QixrQkFBaUI7RUFDakIscUJBQW9CLEVBYXJCO0VBbEJEO0lBUUksbUJBQWtCLEVBQ25CO0VBVEg7SUFZSSxvQkFBbUIsRUFDcEI7RWxCR0Q7SWtCaEJGO01BZ0JJLHFCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhLEVBRWhCLEVBQUE7O0FBRUQ7RUFDRSxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCLEVBS3hCO0VsQlhDO0lrQklGO01BS0ksY0FBYSxFQUVoQixFQUFBOztBQ3BFRDtFQUNFLG1CQUFrQjtFQUNsQixxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsZUFBYyxFQWFmO0VuQnNDQztJbUJ6REY7TUFTSSxtQkFBa0IsRUFVckIsRUFBQTtFQW5CRDtJQWFJLGtCQUFpQixFQUNsQjtFQWRIO0lBaUJJLGtCQUFpQixFQUNsQjs7QUFHSDtFQUNFLDBCQUF5QixFQUMxQjs7QUN2QkQ7RUFDRSx1QnJCV1UsRXFCTFg7RUFQRDtJQUlJLG1CQUFrQjtJQUNsQixxQkFBb0IsRUFDckI7O0FBR0g7RUFDRSxtQkFBa0IsRUFLbkI7RXBCMENDO0lvQmhERjtNQUlJLG1CQUFrQixFQUVyQixFQUFBOztBQUVEO0VBQ0UsaUJBQWdCO0VBQ2hCLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsa0JBQWlCO0VBQ2pCLHFCQUFvQjtFQUNwQixvQkFBZTtNQUFmLGdCQUFlLEVBV2hCO0VBakJEO0lBU0ksa0JBQWlCO0lBQ2pCLFlBQVcsRUFNWjtJcEJ3QkQ7TW9CeENGO1FBYU0sZUFBYztRQUNkLGdCQUFlLEVBRWxCLEVBQUE7O0FBR0g7RUFDRSxpQkFBZ0I7RUFDaEIsdUJyQjNCVSxFcUI0QlgiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgc2V0dGluZ3MuVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gRm9udHNcbiRmZjogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuXG4vLyBDb2xvcnNcbiRjb2xvci1wcmltYXJ5OiAjRkYyOTQyO1xuJGNvbG9yLXNlY29uZGFyeTogIzBFNjRGRjtcblxuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJGJsdWU6ICMwZGIxZWU7XG5cbi8vIExheW91dFxuJGd1dHRlcjogMjBweDtcbiRndXR0ZXItbHJnOiA2MHB4O1xuXG4vLyBBbmltYXRpb25zXG4kdHJhbnNpdGlvbi1pbjogLjFzO1xuJHRyYW5zaXRpb24tb3V0OiAuM3M7XG5cbi8vIFotSW5kZXggTWFwXG4kemluZGV4OiAoXG4gIGhlYWRlcjogMTAwMCxcbiAgbW9kYWw6IDIwMDBcbik7XG5cbi8vIEN1cnNvclxuJGN1cnNvcjogdXJsKC4uLy4uL2ltYWdlcy9tb3VzZS5wbmcpIDE2IDE2LCBhdXRvO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICB0b29scy5NSVhJTlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gdW4tY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICAgIGRpc3BsYXk6IGF1dG87XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbn1cblxuLy8gSW1hZ2UgUmVwbGFjZW1lbnRcblxuQG1peGluIGlyKCkge1xuICBib3JkZXI6IDA7XG4gIGZvbnQ6IDAvMCBhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAvLyBiYWNrZ3JvdW5kOiB1cmwodGVzdC5wbmcpO1xuICAvLyB3aWR0aDogMzAwcHg7XG4gIC8vIGhlaWdodDogNzVweDtcbn1cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuLy8gaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuXG5AbWl4aW4gdmlzdWFsbHloaWRkZW4oKSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cblxuXG4vLyAgIyMgTWVkaWEgcXVlcnkgYW5kIG9yaWV0YXRpb24gbWl4aW5zXG4vLyAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICBodHRwOi8vYWx3YXlzdHdpc3RlZC5jb20vcG9zdC5waHA/cz0yMDEzLTA0LTAxLW15LW1lZGlhLXF1ZXJ5LW1peGluXG5cblxuQG1peGluIG1xKCRwb2ludCwgJHF1ZXJ5MTogbWluLCAkcXVlcnkyOiB3aWR0aCkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoI3skcXVlcnkxfS0jeyRxdWVyeTJ9OiBzdHJpcC11bml0KCRwb2ludCkgLyAxNiArZW0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gb3JpZW50KCRvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIEBtZWRpYSAob3JpZW50YXRpb24gOiAkb3JpZW50YXRpb24pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBzZXR0aW5ncy5OT1JNQUxJWkVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiEgbm9ybWFsaXplLmNzcyB2NC4xLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscywgLyogMSAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sIC8qIDIgKi9cbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUsIC8qIDEgKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9udCB3ZWlnaHQgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0O1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgc2V0dGluZ3MuVkFSSUFCTEVTXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgdG9vbHMuTUlYSU5TXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgc2V0dGluZ3MuTk9STUFMSVpFXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvbnQgd2VpZ2h0IHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGdlbmVyaWMuUkVTRVRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaW1nLFxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnAsIGJsb2NrcXVvdGUsIHByZSxcbmRsLCBkZCwgb2wsIHVsLFxuZm9ybSwgZmllbGRzZXQsIGxlZ2VuZCxcbnRhYmxlLCB0aCwgdGQsIGNhcHRpb24sXG5ociwgZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgYmFzZS5CT0RZXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7IH1cblxucCB7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmEge1xuICBjb2xvcjogIzBkYjFlZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5oMSwgaDIsIGgzLCBoNCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICBjb2xvcjogI2ZmZjsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgY29sb3I6ICMwMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzEuMjVlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtOyB9IH1cblxuaDMge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuICBjb2xvcjogIzAwMDsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgY29sb3I6ICMwMDA7IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5nZm9ybV9oZWFkaW5nLFxuLmdmb3JtX2JvZHksXG4uZ2Zvcm1fZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG5cbnVsLmdmb3JtX2ZpZWxkcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAtMTVweDtcbiAgcGFkZGluZzogMDsgfVxuXG5saS5nZmllbGQge1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDAgMHB4IDIwcHg7IH1cblxuLmdpbnB1dF9jb250YWluZXIgc3BhbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmdpbnB1dF9jb250YWluZXIgaW5wdXQubGFyZ2UsXG4uZ2lucHV0X2NvbnRhaW5lciBzZWxlY3QubGFyZ2UsXG4uZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYS5sYXJnZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5naW5wdXRfY29udGFpbmVyIGlucHV0Lm1lZGl1bSxcbi5naW5wdXRfY29udGFpbmVyIHNlbGVjdC5tZWRpdW0sXG4uZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYS5tZWRpdW0ge1xuICB3aWR0aDogNjYlOyB9XG5cbi5naW5wdXRfY29udGFpbmVyIGlucHV0LnNtYWxsLFxuLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LnNtYWxsLFxuLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWEuc21hbGwge1xuICB3aWR0aDogMzMlOyB9XG5cbmxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgLmxlZnRfbGFiZWwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5yaWdodF9sYWJlbCBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUlOyB9XG5cbi5nZmllbGRfcmVxdWlyZWQge1xuICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuXG51bC5nZmllbGRfY2hlY2tib3gsXG51bC5nZmllbGRfcmFkaW8ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsLmdmaWVsZF9jaGVja2JveCBpbnB1dCxcbiAgdWwuZ2ZpZWxkX3JhZGlvIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDsgfVxuXG51bC5nZmllbGRfcmFkaW8gaW5wdXQge1xuICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbi5nc2VjdGlvbiBoMiB7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBibGFjaztcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxuLmdmX3Byb2dyZXNzYmFyX3dyYXBwZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4uZ2ZfcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiBncmF5OyB9XG5cbi5nZl9wcm9ncmVzc2Jhcl9wZXJjZW50YWdlIHtcbiAgYmFja2dyb3VuZDogcmVkO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmdmaWVsZF90aW1lX2hvdXIsIC5nZmllbGRfdGltZV9taW51dGUsIC5nZmllbGRfdGltZV9hbXBtIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmdmaWVsZF90aW1lX2hvdXIgbGFiZWwsIC5nZmllbGRfdGltZV9taW51dGUgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnZhbGlkYXRpb25fZXJyb3Ige1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cblxubGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciB7XG4gIGJhY2tncm91bmQ6ICNGRkRGRTA7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5saS5nZmllbGQgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdpbnB1dF9mdWxsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmdpbnB1dF9mdWxsIGlucHV0LCAuZ2lucHV0X2Z1bGwgc2VsZWN0LCAuZ2lucHV0X2Z1bGwgdGV4dGFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZ2lucHV0X2Z1bGwgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5naW5wdXRfbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB3aWR0aDogNTAlOyB9XG4gIC5naW5wdXRfbGVmdCBpbnB1dCwgLmdpbnB1dF9sZWZ0IHNlbGVjdCwgLmdpbnB1dF9sZWZ0IHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdpbnB1dF9sZWZ0IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2lucHV0X3JpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNTAlOyB9XG4gIC5naW5wdXRfcmlnaHQgaW5wdXQsIC5naW5wdXRfcmlnaHQgc2VsZWN0LCAuZ2lucHV0X3JpZ2h0IHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdpbnB1dF9yaWdodCBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdpbnB1dF9yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDUwJTsgfVxuXG5MYXlvdXQgQ29sdW1uc1xubGkuZ2ZfbGVmdF9oYWxmIHtcbiAgY2xlYXI6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDUwJTsgfVxuXG5saS5nZl9yaWdodF9oYWxmIHtcbiAgY2xlYXI6IG5vbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiA1MCU7IH1cblxubGkuZ2ZfbGVmdF90aGlyZCB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiAzMyU7IH1cblxubGkuZ2ZfbWlkZGxlX3RoaXJkIHtcbiAgY2xlYXI6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDM0JTsgfVxuXG5saS5nZl9yaWdodF90aGlyZCB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMzMlOyB9XG5cbmxpLmdmX2ZpcnN0X3F1YXJ0ZXIge1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMjUlOyB9XG5cbmxpLmdmX3NlY29uZF9xdWFydGVyIHtcbiAgY2xlYXI6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDI1JTsgfVxuXG5saS5nZl90aGlyZF9xdWFydGVyIHtcbiAgY2xlYXI6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDI1JTsgfVxuXG5saS5nZl9mb3VydGhfcXVhcnRlciB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMjUlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIGxpLmdmX2xlZnRfaGFsZiwgbGkuZ2ZfcmlnaHRfaGFsZiwgbGkuZ2ZfbGVmdF90aGlyZCwgbGkuZ2ZfbWlkZGxlX3RoaXJkLCBsaS5nZl9yaWdodF90aGlyZCwgbGkuZ2ZfZmlyc3RfcXVhcnRlciwgbGkuZ2Zfc2Vjb25kX3F1YXJ0ZXIsIGxpLmdmX3RoaXJkX3F1YXJ0ZXIsIGxpLmdmX2ZvdXJ0aF9xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuLmdmX2xpc3RfMmNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4uZ2ZfbGlzdF8zY29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDMzJTsgfVxuXG4uZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbi5nZl9saXN0XzRjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMjUlOyB9XG5cbi5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuLmdmX2xpc3RfNWNvbCB1bC5nZmllbGRfcmFkaW8gbGkge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiAyMCU7IH1cblxuLmdmX2xpc3RfaW5saW5lIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbi5nZl9saXN0X2lubGluZSB1bC5nZmllbGRfcmFkaW8gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5nZl9saXN0XzJjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2ZfbGlzdF8yY29sIHVsLmdmaWVsZF9yYWRpbyBsaSxcbiAgLmdmX2xpc3RfM2NvbCB1bC5nZmllbGRfY2hlY2tib3ggbGksXG4gIC5nZl9saXN0XzNjb2wgdWwuZ2ZpZWxkX3JhZGlvIGxpLFxuICAuZ2ZfbGlzdF80Y29sIHVsLmdmaWVsZF9jaGVja2JveCBsaSxcbiAgLmdmX2xpc3RfNGNvbCB1bC5nZmllbGRfcmFkaW8gbGksXG4gIC5nZl9saXN0XzVjb2wgdWwuZ2ZpZWxkX2NoZWNrYm94IGxpLFxuICAuZ2ZfbGlzdF81Y29sIHVsLmdmaWVsZF9yYWRpbyBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ud3JhcCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi53cmFwLS1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLndyYXAtLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ud3JhcF9faW5uZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTkyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjYuODc1ZW0pIHtcbiAgICAud3JhcF9faW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgfSB9XG5cbi5jb250ZW50LXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTgwMHB4OyB9XG5cbi8qKlxuICogSWNvbiBjb21wb25lbnRcbiAqXG4gKiAxLiBEaXNwbGF5IGlubGluZSB3aXRoIHN1cnJvdW5kaW5nIHRleHQgY29udGVudC5cbiAqIDIuIEluaGVyaXQgdGhlIHBhcmVudCB0ZXh0IGNvbG9yIGZvciBpY29uIGZpbGxzLlxuICogMy4gVXNlIHBhcmVudCBmb250LXNpemUgZm9yIHdpZHRoIGFuZCBoZWlnaHQuXG4gKiA0LiBWZXJ0aWNhbGx5IGFsaWduIGljb24gd2l0aCBzdXJyb3VuZGluZyB0ZXh0LlxuICogICAgU2VlOiBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2ljb25zLWFuZC10eXBlXG4gKi9cbi5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IDJlbTtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDQgKi9cbiAgdG9wOiAwZW07XG4gIC8qIC0wLjA2MjVlbTsgKi9cbiAgLyogNCAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiA0ICovXG4gIHdpZHRoOiAyZW07XG4gIC8qIDMgKi9cbiAgY29sb3I6ICNmZmY7IH1cblxuLmljb24tbG9nbyB7XG4gIHdpZHRoOiAxNThweDtcbiAgaGVpZ2h0OiAzN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5pY29uLWxvZ28ge1xuICAgICAgd2lkdGg6IDIxNHB4O1xuICAgICAgaGVpZ2h0OiA1MXB4OyB9IH1cbiAgLmljb24tbG9nbzpob3ZlciB7XG4gICAgY29sb3I6ICMwZGIxZWU7IH1cbiAgLmljb24tbG9nby5kZW1vLWxvZ28tZGFyayB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLmljb24tYXJyb3cge1xuICB3aWR0aDogNTZweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcGFkZGluZzogMTBweDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAuaWNvbi1hcnJvdzpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi53b3Jrcy1uYXYgLmljb24tYXJyb3c6aG92ZXIge1xuICBjb2xvcjogIzhhOGE4YTtcbiAgb3BhY2l0eTogLjc7IH1cblxuLmljb24tYXJyb3ctcmV2ZXJzZWQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5pY29uLXNvY2lhbCB7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5pY29uLXNvY2lhbDpob3ZlciB7XG4gICAgY29sb3I6ICMwZGIxZWU7IH1cblxuLmljb24tdmltZW8ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAxMDVweDsgfVxuXG4uaWNvbi1mYWNlYm9vayB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDE1MXB4OyB9XG5cbi5pY29uLWluc3RhZ3JhbSB7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IDE3M3B4OyB9XG5cbi5pY29uLWluc3RhZ3JhbS10ZXh0IHtcbiAgaGVpZ2h0OiA0MnB4O1xuICB3aWR0aDogMTQ1cHg7IH1cblxuaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ni44NzVlbSkge1xuICAgIGhlYWRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9IH1cbiAgaGVhZGVyIGgzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgaGVhZGVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH0gfVxuXG4ubG9nbyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIxNHB4O1xuICBoZWlnaHQ6IDUxcHg7IH1cblxuLmhlcm8tdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5oZXJvLXZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm1vYmlsZS1iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5tb2JpbGUtYmcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbmhlYWRlci5oZWFkZXItd29ya3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3N3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB6LWluZGV4OiAyMDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICBoZWFkZXIuaGVhZGVyLXdvcmtzIHtcbiAgICAgIGhlaWdodDogMTMxcHg7IH0gfVxuXG4uc2VsZWN0ZWQtZGVtb3MtYmcge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Ni44NzVlbSkge1xuICAgIC5zZWxlY3RlZC1kZW1vcy1iZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4OyB9IH1cbiAgLnNlbGVjdGVkLWRlbW9zLWJnIC5oZXJvLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAuc2VsZWN0ZWQtZGVtb3MtYmcgLndyYXBfX2lubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uaGVhZGVyLXNlbGVjdGVkLWRlbW9zIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmhlYWRlci1zZWxlY3RlZC1kZW1vcyBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDE4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaGVhZGVyLXNlbGVjdGVkLWRlbW9zIC5jbGllbnQtbG9nbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5oZWFkZXItc2VsZWN0ZWQtZGVtb3MgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZWFkZXItc2VsZWN0ZWQtZGVtb3MgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDsgfVxuXG4ubmF2LXdyYXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICB6LWluZGV4OiA1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAubmF2LXdyYXAge1xuICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgICAgei1pbmRleDogMzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2Ljg3NWVtKSB7XG4gICAgLm5hdi13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNjBweDsgfSB9XG5cbmJvZHkuc2luZ2xlLXdvcmtzIC5uYXYtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubmF2LXdyYXBfX2lubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTgwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHotaW5kZXg6IDEwNDc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG51bC5tYWluLW5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIHVsLm1haW4tbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICB1bC5tYWluLW5hdiBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4OyB9XG4gIHVsLm1haW4tbmF2IGEge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICB1bC5tYWluLW5hdiBhOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIC41cywgYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3R0b206IC01cHg7IH1cbiAgICB1bC5tYWluLW5hdiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMGRiMWVlOyB9XG4gICAgICB1bC5tYWluLW5hdiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBkYjFlZTsgfVxuICB1bC5tYWluLW5hdiBsaS5hY3RpdmUgYTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5uYXYtd3JhcC53b3JrLW5hdi1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG5cbi5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlLCAubmF2LXdyYXAuY29udGFjdC1uYXYtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUgLmljb24tbG9nbywgLm5hdi13cmFwLmNvbnRhY3QtbmF2LWFjdGl2ZSAuaWNvbi1sb2dvIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlIC5pY29uLWxvZ286aG92ZXIsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmljb24tbG9nbzpob3ZlciB7XG4gICAgICBjb2xvcjogIzBkYjFlZTsgfVxuICAubmF2LXdyYXAuYWJvdXQtbmF2LWFjdGl2ZSB1bC5tYWluLW5hdiBhLCAubmF2LXdyYXAuY29udGFjdC1uYXYtYWN0aXZlIHVsLm1haW4tbmF2IGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlIHVsLm1haW4tbmF2IGE6YWZ0ZXIsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgdWwubWFpbi1uYXYgYTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAubmF2LXdyYXAuYWJvdXQtbmF2LWFjdGl2ZSB1bC5tYWluLW5hdiBhOmhvdmVyLCAubmF2LXdyYXAuY29udGFjdC1uYXYtYWN0aXZlIHVsLm1haW4tbmF2IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMGRiMWVlOyB9XG4gICAgLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUgdWwubWFpbi1uYXYgYTpob3ZlcjphZnRlciwgLm5hdi13cmFwLmNvbnRhY3QtbmF2LWFjdGl2ZSB1bC5tYWluLW5hdiBhOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZGIxZWU7IH1cblxuLm1haW4tbmF2LWRlbW9zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubWFpbi1uYXYtZGVtb3MgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5tYWluLW5hdi1kZW1vcyBsaSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNzBweDsgfSB9XG4gIC5tYWluLW5hdi1kZW1vcyBhIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjJlbSkge1xuICAgICAgLm1haW4tbmF2LWRlbW9zIGEge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuICAgIC5tYWluLW5hdi1kZW1vcyBhOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIC41cywgYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3R0b206IC01cHg7IH1cbiAgICAubWFpbi1uYXYtZGVtb3MgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzBkYjFlZTsgfVxuICAgICAgLm1haW4tbmF2LWRlbW9zIGE6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGRiMWVlOyB9XG5cbi5tYWluLW5hdi1kZW1vcy5uYXYtZGVtb3Mtd2hpdGUgYSB7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5tYWluLW5hdi1kZW1vcy5uYXYtZGVtb3Mtd2hpdGUgYTpob3ZlciB7XG4gICAgY29sb3I6ICMwZGIxZWU7IH1cblxuLm1haW4tbmF2LWRlbW9zIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMHB4O1xuICB0b3A6IDUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDMuNzVlbSkge1xuICAgIC5tYWluLW5hdi1kZW1vcyB7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAubWFpbi1uYXYtZGVtb3Mge1xuICAgICAgdG9wOiAxMHB4OyB9IH1cblxuLm1haW4tbmF2LWRlbW9zLnZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICByaWdodDogMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQzLjc1ZW0pIHtcbiAgICAubWFpbi1uYXYtZGVtb3MudmlzaWJsZSB7XG4gICAgICByaWdodDogNzBweDsgfSB9XG5cbi5oYW1idXJnZXIubWFpbi1tb2JpbGUtbmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmhhbWJ1cmdlci5tYWluLW1vYmlsZS1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tb2JpbGUtbmF2LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTE1MHZoO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMzBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0cmFuc2l0aW9uOiB0b3AgLjZzO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5tb2JpbGUtbmF2LXdyYXAudmlzaWJsZSB7XG4gICAgdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAubW9iaWxlLW5hdi13cmFwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubW9iaWxlLW5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTAwcHg7IH1cbiAgLm1vYmlsZS1uYXYgbGkge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gIC5tb2JpbGUtbmF2IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAubW9iaWxlLW5hdiBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm5hdi1zb2NpYWwtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICAubmF2LXNvY2lhbC1saXN0IGxpIHtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubmF2LXNvY2lhbC1saXN0IGxpOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5uYXYtc29jaWFsLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm5hdi1zb2NpYWwtbGlzdCAuaWNvbi1zb2NpYWwge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5hdi1zb2NpYWwtbGlzdCAuaWNvbi1zb2NpYWw6aG92ZXIge1xuICAgICAgY29sb3I6ICMwZGIxZWU7IH1cbiAgLm5hdi1zb2NpYWwtbGlzdCAuaWNvbi12aW1lbyB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiA1NnB4OyB9XG4gIC5uYXYtc29jaWFsLWxpc3QgLmljb24tZmFjZWJvb2sge1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogODFweDsgfVxuICAubmF2LXNvY2lhbC1saXN0IC5pY29uLXlvdXR1YmUge1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogNzFweDsgfVxuXG4ubW9iaWxlLW5hdi13cmFwIC5uYXYtc29jaWFsLWxpc3Qge1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4ubmF2LXdyYXAgLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDE0cHggMTRweCA1cHggMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5uYXYtd3JhcCAuaGFtYnVyZ2VyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4ubmF2LXdyYXAgLmhhbWJ1cmdlci5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubmF2LXdyYXAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiAzcHg7IH1cblxuLm5hdi13cmFwIC5uYXYtZGVtb3Mtd2hpdGUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgaGVpZ2h0OiAzcHg7IH1cblxuLm5hdi13cmFwIC5oYW1idXJnZXItaW5uZXIsIC5uYXYtd3JhcCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogM3B4OyB9XG5cbi5uYXYtd3JhcCAubmF2LWRlbW9zLXdoaXRlIC5oYW1idXJnZXItaW5uZXIsIC5uYXYtd3JhcCAubmF2LWRlbW9zLXdoaXRlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgaGVpZ2h0OiAzcHg7IH1cblxuLm5hdi13cmFwIC5oYW1idXJnZXItYm94IHtcbiAgaGVpZ2h0OiAyNHB4OyB9XG5cbi5uYXYtd3JhcCAuaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAyMnB4OyB9XG5cbi5uYXYtd3JhcCAuaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIycHgsIDApIHJvdGF0ZSgtMjcwZGVnKTsgfVxuXG4ubmF2LXdyYXAuYWJvdXQtbmF2LWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgaGVpZ2h0OiAzcHg7IH1cblxuLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciwgLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciwgLm5hdi13cmFwLmNvbnRhY3QtbmF2LWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogM3B4OyB9XG5cbi5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsIC5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyLCAubmF2LXdyYXAuY29udGFjdC1uYXYtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBoZWlnaHQ6IDNweDsgfVxuXG4ubmF2LXdyYXAuYWJvdXQtbmF2LWFjdGl2ZSAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiAzcHg7IH1cblxuLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciwgLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciwgLm5hdi13cmFwLmNvbnRhY3QtbmF2LWFjdGl2ZSAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogM3B4OyB9XG5cbi5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsIC5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyLCAubmF2LXdyYXAuY29udGFjdC1uYXYtYWN0aXZlIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDNweDsgfVxuXG4ubmF2LXdyYXAuYWJvdXQtbmF2LWFjdGl2ZSAuaWNvbi1sb2dvLm1lbnUtdmlzaWJsZSwgLm5hdi13cmFwLmNvbnRhY3QtbmF2LWFjdGl2ZSAuaWNvbi1sb2dvLm1lbnUtdmlzaWJsZSB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5ob3Zlci1hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG5cbi5zZWxlY3RlZC13b3JrcyB7XG4gIHBhZGRpbmc6IDYwcHggMCAxMzBweCAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWxlY3RlZC13b3JrcyAudGFicyB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgei1pbmRleDogNDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5zZWxlY3RlZC13b3JrcyAudGFicy5zdHVjayB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAgICAgLnNlbGVjdGVkLXdvcmtzIC50YWJzLnN0dWNrIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLnNlbGVjdGVkLXdvcmtzIC50YWItbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5zZWxlY3RlZC13b3JrcyAudGFiLWxpbmsuY3VycmVudCwgLnNlbGVjdGVkLXdvcmtzIC50YWItbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogIzBkYjFlZTsgfVxuICAuc2VsZWN0ZWQtd29ya3MgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uc2VsZWN0ZWQtd29ya3MtbGlzdCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5zZWxlY3RlZC13b3Jrcy1saXN0LnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogOTBweDsgfVxuICAuc2VsZWN0ZWQtd29ya3MtbGlzdC5jdXJyZW50LCAuc2VsZWN0ZWQtd29ya3MtbGlzdC50YWItY29udGVudC5jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjguNzVlbSkge1xuICAgICAgLnNlbGVjdGVkLXdvcmtzLWxpc3QuY3VycmVudCwgLnNlbGVjdGVkLXdvcmtzLWxpc3QudGFiLWNvbnRlbnQuY3VycmVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgLnNlbGVjdGVkLXdvcmtzLWxpc3Qubm8taGVhZGluZyB7XG4gICAgcGFkZGluZy10b3A6IDEyNnB4OyB9XG4gIC5zZWxlY3RlZC13b3Jrcy1saXN0IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHggMCAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjYyNWVtKSB7XG4gICAgICAuc2VsZWN0ZWQtd29ya3MtbGlzdCBsaSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgICAgLnNlbGVjdGVkLXdvcmtzLWxpc3QgbGkge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgIC5zZWxlY3RlZC13b3Jrcy1saXN0LS1maWxtcyBsaSB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgLnNlbGVjdGVkLXdvcmtzLWxpc3QgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtc2VsZWN0ZWQtZGVtb3MgLnNlbGVjdGVkLXdvcmtzLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi53b3Jrcy1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC53b3Jrcy1pdGVtIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3BhY2l0eTogLjg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC53b3Jrcy1pdGVtIHZpZGVvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLndvcmtzLWl0ZW1fX2luZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAud29ya3MtaXRlbV9faW5mbyBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAud29ya3MtaXRlbV9faW5mbyBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hYm91dCB7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuYWJvdXQge1xuICAgICAgcGFkZGluZy10b3A6IDIzMHB4OyB9IH1cblxuLmFib3V0X19oZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYWJvdXRfX2hlYWRpbmctLWV4cGVydGlzZSB7XG4gIHBhZGRpbmctdG9wOiA4MHB4OyB9XG5cbi5hYm91dF9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy10b3A6IDgwcHg7IH1cbiAgLmFib3V0X19jb250ZW50IHAge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5hYm91dF9fY29udGVudCBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5hYm91dF9fZXhwZXJ0aXNlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDYwcHg7IH1cbiAgLmFib3V0X19leHBlcnRpc2UgbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuYWJvdXRfX2V4cGVydGlzZSBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC5hYm91dF9fZXhwZXJ0aXNlIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMzAwcHgpOyB9IH1cbiAgLmFib3V0X19leHBlcnRpc2UgbGk6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgLmFib3V0X19leHBlcnRpc2UgbGk6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgICAgLmFib3V0X19leHBlcnRpc2UgbGk6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5hYm91dF9fZXhwZXJ0aXNlIGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgICAuYWJvdXRfX2V4cGVydGlzZSBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC5hYm91dF9fZXhwZXJ0aXNlIGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLmFib3V0X19leHBlcnRpc2UgbGk6bnRoLWNoaWxkKDNuKzMpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAgIC5hYm91dF9fZXhwZXJ0aXNlIGxpOm50aC1jaGlsZCgzbiszKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC5hYm91dF9fZXhwZXJ0aXNlIGxpOm50aC1jaGlsZCgzbiszKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uY29udGFjdCB7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAuY29udGFjdCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjMwcHg7IH0gfVxuXG4uY29udGFjdF9faGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNvbnRhY3RfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA4MHB4OyB9XG4gIC5jb250YWN0X19jb250ZW50IHAge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5jb250YWN0X19jb250ZW50IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxudWwudGFicyB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIHVsLnRhYnMgbGkge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogIzIyMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICB1bC50YWJzIGxpIGgzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgdWwudGFicyBsaSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07IH0gfVxuICAgIHVsLnRhYnMgbGkgaDM6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICB1bC50YWJzIGxpLmN1cnJlbnQgaDMge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnRhYi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgLnRhYi1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnRhYi1jb250ZW50IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfVxuICAgIC50YWItY29udGVudCB1bCBhIHtcbiAgICAgIGNvbG9yOiAjMGRiMWVlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgLnRhYi1jb250ZW50IHVsIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnRhYi1jb250ZW50LmN1cnJlbnQge1xuICBkaXNwbGF5OiBpbmhlcml0OyB9XG5cbi5vbnNpdGUge1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAub25zaXRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMzBweDsgfSB9XG5cbi5vbnNpdGVfX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5vbnNpdGVfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA4MHB4OyB9XG4gIC5vbnNpdGVfX2NvbnRlbnQgcCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgLm9uc2l0ZV9fY29udGVudCBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5vbnNpdGUtc2xpZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm9uc2l0ZS1zbGlkZXIgbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9uc2l0ZS1zbGlkZXIgbGkuc2xpZGVyLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2xpZGVyLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMTI1ZW0pIHtcbiAgICAuc2xpZGVyLWl0ZW0ge1xuICAgICAgei1pbmRleDogMTA0MDsgfSB9XG4gIC5zbGlkZXItaXRlbV9faW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMS4yNWVtKSB7XG4gICAgICAuc2xpZGVyLWl0ZW1fX2lubmVyIHtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMTI1ZW0pIHtcbiAgICAgIC5zbGlkZXItaXRlbV9faW5uZXIge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAuc2xpZGVyLWl0ZW1fX2lubmVyIHZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWRlci1pdGVtX19pbm5lci12aWRlbyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMTI1ZW0pIHtcbiAgICAuc2xpZGVyLWl0ZW1fX2lubmVyLXZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm9uc2l0ZV9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1My4xMjVlbSkge1xuICAgIC5vbnNpdGVfX2JvdHRvbSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLm9uc2l0ZV9fYm90dG9tX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG9yZGVyOiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTMuMTI1ZW0pIHtcbiAgICAgIC5vbnNpdGVfX2JvdHRvbV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAub25zaXRlX19ib3R0b21fX2NvbnRlbnQgcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIG1heC13aWR0aDogNTc4cHg7IH1cbiAgICAub25zaXRlX19ib3R0b21fX2NvbnRlbnQgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gIC5vbnNpdGVfX2JvdHRvbV9fY29udHJvbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBvcmRlcjogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUzLjEyNWVtKSB7XG4gICAgICAub25zaXRlX19ib3R0b21fX2NvbnRyb2xzIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmljb24tYXJyb3cge1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG4uaWNvbi1hcnJvdy5wcmV2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4udGVhbSB7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgICAudGVhbSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjMwcHg7IH0gfVxuXG4udGVhbV9faGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRlYW1fX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA4MHB4OyB9XG4gIC50ZWFtX19jb250ZW50IHAge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC50ZWFtX19jb250ZW50IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnRlYW1fX2NvbnRlbnQgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRlYW1fX2NvbnRlbnQgYSBoNCB7XG4gICAgY29sb3I6ICMwZGIxZWU7IH1cbiAgICAudGVhbV9fY29udGVudCBhIGg0OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi50ZWFtLW1lbWJlcnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLnRlYW0tbWVtYmVycyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjMwcHg7IH0gfVxuICAudGVhbS1tZW1iZXJzID4gbGkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA4MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuNjI1ZW0pIHtcbiAgICAgIC50ZWFtLW1lbWJlcnMgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC50ZWFtLW1lbWJlcnMgPiBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwMHB4KTsgfSB9XG4gIC50ZWFtLW1lbWJlcnMgPiBsaTpudGgtY2hpbGQoM24rMikge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAuNjI1ZW0pIHtcbiAgICAgIC50ZWFtLW1lbWJlcnMgPiBsaTpudGgtY2hpbGQoM24rMikge1xuICAgICAgICB3aWR0aDogMzMuMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNDM3NWVtKSB7XG4gICAgICAudGVhbS1tZW1iZXJzID4gbGk6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC50ZWFtLW1lbWJlcnMgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjYyNWVtKSB7XG4gICAgICAudGVhbS1tZW1iZXJzID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNDM3NWVtKSB7XG4gICAgICAudGVhbS1tZW1iZXJzID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAudGVhbS1tZW1iZXJzID4gbGk6bnRoLWNoaWxkKDNuKzMpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC42MjVlbSkge1xuICAgICAgLnRlYW0tbWVtYmVycyA+IGxpOm50aC1jaGlsZCgzbiszKSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC50ZWFtLW1lbWJlcnMgPiBsaTpudGgtY2hpbGQoM24rMykge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLnRlYW0tbWVtYmVyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRlYW0tbWVtYmVyIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRlYW0tbWVtYmVyIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgLnRlYW0tbWVtYmVyIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAudGVhbS1tZW1iZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuXG4ubWZwLWJnIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5tZnAtY29udGVudCAubW9kYWwtYXJyb3dzIHtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgICAgLm1mcC1jb250ZW50IC5tb2RhbC1hcnJvd3Mge1xuICAgICAgICBib3R0b206IC0zMHB4OyB9IH1cblxuLndoaXRlLXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBwYWRkaW5nOiA4MHB4IDIwcHggNjBweCAyMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTA0NSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDczLjEyNWVtKSB7XG4gICAgLndoaXRlLXBvcHVwIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggNjBweDsgfSB9XG4gIC53aGl0ZS1wb3B1cCAubW9kYWwtY29udGVudF9fZGF0YSB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC53aGl0ZS1wb3B1cCAubW9kYWwtY29udGVudF9fZGF0YSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLm1mcC1jbG9zZS5tb2RhbC1jbG9zZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTEwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgb3BhY2l0eTogMTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgIC5tZnAtY2xvc2UubW9kYWwtY2xvc2Uge1xuICAgICAgdG9wOiAtMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDczLjEyNWVtKSB7XG4gICAgLm1mcC1jbG9zZS5tb2RhbC1jbG9zZSB7XG4gICAgICByaWdodDogNjBweDsgfSB9XG4gIC5tZnAtY2xvc2UubW9kYWwtY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL3NyYy9pY29uLWFycm93LnN2Z1wiKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAubWZwLWNsb3NlLm1vZGFsLWNsb3NlOmFjdGl2ZSB7XG4gICAgdG9wOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNDM3NWVtKSB7XG4gICAgICAubWZwLWNsb3NlLm1vZGFsLWNsb3NlOmFjdGl2ZSB7XG4gICAgICAgIHRvcDogLTMwcHg7IH0gfVxuICAubWZwLWNsb3NlLm1vZGFsLWNsb3NlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxOyB9XG4gIC5tZnAtY2xvc2UubW9kYWwtY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IC43OyB9XG5cbi5tb2RhbC1hcnJvd3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMwcHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzOyB9XG4gIC5tb2RhbC1hcnJvd3M6aG92ZXIge1xuICAgIG9wYWNpdHk6IC4zOyB9XG5cbi5tb2RhbC1hcnJvd3MucmlnaHQtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9zcmMvaWNvbi1hcnJvdy5zdmdcIikgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICByaWdodDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3My4xMjVlbSkge1xuICAgIC5tb2RhbC1hcnJvd3MucmlnaHQtaWNvbiB7XG4gICAgICByaWdodDogNjBweDsgfSB9XG5cbi5tb2RhbC1hcnJvd3MubGVmdC1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL3NyYy9pY29uLWFycm93LnN2Z1wiKSBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHJpZ2h0OiA4MHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDczLjEyNWVtKSB7XG4gICAgLm1vZGFsLWFycm93cy5sZWZ0LWljb24ge1xuICAgICAgcmlnaHQ6IDEyMHB4OyB9IH1cblxuLypcblxuPT09PT09IFpvb20gZWZmZWN0ID09PT09PVxuXG4qL1xuLm1mcC16b29tLWluIHtcbiAgLyogc3RhcnQgc3RhdGUgKi9cbiAgLyogYW5pbWF0ZSBpbiAqL1xuICAvKiBhbmltYXRlIG91dCAqLyB9XG4gIC5tZnAtem9vbS1pbiAubWZwLXdpdGgtYW5pbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgLm1mcC16b29tLWluLm1mcC1iZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsgfVxuICAubWZwLXpvb20taW4ubWZwLXJlYWR5IC5tZnAtd2l0aC1hbmltIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLm1mcC16b29tLWluLm1mcC1yZWFkeS5tZnAtYmcge1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAubWZwLXpvb20taW4ubWZwLXJlbW92aW5nIC5tZnAtd2l0aC1hbmltIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubWZwLXpvb20taW4ubWZwLXJlbW92aW5nLm1mcC1iZyB7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4ubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLm1vZGFsLWNvbnRlbnRfX2RhdGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgb3JkZXI6IDI7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250ZW50X19kYXRhIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgLm1vZGFsLWNvbnRlbnRfX2RhdGEgcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIC5tb2RhbC1jb250ZW50X19kYXRhIGg1IHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgLm1vZGFsLWNvbnRlbnRfX3ZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBvcmRlcjogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRlbnRfX3ZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZGV0YWlscy1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA0MHB4OyB9XG4gIC5kZXRhaWxzLWxpc3QgcCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLm1vZGFsLWNvbnRlbnRfX2ludHJvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgIC5tb2RhbC1jb250ZW50X19pbnRybyB7XG4gICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICAubW9kYWwtY29udGVudF9faW50cm8gaDUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5tb2RhbC1jb250ZW50X19pbnRybyBwOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogNjBweDsgfVxuXG4ubW9kYWwtY29udGVudF9faW50cm8gcCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4OyB9XG5cbi5tb2RhbC1jb250ZW50X19mb3JtIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNDM3NWVtKSB7XG4gICAgLm1vZGFsLWNvbnRlbnRfX2Zvcm0ge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7IH0gfVxuXG4uY29udGFjdC1tb2RhbC13cmFwIHtcbiAgcGFkZGluZzogNjBweCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgIC5jb250YWN0LW1vZGFsLXdyYXAge1xuICAgICAgcGFkZGluZzogODBweCA2MHB4OyB9IH1cblxuLmdmb3JtX3dyYXBwZXIge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fZm9vdGVyIHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNDM3NWVtKSB7XG4gICAgLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH0gfVxuXG4uZnJvc3QtZm9ybSBsYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uZnJvc3QtZm9ybSAuZ2Zvcm1fYm9keSB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5mcm9zdC1mb3JtIC5nZm9ybV9ib2R5IHVsIGxpOmZpcnN0LWNoaWxkLCAuZnJvc3QtZm9ybSAuZ2Zvcm1fYm9keSB1bCBsaTpudGgtY2hpbGQoNSkge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5mcm9zdC1mb3JtIC5nZm9ybV9maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mcm9zdC1mb3JtIC5mb3JtLWZpZWxkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAuZnJvc3QtZm9ybSAuZm9ybS1maWVsZCB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH0gfVxuICAuZnJvc3QtZm9ybSAuZm9ybS1maWVsZCBpbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTcxNyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4IDRweCAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmZyb3N0LWZvcm0gLmZvcm0tZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4uZnJvc3QtZm9ybSAuZm9ybS10ZXh0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgIC5mcm9zdC1mb3JtIC5mb3JtLXRleHQge1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7IH0gfVxuICAuZnJvc3QtZm9ybSAuZm9ybS10ZXh0IHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNTBweCAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDMgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjQzNzVlbSkge1xuICAgICAgLmZyb3N0LWZvcm0gLmZvcm0tdGV4dCB0ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogMzA1cHggIWltcG9ydGFudDsgfSB9XG5cbkBrZXlmcmFtZXMgYmxpbmsge1xuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuICAuZnJvc3QtZm9ybSAuZm9ybS10ZXh0IC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWE6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxN3B4O1xuICAgIGxlZnQ6IDI2MHB4O1xuICAgIGNvbnRlbnQ6ICd8JztcbiAgICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiBibGluayAxcyBzdGVwLXN0YXJ0IDBzIGluZmluaXRlOyB9XG4gIC5mcm9zdC1mb3JtIC5mb3JtLXRleHQgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl90ZXh0YXJlYS5mb2N1czpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZyb3N0LWZvcm0gLmZvcm0tdGV4dCB0ZXh0YXJlYTpmb2N1cywgLmZyb3N0LWZvcm0gLmZvcm0tdGV4dCB0ZXh0YXJlYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzE3MTc7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuZnJvc3QtZm9ybSAuZm9ybS10ZXh0IHRleHRhcmVhOmZvY3VzOjpwbGFjZWhvbGRlciwgLmZyb3N0LWZvcm0gLmZvcm0tdGV4dCB0ZXh0YXJlYTphY3RpdmU6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjMTcxNzE3OyB9XG4gIC5mcm9zdC1mb3JtIC5mb3JtLXRleHQgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuXG4uZnJvc3QtZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIGlucHV0IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4uZnJvc3QtZm9ybSAuZ2Zvcm1fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG5cbi5mcm9zdC1mb3JtIC5nZm9ybV9idXR0b246aG92ZXIge1xuICBvcGFjaXR5OiAuNzsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZC5nZmllbGRfY3JlZGl0Y2FyZF93YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9c3VibWl0XSk6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSksIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZF9lcnJvciB0ZXh0YXJlYSB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3Ige1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgZGl2LmdpbnB1dF9jb250YWluZXIsIC5nZm9ybV93cmFwcGVyIGxpLmdmaWVsZC5nZmllbGRfZXJyb3IuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIGxhYmVsLmdmaWVsZF9sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDhweCAhaW1wb3J0YW50OyB9XG5cbi5nZm9ybV93cmFwcGVyIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgLmZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmdmb3JtX3dyYXBwZXIgZGl2LnZhbGlkYXRpb25fZXJyb3Ige1xuICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgcmVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTZweCAwO1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2luZ2xlLXdvcmtzLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwNDg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi53b3Jrcy1iYWNrIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4ud29ya3MtYmFjay1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogLTIwcHg7IH1cbiAgLndvcmtzLWJhY2stYnRuOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAtMzBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvaWNvbnMvc3JjL2ljb24tYXJyb3cuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIC53b3Jrcy1iYWNrLWJ0bjpob3ZlciB7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLndvcmtzLW5hdiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLndvcmtzLW5hdiAud29ya3MtbmF2X19sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgLndvcmtzLW5hdiAuaWNvbi1hcnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi40Mzc1ZW0pIHtcbiAgICAud29ya3MtbmF2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ud29ya3MtbmF2LndvcmtzLW5hdi0tbW9iaWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNDM3NWVtKSB7XG4gICAgLndvcmtzLW5hdi53b3Jrcy1uYXYtLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNvbW1lbnRzIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gICAgLmNvbW1lbnRzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMzBweDsgfSB9XG4gIC5jb21tZW50cyBwIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAuY29tbWVudHMgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDsgfVxuXG4uY29tbWVudHNfX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgZm9vdGVyIC5jb250ZW50LXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuXG5mb290ZXIuZm9vdGVyLWRlbW9zIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgIGZvb3Rlci5mb290ZXItZGVtb3Mge1xuICAgICAgcGFkZGluZy10b3A6IDIzMHB4OyB9IH1cblxuLnNvY2lhbC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zb2NpYWwtbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MC42MjVlbSkge1xuICAgICAgLnNvY2lhbC1saXN0IGxpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDsgfSB9XG5cbmZvb3Rlci5mb290ZXItd29ya3Mge1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGdlbmVyaWMuUkVTRVRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaW1nLFxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmgxLGgyLGgzLGg0LGg1LGg2LFxucCxibG9ja3F1b3RlLHByZSxcbmRsLGRkLG9sLHVsLFxuZm9ybSxmaWVsZHNldCxsZWdlbmQsXG50YWJsZSx0aCx0ZCxjYXB0aW9uLFxuaHIsZmlndXJlIHtcbiAgbWFyZ2luOjA7XG4gIHBhZGRpbmc6MDtcbn1cblxuOjpzZWxlY3Rpb24ge1xuXG59XG4iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIGJhc2UuQk9EWVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzApO1xuICBmb250LWZhbWlseTogJGZmO1xufVxuXG5wIHtcbiAgZm9udC1mYW1pbHk6ICRmZjtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmEge1xuICBjb2xvcjogJGJsdWU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuaDEsIGgyLCBoMywgaDQge1xuICBmb250LXdlaWdodDogODAwO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDYpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICBjb2xvcjogJGJsYWNrO1xuXG4gIEBpbmNsdWRlIG1xKDUwMCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gIH1cbn1cblxuaDMge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDM2KTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbiAgY29sb3I6ICRibGFjaztcbn1cblxuaDQge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgY29sb3I6ICRibGFjaztcbn1cblxuaDUge1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgY29sb3I6ICRibGFjaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEdyYXZpdHkgRm9ybXMgc3R5bGUgcmVzZXRcbi8vXG4vLyBEaXNhYmxlIGFsbCBHRiBzdHlsZXM6XG4vLyBhZGRfZmlsdGVyKCAncHJlX29wdGlvbl9yZ19nZm9ybXNfZGlzYWJsZV9jc3MnLCAnX19yZXR1cm5fdHJ1ZScgKTtcblxuLy8gQ29yZSBDb250YWluZXJzXG4uZ2Zvcm1faGVhZGluZyxcbi5nZm9ybV9ib2R5LFxuLmdmb3JtX2Zvb3RlciB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLy8gRmllbGRzIENvbnRhaW5lclxudWwuZ2Zvcm1fZmllbGRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIC0xNXB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBGaWVsZCBDb250YWluZXJzIGFuZCB0aGVpciBDb250ZW50c1xubGkuZ2ZpZWxkIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAwIDBweCAyMHB4O1xufVxuLmdpbnB1dF9jb250YWluZXIge1xuICBzcGFuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICAmLmxhcmdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmLm1lZGl1bSB7XG4gICAgICB3aWR0aDogNjYlO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgfVxufVxubGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgLmxlZnRfbGFiZWwgJiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAucmlnaHRfbGFiZWwgJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmdmaWVsZF9yZXF1aXJlZCB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4vLyBDaGVja2JveGVzIGFuZCBSYWRpb3NcbnVsLmdmaWVsZF9jaGVja2JveCxcbnVsLmdmaWVsZF9yYWRpbyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGlucHV0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxudWwuZ2ZpZWxkX3JhZGlvIHtcbiAgaW5wdXQge1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBCcmVha1xuLmdzZWN0aW9uIHtcbiAgaDIge1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBibGFjaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG4vLyBQYWdlIEJyZWFrXG4uZ2ZfcHJvZ3Jlc3NiYXJfd3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuLmdmX3Byb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogZ3JheTtcbn1cbi5nZl9wcm9ncmVzc2Jhcl9wZXJjZW50YWdlIHtcbiAgYmFja2dyb3VuZDogcmVkO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8vIFRpbWUgRmllbGRcbi5nZmllbGRfdGltZV9ob3VyLCAuZ2ZpZWxkX3RpbWVfbWludXRlLCAuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLmdmaWVsZF90aW1lX2hvdXIsIC5nZmllbGRfdGltZV9taW51dGUge1xuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5nZmllbGRfdGltZV9hbXBtIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLy8gVmFsaWRhdGlvbiBhbmQgRXJyb3JzXG4udmFsaWRhdGlvbl9lcnJvciB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxubGkuZ2ZpZWxkIHtcbiAgJi5nZmllbGRfZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNGRkRGRTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBsYWJlbC5nZmllbGRfbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG4gICYuZ2ZpZWxkX2NvbnRhaW5zX3JlcXVpcmVkIHtcblxuICB9XG4gIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cblxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gQ1NTIFJlYWR5IENsYXNzZXNcbi5naW5wdXRfZnVsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmdpbnB1dF9sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiA1MCU7XG4gIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uZ2lucHV0X3JpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogNTAlO1xuICBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLmdpbnB1dF9yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDUwJTtcbn1cblxuIExheW91dCBDb2x1bW5zXG5saS5nZl9sZWZ0X2hhbGYge1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogNTAlO1xufVxubGkuZ2ZfcmlnaHRfaGFsZiB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogNTAlO1xufVxubGkuZ2ZfbGVmdF90aGlyZCB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiAzMyU7XG59XG5saS5nZl9taWRkbGVfdGhpcmQge1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMzQlO1xufVxubGkuZ2ZfcmlnaHRfdGhpcmQge1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDMzJTtcbn1cbmxpLmdmX2ZpcnN0X3F1YXJ0ZXIge1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMjUlO1xufVxubGkuZ2Zfc2Vjb25kX3F1YXJ0ZXIge1xuICBjbGVhcjogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMjUlO1xufVxubGkuZ2ZfdGhpcmRfcXVhcnRlciB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiAyNSU7XG59XG5saS5nZl9mb3VydGhfcXVhcnRlciB7XG4gIGNsZWFyOiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMjUlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KXtcbiAgbGkge1xuICAgICYuZ2ZfbGVmdF9oYWxmLFxuICAgICYuZ2ZfcmlnaHRfaGFsZixcbiAgICAmLmdmX2xlZnRfdGhpcmQsXG4gICAgJi5nZl9taWRkbGVfdGhpcmQsXG4gICAgJi5nZl9yaWdodF90aGlyZCxcbiAgICAmLmdmX2ZpcnN0X3F1YXJ0ZXIsXG4gICAgJi5nZl9zZWNvbmRfcXVhcnRlcixcbiAgICAmLmdmX3RoaXJkX3F1YXJ0ZXIsXG4gICAgJi5nZl9mb3VydGhfcXVhcnRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTGlzdCBDb2x1bW5zXG4uZ2ZfbGlzdF8yY29sIHtcbiAgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICB1bC5nZmllbGRfcmFkaW8ge1xuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxufVxuLmdmX2xpc3RfM2NvbCB7XG4gIHVsLmdmaWVsZF9jaGVja2JveCxcbiAgdWwuZ2ZpZWxkX3JhZGlvIHtcbiAgICBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICB9XG4gIH1cbn1cbi5nZl9saXN0XzRjb2wge1xuICB1bC5nZmllbGRfY2hlY2tib3gsXG4gIHVsLmdmaWVsZF9yYWRpbyB7XG4gICAgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuICB9XG59XG4uZ2ZfbGlzdF81Y29sIHtcbiAgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICB1bC5nZmllbGRfcmFkaW8ge1xuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgfVxufVxuLmdmX2xpc3RfaW5saW5lIHtcbiAgdWwuZ2ZpZWxkX2NoZWNrYm94LFxuICB1bC5nZmllbGRfcmFkaW8ge1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo0ODBweCl7XG4gIC5nZl9saXN0XzJjb2wsXG4gIC5nZl9saXN0XzNjb2wsXG4gIC5nZl9saXN0XzRjb2wsXG4gIC5nZl9saXN0XzVjb2wge1xuICAgIHVsLmdmaWVsZF9jaGVja2JveCxcbiAgICB1bC5nZmllbGRfcmFkaW8ge1xuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi53cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi53cmFwLS1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbn1cblxuLndyYXAtLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4ud3JhcF9faW5uZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTkyMHB4O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG5cbiAgQGluY2x1ZGUgbXEoMTA3MCkge1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1scmc7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlci1scmc7XG4gIH1cbn1cblxuLmNvbnRlbnQtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG59XG4iLCIvKipcbiAqIEljb24gY29tcG9uZW50XG4gKlxuICogMS4gRGlzcGxheSBpbmxpbmUgd2l0aCBzdXJyb3VuZGluZyB0ZXh0IGNvbnRlbnQuXG4gKiAyLiBJbmhlcml0IHRoZSBwYXJlbnQgdGV4dCBjb2xvciBmb3IgaWNvbiBmaWxscy5cbiAqIDMuIFVzZSBwYXJlbnQgZm9udC1zaXplIGZvciB3aWR0aCBhbmQgaGVpZ2h0LlxuICogNC4gVmVydGljYWxseSBhbGlnbiBpY29uIHdpdGggc3Vycm91bmRpbmcgdGV4dC5cbiAqICAgIFNlZTogaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9pY29ucy1hbmQtdHlwZVxuICovXG5cbiAuaWNvbiB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgIGZpbGw6IGN1cnJlbnRDb2xvcjsgLyogMiAqL1xuICAgaGVpZ2h0OiAyZW07IC8qIDMgKi9cbiAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogNCAqL1xuICAgdG9wOiAwZW07IC8qIC0wLjA2MjVlbTsgKi8gLyogNCAqL1xuICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogNCAqL1xuICAgd2lkdGg6IDJlbTsgLyogMyAqL1xuICAgY29sb3I6ICR3aGl0ZTtcbiB9XG5cbi5pY29uLWxvZ28ge1xuICB3aWR0aDogMTU4cHg7XG4gIGhlaWdodDogMzdweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgIHdpZHRoOiAyMTRweDtcbiAgICBoZWlnaHQ6IDUxcHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cblxuICAmLmRlbW8tbG9nby1kYXJrIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG59XG5cbi5pY29uLWFycm93IHtcbiAgd2lkdGg6IDU2cHg7XG4gIGhlaWdodDogNDRweDtcbiAgY29sb3I6ICM4YThhOGE7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLndvcmtzLW5hdiAuaWNvbi1hcnJvdzpob3ZlciB7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBvcGFjaXR5OiAuNztcbn1cblxuLmljb24tYXJyb3ctcmV2ZXJzZWQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uaWNvbi1zb2NpYWwge1xuICBjb2xvcjogJGJsYWNrO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuXG4uaWNvbi12aW1lbyB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDEwNXB4O1xufVxuXG4uaWNvbi1mYWNlYm9vayB7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDE1MXB4O1xufVxuXG4uaWNvbi1pbnN0YWdyYW0ge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiAxNzNweDtcbn1cblxuLmljb24taW5zdGFncmFtLXRleHQge1xuICBoZWlnaHQ6IDQycHg7XG4gIHdpZHRoOiAxNDVweDtcbn1cbiIsImhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoMTA3MCkge1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1scmc7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlci1scmc7XG4gIH1cblxuICBoMyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDQpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxufVxuXG4ubG9nbyB7XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIxNHB4O1xuICAgIGhlaWdodDogNTFweDtcbiAgfVxufVxuXG4uaGVyby12aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcSg3MDApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubW9iaWxlLWJnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBtcSg3MDApIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbmhlYWRlci5oZWFkZXItd29ya3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3N3B4O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB6LWluZGV4OiAyMDAwO1xuXG4gIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgIGhlaWdodDogMTMxcHg7XG4gIH1cbn1cblxuLnNlbGVjdGVkLWRlbW9zLWJnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtcSgxMDcwKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLWxyZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLWxyZztcbiAgfVxuXG4gIC5oZXJvLXZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gIC53cmFwX19pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmhlYWRlci1zZWxlY3RlZC1kZW1vcyB7XG4gIGhlaWdodDogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIGgyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxODBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY2xpZW50LWxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufVxuIiwiLm5hdi13cmFwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyMHB4ICRndXR0ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgei1pbmRleDogNTtcblxuICBAaW5jbHVkZSBtcSg4MDApIHtcbiAgICBwYWRkaW5nOiA0MHB4ICRndXR0ZXI7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDEwNzApIHtcbiAgICBwYWRkaW5nOiA0MHB4ICRndXR0ZXItbHJnO1xuICB9XG59XG5cbmJvZHkuc2luZ2xlLXdvcmtzIC5uYXYtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdi13cmFwX19pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB6LWluZGV4OiAxMDQ3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbnVsLm1haW4tbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtcSg4MDApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgbGkge1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAuNXMsIGJhY2tncm91bmQtY29sb3IgLjJzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3R0b206IC01cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5hY3RpdmUgYTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5uYXYtd3JhcC53b3JrLW5hdi1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG59XG5cbi5uYXYtd3JhcC5hYm91dC1uYXYtYWN0aXZlLCAubmF2LXdyYXAuY29udGFjdC1uYXYtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgLmljb24tbG9nbyB7XG4gICAgY29sb3I6ICRibGFjaztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuXG4gIHVsLm1haW4tbmF2IHtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBhOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLm1haW4tbmF2LWRlbW9zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoNjQwKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtcSgzNTIpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIC41cywgYmFja2dyb3VuZC1jb2xvciAuMnM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGJvdHRvbTogLTVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWFpbi1uYXYtZGVtb3MubmF2LWRlbW9zLXdoaXRlIGEge1xuICBjb2xvcjogJGJsYWNrO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuXG4ubWFpbi1uYXYtZGVtb3Mge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwcHg7XG4gIHRvcDogNTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBtcSg3MDApIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDQwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSg4MDApIHtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbn1cblxuLm1haW4tbmF2LWRlbW9zLnZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICByaWdodDogMHB4O1xuXG4gIEBpbmNsdWRlIG1xKDcwMCkge1xuICAgIHJpZ2h0OiA3MHB4O1xuICB9XG59XG5cblxuXG5cblxuLmhhbWJ1cmdlci5tYWluLW1vYmlsZS1uYXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xuXG4gIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm1vYmlsZS1uYXYtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTUwdmg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgdHJhbnNpdGlvbjogdG9wIC42cztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAmLnZpc2libGUge1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDgwMCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm1vYmlsZS1uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxuXG4gIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi5uYXYtc29jaWFsLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgbGkge1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgbGk6Zmlyc3QtY2hpbGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBsaTpsYXN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5pY29uLXNvY2lhbCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuXG4gIC5pY29uLXZpbWVvIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgd2lkdGg6IDU2cHg7XG4gIH1cblxuICAuaWNvbi1mYWNlYm9vayB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiA4MXB4O1xuICB9XG5cbiAgLmljb24teW91dHViZSB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiA3MXB4O1xuICB9XG59XG5cbi5tb2JpbGUtbmF2LXdyYXAgLm5hdi1zb2NpYWwtbGlzdCB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG4ubmF2LXdyYXAgLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDE0cHggMTRweCA1cHggMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG5cbiAgQGluY2x1ZGUgbXEoODAwKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubmF2LXdyYXAgLmhhbWJ1cmdlci5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm5hdi13cmFwIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgaGVpZ2h0OiAzcHg7XG59XG5cbi5uYXYtd3JhcCAubmF2LWRlbW9zLXdoaXRlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgaGVpZ2h0OiAzcHg7XG59XG5cbi5uYXYtd3JhcCAuaGFtYnVyZ2VyLWlubmVyLCAubmF2LXdyYXAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGhlaWdodDogM3B4O1xufVxuXG4ubmF2LXdyYXAgLm5hdi1kZW1vcy13aGl0ZSAuaGFtYnVyZ2VyLWlubmVyLCAubmF2LXdyYXAgLm5hdi1kZW1vcy13aGl0ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgaGVpZ2h0OiAzcHg7XG59XG5cbi5uYXYtd3JhcCAuaGFtYnVyZ2VyLWJveCB7XG4gIGhlaWdodDogMjRweDtcbn1cblxuLm5hdi13cmFwIC5oYW1idXJnZXItLWVsYXN0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0b3A6IDIycHg7XG59XG5cbi5uYXYtd3JhcCAuaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIycHgsIDApIHJvdGF0ZSgtMjcwZGVnKTtcbn1cblxuLm5hdi13cmFwLmFib3V0LW5hdi1hY3RpdmUsIC5uYXYtd3JhcC5jb250YWN0LW5hdi1hY3RpdmUge1xuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBoZWlnaHQ6IDNweDtcbiAgfVxuXG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gIH1cblxuICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGhlaWdodDogM3B4O1xuICB9XG5cblxuXG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogM3B4O1xuICB9XG5cbiAgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgfVxuXG4gIC5oYW1idXJnZXIuaXMtYWN0aXZlICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogM3B4O1xuICB9XG5cbiAgLmljb24tbG9nby5tZW51LXZpc2libGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cbiIsIi5ob3Zlci1hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xufVxuIiwiLnNlbGVjdGVkLXdvcmtzIHtcbiAgcGFkZGluZzogNjBweCAwIDEzMHB4IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnRhYnMge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmLnN0dWNrIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1xKDE0MDApIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYi1saW5rIHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAmLmN1cnJlbnQsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG5cbiAgLmVtYmVkLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4uc2VsZWN0ZWQtd29ya3MtbGlzdCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgJi50YWItY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gIH1cbiAgXG4gICYuY3VycmVudCxcbiAgJi50YWItY29udGVudC5jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIFxuICAgIEBpbmNsdWRlIG1xKDQ2MCkge1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5uby1oZWFkaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMTI2cHg7XG4gIH1cblxuICBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAxMHB4IDAgMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBtcSg2NTApIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gIH1cblxuICAmLS1maWxtcyB7XG4gICBsaSB7XG4gICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG4gICB9IFxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1zZWxlY3RlZC1kZW1vcyAuc2VsZWN0ZWQtd29ya3MtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi53b3Jrcy1pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cbiAgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvcGFjaXR5OiAuODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgfVxufVxuIiwiLmFib3V0IHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBhZGRpbmctdG9wOiAyMzBweDtcbiAgfVxufVxuXG4uYWJvdXRfX2hlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYWJvdXRfX2hlYWRpbmctLWV4cGVydGlzZSB7XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xufVxuXG4uYWJvdXRfX2NvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA4MHB4O1xuXG4gIHAge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG5cbiAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4uYWJvdXRfX2V4cGVydGlzZSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuXG4gIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMDBweCk7XG4gICAgfVxuICB9XG5cbiAgbGk6bnRoLWNoaWxkKDNuKzIpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIGxpOm50aC1jaGlsZCgzbisxKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgbGk6bnRoLWNoaWxkKDNuKzMpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWN0IHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBhZGRpbmctdG9wOiAyMzBweDtcbiAgfVxufVxuXG4uY29udGFjdF9faGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jb250YWN0X19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogODBweDtcblxuICBwIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuXG4gIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxudWwudGFicyB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGxpIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMyMjI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBsaSBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcblxuICAgIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzYpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBsaS5jdXJyZW50IGgzIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi50YWItY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLnRhYi1jb250ZW50LmN1cnJlbnQge1xuICBkaXNwbGF5OiBpbmhlcml0O1xufVxuIiwiLm9uc2l0ZSB7XG4gIHBhZGRpbmctdG9wOiAxMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBhZGRpbmctdG9wOiAyMzBweDtcbiAgfVxufVxuXG4ub25zaXRlX19oZWFkaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm9uc2l0ZV9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy10b3A6IDgwcHg7XG5cbiAgcCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cblxuLm9uc2l0ZS1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGxpLnNsaWRlci12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLnNsaWRlci1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1xKDg1MCkge1xuICAgIHotaW5kZXg6IDEwNDA7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAyMDBweDtcblxuICAgIEBpbmNsdWRlIG1xKDUwMCkge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSg4NTApIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIHZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXItaXRlbV9faW5uZXItdmlkZW8ge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIG1xKDg1MCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuLm9uc2l0ZV9fYm90dG9tIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIEBpbmNsdWRlIG1xKDg1MCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG9yZGVyOiAyO1xuXG4gICAgQGluY2x1ZGUgbXEoODUwKSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIG1heC13aWR0aDogNTc4cHg7XG4gICAgfVxuXG4gICAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRyb2xzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgb3JkZXI6IDE7XG5cbiAgICBAaW5jbHVkZSBtcSg4NTApIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4uaWNvbi1hcnJvdyB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uaWNvbi1hcnJvdy5wcmV2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbiIsIi50ZWFtIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKDYwMCkge1xuICAgIHBhZGRpbmctdG9wOiAyMzBweDtcbiAgfVxufVxuXG4udGVhbV9faGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ZWFtX19jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogODBweDtcblxuICBwIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuXG4gIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGEgaDQge1xuICAgIGNvbG9yOiAkYmx1ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLnRlYW0tbWVtYmVycyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxMzBweDtcblxuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjMwcHg7XG4gIH1cblxuICA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcblxuICAgIEBpbmNsdWRlIG1xKDY1MCkge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAzMDBweCk7XG4gICAgfVxuICB9XG5cbiAgPiBsaTpudGgtY2hpbGQoM24rMikge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbXEoNjUwKSB7XG4gICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSg5OTkpIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKDY1MCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSg5OTkpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gID4gbGk6bnRoLWNoaWxkKDNuKzMpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtcSg2NTApIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLnRlYW0tbWVtYmVyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgbGk6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGxpOm50aC1jaGlsZCgzKSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxufVxuIiwiLm1mcC1iZyB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG59XG5cbi5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTgwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcblxuICAubW9kYWwtYXJyb3dzIHtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIGJvdHRvbTogNDBweDtcblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgYm90dG9tOiAtMzBweDtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlLXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gIHBhZGRpbmc6IDgwcHggMjBweCA2MHB4IDIwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDQ1ICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgbXEoMTE3MCkge1xuICAgIHBhZGRpbmc6IDIwcHggNjBweDtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50X19kYXRhIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5tZnAtY2xvc2UubW9kYWwtY2xvc2Uge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDExMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIHJpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG5cbiAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgdG9wOiAtMzBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKDExNzApIHtcbiAgICByaWdodDogNjBweDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvaWNvbnMvc3JjL2ljb24tYXJyb3cuc3ZnJykgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICB0b3A6IC0zMHB4O1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDE7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAuNztcbiAgfVxuXG59XG5cbi5tb2RhbC1hcnJvd3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMwcHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IC4zO1xuICB9XG59XG5cbi5tb2RhbC1hcnJvd3MucmlnaHQtaWNvbiB7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2ljb25zL3NyYy9pY29uLWFycm93LnN2ZycpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMjRweDtcbiAgcmlnaHQ6IDIwcHg7XG5cbiAgQGluY2x1ZGUgbXEoMTE3MCkge1xuICAgIHJpZ2h0OiA2MHB4O1xuICB9XG59XG5cbi5tb2RhbC1hcnJvd3MubGVmdC1pY29uIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvaWNvbnMvc3JjL2ljb24tYXJyb3cuc3ZnJykgbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICByaWdodDogODBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblxuICBAaW5jbHVkZSBtcSgxMTcwKSB7XG4gICAgcmlnaHQ6IDEyMHB4O1xuICB9XG59XG5cblxuLypcblxuPT09PT09IFpvb20gZWZmZWN0ID09PT09PVxuXG4qL1xuLm1mcC16b29tLWluIHtcblxuICAvKiBzdGFydCBzdGF0ZSAqL1xuICAubWZwLXdpdGgtYW5pbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIH1cblxuICAmLm1mcC1iZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgfVxuXG4gIC8qIGFuaW1hdGUgaW4gKi9cbiAgJi5tZnAtcmVhZHkge1xuICAgIC5tZnAtd2l0aC1hbmltIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgICAmLm1mcC1iZyB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxuICB9XG5cbiAgLyogYW5pbWF0ZSBvdXQgKi9cbiAgJi5tZnAtcmVtb3Zpbmcge1xuXG4gICAgLm1mcC13aXRoLWFuaW0ge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgJi5tZnAtYmcge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICZfX2RhdGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgICBvcmRlcjogMjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3ZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBvcmRlcjogMTtcblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gIH1cbn1cblxuLmVtYmVkLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXG4uZW1iZWQtY29udGFpbmVyIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5kZXRhaWxzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgcCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuXG4vLyBDT05UQUNUIE1PREFMXG4ubW9kYWwtY29udGVudF9faW50cm8ge1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBtcSg5OTkpIHtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgaDUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLm1vZGFsLWNvbnRlbnRfX2ludHJvIHtcblxuICBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG5cbiAgcCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cbn1cblxuLm1vZGFsLWNvbnRlbnRfX2Zvcm0ge1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBtcSg5OTkpIHtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxufVxuXG4uY29udGFjdC1tb2RhbC13cmFwIHtcbiAgcGFkZGluZzogNjBweCAyMHB4O1xuXG4gIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgIHBhZGRpbmc6IDgwcHggNjBweDtcbiAgfVxufVxuXG5cbi8vIENPTlRBQ1QgRk9STVxuLmdmb3JtX3dyYXBwZXIge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLmdmb3JtX2Zvb3RlciB7XG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmZyb3N0LWZvcm0ge1xuICBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdmb3JtX2JvZHkge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLmdmb3JtX2JvZHkgdWwgbGk6Zmlyc3QtY2hpbGQsIC5nZm9ybV9ib2R5IHVsIGxpOm50aC1jaGlsZCg1KSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5nZm9ybV9maWVsZHMge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5mb3JtLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTcxNyAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiA2cHggMTBweCA0cHggMTBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXRleHQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTUwcHggIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAzICFpbXBvcnRhbnQ7XG5cbiAgICAgIEBpbmNsdWRlIG1xKDk5OSkge1xuICAgICAgICBoZWlnaHQ6IDMwNXB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBibGluayB7XG4gICAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWE6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIGxlZnQ6IDI2MHB4O1xuICAgICAgY29udGVudDogJ3wnO1xuICAgICAgei1pbmRleDogMiAhaW1wb3J0YW50O1xuICAgICAgYW5pbWF0aW9uOiBibGluayAxcyBzdGVwLXN0YXJ0IDBzIGluZmluaXRlO1xuICAgIH1cblxuICAgIC5naW5wdXRfY29udGFpbmVyLmdpbnB1dF9jb250YWluZXJfdGV4dGFyZWEuZm9jdXM6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgdGV4dGFyZWE6Zm9jdXMsIHRleHRhcmVhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxNzE3O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzE3MTcxNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycztcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ2lucHV0X2NvbnRhaW5lcl9maWxldXBsb2FkIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdmb3JtX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNikgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gIH1cblxuICAuZ2Zvcm1fYnV0dG9uOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAuNztcbiAgfVxufVxuXG4vLyBFUlJPUiBTVFlMRVNcblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvciwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQuZ2ZpZWxkX2NyZWRpdGNhcmRfd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3IgaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXN1Ym1pdF0pOm5vdChbdHlwZT1idXR0b25dKTpub3QoW3R5cGU9aW1hZ2VdKTpub3QoW3R5cGU9ZmlsZV0pLCAuZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGRfZXJyb3IgdGV4dGFyZWEge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZWQgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkX2Vycm9yIHtcbiAgcGFkZGluZy1yaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBsaS5nZmllbGQuZ2ZpZWxkX2Vycm9yLmdmaWVsZF9jb250YWluc19yZXF1aXJlZCBkaXYuZ2lucHV0X2NvbnRhaW5lciwgLmdmb3JtX3dyYXBwZXIgbGkuZ2ZpZWxkLmdmaWVsZF9lcnJvci5nZmllbGRfY29udGFpbnNfcmVxdWlyZWQgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiA4cHggIWltcG9ydGFudDtcbn1cblxuLmdmb3JtX3dyYXBwZXIgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciAuZmllbGRfZGVzY3JpcHRpb25fYmVsb3cgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDBweCAhaW1wb3J0YW50O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciBkaXYudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgcmVkICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJlZCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIuc2luZ2xlLXdvcmtzLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwNDg7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi53b3Jrcy1iYWNrIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLndvcmtzLWJhY2stYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogJHdoaXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luOiAtMjBweDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAtMzBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9pY29ucy9zcmMvaWNvbi1hcnJvdy5zdmcnKSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IC43O1xuICB9XG59XG5cbi53b3Jrcy1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gIC53b3Jrcy1uYXZfX2xlZnQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC5pY29uLWFycm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4ud29ya3MtbmF2LndvcmtzLW5hdi0tbW9iaWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbXEoOTk5KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLmNvbW1lbnRzIHtcbiAgcGFkZGluZy10b3A6IDEzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgcGFkZGluZy10b3A6IDIzMHB4O1xuICB9XG5cbiAgcCB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5cbi5jb21tZW50c19faGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4iLCJmb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgLmNvbnRlbnQtd3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbmZvb3Rlci5mb290ZXItZGVtb3Mge1xuICBwYWRkaW5nLXRvcDogMTMwcHg7XG5cbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgcGFkZGluZy10b3A6IDIzMHB4O1xuICB9XG59XG5cbi5zb2NpYWwtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogODBweDtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBsaSB7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSg2NTApIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgIH1cbiAgfVxufVxuXG5mb290ZXIuZm9vdGVyLXdvcmtzIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xufVxuIl19 */
