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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

br.mobile-break {
  display: none; }
  @media only screen and (max-width: 550px) {
    br.mobile-break {
      display: inline; } }

br.tablet-break {
  display: none; }
  @media only screen and (max-width: 768px) {
    br.tablet-break {
      display: inline; } }

br.desktop-break {
  display: none; }
  @media only screen and (min-width: 769px) {
    br.desktop-break {
      display: inline; } }

body {
  font-family: Helvetica, Arial, sans-serif;
  font-weight: 400; }

h1, h2, h3, h4, h5, h6, ul, p, blockquote {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  -webkit-padding-end: 0;
  margin: 0;
  padding: 0; }

p.italic,
a.italic,
ul.italic,
li.italic,
span.italic,
small.italic,
label.italic,
td.italic,
th.italic,
h1.italic, h2.italic, h3.italic, h4.italic, h5.italic, h6.italic {
  font-style: italic; }

p.bold,
a.bold,
ul.bold,
li.bold,
span.bold,
small.bold,
label.bold,
td.bold,
th.bold,
h1.bold, h2.bold, h3.bold, h4.bold, h5.bold, h6.bold {
  font-weight: bold; }

p.black,
a.black,
ul.black,
li.black,
span.black,
small.black,
label.black,
td.black,
th.black,
h1.black, h2.black, h3.black, h4.black, h5.black, h6.black {
  color: #000 !important; }

p.no-margin,
a.no-margin,
ul.no-margin,
li.no-margin,
span.no-margin,
small.no-margin,
label.no-margin,
td.no-margin,
th.no-margin,
h1.no-margin, h2.no-margin, h3.no-margin, h4.no-margin, h5.no-margin, h6.no-margin {
  margin: 0 !important; }

body {
  overflow-x: hidden; }

.site-wrapper {
  width: 100%;
  max-width: 980px;
  margin: 0 auto; }
  .site-wrapper.wide {
    max-width: 1160px; }
  @media only screen and (max-width: 1005px) {
    .site-wrapper {
      max-width: none; } }

.globe-image {
  position: absolute;
  top: 0px;
  left: 15px;
  z-index: -1;
  width: 560px;
  height: 379px;
  display: block;
  background-image: url("https://www.forging.org/assets/images/globe_fade.png");
  background-repeat: no-repeat;
  background-position: left top;
  border: none;
  outline: none;
  overflow: visible;
  max-width: 100%; }
  @media only screen and (max-width: 560px) {
    .globe-image {
      left: 0; } }

.table-container {
  overflow-x: scroll; }

.clear {
  clear: both; }

table.split td {
  width: 50%; }

@media screen, projection {
  cufon cufontext {
    display: -moz-inline-box !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    text-align: left !important;
    text-indent: -10000in !important; } }

@media screen, projection {
  cufon {
    display: inline !important;
    display: inline-block !important;
    position: relative !important;
    vertical-align: middle !important;
    font-size: 1px !important;
    line-height: 1px !important; }
  cufon {
    text-indent: 0 !important; }
  cufon canvas {
    position: relative !important; } }

.side-text-container {
  float: right;
  width: calc(100% - 300px);
  text-align: center; }
  @media only screen and (max-width: 550px) {
    .side-text-container {
      width: 100%;
      float: none; } }

.side-image-container {
  float: left; }
  @media only screen and (max-width: 550px) {
    .side-image-container {
      float: none;
      text-align: center; } }

@media only screen and (max-width: 760px) {
  .event-block-buttons-container a {
    display: block; } }

header {
  width: 100%;
  position: relative;
  z-index: 2; }
  @media only screen and (max-width: 1005px) {
    header {
      margin-bottom: 0 !important; } }

.nav-wrapper {
  max-width: 980px;
  margin: 0 auto; }

.header-top {
  margin-bottom: 10px; }
  .header-top a {
    text-decoration: none; }
  @media only screen and (max-width: 1005px) {
    .header-top {
      position: relative;
      padding: 0 20px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  .header-top .logo {
    width: 511px;
    height: 118px;
    padding-top: 12px;
    padding-right: 20px;
    margin-top: 0px;
    margin-bottom: 0px;
    background-image: url("https://www.forging.org/assets/images/forging-sprite1.png");
    background-position: 0 -170px;
    background-repeat: no-repeat;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    margin-right: -5px; }
    @media only screen and (max-width: 690px) {
      .header-top .logo {
        margin-top: 0;
        width: 95px; } }
  .header-top .logo-new {
    width: 511px;
    height: 118px;
    padding-top: 12px;
    padding-right: 20px;
    margin-top: 0px;
    margin-bottom: 0px;
    background-image: url("https://www.forging.org/assets/images/logo-new.png");
    background-repeat: no-repeat;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    margin-right: -5px;
    background-size: 200px;
    background-position: left center; }
    @media only screen and (max-width: 690px) {
      .header-top .logo-new {
        margin-top: 0;
        width: 200px; } }
  .header-top .section-right {
    width: calc(100% - 511px);
    display: inline-block;
    vertical-align: top;
    text-align: right; }
    @media only screen and (max-width: 1005px) {
      .header-top .section-right {
        position: absolute;
        right: 20px;
        top: 50%;
        width: auto;
        -moz-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%); } }
    @media only screen and (max-width: 1005px) {
      .header-top .section-right div {
        display: none; } }
    .header-top .section-right div:first-of-type {
      margin-bottom: 9px; }
      @media only screen and (max-width: 1005px) {
        .header-top .section-right div:first-of-type {
          position: absolute;
          left: 10px;
          top: 0; } }
    .header-top .section-right div:last-of-type a {
      width: 286px;
      height: 42px;
      background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat 0px 0px;
      margin-top: 10px;
      display: inline-block; }
    .header-top .section-right div.social-search {
      margin-top: 30px; }
    .header-top .section-right .menu-button {
      color: #fff;
      width: 73px;
      height: 25px;
      display: inline-block;
      text-align: center;
      margin-right: -4px;
      padding: 5px 5px 0;
      letter-spacing: .5px;
      font-size: .8em;
      font-family: "franklin-gothic-urw",sans-serif;
      font-weight: 400;
      text-decoration: none;
      background-color: #333333; }
      @media only screen and (max-width: 1005px) {
        .header-top .section-right .menu-button {
          margin-right: -5px; } }
      .header-top .section-right .menu-button:first-of-type {
        background-color: #666666;
        -moz-border-bottom-left-radius: 7px;
        -webkit-border-bottom-left-radius: 7px;
        border-bottom-left-radius: 7px;
        background-clip: padding-box; }
      .header-top .section-right .menu-button:last-of-type {
        -moz-border-bottom-right-radius: 7px;
        -webkit-border-bottom-right-radius: 7px;
        border-bottom-right-radius: 7px;
        background-clip: padding-box; }
    .header-top .section-right .social-icon {
      width: 30px;
      height: 30px;
      display: inline-block;
      margin-right: 6px;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center; }
      .header-top .section-right .social-icon:first-of-type {
        background-image: url("https://www.forging.org/assets/images/linkedin-icon.png"); }
      .header-top .section-right .social-icon:nth-of-type(2) {
        background-image: url("https://www.forging.org/assets/images/facebook-icon.png"); }
      .header-top .section-right .social-icon:last-of-type {
        background-image: url("https://www.forging.org/assets/images/twitter-icon.png"); }
    .header-top .section-right form {
      width: 230px;
      height: 27px;
      text-align: left;
      display: inline-block;
      vertical-align: top; }
      .header-top .section-right form input {
        width: 100%;
        height: 30px;
        outline: none;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: .75em;
        border: 2px solid #E8E8E8;
        border-radius: 20px;
        padding: 5px 30px 5px 10px;
        background-size: 15px 15px;
        background-position: 200px center;
        background-repeat: no-repeat;
        background-image: url("https://www.forging.org/assets/images/magnify-icon.png"); }
    .header-top .section-right span {
      color: #000;
      text-decoration: underline;
      position: relative;
      bottom: 10px; }
      @media only screen and (min-width: 1006px) {
        .header-top .section-right span {
          display: none; } }
    .header-top .section-right .mdi {
      font-size: 2.5em;
      cursor: pointer;
      color: #f7f6f6;
      background-color: #333;
      margin: 0 0 0 10px;
      display: inline-block;
      width: 50px;
      text-align: center; }
      @media only screen and (min-width: 1006px) {
        .header-top .section-right .mdi {
          display: none; } }
      .header-top .section-right .mdi.hidden {
        display: none; }
      @media only screen and (max-width: 805px) {
        .header-top .section-right .mdi {
          margin-top: 0; } }

@media only screen and (min-width: 1006px) {
  .main-navigation {
    position: relative;
    display: block;
    z-index: 1;
    background-color: #801818; }
    .main-navigation .protected {
      background: url(https://www.forging.org/assets/images/protected-new.png) no-repeat;
      background-position: center;
      width: 20px;
      height: 20px;
      float: right;
      position: absolute;
      top: 22%;
      right: -24px;
      background-size: 10px auto; }
    .main-navigation .nav-list {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -moz-justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between; }
    .main-navigation li {
      box-sizing: border-box;
      position: relative;
      list-style-type: none;
      white-space: nowrap;
      text-align: center; }
      .main-navigation li.has-dropdown > a {
        position: relative;
        padding-right: 15px; }
        .main-navigation li.has-dropdown > a:after {
          display: block;
          content: '';
          position: absolute;
          right: 0;
          top: 50%;
          width: 10px;
          height: 10px;
          -moz-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
          background: url(https://www.forging.org/assets/images/chevron-down-white.png) no-repeat center;
          background-size: 10px auto; }
      .main-navigation li.has-dropdown .dropdown {
        visibility: hidden;
        opacity: 0;
        position: absolute;
        top: 58px;
        left: -2px;
        width: 217px;
        -webkit-transition: opacity 0.25s ease-in-out;
        -moz-transition: opacity 0.25s ease-in-out;
        -o-transition: opacity 0.25s ease-in-out;
        transition: opacity 0.25s ease-in-out; }
        .main-navigation li.has-dropdown .dropdown li {
          width: 100%; }
        .main-navigation li.has-dropdown .dropdown a {
          background: #651214;
          width: 100%;
          text-align: left;
          padding: 10px 24px 10px 10px;
          font-size: 1em;
          height: auto;
          white-space: normal; }
          .main-navigation li.has-dropdown .dropdown a:after {
            display: none; }
          .main-navigation li.has-dropdown .dropdown a:hover {
            background: #4F0F14; }
        .main-navigation li.has-dropdown .dropdown .member-lock {
          background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat -8px 0px;
          width: 20px;
          height: 20px;
          top: 8px;
          right: -23px;
          position: absolute; }
        .main-navigation li.has-dropdown .dropdown.open {
          visibility: visible;
          opacity: 1; }
        .main-navigation li.has-dropdown .dropdown .has-dropdown {
          position: relative; }
          .main-navigation li.has-dropdown .dropdown .has-dropdown .expand-right {
            background: url(https://www.forging.org/assets/images/chevron-down-white.png) no-repeat center;
            display: block;
            position: absolute;
            width: 20px;
            top: 22%;
            right: -24px;
            height: 25px;
            -moz-transform: rotate(-90deg);
            -o-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
            -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
            background-size: 10px auto; }
          .main-navigation li.has-dropdown .dropdown .has-dropdown .dropdown-side {
            visibility: hidden;
            opacity: 0;
            position: absolute;
            left: 250px;
            top: 0;
            width: 100%; }
            .main-navigation li.has-dropdown .dropdown .has-dropdown .dropdown-side a {
              background: #4F0F14;
              width: 100%;
              text-align: left;
              padding: 10px 24px 10px 10px;
              font-size: 1em;
              height: auto; }
              .main-navigation li.has-dropdown .dropdown .has-dropdown .dropdown-side a:hover {
                background: #33080E; }
            .main-navigation li.has-dropdown .dropdown .has-dropdown .dropdown-side.open {
              visibility: visible;
              opacity: 1; }
      .main-navigation li a {
        padding: 18px 13px;
        border: none;
        font-size: 18px;
        display: inline-block;
        color: #fff;
        text-align: center;
        text-decoration: none;
        font-family: franklin-gothic-urw-cond, sans-serif;
        font-style: normal;
        font-weight: 400; }
    .main-navigation .mobile-dropdown-arrow {
      display: none; } }

.bread-crumbs {
  background-color: #d1d1d1;
  border: 1px solid #000;
  -moz-border-top-left-radius: 15px;
  -moz-border-top-right-adius: 15px;
  -webkit-border-top-left-radius: 15px;
  -webkit-border-top-right-radius: 15px;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  background-clip: padding-box;
  padding: 10px 25px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 40px; }
  @media only screen and (max-width: 1005px) {
    .bread-crumbs {
      -moz-border-radius: 0;
      -webkit-border-radius: 0;
      border-radius: 0;
      background-clip: padding-box; } }
  .bread-crumbs a {
    padding-right: 6px;
    padding-left: 10px;
    color: #333;
    font-weight: bold;
    background: url("https://www.forging.org/assets/images/forging-sprite3.png") no-repeat 0 -439px;
    text-decoration: none;
    font-size: .75em;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: 400; }
    .bread-crumbs a:last-of-type {
      font-weight: bold; }

.interior-content {
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  font-size: 15px;
  color: #555;
  min-height: calc(100vh - 410px);
  position: relative; }
  .interior-content:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (max-width: 1005px) {
    .interior-content {
      min-height: calc(100vh - 374px); } }
  @media only screen and (max-width: 820px) {
    .interior-content {
      min-height: calc(100vh - 346px); } }
  .interior-content img {
    vertical-align: middle;
    max-width: 100%; }
  .interior-content p {
    line-height: 1.7em; }
  .interior-content .small {
    font-size: 12px; }
  .interior-content span.highlight {
    background-color: #ffff00; }
  .interior-content h1 {
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 600;
    font-size: 2em;
    margin-bottom: 15px;
    color: #971817; }
    .interior-content h1.main-heading {
      color: #000;
      font-size: 2.25em;
      font-family: "franklin-gothic-urw-comp",sans-serif;
      font-weight: 600; }
  .interior-content h2 {
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 600;
    font-size: 1.65em;
    margin-bottom: 15px;
    color: #971817; }
  .interior-content h3 {
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 600;
    font-size: 1.5em;
    margin-bottom: 15px;
    color: #6F1210; }
  .interior-content h4 {
    font-family: "franklin-gothic-urw-comp",sans-serif;
    font-weight: 600;
    font-size: 1.45em;
    color: #555;
    letter-spacing: 1px; }
  .interior-content h6 {
    font-family: "franklin-gothic-urw-comp";
    font-size: 18px; }
  
    .interior-content ul li {
      margin-bottom: 10px;
      font-size: 15px; }
      
  .interior-content ol li {
    margin-bottom: 20px; }
  .interior-content a {
    color: #951817;
    text-decoration: none; }
    .interior-content a:hover {
      color: #5a0e0e; }
  .interior-content .divider {
    width: 100%;
    height: 1px;
    background-color: #555; }
  .interior-content table:not(.plain) {
    width: 100%; }
    .interior-content table:not(.plain) tr:nth-of-type(even) {
      background-color: #eee; }
    .interior-content table:not(.plain) tr:nth-of-type(odd) {
      background-color: #fff; }
    .interior-content table:not(.plain) tr th {
      background-color: #961817;
      color: #fff;
      border: 1px solid #000;
      padding: 10px 5px;
      text-align: left;
      font-family: "franklin-gothic-urw-comp",sans-serif;
      font-weight: 400;
      font-size: 1.15em;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    .interior-content table:not(.plain) tr td {
      border: 1px solid #ccc;
      padding: 10px 5px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      vertical-align: top; }
  .interior-content table.plain tr a {
    color: blue;
    font-weight: bold; }
  .interior-content table.plain tr td {
    padding: 5px 0; }
    .interior-content table.plain tr td:first-of-type {
      white-space: nowrap;
      padding-right: 5px; }
    .interior-content table.plain tr td:nth-of-type(2) {
      padding-left: 5px; }
  .interior-content .outlined {
    border: 1px solid #ccc;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 5px; }
  .interior-content .small-content {
    width: 165px; }
    .interior-content .small-content.right {
      float: right;
      margin-left: 10px; }
    .interior-content .small-content.left {
      float: left;
      margin-right: 10px; }
  .interior-content .medium-content.right {
    float: right;
    margin-left: 10px; }
  .interior-content .medium-content.left {
    float: left;
    margin-right: 10px; }
  .interior-content .gray-section {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    width: 90%;
    margin: 60px auto;
    border: 1px solid #ccc;
    background-color: #eee; }
    .interior-content .gray-section:after {
      content: "";
      display: table;
      clear: both; }
  .interior-content .gallery {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .interior-content .gallery .gallery-section {
      display: inline-block;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0 10px;
      margin-bottom: 20px;
      vertical-align: top;
      text-align: center; }
      .interior-content .gallery .gallery-section p {
        text-align: left; }
      .interior-content .gallery .gallery-section.small {
        -webkit-box-flex: 0 0 33.333%;
        -moz-box-flex: 0 0 33.333%;
        -webkit-flex: 0 0 33.333%;
        -ms-flex: 0 0 33.333%;
        flex: 0 0 33.333%; }
        @media only screen and (max-width: 550px) {
          .interior-content .gallery .gallery-section.small {
            -webkit-box-flex: 0 0 50%;
            -moz-box-flex: 0 0 50%;
            -webkit-flex: 0 0 50%;
            -ms-flex: 0 0 50%;
            flex: 0 0 50%; } }
      .interior-content .gallery .gallery-section.large {
        -webkit-box-flex: 0 0 66.666%;
        -moz-box-flex: 0 0 66.666%;
        -webkit-flex: 0 0 66.666%;
        -ms-flex: 0 0 66.666%;
        flex: 0 0 66.666%; }
        @media only screen and (max-width: 550px) {
          .interior-content .gallery .gallery-section.large {
            -webkit-box-flex: 0 0 100%;
            -moz-box-flex: 0 0 100%;
            -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
            flex: 0 0 100%; } }
        .interior-content .gallery .gallery-section.large img {
          display: inline-block; }
    .interior-content .gallery a {
      width: 100%; }
  .interior-content .yellow-link {
    background-color: yellow; }

.interior-message {
  color: #234600;
  background: #fff;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  padding: 20px 20px 0 20px;
  font-size: 14px; }

.interior-content-container:after {
  content: "";
  display: table;
  clear: both; }

.site-wrapper {
  position: relative; }

.library-search {
  position: absolute;
  right: 20px;
  width: 310px;
  padding-top: 20px;
  max-width: 100%;
  text-align: left;
  z-index: 9; }
  .library-search h5 {
    font-size: 16px; }
  .library-search input {
    width: 100%;
    height: 30px;
    outline: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #E8E8E8;
    border-radius: 20px;
    font-size: 14px;
    padding: 5px 30px 5px 10px;
    background: url(https://www.forging.org/assets/images/magnify-icon.png) calc(100% - 10px) center/15px no-repeat; }
  @media only screen and (max-width: 499px) {
    .library-search {
      left: 20px;
      font-size: 3px;
      padding-top: 60px; }
      .library-search h5 {
        font-size: 13px; } }

.interior-content.tech-page h1 {
  margin-bottom: 80px; }

.interior-content > a:first-of-type {
  margin-top: -70px; }

@media only screen and (max-width: 499px) {
  .interior-content.tech-page > a:first-of-type {
    margin-top: 0; } }

footer {
  background-color: #fff;
  overflow: hidden; }
  footer .footer-top {
    width: 100%;
    height: 77px;
    display: inline-block;
    background: url("https://www.forging.org/assets/images/footer-background.jpg") repeat-x left top; }
    footer .footer-top div.logo-container {
      background: url("https://www.forging.org/assets/images/footer-fade.png") no-repeat center 9px;
      width: 100%;
      display: inline-block; }
      footer .footer-top div.logo-container div {
        width: 100%;
        max-width: 980px;
        height: 73px;
        margin: 0 auto;
        overflow: hidden;
        padding-top: 20px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        footer .footer-top div.logo-container div img {
          float: right; }
          @media only screen and (max-width: 500px) {
            footer .footer-top div.logo-container div img {
              display: none; } }
  footer section {
    width: 100%;
    height: 68px;
    padding: 20px 0 15px;
    font-size: 11px; }
    @media only screen and (max-width: 490px) {
      footer section {
        height: auto; } }
    footer section .footer-wrap {
      width: 100%;
      max-width: 980px;
      margin: 0 auto;
      overflow: hidden;
      background-color: #fff;
      padding-right: 7px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      position: relative; }
      footer section .footer-wrap:after {
        content: "";
        display: table;
        clear: both; }
      @media only screen and (max-width: 590px) {
        footer section .footer-wrap {
          overflow: visible;
          padding: 0 20px; } }
      footer section .footer-wrap .footer-nav {
        display: inline-block;
        margin-bottom: 30px; }
        @media only screen and (max-width: 490px) {
          footer section .footer-wrap .footer-nav {
            display: block;
            float: left; } }
        footer section .footer-wrap .footer-nav a {
          padding: 0 7px;
          -moz-box-sizing: border-box;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          text-decoration: none;
          border-right: 1px #000 solid;
          color: #333; }
          footer section .footer-wrap .footer-nav a:last-of-type {
            border-right: none; }
          @media only screen and (max-width: 490px) {
            footer section .footer-wrap .footer-nav a {
              display: block;
              border: none;
              padding: 0; } }
      footer section .footer-wrap .copyright {
        padding-left: 7px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        @media only screen and (max-width: 490px) {
          footer section .footer-wrap .copyright {
            float: right;
            clear: right;
            margin-top: 15px; } }
        @media only screen and (min-width: 491px) {
          footer section .footer-wrap .copyright .mobile-spacer {
            display: none; } }
      footer section .footer-wrap .footer-section {
        float: right;
        display: inline-block;
        text-align: right; }
        @media only screen and (max-width: 630px) {
          footer section .footer-wrap .footer-section {
            position: absolute;
            right: 7px;
            bottom: 0; } }
        @media only screen and (max-width: 590px) {
          footer section .footer-wrap .footer-section {
            right: 20px; } }
        @media only screen and (max-width: 490px) {
          footer section .footer-wrap .footer-section {
            position: static; } }
        footer section .footer-wrap .footer-section a {
          color: #951817;
          text-decoration: none; }
        footer section .footer-wrap .footer-section p {
          margin-bottom: 5px; }
        footer section .footer-wrap .footer-section .social-icon {
          display: inline-block;
          width: 20px;
          height: 21px;
          margin-left: 10px;
          background-size: contain;
          background-repeat: no-repeat;
          background-position: center;
          -moz-border-radius: 4px;
          -webkit-border-radius: 4px;
          border-radius: 4px;
          background-clip: padding-box; }
          footer section .footer-wrap .footer-section .social-icon:first-of-type {
            background-image: url("https://www.forging.org/assets/images/linkedin-icon.png"); }
          footer section .footer-wrap .footer-section .social-icon:nth-of-type(2) {
            background-image: url("https://www.forging.org/assets/images/facebook-icon.png"); }
          footer section .footer-wrap .footer-section .social-icon:last-of-type {
            background-image: url("https://www.forging.org/assets/images/twitter-icon.png"); }

.home-content {
  width: 100%;
  display: inline-block;
  height: 313px;
  margin-bottom: 10px; }
  @media only screen and (max-width: 1005px) {
    .home-content {
      height: auto;
      margin-bottom: 0;
      display: block; } }
  .home-content .content {
    display: inline-block;
    vertical-align: top;
    overflow: hidden; }
    @media only screen and (max-width: 1005px) {
      .home-content .content {
        display: block; } }
    .home-content .content.left {
      width: calc(100% - 461px);
      height: 100%;
      margin-right: -5px; }
      @media only screen and (max-width: 1005px) {
        .home-content .content.left {
          width: 100%;
          padding-bottom: 64%; } }
      .home-content .content.left .slide-navigation-container {
        width: 30px;
        height: 100%;
        text-align: right;
        padding-top: 10px;
        display: inline-block;
        background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat -1248px -499px;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        @media only screen and (max-width: 1005px) {
          .home-content .content.left .slide-navigation-container {
            display: none; } }
        .home-content .content.left .slide-navigation-container .slide-navigation {
          width: 30px;
          height: 24px;
          display: block;
          cursor: pointer; }
          .home-content .content.left .slide-navigation-container .slide-navigation.prev {
            background: url("https://www.forging.org/assets/images/forging-sprite6.png") no-repeat -1px -68px; }
          .home-content .content.left .slide-navigation-container .slide-navigation.next {
            background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat -2px -1890px; }
        .home-content .content.left .slide-navigation-container .slide-navigation-buttons {
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -webkit-flex-direction: column;
          -moz-flex-direction: column;
          -ms-flex-direction: column;
          flex-direction: column;
          -moz-justify-content: flex-start;
          -webkit-justify-content: flex-start;
          -ms-justify-content: flex-start;
          justify-content: flex-start;
          height: calc(100% - 50px);
          -moz-box-sizing: border-box;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          .home-content .content.left .slide-navigation-container .slide-navigation-buttons .slide-button {
            -webkit-box-flex: 1 1 53px;
            -moz-box-flex: 1 1 53px;
            -webkit-flex: 1 1 53px;
            -ms-flex: 1 1 53px;
            flex: 1 1 53px;
            width: 30px;
            cursor: pointer;
            background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat -561px -1680px #151515; }
            .home-content .content.left .slide-navigation-container .slide-navigation-buttons .slide-button:hover {
              background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat -561px -1950px #151515; }
            .home-content .content.left .slide-navigation-container .slide-navigation-buttons .slide-button.active {
              background: url("https://www.forging.org/assets/images/rotator_livebutton.jpg") no-repeat left center #2d0706; }
      .home-content .content.left .slideshow {
        width: calc(100% - 30px);
        height: 100%;
        position: relative;
        display: inline-block;
        float: right; }
        @media only screen and (max-width: 1005px) {
          .home-content .content.left .slideshow {
            width: 100%; } }
        .home-content .content.left .slideshow img {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: auto;
          display: none; }
          .home-content .content.left .slideshow img.active {
            display: block; }
    .home-content .content.right {
      width: 461px;
      height: 100%; }
      @media only screen and (max-width: 1005px) {
        .home-content .content.right {
          width: 100%;
          background-color: #fff; } }
      .home-content .content.right .tabs {
        width: 100%;
        display: inline-block; }
        .home-content .content.right .tabs .tab {
          width: 50%;
          height: 50px;
          display: inline-block;
          margin-right: -5px;
          font-family: "franklin-gothic-urw-comp",sans-serif;
          font-weight: 400;
          color: #fff;
          text-align: center;
          font-size: 1.3em;
          cursor: pointer;
          padding-top: 10px;
          -moz-box-sizing: border-box;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          @media only screen and (max-width: 1005px) {
            .home-content .content.right .tabs .tab {
              background-color: #6f1311;
              /* Fallback Color */
              background-image: -webkit-gradient(linear, left top, left bottom, from(#9a1a18), to(#6f1311));
              /* Saf4+, Chrome */
              background-image: -webkit-linear-gradient(top, #9a1a18, #6f1311);
              /* Chrome 10+, Saf5.1+, iOS 5+ */
              background-image: -moz-linear-gradient(top, #9a1a18, #6f1311);
              /* FF3.6 */
              background-image: -ms-linear-gradient(top, #9a1a18, #6f1311);
              /* IE10 */
              background-image: -o-linear-gradient(top, #9a1a18, #6f1311);
              /* Opera 11.10+ */
              background-image: linear-gradient(top, #9a1a18, #6f1311);
              filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#9a1a18', EndColorStr='#6f1311');
              cursor: default; } }
          @media only screen and (max-width: 700px) {
            .home-content .content.right .tabs .tab {
              width: 100%; }
              .home-content .content.right .tabs .tab:nth-of-type(2) {
                display: none; } }
          @media only screen and (min-width: 1006px) {
            .home-content .content.right .tabs .tab:first-of-type {
              background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat -561px -1535px; }
              .home-content .content.right .tabs .tab:first-of-type.active {
                background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat -561px -1335px; }
            .home-content .content.right .tabs .tab:last-of-type {
              background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat -17px -643px; }
              .home-content .content.right .tabs .tab:last-of-type.active {
                background: url("https://www.forging.org/assets/images/forging-sprite1.png") no-repeat 0px -543px; } }
      .home-content .content.right .content-block {
        width: 100%;
        height: calc(100% - 50px);
        background: url("https://www.forging.org/assets/images/home-content-background.jpg") no-repeat center;
        padding: 20px 10px 20px 30px;
        box-sizing: border-box;
        font-size: 13px;
        display: none; }
        @media only screen and (max-width: 1005px) {
          .home-content .content.right .content-block {
            display: block;
            float: left;
            width: 50%;
            height: auto;
            background: #fff; } }
        @media only screen and (max-width: 700px) {
          .home-content .content.right .content-block {
            width: 100%;
            padding: 20px 0; } }
        .home-content .content.right .content-block .tabs {
          display: none; }
          @media only screen and (max-width: 700px) {
            .home-content .content.right .content-block .tabs {
              display: block; }
              .home-content .content.right .content-block .tabs .tab {
                width: 100%;
                height: 50px;
                display: inline-block;
                margin-right: -5px;
                font-family: "franklin-gothic-urw-comp",sans-serif;
                font-weight: 400;
                color: #fff;
                text-align: center;
                font-size: 20.8px;
                padding-top: 10px;
                margin-bottom: 20px;
                -moz-box-sizing: border-box;
                -webkit-box-sizing: border-box;
                box-sizing: border-box;
                background-color: #6f1311;
                /* Fallback Color */
                background-image: -webkit-gradient(linear, left top, left bottom, from(#9a1a18), to(#6f1311));
                /* Saf4+, Chrome */
                background-image: -webkit-linear-gradient(top, #9a1a18, #6f1311);
                /* Chrome 10+, Saf5.1+, iOS 5+ */
                background-image: -moz-linear-gradient(top, #9a1a18, #6f1311);
                /* FF3.6 */
                background-image: -ms-linear-gradient(top, #9a1a18, #6f1311);
                /* IE10 */
                background-image: -o-linear-gradient(top, #9a1a18, #6f1311);
                /* Opera 11.10+ */
                background-image: linear-gradient(top, #9a1a18, #6f1311);
                filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#9a1a18', EndColorStr='#6f1311');
                cursor: default; } }
        .home-content .content.right .content-block.active {
          display: block; }
        .home-content .content.right .content-block div.content-section {
          border-bottom: 1px solid #bbb;
          margin-bottom: 8px;
          padding-bottom: 8px;
          -moz-box-sizing: border-box;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
          @media only screen and (max-width: 1005px) {
            .home-content .content.right .content-block div.content-section:nth-of-type(n+4) {
              display: none; } }
          @media only screen and (max-width: 700px) {
            .home-content .content.right .content-block div.content-section {
              padding: 0 20px; } }
          .home-content .content.right .content-block div.content-section:last-of-type {
            border: none; }
        .home-content .content.right .content-block ul {
          color: #971817;
          font-size: 1.4em;
          font-family: "franklin-gothic-urw",sans-serif;
          font-weight: 600;
          list-style: none; }
          .home-content .content.right .content-block ul span {
            color: #000; }
        .home-content .content.right .content-block p {
          color: #555; }
          .home-content .content.right .content-block p .content-link {
            background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat 62px -1188px;
            padding-right: 18px;
            text-decoration: none;
            display: inline-block;
            color: #951817;
            line-height: 2em;
            padding-left: 0; }
            .home-content .content.right .content-block p .content-link:hover {
              background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat 62px -1316px; }
        .home-content .content.right .content-block .content-link {
          display: none; }
          @media only screen and (max-width: 1005px) {
            .home-content .content.right .content-block .content-link {
              background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat 62px -1188px;
              padding-right: 20px;
              text-decoration: none;
              display: inline-block;
              color: #951817;
              line-height: 2em; }
              .home-content .content.right .content-block .content-link:hover {
                background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat 62px -1316px; } }
          @media only screen and (max-width: 700px) {
            .home-content .content.right .content-block .content-link {
              padding-left: 20px;
              background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat 82px -1188px; }
              .home-content .content.right .content-block .content-link:hover {
                background: url("https://www.forging.org/assets/images/forging-sprite4.png") no-repeat 82px -1316px; } }

.home-info {
  background: #EFEFEF; }
  .home-info .home-info-wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    align-items: center;
    font-family: franklin-gothic-urw-cond, sans-serif;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 30px;
    -moz-align-items: stretch;
    -webkit-align-items: stretch;
    -ms-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    @media only screen and (max-width: 895px) {
      .home-info .home-info-wrapper {
        -moz-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        background: #fff; } }
    @media only screen and (max-width: 650px) {
      .home-info .home-info-wrapper {
        padding: 0;
        height: unset; } }
  .home-info .info-container {
    -webkit-box-flex: 0 0 calc((100% / 3) - 13px);
    -moz-box-flex: 0 0 calc((100% / 3) - 13px);
    -webkit-flex: 0 0 calc((100% / 3) - 13px);
    -ms-flex: 0 0 calc((100% / 3) - 13px);
    flex: 0 0 calc((100% / 3) - 13px);
    background-position-x: center;
    background-size: contain;
    background-repeat: no-repeat;
    position: relative;
    padding-bottom: 49%;
    margin-bottom: 20px; }
    .home-info .info-container:not(.alt-image) {
      -moz-border-top-left-radius: 15px;
      -moz-border-top-right-adius: 15px;
      -webkit-border-top-left-radius: 15px;
      -webkit-border-top-right-radius: 15px;
      border-top-left-radius: 15px;
      border-top-right-radius: 15px;
      background-clip: padding-box; }
    .home-info .info-container .overlay-link {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
    @media only screen and (max-width: 895px) {
      .home-info .info-container.alt-image {
        width: 50%;
        flex: 0 0 50%;
        margin-bottom: 30px; } }
    @media only screen and (max-width: 650px) {
      .home-info .info-container.desktop {
        display: none; }
      .home-info .info-container.alt-image {
        padding-bottom: 100%;
        width: 100%;
        flex: 0 0 100%;
        margin-bottom: 15px;
        display: block; } }
    .home-info .info-container.list {
      box-sizing: border-box; }
      @media only screen and (min-width: 896px) {
        .home-info .info-container.list {
          -moz-border-radius: 15px;
          -webkit-border-radius: 15px;
          border-radius: 15px;
          background-clip: padding-box;
          padding-bottom: 0; } }
      @media only screen and (max-width: 895px) {
        .home-info .info-container.list {
          -webkit-box-flex: 0 0 50%;
          -moz-box-flex: 0 0 50%;
          -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
          flex: 0 0 50%;
          padding: 0 40px; } }
      @media only screen and (max-width: 650px) {
        .home-info .info-container.list {
          -webkit-box-flex: 0 0 100%;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%;
          padding: 0; } }
    .home-info .info-container .list-header {
      background: #801818;
      color: #fff;
      padding: 20px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -moz-justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -moz-align-items: center;
      -webkit-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      @media only screen and (min-width: 896px) {
        .home-info .info-container .list-header {
          -moz-border-top-left-radius: 15px;
          -moz-border-top-right-adius: 15px;
          -webkit-border-top-left-radius: 15px;
          -webkit-border-top-right-radius: 15px;
          border-top-left-radius: 15px;
          border-top-right-radius: 15px;
          background-clip: padding-box; } }
      .home-info .info-container .list-header .list-title {
        font-size: 24px;
        letter-spacing: .5px; }
        @media only screen and (max-width: 1000px) {
          .home-info .info-container .list-header .list-title {
            font-size: 20px; } }
      .home-info .info-container .list-header .list-link {
        color: #fff;
        font-family: Helvetica, Arial, sans-serif;
        font-size: 12px;
        font-weight: 100; }
    .home-info .info-container .list-container {
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 20px 0 0 10px;
      background: #fff; }
      @media only screen and (max-width: 895px) {
        .home-info .info-container .list-container {
          padding: 20px 10px 0; } }
    .home-info .info-container .list-content {
      padding: 1px; }
      @media only screen and (min-width: 896px) {
        .home-info .info-container .list-content {
          height: 385px; } }
      .home-info .info-container .list-content .content-section {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 15px;
        border-bottom: 1px solid #e8e8e8;
        margin-bottom: 15px; }
        .home-info .info-container .list-content .content-section:last-of-type {
          border-bottom: none; }
        .home-info .info-container .list-content .content-section.split {
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -moz-align-items: center;
          -webkit-align-items: center;
          -ms-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          -moz-justify-content: space-between;
          -webkit-justify-content: space-between;
          -ms-justify-content: space-between;
          justify-content: space-between;
          display: grid;
          grid-template-columns: fit-content(235px) fit-content(86px); }
          @media only screen and (max-width: 651px) {
            .home-info .info-container .list-content .content-section.split {
              display: flex; } }
          .home-info .info-container .list-content .content-section.split .left {
            padding-right: 5px; }
        @media only screen and (max-width: 895px) {
          .home-info .info-container .list-content .content-section.event:nth-of-type(n+4) {
            display: none; }
          .home-info .info-container .list-content .content-section.event:nth-of-type(3) {
            border-bottom: none; }
          .home-info .info-container .list-content .content-section.blog:nth-of-type(n+3) {
            display: none; }
          .home-info .info-container .list-content .content-section.blog:nth-of-type(2) {
            border-bottom: none; } }
      .home-info .info-container .list-content .list-item-title {
        font-weight: bold;
        font-size: 20px; }
      .home-info .info-container .list-content .list-item-date {
        margin-bottom: 10px; }
      .home-info .info-container .list-content p {
        color: #555;
        font-family: Helvetica, Arial, sans-serif;
        font-size: 12px; }
      .home-info .info-container .list-content .content-link {
        font-weight: 700;
        color: #801818;
        text-decoration: none;
        padding-right: 20px;
        background: url("https://www.forging.org/assets/images/chevron-right-crimson.png");
        background-repeat: no-repeat;
        background-position: right 4px;
        white-space: nowrap; }
    .home-info .info-container.content {
      color: #fff;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-flex-direction: column;
      -moz-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      -moz-justify-content: flex-start;
      -webkit-justify-content: flex-start;
      -ms-justify-content: flex-start;
      justify-content: flex-start;
      background-color: #262425;
      padding: 60px 30px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      -moz-border-radius: 15px;
      -webkit-border-radius: 15px;
      border-radius: 15px;
      background-clip: padding-box; }
      @media only screen and (min-width: 1000px) {
        .home-info .info-container.content {
          font-size: 1.1em; } }
      @media only screen and (max-width: 895px) {
        .home-info .info-container.content {
          -webkit-box-flex: 0 0 100%;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -moz-border-radius: 0;
          -webkit-border-radius: 0;
          border-radius: 0;
          background-clip: padding-box; } }
      @media only screen and (max-width: 550px) {
        .home-info .info-container.content {
          -moz-flex-wrap: wrap;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      .home-info .info-container.content img {
        -moz-align-self: left;
        -webkit-align-self: left;
        -ms-align-self: left;
        align-self: left; }
        .home-info .info-container.content img.info-container-logo {
          width: 37px;
          height: 20px; }
      .home-info .info-container.content div {
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 30px 0; }
        .home-info .info-container.content div p {
          margin-bottom: 20px;
          line-height: 27px; }
          .home-info .info-container.content div p:last-child {
            margin-bottom: 0; }
      .home-info .info-container.content a {
        color: #fff;
        text-decoration: none;
        -moz-border-radius: 20px;
        -webkit-border-radius: 20px;
        border-radius: 20px;
        background-clip: padding-box;
        background: #E1251B url("https://www.forging.org/assets/images/chevron-right-down-fat.png");
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px 60px 10px 30px;
        background-repeat: no-repeat;
        background-position: 110px center;
        font-size: 14px;
        display: inline-block;
        -moz-align-self: left;
        -webkit-align-self: left;
        -ms-align-self: left;
        align-self: left; }
    .home-info .info-container.mobile {
      display: none; }
      @media only screen and (max-width: 550px) {
        .home-info .info-container.mobile {
          padding-bottom: 100%;
          width: 100%;
          flex: 0 0 100%;
          margin-bottom: 15px;
          display: block; } }

.multi-info-wrapper {
  border-bottom: 10px solid #801818; }

.mobile-calendar {
  padding-bottom: 20px !important;
  flex-basis: 80% !important;
  justify-self: center !important;
  align-self: center !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  -moz-transform: translateX(-50%) !important; }

.ad-container {
  background: #D1D1D1;
  box-sizing: border-box;
  padding: 40px 60px;
  line-height: 0; }
  @media only screen and (max-width: 768px) {
    .ad-container {
      padding: 0; } }
  .ad-container img {
    width: 100%;
    height: auto; }

.mCS-dark.mCSB_scrollTools .mCSB_draggerRail {
  width: 7px;
  background: rgba(56, 56, 56, 0.1);
  background-repeat-y: repeat;
  border-radius: 0;
  opacity: 1; }

.mCSB_scrollTools .mCSB_dragger {
  background: rgba(56, 56, 56, 0.25);
  opacity: 1;
  width: 7px;
  left: 5px; }

.mCS-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background-color: transparent !important;
  opacity: 1; }

.mCSB_scrollTools {
  opacity: 1; }

.mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
  margin-right: 30px; }
  @media only screen and (max-width: 700px) {
    .mCSB_container.mCS_no_scrollbar_y.mCS_y_hidden {
      margin: 0; } }

.mCSB_inside > .mCSB_container {
  margin-right: 20px; }

.categories-section {
  width: 100%;
  display: inline-block; }
  @media only screen and (max-width: 1005px) {
    .categories-section {
      display: block;
      overflow: hidden; } }
  .categories-section .category-section {
    background: url("https://www.forging.org/assets/images/hp_industytab_bk.png") no-repeat top center;
    width: 205px;
    height: 321px;
    padding-left: 15px;
    padding-right: 15px;
    margin-right: 8.8px;
    position: relative;
    display: inline-block;
    vertical-align: top; }
    @media only screen and (max-width: 1005px) {
      .categories-section .category-section {
        display: block;
        width: 50%;
        margin: 0;
        float: left;
        padding: 0 0 30px;
        background: #fff; } }
    @media only screen and (max-width: 550px) {
      .categories-section .category-section {
        width: 100%;
        padding: 0 0 50px; } }
    .categories-section .category-section:last-of-type {
      margin-right: 0; }
    .categories-section .category-section h3 {
      color: #FFF;
      text-decoration: none;
      padding-top: 13px;
      height: 39px;
      font-size: 1.3em;
      font-family: "franklin-gothic-urw-comp",sans-serif;
      font-weight: 400; }
      @media only screen and (max-width: 1005px) {
        .categories-section .category-section h3 {
          background-color: #6f1311;
          /* Fallback Color */
          background-image: -webkit-gradient(linear, left top, left bottom, from(#9a1a18), to(#6f1311));
          /* Saf4+, Chrome */
          background-image: -webkit-linear-gradient(top, #9a1a18, #6f1311);
          /* Chrome 10+, Saf5.1+, iOS 5+ */
          background-image: -moz-linear-gradient(top, #9a1a18, #6f1311);
          /* FF3.6 */
          background-image: -ms-linear-gradient(top, #9a1a18, #6f1311);
          /* IE10 */
          background-image: -o-linear-gradient(top, #9a1a18, #6f1311);
          /* Opera 11.10+ */
          background-image: linear-gradient(top, #9a1a18, #6f1311);
          filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#9a1a18', EndColorStr='#6f1311'); } }
    .categories-section .category-section img {
      margin-left: -12px; }
      @media only screen and (max-width: 1005px) {
        .categories-section .category-section img {
          margin: 0;
          width: 100%; } }
    .categories-section .category-section p {
      font-size: 13px;
      line-height: 20px;
      color: #555;
      padding-top: 10px;
      padding-bottom: 10px; }
      @media only screen and (max-width: 1005px) {
        .categories-section .category-section p {
          padding: 10px 30px; } }
    .categories-section .category-section .more-link-container {
      position: absolute;
      bottom: 2px;
      right: 0px; }
      .categories-section .category-section .more-link-container a {
        background: url("https://www.forging.org/assets/images/learnMore_button.png") no-repeat scroll left top transparent;
        text-shadow: 2px 2px 2px black;
        color: #fff;
        display: block;
        font-size: 12px;
        font-weight: bold;
        height: 20px;
        margin-bottom: 10px;
        margin-left: 0px;
        margin-top: 10px;
        padding: 3px 20px 4px 12px;
        width: 108px;
        line-height: 1.7em;
        text-shadow: 2px 2px 2px black;
        text-decoration: none; }
        .categories-section .category-section .more-link-container a:hover {
          background: url("https://www.forging.org/assets/images/learnMore_button_over.png") no-repeat left top; }

.slideshow-container {
  height: 250px;
  background: url("https://www.forging.org/assets/images/hp_bottombar.jpg") repeat-x left top; }
  .slideshow-container .slideshow-wrapper {
    width: 980px;
    margin: 0 auto;
    height: 245px;
    max-width: 100%;
    background: url("https://www.forging.org/assets/images/hpvideosbk.jpg") no-repeat 4px 7px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px; }
    .slideshow-container .slideshow-wrapper .video-slideshow-header {
      margin-bottom: 35px; }
    .slideshow-container .slideshow-wrapper span:first-of-type {
      font-family: "franklin-gothic-urw-comp",sans-serif;
      font-weight: 600;
      font-size: 1.4em;
      line-height: 1em; }
    .slideshow-container .slideshow-wrapper span:last-of-type {
      float: right;
      font-weight: 100;
      font-size: 13px;
      margin-right: 100px; }
    .slideshow-container .slideshow-wrapper .slideshow-arrow-container {
      display: inline-block;
      width: 100%; }
      .slideshow-container .slideshow-wrapper .slideshow-arrow-container .video-slide-navigation {
        width: 44px;
        height: 45px;
        cursor: pointer;
        margin-right: -4px;
        display: inline-block;
        vertical-align: top;
        margin-top: 25px; }
        .slideshow-container .slideshow-wrapper .slideshow-arrow-container .video-slide-navigation.prev {
          background: transparent url("https://www.forging.org/assets/images/forging-sprite5.png") no-repeat -12px -864px; }
        .slideshow-container .slideshow-wrapper .slideshow-arrow-container .video-slide-navigation.next {
          background: transparent url("https://www.forging.org/assets/images/forging-sprite5.png") no-repeat 10px -1149px; }
    .slideshow-container .slideshow-wrapper .video-slideshow {
      width: calc(100% - 88px);
      display: inline-block;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      margin-right: -4px; }
      .slideshow-container .slideshow-wrapper .video-slideshow .slide {
        display: inline-block;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        width: 171px;
        text-align: center; }
        .slideshow-container .slideshow-wrapper .video-slideshow .slide a {
          position: absolute;
          top: 0;
          right: 0;
          left: 0;
          bottom: 0;
          margin: auto;
          background: url("https://www.forging.org/assets/images/playIcon.png") no-repeat center; }
          .slideshow-container .slideshow-wrapper .video-slideshow .slide a:hover {
            background: url("https://www.forging.org/assets/images/playIcon_over.png") no-repeat center; }
        .slideshow-container .slideshow-wrapper .video-slideshow .slide img {
          border: 2px solid #fff;
          margin: 0 auto;
          width: 134px; }
    .slideshow-container .slideshow-wrapper .more-link {
      display: block;
      width: 52px;
      height: 25px;
      background: url("https://www.forging.org/assets/images/learnMore_button.png") no-repeat left top;
      text-shadow: 2px 2px 2px black;
      color: #FFF;
      font-size: 12px;
      padding-top: 6px;
      padding-left: 8px;
      padding-right: 60px;
      font-weight: bold;
      float: right;
      text-decoration: none;
      margin-right: 40px; }
      @media only screen and (max-width: 550px) {
        .slideshow-container .slideshow-wrapper .more-link {
          float: none;
          position: relative;
          bottom: 8px; } }
      .slideshow-container .slideshow-wrapper .more-link:hover {
        background: url("https://www.forging.org/assets/images/learnMore_button_over.png") no-repeat left top; }

.contact-container {
  border-top: 1px solid #888;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 30px;
  margin-top: 30px; }
  .contact-container label,
  .contact-container input[type="text"] {
    display: block; }
  .contact-container input[type="text"],
  .contact-container textarea,
  .contact-container select {
    border: 1px solid #888;
    -webkit-box-shadow: 3px 3px 4px #ccc;
    -moz-box-shadow: 3px 3px 4px #ccc;
    box-shadow: 3px 3px 4px #ccc;
    outline: none;
    resize: none;
    width: 50%;
    padding: 5px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .contact-container label {
    font-weight: 600;
    margin-bottom: 5px; }
  .contact-container span {
    color: #f00; }
  .contact-container input[type="text"],
  .contact-container select {
    margin-bottom: 10px; }
  .contact-container input[type="submit"] {
    background: url("https://www.forging.org/assets/images/default-button-bk-sprite.png") repeat-x 0 -42px;
    color: #FFF;
    border: 1px solid #320808;
    padding: 6px;
    cursor: pointer;
    font-weight: bold;
    font-size: 15px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    background-clip: padding-box;
    display: block;
    margin-top: 10px; }

.companies-table {
  width: 100%;
  border: 1px solid #ccc; }
  .companies-table tr:nth-of-type(even) {
    background-color: #eee; }
  .companies-table tr:nth-of-type(odd) {
    background-color: #fff; }
  .companies-table tr th {
    background-color: #961817;
    color: #fff;
    border: 1px solid #000;
    padding: 10px 5px;
    text-align: left;
    font-family: "franklin-gothic-urw-comp",sans-serif;
    font-weight: 400;
    font-size: 1.15em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .companies-table tr td {
    border: 1px solid #ccc;
    padding: 10px 5px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .companies-table tr td.child-company {
      padding-left: 30px; }

.map-section .map {
  float: left;
  margin-right: 50px; }
  .map-section .map a {
    display: block;
    background: #941818;
    text-align: center;
    color: #FFF;
    padding: 10px;
    font-size: 11px;
    font-weight: bold;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }

.tabs:after {
  content: "";
  display: table;
  clear: both; }

.tabs span {
  background: url(https://www.forging.org/assets/images/tab-background.jpg) repeat-x scroll left bottom;
  margin-right: 10px;
  color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 8px 15px;
  -moz-border-top-left-radius: 4px;
  -moz-border-top-right-adius: 4px;
  -webkit-border-top-left-radius: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  background-clip: padding-box;
  cursor: pointer;
  font-family: "franklin-gothic-urw-comp",sans-serif;
  font-weight: 600;
  text-shadow: 2px 2px 2px black;
  font-size: 1.2em;
  letter-spacing: 1px;
  display: block;
  float: left; }
  @media only screen and (max-width: 550px) {
    .tabs span {
      margin-right: 6px; } }
  .tabs span.active {
    background: url(https://www.forging.org/assets/images/tab-background-hover.jpg) repeat-x bottom left; }
  .tabs span:hover {
    background: url(https://www.forging.org/assets/images/tabs-background-hover.jpg) repeat-x bottom left; }

.tab-sections {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 5px; }
  .tab-sections .tab-section {
    display: none; }
    .tab-sections .tab-section.active {
      display: block; }

.blog-section {
  border-bottom: 1px solid #999;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 20px 0; }
  .blog-section:last-of-type {
    border-bottom: none; }
  .blog-section:first-of-type {
    padding-top: 0; }
  .blog-section .blog-date {
    font-style: italic;
    font-size: .8em; }
  .blog-section .more-link {
    background: url("https://www.forging.org/assets/images/learnMore_button.png") no-repeat scroll left top transparent;
    color: #fff;
    display: block;
    font-size: 12px;
    font-weight: bold;
    height: 20px;
    padding: 3px 20px 4px 12px;
    width: 108px;
    line-height: 1.7em;
    text-shadow: 2px 2px 2px black;
    text-decoration: none;
    margin-top: 10px; }
    .blog-section .more-link:hover {
      color: #fff; }

.video {
  width: 100%;
  height: auto;
  min-height: 500px; }

.video-landing {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .video-landing .video-container {
    -webkit-box-flex: 0 0 49%;
    -moz-box-flex: 0 0 49%;
    -webkit-flex: 0 0 49%;
    -ms-flex: 0 0 49%;
    flex: 0 0 49%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #ccc;
    position: relative;
    -webkit-box-shadow: 3px 3px 4px #ccc;
    -moz-box-shadow: 3px 3px 4px #ccc;
    box-shadow: 3px 3px 4px #ccc; }
    .video-landing .video-container a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url("https://www.forging.org/assets/images/playIcon.png") no-repeat center; }
      .video-landing .video-container a:hover {
        background: url("https://www.forging.org/assets/images/playIcon_over.png") no-repeat center; }
    .video-landing .video-container img {
      width: 100%;
      height: auto; }
    .video-landing .video-container h2 {
      font-size: 1.25em;
      margin: 0; }
  .video-landing .video-divider {
    height: 1px;
    width: 100%;
    margin: 20px 0;
    background-color: #ddd; }

.careers-content {
  width: 100%;
  background: #fff url("https://www.forging.org/assets/images/careerBackground.png") no-repeat left top;
  background-size: 100% auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  position: relative; }
  @media only screen and (min-width: 1006px) {
    .careers-content {
      padding: 23px 130px 0; } }
  @media only screen and (max-width: 1005px) {
    .careers-content {
      background: #fff; } }
  .careers-content .background {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 0; }
    @media only screen and (max-width: 1005px) {
      .careers-content .background {
        display: none; } }
  @media only screen and (min-width: 1006px) {
    .careers-content .career-column {
      margin: 22px 0 0 0;
      width: 40%;
      background: url(https://www.forging.org/assets/images/careers_list_bk.png) no-repeat bottom center;
      vertical-align: bottom;
      position: relative;
      z-index: 1;
      min-height: 250px;
      background-size: 108% auto;
      text-align: center; }
      .careers-content .career-column:first-of-type {
        float: left; }
      .careers-content .career-column:last-of-type {
        float: right; } }
  .careers-content .career-column a {
    display: block;
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 600;
    color: #000;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
    text-align: left;
    width: 85%;
    background: url(https://www.forging.org/assets/images/forging-sprite6.png) no-repeat right -1955px;
    font-size: 1.3em; }
    @media only screen and (min-width: 1006px) {
      .careers-content .career-column a {
        margin: 0 auto; } }
    @media only screen and (max-width: 1005px) {
      .careers-content .career-column a {
        width: 100%; } }
    .careers-content .career-column a:hover {
      color: #555; }
  .careers-content .career-link {
    display: block;
    margin: 10px 0;
    margin-top: 22px !important; }
    @media only screen and (min-width: 1006px) {
      .careers-content .career-link {
        background: url(https://www.forging.org/assets/images/forging-sprite1.png) no-repeat 0 -743px;
        width: 40%;
        height: 65px;
        text-align: center;
        color: #fff !important;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-top: 10px;
        margin: 22px 70px 15px 0;
        float: left; }
        .careers-content .career-link:hover {
          background: url(https://www.forging.org/assets/images/forging-sprite1.png) no-repeat 0 -864px; }
        .careers-content .career-link span {
          display: inline-block;
          font-family: "franklin-gothic-urw",sans-serif;
          font-weight: 600;
          font-size: 2em;
          vertical-align: middle; }
          .careers-content .career-link span:last-of-type {
            width: 50px;
            height: 38px;
            background: url(https://www.forging.org/assets/images/forging-sprite3.png) no-repeat 0 -355px; }
        .careers-content .career-link:last-of-type {
          float: right;
          margin-right: 0; } }
    @media only screen and (max-width: 1005px) {
      .careers-content .career-link {
        font-size: 2em; } }

.fair-container .bread-crumbs {
  background: url(https://www.forging.org/assets/images/special-breadcrumb.png) no-repeat top;
  background-size: 100% auto;
  border: none; }
  .fair-container .bread-crumbs a {
    color: #fff;
    background: none; }
  @media only screen and (max-width: 1005px) {
    .fair-container .bread-crumbs {
      background-color: #282627;
      /* Fallback Color */
      background-image: -webkit-gradient(linear, left top, left bottom, from(#3d3b3c), to(#282627));
      /* Saf4+, Chrome */
      background-image: -webkit-linear-gradient(top, #3d3b3c, #282627);
      /* Chrome 10+, Saf5.1+, iOS 5+ */
      background-image: -moz-linear-gradient(top, #3d3b3c, #282627);
      /* FF3.6 */
      background-image: -ms-linear-gradient(top, #3d3b3c, #282627);
      /* IE10 */
      background-image: -o-linear-gradient(top, #3d3b3c, #282627);
      /* Opera 11.10+ */
      background-image: linear-gradient(top, #3d3b3c, #282627);
      filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#3d3b3c', EndColorStr='#282627'); } }

.fair-container .hero {
  width: 100%;
  background: url(https://www.forging.org/assets/images/FF15_Show_Floor_Overhead_JPEG.jpg) no-repeat left top #000000;
  background-size: cover;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 26px;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  min-height: calc(100vh - 410px); }
  .fair-container .hero:after {
    content: "";
    display: table;
    clear: both; }
  .fair-container .hero .hero-content-container {
    width: 59%;
    float: left;
    color: #fff; }
    @media only screen and (max-width: 768px) {
      .fair-container .hero .hero-content-container {
        width: 100%; } }
    .fair-container .hero .hero-content-container .hero-content-top {
      background: url(https://www.forging.org/assets/images/fair-banner-content-top.png) repeat-x left top;
      width: 100%;
      height: 6px; }
    .fair-container .hero .hero-content-container .hero-content {
      background: url(https://www.forging.org/assets/images/fair-banner-content-bk.png) repeat-y left top;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      background-size: 100% auto;
      padding: 5px 15px; }
      .fair-container .hero .hero-content-container .hero-content .heading {
        font-size: 40px; }
        @media only screen and (max-width: 550px) {
          .fair-container .hero .hero-content-container .hero-content .heading {
            font-size: 36px; } }
      .fair-container .hero .hero-content-container .hero-content .highlighted {
        font-size: 24px; }
        @media only screen and (max-width: 550px) {
          .fair-container .hero .hero-content-container .hero-content .highlighted {
            font-size: 21px; } }
      .fair-container .hero .hero-content-container .hero-content h2 {
        background: url(https://www.forging.org/assets/images/fair-header-line.png) no-repeat left bottom;
        font-family: "franklin-gothic-urw",sans-serif;
        font-weight: 400;
        font-weight: 500;
        font-size: 2.3em;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 3px;
        margin-bottom: 3px; }
      .fair-container .hero .hero-content-container .hero-content h3 {
        color: #4a86fd;
        font-family: "franklin-gothic-urw",sans-serif;
        font-weight: 400;
        line-height: 1.5em; }
      .fair-container .hero .hero-content-container .hero-content p {
        font-size: .8em;
        margin-bottom: 15px; }
      .fair-container .hero .hero-content-container .hero-content a.fair-button {
        background-color: #510d0e;
        /* Fallback Color */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#b21e1e), to(#510d0e));
        /* Saf4+, Chrome */
        background-image: -webkit-linear-gradient(top, #b21e1e, #510d0e);
        /* Chrome 10+, Saf5.1+, iOS 5+ */
        background-image: -moz-linear-gradient(top, #b21e1e, #510d0e);
        /* FF3.6 */
        background-image: -ms-linear-gradient(top, #b21e1e, #510d0e);
        /* IE10 */
        background-image: -o-linear-gradient(top, #b21e1e, #510d0e);
        /* Opera 11.10+ */
        background-image: linear-gradient(top, #b21e1e, #510d0e);
        filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#b21e1e', EndColorStr='#510d0e');
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px 25px;
        display: inline-block;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px;
        background-clip: padding-box;
        color: #fff;
        text-decoration: none; }
  .fair-container .hero .side-image {
    float: right;
    width: 218px; }
    @media only screen and (max-width: 768px) {
      .fair-container .hero .side-image {
        display: none; } }

.fair-container .sponsors {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 23.4px 13px 19.5px 13px;
  position: relative;
  background: url(https://www.forging.org/assets/images/fair-sponsors-bk.jpg) no-repeat left top #4d4a4b; }
  @media only screen and (max-width: 768px) {
    .fair-container .sponsors {
      text-align: center; } }
  .fair-container .sponsors .tab {
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
    padding: 5px 15px;
    background: url(https://www.forging.org/assets/images/fair-sponsor-header.png) no-repeat left top;
    display: block;
    position: absolute;
    top: -33px;
    right: 42px;
    margin: 0;
    width: 187px;
    height: 38px;
    text-align: center;
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 400; }
    @media only screen and (max-width: 768px) {
      .fair-container .sponsors .tab {
        right: 0;
        left: 0;
        margin: 0 auto; } }
  .fair-container .sponsors a {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px;
    background-color: #fff;
    display: inline-block; }

.fair-container .fair-content {
  background: #252424;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px 35px;
  color: #fff; }
  .fair-container .fair-content:after {
    content: "";
    display: table;
    clear: both; }
  .fair-container .fair-content h3 {
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 400;
    font-weight: 500;
    font-size: 1.5em;
    margin-bottom: 10px; }
  .fair-container .fair-content p {
    margin-bottom: 10px;
    font-size: .8em; }
  .fair-container .fair-content a {
    color: #fff; }
  .fair-container .fair-content .fair-button {
    background-color: #510d0e;
    /* Fallback Color */
    background-image: -webkit-gradient(linear, left top, left bottom, from(#b21e1e), to(#510d0e));
    /* Saf4+, Chrome */
    background-image: -webkit-linear-gradient(top, #b21e1e, #510d0e);
    /* Chrome 10+, Saf5.1+, iOS 5+ */
    background-image: -moz-linear-gradient(top, #b21e1e, #510d0e);
    /* FF3.6 */
    background-image: -ms-linear-gradient(top, #b21e1e, #510d0e);
    /* IE10 */
    background-image: -o-linear-gradient(top, #b21e1e, #510d0e);
    /* Opera 11.10+ */
    background-image: linear-gradient(top, #b21e1e, #510d0e);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#b21e1e', EndColorStr='#510d0e');
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 25px;
    float: right;
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 400;
    font-weight: 500;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    background-clip: padding-box;
    font-size: 1.15em;
    margin-top: 5px;
    color: #fff;
    text-decoration: none; }

.fair-container .video-container {
  background-color: #fff;
  padding: 20px 20px 40px;
  border-right: 1px solid #000;
  border-left: 1px solid #000;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .fair-container .video-container iframe {
    border: 4px solid #FFFFFF;
    display: block;
    margin-bottom: 10px;
    outline: 1px solid #D8D8D8;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 550px) {
      .fair-container .video-container iframe {
        height: 300px; } }
  .fair-container .video-container h3 {
    text-align: center;
    color: #595556;
    font-family: "franklin-gothic-urw-comp",sans-serif;
    font-weight: 600;
    font-size: 1.5em; }

.interior-content.fair {
  min-height: 0; }
  .interior-content.fair .fair-link {
    background: url(https://www.forging.org/assets/images/taxList_bullet.png) no-repeat left 2px;
    padding-left: 20px;
    margin-left: 10px;
    margin-bottom: 5px;
    padding-bottom: 5px;
    font-size: 16px;
    font-weight: bold; }

.new-fair-hero {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  font-family: franklin-gothic-urw-cond, sans-serif;
  color: #000;
  background-color: #F0F0F0; }
  @media only screen and (max-width: 900px) {
    .new-fair-hero {
      -moz-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .new-fair-hero > div.media-container {
    -webkit-box-flex: 0 1 50%;
    -moz-box-flex: 0 1 50%;
    -webkit-flex: 0 1 50%;
    -ms-flex: 0 1 50%;
    flex: 0 1 50%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    overflow: hidden;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .new-fair-hero > div.media-container .fair-ad-link {
      display: block; }
      .new-fair-hero > div.media-container .fair-ad-link img {
        width: 100%;
        height: auto; }
    .new-fair-hero > div.media-container.mobile {
      display: none; }
    @media only screen and (max-width: 900px) {
      .new-fair-hero > div.media-container {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; }
        .new-fair-hero > div.media-container.desktop {
          display: none; }
        .new-fair-hero > div.media-container.mobile {
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          height: auto;
          -moz-justify-content: flex-start;
          -webkit-justify-content: flex-start;
          -ms-justify-content: flex-start;
          justify-content: flex-start;
          padding: 0 60px 60px 60px; } }
    @media only screen and (max-width: 430px) {
      .new-fair-hero > div.media-container.mobile {
        padding: 0 30px 30px 30px; } }
    .new-fair-hero > div.media-container .video-placeholder {
      max-width: 100%;
      width: 350px;
      height: 220px;
      background: url(https://www.forging.org/assets/images/FF-Video-5.jpg) no-repeat center;
      background-size: cover;
      position: relative; }
    .new-fair-hero > div.media-container .play-button {
      width: 55px;
      height: 55px;
      border-radius: 50%;
      border: 2px solid #fff;
      position: absolute;
      left: 50%;
      top: 50%;
      -moz-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      z-index: 10; }
      .new-fair-hero > div.media-container .play-button:after {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7.5px 0 7.5px 11px;
        border-color: transparent transparent transparent #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-30%, -50%);
        transform: translate(-30%, -50%); }
    .new-fair-hero > div.media-container .fair-hero-video {
      position: absolute;
      top: 50%;
      left: 50%;
      -moz-transform: translate(-50%, -50%);
      -o-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      min-width: 100%;
      min-height: 100%;
      z-index: 1; }
  .new-fair-hero > div.content-container {
    -webkit-box-flex: 0 0 65%;
    -moz-box-flex: 0 0 65%;
    -webkit-flex: 0 0 65%;
    -ms-flex: 0 0 65%;
    flex: 0 0 65%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    @media only screen and (max-width: 900px) {
      .new-fair-hero > div.content-container {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
    .new-fair-hero > div.content-container .content-wrapper {
      padding: 74px; }
      @media only screen and (max-width: 900px) {
        .new-fair-hero > div.content-container .content-wrapper {
          padding: 74px 60px 30px;
          min-width: 100%;
          box-sizing: border-box; } }
      @media only screen and (max-width: 430px) {
        .new-fair-hero > div.content-container .content-wrapper {
          padding: 30px; } }
      .new-fair-hero > div.content-container .content-wrapper .fair-info-container {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -moz-align-items: center;
        -webkit-align-items: center;
        -ms-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-bottom: 40px; }
        .new-fair-hero > div.content-container .content-wrapper .fair-info-container .info-logo {
          width: 74px;
          -webkit-box-flex: 0 0 74px;
          -moz-box-flex: 0 0 74px;
          -webkit-flex: 0 0 74px;
          -ms-flex: 0 0 74px;
          flex: 0 0 74px;
          margin-right: 20px;
          padding-right: 20px;
          border-right: 2px solid #E8E8E8; }
        .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info {
          -webkit-box-flex: 1;
          -moz-box-flex: 1;
          -webkit-flex: 1;
          -ms-flex: 1;
          flex: 1; }
          @media only screen and (max-width: 430px) {
            .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info {
              font-size: 14px; } }
          .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info .heading {
            font-size: 32px;
            margin-bottom: 15px; }
            @media only screen and (max-width: 430px) {
              .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info .heading {
                font-size: 24px; } }
          .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info .highlighted {
            color: #E1251B;
            font-weight: 600;
            margin-bottom: 10px; }
          .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info .location {
            font-weight: 600; }
            .new-fair-hero > div.content-container .content-wrapper .fair-info-container .fair-info .location img {
              width: 8px;
              height: auto; }
      .new-fair-hero > div.content-container .content-wrapper .content p {
        margin-bottom: 40px;
        font-size: 19px;
        line-height: 1.5em; }

.fair-new-button-container {
  text-align: center; }

.fair-new-button {
  color: #fff;
  background-color: #E1251B;
  font-family: Helvetica, Arial, sans-serif;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  background-clip: padding-box;
  padding: 10px 20px;
  text-decoration: none;
  width: 245px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  line-height: 1em;
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px; }
  .fair-new-button:first-of-type {
    margin-bottom: 8px; }
  .fair-new-button img {
    width: 10px;
    height: auto;
    margin-left: 15px; }

.countdown-container {
  padding: 40px 74px;
  text-align: center;
  font-family: franklin-gothic-urw-cond, sans-serif;
  background-color: #E1251B;
  color: #fff; }
  .countdown-container h3 {
    font-weight: 400;
    margin-bottom: 30px; }
  .countdown-container .countdown-row {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    align-items: center; }
    .countdown-container .countdown-row .time-container {
      padding: 0 25px;
      border-right: 2px solid rgba(255, 255, 255, 0.1); }
      @media only screen and (max-width: 445px) {
        .countdown-container .countdown-row .time-container {
          padding: 0 15px; } }
      @media only screen and (max-width: 345px) {
        .countdown-container .countdown-row .time-container {
          padding: 0 10px; } }
      .countdown-container .countdown-row .time-container:last-child {
        border-right: none; }
    .countdown-container .countdown-row .countdown {
      color: #fff;
      font-size: 40px;
      font-weight: 600; }
    .countdown-container .countdown-row .label {
      color: #fff; }

.fair-related-container {
  background-color: #F0F0F0;
  padding: 0 70px 90px;
  font-family: franklin-gothic-urw-cond, sans-serif; }
  @media only screen and (max-width: 1100px) {
    .fair-related-container {
      padding: 0 60px 60px; } }
  @media only screen and (max-width: 550px) {
    .fair-related-container {
      padding: 0 30px 30px; } }
  .fair-related-container .fair-related-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between; }
    @media only screen and (max-width: 900px) {
      .fair-related-container .fair-related-wrapper {
        -moz-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .fair-related-container .fair-related-wrapper .fair-related {
      -webkit-box-flex: 0 0 calc(25% - 25px);
      -moz-box-flex: 0 0 calc(25% - 25px);
      -webkit-flex: 0 0 calc(25% - 25px);
      -ms-flex: 0 0 calc(25% - 25px);
      flex: 0 0 calc(25% - 25px);
      width: calc(25% - 25px); }
      @media only screen and (max-width: 900px) {
        .fair-related-container .fair-related-wrapper .fair-related {
          -webkit-box-flex: 0 0 calc(50% - 25px);
          -moz-box-flex: 0 0 calc(50% - 25px);
          -webkit-flex: 0 0 calc(50% - 25px);
          -ms-flex: 0 0 calc(50% - 25px);
          flex: 0 0 calc(50% - 25px);
          width: calc(50% - 25px);
          margin-bottom: 60px; } }
      @media only screen and (max-width: 550px) {
        .fair-related-container .fair-related-wrapper .fair-related {
          -webkit-box-flex: 0 0 100%;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%;
          width: 100%;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex; } }
      .fair-related-container .fair-related-wrapper .fair-related .fair-related-content-container {
        -webkit-box-flex: 1 1 50%;
        -moz-box-flex: 1 1 50%;
        -webkit-flex: 1 1 50%;
        -ms-flex: 1 1 50%;
        flex: 1 1 50%; }
      .fair-related-container .fair-related-wrapper .fair-related .fair-related-image {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        padding-bottom: 80%;
        margin-bottom: 40px;
        -webkit-box-flex: 0 0 50%;
        -moz-box-flex: 0 0 50%;
        -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%; }
        @media only screen and (max-width: 550px) {
          .fair-related-container .fair-related-wrapper .fair-related .fair-related-image {
            padding-bottom: 40%;
            margin-right: 30px;
            margin-bottom: 0; } }
        @media only screen and (max-width: 400px) {
          .fair-related-container .fair-related-wrapper .fair-related .fair-related-image {
            margin-right: 15px; } }
      .fair-related-container .fair-related-wrapper .fair-related .fair-related-title {
        color: #E1251B;
        font-size: 24px;
        margin-bottom: 30px;
        font-weight: bold; }
        @media only screen and (max-width: 550px) {
          .fair-related-container .fair-related-wrapper .fair-related .fair-related-title {
            margin-bottom: 5px; } }
      .fair-related-container .fair-related-wrapper .fair-related a.fair-related-title {
        border-bottom: 1px solid #E1251B;
        display: inline-block;
        text-decoration: none; }
      .fair-related-container .fair-related-wrapper .fair-related ul {
        list-style: none;
        line-height: 1.5em; }
        .fair-related-container .fair-related-wrapper .fair-related ul a {
          text-decoration: none;
          color: #545454;
          border-bottom: 1px solid #E1251B;
          font-size: 18px;
          padding-right: 15px;
          background-image: url(/assets/images/chevron-winged-red.png);
          background-size: 9px auto;
          background-repeat: no-repeat;
          background-position: right center; }
        .fair-related-container .fair-related-wrapper .fair-related ul img {
          width: 9px;
          height: auto; }
      .fair-related-container .fair-related-wrapper .fair-related p {
        color: #545454;
        line-height: 1.5em; }

.venu-section {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }
  @media only screen and (max-width: 1295px) {
    .venu-section {
      -moz-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .venu-section .fair-new-dates-locations-container {
    -webkit-box-flex: 0 0 65%;
    -moz-box-flex: 0 0 65%;
    -webkit-flex: 0 0 65%;
    -ms-flex: 0 0 65%;
    flex: 0 0 65%;
    font-family: franklin-gothic-urw-cond, sans-serif;
    background-color: #333;
    color: #fff; }
    @media only screen and (max-width: 1295px) {
      .venu-section .fair-new-dates-locations-container {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
    .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper {
      padding: 115px 60px;
      margin: 0 auto;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -moz-justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -moz-align-items: center;
      -webkit-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      @media only screen and (max-width: 1050px) {
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper {
          -moz-flex-wrap: wrap;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
      @media only screen and (max-width: 768px) {
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper {
          padding: 30px; } }
      .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        -moz-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
        @media only screen and (max-width: 1050px) {
          .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations {
            -webkit-box-flex: 0 0 100% !important;
            -moz-box-flex: 0 0 100% !important;
            -webkit-flex: 0 0 100% !important;
            -ms-flex: 0 0 100% !important;
            flex: 0 0 100% !important; } }
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations.dates {
          margin-right: 15px;
          -webkit-box-flex: 0 0 537px;
          -moz-box-flex: 0 0 537px;
          -webkit-flex: 0 0 537px;
          -ms-flex: 0 0 537px;
          flex: 0 0 537px; }
          @media only screen and (max-width: 1050px) {
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations.dates {
              margin-right: 0;
              margin-bottom: 30px; } }
          @media only screen and (max-width: 605px) {
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations.dates {
              margin-bottom: 30px; } }
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations.locations {
          -webkit-box-flex: 1;
          -moz-box-flex: 1;
          -webkit-flex: 1;
          -ms-flex: 1;
          flex: 1; }
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .heading {
          -webkit-box-flex: 0 0 100%;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%;
          font-size: 18px;
          font-weight: 400;
          margin-bottom: 40px; }
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date {
          -moz-border-radius: 15px;
          -webkit-border-radius: 15px;
          border-radius: 15px;
          background-clip: padding-box;
          border: 1px solid #E1251B;
          padding: 20px 10px; }
          @media only screen and (max-width: 1050px) {
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date {
              -webkit-box-flex: 1;
              -moz-box-flex: 1;
              -webkit-flex: 1;
              -ms-flex: 1;
              flex: 1; }
              .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date:nth-of-type(2) {
                margin: 0 20px; } }
          @media only screen and (max-width: 605px) {
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date {
              -webkit-box-flex: 0 0 calc(50% - 5px);
              -moz-box-flex: 0 0 calc(50% - 5px);
              -webkit-flex: 0 0 calc(50% - 5px);
              -ms-flex: 0 0 calc(50% - 5px);
              flex: 0 0 calc(50% - 5px);
              margin-bottom: 10px !important;
              -moz-box-sizing: border-box;
              -webkit-box-sizing: border-box;
              box-sizing: border-box; }
              .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date:nth-of-type(2) {
                margin-right: 0;
                margin-left: 0; } }
          @media only screen and (max-width: 425px) {
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date {
              -webkit-box-flex: 0 0 100%;
              -moz-box-flex: 0 0 100%;
              -webkit-flex: 0 0 100%;
              -ms-flex: 0 0 100%;
              flex: 0 0 100%; } }
          .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date .day {
            font-size: 16px; }
          .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date .date {
            font-size: 50px;
            font-weight: 600;
            padding: 15px 0;
            margin: 15px 0;
            border-top: 1px solid rgba(232, 232, 232, 0.35);
            border-bottom: 1px solid rgba(232, 232, 232, 0.35);
            line-height: .7em;
            white-space: nowrap; }
          .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-date .time {
            font-size: 16px;
            white-space: nowrap; }
        .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-location {
          height: 135px;
          display: -webkit-box;
          display: -moz-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          -moz-justify-content: center;
          -webkit-justify-content: center;
          -ms-justify-content: center;
          justify-content: center;
          -moz-align-items: center;
          -webkit-align-items: center;
          -ms-align-items: center;
          -ms-flex-align: center;
          align-items: center;
          -moz-border-radius: 15px;
          -webkit-border-radius: 15px;
          border-radius: 15px;
          background-clip: padding-box;
          border: 1px solid #E1251B;
          -webkit-box-flex: 1;
          -moz-box-flex: 1;
          -webkit-flex: 1;
          -ms-flex: 1;
          flex: 1;
          padding: 20px 10px; }
          .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-location .location-wrapper {
            font-style: normal; }
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-location .location-wrapper h5 {
              font-size: 20px;
              font-weight: 500;
              margin-bottom: 10px; }
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-location .location-wrapper p {
              font-size: 15px;
              padding: 0; }
            .venu-section .fair-new-dates-locations-container .fair-new-dates-locations-wrapper .fair-new-dates-locations .fair-new-location .location-wrapper img {
              width: 10px; }
  .venu-section .venu-image {
    -webkit-box-flex: 0 0 35%;
    -moz-box-flex: 0 0 35%;
    -webkit-flex: 0 0 35%;
    -ms-flex: 0 0 35%;
    flex: 0 0 35%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 1296px) {
      .venu-section .venu-image.mobile {
        display: none; } }
    @media only screen and (max-width: 1295px) {
      .venu-section .venu-image {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        height: 450px; }
        .venu-section .venu-image.desktop {
          display: none; } }
    @media only screen and (max-width: 550px) {
      .venu-section .venu-image {
        height: 250px; } }

.fair-new-map-container {
  overflow: hidden;
  height: 450px;
  position: relative; }
  .fair-new-map-container iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute; }

.clients-section {
  padding: 80px 60px;
  max-width: 1200px;
  margin: 0 auto; }
  @media only screen and (max-width: 768px) {
    .clients-section {
      padding: 50px 20px; } }
  .clients-section .heading {
    text-align: center;
    margin-bottom: 40px; }
    @media only screen and (max-width: 768px) {
      .clients-section .heading {
        font-size: 28px;
        margin-bottom: 30px; } }
    @media only screen and (max-width: 450px) {
      .clients-section .heading {
        font-size: 24px; } }
    @media only screen and (max-width: 375px) {
      .clients-section .heading {
        font-size: 20px; } }
  .clients-section .sponsor-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    text-align: center; }
    .clients-section .sponsor-container .sponsor {
      flex-basis: calc(25% - 10px);
      max-width: calc(25% - 10px);
      margin: 5px;
      margin-top: 50px; }
      @media only screen and (max-width: 1100px) {
        .clients-section .sponsor-container .sponsor {
          flex-basis: 50%;
          max-width: 50%;
          margin: 0;
          margin-top: 50px; } }
      @media only screen and (max-width: 950px) {
        .clients-section .sponsor-container .sponsor {
          margin-top: 40px; } }
      @media only screen and (max-width: 768px) {
        .clients-section .sponsor-container .sponsor {
          margin-top: 30px; } }
      @media only screen and (max-width: 375px) {
        .clients-section .sponsor-container .sponsor {
          margin-top: 20px; } }
      @media only screen and (max-width: 275px) {
        .clients-section .sponsor-container .sponsor {
          flex-basis: 100%;
          max-width: 100%; } }
      .clients-section .sponsor-container .sponsor h2 {
        margin-top: 30px; }
        @media only screen and (max-width: 1100px) {
          .clients-section .sponsor-container .sponsor h2 {
            margin-top: 25px; } }
        @media only screen and (max-width: 950px) {
          .clients-section .sponsor-container .sponsor h2 {
            font-size: 20px;
            margin-top: 20px; } }
        @media only screen and (max-width: 768px) {
          .clients-section .sponsor-container .sponsor h2 {
            font-size: 18px;
            margin-top: 10px; } }
        @media only screen and (max-width: 450px) {
          .clients-section .sponsor-container .sponsor h2 {
            font-size: 16px; } }
    .clients-section .sponsor-container img {
      width: 225px;
      height: 90px;
      object-fit: contain; }
      @media only screen and (max-width: 950px) {
        .clients-section .sponsor-container img {
          width: 175px; } }
      @media only screen and (max-width: 768px) {
        .clients-section .sponsor-container img {
          width: 125px; } }
      @media only screen and (max-width: 375px) {
        .clients-section .sponsor-container img {
          width: 100px; } }
    .clients-section .sponsor-container .sponsor:first-child {
      flex-basis: 100%;
      max-width: 100%;
      margin-top: 0; }
      .clients-section .sponsor-container .sponsor:first-child img {
        width: 175px; }
        @media only screen and (max-width: 950px) {
          .clients-section .sponsor-container .sponsor:first-child img {
            width: 125px; } }
        @media only screen and (max-width: 768px) {
          .clients-section .sponsor-container .sponsor:first-child img {
            width: 100px; } }
        @media only screen and (max-width: 375px) {
          .clients-section .sponsor-container .sponsor:first-child img {
            width: 75px; } }
      .clients-section .sponsor-container .sponsor:first-child h2 {
        margin-top: 0; }
  .clients-section .sponsor-text {
    color: #E1251B; }
  .clients-section .marquee-wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -moz-align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .clients-section .marquee-wrapper .marquee {
      max-width: 865px;
      margin: 0 auto;
      overflow: hidden;
      width: 100%; }
      .clients-section .marquee-wrapper .marquee.no-slider {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -moz-align-items: center;
        -webkit-align-items: center;
        -ms-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        margin: 0 auto;
        text-align: center; }
      .clients-section .marquee-wrapper .marquee.single {
        justify-content: center; }
      @media only screen and (max-width: 768px) {
        .clients-section .marquee-wrapper .marquee {
          margin: 0 20px; } }
      .clients-section .marquee-wrapper .marquee img {
        max-width: 100%; }
      .clients-section .marquee-wrapper .marquee.active .js-marquee {
        display: flex;
        justify-content: space-between;
        align-items: center; }
      .clients-section .marquee-wrapper .marquee.active img {
        margin: 0 20px; }
    .clients-section .marquee-wrapper .marquee-arrow {
      width: 8px;
      height: auto;
      padding: 10px;
      cursor: pointer; }
      .clients-section .marquee-wrapper .marquee-arrow:last-child {
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg); }

.fair-new-tagline-container {
  text-align: center;
  padding: 60px;
  box-sizing: border-box;
  font-size: 20px;
  color: #fff;
  background-color: #801818;
  font-family: franklin-gothic-urw-cond, sans-serif;
  font-weight: 100; }
  @media only screen and (max-width: 768px) {
    .fair-new-tagline-container {
      padding: 50px 30px; } }
  .fair-new-tagline-container a {
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid white; }
  .fair-new-tagline-container .fair-new-tagline-wrapper {
    max-width: 670px;
    margin: 0 auto; }

.video-wrapper video {
  width: 100%;
  max-width: 800px; }

.fair-split-content {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  margin: 0 auto;
  padding: 80px 0;
  justify-content: center;
  background-color: #F0F0F0; }
  @media only screen and (max-width: 1050px) {
    .fair-split-content {
      flex-wrap: wrap; } }
  .fair-split-content .new-fair-signup-wrapper {
    -webkit-box-flex: 0 0 50%;
    -moz-box-flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    border-right: 2px solid rgba(0, 0, 0, 0.1);
    max-width: 600px; }
    @media only screen and (max-width: 1050px) {
      .fair-split-content .new-fair-signup-wrapper {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        border-right: none; } }
    .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container {
      padding: 80px 0;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -moz-justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      -moz-align-items: center;
      -webkit-align-items: center;
      -ms-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      font-family: franklin-gothic-urw-cond, sans-serif;
      -moz-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      max-width: 500px;
      margin: 0 auto; }
      @media only screen and (max-width: 768px) {
        .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container {
          padding: 30px; } }
      .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .content {
        font-weight: bold;
        font-size: 20px;
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        margin-bottom: 40px;
        text-align: center; }
      .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-signup-form {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        margin: 0;
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        -moz-justify-content: center;
        -webkit-justify-content: center;
        -ms-justify-content: center;
        justify-content: center; }
        @media only screen and (max-width: 495px) {
          .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-signup-form {
            -moz-flex-wrap: wrap;
            -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }
        .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-signup-form input[type="email"] {
          background-color: #fff;
          color: #000;
          box-shadow: none;
          padding: 15px;
          width: 275px;
          border: none; }
          @media only screen and (max-width: 495px) {
            .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-signup-form input[type="email"] {
              width: 100%;
              margin-bottom: 15px; } }
        .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-signup-form button {
          color: #fff;
          background-color: #E1251B;
          width: 150px; }
          @media only screen and (max-width: 495px) {
            .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-signup-form button {
              width: 100%;
              height: 49px; } }
      .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .fair-form-container {
        flex: 1;
        text-align: center; }
      .fair-split-content .new-fair-signup-wrapper .new-fair-signup-container .form-message {
        display: none; }
  .fair-split-content .fair-ad-container {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -moz-justify-content: center;
    -webkit-justify-content: center;
    -ms-justify-content: center;
    justify-content: center;
    -moz-align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-flex: 0 0 50%;
    -moz-box-flex: 0 0 50%;
    -webkit-flex: 0 0 50%;
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 600px; }
    @media only screen and (max-width: 1050px) {
      .fair-split-content .fair-ad-container {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
    .fair-split-content .fair-ad-container .slick-slider {
      width: 100%; }
    .fair-split-content .fair-ad-container .fair-ad {
      width: 360px;
      height: 250px;
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat; }

.clients-wrapper {
  border-top: 1px solid #E1251B; }

.health-safety-wrapper {
  text-align: center;
  color: white;
  background: #4d73be;
  padding: 15px 0; }
  .health-safety-wrapper a {
    color: white;
    font-weight: bold; }
    @media only screen and (max-width: 450px) {
      .health-safety-wrapper a {
        font-size: 14px; } }
  .health-safety-wrapper h3 {
    text-transform: uppercase;
    margin-bottom: 20px; }
    @media only screen and (max-width: 450px) {
      .health-safety-wrapper h3 {
        font-size: 16px; } }

.fair-container-old .bread-crumbs {
  background: url(https://www.forging.org/assets/images/special-breadcrumb.png) no-repeat top;
  background-size: 100% auto; }
  .fair-container-old .bread-crumbs a {
    color: #fff;
    background: none; }
  @media only screen and (max-width: 1005px) {
    .fair-container-old .bread-crumbs {
      background-color: #282627;
      /* Fallback Color */
      background-image: -webkit-gradient(linear, left top, left bottom, from(#3d3b3c), to(#282627));
      /* Saf4+, Chrome */
      background-image: -webkit-linear-gradient(top, #3d3b3c, #282627);
      /* Chrome 10+, Saf5.1+, iOS 5+ */
      background-image: -moz-linear-gradient(top, #3d3b3c, #282627);
      /* FF3.6 */
      background-image: -ms-linear-gradient(top, #3d3b3c, #282627);
      /* IE10 */
      background-image: -o-linear-gradient(top, #3d3b3c, #282627);
      /* Opera 11.10+ */
      background-image: linear-gradient(top, #3d3b3c, #282627);
      filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#3d3b3c', EndColorStr='#282627'); } }

.fair-container-old .hero {
  width: 100%;
  background: url(https://www.forging.org/assets/images/fair-city-banner.jpg) no-repeat left top #000000;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 26px; }
  .fair-container-old .hero:after {
    content: "";
    display: table;
    clear: both; }
  @media only screen and (max-width: 768px) {
    .fair-container-old .hero {
      padding-bottom: 40px; } }
  .fair-container-old .hero .hero-content-container {
    width: 59%;
    float: left;
    color: #fff; }
    @media only screen and (max-width: 768px) {
      .fair-container-old .hero .hero-content-container {
        width: 100%; } }
    .fair-container-old .hero .hero-content-container .hero-content-top {
      background: url(https://www.forging.org/assets/images/fair-banner-content-top.png) no-repeat left top;
      width: 100%;
      height: 6px; }
    .fair-container-old .hero .hero-content-container .hero-content {
      background: url(https://www.forging.org/assets/images/fair-banner-content-bk.png) repeat-y left top;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      background-size: 100% auto;
      padding: 5px 15px; }
      .fair-container-old .hero .hero-content-container .hero-content h2 {
        background: url(https://www.forging.org/assets/images/fair-header-line.png) no-repeat left bottom;
        font-family: "franklin-gothic-urw",sans-serif;
        font-weight: 400;
        font-weight: 500;
        font-size: 2.3em;
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding-bottom: 3px;
        margin-bottom: 3px; }
      .fair-container-old .hero .hero-content-container .hero-content h3 {
        color: #4a86fd;
        font-family: "franklin-gothic-urw",sans-serif;
        font-weight: 400;
        line-height: 1.5em; }
      .fair-container-old .hero .hero-content-container .hero-content p {
        font-size: .8em;
        margin-bottom: 15px; }
      .fair-container-old .hero .hero-content-container .hero-content a.fair-button {
        background-color: #510d0e;
        /* Fallback Color */
        background-image: -webkit-gradient(linear, left top, left bottom, from(#b21e1e), to(#510d0e));
        /* Saf4+, Chrome */
        background-image: -webkit-linear-gradient(top, #b21e1e, #510d0e);
        /* Chrome 10+, Saf5.1+, iOS 5+ */
        background-image: -moz-linear-gradient(top, #b21e1e, #510d0e);
        /* FF3.6 */
        background-image: -ms-linear-gradient(top, #b21e1e, #510d0e);
        /* IE10 */
        background-image: -o-linear-gradient(top, #b21e1e, #510d0e);
        /* Opera 11.10+ */
        background-image: linear-gradient(top, #b21e1e, #510d0e);
        filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#b21e1e', EndColorStr='#510d0e');
        -moz-box-sizing: border-box;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 10px 25px;
        display: inline-block;
        -moz-border-radius: 5px;
        -webkit-border-radius: 5px;
        border-radius: 5px;
        background-clip: padding-box;
        color: #fff;
        text-decoration: none; }
  .fair-container-old .hero .side-image {
    float: right;
    margin-right: 14.3px; }
    @media only screen and (max-width: 768px) {
      .fair-container-old .hero .side-image {
        display: none; } }

.fair-container-old .sponsors {
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 23.4px 13px 19.5px 13px;
  position: relative;
  background: url(https://www.forging.org/assets/images/fair-sponsors-bk.jpg) no-repeat left top #4d4a4b;
  border-bottom: 4px solid #252424; }
  @media only screen and (max-width: 768px) {
    .fair-container-old .sponsors {
      text-align: center; } }
  .fair-container-old .sponsors .tab {
    font-size: 18px;
    text-transform: uppercase;
    color: #fff;
    padding: 5px 15px;
    background: url(https://www.forging.org/assets/images/fair-sponsor-header.png) no-repeat left top;
    display: block;
    position: absolute;
    top: -33px;
    right: 42px;
    margin: 0;
    width: 187px;
    height: 38px;
    text-align: center;
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 400; }
    @media only screen and (max-width: 768px) {
      .fair-container-old .sponsors .tab {
        right: 0;
        left: 0;
        margin: 0 auto; } }
  .fair-container-old .sponsors a {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 15px;
    background-color: #fff;
    display: inline-block; }

.fair-container-old .fair-content {
  background: #252424;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px 35px;
  color: #fff; }
  .fair-container-old .fair-content:after {
    content: "";
    display: table;
    clear: both; }
  .fair-container-old .fair-content h3 {
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 400;
    font-weight: 500;
    font-size: 1.5em;
    margin-bottom: 10px; }
  .fair-container-old .fair-content p {
    margin-bottom: 10px;
    font-size: .8em; }
  .fair-container-old .fair-content a {
    color: #fff; }
  .fair-container-old .fair-content .fair-button {
    background-color: #510d0e;
    /* Fallback Color */
    background-image: -webkit-gradient(linear, left top, left bottom, from(#b21e1e), to(#510d0e));
    /* Saf4+, Chrome */
    background-image: -webkit-linear-gradient(top, #b21e1e, #510d0e);
    /* Chrome 10+, Saf5.1+, iOS 5+ */
    background-image: -moz-linear-gradient(top, #b21e1e, #510d0e);
    /* FF3.6 */
    background-image: -ms-linear-gradient(top, #b21e1e, #510d0e);
    /* IE10 */
    background-image: -o-linear-gradient(top, #b21e1e, #510d0e);
    /* Opera 11.10+ */
    background-image: linear-gradient(top, #b21e1e, #510d0e);
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#b21e1e', EndColorStr='#510d0e');
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 10px 25px;
    float: right;
    font-family: "franklin-gothic-urw",sans-serif;
    font-weight: 400;
    font-weight: 500;
    border-radius: 5px;
    font-size: 1.15em;
    margin-top: 5px;
    color: #fff;
    text-decoration: none; }
    @media only screen and (max-width: 768px) {
      .fair-container-old .fair-content .fair-button {
        float: none;
        margin: 0 auto;
        display: block;
        width: 200px; } }

.interior-content.fair {
  min-height: 0; }
  .interior-content.fair .fair-link {
    background: url(https://www.forging.org/assets/images/taxList_bullet.png) no-repeat left 2px;
    padding-left: 20px;
    margin-left: 10px;
    margin-bottom: 5px;
    padding-bottom: 5px;
    font-size: 16px;
    font-weight: bold; }
  .interior-content.fair iframe {
    display: block;
    margin: 0 auto;
    max-width: 100%; }
  .interior-content.fair h6 {
    display: block;
    margin: 0 auto;
    width: 135px; }

.child-link {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 25px;
  margin-bottom: 10px;
  display: block; }
  .child-link.folder {
    background: url(https://www.forging.org/assets/images/forging-sprite5.png) no-repeat -12px -223px; }
  .child-link.pdf {
    background: url(https://www.forging.org/assets/images/document_pdf.png) no-repeat left; }
  .child-link.other {
    background: url(https://www.forging.org/assets/images/taxList_bullet.png) no-repeat left -1px; }

.parent-description {
  position: relative;
  bottom: 10px;
  padding-left: 25px; }

.side-section {
  float: right;
  position: relative;
  width: 304px;
  padding: 18px 15px 15px;
  margin-left: 25px;
  margin-bottom: 15px;
  z-index: 0;
  background: url(https://www.forging.org/assets/images/forginResourceMiddle.png) repeat-y left top #FFF; }
  .side-section .side-section-content {
    position: relative;
    z-index: 2; }
  .side-section .side-section-top {
    background: url(https://www.forging.org/assets/images/forgingResourceTop.png) no-repeat left top #FFF;
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 335px;
    height: 20px; }
  .side-section .side-section-bottom {
    background: url(https://www.forging.org/assets/images/forgingResourceBottom.png) no-repeat left top #FFF;
    display: block;
    position: absolute;
    bottom: 0px;
    left: 0px;
    width: 335px;
    height: 25px; }
  .side-section:nth-of-type(2) {
    display: none; }
  @media only screen and (max-width: 1005px) {
    .side-section {
      float: none;
      width: 100%;
      background: #eee;
      margin: 0;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      .side-section:nth-of-type(1) {
        display: none; }
      .side-section:nth-of-type(2) {
        display: block; }
      .side-section .side-section-top {
        display: none; }
      .side-section .side-section-bottom {
        display: none; } }

.top-section {
  width: 100%; }
  .top-section:after {
    content: "";
    display: table;
    clear: both; }
  .top-section div {
    margin: 0 auto;
    max-width: 215px; }
    .top-section div a {
      display: block; }
    @media only screen and (max-width: 700px) {
      .top-section div {
        clear: both;
        margin-bottom: 20px; } }
  .top-section img {
    height: auto; }
    .top-section img:first-of-type {
      float: left;
      width: 210px; }
    .top-section img:last-of-type {
      float: right;
      width: 170px; }
    @media only screen and (max-width: 440px) {
      .top-section img {
        display: block;
        margin: 0 auto; }
        .top-section img:first-of-type, .top-section img:last-of-type {
          float: none; } }

.anniversary-videos {
  text-align: center; }
  .anniversary-videos .middle-section:after {
    content: "";
    display: table;
    clear: both; }
  .anniversary-videos .middle-section a:first-of-type {
    float: left; }
  .anniversary-videos .middle-section a:last-of-type {
    float: right; }
  @media only screen and (max-width: 410px) {
    .anniversary-videos a {
      display: block;
      float: none !important; } }

form:not(.search-form) {
  margin-top: 20px; }
  form:not(.search-form) label {
    font-weight: 600;
    display: block;
    margin: 20px 0 5px; }
    form:not(.search-form) label .required {
      color: #f00; }
  form:not(.search-form) p {
    font-size: 11px; }
  
  form:not(.search-form) .radio-container label {
    display: inline;
    margin: 0; }
  form:not(.search-form) .radio-container input[type="radio"] {
    margin-bottom: 10px; }
  

@media only screen and (max-width: 1005px) {
  .main-navigation {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.5s;
    -moz-transition: max-height 0.5s;
    -o-transition: max-height 0.5s;
    transition: max-height 0.5s; }
    .main-navigation.open {
      max-height: 2000px; }
    .main-navigation ul {
      width: 100%;
      clear: both; }
      .main-navigation ul:after {
        content: "";
        display: table;
        clear: both; }
    .main-navigation ul {
      background-color: #E1251B; }
      .main-navigation ul > li {
        float: left;
        width: 100%; }
        .main-navigation ul > li > a {
          float: left;
          width: 100%; }
        .main-navigation ul > li > ul {
          background-color: #651214; }
          .main-navigation ul > li > ul > li > a {
            padding-left: 40px; }
          .main-navigation ul > li > ul > li > ul {
            background-color: #4F0F14; }
            .main-navigation ul > li > ul > li > ul li a {
              padding-left: 60px; }
    .main-navigation li {
      float: left;
      width: 100%;
      position: relative;
      border-bottom: 1px solid rgba(255, 255, 255, 0.15); }
      .main-navigation li > a {
        float: left;
        width: 100%; }
    .main-navigation a {
      width: 100%;
      display: block;
      color: #fff;
      text-decoration: none;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding-top: 10px;
      padding-bottom: 10px;
      padding-left: 20px;
      position: relative; }
    .main-navigation .mobile-dropdown-arrow {
      cursor: pointer;
      position: absolute;
      right: 16px;
      top: 10px;
      width: 16px;
      -webkit-transition: -webkit-transform 0.25s;
      -moz-transition: -moz-transform 0.25s;
      -o-transition: -o-transform 0.25s;
      transition: transform 0.25s; }
      .main-navigation .mobile-dropdown-arrow.open {
        -moz-transform: rotate(-180deg);
        -o-transform: rotate(-180deg);
        -ms-transform: rotate(-180deg);
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg); }
    .main-navigation .has-dropdown ul {
      display: none; }
    .main-navigation .protected {
      position: absolute;
      right: 10px;
      top: 50%;
      -moz-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%);
      background: url(https://www.forging.org/assets/images/protected-new.png) no-repeat;
      background-size: 10px auto;
      width: 20px;
      height: 20px; }
    .main-navigation .expand-right {
      display: none !important; } }

@media only screen and (min-width: 1006px) {
  .main-navigation li.gray {
    display: none; }
  .main-navigation li.search {
    display: none; }
    .main-navigation li.search form {
      display: none; }
      .main-navigation li.search form input {
        display: none; } }

@media only screen and (max-width: 1005px) {
  .main-navigation .gray {
    border-bottom: 1px solid #444; }
    .main-navigation .gray a {
      background-color: #333; }
  .main-navigation .search {
    background-color: #fff;
    padding: 10px 20px;
    box-sizing: border-box; }
    .main-navigation .search input {
      border: 1px solid #424242;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border-radius: 10px;
      background-clip: padding-box;
      padding: 3px 10px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      width: 100%; } }

.suppliers-section form input[type="submit"] {
  display: block;
  padding: 6px 10px; }

.suppliers-section .suppliers-category {
  font-size: 22px;
  margin: 25px 0 5px;
  padding: 5px 10px;
  background: url(https://www.forging.org/assets/images/supplyTab2.png) no-repeat scroll left top;
  border-right: 1px solid #200606;
  color: #fff;
  background-size: 100%;
  font-family: "franklin-gothic-urw-comp",sans-serif;
  font-weight: 600;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.suppliers-section div .supplier {
  padding: 8px; }
  .suppliers-section div .supplier:nth-of-type(even) {
    background: url(https://www.forging.org/assets/images/evenRow_bk2.png) repeat-x scroll left top #DDD; }

.suppliers-section .company {
  padding: 8px; }
  .suppliers-section .company:nth-of-type(even) {
    background: url(https://www.forging.org/assets/images/evenRow_bk2.png) repeat-x scroll left top #DDD; }
  .suppliers-section .company h4 {
    color: #971817; }

.press-releases hr {
  margin: 15px 0; }
  .press-releases hr:first-of-type {
    display: none; }

.press-releases > a:first-of-type {
  margin-top: 0 !important; }

.press-releases a {
  display: block;
  background: url(https://www.forging.org/assets/images/taxList_bullet.png) no-repeat scroll left 4px transparent;
  padding: 5px 0 5px 18px; }

.interior-content.events hr:first-of-type {
  display: none; }

.interior-content.events h4 {
  color: #000; }

.interior-content.events span {
  font-style: italic; }

.interior-content.events .button {
  background: url("https://www.forging.org/assets/images/learnMore_button.png") no-repeat scroll left top transparent;
  text-shadow: 2px 2px 2px black;
  color: #fff;
  display: block;
  font-size: 12px;
  font-weight: bold;
  height: 20px;
  margin-bottom: 10px;
  margin-left: 0px;
  margin-top: 10px;
  padding: 3px 20px 4px 12px;
  width: 108px;
  line-height: 1.7em;
  text-decoration: none; }
  .interior-content.events .button:hover {
    background: url("https://www.forging.org/assets/images/learnMore_button_over.png") no-repeat left top; }

.search-result {
  margin-bottom: 20px; }
  .search-result a {
    display: block;
    margin-bottom: 5px; }

.login-tabs {
  border-bottom: 1px solid #000; }
  .login-tabs:after {
    content: "";
    display: table;
    clear: both; }
  .login-tabs a {
    display: block;
    float: left;
    color: #EEE;
    background-color: #333;
    border-color: #000;
    height: 1.8em;
    line-height: 1.9;
    font-size: 12px;
    padding: 3px 10px 2px;
    text-shadow: 0 1px 0 #000;
    -moz-border-top-left-radius: 6px;
    -moz-border-top-right-adius: 6px;
    -webkit-border-top-left-radius: 6px;
    -webkit-border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    background-clip: padding-box;
    margin-right: 5px; }
    .login-tabs a.active {
      background-color: #4a0c0c; }
    .login-tabs a:hover {
      color: #fff; }
    @media only screen and (max-width: 440px) {
      .login-tabs a {
        float: none;
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
        border-radius: 0;
        background-clip: padding-box;
        margin-right: 0; } }
  @media only screen and (max-width: 440px) {
    .login-tabs {
      border-bottom: none; } }

.login-message {
  font-weight: bold;
  margin-top: 20px; }
  .login-message span {
    color: #f00; }

.site-map hr {
  border-style: none;
  border-bottom: 1px dashed #999; }

.site-map > ul {
  padding-left: 0; }
  .site-map > ul > li {
    list-style: none; }
    .site-map > ul > li.has-children {
      background: url(https://www.forging.org/assets/images/siteMapExpand_bullet.jpg) no-repeat left 4px;
      padding-left: 22px; }
    .site-map > ul > li > a {
      font-weight: bold;
      font-size: 1.25em; }
    .site-map > ul > li > ul > li {
      list-style: none;
      background: url(https://www.forging.org/assets/images/taxList_bullet.png) no-repeat 4px -1px;
      padding-left: 20px; }
      .site-map > ul > li > ul > li.has-children {
        background: url(https://www.forging.org/assets/images/siteMapExpand_bullet.jpg) no-repeat left 2px; }
      .site-map > ul > li > ul > li ul {
        margin-left: 10px; }

.has-pagination {
  position: relative;
  padding-bottom: 40px; }
  .has-pagination .pagination-container {
    position: absolute;
    bottom: 20px;
    right: 0;
    left: 0;
    text-align: center; }
    .has-pagination .pagination-container a {
      display: inline-block;
      background: none;
      padding: 0;
      font-weight: bold; }
      .has-pagination .pagination-container a.active {
        color: #555; }
    .has-pagination .pagination-container .pagination-divider {
      width: 1px;
      height: 10px;
      display: inline-block;
      background-color: #555; }
    .has-pagination .pagination-container .pagination-numbers {
      display: inline-block; }
      .has-pagination .pagination-container .pagination-numbers .pagination-divider:last-of-type {
        display: none; }

.shop-content h4 {
  margin-top: 10px;
  margin-bottom: 5px; }

.quick-read-container .quick-read-header {
  font-size: 21.333px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: bold; }

.quick-read-container p {
  font-size: 16px;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  line-height: normal;
  padding-bottom: 15px; }

.quick-read-container hr {
  background-color: #000;
  color: #000;
  height: 0;
  margin: 10px auto !important;
  border: 1px solid #000;
  max-width: 95%; }

.quick-read-container .submit-button {
  padding: 8px 60px;
  background-color: #ff0000;
  color: #fff !important;
  font-weight: bold;
  text-decoration: none; }

.quick-read-container a {
  color: blue !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  text-decoration: underline; }

.quick-read-container .quick-read-footer {
  padding-bottom: 10px;
  border-top: #bf211f 3px solid;
  padding-top: 10px;
  background-color: #000;
  color: #838383; }

.quick-read-container .quick-read-clear {
  clear: both; }

.quick-read-container ul {
  list-style: disc;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  padding-left: 25px; }
  .quick-read-container ul li {
    background: none !important;
    padding-left: 0 !important;
    color: #000;
    font-size: 16px; }

.store-container img {
  float: left; }

.store-container h5 {
  font-weight: bold;
  color: #971817;
  font-size: 1.1em; }

.store-container hr {
  clear: both;
  margin: 30px 0; }

.store-container .description-container.has-image {
  margin: 10px 0 0 105px; }

.store-container .clear {
  clear: both; }

.cart-container form:after {
  content: "";
  display: table;
  clear: both; }

.cart-container form table {
  margin-bottom: 20px; }
  .cart-container form table img {
    height: 50px; }
  .cart-container form table input[type="text"] {
    width: auto; }
  .cart-container form table a.remove {
    background: url(https://www.forging.org/assets/images/forging-sprite3.png) no-repeat 3px -828px;
    border: 0px;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    display: block; }
    .cart-container form table a.remove:hover {
      background: url(https://www.forging.org/assets/images/forging-sprite3.png) no-repeat 3px -902px; }
  .cart-container form table tr th:nth-of-type(3),
  .cart-container form table tr td:nth-of-type(3) {
    width: 100%; }
  .cart-container form table tr td:nth-of-type(1) {
    text-align: center; }
  .cart-container form table tr:last-of-type td {
    text-align: right; }

.cart-container form input[type="submit"],
.cart-container form a.submit {
  float: right;
  margin-left: 20px;
  margin-top: 0 !important; }

.cart-container form a.submit {
  background: url(https://www.forging.org/assets/images/default-button-bk-sprite.png) repeat-x left top;
  color: #FFF;
  border: 1px solid #320808;
  padding: 6px;
  cursor: pointer;
  font-weight: bold;
  font-size: 15px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  background-clip: padding-box;
  margin-top: 10px; }
  .cart-container form a.submit:hover {
    background: url(https://www.forging.org/assets/images/default-button-bk-sprite.png) repeat-x 0 -42px; }

.cart-container form .continue {
  background: url(https://www.forging.org/assets/images/forging-sprite3.png) no-repeat 0 -1149px;
  padding: 5px 0 0 15px; }

.checkout-container a.submit {
  float: right;
  margin-left: 20px;
  margin-top: 0 !important;
  background: url(https://www.forging.org/assets/images/default-button-bk-sprite.png) repeat-x left top;
  color: #FFF;
  border: 1px solid #320808;
  padding: 6px;
  cursor: pointer;
  font-weight: bold;
  font-size: 15px;
  -moz-border-radius: 8px;
  -webkit-border-radius: 8px;
  border-radius: 8px;
  background-clip: padding-box; }
  .checkout-container a.submit:hover {
    background: url(https://www.forging.org/assets/images/default-button-bk-sprite.png) repeat-x 0 -42px; }

.checkout-container h3 {
  color: #971817;
  margin-top: 15px; }

.checkout-container table.products-table tr td {
  white-space: nowrap; }

.checkout-container table.products-table tr th:nth-of-type(2),
.checkout-container table.products-table tr td:nth-of-type(2) {
  width: 85%; }

.checkout-container table.products-table tr td:last-of-type {
  text-align: right; }

.checkout-container table.small {
  width: auto;
  float: right;
  font-size: 13px; }

.checkout-container form p {
  font-size: 13px; }

.checkout-container form .radio-label {
  display: inline; }

.checkout-container form .billing-container {
  display: none; }
  .checkout-container form .billing-container.open {
    display: block; }

.checkout-container div,
.checkout-container hr {
  clear: both; }

.interior-content .alternate-section-container:after {
  content: "";
  display: table;
  clear: both; }

.interior-content .alternate-section-container .alternate-section {
  width: 50%;
  float: left;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .interior-content .alternate-section-container .alternate-section:first-of-type {
    padding-right: 20px; }
  .interior-content .alternate-section-container .alternate-section:last-of-type {
    padding: 5px 20px;
    background: #ddd; }

.hero-slider {
  width: 100%;
  position: relative;
  margin: 0 auto;
  line-height: 0;
  background-color: #fff; }
  @media only screen and (max-width: 1005px) {
    .hero-slider {
      border-top: 10px solid #E1251B; } }
  .hero-slider .hero-slide {
    max-width: 1200px;
    margin: 0 auto;
    display: none; }
    .hero-slider .hero-slide img {
      width: 100%;
      height: auto; }
    .hero-slider .hero-slide.active {
      display: block; }
  .hero-slider .controls {
    width: 60px;
    position: absolute;
    left: calc(50% + 490px);
    bottom: 20px;
    -moz-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
    .hero-slider .controls:after {
      content: "";
      display: table;
      clear: both; }
    @media only screen and (max-width: 1100px) {
      .hero-slider .controls {
        -moz-transform: none;
        -o-transform: none;
        -ms-transform: none;
        -webkit-transform: none;
        transform: none;
        right: 20px;
        left: auto; } }
    .hero-slider .controls .control {
      width: 20px;
      height: 20px;
      background-image: url(https://www.forging.org/assets/images/chevron-left-down-fat.png);
      background-repeat: no-repeat;
      background-position: center;
      cursor: pointer; }
      .hero-slider .controls .control:first-child {
        float: left; }
      .hero-slider .controls .control:last-child {
        float: right;
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg); }

.hero-new {
  height: 375px;
  width: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 240px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .hero-new .hero-content-wrapper {
    padding: 0 13px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 1005px) {
      .hero-new .hero-content-wrapper {
        text-align: center; } }
  .hero-new .hero-content {
    border-left: 5px solid #E1251B;
    background-color: #fff;
    padding: 15px 30px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -moz-align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: franklin-gothic-urw-cond, sans-serif;
    -moz-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .hero-new .hero-content .heading {
      font-size: 32px;
      margin-right: 40px;
      white-space: nowrap; }
    .hero-new .hero-content .highlighted {
      color: #E1251B;
      font-weight: 600;
      white-space: nowrap; }
      @media only screen and (max-width: 435px) {
        .hero-new .hero-content .highlighted {
          white-space: normal; } }
  .hero-new.bold .hero-content .heading {
    font-size: 40px; }
    @media only screen and (max-width: 550px) {
      .hero-new.bold .hero-content .heading {
        font-size: 34px; } }
  .hero-new.bold .hero-content .highlighted {
    font-size: 24px; }
    @media only screen and (max-width: 550px) {
      .hero-new.bold .hero-content .highlighted {
        font-size: 20px; } }

.fair-interior-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -moz-align-items: flex-start;
  -webkit-align-items: flex-start;
  -ms-align-items: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  font-family: franklin-gothic-urw-cond, sans-serif;
  padding: 35px 0; }
  @media only screen and (max-width: 1035px) {
    .fair-interior-wrapper {
      -moz-flex-wrap: wrap;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 30px;
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  .fair-interior-wrapper .interior-new-content {
    -webkit-box-flex: 1;
    -moz-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-right: 60px;
    font-size: 1.1875em; }
    @media only screen and (max-width: 1035px) {
      .fair-interior-wrapper .interior-new-content {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%; } }
    .fair-interior-wrapper .interior-new-content h1 {
      font-size: 30px;
      border-bottom: 3px solid #E1251B;
      padding-bottom: 15px;
      margin-bottom: 30px; }
    .fair-interior-wrapper .interior-new-content p {
      line-height: 1.65em;
      margin-bottom: 20px; }
    .fair-interior-wrapper .interior-new-content h2 {
      font-size: 20px;
      color: #E1251B;
      font-weight: 900;
      margin-bottom: 20px;
      margin-top: 30px; }
    .fair-interior-wrapper .interior-new-content ul {
      padding-left: 50px;
      line-height: 1.65em;
      margin-bottom: 20px; }
    .fair-interior-wrapper .interior-new-content .fair-link {
      font-family: Helvetica, Arial, sans-serif;
      -moz-border-radius: 20px;
      -webkit-border-radius: 20px;
      border-radius: 20px;
      background-clip: padding-box;
      padding: 10px 20px;
      text-decoration: none;
      border: 1px solid #E1251B;
      font-weight: bold;
      font-size: 24px;
      background-color: #E1251B;
      color: #fff;
      white-space: nowrap; }
      @media only screen and (max-width: 550px) {
        .fair-interior-wrapper .interior-new-content .fair-link {
          font-size: 12px; } }
      .fair-interior-wrapper .interior-new-content .fair-link img {
        width: 9px;
        height: auto; }
  .fair-interior-wrapper .interior-new-aside {
    -webkit-box-flex: 0 0 425px;
    -moz-box-flex: 0 0 425px;
    -webkit-flex: 0 0 425px;
    -ms-flex: 0 0 425px;
    flex: 0 0 425px;
    background-color: #F0F0F0;
    padding: 30px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media only screen and (max-width: 1035px) {
      .fair-interior-wrapper .interior-new-aside {
        -webkit-box-flex: 0 0 100%;
        -moz-box-flex: 0 0 100%;
        -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -moz-justify-content: space-between;
        -webkit-justify-content: space-between;
        -ms-justify-content: space-between;
        justify-content: space-between;
        -moz-flex-wrap: wrap;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -moz-justify-content: space-between;
      -webkit-justify-content: space-between;
      -ms-justify-content: space-between;
      justify-content: space-between;
      margin-bottom: 30px; }
      @media only screen and (max-width: 1035px) {
        .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper {
          -webkit-box-flex: 0 0 calc(50% - 30px);
          -moz-box-flex: 0 0 calc(50% - 30px);
          -webkit-flex: 0 0 calc(50% - 30px);
          -ms-flex: 0 0 calc(50% - 30px);
          flex: 0 0 calc(50% - 30px); } }
      @media only screen and (max-width: 435px) {
        .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper {
          -webkit-box-flex: 0 0 100%;
          -moz-box-flex: 0 0 100%;
          -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
          flex: 0 0 100%; } }
      .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper .interior-new-aside-content {
        -webkit-box-flex: 1;
        -moz-box-flex: 1;
        -webkit-flex: 1;
        -ms-flex: 1;
        flex: 1; }
      .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper .interior-new-aside-media {
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        padding-bottom: 40%;
        -webkit-box-flex: 0 0 50%;
        -moz-box-flex: 0 0 50%;
        -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        margin-right: 10px; }
        @media only screen and (max-width: 768px) {
          .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper .interior-new-aside-media {
            display: none; } }
      .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper .interior-new-aside-title {
        color: #E1251B;
        font-size: 24px;
        font-weight: bold; }
      .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper a.interior-new-aside-title {
        border-bottom: 1px solid #E1251B;
        display: inline-block;
        text-decoration: none; }
      .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper ul {
        list-style: none;
        line-height: 1.5em; }
        .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper ul a {
          text-decoration: none;
          color: #545454;
          white-space: nowrap;
          font-size: 18px;
          padding-right: 15px;
          background-image: url(/assets/images/chevron-winged-red.png);
          background-size: 9px auto;
          background-repeat: no-repeat;
          background-position: right center;
          border-bottom: 1px solid #E1251B; }
        .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper ul img {
          width: 9px;
          height: auto; }
      .fair-interior-wrapper .interior-new-aside .interior-new-aside-wrapper p {
        color: #545454;
        line-height: 1.5em; }

.magazine-index img {
  max-width: 100%; }

.magazine-index .banner {
  width: 100%;
  padding: 20px 30px 0;
  box-sizing: border-box; }

.magazine-index .exhibit {
  margin: 0 auto;
  padding-top: 10px;
  max-width: 800px; }
  .magazine-index .exhibit img {
    margin: 0 auto;
    display: block; }

.magazine-index .wrap {
  padding: 30px 30px 0;
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 640px 300px;
  grid-column-gap: 40px; }
  .magazine-index .wrap .content .heading-container {
    background-color: #2D2926;
    width: 100%;
    margin-bottom: 20px; }
    .magazine-index .wrap .content .heading-container .heading {
      text-align: center;
      color: #FFF;
      font-size: 1.5em;
      font-weight: bold;
      padding: 3px 0; }
  .magazine-index .wrap .content .articles .article {
    margin-bottom: 24px; }
    .magazine-index .wrap .content .articles .article .heading,
    .magazine-index .wrap .content .articles .article .read-more {
      color: #C00000; }
  .magazine-index .wrap .content .latest-issues {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 15px));
    grid-column-gap: 30px; }
    .magazine-index .wrap .content .latest-issues img {
      width: 100%;
      height: 100%; }
  .magazine-index .wrap .content .magazine-archive {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-column-gap: 30px;
    grid-row-gap: 30px;
    text-align: center; }
    .magazine-index .wrap .content .magazine-archive a {
      text-decoration: none;
      display: block; }
      .magazine-index .wrap .content .magazine-archive a img {
        width: 90%;
        height: 100%;
        display: block;
        margin: 0 auto; }
      .magazine-index .wrap .content .magazine-archive a .edition {
        display: block;
        color: #2C2924;
        font-size: 12px;
        font-weight: bold;
        margin-top: 8px; }
  .magazine-index .wrap .content .content-section {
    margin-bottom: 40px; }
  .magazine-index .wrap .sidebar {
    max-width: 300px;
    width: 100%; }
    .magazine-index .wrap .sidebar .item {
      margin-bottom: 10px; }

.magazine-interior-content {
  padding: 0;
  border-right: none;
  border-left: none;
  color: #2C2924; }
  .magazine-interior-content .col-2 {
    display: grid;
    grid-template-columns: repeat(2, calc(50% - 15px));
    grid-column-gap: 30px; }
  .magazine-interior-content p {
    line-height: 1.2em;
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: 600;
    opacity: 0.8; }
  .magazine-interior-content .btn {
    background-color: #E9242C;
    color: #FFF;
    padding: 4px 20px;
    text-align: center;
    border-radius: 8px;
    margin: 20px auto;
    max-width: 50%;
    display: block;
    font-weight: bold; }
    .magazine-interior-content .btn:hover {
      color: #FFF; }
  .magazine-interior-content .image-container img {
    max-width: 100%; }
  .magazine-interior-content h1,
  .magazine-interior-content h2,
  .magazine-interior-content h3,
  .magazine-interior-content h4,
  .magazine-interior-content h5,
  .magazine-interior-content h6 {
    font-weight: 600;
    font-size: 1.5em;
    color: #E9242C;
    letter-spacing: 2px;
    word-spacing: 4px;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 10px; }

.magazine-single .content-section .heading {
  color: #C00000;
  font-size: 24px;
  margin-bottom: 18px; }

.magazine-single .content-section .blog-date {
  font-weight: bold;
  margin-bottom: 18px;
  font-size: 20px; }

.magazine-single .content-section .blog-post-content p {
  margin-bottom: 18px; }

.magazine-single .content-section .blog-post-content a {
  color: #C00000; }

@media (max-width: 1060px) {
  .magazine-index .wrap {
    grid-template-columns: 100%;
    grid-column-gap: 0;
    grid-row-gap: 30px;
    max-width: 100%; }
    .magazine-index .wrap .content .latest-issues img {
      max-width: 200px;
      width: 100%;
      margin: 0 auto;
      display: block; }
    .magazine-index .wrap .sidebar {
      max-width: 100%;
      display: grid;
      grid-template-columns: repeat(2, calc(50% - 5px));
      grid-column-gap: 10px; }
      .magazine-index .wrap .sidebar .item img {
        display: block;
        max-width: 100%;
        width: 100%; }
      .magazine-index .wrap .sidebar .item-spot-1 {
        order: 1; }
      .magazine-index .wrap .sidebar .item-spot-2 {
        order: 3; }
      .magazine-index .wrap .sidebar .item-spot-3 {
        order: 2; }
      .magazine-index .wrap .sidebar .item-spot-4 {
        order: 4; } }

@media (max-width: 767px) {
  .magazine-index .wrap .content .magazine-archive {
    grid-template-columns: repeat(3, 1fr); }
  .magazine-index .wrap .magazine-interior-content .col-2 {
    grid-template-columns: 100%;
    grid-column-gap: 0;
    grid-row-gap: 30px; }
    .magazine-index .wrap .magazine-interior-content .col-2 .image-container img {
      max-width: 250px;
      width: 100%;
      display: block;
      margin: 0 auto; }
    .magazine-index .wrap .magazine-interior-content .col-2 .interior-content-container {
      max-width: 420px;
      width: 100%;
      margin: 0 auto; } }

@media (max-width: 480px) {
  .magazine-index .wrap .content .magazine-archive {
    grid-template-columns: repeat(2, 1fr); }
  .magazine-index .wrap .sidebar {
    grid-template-columns: 100%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ2luZy5jc3MiLCJzb3VyY2VzIjpbImZvcmdpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJwYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJwYXJ0aWFscy9fdGV4dC5zY3NzIiwicGFydGlhbHMvX2hlYWRlci5zY3NzIiwicGFydGlhbHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJwYXJ0aWFscy9faW50ZXJpb3Iuc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInBhcnRpYWxzL19ob21lLnNjc3MiLCJwYXJ0aWFscy9fc2Nyb2xsYmFyLnNjc3MiLCJwYXJ0aWFscy9fY2F0ZWdvcmllcy5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci1zbGlkZXNob3cuc2NzcyIsInBhcnRpYWxzL19jb250YWN0LnNjc3MiLCJwYXJ0aWFscy9fY29tcGFuaWVzLnNjc3MiLCJwYXJ0aWFscy9fZGlyZWN0aW9ucy5zY3NzIiwicGFydGlhbHMvX3RhYmJlZC5zY3NzIiwicGFydGlhbHMvX2Jsb2cuc2NzcyIsInBhcnRpYWxzL192aWRlb3Muc2NzcyIsInBhcnRpYWxzL19jYXJlZXJzLnNjc3MiLCJwYXJ0aWFscy9fZmFpci5zY3NzIiwicGFydGlhbHMvX2ZhaXItb2xkLnNjc3MiLCJwYXJ0aWFscy9fcGFyZW50LnNjc3MiLCJwYXJ0aWFscy9fYW5uaXZlcnNhcnkuc2NzcyIsInBhcnRpYWxzL19mb3JtLnNjc3MiLCJwYXJ0aWFscy9fbW9iaWxlLW5hdi5zY3NzIiwicGFydGlhbHMvX3N1cHBsaWVycy5zY3NzIiwicGFydGlhbHMvX3ByZXNzLXJlbGVhc2VzLnNjc3MiLCJwYXJ0aWFscy9fZXZlbnRzLnNjc3MiLCJwYXJ0aWFscy9fc2VhcmNoLnNjc3MiLCJwYXJ0aWFscy9fbG9naW4uc2NzcyIsInBhcnRpYWxzL19zaXRlLW1hcC5zY3NzIiwicGFydGlhbHMvX3BhZ2luYXRpb24uc2NzcyIsInBhcnRpYWxzL19zaG9wLnNjc3MiLCJwYXJ0aWFscy9fcXVpY2stcmVhZC5zY3NzIiwicGFydGlhbHMvX3N0b3JlLnNjc3MiLCJwYXJ0aWFscy9fY2FydC5zY3NzIiwicGFydGlhbHMvX2NoZWNrb3V0LnNjc3MiLCJwYXJ0aWFscy9faW50ZXJpb3ItYWx0ZXJuYXRlLnNjc3MiLCJwYXJ0aWFscy9faGVyby5zY3NzIiwicGFydGlhbHMvX2ludGVyaW9yLW5ldy5zY3NzIiwicGFydGlhbHMvX21hZ2F6aW5lLWluZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoXCJodHRwczovL3VzZS50eXBla2l0Lm5ldC9vZWw3a2xpLmNzc1wiKTtcbi8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9taXhpbnNcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy90ZXh0XCI7XG5cbmJvZHkge1xuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWFpbi1iYWNrZ3JvdW5kLmpwZycpO1xuICAgIC8vYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5zaXRlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmLndpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IDExNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxufVxuXG4uZ2xvYmUtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAxNXB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiA1NjBweDtcbiAgICBoZWlnaHQ6IDM3OXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2dsb2JlX2ZhZGUucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgcXVlcnkobWF4LCA1NjBweCkge1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuLnRhYmxlLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xufVxuXG4uY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG50YWJsZS5zcGxpdCB7XG4gICAgdGQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiwgcHJvamVjdGlvbiB7XG4gICAgY3Vmb24gY3Vmb250ZXh0IHtcbiAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWluZGVudDogLTEwMDAwaW4gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4sIHByb2plY3Rpb24ge1xuICAgIGN1Zm9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgY3Vmb24ge1xuICAgICAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGN1Zm9uIGNhbnZhcyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnNpZGUtdGV4dC1jb250YWluZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtb2JpbGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxufVxuXG4uc2lkZS1pbWFnZS1jb250YWluZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBpbmNsdWRlIG1vYmlsZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uZXZlbnQtYmxvY2stYnV0dG9ucy1jb250YWluZXIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzYwcHgpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGltcG9ydCBcInBhcnRpYWxzL2hlYWRlclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvaW50ZXJpb3JcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9mb290ZXJcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9ob21lXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvc2Nyb2xsYmFyXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvY2F0ZWdvcmllc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2Zvb3Rlci1zbGlkZXNob3dcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9jb250YWN0XCI7XG5AaW1wb3J0IFwicGFydGlhbHMvY29tcGFuaWVzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvZGlyZWN0aW9uc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL3RhYmJlZFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2Jsb2dcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy92aWRlb3NcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9jYXJlZXJzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvZmFpclwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2ZhaXItb2xkXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvcGFyZW50XCI7XG5AaW1wb3J0IFwicGFydGlhbHMvYW5uaXZlcnNhcnlcIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9mb3JtXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvbW9iaWxlLW5hdlwiO1xuQGltcG9ydCBcInBhcnRpYWxzL3N1cHBsaWVyc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL3ByZXNzLXJlbGVhc2VzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvZXZlbnRzXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvc2VhcmNoXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvbG9naW5cIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9zaXRlLW1hcFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJwYXJ0aWFscy9zaG9wXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvcXVpY2stcmVhZFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL3N0b3JlXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvY2FydFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2NoZWNrb3V0XCI7XG5AaW1wb3J0IFwicGFydGlhbHMvaW50ZXJpb3ItYWx0ZXJuYXRlXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvaGVyb1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2ludGVyaW9yLW5ld1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL21hZ2F6aW5lLWluZGV4XCI7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiQG1peGluIGRlc2t0b3Age1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuQG1peGluIHRhYmxldCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5AbWl4aW4gbW9iaWxlIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1MHB4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbkBtaXhpbiBxdWVyeSAoJGRpcmVjdGlvbiwgJHZhbCkge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKCN7JGRpcmVjdGlvbn0td2lkdGg6ICR2YWwpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbkBtaXhpbiBib3gtc2l6aW5nIHtcbiAgICAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG59XG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkdmFsKSB7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiR2YWw7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiR2YWw7XG4gICAgYm9yZGVyLXJhZGl1czokdmFsO1xuICAgIGJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtcbn1cbkBtaXhpbiBib3JkZXItcmFkaXVzLXRvcCgkdmFsKSB7XG4gICAgLW1vei1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiR2YWw7XG4gICAgLW1vei1ib3JkZXItdG9wLXJpZ2h0LWFkaXVzOiR2YWw7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiR2YWw7XG4gICAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czokdmFsO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6JHZhbDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czokdmFsO1xuICAgIGJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtcbn1cbkBtaXhpbiBib3JkZXItcmFkaXVzLXRvcC1sZWZ0KCR2YWwpIHtcbiAgLW1vei1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiR2YWw7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czokdmFsO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiR2YWw7XG4gIGJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtcbn1cbkBtaXhpbiBib3JkZXItcmFkaXVzLXRvcC1yaWdodCgkdmFsKSB7XG4gIC1tb3otYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6JHZhbDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czokdmFsO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czokdmFsO1xuICBiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7XG59XG5AbWl4aW4gYm9yZGVyLXJhZGl1cy1ib3R0b20oJHZhbCkge1xuICAgIC1tb3otYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czokdmFsO1xuICAgIC1tb3otYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6JHZhbDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6JHZhbDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiR2YWw7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czokdmFsO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiR2YWw7XG4gICAgYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O1xufVxuQG1peGluIGJvcmRlci1yYWRpdXMtYm90dG9tLWxlZnQoJHZhbCkge1xuICAgIC1tb3otYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czokdmFsO1xuICAgIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czokdmFsO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6JHZhbDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7XG59XG5AbWl4aW4gYm9yZGVyLXJhZGl1cy1ib3R0b20tcmlnaHQoJHZhbCkge1xuICAgIC1tb3otYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6JHZhbDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiR2YWw7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6JHZhbDtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHZhbCkge1xuICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTokdmFsO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTokdmFsO1xuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6JHZhbDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiR2YWw7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHZhbCkge1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjokdmFsO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjokdmFsO1xuICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246JHZhbDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiR2YWw7XG59XG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlICgkdmFsKSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6JHZhbDtcbiAgICAtbW96LXRyYW5zZm9ybS1zdHlsZTokdmFsO1xuICAgIHRyYW5zZm9ybS1zdHlsZTokdmFsO1xufVxuQG1peGluIGJveC1zaGFkb3coJHZhbC4uLikge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzokdmFsO1xuICAgIC1tb3otYm94LXNoYWRvdzokdmFsO1xuICAgIGJveC1zaGFkb3c6JHZhbDtcbn1cbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbiwgJGludGVydmFsLCAkaW5maW5pdGUsICRlYXNpbmcpIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbiAkaW50ZXJ2YWwgJGluZmluaXRlICRlYXNpbmc7XG4gICAgLW1vei1hbmltYXRpb246ICRhbmltYXRpb24gJGludGVydmFsICRpbmZpbml0ZSAkZWFzaW5nO1xuICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbiAkaW50ZXJ2YWwgJGluZmluaXRlICRlYXNpbmc7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5KCRpbnRlcnZhbCkge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiRpbnRlcnZhbDtcbiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTokaW50ZXJ2YWw7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiRpbnRlcnZhbDtcbn1cbkBtaXhpbiBzY2FsZSgkdmFsKSB7XG4gICAgLW1vei10cmFuc2Zvcm06c2NhbGUoJHZhbCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoJHZhbCk7XG4gICAgLW8tdHJhbnNmb3JtOnNjYWxlKCR2YWwpO1xuICAgIHRyYW5zZm9ybTpzY2FsZSgkdmFsKTtcbn1cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQtdG9wKCRmcm9tQ29sb3IsICR0b0NvbG9yKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvQ29sb3I7IC8qIEZhbGxiYWNrIENvbG9yICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgkZnJvbUNvbG9yKSwgdG8oJHRvQ29sb3IpKTsgLyogU2FmNCssIENocm9tZSAqL1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBDaHJvbWUgMTArLCBTYWY1LjErLCBpT1MgNSsgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tQ29sb3IsICR0b0NvbG9yKTsgLyogRkYzLjYgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tQ29sb3IsICR0b0NvbG9yKTsgLyogSUUxMCAqL1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tQ29sb3IsICR0b0NvbG9yKTtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCxTdGFydENvbG9yU3RyPScjeyRmcm9tQ29sb3J9JywgRW5kQ29sb3JTdHI9JyN7JHRvQ29sb3J9Jyk7XG59XG5AbWl4aW4gbGluZWFyLWdyYWRpZW50LWRpYWdvbmFsKCRmcm9tQ29sb3IsICR0b0NvbG9yKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvQ29sb3I7IC8qIEZhbGxiYWNrIENvbG9yICovXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCByaWdodCB0b3AsIGZyb20oJGZyb21Db2xvciksIHRvKCR0b0NvbG9yKSk7IC8qIFNhZjQrLCBDaHJvbWUgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0IGJvdHRvbSwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBDaHJvbWUgMTArLCBTYWY1LjErLCBpT1MgNSsgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0IGJvdHRvbSwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBGRjMuNiAqL1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQgYm90dG9tLCAkZnJvbUNvbG9yLCAkdG9Db2xvcik7IC8qIElFMTAgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vLWxpbmVhci1ncmFkaWVudChsZWZ0IGJvdHRvbSwgJGZyb21Db2xvciwgJHRvQ29sb3IpOyAvKiBPcGVyYSAxMS4xMCsgKi9cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudChsZWZ0IGJvdHRvbSwgJGZyb21Db2xvciwgJHRvQ29sb3IpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLCBTdGFydENvbG9yU3RyPScjeyRmcm9tQ29sb3J9JywgRW5kQ29sb3JTdHI9JyN7JHRvQ29sb3J9Jyk7XG59XG5AbWl4aW4gbGluZWFyLWdyYWRpZW50LWxlZnQoJGZyb21Db2xvciwgJHRvQ29sb3IpIHtcbiAgICBiYWNrZ3JvdW5kOiAkZnJvbUNvbG9yO1xuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRmcm9tQ29sb3IgMCUsICR0b0NvbG9yIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgJGZyb21Db2xvciksIGNvbG9yLXN0b3AoMTAwJSwgJHRvQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZnJvbUNvbG9yIDAlLCAkdG9Db2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJGZyb21Db2xvciAwJSwgJHRvQ29sb3IgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkZnJvbUNvbG9yIDAlLCAkdG9Db2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRmcm9tQ29sb3IgMCUsICR0b0NvbG9yIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0xLCBTdGFydENvbG9yU3RyPScjeyRmcm9tQ29sb3J9JywgRW5kQ29sb3JTdHI9JyN7JHRvQ29sb3J9Jyk7XG59XG5AbWl4aW4gZmxleGJveCB7XG4gIGRpc3BsYXk6LXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6LW1vei1ib3g7XG4gIGRpc3BsYXk6LW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6LXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OmZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWJhc2lzKCR2YWwpIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6JHZhbDtcbiAgICAtbW96LWZsZXgtYmFzaXM6JHZhbDtcbiAgICAtbXMtZmxleC1iYXNpczokdmFsO1xuICAgIGZsZXgtYmFzaXM6JHZhbDtcbn1cblxuQG1peGluIGZsZXgoJHZhbCkge1xuICAgIC13ZWJraXQtYm94LWZsZXg6JHZhbDtcbiAgICAtbW96LWJveC1mbGV4OiR2YWw7XG4gICAgLXdlYmtpdC1mbGV4OiR2YWw7XG4gICAgLW1zLWZsZXg6JHZhbDtcbiAgICBmbGV4OiR2YWw7XG59XG5cbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsKSB7XG4gICAgLW1vei1hbGlnbi1pdGVtczokdmFsO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6JHZhbDtcbiAgICAtbXMtYWxpZ24taXRlbXM6JHZhbDtcbiAgICAtbXMtZmxleC1hbGlnbjokdmFsO1xuICAgIGFsaWduLWl0ZW1zOiR2YWw7XG59XG5cbkBtaXhpbiBhbGlnbi1zZWxmKCR2YWwpIHtcbiAgICAtbW96LWFsaWduLXNlbGY6JHZhbDtcbiAgICAtd2Via2l0LWFsaWduLXNlbGY6JHZhbDtcbiAgICAtbXMtYWxpZ24tc2VsZjokdmFsO1xuICAgIGFsaWduLXNlbGY6JHZhbDtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsKSB7XG4gICAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6JHZhbDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDokdmFsO1xuICAgIC1tcy1qdXN0aWZ5LWNvbnRlbnQ6JHZhbDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6JHZhbDtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsKSB7XG4gICAgLW1vei1mbGV4LXdyYXA6JHZhbDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDokdmFsO1xuICAgIC1tcy1mbGV4LXdyYXA6JHZhbDtcbiAgICBmbGV4LXdyYXA6JHZhbDtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWwpIHtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiR2YWw7XG4gICAgLW1vei1mbGV4LWRpcmVjdGlvbjokdmFsO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjokdmFsO1xuICAgIGZsZXgtZGlyZWN0aW9uOiR2YWw7XG59XG5cbi8vIHJvdGF0ZVxuQG1peGluIHJvdGF0ZSAoJGRlZykge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuLy8gdHJhbnNsYXRlXG5AbWl4aW4gdHJhbnNsYXRlICgkeCwgJHkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xufVxuLy8gc2tld1xuQG1peGluIHNrZXcgKCR4LCAkeSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xufVxuLy90cmFuc2Zvcm0gb3JpZ2luXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbiAoJG9yaWdpbikge1xuICAgIG1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmFsKSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiR2YWw7XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiR2YWw7XG4gICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6JHZhbDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiR2YWw7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHZhbCkge1xuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6JHZhbDtcbiAgICAtbW96LXBlcnNwZWN0aXZlOiR2YWw7XG4gICAgLW1zLXBlcnNwZWN0aXZlOiR2YWw7XG4gICAgcGVyc3BlY3RpdmU6JHZhbDtcbn1cbkBtaXhpbiB1bnNlbGVjdGFibGUge1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gICAgdXNlci1kcmFnOiBub25lO1xufVxuQG1peGluIGNsZWFyLWNoaWxkcmVuIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlwiO1xuICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cbn1cbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgQC1tb3ota2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG4gICAgXG59XG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJHZhbCkge1xuICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6JHZhbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiR2YWw7XG4gICAgLW8tYW5pbWF0aW9uLW5hbWU6JHZhbDtcbiAgICBhbmltYXRpb24tbmFtZTokdmFsO1xufVxuQG1peGluIGFuaW1hdGlvbi1wbGF5LXN0YXRlKCR2YWwpIHtcbiAgICAtbW96LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiR2YWw7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTokdmFsO1xuICAgIC1vLWFuaW1hdGlvbi1wbGF5LXN0YXRlOiR2YWw7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6JHZhbDtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHZhbCkge1xuICAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiR2YWw7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246JHZhbDtcbiAgICAtby1hbmltYXRpb24tZHVyYXRpb246JHZhbDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246JHZhbDtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWwpIHtcbiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6JHZhbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6JHZhbDtcbiAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiR2YWw7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDokdmFsO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHZhbCkge1xuICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjokdmFsO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjokdmFsO1xuICAgIC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246JHZhbDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiR2YWw7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkdmFsKSB7XG4gICAgLW1vei1hbmltYXRpb24tZmlsbC1tb2RlOiR2YWw7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiR2YWw7XG4gICAgLW8tYW5pbWF0aW9uLWZpbGwtbW9kZTokdmFsO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6JHZhbDtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMuLi4pIHtcbiAgICAgICAtbW96LXRyYW5zZm9ybTokdHJhbnNmb3JtcztcbiAgICAgICAgIC1vLXRyYW5zZm9ybTokdHJhbnNmb3JtcztcbiAgICAgICAgLW1zLXRyYW5zZm9ybTokdHJhbnNmb3JtcztcbiAgICAtd2Via2l0LXRyYW5zZm9ybTokdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06JHRyYW5zZm9ybXM7XG59XG5AZnVuY3Rpb24gcHJlZml4KCRwcm9wZXJ0eSwgJHByZWZpeGVzOiAod2Via2l0IG1veiBvIG1zKSkge1xuICAgICR2ZW5kb3ItcHJlZml4ZWQtcHJvcGVydGllczogdHJhbnNmb3JtIGJhY2tncm91bmQtY2xpcCBiYWNrZ3JvdW5kLXNpemU7XG4gICAgJHJlc3VsdDogKCk7XG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICAgIEBpZiBpbmRleCgkdmVuZG9yLXByZWZpeGVkLXByb3BlcnRpZXMsICRwcm9wZXJ0eSkge1xuICAgICAgICAgJHByb3BlcnR5OiAtI3skcHJlZml4fS0jeyRwcm9wZXJ0eX1cbiAgICAgICB9XG4gICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRwcm9wZXJ0eSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuQGZ1bmN0aW9uIHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbiwgJHByZWZpeDogbW96KSB7XG4gICAgJHByZWZpeGVkOiAoKTtcbiAgICBAZWFjaCAkdHJhbnMgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgICAkcHJvcC1uYW1lOiBudGgoJHRyYW5zLCAxKTtcbiAgICAgICAgJHZlbmRvci1wcm9wLW5hbWU6IHByZWZpeCgkcHJvcC1uYW1lLCAkcHJlZml4KTtcbiAgICAgICAgJHByb3AtdmFsczogbnRoKCR0cmFucywgMik7XG4gICAgICAgICRwcmVmaXhlZDogYXBwZW5kKCRwcmVmaXhlZCwgKCR2ZW5kb3ItcHJvcC1uYW1lICRwcm9wLXZhbHMpLCBjb21tYSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcHJlZml4ZWQ7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR2YWx1ZXMuLi4pIHtcbiAgICAkdHJhbnNpdGlvbnM6ICgpO1xuICAgICR2YWx1ZXNMZW5ndGg6IGxlbmd0aCgkdmFsdWVzKTtcbiAgICBAZm9yICR5IGZyb20gMSB0aHJvdWdoICR2YWx1ZXNMZW5ndGgge1xuICAgICAgICAkZGVjbGFyYXRpb246IG50aCgkdmFsdWVzLCAkeSk7XG4gICAgICAgICRwcm9wOiBudGgoJGRlY2xhcmF0aW9uLCAxKTtcbiAgICAgICAgJHByb3Atb3B0czogKCk7XG4gICAgICAgICRkZWNsYXJhdGlvbkxlbmd0aDogbGVuZ3RoKCRkZWNsYXJhdGlvbik7XG5cbiAgICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZGVjbGFyYXRpb25MZW5ndGgge1xuICAgICAgICAgICAgJHByb3Atb3B0czogYXBwZW5kKCRwcm9wLW9wdHMsIG50aCgkZGVjbGFyYXRpb24sICRpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAkdHJhbnM6ICgkcHJvcCAkcHJvcC1vcHRzKTtcbiAgICAgICAgJHRyYW5zaXRpb25zOiBhcHBlbmQoJHRyYW5zaXRpb25zLCAkdHJhbnMsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbnMsIHdlYmtpdCk7XG4gICAgLW1vei10cmFuc2l0aW9uOiB0cmFucy1wcmVmaXgoJHRyYW5zaXRpb25zLCBtb3opO1xuICAgIC1vLXRyYW5zaXRpb246IHRyYW5zLXByZWZpeCgkdHJhbnNpdGlvbnMsIG8pO1xuICAgIHRyYW5zaXRpb246ICR2YWx1ZXM7XG59XG5cbmJyLm1vYmlsZS1icmVhayB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgfVxufVxuYnIudGFibGV0LWJyZWFrIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICB9XG59XG5ici5kZXNrdG9wLWJyZWFrIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgcXVlcnkobWluLCA3NjlweCkge1xuICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICB9XG59XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgQGNvbnRlbnQ7ICBcbiAgICB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgQGNvbnRlbnQ7ICBcbiAgICB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAgXG4gICAgICAgQGNvbnRlbnQ7ICBcbiAgICB9XG59XG5AbWl4aW4gc2Nyb2xsYmFyICgkc2l6ZSwgJGZvcmVncm91bmQsICRiYWNrZ3JvdW5kKSB7XG4gICAgLy8gRm9yIElFXG4gICAgc2Nyb2xsYmFyLWZhY2UtY29sb3I6ICRmb3JlZ3JvdW5kO1xuICAgIHNjcm9sbGJhci10cmFjay1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgLy8gRm9yIEdvb2dsZSBDaHJvbWVcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIHdpZHRoOiAgJHNpemU7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGZvcmVncm91bmQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxufSIsIkBtaXhpbiBtYWluLWZvbnQgKCR3ZWlnaHQ6ICdub3JtYWwnKSB7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gIEBpZiAkd2VpZ2h0ID09ICd0aGluJyB7XG4gICAgZm9udC13ZWlnaHQ6MzAwO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gJ2JvbGQnIHtcbiAgICBmb250LXdlaWdodDo2MDA7XG4gIH0gQGVsc2UgaWYgJHdlaWdodCA9PSAnYm9sZGVyJyB7XG4gICAgZm9udC13ZWlnaHQ6NzAwO1xuICB9IEBlbHNlIHtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gIH1cbn1cblxuQG1peGluIGZyYW5rbGluLWdvdGhpYyAoJHdlaWdodDogJ25vcm1hbCcpIHtcbiAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVyd1wiLHNhbnMtc2VyaWY7XG5cbiAgQGlmICR3ZWlnaHQgPT0gJ3RoaW4nIHtcbiAgICBmb250LXdlaWdodDozMDA7XG4gIH0gQGVsc2UgaWYgJHdlaWdodCA9PSAnYm9sZCcge1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09ICdib2xkZXInIHtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgfVxufVxuXG5AbWl4aW4gZnJhbmtsaW4tZ290aGljLWNvbXByZXNzZWQgKCR3ZWlnaHQ6ICdub3JtYWwnKSB7XG4gIGZvbnQtZmFtaWx5OiBcImZyYW5rbGluLWdvdGhpYy11cnctY29tcFwiLHNhbnMtc2VyaWY7XG5cbiAgQGlmICR3ZWlnaHQgPT0gJ3RoaW4nIHtcbiAgICBmb250LXdlaWdodDozMDA7XG4gIH0gQGVsc2UgaWYgJHdlaWdodCA9PSAnYm9sZCcge1xuICAgIGZvbnQtd2VpZ2h0OjYwMDtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09ICdib2xkZXInIHtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgfVxufVxuXG5cbmJvZHkge1xuICBAaW5jbHVkZSBtYWluLWZvbnQobm9ybWFsKTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgdWwsIHAsIGJsb2NrcXVvdGUge1xuICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6MDtcbiAgLXdlYmtpdC1tYXJnaW4tYWZ0ZXI6MDtcbiAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6MDtcbiAgLXdlYmtpdC1tYXJnaW4tZW5kOjA7XG4gIC13ZWJraXQtcGFkZGluZy1zdGFydDowO1xuICAtd2Via2l0LXBhZGRpbmctZW5kOjA7XG4gIG1hcmdpbjowO1xuICBwYWRkaW5nOjA7XG59XG5cbnAsXG5hLFxudWwsXG5saSxcbnNwYW4sXG5zbWFsbCxcbmxhYmVsLFxudGQsXG50aCxcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAmLml0YWxpYyB7XG4gICAgZm9udC1zdHlsZTppdGFsaWM7XG4gIH1cbiAgJi5ib2xkIHtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICB9XG4gICYuYmxhY2sge1xuICAgIGNvbG9yOiMwMDAgIWltcG9ydGFudDtcbiAgfVxuICAmLm5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOjAgIWltcG9ydGFudDtcbiAgfVxufSIsImhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5uYXYtd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmhlYWRlci10b3Age1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICAgIHdpZHRoOiA1MTFweDtcbiAgICAgICAgaGVpZ2h0OiAxMThweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMS5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTcwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjkwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogOTVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubG9nby1uZXcge1xuICAgICAgICB3aWR0aDogNTExcHg7XG4gICAgICAgIGhlaWdodDogMTE4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sb2dvLW5ldy5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjkwcHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1yaWdodCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MTFweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyODZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMS5wbmcnKSBuby1yZXBlYXQgMHB4IDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zb2NpYWwtc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB3aWR0aDogNzNweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHggMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgZnJhbmtsaW4tZ290aGljO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLWJvdHRvbS1sZWZ0KDdweCk7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLWJvdHRvbS1yaWdodCg3cHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLWljb24ge1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xpbmtlZGluLWljb24ucG5nJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmFjZWJvb2staWNvbi5wbmcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdHdpdHRlci1pY29uLnBuZycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjRThFOEU4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDMwcHggNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDE1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwcHggY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21hZ25pZnktaWNvbi5wbmcnKTtcblxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1pbiwgMTAwNnB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLm1kaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgY29sb3I6ICNmN2Y2ZjY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1pbiwgMTAwNnB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDgwNXB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AaW5jbHVkZSBxdWVyeShtaW4sIDEwMDZweCkge1xuXG4gICAgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDE4MTg7XG5cbiAgICAgICAgLnByb3RlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3Byb3RlY3RlZC1uZXcucG5nKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjIlO1xuICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWxpc3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAvL0BpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hldnJvbi1kb3duLXdoaXRlLnBuZykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNThweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTJweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIxN3B4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQpO1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMtYm90dG9tKDVweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLWJvdHRvbSg1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjUxMjE0O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNHB4IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0RjBGMTQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLm1lbWJlci1sb2NrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNC5wbmcnKSBuby1yZXBlYXQgLThweCAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5leHBhbmQtcmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hldnJvbi1kb3duLXdoaXRlLnBuZykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAyMiU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC05MGRlZykpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tc2lkZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDI1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzRGMEYxNDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjRweCAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzMwODBFO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDEzcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmQsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZS1kcm9wZG93bi1hcnJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5icmVhZC1jcnVtYnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMWQxZDE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLXRvcCgxNXB4KTtcbiAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMy5wbmcnKSBuby1yZXBlYXQgMCAtNDM5cHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgQGluY2x1ZGUgbWFpbi1mb250KGxpZ2h0KTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIuaW50ZXJpb3ItY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MTBweCk7XG4gICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDM3NHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDgyMHB4KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNDZweCk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuXG4gICAgfVxuICAgIC5zbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgc3Bhbi5oaWdobGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZjAwO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYyhib2xkKTtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjOTcxODE3O1xuICAgICAgICAmLm1haW4taGVhZGluZyB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgZnJhbmtsaW4tZ290aGljLWNvbXByZXNzZWQoYm9sZCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMoYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42NWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBjb2xvcjogIzk3MTgxNztcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMoYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGNvbG9yOiAjNkYxMjEwO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYy1jb21wcmVzc2VkKGJvbGQpO1xuICAgICAgICBmb250LXNpemU6IDEuNDVlbTtcbiAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgfVxuICAgIGg2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZnJhbmtsaW4tZ290aGljLXVydy1jb21wXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgbGlzdC1zdHlsZS1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYnVsbGV0LmpwZycpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM0cHg7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgICAgICYuZG9jdW1lbnQge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCguLi9pbWFnZXMvZG9jdW1lbnRfcGRmLnBuZyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1idWxsZXQucG5nJyk7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgb2wge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogIzk1MTgxNztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNWEwZTBlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICAgIH1cblxuICAgIHRhYmxlIHtcbiAgICAgICAgJjpub3QoLnBsYWluKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGgge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYxODE3O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYy1jb21wcmVzc2VkKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucGxhaW4ge1xuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmx1ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAub3V0bGluZWQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuXG4gICAgLnNtYWxsLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogMTY1cHg7XG4gICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZWRpdW0tY29udGVudCB7XG4gICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sZWZ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5ncmF5LXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDYwcHggYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG4gICAgfVxuICAgIC5nYWxsZXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIC5nYWxsZXJ5LXNlY3Rpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDMzLjMzMyUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgwIDAgNTAlKTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgwIDAgNjYuNjY2JSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA1NTBweCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnllbGxvdy1saW5rIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93O1xuICAgIH1cbn1cblxuLmludGVyaW9yLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjMjM0NjAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5pbnRlcmlvci1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG59XG4uc2l0ZS13cmFwcGVyIHtwb3NpdGlvbjogcmVsYXRpdmU7fVxuLmxpYnJhcnktc2VhcmNoICB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAzMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB6LWluZGV4OiA5O1xuICAgIGg1IHtmb250LXNpemU6IDE2cHg7fVxuICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI0U4RThFODtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMzBweCA1cHggMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYWduaWZ5LWljb24ucG5nKSBjYWxjKDEwMCUgLSAxMHB4KSBjZW50ZXIvMTVweCBuby1yZXBlYXQ7XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAzcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgICAgICBoNSB7Zm9udC1zaXplOiAxM3B4O31cbiAgICB9XG59XG4uaW50ZXJpb3ItY29udGVudC50ZWNoLXBhZ2UgaDEge21hcmdpbi1ib3R0b206IDgwcHh9XG4uaW50ZXJpb3ItY29udGVudCA+IGE6Zmlyc3Qtb2YtdHlwZSB7bWFyZ2luLXRvcDogLTcwcHg7fVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAgIC5pbnRlcmlvci1jb250ZW50LnRlY2gtcGFnZSA+IGE6Zmlyc3Qtb2YtdHlwZSB7bWFyZ2luLXRvcDogMDt9XG59XG5cbiIsImZvb3RlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5mb290ZXItdG9wIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNzdweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvb3Rlci1iYWNrZ3JvdW5kLmpwZycpIHJlcGVhdC14IGxlZnQgdG9wO1xuICAgICAgICBkaXYubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9vdGVyLWZhZGUucG5nJykgbm8tcmVwZWF0IGNlbnRlciA5cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDczcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQ5MHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk4MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhci1jaGlsZHJlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA1OTBweCkge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mb290ZXItbmF2IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQ5MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4ICMwMDAgc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDkwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvcHlyaWdodCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA3cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDkwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1vYmlsZS1zcGFjZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtaW4sIDQ5MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9vdGVyLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDYzMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTkwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0OTBweCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk1MTgxNztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuc29jaWFsLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHgpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9saW5rZWRpbi1pY29uLnBuZycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmFjZWJvb2staWNvbi5wbmcnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90d2l0dGVyLWljb24ucG5nJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvL0BpbmNsdWRlIHF1ZXJ5KG1heCwgNTkwcHgpIHtcbiAgICAgICAgICAgICAgICAvLyAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAvLyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhvbWUtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMzEzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDYxcHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2NCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGlkZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIG5vLXJlcGVhdCAtMTI0OHB4IC00OTlweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2xpZGUtbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNi5wbmcnKSBuby1yZXBlYXQgLTFweCAtNjhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mb3JnaW5nLXNwcml0ZTQucG5nJykgbm8tcmVwZWF0IC0ycHggLTE4OTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zbGlkZS1uYXZpZ2F0aW9uLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgLnNsaWRlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSA1M3B4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIG5vLXJlcGVhdCAtNTYxcHggLTE2ODBweCAjMTUxNTE1O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIG5vLXJlcGVhdCAtNTYxcHggLTE5NTBweCAjMTUxNTE1O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3JvdGF0b3JfbGl2ZWJ1dHRvbi5qcGcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXIgIzJkMDcwNjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zbGlkZXNob3cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDQ2MXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJzIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAudGFiIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZnJhbmtsaW4tZ290aGljLWNvbXByZXNzZWQoKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50LXRvcCgjOWExYTE4LCAjNmYxMzExKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1pbiwgMTAwNnB4KSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMS5wbmcnKSBuby1yZXBlYXQgLTU2MXB4IC0xNTM1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIG5vLXJlcGVhdCAtNTYxcHggLTEzMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIG5vLXJlcGVhdCAtMTdweCAtNjQzcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIG5vLXJlcGVhdCAtMHB4IC01NDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29udGVudC1ibG9jayB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaG9tZS1jb250ZW50LWJhY2tncm91bmQuanBnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDcwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDcwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIC50YWIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYy1jb21wcmVzc2VkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjAuOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQtdG9wKCM5YTFhMTgsICM2ZjEzMTEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGl2LmNvbnRlbnQtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobis0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5NzE4MTc7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYyhib2xkKTtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzU1NTtcblxuICAgICAgICAgICAgICAgICAgICAuY29udGVudC1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNC5wbmcnKSBuby1yZXBlYXQgNjJweCAtMTE4OHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjOTUxODE3O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNC5wbmcnKSBuby1yZXBlYXQgNjJweCAtMTMxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mb3JnaW5nLXNwcml0ZTQucG5nJykgbm8tcmVwZWF0IDYycHggLTExODhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzk1MTgxNztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9mb3JnaW5nLXNwcml0ZTQucG5nJykgbm8tcmVwZWF0IDYycHggLTEzMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNC5wbmcnKSBuby1yZXBlYXQgODJweCAtMTE4OHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGU0LnBuZycpIG5vLXJlcGVhdCA4MnB4IC0xMzE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ob21lLWluZm8ge1xuXG4gICAgYmFja2dyb3VuZDogI0VGRUZFRjtcbiAgICAvL2JvcmRlci1ib3R0b206IDEwcHggc29saWQgIzgwMTgxODtcblxuICAgIC5ob21lLWluZm8td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZyYW5rbGluLWdvdGhpYy11cnctY29uZCwgc2Fucy1zZXJpZjtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgODk1cHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICAgICAgICAgIC8vcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA2NTBweCkge1xuICAgICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgICAgaGVpZ2h0OnVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tY29udGFpbmVyIHtcblxuICAgICAgICAmOm5vdCguYWx0LWltYWdlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLXRvcCgxNXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCBjYWxjKCgxMDAlIC8gMykgLSAxM3B4KSk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ5JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgLm92ZXJsYXktbGluayB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDg5NXB4KSB7XG5cbiAgICAgICAgICAgICYuYWx0LWltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjUwcHgpIHtcbiAgICAgICAgICAgICYuZGVza3RvcHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWx0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5saXN0IHtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAvL3BhZGRpbmc6IDAgNTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1pbiwgODk2cHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDE1cHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA4OTVweCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDUwJSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzowIDQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjUwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3QtaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM4MDE4MTg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWluLCA4OTZweCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMtdG9wKDE1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cblxuICAgICAgICAgICAgLmxpc3QtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saXN0LWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMCAxMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA4OTVweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpc3QtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtaW4sIDg5NnB4KSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzODVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRlbnQtc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMzIsMjMyLDIzMiwgMSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnNwbGl0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogZml0LWNvbnRlbnQoMjM1cHgpIGZpdC1jb250ZW50KDg2cHgpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjUxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDg5NXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICYuZXZlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZShuKzQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5ibG9nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUobiszKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpc3QtaXRlbS10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlzdC1pdGVtLWRhdGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNTU1O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRlbnQtbGluayB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzgwMTgxODtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jaGV2cm9uLXJpZ2h0LWNyaW1zb24ucG5nJyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCA0cHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29udGVudCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjQyNTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMzBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDE1cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtaW4sIDEwMDBweCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgODk1cHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24tc2VsZihsZWZ0KTtcblxuICAgICAgICAgICAgICAgICYuaW5mby1jb250YWluZXItbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzN3B4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cblxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyMHB4KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRTEyNTFCIHVybCgnLi4vaW1hZ2VzL2NoZXZyb24tcmlnaHQtZG93bi1mYXQucG5nJyk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMTBweCAzMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTEwcHggY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24tc2VsZihsZWZ0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLm11bHRpLWluZm8td3JhcHBlcntcbiAgICBib3JkZXItYm90dG9tOjEwcHggc29saWQgIzgwMTgxODtcbn1cbi5tb2JpbGUtY2FsZW5kYXJ7XG4gICAgcGFkZGluZy1ib3R0b206MjBweCAhaW1wb3J0YW50O1xuICAgIGZsZXgtYmFzaXM6IDgwJSAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIWltcG9ydGFudDtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSFpbXBvcnRhbnQ7XG5cbn1cbi5hZC1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNEMUQxRDE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiA0MHB4IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDc2OHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG4iLCIubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyB7XG4gIC5tQ1NCX2RyYWdnZXJSYWlsIHtcbiAgICB3aWR0aDogN3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDU2LCA1NiwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdC15OiByZXBlYXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIge1xuICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gIGJhY2tncm91bmQ6IHJnYmEoNTYsNTYsNTYsLjI1KTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDdweDtcbiAgbGVmdDogNXB4O1xuICAvLyY6aG92ZXIge1xuICAvLyAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAvLyAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUxLnBuZycpIC0xMjQ4cHggLTg2NXB4O1xuICAvL31cbn1cblxuLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1DU0Jfc2Nyb2xsVG9vbHMge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbiB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDcwMHB4KSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5tQ1NCX2luc2lkZSA+IC5tQ1NCX2NvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn0iLCIuY2F0ZWdvcmllcy1zZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAuY2F0ZWdvcnktc2VjdGlvbiB7XG4gICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2hwX2luZHVzdHl0YWJfYmsucG5nJykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgd2lkdGg6IDIwNXB4O1xuICAgIGhlaWdodDogMzIxcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjhweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuXG4gICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDU1MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XG4gICAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDM5cHg7XG4gICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgICAgQGluY2x1ZGUgZnJhbmtsaW4tZ290aGljLWNvbXByZXNzZWQoKTtcbiAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudC10b3AoIzlhMWExOCwgIzZmMTMxMSk7XG4gICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTEycHg7XG4gICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAubW9yZS1saW5rLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDJweDtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICBhIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sZWFybk1vcmVfYnV0dG9uLnBuZycpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCB0b3AgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDEpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDIwcHggNHB4IDEycHg7XG4gICAgICAgIHdpZHRoOiAxMDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAxKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbGVhcm5Nb3JlX2J1dHRvbl9vdmVyLnBuZycpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5zbGlkZXNob3ctY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDI1MHB4O1xuICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaHBfYm90dG9tYmFyLmpwZ1wiKSByZXBlYXQteCBsZWZ0IHRvcDtcbiAgICAuc2xpZGVzaG93LXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogOTgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDI0NXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvaHB2aWRlb3Niay5qcGcnKSBuby1yZXBlYXQgNHB4IDdweDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLnZpZGVvLXNsaWRlc2hvdy1oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgfVxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZnJhbmtsaW4tZ290aGljLWNvbXByZXNzZWQoYm9sZCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGlkZXNob3ctYXJyb3ctY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLnZpZGVvLXNsaWRlLW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgJi5wcmV2IHtcbiAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9mb3JnaW5nLXNwcml0ZTUucG5nJykgbm8tcmVwZWF0IC0xMnB4IC04NjRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5uZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9mb3JnaW5nLXNwcml0ZTUucG5nJykgbm8tcmVwZWF0IDEwcHggLTExNDlweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnZpZGVvLXNsaWRlc2hvdyB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODhweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgICAgICAgICAgLnNsaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3MXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9wbGF5SWNvbi5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3BsYXlJY29uX292ZXIucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubW9yZS1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDUycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sZWFybk1vcmVfYnV0dG9uLnBuZycpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDEpO1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9sZWFybk1vcmVfYnV0dG9uX292ZXIucG5nJykgbm8tcmVwZWF0IGxlZnQgdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5jb250YWN0LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4ODg7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGxhYmVsLFxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIHRleHRhcmVhLFxuICAgIHNlbGVjdHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzg4ODtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygzcHggM3B4IDRweCAjY2NjKTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmMDA7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2RlZmF1bHQtYnV0dG9uLWJrLXNwcml0ZS5wbmcnKSByZXBlYXQteCAwIC00MnB4O1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMyMDgwODtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoOHB4KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG59IiwiLmNvbXBhbmllcy10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICB0ciB7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYxODE3O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgZnJhbmtsaW4tZ290aGljLWNvbXByZXNzZWQoKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgfVxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgJi5jaGlsZC1jb21wYW55IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1hcC1zZWN0aW9uIHtcbiAgICAubWFwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5NDE4MTg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRhYnMge1xuICAgIEBpbmNsdWRlIGNsZWFyLWNoaWxkcmVuO1xuICAgIHNwYW4ge1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdGFiLWJhY2tncm91bmQuanBnKSByZXBlYXQteCBzY3JvbGwgbGVmdCBib3R0b207XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLXRvcCg0cHgpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYy1jb21wcmVzc2VkKGJvbGQpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAycHggcmdiYSgwLCAwLCAwLCAxKTtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDU1MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RhYi1iYWNrZ3JvdW5kLWhvdmVyLmpwZykgcmVwZWF0LXggYm90dG9tIGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RhYnMtYmFja2dyb3VuZC1ob3Zlci5qcGcpIHJlcGVhdC14IGJvdHRvbSBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGFiLXNlY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgLnRhYi1zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmJsb2ctc2VjdGlvbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gICAgLmJsb2ctZGF0ZSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgIH1cbiAgICAubW9yZS1saW5rIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbGVhcm5Nb3JlX2J1dHRvbi5wbmdcIikgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IHRvcCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDNweCAyMHB4IDRweCAxMnB4O1xuICAgICAgICB3aWR0aDogMTA4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggMnB4IGJsYWNrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG59XG5cbi52aWRlby1sYW5kaW5nIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDQ5JSk7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygzcHggM3B4IDRweCAjY2NjKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvcGxheUljb24ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3BsYXlJY29uX292ZXIucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZpZGVvLWRpdmlkZXIge1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIH1cbn0iLCIuY2FyZWVycy1jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvY2FyZWVyQmFja2dyb3VuZC5wbmdcIikgbm8tcmVwZWF0IGxlZnQgdG9wO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzAwMDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgcXVlcnkobWluLCAxMDA2cHgpIHtcbiAgICAgICAgcGFkZGluZzogMjNweCAxMzBweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmVlci1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBxdWVyeShtaW4sIDEwMDZweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyMnB4IDAgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2FyZWVyc19saXN0X2JrLnBuZykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDglIGF1dG87XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vZmxvYXQgcmlnaHQgYW5kIGxlZnRcbiAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMoYm9sZCk7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNi5wbmcpIG5vLXJlcGVhdCByaWdodCAtMTk1NXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWluLCAxMDA2cHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM1NTU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jYXJlZXItbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgbWFyZ2luLXRvcDoyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1pbiwgMTAwNnB4KSB7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMS5wbmcpIG5vLXJlcGVhdCAwIC03NDNweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAyMnB4IDcwcHggMTVweCAwO1xuXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMS5wbmcpIG5vLXJlcGVhdCAwIC04NjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYyhib2xkKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMy5wbmcpIG5vLXJlcGVhdCAwIC0zNTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLmZhaXItY29udGFpbmVyIHtcbiAgICAuYnJlYWQtY3J1bWJzIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NwZWNpYWwtYnJlYWRjcnVtYi5wbmcpIG5vLXJlcGVhdCB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudC10b3AoIzNkM2IzYywgIzI4MjYyNyk7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuaGVybyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvRkYxNV9TaG93X0Zsb29yX092ZXJoZWFkX0pQRUcuanBnKSBuby1yZXBlYXQgbGVmdCB0b3AgIzAwMDAwMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgcGFkZGluZzogMjZweDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDQxMHB4KTtcbiAgICAgICAgLmhlcm8tY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDU5JTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaGVyby1jb250ZW50LXRvcCB7XG4gICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZmFpci1iYW5uZXItY29udGVudC10b3AucG5nKSByZXBlYXQteCBsZWZ0IHRvcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhaXItYmFubmVyLWNvbnRlbnQtYmsucG5nKSByZXBlYXQteSBsZWZ0IHRvcDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjQwcHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5oaWdobGlnaHRlZHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vYmlsZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhaXItaGVhZGVyLWxpbmUucG5nKSBuby1yZXBlYXQgbGVmdCBib3R0b207XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuM2VtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0YTg2ZmQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEuZmFpci1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiMjFlMWUgMCUsIzhjMTcxNyA5NCUsIzUxMGQwZSA5NCUsIzUxMGQwZSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50LXRvcCgjYjIxZTFlLCAjNTEwZDBlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNpZGUtaW1hZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDIxOHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNwb25zb3JzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIHBhZGRpbmc6IDIzLjRweCAxM3B4IDE5LjVweCAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mYWlyLXNwb25zb3JzLWJrLmpwZykgbm8tcmVwZWF0IGxlZnQgdG9wICM0ZDRhNGI7XG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAudGFiIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mYWlyLXNwb25zb3ItaGVhZGVyLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC0zM3B4O1xuICAgICAgICAgICAgcmlnaHQ6IDQycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTg3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMoKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmFpci1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI1MjQyNDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMzVweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyLWNoaWxkcmVuO1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMoKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgICAuZmFpci1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50LXRvcCgjYjIxZTFlLCAjNTEwZDBlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMoKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTVlbTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCA0MHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMwMDA7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNGRkZGRkY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgI0Q4RDhEODtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICM1OTU1NTY7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcmFua2xpbi1nb3RoaWMtY29tcHJlc3NlZChib2xkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbnRlcmlvci1jb250ZW50LmZhaXIge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgLmZhaXItbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdGF4TGlzdF9idWxsZXQucG5nKSBuby1yZXBlYXQgbGVmdCAycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5uZXctZmFpci1oZXJvIHtcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgIGZvbnQtZmFtaWx5OiBmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmQsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgOTAwcHgpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgIH1cblxuICAgID4gZGl2IHtcblxuICAgICAgICAmLm1lZGlhLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMSA1MCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuXG4gICAgICAgICAgICAuZmFpci1hZC1saW5rIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgOTAwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcblxuICAgICAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2MHB4IDYwcHggNjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDMwcHgpIHtcblxuICAgICAgICAgICAgICAgICYubW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDMwcHggMzBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZpZGVvLXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9GRi1WaWRlby01LmpwZykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBsYXktYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNy41cHggMCA3LjVweCAxMXB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmFpci1oZXJvLXZpZGVvIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCA2NSUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA5MDBweCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA3NHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA5MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3NHB4IDYwcHggMzBweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDMwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZmFpci1pbmZvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLmluZm8tbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDc0cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNFOEU4RTg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuZmFpci1pbmZvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDMwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQzMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNFMTI1MUI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAubG9jYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5mYWlyLW5ldy1idXR0b24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mYWlyLW5ldy1idXR0b24ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTI1MUI7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyMHB4KTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdpZHRoOiAyNDVweDtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxufVxuXG4uY291bnRkb3duLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNDBweCA3NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogZnJhbmtsaW4tZ290aGljLXVydy1jb25kLCBzYW5zLXNlcmlmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTI1MUI7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgLmNvdW50ZG93bi1yb3cge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAudGltZS1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQ0NXB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDM0NXB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb3VudGRvd24ge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmFpci1yZWxhdGVkLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcbiAgICBwYWRkaW5nOiAwIDcwcHggOTBweDtcbiAgICBmb250LWZhbWlseTogZnJhbmtsaW4tZ290aGljLXVydy1jb25kLCBzYW5zLXNlcmlmO1xuXG4gICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMTAwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMCA2MHB4IDYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcXVlcnkobWF4LCA1NTBweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMzBweDtcbiAgICB9XG5cbiAgICAuZmFpci1yZWxhdGVkLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDkwMHB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZmFpci1yZWxhdGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGNhbGMoMjUlIC0gMjVweCkpO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMjVweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgOTAwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCBjYWxjKDUwJSAtIDI1cHgpKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyNXB4KTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmFpci1yZWxhdGVkLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSA1MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmFpci1yZWxhdGVkLWltYWdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCA1MCUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA1NTBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmFpci1yZWxhdGVkLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0UxMjUxQjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5mYWlyLXJlbGF0ZWQtdGl0bGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTEyNTFCO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UxMjUxQjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGV2cm9uLXdpbmdlZC1yZWQucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzU0NTQ1NDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52ZW51LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXhib3g7XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEyOTVweCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgfVxuXG4gICAgLmZhaXItbmV3LWRhdGVzLWxvY2F0aW9ucy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCA2NSUpO1xuICAgICAgICBmb250LWZhbWlseTogZnJhbmtsaW4tZ290aGljLXVydy1jb25kLCBzYW5zLXNlcmlmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEyOTVweCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgwIDAgMTAwJSlcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYWlyLW5ldy1kYXRlcy1sb2NhdGlvbnMtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMTVweCA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICAgICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDUwcHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmFpci1uZXctZGF0ZXMtbG9jYXRpb25zIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwNTBweCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZGF0ZXMge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDUzN3B4KTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwNTBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjA1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmxvY2F0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5mYWlyLW5ldy1kYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI0UxMjUxQjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTA1MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNjA1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGNhbGMoNTAlIC0gNXB4KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQyNXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5kYXkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjMyLCAyMzIsIDIzMiwgLjM1KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIzMiwgMjMyLCAyMzIsIC4zNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogLjdlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAudGltZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZhaXItbmV3LWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMzVweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMTVweCk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMTI1MUI7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAubG9jYXRpb24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZW51LWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwIDAgMzUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1pbiwgMTI5NnB4KSB7XG4gICAgICAgICAgICAmLm1vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTI5NXB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgICAgIGhlaWdodDogNDUwcHg7XG5cbiAgICAgICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNTUwcHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmZhaXItbmV3LW1hcC1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG5cbi5jbGllbnRzLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDgwcHggNjBweDtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgLy9mb250LWZhbWlseTogZnJhbmtsaW4tZ290aGljLXVydy1jb25kLCBzYW5zLXNlcmlmO1xuICAgICAgICAvL2NvbG9yOiAjRTEyNTFCO1xuICAgICAgICAvL2ZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0NTBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMzc1cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc3BvbnNvci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC5zcG9uc29yIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gMTBweCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gMTBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTEwMHB4KSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDk1MHB4KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAzNzVweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDI3NXB4KSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTEwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgOTUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQ1MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgOTUwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAzNzVweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc3BvbnNvcjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA5NTBweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDM3NXB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwb25zb3ItdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjRTEyNTFCO1xuICAgIH1cblxuICAgIC5tYXJxdWVlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICAgICAgLm1hcnF1ZWUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NjVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmLm5vLXNsaWRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2luZ2xlIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgLmpzLW1hcnF1ZWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1hcnF1ZWUtYXJyb3cge1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZhaXItbmV3LXRhZ2xpbmUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODAxODE4O1xuICAgIGZvbnQtZmFtaWx5OiBmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmQsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gICAgfVxuXG4gICAgLmZhaXItbmV3LXRhZ2xpbmUtd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogNjcwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuLnZpZGVvLXdyYXBwZXIgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogODAwcHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5mYWlyLXNwbGl0LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogODBweCAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwNTBweCkge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLm5ldy1mYWlyLXNpZ251cC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwIDAgNTAlKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDUwcHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDEwMCUpO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5ldy1mYWlyLXNpZ251cC1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZnJhbmtsaW4tZ290aGljLXVydy1jb25kLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgwIDAgMTAwJSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZhaXItc2lnbnVwLWZvcm0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDEwMCUpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0OTVweCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNzVweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDk1cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTEyNTFCO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0OTVweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mYWlyLWZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYWlyLWFkLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XG4gICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCA1MCUpO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTA1MHB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZmFpci1hZCB7XG4gICAgICAgICAgICB3aWR0aDogMzYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNsaWVudHMtd3JhcHBlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFMTI1MUI7XG59XG5cbi5oZWFsdGgtc2FmZXR5LXdyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLy9iYWNrZ3JvdW5kOiAjNGE4NmZkO1xuICAgIGJhY2tncm91bmQ6IHJnYig3NywgMTE1LCAxOTApO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0NTBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGgzIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0NTBweCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5mYWlyLWNvbnRhaW5lci1vbGQge1xuICAgIC5icmVhZC1jcnVtYnMge1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3BlY2lhbC1icmVhZGNydW1iLnBuZykgbm8tcmVwZWF0IHRvcDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudC10b3AoIzNkM2IzYywgIzI4MjYyNyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmhlcm8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhaXItY2l0eS1iYW5uZXIuanBnKSBuby1yZXBlYXQgbGVmdCB0b3AgIzAwMDAwMDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgcGFkZGluZzogMjZweDtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG5cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogNTklO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZXJvLWNvbnRlbnQtdG9wIHtcbiAgICAgICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mYWlyLWJhbm5lci1jb250ZW50LXRvcC5wbmcpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhaXItYmFubmVyLWNvbnRlbnQtYmsucG5nKSByZXBlYXQteSBsZWZ0IHRvcDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhaXItaGVhZGVyLWxpbmUucG5nKSBuby1yZXBlYXQgbGVmdCBib3R0b207XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuM2VtO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM0YTg2ZmQ7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC44ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGEuZmFpci1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiMjFlMWUgMCUsIzhjMTcxNyA5NCUsIzUxMGQwZSA5NCUsIzUxMGQwZSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50LXRvcCgjYjIxZTFlLCAjNTEwZDBlKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2lkZS1pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0LjNweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zcG9uc29ycyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICBwYWRkaW5nOiAyMy40cHggMTNweCAxOS41cHggMTNweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZmFpci1zcG9uc29ycy1iay5qcGcpIG5vLXJlcGVhdCBsZWZ0IHRvcCAjNGQ0YTRiO1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzI1MjQyNDtcbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3NjhweCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC50YWIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZhaXItc3BvbnNvci1oZWFkZXIucG5nKSBuby1yZXBlYXQgbGVmdCB0b3A7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTMzcHg7XG4gICAgICAgICAgICByaWdodDogNDJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxODdweDtcbiAgICAgICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mYWlyLWNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjUyNDI0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgcGFkZGluZzogMzBweCAzNXB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICAgIC5mYWlyLWJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQtdG9wKCNiMjFlMWUsICM1MTBkMGUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYygpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbnRlcmlvci1jb250ZW50LmZhaXIge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgLmZhaXItbGluayB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdGF4TGlzdF9idWxsZXQucG5nKSBuby1yZXBlYXQgbGVmdCAycHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEzNXB4O1xuICAgIH1cbn0iLCJcbi5jaGlsZC1saW5rIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICYuZm9sZGVyIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlNS5wbmcpIG5vLXJlcGVhdCAtMTJweCAtMjIzcHg7XG4gICAgfVxuICAgICYucGRmIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RvY3VtZW50X3BkZi5wbmcpIG5vLXJlcGVhdCBsZWZ0O1xuICAgIH1cbiAgICAmLm90aGVyIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RheExpc3RfYnVsbGV0LnBuZykgbm8tcmVwZWF0IGxlZnQgLTFweDtcbiAgICB9XG59XG5cbi5wYXJlbnQtZGVzY3JpcHRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xufVxuXG4uc2lkZS1zZWN0aW9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMDRweDtcbiAgICBwYWRkaW5nOiAxOHB4IDE1cHggMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHotaW5kZXg6IDA7XG4gICAgLy9ub2luc3BlY3Rpb24gQ3NzVW5rbm93blRhcmdldFxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZm9yZ2luUmVzb3VyY2VNaWRkbGUucG5nKSByZXBlYXQteSBsZWZ0IHRvcCAjRkZGO1xuICAgIC5zaWRlLXNlY3Rpb24tY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgLnNpZGUtc2VjdGlvbi10b3Age1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZm9yZ2luZ1Jlc291cmNlVG9wLnBuZykgbm8tcmVwZWF0IGxlZnQgdG9wICNGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHdpZHRoOiAzMzVweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICAuc2lkZS1zZWN0aW9uLWJvdHRvbSB7XG4gICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mb3JnaW5nUmVzb3VyY2VCb3R0b20ucG5nKSBuby1yZXBlYXQgbGVmdCB0b3AgI0ZGRjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDMzNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpZGUtc2VjdGlvbi10b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc2lkZS1zZWN0aW9uLWJvdHRvbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufSIsIi50b3Atc2VjdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG4gICAgZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA3MDBweCkge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDQwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUsXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hbm5pdmVyc2FyeS12aWRlb3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAubWlkZGxlLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhci1jaGlsZHJlbjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodCA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDEwcHgpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJmb3JtOm5vdCguc2VhcmNoLWZvcm0pIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgNXB4O1xuXG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogI2YwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coM3B4IDNweCA0cHggI2NjYyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHdpZHRoOiA0MjVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nXG4gICAgfVxuXG4gICAgLnJhZGlvLWNvbnRhaW5lciB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coM3B4IDNweCA0cHggI2NjYyk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLnJlbW92ZSksXG4gICAgLnJlY2FwdGNoYS1idXR0b24ge1xuICAgICAgICAvL25vaW5zcGVjdGlvbiBDc3NVbmtub3duVGFyZ2V0XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGVmYXVsdC1idXR0b24tYmstc3ByaXRlLnBuZykgcmVwZWF0LXggbGVmdCB0b3A7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzIwODA4O1xuICAgICAgICBwYWRkaW5nOiA2cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg4cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc1Vua25vd25UYXJnZXRcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGVmYXVsdC1idXR0b24tYmstc3ByaXRlLnBuZykgcmVwZWF0LXggMCAtNDJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59IiwiQGluY2x1ZGUgcXVlcnkobWF4LCAxMDA1cHgpIHtcbiAgICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXgtaGVpZ2h0IC41cyk7XG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyLWNoaWxkcmVuO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cblxuICAgICAgICAgdWwge1xuICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTI1MUI7XG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NTEyMTQ7XG4gICAgICAgICAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0RjBGMTQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjE1KTtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZS1kcm9wZG93bi1hcnJvdyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjI1cyk7XG5cbiAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMTgwZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWRyb3Bkb3duIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuXG4gICAgICAgIC5wcm90ZWN0ZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcHJvdGVjdGVkLW5ldy5wbmcpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwYW5kLXJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuQGluY2x1ZGUgcXVlcnkobWluLCAxMDA2cHgpIHtcblxuICAgIC5tYWluLW5hdmlnYXRpb24gbGkuZ3JheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiBsaS5zZWFyY2gge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICAuZ3JheSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzQ0NDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MjQyNDI7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMHB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMTBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5zdXBwbGllcnMtc2VjdGlvbiB7XG4gICAgZm9ybSB7XG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdXBwbGllcnMtY2F0ZWdvcnkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDVweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3VwcGx5VGFiMi5wbmcpIG5vLXJlcGVhdCBzY3JvbGwgbGVmdCB0b3A7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyMDA2MDY7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGZyYW5rbGluLWdvdGhpYy1jb21wcmVzc2VkKGJvbGQpO1xuICAgICAgICBAaW5jbHVkZSBmb250LXNtb290aGluZztcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICAuc3VwcGxpZXIge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9ldmVuUm93X2JrMi5wbmcpIHJlcGVhdC14IHNjcm9sbCBsZWZ0IHRvcCAjREREO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBhbnkge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9ldmVuUm93X2JrMi5wbmcpIHJlcGVhdC14IHNjcm9sbCBsZWZ0IHRvcCAjREREO1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6ICM5NzE4MTc7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIucHJlc3MtcmVsZWFzZXMge1xuICAgIGhyIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICY+YTpmaXJzdC1vZi10eXBle1xuICAgICAgICBtYXJnaW4tdG9wOjAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RheExpc3RfYnVsbGV0LnBuZykgbm8tcmVwZWF0IHNjcm9sbCBsZWZ0IDRweCB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDE4cHg7XG4gICAgfVxufVxuIiwiLmludGVyaW9yLWNvbnRlbnQuZXZlbnRzIHtcbiAgICBociB7XG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9sZWFybk1vcmVfYnV0dG9uLnBuZ1wiKSBuby1yZXBlYXQgc2Nyb2xsIGxlZnQgdG9wIHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAycHggYmxhY2s7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAzcHggMjBweCA0cHggMTJweDtcbiAgICAgICAgd2lkdGg6IDEwOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS43ZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9sZWFybk1vcmVfYnV0dG9uX292ZXIucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2VhcmNoLXJlc3VsdCB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHR9XG59IiwiLmxvZ2luLXRhYnMge1xuICAgIEBpbmNsdWRlIGNsZWFyLWNoaWxkcmVuO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjRUVFO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICAgIGhlaWdodDogMS44ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogM3B4IDEwcHggMnB4O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjMDAwO1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzLXRvcCg2cHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGEwYzBjO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDQwcHgpIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDQ0MHB4KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG4ubG9naW4tbWVzc2FnZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmMDA7XG4gICAgfVxufVxuIiwiLnNpdGUtbWFwIHtcbiAgICBociB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjOTk5O1xuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICYuaGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NpdGVNYXBFeHBhbmRfYnVsbGV0LmpwZykgbm8tcmVwZWF0IGxlZnQgNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvdGF4TGlzdF9idWxsZXQucG5nKSBuby1yZXBlYXQgNHB4IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgJi5oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zaXRlTWFwRXhwYW5kX2J1bGxldC5qcGcpIG5vLXJlcGVhdCBsZWZ0IDJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5oYXMtcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuXG4gICAgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzU1NTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGFnaW5hdGlvbi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICAgICAgICB9XG4gICAgICAgIC5wYWdpbmF0aW9uLW51bWJlcnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLnBhZ2luYXRpb24tZGl2aWRlcjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIuc2hvcC1jb250ZW50IHtcbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG59IiwiLnF1aWNrLXJlYWQtY29udGFpbmVyIHtcbiAgICAucXVpY2stcmVhZC1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IDIxLjMzM3B4O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIGhyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgfVxuXG4gICAgLnN1Ym1pdC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiA4cHggNjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmYhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogcmdiKDAsIDAsIDI1NSkhaW1wb3J0YW50O1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAucXVpY2stcmVhZC1mb290ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogI2JmMjExZiAzcHggc29saWQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBjb2xvcjogIzgzODM4MztcbiAgICB9XG5cbiAgICAucXVpY2stcmVhZC1jbGVhciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5zdG9yZS1jb250YWluZXIge1xuICAgIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjOTcxODE3O1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIge1xuICAgICAgICAmLmhhcy1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDEwNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufSIsIi5jYXJ0LWNvbnRhaW5lciB7XG4gICAgZm9ybSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyLWNoaWxkcmVuO1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5yZW1vdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUzLnBuZykgbm8tcmVwZWF0IDNweCAtODI4cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZm9yZ2luZy1zcHJpdGUzLnBuZykgbm8tcmVwZWF0IDNweCAtOTAycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgdGg6bnRoLW9mLXR5cGUoMyksXG4gICAgICAgICAgICAgICAgdGQ6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZDpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgICAgYS5zdWJtaXQge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhLnN1Ym1pdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RlZmF1bHQtYnV0dG9uLWJrLXNwcml0ZS5wbmcpIHJlcGVhdC14IGxlZnQgdG9wO1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzIwODA4O1xuICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RlZmF1bHQtYnV0dG9uLWJrLXNwcml0ZS5wbmcpIHJlcGVhdC14IDAgLTQycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250aW51ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zvcmdpbmctc3ByaXRlMy5wbmcpIG5vLXJlcGVhdCAwIC0xMTQ5cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmNoZWNrb3V0LWNvbnRhaW5lciB7XG5cbiAgICBhLnN1Ym1pdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kZWZhdWx0LWJ1dHRvbi1iay1zcHJpdGUucG5nKSByZXBlYXQteCBsZWZ0IHRvcDtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMjA4MDg7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RlZmF1bHQtYnV0dG9uLWJrLXNwcml0ZS5wbmcpIHJlcGVhdC14IDAgLTQycHg7XG4gICAgICAgIH1cblxuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAjOTcxODE3O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgICB0YWJsZSB7XG5cbiAgICAgICAgJi5wcm9kdWN0cy10YWJsZSB7XG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoOm50aC1vZi10eXBlKDIpLFxuICAgICAgICAgICAgICAgIHRkOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhZGlvLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iaWxsaW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdixcbiAgICBociB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn0iLCIuaW50ZXJpb3ItY29udGVudCB7XG5cbiAgICAuYWx0ZXJuYXRlLXNlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXItY2hpbGRyZW47XG4gICAgICAgIC5hbHRlcm5hdGUtc2VjdGlvbiB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkZGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhlcm8tc2xpZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAwNXB4KSB7XG4gICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgI0UxMjUxQjtcbiAgICB9XG5cbiAgICAuaGVyby1zbGlkZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udHJvbHMge1xuICAgICAgICBAaW5jbHVkZSBjbGVhci1jaGlsZHJlbjtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgKyA0OTBweCk7XG4gICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTEwMHB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0obm9uZSk7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9jaGV2cm9uLWxlZnQtZG93bi1mYXQucG5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLmhlcm8tbmV3IHtcbiAgICBoZWlnaHQ6IDM3NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLXRvcDogMjQwcHg7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZztcblxuICAgIC5oZXJvLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZztcblxuICAgICAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMDVweCkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlcm8tY29udGVudCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI0UxMjUxQjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG4gICAgICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmcmFua2xpbi1nb3RoaWMtdXJ3LWNvbmQsIHNhbnMtc2VyaWY7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblxuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRTEyNTFCO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNDM1cHgpIHtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYm9sZHtcbiAgICAgICAgLmhlcm8tY29udGVudCB7XG4gICAgICAgICAgICAuaGVhZGluZ3tcbiAgICAgICAgICAgICAgICBmb250LXNpemU6NDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGV7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTozNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5oaWdobGlnaHRlZHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGV7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZhaXItaW50ZXJpb3Itd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gICAgZm9udC1mYW1pbHk6IGZyYW5rbGluLWdvdGhpYy11cnctY29uZCwgc2Fucy1zZXJpZjtcbiAgICBwYWRkaW5nOiAzNXB4IDA7XG5cbiAgICBAaW5jbHVkZSBxdWVyeShtYXgsIDEwMzVweCkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG4gICAgfVxuXG4gICAgLmludGVyaW9yLW5ldy1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NWVtO1xuXG4gICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgMTAzNXB4KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjRTEyNTFCO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42NWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjRTEyNTFCO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmFpci1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygyMHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMTI1MUI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMTI1MUI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb2JpbGV7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnRlcmlvci1uZXctYXNpZGUge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCA0MjVweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmc7XG5cbiAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDM1cHgpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDEwMCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnRlcmlvci1uZXctYXNpZGUtd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xuICAgICAgICAgICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCAxMDM1cHgpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCBjYWxjKDUwJSAtIDMwcHgpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcXVlcnkobWF4LCA0MzVweCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW50ZXJpb3ItbmV3LWFzaWRlLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnRlcmlvci1uZXctYXNpZGUtbWVkaWEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCA1MCUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHF1ZXJ5KG1heCwgNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnRlcmlvci1uZXctYXNpZGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRTEyNTFCO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYS5pbnRlcmlvci1uZXctYXNpZGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTEyNTFCO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL2NoZXZyb24td2luZ2VkLXJlZC5wbmcpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTEyNTFCO1xuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM1NDU0NTQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm1hZ2F6aW5lLWluZGV4IHtcbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHggMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmV4aGliaXQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIG1heC13aWR0aDogODAwcHg7XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAud3JhcCB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDA7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjQwcHggMzAwcHg7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA0MHB4O1xuXG4gICAgLmNvbnRlbnQge1xuXG4gICAgICAuaGVhZGluZy1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQyOTI2O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAuaGVhZGluZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFydGljbGVzIHtcbiAgICAgICAgLmFydGljbGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgICAuaGVhZGluZyxcbiAgICAgICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQzAwMDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGF0ZXN0LWlzc3VlcyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGNhbGMoNTAlIC0gMTVweCkpO1xuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDMwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1hZ2F6aW5lLWFyY2hpdmUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDMwcHg7XG4gICAgICAgIGdyaWQtcm93LWdhcDogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZWRpdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjMkMyOTI0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaWRlYmFyIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLml0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWFnYXppbmUtaW50ZXJpb3ItY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGNvbG9yOiAjMkMyOTI0O1xuXG4gIC5jb2wtMiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBjYWxjKDUwJSAtIDE1cHgpKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDMwcHg7XG4gIH1cblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIC8vIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuXG4gIC5idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTI0MkM7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgcGFkZGluZzogNHB4IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgfVxuICB9XG5cbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgY29sb3I6ICNFOTI0MkM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB3b3JkLXNwYWNpbmc6IDRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5tYWdhemluZS1zaW5nbGUge1xuICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogI0MwMDAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgLmJsb2ctZGF0ZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgLmJsb2ctcG9zdC1jb250ZW50IHtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjQzAwMDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTA2MHB4KSB7XG4gIC5tYWdhemluZS1pbmRleCB7XG4gICAgLndyYXAge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAwO1xuICAgICAgZ3JpZC1yb3ctZ2FwOiAzMHB4O1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIC5sYXRlc3QtaXNzdWVzIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNpZGViYXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGNhbGMoNTAlIC0gNXB4KSk7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogMTBweDtcblxuICAgICAgICAuaXRlbSB7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1zcG90LTEge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgICAgIC5pdGVtLXNwb3QtMiB7XG4gICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0tc3BvdC0zIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbS1zcG90LTQge1xuICAgICAgICAgIG9yZGVyOiA0O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1hZ2F6aW5lLWluZGV4IHtcbiAgICAud3JhcCB7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIC5tYWdhemluZS1hcmNoaXZlIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tYWdhemluZS1pbnRlcmlvci1jb250ZW50IHtcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAwO1xuICAgICAgICAgIGdyaWQtcm93LWdhcDogMzBweDtcblxuICAgICAgICAgIC5pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaW50ZXJpb3ItY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC5tYWdhemluZS1pbmRleCB7XG4gICAgLndyYXAge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICAubWFnYXppbmUtYXJjaGl2ZSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2lkZWJhciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sQ0FBQywwQ0FBSTtBQ0FaLDRFQUE0RTtBQUU1RTs7OztHQUlHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsVUFBVztFQUFFLE9BQU87RUFDakMsb0JBQW9CLEVBQUUsSUFBSztFQUFFLE9BQU87RUFDcEMsd0JBQXdCLEVBQUUsSUFBSztFQUFFLE9BQU8sRUFDekM7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFFLEdBQ1g7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7OztHQUtHO0FBRUgsQUFBQSxPQUFPO0FBQ1AsQUFBQSxLQUFLO0FBQ0wsQUFBQSxPQUFPO0FBQ1AsQUFBQSxVQUFVO0FBQ1YsQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxNQUFNO0FBQ04sQUFBQSxJQUFJO0FBQ0osQUFBQSxJQUFJO0FBQ0osQUFBQSxHQUFHO0FBQ0gsQUFBQSxPQUFPO0FBQ1AsQUFBQSxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEtBQUs7QUFDTCxBQUFBLE1BQU07QUFDTixBQUFBLFFBQVE7QUFDUixBQUFBLEtBQUssQ0FBQztFQUNKLE9BQU8sRUFBRSxZQUFhO0VBQUUsT0FBTztFQUMvQixjQUFjLEVBQUUsUUFBUztFQUFFLE9BQU8sRUFDbkM7O0FBRUQ7OztHQUdHO0FBRUgsQUFBb0IsS0FBZixBQUFBLElBQUssRUFBQSxBQUFBLEFBQVMsUUFBUixBQUFBLEdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUs7RUFDZCxN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 */