@import url(../../assets/bower_components/normalize.css/normalize.css);
@import url(../../assets/sass/plugins/animate.css);
@import url(../../assets/sass/plugins/flickity.css);

html {
  box-sizing: border-box;
}

*,
*::after,
*::before {
  box-sizing: inherit;
}

body {
  font: 16px/1.5 "proxima-nova", Arial, sans-serif;
}

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

.center {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

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

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

::-moz-selection {
  background: #cccccc;
  text-shadow: none;
}

::selection {
  background: #cccccc;
  text-shadow: none;
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mfp-preloader a {
  color: #ccc;
}

.mfp-preloader a:hover {
  color: #fff;
}

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

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

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

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

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

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

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

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100);
}

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid #fff;
  margin-left: 31px;
}

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid #fff;
  margin-left: 39px;
}

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

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

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

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

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

.mfp-title {
  text-align: center;
  margin-top: 10px;
  line-height: 1.5;
  color: #f3f3f3;
  word-wrap: break-word;
  font-size: 20px;
  padding-right: 36px;
}

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

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

@media screen and (max-width: 800px) and (orientation: landscape),
  screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }

  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }

  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }

  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }

  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }

  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }

  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }

  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75);
  }

  .mfp-arrow-left {
    transform-origin: 0;
  }

  .mfp-arrow-right {
    transform-origin: 100%;
  }

  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

.mfp-ie7 .mfp-img {
  padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
  padding: 0;
}

.mfp-ie7 .mfp-content {
  padding-top: 44px;
}

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0;
}

/* overlay at start */
.mfp-fade.mfp-bg {
  transition: 300ms;
}

/* overlay animate in */
/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: 300ms;
  transform: translateY(-50px);
}

/* content animate it */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  transform: translateY(0);
}

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
  transform: translateY(-50px);
}

.symbol-arrow-down,
.symbol-arrow-up,
.symbol-calendar,
.symbol-clock,
.symbol-document,
.symbol-downloading,
.symbol-facebook,
.symbol-fast-forward-button,
.symbol-fast-forward-button-1,
.symbol-film,
.symbol-folder,
.symbol-home,
.symbol-instagram,
.symbol-magnification-lens,
.symbol-map,
.symbol-paperclip,
.symbol-placeholder,
.symbol-play-button,
.symbol-reel,
.symbol-rewind-button,
.symbol-rewind-button-1,
.symbol-round-socket,
.symbol-smartphone,
.symbol-speaker,
.symbol-stop-button,
.symbol-tag,
.symbol-tag-narrow,
.symbol-telephone-receiver,
.symbol-user,
.symbol-user-1,
.symbol-youtube {
  display: inline-block;
  vertical-align: middle;
  font-size: 0;
  font-style: normal;
}

svg,
symbol {
  width: 0;
  height: 0;
}

svg circle,
svg ellipse,
svg g,
svg line,
svg path,
svg polygon,
svg polyline,
svg rect,
symbol circle,
symbol ellipse,
symbol g,
symbol line,
symbol path,
symbol polygon,
symbol polyline,
symbol rect {
  fill: inherit !important;
  stroke: inherit !important;
}

.symbol-arrow-down {
  width: 31.479px;
  height: 31.479px;
}

.symbol-arrow-up {
  width: 31.479px;
  height: 31.479px;
}

.symbol-calendar {
  width: 32px;
  height: 32px;
}

.symbol-clock {
  width: 32px;
  height: 32px;
}

.symbol-document {
  width: 32px;
  height: 32px;
}

.symbol-downloading {
  width: 32px;
  height: 32px;
}

.symbol-facebook {
  width: 49.652px;
  height: 49.652px;
}

.symbol-fast-forward-button {
  width: 32.032px;
  height: 32.032px;
}

.symbol-fast-forward-button-1 {
  width: 32.032px;
  height: 32.032px;
}

.symbol-film {
  width: 32px;
  height: 32px;
}

.symbol-folder {
  width: 32px;
  height: 32px;
}

.symbol-home {
  width: 32.004px;
  height: 32.004px;
}

.symbol-instagram {
  width: 49.652px;
  height: 49.652px;
}

.symbol-magnification-lens {
  width: 32.032px;
  height: 32.032px;
}

.symbol-map {
  width: 32.005px;
  height: 32.005px;
}

.symbol-paperclip {
  width: 32px;
  height: 32px;
}

.symbol-placeholder {
  width: 32px;
  height: 32px;
}

.symbol-play-button {
  width: 32.032px;
  height: 32.032px;
}

.symbol-reel {
  width: 32px;
  height: 32px;
}

.symbol-rewind-button {
  width: 32.031px;
  height: 32.031px;
}

.symbol-rewind-button-1 {
  width: 32.031px;
  height: 32.031px;
}

.symbol-round-socket {
  width: 32.031px;
  height: 32.031px;
}

.symbol-smartphone {
  width: 32px;
  height: 32px;
}

.symbol-speaker {
  width: 32px;
  height: 32px;
}

.symbol-stop-button {
  width: 32px;
  height: 32px;
}

.symbol-tag {
  width: 490px;
  height: 490px;
}

.symbol-tag-narrow {
  width: 32px;
  height: 32px;
}

.symbol-telephone-receiver {
  width: 32.029px;
  height: 32.029px;
}

.symbol-user {
  width: 32px;
  height: 32px;
}

.symbol-user-1 {
  width: 32px;
  height: 32px;
}

.symbol-youtube {
  width: 97.75px;
  height: 97.75px;
}

#__bs_notify__ {
  position: fixed;
  top: 50%;
  left: 50%;
  margin-left: -125px !important;
  width: 250px;
  height: 50px;
  border-radius: 0 !important;
  opacity: 0.5;
}

.g-None {
  display: none;
}

.g-Hidden {
  visibility: hidden;
}

.visible-Desktop {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .visible-Desktop {
    display: none;
  }
}

.visible-Tablet {
  display: none;
}

@media screen and (max-width: 768px) {
  .visible-Tablet {
    display: inline-block;
  }
}

@media screen and (max-width: 480px) {
  .visible-Tablet {
    display: none;
  }
}

.visible-Mobile {
  display: none;
}

@media screen and (max-width: 480px) {
  .visible-Mobile {
    display: inline-block;
  }
}

body {
  background: #f4f3ef;
}

.site {
  position: relative;
  z-index: 1;
  max-width: 1440px;
  margin: 0 auto;
  background: #fff;
  overflow: hidden;
}

@media screen and (max-width: 960px) {
  .site {
    padding-top: 100px;
  }
}

@keyframes fadeVideo {
  0%,
  50% {
    opacity: 0;
    background: #0f0f11;
  }

  100% {
    opacity: 1;
    background: transparent;
  }
}

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.flickity-prev-next-button {
  background: transparent;
  fill: #f6970f;
  transition: 200ms;
}

.flickity-prev-next-button:hover {
  background: transparent;
  fill: #42bff4;
}

.flickity-prev-next-button.previous {
  left: -60px;
}

.flickity-prev-next-button.next {
  right: -60px;
}

.intro,
.intro--Plain {
  position: relative;
  overflow: hidden;
  z-index: 100;
  background-color: #383b47;
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  display: block;
  width: 100%;
  margin-bottom: -50px;
  overflow: hidden;
  padding-bottom: 50px;
}

@media screen and (max-width: 960px) {
  .intro,
  .intro--Plain {
    height: auto;
    min-height: 0;
  }
}

.intro:after,
.intro--Plain:after {
  content: "";
  display: block;
  height: 100px;
  background: #fff;
  transform: rotate(-2deg);
  position: absolute;
  left: -50px;
  right: -50px;
  bottom: -50px;
}

.intro:before,
.intro--Plain:before {
  opacity: 0.5;
}

.intro__Table {
  display: table;
  height: 100%;
  width: 100%;
}

.intro__Center {
  display: table-cell;
  vertical-align: bottom;
  padding: 22% 0 5% 0;
}

@media screen and (max-width: 960px) {
  .intro__Center {
    padding: 12% 40px;
  }
}

@media screen and (max-width: 768px) {
  .intro__Center {
    padding: 12% 10px;
  }
}

.intro__Content {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  z-index: 10;
  padding: 0 10px;
  width: 100%;
}

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

.intro__Content h1 {
  color: #fff;
  font-size: 48px;
  width: 100%;
  margin: 0;
  line-height: 1.1;
  font-family: "proxima-nova", Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 900;
}

.intro__Content h1 strong {
  font-weight: 900;
}

@media screen and (max-width: 768px) {
  .intro__Content h1 {
    font-size: 6vw;
  }
}

.intro__Content .button,
.intro__Content .button--Dark {
  margin-top: 30px;
}

.intro__Lead,
.intro__Lead--is-Centered {
  font-size: 20px;
  margin: 0;
  color: #fff;
  font-weight: 300;
  max-width: 720px;
}

@media screen and (max-width: 768px) {
  .intro__Lead,
  .intro__Lead--is-Centered {
    font-size: 16px;
  }
}

.intro__Lead p,
.intro__Lead--is-Centered p {
  margin-top: 0;
}

.intro__Lead img,
.intro__Lead--is-Centered img {
  margin: 20px 20px 0 0;
}

.intro__Lead--is-Centered {
  text-align: center;
  margin: 0 auto;
}

.intro__Meta {
  margin: 0;
  padding: 0;
  margin: 20px 0 0;
  font-size: 0.8125em;
}

.intro__Meta ul {
  margin: 0;
  padding: 0;
}

.intro__Meta li {
  display: inline-block;
  vertical-align: top;
}

.intro__Meta li:after {
  content: "|";
  margin: 0 10px;
  opacity: 0.2;
}

.intro__Meta li:last-of-type::after {
  display: none;
}

.intro__Meta li.age_restriction span {
  height: 25px;
  width: 25px;
  text-align: center;
  border-radius: 100%;
  line-height: 23px;
  border: 1px solid #ffffff;
  color: #ffffff;
  display: block;
  font-size: 0.8em;
}

.intro__Meta li.age_restriction--12 span {
  border: 1px solid #35af13;
  color: #35af13;
}

.intro__Meta li.age_restriction--15 span {
  border: 1px solid #f8ac40;
  color: #f8ac40;
}

.intro__Meta li.age_restriction--18 span {
  border: 1px solid #b21013;
  color: #b21013;
}

.intro__Video {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  top: 0;
  z-index: -2;
  animation: 3s fadeVideo;
}

.intro--Plain {
  margin-bottom: 0;
  padding-bottom: 0;
}

.intro--Plain:after {
  display: none;
}

@media screen and (max-width: 960px) {
  .intro,
  .intro--Plain {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .intro:after,
  .intro--Plain:after {
    display: none;
  }
}

.button,
.button--Dark {
  display: inline-block;
  padding: 15px 60px;
  background: linear-gradient(0deg, #0a7cac, #42bff4);
  color: #fff;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
}

.button:hover,
.button--Dark:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .button,
  .button--Dark {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .button,
  .button--Dark {
    padding: 8px 20px;
  }
}

.button--Dark {
  display: inline-block;
  padding: 15px 60px;
  background: linear-gradient(0deg, #0a7cac, #42bff4);
  color: #1a2636;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
}

.button--Dark:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .button--Dark {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .button--Dark {
    padding: 8px 20px;
  }
}

.section,
.section--Image {
  background: #f2f2f2 url(../images/struckaxiom.png) repeat top center;
  position: relative;
  z-index: 1;
}

.section__Subtitle,
.section__Subtitle--Accent {
  font-family: "proxima-nova", Arial, sans-serif;
  text-transform: uppercase;
  font-size: 1.25em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 10px;
  color: #42bff4;
}

.section__Subtitle--Accent {
  color: #f6970f;
}

.section__Title,
.section__Title--White,
.section__Title--Brand,
.section__Title--Accent {
  font-family: "proxima-nova", Arial, sans-serif;
  text-transform: uppercase;
  font-size: 70px;
  font-size: 4vw;
  color: #dad9d7;
  font-weight: 600;
  text-align: center;
  margin: 0;
  line-height: 1.1;
}

.section__Title:first-child,
.section__Title--White:first-child,
.section__Title--Brand:first-child,
.section__Title--Accent:first-child {
  margin-top: 2%;
}

@media screen and (max-width: 768px) {
  .section__Title:first-child,
  .section__Title--White:first-child,
  .section__Title--Brand:first-child,
  .section__Title--Accent:first-child {
    margin-top: 6%;
  }
}

@media screen and (max-width: 768px) {
  .section__Title,
  .section__Title--White,
  .section__Title--Brand,
  .section__Title--Accent {
    font-size: 6vw;
  }
}

.section__Title--White {
  color: #fff;
}

.section__Title--Brand {
  color: #42bff4;
}

.section__Title--Accent {
  color: #f6970f;
}

.section__Content,
.section__Content--Contact,
.section__Content--DarkBrand {
  background: #fff;
  padding: 3% 0 4.6% 0;
}

.section__Content--Contact {
  background: #1a2636;
  color: #fff;
  padding: 100px 0 120px 0;
}

.section__Content--DarkBrand {
  background: #1a2636;
  color: #fff;
}

.section__ContentWrapper,
.section__ContentWrapper--CenterContents,
.section__ContentWrapper--Wide {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

.section__ContentWrapper::after,
.section__ContentWrapper--CenterContents::after,
.section__ContentWrapper--Wide::after {
  clear: both;
  content: "";
  display: table;
}

.section__ContentWrapper--CenterContents {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%;
}

.section__ContentWrapper--Wide {
  max-width: 1020px;
}

@media screen and (max-width: 960px) {
  .section__ContentWrapper,
  .section__ContentWrapper--CenterContents,
  .section__ContentWrapper--Wide {
    padding: 0 20px;
  }
}

.section__ContentInner {
  text-align: center;
  color: #383b47;
  max-width: 700px;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .section__ContentInner {
    font-size: 18px;
  }
}

.section__ContentRow,
.section__ContentRow--without-Margin {
  margin-top: 100px;
  margin-left: 40px;
  font-size: 0;
  text-align: center;
}

.section__ContentRow::after,
.section__ContentRow--without-Margin::after {
  clear: both;
  content: "";
  display: table;
}

@media screen and (max-width: 960px) {
  .section__ContentRow,
  .section__ContentRow--without-Margin {
    margin-left: 0;
    margin-top: 60px;
  }
}

.section__ContentRow--without-Margin {
  margin: 0;
}

.section__ContentColumn,
.section__ContentColumn--Title,
.section__ContentColumn--Description {
  display: inline-block;
  padding: 0 20px;
  width: 33.33333%;
  font-size: 16px;
  vertical-align: top;
  margin-bottom: 60px;
  text-align: left;
}

.section__ContentColumn--Title {
  float: left;
  width: auto;
  max-width: 400px;
}

.section__ContentColumn--Description {
  width: auto;
  overflow: hidden;
  float: none;
}

@media screen and (max-width: 768px) {
  .section__ContentColumn,
  .section__ContentColumn--Title,
  .section__ContentColumn--Description {
    width: 100%;
    margin-bottom: 1.25em;
  }
}

.section__ContentColumnInner,
.section__ContentColumnInner--font-Large,
.section__ContentColumnInner--color-White {
  margin-top: 0;
  color: #383b47;
}

.section__ContentColumnInner p,
.section__ContentColumnInner--font-Large p,
.section__ContentColumnInner--color-White p {
  margin-top: 0;
}

.section__ContentColumnInner--font-Large {
  font-size: 1.125em;
}

@media screen and (max-width: 768px) {
  .section__ContentColumnInner--font-Large {
    font-size: 1.25em;
  }
}

.section__ContentColumnInner--color-White {
  color: #fff;
}

.section__ContentColumnNumber {
  font-weight: 400;
  font-size: 1.125em;
  margin: 0;
}

.section__ContentColumnNumber:after {
  content: "";
  display: block;
  width: 70px;
  background: #42bff4;
  height: 1px;
  margin: 5px 0 15px 0;
}

.section__ContentColumnTitle,
.section__ContentColumnTitle--with-MarginTop {
  font-size: 1.375em;
  line-height: 1.1;
  margin: 0 0 20px;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .section__ContentColumnTitle,
  .section__ContentColumnTitle--with-MarginTop {
    font-size: 1.25em;
  }
}

@media screen and (max-width: 480px) {
  .section__ContentColumnTitle,
  .section__ContentColumnTitle--with-MarginTop {
    font-size: 1.125em;
  }
}

.section__ContentColumnTitle--with-MarginTop {
  margin-top: 8px;
}

.section__Blocks {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20%;
  padding-bottom: 80px;
}

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

@media screen and (max-width: 960px) {
  .section__Blocks {
    padding: 0;
  }
}

.section__Block,
.section__Block--without-Image {
  width: 48%;
  float: left;
  background: #f6970f;
  padding: 8%;
  min-height: 500px;
  display: table;
  color: #fff;
  margin: 1%;
  position: relative;
  z-index: 1;
  margin-top: -3%;
  transition: 0;
  outline: 0px solid transparent;
  text-decoration: none;
}

.section__Block:link:hover,
.section__Block--without-Image:link:hover {
  outline: 15px solid transparent;
  transition: 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.section__Block:first-child,
.section__Block--without-Image:first-child {
  margin-top: -25%;
}

.section__Block:nth-child(odd),
.section__Block--without-Image:nth-child(odd) {
  margin-right: 50%;
}

.section__Block:nth-child(odd) img,
.section__Block--without-Image:nth-child(odd) img {
  left: 100%;
  bottom: 10%;
  margin-left: -30px;
  margin-right: 0;
}

.section__Block:nth-child(even),
.section__Block--without-Image:nth-child(even) {
  margin-left: 50%;
}

.section__Block:nth-child(even) img,
.section__Block--without-Image:nth-child(even) img {
  right: 100%;
  bottom: 10%;
  margin-right: -30px;
  margin-left: 0;
}

.section__Block:nth-child(4n + 1),
.section__Block--without-Image:nth-child(4n + 1) {
  background: #f6970f;
  outline-color: #f8ac40;
}

.section__Block:nth-child(4n + 2),
.section__Block--without-Image:nth-child(4n + 2) {
  background: #42bff4;
  outline-color: #72cff7;
}

.section__Block:nth-child(4n + 3),
.section__Block--without-Image:nth-child(4n + 3) {
  background: #ff7600;
  outline-color: #ff9133;
}

.section__Block:nth-child(4n + 4),
.section__Block--without-Image:nth-child(4n + 4) {
  background: #fff;
  color: #1d1e22;
  outline-color: white;
}

.section__Block--without-Image {
  margin: 1% !important;
}

.section__Block--without-Image:nth-child(odd) {
  margin-top: -3% !important;
}

@media screen and (max-width: 960px) {
  .section__Block--without-Image:nth-child(odd) {
    margin: 0 !important;
  }
}

.section__Block--without-Image:nth-child(even) {
  margin-top: 1% !important;
}

@media screen and (max-width: 960px) {
  .section__Block--without-Image:nth-child(even) {
    margin: 10px 0 !important;
  }
}

@media screen and (max-width: 960px) {
  .section__Block,
  .section__Block--without-Image {
    display: block;
    width: auto !important;
    float: none;
    margin: 10px 0 !important;
    min-height: 0;
  }
}

.section__BlockImage {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  max-width: 600px;
  width: 110%;
}

@media screen and (max-width: 960px) {
  .section__BlockImage {
    display: none;
  }
}

.section__BlockContent {
  display: table-cell;
  vertical-align: middle;
}

.section__BlockContent p {
  font-size: 18px;
}

.section__BlockTitle,
.section__BlockTitle--DarkGray {
  font-family: "proxima-nova", Arial, sans-serif;
  text-transform: uppercase;
  font-size: 24px;
  font-weight: 600;
  border-color: inherit;
}

.section__BlockTitle:before,
.section__BlockTitle--DarkGray:before {
  width: 60px;
  content: "";
  box-shadow: 0 1px 0;
  display: block;
  vertical-align: middle;
  margin-top: -1px;
  margin-right: 20px;
  height: 1px;
  margin-bottom: 20px;
}

.section__BlockTitle--DarkGray {
  color: #1d1e22;
}

.section__BlockTitle--DarkGray:before {
  background: #1d1e22;
}

.section__List {
  margin: 0;
  padding: 0;
  padding-top: 10px;
  text-align: center;
  margin-left: -30px;
  margin-right: -30px;
}

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

@media screen and (max-width: 960px) {
  .section__List {
    margin: 0;
    padding-top: 0;
    padding-bottom: 5%;
  }
}

.section__List a {
  color: #f6970f;
  text-decoration: none;
}

.section__List a:hover {
  color: #1a2636;
}

.section__ListTitle {
  font-size: 20px;
  margin-bottom: 0;
  line-height: 1.2;
  font-weight: 600;
  opacity: 0.6;
  margin-bottom: 10px;
}

.section__ListTitle a {
  color: #1a2636;
}

.section__ListTitle a:hover {
  text-decoration: underline;
}

.section__ListItem {
  float: left;
  display: block;
  margin-right: 4.65116%;
  width: 30.23256%;
  font-size: 18px;
  text-align: left;
  vertical-align: top;
  padding: 40px 0 0 0;
}

.section__ListItem:last-child {
  margin-right: 0;
}

.section__ListItem:nth-child(3n) {
  margin-right: 0;
}

.section__ListItem:nth-child(3n + 1) {
  clear: left;
}

@media screen and (max-width: 480px) {
  .section__ListItem {
    width: 100%;
    margin: 0;
    padding: 10px 0;
    text-align: center;
  }
}

.section__ListContent {
  color: #dad9d7;
  font-size: 15px;
}

.section__ListContent p {
  margin-top: 10px;
}

.section__Overlay {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(transparent, rgba(26, 38, 54, 0.6), #1a2636);
  opacity: 1;
}

.section--Image {
  height: 100vh;
  min-height: 50vh;
  max-height: 600px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}

.section--Image img {
  display: none;
}

.sectionNav {
  text-align: center;
  border-bottom: 1px solid #ebebeb;
  background: #fff;
  z-index: 1000;
  bottom: -1px;
  transition: 500ms cubic-bezier(0.645, 0.045, 0.355, 1);
  left: 20px;
  right: 20px;
  padding-top: 2px;
}

@media screen and (max-width: 1200px) {
  .sectionNav {
    left: 0;
    right: 0;
  }
}

.sectionNav__Progress {
  position: absolute;
  top: 0;
  left: 0;
  height: 3px;
  width: 100%;
  opacity: 0;
  visibility: hidden;
  border: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #42bff4;
  background: none;
  transition: 300ms;
}

.sectionNav__Progress::-webkit-progress-bar {
  background: transparent;
}

.sectionNav__Progress::-moz-progress-bar {
  background: transparent;
}

.sectionNav__Progress::-webkit-progress-value {
  background: #42bff4;
}

.is-Fixed .sectionNav__Progress {
  opacity: 1;
  visibility: visible;
}

.sectionNav ul {
  margin: 0;
  padding: 0 10px;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
  overflow-y: auto;
}

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

.sectionNav li {
  display: inline-block;
}

.sectionNav li:first-child {
  display: none;
}

.sectionNav li.current-menu-item a {
  color: #0f0f11;
}

.sectionNav svg {
  fill: #42bff4;
  width: 18px;
  margin-top: -5px;
}

.sectionNav a {
  display: block;
  text-decoration: none;
  padding: 0 20px;
  color: #a8a7a3;
  font-weight: 700;
  font-size: 18px;
  line-height: 70px;
  transition: 200ms;
}

@media screen and (max-width: 960px) {
  .sectionNav a {
    line-height: 50px;
    font-size: 16px;
    padding: 0 10px;
  }
}

.sectionNav a:hover {
  color: #42bff4;
}

.sectionNav a:hover i {
  color: inherit;
}

.sectionNav i {
  display: block;
  font-size: 2em;
  margin: 20px auto 0 auto;
  color: #999999;
}

.is-Fixed .sectionNav i {
  display: inline-block;
  font-size: 1.125em;
  margin: 0;
}

.sectionNav.is-Cloned {
  transform: translateY(100%);
  position: fixed;
}

.sectionNav.is-Cloned li:first-child {
  display: inline-block;
}

.sectionNav.is-Cloned li.current-menu-item a {
  color: #42bff4;
}

.sectionNav.is-Cloned li i {
  font-size: 1.125em;
  display: inline-block;
  margin: 0 10px 0 0;
}

.sectionNav.is-Fixed {
  transform: translateY(0%);
}

.split,
.split--Map {
  background-size: cover;
  background-position: center;
  display: table;
  width: 100%;
}

.split__Container,
.split__Container--Single,
.split__Container--Page,
.split__Container--with-Programme {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  display: table;
  width: 100%;
  padding: 8% 20px;
}

.split__Container::after,
.split__Container--Single::after,
.split__Container--Page::after,
.split__Container--with-Programme::after {
  clear: both;
  content: "";
  display: table;
}

.split__Container--Single {
  max-width: 740px;
  padding: 5% 0 6% 0;
}

.split__Container--Page {
  max-width: 920px;
  padding: 5% 0 6% 0;
}

.split__Container--with-Programme {
  max-width: 960px;
}

@media screen and (max-width: 768px) {
  .split__Container,
  .split__Container--Single,
  .split__Container--Page,
  .split__Container--with-Programme {
    padding: 20px;
  }
}

.split__Center {
  display: table-cell;
  vertical-align: middle;
}

.split__View,
.split__View--without-Padding,
.split__View--with-Overlay,
.split__View--with-Programme {
  display: table-cell;
  width: 50%;
  vertical-align: middle;
  padding: 0 6%;
  background-size: cover;
  background-position: center;
  position: relative;
}

.split__View--without-Padding {
  padding: 0;
}

.split__View--with-Overlay {
  position: relative;
  z-index: 1;
  color: #fff;
}

.split__View--with-Overlay:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(15, 15, 17, 0.7);
  z-index: -1;
}

.split__View--with-Programme {
  padding: 0;
  width: auto;
}

@media screen and (max-width: 960px) {
  .split__View,
  .split__View--without-Padding,
  .split__View--with-Overlay,
  .split__View--with-Programme {
    display: block;
    width: auto;
    min-height: 200px;
    padding-top: 30px;
  }
}

@media screen and (max-width: 768px) {
  .split__View,
  .split__View--without-Padding,
  .split__View--with-Overlay,
  .split__View--with-Programme {
    padding: 0;
  }
}

.split__ViewContent,
.split__ViewContent--with-Programme,
.programmeList {
  position: relative;
}

.split__ViewContent--with-Programme {
  float: left;
  display: block;
  margin-right: 3.44828%;
  width: 65.51724%;
}

.split__ViewContent--with-Programme:last-child {
  margin-right: 0;
}

@media screen and (max-width: 768px) {
  .split__ViewContent,
  .split__ViewContent--with-Programme,
  .programmeList {
    width: 100%;
  }
}

.split h1,
.split--Map h1,
.split h2,
.split--Map h2 {
  font-family: "proxima-nova", Arial, sans-serif;
  font-weight: 600;
  font-size: 2em;
  margin: 0;
  line-height: 0.9;
  color: #42bff4;
}

.split h2,
.split--Map h2 {
  font-size: 1.75em;
}

@media screen and (max-width: 768px) {
  .split h2,
  .split--Map h2 {
    font-size: 24px;
  }
}

@media screen and (max-width: 480px) {
  .split h2,
  .split--Map h2 {
    font-size: 18px;
  }
}

.split a,
.split--Map a {
  color: #42bff4;
  text-decoration: none;
}

.split a:hover,
.split--Map a:hover {
  color: #f6970f;
}

.split .alignleft,
.split--Map .alignleft {
  margin-right: 20px;
  margin-bottom: 10px;
  float: left;
}

.split .alignright,
.split--Map .alignright {
  margin-left: 20px;
  margin-bottom: 10px;
  float: right;
}

.split .aligncenter,
.split--Map .aligncenter {
  display: block;
  margin: 0 auto;
}

.split__Map {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.split__Map h4 {
  margin: 10px 0 0;
}

.split__Map h4 img {
  max-width: 120px;
}

.split__Map p {
  margin: 10px 0;
}

.split__Map a {
  color: #42bff4;
  font-weight: 700;
}

.split__Map a:hover {
  color: #0f0f11;
}

.split--Map {
  min-height: 100vh;
  position: relative;
  height: 100vh;
}

.moreButton {
  margin: 30px 0 0;
  text-align: center;
}

.moreButton a {
  font-size: 1em;
  font-weight: 600;
  text-transform: uppercase;
  color: #42bff4;
  border-bottom: 2px solid #42bff4;
  display: inline-block;
  margin: 0 auto;
  text-decoration: none;
  transition: 200ms;
}

.moreButton a:hover {
  color: #f6970f;
  border-color: #f6970f;
}

.breadcrumbs {
  margin: 0;
  padding: 0;
  font-size: 0.8125em;
  margin: 10px 0;
}

.breadcrumbs ul {
  margin: 0;
  padding: 0;
}

.breadcrumbs li {
  display: inline-block;
  vertical-align: top;
}

.breadcrumbs li {
  margin: 0 5px;
}

.breadcrumbs a {
  color: #42bff4;
  text-decoration: none;
}

.breadcrumbs a:hover {
  color: #fff;
}

.videoEmbed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

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

.movieReel,
.movieReel--Archive {
  background: #f4f3ef;
  padding: 5% 0;
}

.movieReel__Slider,
.movieReel__Slider--Center {
  padding: 30px 0 0;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1300px;
}

.movieReel__Slider::after,
.movieReel__Slider--Center::after {
  clear: both;
  content: "";
  display: table;
}

.movieReel__Slider::after,
.movieReel__Slider--Center::after {
  clear: both;
  content: "";
  display: table;
}

.movieReel__Slider--Center {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
}

.movieReel__Slider--Center::after {
  clear: both;
  content: "";
  display: table;
}

@media screen and (max-width: 768px) {
  .movieReel__Slider,
  .movieReel__Slider--Center {
    padding-top: 10px;
  }
}

.movieReel__Movie,
.movieReel__Movie--with-Margin,
.movieReel__Movie--Group {
  width: 20%;
  float: left;
  position: relative;
  z-index: 1;
  transition: 300ms;
  margin-bottom: 40px;
  background: #383b47;
}

.movieReel__Movie img,
.movieReel__Movie--with-Margin img,
.movieReel__Movie--Group img {
  display: block;
  filter: blur(0px);
  transition: 300ms;
  position: absolute;
  max-width: none;
  width: 100%;
  height: auto;
  bottom: 0;
}

.movieReel__Movie:hover img,
.movieReel__Movie--with-Margin:hover img,
.movieReel__Movie--Group:hover img {
  filter: blur(6px);
}

@media screen and (max-width: 960px) {
  .movieReel__Movie,
  .movieReel__Movie--with-Margin,
  .movieReel__Movie--Group {
    width: 25%;
    overflow: hidden;
  }
}

@media screen and (max-width: 768px) {
  .movieReel__Movie,
  .movieReel__Movie--with-Margin,
  .movieReel__Movie--Group {
    width: 33.33333%;
  }
}

@media screen and (max-width: 480px) {
  .movieReel__Movie,
  .movieReel__Movie--with-Margin,
  .movieReel__Movie--Group {
    width: 50%;
  }
}

@media screen and (max-width: 370px) {
  .movieReel__Movie,
  .movieReel__Movie--with-Margin,
  .movieReel__Movie--Group {
    width: 100%;
  }
}

.movieReel__Movie--with-Margin {
  float: left;
  display: block;
  margin-right: 3.44828%;
  width: 22.41379%;
}

.movieReel__Movie--with-Margin:last-child {
  margin-right: 0;
}

.movieReel__Movie--with-Margin:nth-child(4n) {
  margin-right: 0;
}

.movieReel__Movie--with-Margin:nth-child(4n + 1) {
  clear: left;
}

@media screen and (max-width: 960px) {
  .movieReel__Movie--with-Margin {
    float: left;
    display: block;
    margin-right: 3.44828%;
    width: 31.03448%;
    margin-bottom: 3%;
  }

  .movieReel__Movie--with-Margin:nth-child(4n) {
    margin-right: 3.44828%;
  }

  .movieReel__Movie--with-Margin:nth-child(4n + 1) {
    clear: none;
  }

  .movieReel__Movie--with-Margin:last-child {
    margin-right: 0;
  }

  .movieReel__Movie--with-Margin:nth-child(3n) {
    margin-right: 0;
  }

  .movieReel__Movie--with-Margin:nth-child(3n + 1) {
    clear: left;
  }
}

@media screen and (max-width: 480px) {
  .movieReel__Movie--with-Margin {
    float: left;
    display: block;
    margin-right: 3.44828%;
    width: 48.27586%;
  }

  .movieReel__Movie--with-Margin:nth-child(3n) {
    margin-right: 3.44828%;
  }

  .movieReel__Movie--with-Margin:nth-child(3n + 1) {
    clear: none;
  }

  .movieReel__Movie--with-Margin:last-child {
    margin-right: 0;
  }

  .movieReel__Movie--with-Margin:nth-child(2n) {
    margin-right: 0;
  }

  .movieReel__Movie--with-Margin:nth-child(2n + 1) {
    clear: left;
  }
}

@media screen and (max-width: 370px) {
  .movieReel__Movie--with-Margin {
    width: 100%;
  }
}

.movieReel__Movie--Group:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  height: 4px;
  background: #f6970f;
  width: 15.38462%;
}

.movieReel__Movie--Group:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  margin-left: 5.38462%;
  z-index: 1;
  margin-top: -4px;
  border: 4px solid #f6970f;
}

.movieReel__Movie.is-Hidden,
.is-Hidden.movieReel__Movie--with-Margin,
.is-Hidden.movieReel__Movie--Group {
  opacity: 0;
  max-height: 0;
  max-width: 0;
  margin: 0;
  transform: scale(0.9);
  transition: all 400ms, transform 200ms 200ms;
  overflow: hidden;
}

.movieReel__MovieLink,
.movieReel__MovieLink--Brand {
  display: block;
  padding-bottom: 130%;
  overflow: hidden;
}

.movieReel__MovieLink:before,
.movieReel__MovieLink--Brand:before {
  content: "";
  display: block;
  background: linear-gradient(transparent, #0f0f11);
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
}

.movieReel__MovieLink:after,
.movieReel__MovieLink--Brand:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  border: 3px solid #f6970f;
  transition: 300ms;
  opacity: 0;
}

.movieReel__MovieLink:hover:after,
.movieReel__MovieLink--Brand:hover:after {
  opacity: 1;
}

.movieReel__MovieLink:hover .movieReel__MovieInfo,
.movieReel__MovieLink--Brand:hover .movieReel__MovieInfo {
  transform: translateY(-50px);
}

.movieReel__MovieLink .movieReel__MovieInfo--custom {
  opacity: 0;
}

.movieReel__MovieLink:hover .movieReel__MovieInfo--custom {
  transform: translateX(0);
  opacity: 1;
}

.movieReel__MovieLink:hover .movieReel__Button,
.movieReel__MovieLink--Brand:hover .movieReel__Button,
.movieReel__MovieLink:hover .movieReel__Button--White,
.movieReel__MovieLink--Brand:hover .movieReel__Button--White,
.movieReel__MovieLink:hover .movieReel__Button--Info,
.movieReel__MovieLink--Brand:hover .movieReel__Button--Info,
.movieReel__MovieLink:hover .movieReel__Button--Ticket,
.movieReel__MovieLink--Brand:hover .movieReel__Button--Ticket {
  transform: translateY(0);
  opacity: 1;
}

.movieReel__Movie--no-hover:hover img {
  filter: blur(0px) !important;
}

.movieReel__Movie--no-hover .movieReel__MovieLink::before,
.movieReel__Movie--no-hover:hover .movieReel__MovieLink:after,
.movieReel__Movie--no-hover:hover .movieReel__MovieInfo {
  opacity: 0 !important;
}

.movieReel__MovieLink--Brand:after {
  border-color: #42bff4;
}

@media screen and (max-width: 480px) {
  .movieReel__MovieLink,
  .movieReel__MovieLink--Brand {
    padding-bottom: 50%;
    padding-top: 100px;
  }
}

.movieReel__MovieInfo {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px;
  color: #a8a7a3;
  font-size: 0.9375em;
  font-weight: 400;
  transition: 300ms;
}

.movieReel__MovieInfo h2 {
  font-weight: 400;
  line-height: 1.1;
  color: #fff;
  font-size: 1.25em;
  margin: 0 0 5px;
}

.movieReel__MovieInfo ul {
  margin: 0;
  padding: 0;
}

.movieReel__MovieInfo li {
  display: block;
  padding: 2px 0;
}

.movieReel__MovieInfo li svg {
  width: 16px;
  height: 16px;
  margin-top: -2px;
  fill: #f6970f;
  margin-right: 10px;
}

.movieReel__MovieIcon {
  width: 32px;
  height: 32px;
  fill: #fff;
  position: absolute;
  top: 20px;
  left: 20px;
  opacity: 0.8;
}

.movieReel__Button,
.movieReel__Button--White,
.movieReel__Button--Info,
.movieReel__Button--Ticket {
  display: inline-block;
  padding: 15px 60px;
  background: linear-gradient(#f6970f, #ff7600);
  color: #fff;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
  padding: 8px 30px;
  position: absolute;
  left: 20px;
  bottom: 20px;
  opacity: 0;
  transform: translateY(30px);
  transition: 300ms;
  margin: 0;
}

.movieReel__Button:hover,
.movieReel__Button--White:hover,
.movieReel__Button--Info:hover,
.movieReel__Button--Ticket:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .movieReel__Button,
  .movieReel__Button--White,
  .movieReel__Button--Info,
  .movieReel__Button--Ticket {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .movieReel__Button,
  .movieReel__Button--White,
  .movieReel__Button--Info,
  .movieReel__Button--Ticket {
    padding: 8px 20px;
  }
}

.movieReel__Button--White {
  display: inline-block;
  padding: 15px 60px;
  background: #fff;
  color: #42bff4;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
  position: absolute;
  transition: 300ms;
  box-shadow: none !important;
  padding: 8px 30px;
}

.movieReel__Button--White:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .movieReel__Button--White {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .movieReel__Button--White {
    padding: 8px 20px;
  }
}

.movieReel__Button--Info {
  display: inline-block;
  padding: 15px 60px;
  background: #fff;
  color: #42bff4;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
  position: absolute;
  transition: 300ms;
  box-shadow: none !important;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  right: 50%;
  padding: 8px 0;
  text-align: center;
  z-index: 2000;
}

.movieReel__Button--Info:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .movieReel__Button--Info {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .movieReel__Button--Info {
    padding: 8px 20px;
  }
}

.movieReel__Button--Info:hover {
  background: #42bff4;
  color: #fff;
}

.movieReel__Button--Info:hover + .movieReel__Button,
.movieReel__Button--Info:hover + .movieReel__Button--White,
.movieReel__Button--Info:hover + .movieReel__Button--Info,
.movieReel__Button--Info:hover + .movieReel__Button--Ticket {
  border-color: #42bff4;
}

.movieReel__Button--Ticket {
  display: inline-block;
  padding: 15px 60px;
  background: #fff;
  color: #f6970f;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
  position: absolute;
  transition: 300ms;
  box-shadow: none !important;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  left: 50%;
  padding: 8px 0;
  text-align: center;
  right: 20px;
  z-index: 2000;
  border-left: 1px solid #e6e6e6;
}

.movieReel__Button--Ticket:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .movieReel__Button--Ticket {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .movieReel__Button--Ticket {
    padding: 8px 20px;
  }
}

.movieReel__Button--Ticket:hover {
  background: #f6970f;
  color: #fff;
  border-color: #f6970f;
}

.movieReel__Button--color-Brand {
  color: #42bff4;
}

.movieReel--Archive {
  background: #fff;
  padding: 100px 0 60px 0;
}

@media screen and (max-width: 768px) {
  .movieReel,
  .movieReel--Archive {
    padding: 30px 0 0;
  }
}

.movie {
  position: relative;
  color: #a8a7a3;
  overflow: hidden;
  z-index: 2;
  background: #0f0f11;
  padding: 8% 10px;
}

.movie:before {
  content: "";
  display: block;
  background: linear-gradient(transparent, #0f0f11);
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.movie__BackgroundImage {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 120%;
  width: auto;
  max-width: none;
  z-index: -2;
  opacity: 0.4;
  filter: blur(10px);
}

.movie__Inner {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
}

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

.movie__Header {
  padding: 30px 0;
}

.movie__Title {
  font-weight: 400;
  color: #f6970f;
  font-size: 1.625em;
  margin: 0 0 20px;
}

.movie__Title strong {
  text-transform: uppercase;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  .movie__Title {
    font-size: 1.125em;
    line-height: 1.2;
  }
}

.movie__Info,
.movie__Info--Awards,
.movie__Info--extra-files {
  margin: 0;
  padding: 15px 0;
  display: block;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: table;
  width: 100%;
}

.movie__Info--custom dt:after {
  display: none !important;
}

.movie__Info dt,
.movie__Info--Awards dt,
.movie__Info--extra-files dt,
.movie__Info dd,
.movie__Info--Awards dd,
.movie__Info--extra-files dd {
  margin: 0;
  padding: 0;
  font-size: 1.125em;
  display: table-cell;
}

.movie__Info dt,
.movie__Info--Awards dt {
  font-weight: 600;
  width: 25%;
}

.movie__Info--extra-files dt {
  width: 50%;
  text-align: center;
}

.movie__Info--extra-files dt img {
  max-width: 60%;
}

.movie__Info--extra-icon {
  background: #131c28;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  text-align: center;
  display: block;
  margin-bottom: 20px;
  position: relative;
}

.movie__Info--extra-icon:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  border: 2px solid #f6970f;
  transition: 300ms;
  opacity: 0;
}

.movie__Info--extra-icon:hover img {
  transform: scale(1.1) translateY(-50%);
}

.movie__Info--extra-icon:hover::after {
  opacity: 1;
}

.movie__Info--extra-icon a {
  display: block;
}

.movie__Info--extra-files ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}

.movie__Info--extra-files li {
  width: 100%;
  text-align: center;
  align-self: center;
}

.movie__Info--extra-files ul li img {
  max-width: 80%;
  margin-bottom: 10%;
}

.movie__Info--custom-icons {
  display: flex;
  justify-content: center;
}

.movie__Info--custom-movie-links ul {
  text-align: center;
  padding: 0;
  list-style: none;
}

.movie__Info--custom-movie-links ul li {
  display: inline-block;
  padding: 0 5px;
}

.movie__Info--custom-movie-links ul li a {
  color: #f6970f;
  text-decoration: none;
  transition: 300ms;
  display: block;
  padding: 0 5px 5px;
}

.movie__Info--custom-movie-links ul li a:hover {
  color: #ffffff;
}

.movie__Info--custom-icons a {
  display: block;
  margin: 0 10px;
}

.movie__Info--extra-icon img {
  max-width: 30%;
  vertical-align: middle;
  position: relative;
  top: 50%;
  transform: scale(1) translateY(-50%);
  transition: 300ms;
}

.movie__Info--extra-files dd {
  text-align: center;
}

.movie__Info dt:first-child:before,
.movie__Info--Awards dt:first-child:before,
.movie__Info--extra-files dt:first-child:before {
  display: none;
}

.movie__Info dt:after,
.movie__Info--Awards dt:after {
  content: ":";
  padding-right: 5px;
}

.movie__Info--extra-files dt:after {
  display: none;
}

@media screen and (max-width: 768px) {
  .movie__Info dt,
  .movie__Info--Awards dt,
  .movie__Info--extra-files dt,
  .movie__Info dd,
  .movie__Info--Awards dd,
  .movie__Info--extra-files dd {
    font-size: 0.8125em;
  }
}

.movie__Image {
  margin-top: 30px;
}

.movie__Image img {
  display: block;
  box-shadow: 0 0 30px rgba(15, 15, 17, 0.3);
}

.movie__Gallery,
.movie__Gallery--Article {
  margin: 30px 0 0;
  padding: 0;
}

.movie__Gallery::after,
.movie__Gallery--Article::after {
  clear: both;
  content: "";
  display: table;
}

.movie__Gallery li,
.movie__Gallery--Article li {
  width: 21.875%;
  margin-right: 4.16667%;
  display: block;
  float: left;
  margin-bottom: 40px;
}

.movie__Gallery li:nth-child(4n),
.movie__Gallery--Article li:nth-child(4n) {
  margin-right: 0;
}

.movie__Gallery a,
.movie__Gallery--Article a {
  display: block;
  position: relative;
  transition: 300ms;
  background: #1d1e22;
}

.movie__Gallery a:hover,
.movie__Gallery--Article a:hover {
  opacity: 0.8;
}

.movie__Gallery svg,
.movie__Gallery--Article svg {
  fill: #f6970f;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
}

.movie__Gallery img,
.movie__Gallery--Article img {
  display: block;
  max-width: none;
  width: 100%;
  opacity: 0.7;
}

.movie__Gallery--Article {
  margin: 0;
  padding: 0 15px 60px 15px;
}

.movie__Gallery--Article li {
  width: 20%;
  margin: 0;
  padding: 3px;
}

@media screen and (max-width: 768px) {
  .movie__Gallery li,
  .movie__Gallery--Article li {
    width: 48.30508%;
    margin-right: 3.38983%;
    margin-bottom: 3%;
  }

  .movie__Gallery li:nth-child(4n),
  .movie__Gallery--Article li:nth-child(4n) {
    margin-right: 3.38983%;
  }

  .movie__Gallery li:nth-child(2n),
  .movie__Gallery--Article li:nth-child(2n) {
    margin-right: 0;
  }
}

.directorInfo {
  padding: 40px 5%;
  margin-top: -5%;
  background: #fcfcfc;
  border: 1px solid #e6e6e6;
  border-left: 0;
  border-right: 0;
}

.directorInfo__Center {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  max-width: 660px;
  color: #4d4d4d;
}

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

.directorInfo__Name {
  font-size: 1.25em;
  font-weight: 600;
  margin: 0;
  color: #383b47;
}

@media screen and (max-width: 768px) {
  .directorInfo {
    margin-top: -10px;
  }
}

.programmeList {
  float: left;
  display: block;
  margin-right: 3.44828%;
  width: 31.03448%;
  padding-right: 5%;
}

.programmeList:last-child {
  margin-right: 0;
}

.programmeList ul {
  margin: 0;
  padding: 0;
}

.programmeList li {
  display: block;
  font-size: 13px;
}

.programmeList li a {
  color: #0f0f11;
  text-transform: uppercase;
  font-weight: 600;
}

.programmeList li ul {
  margin-bottom: 20px;
}

.programmeList li li {
  border-top: 1px solid #e6e6e6;
  padding: 0;
}

.programmeList li li li {
  padding-left: 10px;
}

.programmeList li li a {
  padding: 5px 0;
  display: block;
  color: #42bff4;
  text-transform: none;
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .programmeList {
    display: none;
  }
}

.projections {
  clear: both;
  background: #131c28;
  color: #fff;
  border-top: 1px solid #1d2b3d;
}

.projections__Wrapper {
  margin: 0;
  padding: 0;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0;
  text-align: center;
  overflow-x: auto;
  white-space: nowrap;
}

.projections__Wrapper ul {
  margin: 0;
  padding: 0;
}

.projections__Wrapper li {
  display: inline-block;
  vertical-align: top;
}

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

.projections__Entry {
  display: inline-block;
  font-size: 16px;
  text-align: left;
  padding: 30px 40px;
  vertical-align: top;
}

.projections__Entry ul {
  margin: 0;
  padding: 0;
}

.projections__Entry li {
  display: block;
  margin: 5px 0;
}

.projections__Entry svg {
  width: 16px;
  height: 16px;
  fill: #f6970f;
  margin-right: 10px;
}

.projections__Entry a,
.projections__Entry strong {
  color: #f6970f;
  text-decoration: none;
  border-top: 1px solid #f6970f;
  margin-top: 15px;
  display: block;
  padding-top: 5px;
}

.projections__Entry a:hover,
.projections__Entry strong:hover {
  color: #fff;
}

.projections__Entry strong {
  color: #cd2c24;
  border-color: #cd2c24;
  font-weight: 400;
}

.projections__Entry strong:hover {
  color: #cd2c24;
}

.newsBlock {
  background: #f4f3ef;
  padding-top: 40px;
  padding-bottom: 60px;
}

.intro + .newsBlock,
.intro--Plain + .newsBlock {
  background: #fff;
}

.newsBlock__Featured {
  float: left;
  display: block;
  margin-right: 3.44828%;
  width: 31.03448%;
  margin-top: 40px;
}

.newsBlock__Featured:last-child {
  margin-right: 0;
}

@media screen and (max-width: 600px) {
  .newsBlock__Featured {
    width: 100%;
    margin-top: 0;
  }
}

.newsBlock__Wrapper,
.newsBlock__Wrapper--with-Featured {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
}

.newsBlock__Wrapper::after,
.newsBlock__Wrapper--with-Featured::after {
  clear: both;
  content: "";
  display: table;
}

.newsBlock__Wrapper--with-Featured {
  float: left;
  display: block;
  margin-right: 3.44828%;
  width: 65.51724%;
  margin-right: 0;
}

.newsBlock__Wrapper--with-Featured:last-child {
  margin-right: 0;
}

@media screen and (max-width: 600px) {
  .newsBlock__Wrapper,
  .newsBlock__Wrapper--with-Featured {
    margin-top: 10px;
    width: 100%;
    margin-top: 0;
  }
}

.newsBlock__Header {
  padding: 60px 0 20px 0;
  text-align: center;
}

@media screen and (max-width: 600px) {
  .newsBlock__Articles {
    width: 100%;
  }
}

.newsBlock__Article,
.newsBlock__Article--with-Featured,
.newsBlock__Article--Featured {
  padding-bottom: 25%;
  background: #1d1e22;
  float: left;
  width: 30.50847%;
  margin-right: 3.38983%;
  margin-bottom: 4%;
  margin-top: 1px;
  position: relative;
  z-index: 1;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  overflow: hidden;
}

.newsBlock__Article:before,
.newsBlock__Article--with-Featured:before,
.newsBlock__Article--Featured:before {
  content: "";
  position: absolute;
  top: 50px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
    transparent,
    rgba(29, 30, 34, 0.5),
    rgba(29, 30, 34, 0.8)
  );
  opacity: 0.9;
  transition: 300ms;
}

.newsBlock__Article > a,
.newsBlock__Article--with-Featured > a,
.newsBlock__Article--Featured > a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: 300ms;
  color: inherit;
}

.newsBlock__Article > a:hover,
.newsBlock__Article--with-Featured > a:hover,
.newsBlock__Article--Featured > a:hover {
  background: rgba(66, 191, 244, 0.7);
}

.newsBlock__Article:nth-child(3n),
.newsBlock__Article--with-Featured:nth-child(3n),
.newsBlock__Article--Featured:nth-child(3n) {
  margin-right: 0;
}

.newsBlock__Article--with-Featured {
  padding-bottom: 35%;
  padding-top: 24px;
  width: 47.36842%;
  margin-right: 5.26316%;
  margin-bottom: 5%;
}

.newsBlock__Article--with-Featured:nth-child(3n) {
  margin-right: 5.26316%;
}

.newsBlock__Article--with-Featured:nth-child(2n) {
  margin-right: 0;
}

@media screen and (max-width: 600px) {
  .newsBlock__Article,
  .newsBlock__Article--with-Featured,
  .newsBlock__Article--Featured {
    width: 48.30508%;
    margin-right: 3.38983%;
    padding-bottom: 60%;
    margin-bottom: 3%;
  }

  .newsBlock__Article a:hover,
  .newsBlock__Article--with-Featured a:hover,
  .newsBlock__Article--Featured a:hover {
    background-color: transparent;
  }

  .newsBlock__Article:nth-child(3n),
  .newsBlock__Article--with-Featured:nth-child(3n),
  .newsBlock__Article--Featured:nth-child(3n) {
    margin-right: 3.38983%;
  }

  .newsBlock__Article:nth-child(2n),
  .newsBlock__Article--with-Featured:nth-child(2n),
  .newsBlock__Article--Featured:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (max-width: 480px) {
  .newsBlock__Article,
  .newsBlock__Article--with-Featured,
  .newsBlock__Article--Featured {
    width: 100%;
  }
}

.newsBlock__Article--Featured {
  width: 100%;
  padding-bottom: 165%;
  padding-top: 25px;
}

@media screen and (max-width: 960px) {
  .newsBlock__Article--Featured {
    padding-top: 30px;
  }
}

@media screen and (max-width: 600px) {
  .newsBlock__Article--Featured {
    width: 100%;
    padding-bottom: 60%;
  }
}

.newsBlock__ArticleInner {
  position: absolute;
  padding: 20px;
  bottom: 0;
}

.newsBlock__ArticleTitle {
  margin: 0 0 10px;
  line-height: 1.15;
  font-family: "proxima-nova", Arial, sans-serif;
  font-weight: 400;
  font-size: 1.75em;
}

.newsBlock__ArticleTitle svg {
  fill: #fff;
  width: 26px;
  height: 26px;
  opacity: 0.7;
  margin-right: 10px;
  vertical-align: -1px;
}

.newsBlock__ArticleTitle span {
  text-transform: uppercase;
  font-size: 0.53571em;
  display: block;
  margin-bottom: 10px;
}

@media screen and (max-width: 960px) {
  .newsBlock__ArticleTitle {
    font-size: 1.125em;
  }
}

.newsBlock__ArticleDate,
.newsBlock__ArticleDate--Single {
  position: absolute;
  top: 20px;
  right: 20px;
  background: #fff;
  padding: 10px 18px;
  color: #383b47;
  font-size: 1.125em;
  line-height: 1;
  margin: 0 0 20px;
  box-shadow: 0 0 30px rgba(15, 15, 17, 0.3);
  text-align: center;
  text-transform: uppercase;
  display: inline-block;
}

.newsBlock__ArticleDate strong,
.newsBlock__ArticleDate--Single strong {
  font-size: 1.55556em;
  font-family: "proxima-nova", Arial, sans-serif;
  display: block;
  color: #383b47;
}

.newsBlock__ArticleDate--Single {
  position: static;
}

.newsBlock__Nav {
  clear: both;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 20px 0;
  position: relative;
}

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

.newsBlock__Nav a {
  display: inline-block;
  padding: 15px 60px;
  background: linear-gradient(0deg, #0a7cac, #42bff4);
  color: #fff;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
  transition: 200ms;
}

.newsBlock__Nav a:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .newsBlock__Nav a {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .newsBlock__Nav a {
    padding: 8px 20px;
  }
}

.newsBlock__Nav.is-Visible a {
  opacity: 0;
}

.newsBlock__Nav span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #42bff4;
  border-left: 2px solid transparent;
  border-radius: 50%;
  z-index: 10;
  margin-top: -25px;
  animation: rotate 1s infinite;
}

.newsBlock__Error {
  margin: 0 auto;
  color: #a8a7a3;
  font-weight: 600;
  font-size: 1.5em;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .newsBlock {
    padding-bottom: 10px;
  }
}

.page,
.page--Error {
  padding: 15% 0 2% 0;
  background: #383b47;
  color: #fff;
}

.page__Background {
  max-width: 800px;
  margin: 40px auto;
  line-height: 1.7;
  font-size: 18px;
}

.page__Background a {
  color: #42bff4;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid #42bff4;
}

.page__Background a:hover {
  color: #0f0f11;
}

.page__Title {
  font-family: "proxima-nova", Arial, sans-serif;
  font-size: 3em;
  margin: 20px 0;
  color: #f6970f;
  line-height: 1;
}

.page--Error {
  padding: 100px 0 60px 0;
  background: #fff;
  color: #0f0f11;
}

.schedule__Filter {
  background: #ebebeb;
  padding: 30px 0;
  font-size: 0;
  text-align: center;
}

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

@media screen and (max-width: 768px) {
  .schedule__Filter {
    padding: 20px 0;
    margin-bottom: 0;
  }
}

.schedule__Label {
  vertical-align: middle;
  font-size: 13px;
  display: inline-block;
  margin-right: 40px;
  font-weight: 400;
  color: #999999;
  text-transform: uppercase;
}

.schedule__Select {
  display: inline-block;
  font-size: 16px;
  margin-right: 5px;
  vertical-align: middle;
}

@media screen and (max-width: 768px) {
  .schedule__Select {
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }
}

.schedule__SelectWrapper {
  overflow: hidden;
  position: relative;
  padding: 10px 10px;
  max-width: 200px;
  color: #1a2636;
  z-index: 1;
  background: #fff;
  border: 1px solid #d9d9d9;
}

.schedule__SelectWrapper:after {
  content: "\25BC";
  font-size: 0.9375em;
  color: inherit;
  z-index: -1;
  background: #fff;
  z-index: 1;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  line-height: 45px;
  width: 32px;
  text-align: center;
}

.schedule__SelectWrapper select {
  border: 0;
  color: inherit;
  font-weight: 700;
  float: left;
  width: 120%;
  line-height: 20px;
  font-size: 1.125em;
  outline: none;
  cursor: pointer;
  position: relative;
  z-index: 1;
  background: transparent;
}

@media screen and (max-width: 768px) {
  .schedule__SelectWrapper {
    padding: 10px;
    max-width: none;
  }

  .schedule__SelectWrapper:after {
    right: 20px;
  }
}

.schedule__Submit,
.schedule__Submit--Accent {
  display: inline-block;
  vertical-align: middle;
  font-size: 13px;
  text-transform: uppercase;
  padding: 14px;
  border: 0;
  background: #42bff4;
  color: #fff;
  line-height: 18px;
  margin-right: 10px;
  text-decoration: none;
  margin: 0;
  margin-left: 5px;
  text-decoration: none;
}

.schedule__Submit--Accent {
  background: #f6970f;
}

@media screen and (max-width: 768px) {
  .schedule__Submit,
  .schedule__Submit--Accent {
    display: block;
    width: 100%;
  }
}

.schedule__List {
  margin: 0;
  padding: 0;
}

.schedule__Day {
  display: block;
  border-top: 1px solid #e6e6e6;
}

.schedule__DayContent {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}

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

.schedule__DayName,
.schedule__DayName.is-Inactive {
  font-weight: 500;
  color: #1d1e22;
  font-size: 1.75em;
  margin: 0;
  padding: 20px 0;
  transition: 100ms;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
}

.schedule__DayName:hover {
  color: #42bff4;
}

.is-Inactive.schedule__DayName {
  opacity: 0.3;
}

.is-Inactive.schedule__DayName:hover {
  color: inherit;
}

.schedule__DayName span,
.schedule__DayName.is-Inactive span {
  font-weight: 400;
  color: #42bff4;
}

.schedule__DayName svg,
.schedule__DayName.is-Inactive svg {
  width: 36px;
  height: 36px;
  padding: 8px;
  border: 2px solid #42bff4;
  border-radius: 50%;
  margin-right: 15px;
  margin-top: -3px;
  transition: 300ms cubic-bezier(1, 0, 0, 1);
}

.schedule__DayName.is-Active {
  color: #42bff4;
}

.schedule__DayName.is-Active svg {
  transform: rotate(180deg);
}

@media screen and (max-width: 480px) {
  .schedule__DayName,
  .schedule__DayName.is-Inactive {
    font-size: 1.25em;
  }

  .schedule__DayName svg,
  .schedule__DayName.is-Inactive svg {
    width: 20px;
    height: 20px;
    margin-left: 10px;
  }
}

.schedule__Movies {
  height: 0;
  overflow: hidden;
  transition: 500ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.schedule__MoviesWrapper {
  padding: 30px 0 50px 0;
}

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

.scheduleTable__Wrap {
  float: left;
  width: 95%;
  margin: 2.5%;
}

.scheduleTable__Block {
  float: left;
  width: 100%;
  margin-bottom: 50px;
}

.scheduleTable__Block.blocks-infinite {
  position: static;
  overflow-x: scroll;
  white-space: nowrap;
  display: flex;
}

.scheduleTable__Block.blocks-infinite ul {
  width: 200px;
}

.scheduleTable__Block.blocks-infinite li {
  width: 200px;
  white-space: initial;
}

.scheduleTable span {
  display: block;
}

.scheduleTable li {
  /*min-height: 140px;*/
  min-height: 220px;
  font-size: 13px;
  color: #a8a7a3;
  padding: 10px;
  position: relative;
  z-index: 1;
}

.scheduleTable li p {
  margin: 0 !important;
}

.scheduleTable li:after {
  left: 0;
  bottom: 0;
  right: 0px;
  content: "";
  position: absolute;
  z-index: -1;
  background: #a8a7a3;
  height: 1px;
}

.scheduleTable li:first-of-type {
  height: 25px;
  background: #42bff4;
  color: #fff;
  text-transform: uppercase;
  font-size: 9px;
  position: relative;
  z-index: 1;
  min-height: 25px;
  padding: 0 10px;
}

.scheduleTable li:first-of-type:after {
  display: none;
}

.scheduleTable li:first-of-type:before {
  top: 0;
  bottom: 0;
  right: 0;
  content: "";
  position: absolute;
  z-index: -1;
  background: #42bff4;
}

.scheduleTable li:first-of-type span {
  top: 50%;
  transform: translateY(-50%);
  position: relative;
  display: block;
  color: #fff !important;
}

.scheduleTable li:first-of-type span i {
  text-transform: initial;
  font-size: 10px;
}

.scheduleTable li:last-of-type:after {
  display: none;
}

.scheduleTable li small {
  display: block;
  float: left;
  width: 100%;
  color: #a8a7a3 !important;
  transition: 300ms;
  margin-bottom: 5px;
}

.scheduleTable ul {
  padding: 0;
  margin: 0;
  float: left;
  width: 11.11%;
  list-style: none;
}

.scheduleTable ul:first-of-type li {
  color: #42bff4;
}

.scheduleTable ul:first-of-type li:first-of-type {
  padding: 0px 5px !important;
}

.scheduleTable a {
  text-decoration: none;
  font-size: 13px;
  color: #0f0f11;
  transition: 300ms;
  font-weight: bold;
}

.scheduleTable a:hover {
  color: #42bff4 !important;
}

.scheduleTable a:hover small {
  color: #0f0f11 !important;
}

.blocks6 ul {
  width: 16.66%;
}

.blocks7 ul {
  width: 14.22%;
}

.blocks8 ul {
  width: 12.5%;
}

@media screen and (max-width: 720px) {
  .scheduleTable__Wrap {
    overflow-x: auto;
  }

  .scheduleTable__Block {
    min-width: 1500px;
    width: auto;
  }
}

.header {
  position: relative;
  z-index: 1000;
  position: fixed;
  z-index: 1000;
  left: 0;
  right: 0;
  top: 0;
  text-align: center;
}

@media screen and (max-width: 960px) {
  .header {
    background: #1d1e22;
  }
}

.header__Inner {
  max-width: 1440px;
  text-align: left;
  vertical-align: top;
  display: inline-block;
  width: 100%;
  transition: 300ms background;
  padding: 20px 0;
  color: #fff;
}

.header__Inner .center {
  position: relative;
}

@media screen and (max-width: 960px) {
  .header__Inner .center {
    position: static;
    white-space: nowrap;
    overflow-x: scroll;
  }

  .header__Inner .center:before {
    content: "";
    display: block;
    background: transparent;
    width: 150px;
    position: absolute;
    right: 0;
    z-index: 2;
    top: 60px;
    bottom: 0;
  }
}

@media screen and (min-width: 960px) {
  .header__Inner.is-Smaller {
    background: #fff;
    color: #383b47;
  }

  .header__Inner.is-Smaller .logo,
  .header__Inner.is-Smaller .header__Sponsor {
    filter: grayscale(0%) brightness(100%);
  }

  .header__Inner.is-Smaller .header__Languages {
    box-shadow: none;
    border-color: #d9d9d9;
  }
}

@media screen and (max-width: 960px) {
  .header__Inner {
    background: #383b47;
    margin-top: 60px;
    padding: 5px 0;
  }
}

.header__Upper {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9375em;
  position: relative;
  z-index: 1;
  line-height: 30px;
  padding-right: 240px;
}

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

@media screen and (max-width: 960px) {
  .header__Upper {
    display: block;
    padding: 0;
    position: static;
  }
}

.header__UpperCopy {
  color: #999999;
  float: left;
  margin: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  display: block;
  color: #42bff4;
  transform: translateY(5px);
}

.header__UpperCopy a {
  color: inherit;
}

.header__UpperCopy a:hover {
  color: #0f0f11;
}

@media screen and (max-width: 768px) {
  .header__UpperCopy {
    display: none;
  }
}

.header__UpperNav {
  float: right;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

.header__UpperNav ul {
  margin: 0;
  padding: 0;
}

.header__UpperNav li {
  display: inline-block;
  vertical-align: top;
}

.header__UpperNav li {
  vertical-align: middle;
}

.header__UpperNav li.facebook a {
  color: #3b5997;
}

.header__UpperNav li.facebook a:hover {
  color: #0f0f11;
}

.header__UpperNav a {
  text-decoration: none;
  color: inherit;
  display: block;
  padding: 0 10px;
}

.header__UpperNav a.facebook {
  color: #3b5997;
  fill: #3b5997;
}

.header__UpperNav a:hover {
  color: #f6970f;
}

.header__UpperNav svg {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-top: -5px;
}

@media screen and (max-width: 960px) {
  .header__UpperNav {
    display: none;
  }
}

.header__Languages {
  margin: 0;
  padding: 0;
  float: right;
  background: #fff;
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.2);
  line-height: 20px;
  margin-left: 15px;
  margin-bottom: 10px;
  border: 1px solid transparent;
  border-radius: 20px;
  padding: 0;
  transition: 300ms;
}

.header__Languages ul {
  margin: 0;
  padding: 0;
}

.header__Languages li {
  display: inline-block;
  vertical-align: top;
}

.header__Languages a {
  padding: 5px 5px 3px 20px;
  text-transform: uppercase;
  font-weight: 700;
  color: #a8a7a3;
  text-decoration: none;
  display: block;
  font-size: 0.75em;
}

.header__Languages a:hover {
  color: #42bff4;
}

.header__Languages a.is-Active {
  color: #383b47;
}

.header__Languages li:last-child a {
  padding-left: 6px;
  padding-right: 20px;
}

@media screen and (max-width: 960px) {
  .header__Languages {
    margin: 0;
    position: absolute;
    right: 10px;
    z-index: 3;
    margin-top: 7.5px;
  }
}

.header__Lower {
  line-height: 20px;
  padding-right: 240px;
  position: relative;
}

@media screen and (max-width: 960px) {
  .header__Lower {
    display: inline-block;
    padding: 0;
    vertical-align: middle;
    position: static;
    padding-right: 190px;
  }
}

.header__LowerInner {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

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

@media screen and (max-width: 960px) {
  .header__LowerInner {
    position: static;
  }
}

.header__Sponsor {
  position: absolute;
  right: 20px;
  top: 2px;
  max-width: 200px;
  filter: brightness(0) invert(1);
}

@media screen and (max-width: 960px) {
  .header__Sponsor {
    top: 10px;
    max-width: 150px;
  }
}

.logo {
  float: left;
  margin: 0;
  text-transform: uppercase;
  font-size: 1.5em;
  font-weight: 900;
  color: #1a2636;
  margin: 0;
  position: absolute;
  bottom: -8px;
  left: 0;
  filter: brightness(0) invert(1);
  z-index: 1000;
}

.logo a {
  display: block;
  text-decoration: none;
  transition: 200ms cubic-bezier(0.645, 0.045, 0.355, 1);
  color: inherit;
}

.logo img {
  height: auto;
}

@media screen and (max-width: 960px) {
  .logo {
    position: absolute;
    top: 10px;
    left: 10px;
    max-width: 120px;
    bottom: auto;
  }
}

.nav,
.nav--Mobile {
  margin: 0;
  padding: 0;
  float: right;
  text-transform: uppercase;
}

.nav ul,
.nav--Mobile ul {
  margin: 0;
  padding: 0;
}

.nav li,
.nav--Mobile li {
  display: inline-block;
  vertical-align: top;
}

.nav li,
.nav--Mobile li {
  position: relative;
}

.nav li svg,
.nav--Mobile li svg {
  width: 18px;
  height: 18px;
  vertical-align: middle;
  fill: #42bff4;
}

.nav li label,
.nav--Mobile li label {
  width: 40px;
  height: 40px;
  line-height: 39px;
  text-align: center;
  position: relative;
  display: block;
  background: #fff;
  border-radius: 50%;
  margin-top: 20px;
  margin-left: 10px;
  z-index: 10;
  cursor: pointer;
}

.nav li:hover ul,
.nav--Mobile li:hover ul {
  opacity: 1;
  visibility: visible;
  margin-top: 20px;
}

.nav li ul,
.nav--Mobile li ul {
  position: absolute;
  text-transform: none;
  margin-top: 30px;
  opacity: 0;
  visibility: hidden;
  transition: 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
  white-space: nowrap;
  left: 0;
  z-index: -1;
}

.nav li ul:before,
.nav--Mobile li ul:before,
.nav li ul:after,
.nav--Mobile li ul:after {
  content: "";
  display: block;
  position: fixed;
  width: 1440px;
  left: 50%;
  margin-left: -720px;
  height: 50px;
  background: #1d1e22;
}

.nav li ul:after,
.nav--Mobile li ul:after {
  margin-top: -150px;
  height: 100px;
  background: #383b47;
  z-index: -1;
}

.nav li ul a,
.nav--Mobile li ul a {
  padding: 15px 10px;
  color: #fff;
}

.nav li ul a:before,
.nav--Mobile li ul a:before {
  display: none;
}

.nav li ul a:hover,
.nav--Mobile li ul a:hover {
  color: #f6970f;
}

@media screen and (max-width: 960px) {
  .nav li ul,
  .nav--Mobile li ul {
    position: static;
    display: inline-block;
    opacity: 1;
    visibility: visible;
    margin: 0 !important;
    z-index: 10000;
  }

  .nav li ul a,
  .nav--Mobile li ul a {
    padding: 0 10px;
  }

  .nav li ul a:before,
  .nav--Mobile li ul a:before,
  .nav li ul a:after,
  .nav--Mobile li ul a:after {
    display: none;
  }

  .nav li ul:before,
  .nav--Mobile li ul:before,
  .nav li ul:after,
  .nav--Mobile li ul:after {
    display: none;
  }
}

.nav li:last-child ul,
.nav--Mobile li:last-child ul,
.nav li:nth-last-child(2) ul,
.nav--Mobile li:nth-last-child(2) ul {
  left: auto;
  right: 0;
}

.nav a,
.nav--Mobile a {
  padding: 0 10px;
  display: block;
  font-weight: 600;
  color: inherit;
  text-decoration: none;
  font-size: 0.9375em;
  transition: 100ms;
  position: relative;
  z-index: 1;
}

.nav a:before,
.nav--Mobile a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: -20px;
  left: 0;
  z-index: -1;
}

.nav a:hover,
.nav--Mobile a:hover {
  color: #f6970f;
}

@media screen and (max-width: 960px) {
  .nav a,
  .nav--Mobile a {
    text-transform: none;
    font-weight: 400;
    display: block;
    padding: 5px 10px;
  }

  .nav a:before,
  .nav--Mobile a:before,
  .nav a:after,
  .nav--Mobile a:after {
    display: none;
  }
}

@media screen and (max-width: 960px) {
  .nav,
  .nav--Mobile {
    display: none;
  }
}

.nav--Mobile {
  display: none;
}

.nav--Mobile .callMenu {
  width: 40px;
  height: 35px;
  display: block;
  margin-top: 10px;
  border-top: 5px solid #fff;
  position: relative;
  z-index: 10;
  transition: 300ms;
}

.nav--Mobile .callMenu:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 5px;
  height: 5px;
  background: #fff;
  transition: 300ms;
}

.nav--Mobile .callMenu:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 15px;
  height: 5px;
  background: #fff;
  transition: 300ms;
}

.nav--Mobile .callMenu--active {
  border: 0;
}

.nav--Mobile .callMenu--active:before {
  transform: rotate(-45deg);
  top: 15px;
}

.nav--Mobile .callMenu--active:after {
  transform: rotate(45deg);
}

@media screen and (max-width: 960px) {
  .nav--Mobile {
    display: block;
    width: 100%;
    top: 60px;
    left: 0;
    min-height: 30px;
  }

  .nav--Mobile ul {
    position: fixed;
    top: 60px;
    right: 0;
    left: 0;
    background: #383b47;
    height: 100vh;
    padding-left: 70px;
    transition: 300ms;
    padding-top: 7.5px;
  }

  .nav--Mobile li {
    display: block;
  }

  .nav--Mobile li ul {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    height: auto;
    padding-left: 10px;
    padding-top: 0;
  }

  .nav--Mobile li ul a {
    padding: 5px 10px;
  }

  .nav--Mobile a {
    font-size: 1.0625em;
  }
}

.search {
  position: absolute;
  top: 20px;
  right: 100%;
  margin-right: -50px;
}

.search input[type="search"] {
  border-radius: 20px;
  border: 0;
  padding: 10px;
  vertical-align: middle;
  width: 20px;
  transition: 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
  outline: none;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
}

.search input[type="search"]:focus {
  width: 500px;
}

.search button {
  position: absolute;
  background: transparent;
  top: 0;
  right: 0;
  width: 40px;
  bottom: 0;
  border: 0;
}

.hide-mobile {
  display: none;
}

.sponsors {
  border-top: 1px solid #e6e6e6;
  padding: 60px 0;
}

.sponsors h2 {
  font-size: 1.125em;
  color: #0f0f11;
  margin-bottom: 0px;
  font-weight: 700;
}

.sponsors--Custom {
  padding: 0 0 60px 0;
  border-top: 0;
}

.sponsors--Page h2 {
  font-size: 1.625em;
  color: #42bff4;
}

.sponsors__List,
.sponsors__List--Large,
.sponsors__List--Page,
.sponsors__List--Custom {
  margin: 0;
  padding: 0;
  margin: 0;
  padding: 0;
  font-size: 0;
  position: relative;
}

.sponsors__List::after,
.sponsors__List--Large::after,
.sponsors__List--Page::after,
.sponsors__List--Custom::after {
  clear: both;
  content: "";
  display: table;
}

.sponsors__List ul,
.sponsors__List--Large ul,
.sponsors__List--Page ul,
.sponsors__List--Custom ul {
  margin: 0;
  padding: 0;
}

.sponsors__List li,
.sponsors__List--Large li,
.sponsors__List--Page li,
.sponsors__List--Custom li {
  display: inline-block;
  vertical-align: top;
}

.sponsors__List li,
.sponsors__List--Large li,
.sponsors__List--Page li,
.sponsors__List--Custom li {
  width: 12.5%;
  margin-bottom: 20px;
  text-align: center;
  vertical-align: middle;
  font-size: 16px;
  padding: 20px;
}

.sponsors__List li h2,
.sponsors__List--Large li h2,
.sponsors__List--Page li h2,
.sponsors__List--Custom li h2,
.sponsors__List li p,
.sponsors__List--Large li p,
.sponsors__List--Page li p,
.sponsors__List--Custom li p {
  text-align: left;
  margin: 0;
}

.sponsors__List li h2,
.sponsors__List--Large li h2,
.sponsors__List--Page li h2,
.sponsors__List--Custom li h2 {
  color: #0f0f11;
  font-weight: 600;
  font-size: 1.375em;
}

.sponsors__List li:first-of-type,
.sponsors__List--Large li:first-of-type,
.sponsors__List--Page li:first-of-type,
.sponsors__List--Custom li:first-of-type {
  padding-left: 0;
}

.sponsors__List :before,
.sponsors__List--Large :before,
.sponsors__List--Page :before,
.sponsors__List--Custom :before {
  content: "";
  position: absolute;
  left: -20px;
  top: -20px;
  bottom: 30px;
  width: 1px;
  background: #0f0f11;
  z-index: 1;
}

.sponsors__List img,
.sponsors__List--Large img,
.sponsors__List--Page img,
.sponsors__List--Custom img {
  vertical-align: middle;
  max-width: initial;
  max-height: 30px;
}

.sponsors__List a,
.sponsors__List--Large a,
.sponsors__List--Page a,
.sponsors__List--Custom a {
  display: block;
  transition: 200ms;
  opacity: 1;
}

.sponsors__List a:hover,
.sponsors__List--Large a:hover,
.sponsors__List--Page a:hover,
.sponsors__List--Custom a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 960px) {
  .sponsors__List li,
  .sponsors__List--Large li,
  .sponsors__List--Page li,
  .sponsors__List--Custom li {
    width: 16.66667%;
  }

  .sponsors__List:before,
  .sponsors__List--Large:before,
  .sponsors__List--Page:before,
  .sponsors__List--Custom:before {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .sponsors__List li,
  .sponsors__List--Large li,
  .sponsors__List--Page li,
  .sponsors__List--Custom li {
    width: 25%;
  }

  .sponsors__List:before,
  .sponsors__List--Large:before,
  .sponsors__List--Page:before,
  .sponsors__List--Custom:before {
    display: none;
  }
}

@media screen and (max-width: 480px) {
  .sponsors__List li,
  .sponsors__List--Large li,
  .sponsors__List--Page li,
  .sponsors__List--Custom li {
    width: 33.33333%;
  }

  .sponsors__List:before,
  .sponsors__List--Large:before,
  .sponsors__List--Page:before,
  .sponsors__List--Custom:before {
    display: none;
  }
}

@media screen and (max-width: 370px) {
  .sponsors__List li,
  .sponsors__List--Large li,
  .sponsors__List--Page li,
  .sponsors__List--Custom li {
    width: 50%;
  }

  .sponsors__List:before,
  .sponsors__List--Large:before,
  .sponsors__List--Page:before,
  .sponsors__List--Custom:before {
    display: none;
  }
}

.sponsors__List--Large:first-of-type li img {
  max-height: 50px;
}

.sponsors__List--Large:nth-of-type(2) li img {
  max-height: 50px;
}

.sponsors__List--Large li {
  width: auto;
}

.sponsors__List--Page {
  margin-bottom: 30px;
}

.sponsors__List--Page li:first-of-type {
  padding-left: 20px;
}

.sponsors__List--Page li {
  width: 50%;
  padding: 10px 20px;
  margin: 0;
}

.sponsors__List--Page li:before {
  top: -30px;
  bottom: 10px;
}

.sponsors__List--Page a {
  text-decoration: none;
}

.sponsors__List--Custom li:before {
  top: 10px !important;
  bottom: 30px !important;
}

.sponsors__List--Custom li a:before {
  top: 10px !important;
  bottom: 30px !important;
}

.sponsors__List--Custom li img {
  max-height: 180px !important;
}

.sponsorsImage {
  text-align: center;
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 0 50px 0;
}

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

.siteFooter {
  background: #1d1e22;
  color: #fff;
  position: relative;
  overflow: hidden;
  position: relative;
  z-index: 1;
  padding: 3% 0 0 0;
}

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

.siteFooter .center {
  position: relative;
}

.siteFooter__Logo {
  margin: 0;
  padding: 0 40px 20px 0;
  max-width: 220px;
}

@media screen and (max-width: 768px) {
  .siteFooter__Logo {
    margin: 0 auto;
    padding: 20px 0;
  }
}

.siteFooter__Logo i {
  display: block;
}

.siteFooter__Logo img {
  display: block;
}

.siteFooter__Column {
  float: left;
  display: block;
  margin-right: 3.44828%;
  width: 22.41379%;
}

.siteFooter__Column:last-child {
  margin-right: 0;
}

.siteFooter__Column h2 {
  font-size: 1.25em;
  color: #fff;
  font-weight: 600;
}

.siteFooter__Column ul {
  margin: 0;
  padding: 0;
}

.siteFooter__Column li {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.siteFooter__Column a {
  color: #fff;
  text-decoration: none;
}

.siteFooter__Column a:hover {
  color: #42bff4;
}

@media screen and (max-width: 768px) {
  .siteFooter__Column {
    display: none;
    width: 100%;
    text-align: center;
  }

  .siteFooter__Column:first-child {
    display: block;
    padding-bottom: 20px;
  }
}

.siteFooter__Socials {
  margin: 0;
  padding: 0;
}

.siteFooter__Socials ul {
  margin: 0;
  padding: 0;
}

.siteFooter__Socials li {
  display: inline-block;
  border: 0;
}

.siteFooter__Socials svg {
  fill: inherit;
  width: 32px;
  height: 32px;
  vertical-align: middle;
  margin-top: -2px;
}

.siteFooter__Socials a {
  display: block;
  color: #fff;
  text-decoration: none;
  transition: 200ms;
  line-height: 32px;
  text-align: center;
  border: 0;
  margin-right: 5px;
  fill: #42bff4;
}

.siteFooter__Socials a:hover {
  fill: #f6970f;
}

.siteFooter__Credits {
  display: block;
  padding: 10px 20px 6px;
  background: #111214;
  margin-top: 3%;
  margin-bottom: 0;
  text-align: right;
}

.siteFooter__Credits a {
  color: #4e5364;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  line-height: 1;
  transition: 200ms;
  font-size: 0.875em;
}

.siteFooter__Credits a:hover {
  color: #cd2c24;
}

.siteFooter__Credits span {
  vertical-align: -4px;
  color: #cd2c24;
  display: inline-block;
}

.form ul,
.split form ul,
.split--Map form ul,
.form--Dark ul {
  margin: 0;
  padding: 0;
}

.form li,
.split form li,
.split--Map form li,
.form--Dark li {
  display: block;
}

.form input[type="color"],
.split form input[type="color"],
.split--Map form input[type="color"],
.form--Dark input[type="color"],
.form input[type="date"],
.split form input[type="date"],
.split--Map form input[type="date"],
.form--Dark input[type="date"],
.form input[type="datetime"],
.split form input[type="datetime"],
.split--Map form input[type="datetime"],
.form--Dark input[type="datetime"],
.form input[type="datetime-local"],
.split form input[type="datetime-local"],
.split--Map form input[type="datetime-local"],
.form--Dark input[type="datetime-local"],
.form input[type="email"],
.split form input[type="email"],
.split--Map form input[type="email"],
.form--Dark input[type="email"],
.form input[type="month"],
.split form input[type="month"],
.split--Map form input[type="month"],
.form--Dark input[type="month"],
.form input[type="number"],
.split form input[type="number"],
.split--Map form input[type="number"],
.form--Dark input[type="number"],
.form input[type="password"],
.split form input[type="password"],
.split--Map form input[type="password"],
.form--Dark input[type="password"],
.form input[type="search"],
.split form input[type="search"],
.split--Map form input[type="search"],
.form--Dark input[type="search"],
.form input[type="tel"],
.split form input[type="tel"],
.split--Map form input[type="tel"],
.form--Dark input[type="tel"],
.form input[type="text"],
.split form input[type="text"],
.split--Map form input[type="text"],
.form--Dark input[type="text"],
.form input[type="time"],
.split form input[type="time"],
.split--Map form input[type="time"],
.form--Dark input[type="time"],
.form input[type="url"],
.split form input[type="url"],
.split--Map form input[type="url"],
.form--Dark input[type="url"],
.form input[type="week"],
.split form input[type="week"],
.split--Map form input[type="week"],
.form--Dark input[type="week"],
.form input:not([type]),
.split form input:not([type]),
.split--Map form input:not([type]),
.form--Dark input:not([type]),
.form textarea,
.split form textarea,
.split--Map form textarea,
.form--Dark textarea,
.form textarea,
.split form textarea,
.split--Map form textarea,
.form--Dark textarea,
.form select,
.split form select,
.split--Map form select,
.form--Dark select {
  width: 100%;
  padding: 15px;
  margin: 0 0 20px;
  border: 2px solid #cccccc;
  transition: 200ms;
}

.form input[type="color"]:focus,
.split form input[type="color"]:focus,
.split--Map form input[type="color"]:focus,
.form--Dark input[type="color"]:focus,
.form input[type="date"]:focus,
.split form input[type="date"]:focus,
.split--Map form input[type="date"]:focus,
.form--Dark input[type="date"]:focus,
.form input[type="datetime"]:focus,
.split form input[type="datetime"]:focus,
.split--Map form input[type="datetime"]:focus,
.form--Dark input[type="datetime"]:focus,
.form input[type="datetime-local"]:focus,
.split form input[type="datetime-local"]:focus,
.split--Map form input[type="datetime-local"]:focus,
.form--Dark input[type="datetime-local"]:focus,
.form input[type="email"]:focus,
.split form input[type="email"]:focus,
.split--Map form input[type="email"]:focus,
.form--Dark input[type="email"]:focus,
.form input[type="month"]:focus,
.split form input[type="month"]:focus,
.split--Map form input[type="month"]:focus,
.form--Dark input[type="month"]:focus,
.form input[type="number"]:focus,
.split form input[type="number"]:focus,
.split--Map form input[type="number"]:focus,
.form--Dark input[type="number"]:focus,
.form input[type="password"]:focus,
.split form input[type="password"]:focus,
.split--Map form input[type="password"]:focus,
.form--Dark input[type="password"]:focus,
.form input[type="search"]:focus,
.split form input[type="search"]:focus,
.split--Map form input[type="search"]:focus,
.form--Dark input[type="search"]:focus,
.form input[type="tel"]:focus,
.split form input[type="tel"]:focus,
.split--Map form input[type="tel"]:focus,
.form--Dark input[type="tel"]:focus,
.form input[type="text"]:focus,
.split form input[type="text"]:focus,
.split--Map form input[type="text"]:focus,
.form--Dark input[type="text"]:focus,
.form input[type="time"]:focus,
.split form input[type="time"]:focus,
.split--Map form input[type="time"]:focus,
.form--Dark input[type="time"]:focus,
.form input[type="url"]:focus,
.split form input[type="url"]:focus,
.split--Map form input[type="url"]:focus,
.form--Dark input[type="url"]:focus,
.form input[type="week"]:focus,
.split form input[type="week"]:focus,
.split--Map form input[type="week"]:focus,
.form--Dark input[type="week"]:focus,
.form input:not([type]):focus,
.split form input:not([type]):focus,
.split--Map form input:not([type]):focus,
.form--Dark input:not([type]):focus,
.form textarea:focus,
.split form textarea:focus,
.split--Map form textarea:focus,
.form--Dark textarea:focus,
.form textarea:focus,
.split form textarea:focus,
.split--Map form textarea:focus,
.form--Dark textarea:focus,
.form select:focus,
.split form select:focus,
.split--Map form select:focus,
.form--Dark select:focus {
  outline: none;
  border-color: #42bff4;
}

.form__Send {
  display: inline-block;
  padding: 15px 60px;
  background: linear-gradient(0deg, #0a7cac, #42bff4);
  color: #fff;
  text-decoration: none;
  border: 0;
  text-transform: uppercase;
  font-size: 13px;
  position: relative;
  overflow: hidden;
  font-weight: 700;
  z-index: 1;
  border-radius: 50px;
  box-shadow: 0 0 10px rgba(15, 15, 17, 0.2);
  transition: 100ms;
  padding: 0;
  margin-top: 10px;
}

.form__Send:hover {
  box-shadow: 0 0 20px rgba(15, 15, 17, 0.5);
}

@media screen and (max-width: 600px) {
  .form__Send {
    padding: 12px 25px;
  }
}

@media screen and (max-width: 480px) {
  .form__Send {
    padding: 8px 20px;
  }
}

.form__Send span {
  padding: 12px 60px;
  background: transparent;
  border: 0;
  text-transform: inherit;
  letter-spacing: inherit;
  display: block;
}

.form__Send span:focus {
  outline: none;
}

.form .top_label .gfield_label,
.split form .top_label .gfield_label,
.split--Map form .top_label .gfield_label,
.form--Dark .top_label .gfield_label {
  margin-bottom: 0;
}

.form .gform_footer,
.split form .gform_footer,
.split--Map form .gform_footer,
.form--Dark .gform_footer {
  margin: 0;
  padding: 0;
}

.form--Dark input[type="color"],
.form--Dark input[type="date"],
.form--Dark input[type="datetime"],
.form--Dark input[type="datetime-local"],
.form--Dark input[type="email"],
.form--Dark input[type="month"],
.form--Dark input[type="number"],
.form--Dark input[type="password"],
.form--Dark input[type="search"],
.form--Dark input[type="tel"],
.form--Dark input[type="text"],
.form--Dark input[type="time"],
.form--Dark input[type="url"],
.form--Dark input[type="week"],
.form--Dark input:not([type]),
.form--Dark textarea,
.form--Dark textarea {
  background: #33333a;
  border-color: #4b4b55;
}

@media screen and (min-width: 768px) {
  .gform_column_count_2 ul {
    width: 50%;
    float: left;
  }

  .gform_column_count_2 ul:first-child {
    padding-right: 10px;
  }

  .gform_column_count_2 ul:first-child + ul {
    padding-left: 10px;
  }
}

.embed-responsive, .iframe-container {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe, .iframe-container iframe {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.facebook-embed {
  text-align: center;
  margin-bottom: 20px;
}

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